Aktuelle Entwicklungen der Hardwaresicherheit
Welche Beschreibung des hardwaregestützten Shadow Stack, wie er in Intel CET (Control-flow Enforcement Technology) und anderswo eingesetzt wird, ist richtig?
- ADer Stack-Inhalt wird in regelmäßigen Abständen in nichtflüchtigem Speicher gesichert, und bei einem Absturz des Programms wird die Ausführung von dort fortgesetzt
- BLokale Variablen von Funktionen werden in einem vom normalen Stack getrennten schnellen Speicher abgelegt, um Cache-Misses zu verringern und Funktionsaufrufe zu beschleunigen
- CBeim Aufruf einer Funktion wird eine Kopie der Rücksprungadresse auch auf einem separaten Stack abgelegt, den normale Schreibzugriffe nicht ändern können, und beim Rücksprung werden beide verglichen
Antwort und Erläuterung anzeigen
Antwort: C. Beim Aufruf einer Funktion wird eine Kopie der Rücksprungadresse auch auf einem separaten Stack abgelegt, den normale Schreibzugriffe nicht ändern können, und beim Rücksprung werden beide verglichen
Wird eine Rücksprungadresse etwa durch einen Pufferüberlauf auf dem Stack überschrieben, springt die Ausführung beim Rücksprung aus der Funktion an eine vom Angreifer gewählte Stelle. Beim Shadow Stack legt der call-Befehl die Rücksprungadresse sowohl auf den normalen Stack als auch auf den Shadow Stack, und der ret-Befehl vergleicht beide. Shadow-Stack-Seiten sind ein besonderer Seitentyp, den gewöhnliche Store-Befehle nicht beschreiben können; ein Angreifer, der den normalen Stack überschrieben hat, kann die Kopie daher nicht ändern, und bei Abweichung wird eine Ausnahme ausgelöst und die Ausführung gestoppt.
Weiter: 9 weitere Fragen zu Aktuelle Entwicklungen der Hardwaresicherheit