ktsdesign - Fotolia
Wie es GhostHook am PatchGuard von Microsoft vorbeischafft
PatchGuard soll Windows auf Kernel-Ebene vor Rootkits schützen. Mit der GhostHook-Attacke ist es jedoch möglich, die Sicherheitslösung zu umgehen. Wie funktioniert der Angriff?
Mitarbeitern von CyberArk Software Ltd. ist es mit einem Angriff namens GhostHook gelungen, 64-Bit-Windows-Systeme mit einem Rootkit zu infizieren. Sie konnten dabei die von Microsoft entwickelte Schutzmaßnahme PatchGuard umgehen. Wie genau funktioniert GhostHook?
PatchGuard wurde erstmals 2005 eingeführt, um die 64-Bit-Varianten von Microsoft Windows zu schützen. Die Technik dient dazu, den wichtigsten Teil des Betriebssystems, den Kernel, vor unerlaubten Veränderungen zu bewahren. PatchGuard überprüft dazu in regelmäßigen Abständen bestimmte geschützte Systembereiche des Kernels. Die Methode galt bislang als sehr effektiv zum Schutz vor Rootkits, mit denen Angreifer heimlich die Kontrolle über Windows-Systeme erlangen wollten.
Nun ist es jedoch Forschern von CyberArk gelungen, den Schutz durch PatchGuard zu umgehen. Sie nutzen dazu eine Funktion in Prozessoren von Intel namens IPT (Intel Processor Trace).
Neben IPT gibt es noch andere Methoden wie Last Branch Recording und Branch Trace Messages, um CPU-Daten auszulesen und aufzuzeichnen. IPT ist aber eine der schnellsten und flexibelsten Techniken, um Informationen über laufende Software und aktive Prozesse zu erhalten. Diese Daten können zum Monitoring der Performance, für Diagnosen, Debugging, Fuzzing sowie zur Analyse von Malware und zum Aufspüren von Exploits genutzt werden.
CyberArk hat nun jedoch eine Möglichkeit gefunden, die IPT-Implementierung von Microsoft auszutricksen und eigenen Code auszuführen: Intel-CPUs speichern bestimmte Informationen in einem Speicherpuffer. Durch den Einsatz extrem kleiner Pakete konnte CyberArk diesen Puffer zum Überlaufen bringen. Die CPU löst anschließend einen PMI-Handler (Performance Monitoring Interrupt) aus, der nicht von PatchGuard überwacht wird.
GhostHook nutzt diesen Handler, um ein Rootkit einzuschleusen, während das System gepatcht wird. Diese Art von Angriff wird nicht erkannt, da er auf Kernel-Ebene erfolgt. Insbesondere für Antivirus- und IPS-Systeme (Intrusion Prevention Systems) ist er laut CyberArk unsichtbar.
Angreifer muss bereits Kontrolle haben
Die Meinungen gehen allerdings bei der Frage auseinander, wie schwer dieser Angriff wirklich ist. So hat Microsoft angekündigt, die Schwachstelle nicht patchen zu wollen. In künftigen Versionen von Windows werde man das Problem aber möglicherweise angehen und schließen.
Der Grund für diese Zurückhaltung ist, dass ein Angreifer bereits die Kontrolle über eine kompromittierte Maschine haben muss, bevor er Code auf Kernel-Ebene ausführen kann. GhostHook ist also eine Technik, die sich erst nach erfolgreicher Übernahme eines Systems ausführen lässt. Ist ein Angreifer erst einmal so weit gekommen, kann er auch ohne GhostHook jeglichen Code ausführen, den er will, ohne entdeckt zu werden. GhostHook erhöht also nicht die Angriffsfläche, die Windows-Systeme bieten.
Es gibt aber auch Security-Experten, die der Ansicht sind, dass PatchGuard in der Lage sein sollte, diese Art von Angriffen zu verhindern. Immerhin verhelfe die Technik einem Angreifer dazu, sich tiefer in einem System festzusetzen, um eine dauerhafte Präsenz gewährleisten zu können.
Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!