Zu erkennen, dass ein Angriffsvektor in Ihrem Netzwerk direkt vor Ihrer Nase läuft, kann schockierend sein. Sie haben Ihren Teil dazu beigetragen, indem Sie scheinbar effektive Sicherheitsmaßnahmen implementiert haben, aber der Angreifer hat es trotzdem geschafft, sie zu umgehen. Wie war das möglich?
Sie könnten eine Prozessinjektion eingesetzt haben, indem sie schädliche Codes in Ihre legitimen Prozesse eingefügt haben. Wie funktioniert die Prozessinjektion und wie kann man sie verhindern?
Was ist Prozessinjektion?
Process Injection ist ein Prozess, bei dem ein Angreifer bösartigen Code in einen legitimen und aktiven Prozess in einem Netzwerk einfügt. Weit verbreitet bei Malware-Angriffen, ermöglicht es Cyber-Akteuren, Systeme auf die unauffälligste Weise zu infizieren. Bei einer fortschrittlichen Cyberangriffstechnik fügt der Eindringling Malware in Ihre gültigen Prozesse ein und genießt die Privilegien dieser Prozesse.
Wie funktioniert die Prozessinjektion?
Die effektivsten Arten von Angriffen sind diejenigen, die im Hintergrund ausgeführt werden können, ohne Verdacht zu erregen. Normalerweise können Sie eine Malware-Bedrohung erkennen, indem Sie alle Prozesse in Ihrem Netzwerk skizzieren und untersuchen. Das Erkennen von Prozessinjektionen ist jedoch nicht so einfach, da sich die Codes im Schatten Ihrer legitimen Prozesse verstecken.
Da Sie Ihre autorisierten Prozesse auf die Whitelist gesetzt haben, werden Ihre Erkennungssysteme sie als gültig zertifizieren, ohne dass darauf hingewiesen wird, dass etwas nicht stimmt. Eingeschleuste Prozesse umgehen auch die Festplattenforensik, da die bösartigen Codes im Speicher des legalen Prozesses ausgeführt werden.
Der Angreifer nutzt die Unsichtbarkeit der Codes, um auf alle Aspekte Ihres Netzwerks zuzugreifen, auf die die legitimen Prozesse, unter denen sie sich verstecken, zugreifen können. Dazu gehören bestimmte Administratorrechte, die Sie nicht jedem gewähren würden.
Obwohl die Prozessinjektion leicht unbemerkt bleiben kann, können fortschrittliche Sicherheitssysteme sie erkennen. Cyberkriminelle legen also die Messlatte höher, indem sie sie auf die bescheidenste Weise ausführen, die solche Systeme übersehen. Sie verwenden grundlegende Windows-Prozesse wie cmd.exe, msbuild.exe, explorer.exe usw. solche Angriffe zu starten.
3 Prozessinjektionstechniken
Es gibt verschiedene Prozessinjektionstechniken für unterschiedliche Zwecke. Da Cyber-Bedrohungsakteure sehr gut über verschiedene Systeme und deren Sicherheitsstatus Bescheid wissen, setzen sie die am besten geeignete Technik ein, um ihre Erfolgsquote zu erhöhen. Schauen wir uns einige von ihnen an.
1. DLL-Injektion
Die DLL-Injektion (Dynamic Link Library) ist eine Prozessinjektionstechnik, bei der der Hacker a Dynamic Link Library, um einen ausführbaren Prozess zu beeinflussen und ihn dazu zu zwingen, sich auf eine Weise zu verhalten, die Sie nicht beabsichtigt haben, oder erwarten.
Der Angriff fügt den Code mit der Absicht ein, den ursprünglichen Code in Ihrem System zu überschreiben und es fernzusteuern.
Die DLL-Injektion ist mit mehreren Programmen kompatibel und ermöglicht es den Programmen, den Code mehrmals zu verwenden, ohne die Gültigkeit zu verlieren. Damit ein DLL-Injektionsprozess erfolgreich ist, muss die Malware Daten der kontaminierten DLL-Datei in Ihrem Netzwerk enthalten.
2. PE-Injektion
Eine Portable Execution (PE) ist eine Prozessinjektionsmethode, bei der ein Angreifer einen gültigen und aktiven Prozess in Ihrem Netzwerk mit einem schädlichen PE-Image infiziert. Es ist einfacher als andere Prozessinjektionstechniken, da es keine Shell-Programmierkenntnisse erfordert. Angreifer können den PE-Code problemlos in grundlegendem C++ schreiben.
Die PE-Injektion ist scheibenlos. Die Malware muss ihre Daten nicht auf eine Festplatte kopieren, bevor die Injektion beginnt.
3. Aushöhlen verarbeiten
Process Hollowing ist eine Prozessinjektionstechnik, bei der der Angreifer, anstatt einen bestehenden legitimen Prozess zu nutzen, einen neuen Prozess erstellt, ihn aber mit bösartigem Code infiziert. Der Angreifer entwickelt den neuen Prozess als svchost.exe-Datei oder Notepad. Auf diese Weise finden Sie es nicht verdächtig, selbst wenn Sie es auf Ihrer Prozessliste entdecken würden.
Der neue bösartige Prozess wird nicht sofort ausgeführt. Der Cyberkriminelle macht es inaktiv, verbindet es mit dem legitimen Prozess und schafft Platz dafür im Speicher des Systems.
Wie können Sie Process Injection verhindern?
Process Injection kann Ihr gesamtes Netzwerk ruinieren, da der Angreifer die höchste Zugriffsebene haben könnte. Sie machen ihre Arbeit viel einfacher, wenn die eingespeisten Prozesse in Ihre wertvollsten Vermögenswerte eingeweiht sind. Dies ist ein Angriff, den Sie verhindern müssen, wenn Sie nicht bereit sind, die Kontrolle über Ihr System zu verlieren.
Hier sind einige der effektivsten Methoden, um die Prozessinjektion zu verhindern.
1. Nehmen Sie Whitelisting an
Whitelisting ist der Prozess der Auflistung einer Reihe von Anwendungen die basierend auf Ihrer Sicherheitsbewertung in Ihr Netzwerk gelangen können. Sie müssen die Elemente auf Ihrer Whitelist für harmlos gehalten haben, und wenn eingehender Datenverkehr nicht in den Bereich Ihrer Whitelist fällt, können sie nicht passieren.
Um eine Prozessinjektion mit Whitelists zu verhindern, müssen Sie Ihrer Whitelist auch Benutzereingaben hinzufügen. Es muss eine Reihe von Eingaben geben, die Ihre Sicherheitsüberprüfungen passieren dürfen. Wenn also ein Angreifer Eingaben außerhalb Ihres Zuständigkeitsbereichs macht, blockiert das System ihn.
2. Prozesse überwachen
Insofern eine Prozessinjektion einige Sicherheitsprüfungen umgehen kann, können Sie sie umkehren, indem Sie das Prozessverhalten genau beobachten. Dazu müssen Sie zunächst die erwartete Leistung eines bestimmten Prozesses skizzieren und diese dann mit seiner aktuellen Leistung vergleichen.
Das Vorhandensein von bösartigem Code in einem Prozess wird einige Änderungen verursachen, egal wie wenig sie für einen Prozess sein mögen. Normalerweise würden Sie diese Änderungen übersehen, weil sie unbedeutend sind. Aber wenn Sie über die Prozessüberwachung Unterschiede zwischen der erwarteten Leistung und der aktuellen Leistung entdecken möchten, werden Sie die Anomalie bemerken.
3. Ausgabe verschlüsseln
Cyber-Bedrohungsakteure verwenden häufig Cross-Site-Scripting (XSS) zum Einschleusen gefährlich Codes in einer Prozessinjektion. Diese Codes verwandeln sich in Skripte, die ohne Ihr Wissen im Hintergrund Ihres Netzwerks ausgeführt werden. Sie können dies verhindern, indem Sie alle verdächtigen Eingaben überprüfen und bereinigen. Im Gegenzug werden sie als Daten und nicht wie beabsichtigt als bösartiger Code angezeigt.
Die Ausgabecodierung funktioniert am besten mit der HTML-Codierung – einer Technik, mit der Sie variable Ausgaben codieren können. Sie identifizieren einige Sonderzeichen und ersetzen sie durch Alternativen.
Verhindern Sie Process Injection mit Intelligence-Driven Security
Die Prozessinjektion erzeugt eine Nebelwand, die schädliche Codes innerhalb eines gültigen und funktionsfähigen Prozesses verbirgt. Was Sie sehen, ist nicht das, was Sie bekommen. Angreifer verstehen die Wirksamkeit dieser Technik und nutzen sie kontinuierlich, um Benutzer auszunutzen.
Um Prozessinjektionen zu bekämpfen, müssen Sie den Angreifer überlisten, indem Sie mit Ihrer Verteidigung nicht so offensichtlich sind. Implementieren Sie Sicherheitsmaßnahmen, die an der Oberfläche unsichtbar sind. Sie werden denken, dass sie dich spielen, aber ohne dass sie es wissen, bist du derjenige, der sie spielt.