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.

In Pocket speichern vorlesen Druckansicht 123 Kommentare lesen
Intel Core i7-6950X Broadwell-E
Lesezeit: 2 Min.
Inhaltsverzeichnis

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.

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.

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.

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)