Aktuelle Entwicklungen der Hardwaresicherheit
Bei Arms MTE (Memory Tagging Extension) erhält jeder 16-Byte-Block des Speichers ein 4-Bit-Tag, auch in die oberen Bits des Zeigers wird ein 4-Bit-Tag geschrieben, und die CPU prüft bei jedem Zugriff, ob beide übereinstimmen. Betrachtet wird der Fehler, über einen alten Zeiger auf einen bereits freigegebenen Bereich zuzugreifen. Wird das neue Tag bei der erneuten Zuteilung des Bereichs gleichverteilt zufällig aus den 16 Möglichkeiten gewählt, wie groß ist dann die Wahrscheinlichkeit, dass die Tags zufällig übereinstimmen und der Fehler unentdeckt bleibt?
- A1/16 (etwa 6,3 %)
- B1/4 (25 %)
- C15/16 (etwa 93,8 %)
Antwort und Erläuterung anzeigen
Antwort: A. 1/16 (etwa 6,3 %)
Ein Tag hat 4 Bit und kann daher 2⁴ = 16 Werte annehmen. Wird das neue Tag gleichverteilt aus den 16 Werten gewählt, stimmt es mit der Wahrscheinlichkeit 1/16 = 6,25 % (etwa 6,3 %) zufällig mit dem Tag des alten Zeigers überein, und in den übrigen 15/16 der Fälle wird die Abweichung erkannt. Schon ein einzelner Zugriff wird mit etwa 94 % Wahrscheinlichkeit entdeckt, sodass sich Fehler im laufenden Betrieb auf vielen Geräten finden und Angriffe erschweren lassen. Erhalten benachbarte Bereiche bei der Zuteilung stets unterschiedliche Tags, werden Überläufe in den Nachbarbereich sicher erkannt.
Weiter: 9 weitere Fragen zu Aktuelle Entwicklungen der Hardwaresicherheit