Aktuelle Entwicklungen der Hardwaresicherheit
Welche Beschreibung der Capabilities in der als CHERI bezeichneten Befehlssatzerweiterung ist richtig?
- AZeigerwerte werden vor dem Ablegen im Speicher mit einem Schlüssel in der CPU verschlüsselt und bei jeder Verwendung entschlüsselt, sodass andere Programme und das Betriebssystem sie nicht lesen können
- BDie CPU prüft bei jedem einzelnen ausgeführten Befehl die digitale Signatur der ausführbaren Datei des Programms und führt keine unsignierten Befehle aus
- CEin Zeiger erhält den Bereich, auf den er zugreifen darf, und seine Rechte, und ein 1-Bit-Tag, das Software im Speicher nicht schreiben kann, unterscheidet, ob er legitim erzeugt wurde
Antwort und Erläuterung anzeigen
Antwort: C. Ein Zeiger erhält den Bereich, auf den er zugreifen darf, und seine Rechte, und ein 1-Bit-Tag, das Software im Speicher nicht schreiben kann, unterscheidet, ob er legitim erzeugt wurde
CHERI ersetzt Zeiger, die nur aus einer Adresse bestehen, durch Capabilities, die die Adresse, Ober- und Untergrenze des Bereichs, auf den sie zeigen dürfen, sowie Rechte wie Lesen, Schreiben und Ausführen bündeln (bei 64-Bit-Adressen werden sie komprimiert in 128 Bit untergebracht, mit einem separaten 1-Bit-Tag). Die CPU prüft Bereich und Rechte bei jedem Zugriff, sodass Fehler der Speichersicherheit wie Lese- und Schreibzugriffe außerhalb eines Array-Bereichs in Hardware gestoppt werden können. Das Tag wird nur gesetzt, wenn eine Capability mit den dafür vorgesehenen Befehlen erzeugt wird, und verschwindet, wenn sie als gewöhnliche Daten überschrieben wird; Zeiger lassen sich daher nicht fälschen. Die Forschung wurde von der University of Cambridge und anderen vorangetrieben, und Arm stellte Forschenden Anfang der 2020er-Jahre Morello bereit, einen darauf basierenden Prototyp-Prozessor mit Evaluierungsboard.
Weiter: 9 weitere Fragen zu Aktuelle Entwicklungen der Hardwaresicherheit