lolloj - Fotolia

F

Wie tricksen Code-Reuse-Angriffe Windows 10 aus?

COOP-Attacken (Counterfeit Object-oriented Programming) sind die Nachfolger von Buffer Overflows. Mit ihnen lassen sich modernste Sicherheitsmaßnahmen in Windows 10 austricksen.

Eine neue Angriffsmethode richtet sich erfolgreich gegen den CFI-Schutz (Control Flow Integrity) in Windows 10. Die Technik, die von Mitarbeitern des Sicherheitsspezialisten Endgame demonstriert wurde, greift dabei auf das so genannte Counterfeit Object-oriented Programming (COOP) zurück. Was versteckt sich hinter COOP und welche Änderungen müssen an CFI vorgenommen werden, um die Lücke zu schließen?

Praktisch jedes Mal, wenn Softwareentwickler und Hersteller neue Sicherheitsmaßnahmen in ihre Produkte implementieren, treten mehrere Domino-Effekte auf. Am offensichtlichsten ist dies – sofern die neue Maßnahme effektiv ist – wenn bislang auf bestimmte Schwachstellen abzielende Angriffe nicht mehr funktionieren. Hacker wenden sich dann anderen Methoden zu, die noch einsatzfähig sind. Manche Angreifer beobachten aber auch genau, wie die neue Sicherheitsmaßnahme funktioniert und versuchen herauszufinden, wie sie sich ebenfalls umgehen lässt. Sobald neue Tricks und Angriffswege bekannt werden, werden diese Versuche in der Regel wiederholt.

So haben Angreifer lange Zeit auf Schwachstellen in der Speicherverwaltung gesetzt, um die Kontrolle über Anwendungen zu erhalten. Ein Beispiel für diese Art von Attacken sind Pufferüberläufe beziehungsweise Buffer Overflows. Die Entwicklung von Methoden zum Schutz vor fremdem Code haben diese Injection-Angriffe aber heute teilweise unmöglich gemacht.

Stattdessen können Hacker nun auf so genannte Code-Reuse-Angriffe zurückgreifen, um ihre Ziele zu erreichen. Code-Reuse-Angriffe verwenden Techniken wie die rücksprungorientierte Programmierung (Return-oriented Programming), bei der kein Code eingeschleust werden muss. Stattdessen werden dabei bereits existierende Code-Schnipsel verwendet, um das gewünschte Verhalten einer Anwendung zu erreichen.

Wie COOP-Attacken vorgehen

Eine in Code-Reuse-Attacken verwendete Technik nennt sich Counterfeit Object-oriented Programming oder abgekürzt COOP. Die Methodik richtet sich gegen Anwendungen, die in C++ und möglicherweise auch in anderen objektorientierten Programmiersprachen entwickelt wurden. COOP wurde erstmals in einer Studie beschrieben, die auf dem Sicherheitssymposium der IEEE im Jahr 2015 vorgestellt wurde. Die Technik kann den Großteil der bisherigen Schutzmaßnahmen gegen Code-Reuse-Angriffe umgehen, indem sie dynamisch zugewiesene Funktionen nutzt.

Mitarbeiter der Sicherheitsfirma Endgame haben getestet, wie effektiv die Control Flow Guard (CFG) genannte CFI-Implementation von Microsoft gegen modernste COOP-Attacken ist. Außerdem testeten sie die von Endgame entwickelte Lösung HA-CFI, die einen ähnlichen Funktionsumfang hat.

CFI wurde von Microsoft eingeführt, um die Sicherheitsmaßnahmen in Windows 10 zu verbessern. Unter anderem sollen sich dadurch Angriffe verhindern lassen, bei denen Exploits genutzt werden, um fremden Code einzuschleusen. Die Technik bietet zudem weitere nützliche Funktionen für etwa Richtlinien, die unerlaubte Zugriffe auf fremde Speicherbereiche verhindern.

Die Forscher führten unter anderem einen Angriff auf den Edge-Browser durch, der von Microsoft mit CFG gehärtet wurde. Dabei wurde ein Javascript mit einer COOP-Payload eingesetzt, mit dem vorhandener Code missbraucht werden konnte. Nach eigenen Angaben gelang es ihnen auf diese Weise, CFI zu umgehen.

Dieser Erfolg bedeutet, dass CFI-Dienste und -Anwendungen mehr Vorsicht bei der Verarbeitung von objektorientierten Befehlen walten lassen sollten. Außerdem sollten neue Maßnahmen gegen Code-Reuse-Angriffe entwickelt werden, um zu verhindern, dass COOP-Attacken sich weiter verbreiten.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Buffer-Overflow-Angriffe abwehren und Schwachstellen finden

Windows 10 per Device Guard härten

Windows-10-Umgebungen per Windows Defender ATP absichern

Artikel wurde zuletzt im Oktober 2017 aktualisiert

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close