Intel verankert Anti-Exploit-Technik in (CPU-)Hardware
Mit der "Control-flow Enforcement Technology" will Intel dem Ausnutzen von SicherheitslĂĽcken eine weitere HĂĽrde in den Weg legen. Wann CET jedoch in Prozessoren debĂĽtiert, steht noch in den Sternen.
Intel will Angreifern durch eine neue Funktion namens Control-flow Enforcement Technology (CET) das Leben schwerer machen. Durch das Überwachen des richtigen Programmablaufs sollen kommende Intel-Prozessoren den Aufwand zum Schreiben von Exploits steigern, die Sicherheitslücken ausnutzen. Insbesondere will Intel das mittlerweile sehr beliebte Return Oriented Programming (ROP) unterbinden. Doch wann die Technik tatsächlich marktreif ist und in Intel-CPUs debütiert, verrät der Chip-Hersteller bisher nicht.
ROP
Zum Hintergrund: Return Oriented Programming ist eine der wichtigsten, aktuellen Exploit-Techniken. Damit kann man sich quasi beliebigen, bösartigen Exploit-Code zusammenbauen, selbst wenn aktuelle Schutz-Techniken wie Data Execution Prevention (DEP) und Code Signing das Einschleusen von fremden Code verhindern. Das Prinzip ist einfach: Man sucht sich die benötigten Code-Fragmente im bereits existierenden Code zusammen, zum Beispiel:
111:
befehl1
befehl2
return
...
222:
befehl3
befehl4
return
...
Der Maschinencode-Befehl return
holt sich eine Adresse vom Stack und springt an diese Stelle. Angreifer schreiben also etwa durch einen PufferĂĽberlauf die Adressen 111 und 222 auf den Stack, um die gewĂĽnschte Befehlsfolge auszufĂĽhren. Fast alle neueren Exploits nutzen ROP auf diese Art.
Anti-ROP
Intel will künftig einen zweiten Stack in Prozessoren einbauen, um Manipulationen des Kontrollflusses innerhalb eines Programms zu entdecken. Auf dem herkömmlichen Stack vermischen sich Daten und Sprungadressen; auf dem neuen Schatten-Stack landen hingegen nur Speicheradressen für Sprünge. Diese werden von den Befehlen für Funktionsaufrufe wie call
dort zusätzlich zum normalen Stack platziert. Beim Rücksprung vergleicht das return
den Wert vom Stack dann mit dem des Schatten-Stacks. Nur wenn die beiden gleich sind, erfolgt der Sprung.
Der entscheidende Punkt ist, dass der Schatten-Stack gegen gezielte Manipulationen geschĂĽtzt sein soll und nur von den legitimen "Control Transfer Operations" beschrieben werden kann. AuĂźerdem werden legitime Sprungziele markiert, um wildes Herumspringen im Code zu entdecken und zu unterbinden.
Neue Hardware
Das alles erfordert Hardware-UnterstĂĽtzung etwa fĂĽr den Shadow Stack und die modifizierten Kontrollflussbefehle. CET wird also erst mit neuen CPUs kommen. Weder in Intels Beschreibung zur Control-flow Enforcement Technology Preview (PDF) noch in der CET-AnkĂĽndigung in Intels Blog steht etwas darĂĽber, wann das passieren soll. (ju)