Microsoft prämiert neue Schutzfunktionen mit über 250.000 Dollar

Drei von Microsoft ausgezeichnete Techniken sollen das Ausnutzen von Schwachstellen via Return Oriented Programming erschweren. Eine davon kann man mit EMET sogar schon selbst testen.

In Pocket speichern vorlesen Druckansicht 17 Kommentare lesen
Lesezeit: 2 Min.

Microsoft hat die Gewinner des vor einem Jahr ins Leben gerufenen Blue Hat Prize gekürt, bei dem es darum geht, neue Schutzfunktionen zu entwickeln, die das Ausnutzen von Schwachstellen erschweren. Der mit 250.000 US-Dollar ausgeschriebene Hauptpreis ging an den Forscher Vasilis Pappas für sein Konzept kBouncer, das effizient vor Angriffe durch Return Oriented Programming (ROP) schützen soll.

Die grundsätzliche Herausforderung beim Erkennen von ROP ist, dass bereits vorhandene, legitime Code-Fragmente eingesetzt werden und man deshalb analysieren muss, in welchem Kontext der Code ausgeführt wird. kBouncer überprüft mit Hilfe der Funktion "Last Branch Recording (LBR)" handelsüblicher Intel-Prozessoren, ob eine kritische Systemfunktion durch einen legitimen Call aufgerufen wurde. Da es sich bei LBR um eine Hardware-Funktion der CPU handelt, soll sich kBouncer kaum auf die Systemperfomance auswirken.

Der Zweitplatzierte Ivan Fratric hat mit seinem Konzept ROPGuard fünf zusätzliche Checks beim Aufruf kritischer Systemfunktionen vorgeschlagen. Zunächst soll sichergestellt werden, dass diese Funktionen tatsächlich durch einen Aufruf von CALL aktiviert werden und nicht etwa durch das abschließende RET am Ende eines sogenannten ROP-Gadgets.

Die "Execution flow simulation mitigation" simuliert darüber hinaus die ersten 15 Befehle, die nach dem erfolgreichen Beenden der aktuellen Funktion ausgeführt würden. Auch hier will man ROP-Gadgets und typischen Shellcode erkennen und stoppen. Darüber hinaus versucht ROPGuard bestimmte Manipulationen am Stack zu erkennen, die Exploits nutzen, um ihre Liste von Gadget-Adressen richtig zu platzieren.

Der Forscher hat für den zweiten Platz 50.000 US-Dollar kassiert. Darüber hinaus wird ihm eine besondere Ehre zu Teil: Microsoft hat vier seiner Checks bereits in das kostenlose Enhanced Mitigation Experience Toolkit (EMET) 3.5 technology preview eingebaut. Ein Blog-Beitrag des Security-Research-&-Defense-Teams erläutert die Details. Die neuen Anti-ROP-Techniken sind per Default noch deaktiviert; man kann sie über das EMET-Frontend oder passende Konfigurationsdateien scharf schalten. Allerdings sollte man darauf gefasst sein, dass dabei derzeit noch unerwünschte Nebenwirkungen auftreten.

Drittplatziert ist Jared DeMott, der mit /ROP ebenfalls einen ROP-Schutz erfunden hat. Seine Idee basiert auf einer Whitelist mit gültigen Rücksprungadressen, die der Compiler seinem Programm mit auf den Weg geben kann. Er hat neben einem MSDN-Abo im Wert von 10.000 US-Dollar auch noch mal die gleiche Summe als Scheck bekommen. (rei) / (ju)