Retrofit or Redesign? Hardware-Validated Constant-Time Defense and Cost Analysis for the M-Step Side-Channel on TrustZone-M
Dieses Paper demonstriert durch Real-Silizium-Validierung auf Arm TrustZone-M, dass das Redesign kryptographischer Algorithmen für eine zeitkonstante Ausführung der Nachrüstung überlegen ist, da letztere nicht nur etwa zwei Größenordnungen höhere Kosten verursacht, sondern auch das Risiko birgt, ausnutzbare Kontrollfluss-Lecks beizubehalten, die nur durch eine Instruktion-für-Instruktion-Verifizierung erkannt werden können.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie sind der Wächter eines geheimen Tresors, und der einzige Weg, ihn zu öffnen, besteht darin, ein komplexes mathematisches Rätsel zu lösen. In der Welt der digitalen Sicherheit ist dieses Rätsel oft eine „modulare Inversion“ – eine Berechnung, die verwendet wird, um Nachrichten zu verschlüsseln und zu entschlüsseln. Jahrelang glaubten Experten, wenn man die Zeit, die man zum Lösen des Rätsels benötigt, jedes Mal gleich halten würde, könne niemand das Geheimnis stehlen. Dies wird als „Constant-Time“-Sicherheit bezeichnet. Die Idee war, dass wenn ein Dieb nicht unterscheiden konnte, ob Sie gerade intensiv nachdachten oder nur rät, basierend darauf, wie lange es dauerte, bis sich die Tür öffnete, man sicher war.
Aber es gibt einen hinterlistigen neuen Trick, der sich „Single-Stepping-Angriff“ nennt. Stellen Sie sich vor, ein Dieb wartet nicht einfach nur darauf, dass die Tür aufgeht; er besitzt eine magische Stoppuhr, mit der er die Zeit nach jedem einzelnen Schritt Ihres Rätsellösungsprozesses einfrieren kann. Er kann genau beobachten, welchen Pfad Sie durch das Labyrinth nehmen. Wenn Ihr Labyrinth geheime Abkürzungen hat, die Sie nur nehmen, wenn Sie die Antwort kennen, sieht der Dieb, wie Sie die Abkürzung nehmen, und erfährt so Ihr Geheimnis. Diese Arbeit untersucht eine hochkarätige Entscheidung für Sicherheitsingenieure: Wenn eine Schwachstelle gefunden wird, sollten Sie versuchen, das alte, undichte Labyrinth zu flicken, um es einheitlich aussehen zu lassen (ein „Retrofit“), oder sollten Sie es abreißen und ein brandneues Labyrinth bauen, das von Grund auf ohne Abkürzungen konzipiert ist (ein „Redesign“)? Die Antwort ist nicht nur die Frage, was schneller geht; es geht darum, welches Vorgehen den Dieb tatsächlich daran hindert, Ihre Geheimnisse zu entdecken.
Das große Labyrinth-Patch: Retrofit vs. Redesign
In dieser Studie untersuchten die Forscher Arash Razban und sein Team eine reale Sicherheitslücke (bekannt als CVE-2025-54764), die in einer populären Bibliothek gefunden wurde, die zur Sicherung von Daten auf kleinen, eingebetteten Computern wie Smartcards oder medizinischen Geräten verwendet wird. Die Lücke befand sich in den „Binär-GCD“- und „Modularen Inversions“-Routinen – im Grunde den mathematischen Motoren, die geheime Schlüssel verarbeiten. Ein Hacker, der eine Technik namens „M-Step“ anwendet, könnte den Computer nach jeder einzelnen Instruktion einfrieren und den Pfad beobachten, den die Mathematik nahm, um den geheimen Schlüssel zu stehlen.
Die Forscher führten einen direkten Vergleich auf echter Silizium-Hardware (einem Cortex-M33-Chip) durch, um zu sehen, welche Verteidigungsstrategie besser funktionierte: Das Retrofit oder Das Redesign.
Das Retrofit (Der Reparaturversuch):
Das Team versuchte, die alten, undichten mathematischen Routinen zu reparieren. Sie nahmen den ursprünglichen Code, der geheimeabhängige Abkürzungen hatte (wie ein Labyrinth mit versteckten Türen), und zwangen ihn dazu, jedes Mal denselben Pfad zu gehen. Dies geschah, indem sie den Code dazu brachten, durch jeden möglichen Schritt zu laufen, selbst wenn er diese gar nicht benötigte, und indem sie „branchlose“ Tricks verwendeten, um zu verbergen, welcher Pfad tatsächlich genommen wurde. Es war so, als würde man einen Läufer zwingen, durch jedes einzelne Zimmer eines Hauses zu joggen, ungeachtet dessen, wo der Ausgang ist, damit ein Beobachter nicht erkennen kann, aus welchem Zimmer er tatsächlich getreten ist.
Das Redesign (Der Neubau):
Die Alternative bestand darin, die alte Mathematik komplett wegzuwerfen und sie durch einen brandneuen Algorithmus (genannt safegcd) zu ersetzen, der von Grund auf so gebaut wurde, dass er keine Abkürzungen besitzt. Dieses neue Labyrinth hat einen festen Pfad, der exakt gleich aussieht, egal was das Geheimnis ist.
Die schockierenden Ergebnisse: Geschwindigkeit und heimliche Lecks
Die Forscher maßen zwei Dinge: Wie viel es kostete (in Zeit und Energie), diese Verteidigungen auszuführen, und ob sie den Dieb tatsächlich stoppten.
1. Die Kosten des Patches
Die Ergebnisse waren atembermaßen. Das „Redesign“ war unglaublich effizient. Das „Retrofit“ hingegen war in Bezug auf die Geschwindigkeit eine Katastrophe.
- Für die GCD-Routine war das Retrofit 192-mal langsamer als das Redesign.
- Für die modulare Inversion war das Retrofit 532-mal langsamer.
Um dies in Perspektive zu setzen: Auf der getesteten Hardware dauerte die neu gestaltete Routine Millisekunden. Die retrofittierte Routine? Sie dauerte Sekunden. Konkret dauerte der retrofittierte GCD etwa 4,5 Sekunden pro Aufruf und die modulare Inversion sogar ganze 25 Sekunden. Für ein Gerät, das eine Tür sofort entriegeln oder eine Nachricht signieren muss, ist ein Warten von 25 Sekunden praktisch unbrauchbar. Das Redesign war nicht nur besser; es war die einzige Option, die das Gerät überhaupt nutzbar machte.
2. Das „Geister-Leck“
Hier wird die Geschichte besonders interessant. Die Forscher dachten, das Retrofit sei ein Erfolg. Wenn sie die gesamte Zeit gemessen hatten, die zur Ausführung benötigt wurde, sah das Retrofit perfekt aus. Die Zeit variierte zwischen verschiedenen Geheimnissen um weniger als 2 %, was normalerweise als „sicher“ gilt.
Doch dann verwendeten sie ein superpräzises Werkzeug, um die exakten Instruktionen zu prüfen, die der Computer Schritt für Schritt ausführte. Dabei fanden sie ein „Geister-Leck“.
- Im Retrofit gab es eine winzige, versteckte Schleife am Ende des mathematischen Prozesses. Für die meisten Eingaben lief sie eine feste Anzahl von Malen. Aber für ein spezifisches Geheimnis lief sie ein weiteres Mal.
- Dieser zusätzliche Schritt fügte nur ein paar Dutzend Taktzyklen zur Gesamtzeit hinzu. Da die Gesamtzeit riesig war (Milliarden von Zyklen), war dieser winzige Unterschied in Standard-Timing-Tests völlig unsichtbar. Es war, als würde ein Dieb ein einziges zusätzliches Blinzeln in einem 25-sekündigen Film bemerken.
- Ein M-Step-Angreifer, der jeden einzelnen Schritt beobachtet, hätte dieses zusätzliche Blinzeln gesehen und wüsste exakt, was das Geheimnis war.
- Die Forscher mussten zurückgehen und diese winzige Schleife korrigieren, indem sie sie durch eine feste Sequenz ersetzten, um die Tür wirklich zu schließen.
Das Urteil: Neu bauen, nicht patchen
Das Paper schließt mit einer klaren Botschaft für Sicherheitsingenieure: Versuchen Sie nicht, diese spezifischen Arten von mathematischen Routinen zu patchen.
- Redesign ist König: Der „Constant-Time-by-Design“-Ansatz (das Redesign) ist weitaus überlegen. Er ist etwa zwei Größenordnungen (100-mal) schneller als der Versuch, den alten Code zu patchen.
- Timing-Tests lügen: Man kann Standard-Timing-Tests nicht vertrauen, um zu sagen, ob ein Patch sicher ist. Ein Patch kann auf einer Stoppuhr perfekt aussehen, aber dennoch ein winziges, ausnutzbares Leck besitzen, das nur ein „Single-Stepping“-Angreifer sehen kann.
- Prüfen Sie die Schritte, nicht die Uhr: Um sicherzustellen, dass eine Verteidigung funktioniert, müssen Sie die exakte Sequenz der Instruktionen (den genommenen Pfad) verifizieren, nicht nur die gesamte Zeit, die vergangen ist.
Die Forscher stellten fest, dass selbst nach der Behebung des Geister-Lecks eine winzige Zeitvariation bestehen blieb (etwa 2 %). Sie bewiesen jedoch, dass dies kein Geheimnis-Leck war, sondern lediglich das Verhalten der Hardware selbst war, die je nach den berechneten Zahlen leicht anders reagierte – ein „Hardware-Floor“, den selbst die beste Software nicht eliminieren kann. Entscheidend war jedoch, dass der Pfad, den der Computer nahm, nun jedes Mal identisch war, was bedeutete, dass der Dieb das Geheimnis nicht mehr durch Beobachtung der Schritte lernen konnte.
Kurz gesagt: Wenn es um diese kritischen mathematischen Geheimnisse geht, versuchen Sie nicht, das alte Haus zu flicken. Reißen Sie es ab und bauen Sie ein neues, das von Anfang an sicher konzipiert wurde. Es ist schneller, sicherer, und Sie übersehen nicht die winzigen Risse, die ein Patch hinterlässt.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.