Ein Populäres Beispiel für eine physische Fault ist ein Mario64-Speedrun, wo ein Ion aus dem Weltall zu einem Byte-Flip-Glitch geführt hat.
Artikel
Fault Injection (Fehlerinjektion): absichtliches Einschleusen von Fehlern in Systeme
diese Methode wird verwendet:
Dies läuft meist physisch (Hardware), aber auch teils digital (Software) oder hybrid. Im Folgenden werde ich mich auf Hardware konzentrieren, aber das Prinzip ist gleich.
Ein Computer macht Rechnungen. Jemand nutzt eine Einwirkung (fault, s. Methoden) auf die Rechnungen, um darin einen Error (Fehlerzustand) auszulösen.
Diese Errors propagieren sich durch den gesamten Prozess, ein Error löst den Nächsten aus. Entstehende Abstürze können manchmal auf Systemlevel beobachtbar sein. (fault-error-failure cycle)
Oder das Ergebnis ist einfach eine andere Ausgabe. Im Fall von kryptografischen Attacken werden mehrere Faults an unterschiedlichen Punkten ausgelöst, und die Ergebnisse werden verglichen. Durch Rechunung können dann beispielsweise Keys herausgefunden werden. In einigen Fällen ist es möglich, Operationsschritte wie Login-Verifikation zu umgehen.
In beiden Szenarios muss sehr genau auf Timing und Menge geachtet werden. Um die Elektronik oder den Prozess nicht zu zerstören und zur Einkalkulation bei der Rechnung.
Fault Injection kann nur passieren, wenn ein Attackierer Zugriff zur Hardware hat. Das kann beispielsweise durch Insider in Firmen passieren, oder wenn jemand einen verschlüsselten Laptop klaut.
Es werden meist CPUs und Memory angegriffen.
Die meiste moderne Hardware ist vor Fault Injection geschützt, aber Komplexität führt immer wieder zu neuen Sicherheitslücken.
… und viele weitere
Side-Channel Attacks – hier werden physische Phänomene der Hardware überwacht, beispielsweise Stromverbrauch und Zeit. Diese werden beobachtet und analysiert. Beispiel: Akustisches Keylogging (nach Geräuschen einer Tastatur herausfinden, was getippt wurde) Kryptografische Geräte sind betroffen.