Schiffe sind mechanische Bestien, bei denen viele Teile daran arbeiten, sichere und erfolgreiche Reisen zu gewährleisten. Ein digitales Äquivalent wäre Software. Wie die Softwareentwicklung umfasst der Schiffbau mehrere Schritte und präzises Engineering. Wenn alles fertig ist, testen die Erbauer ihre Kreationen unter verschiedenen Bedingungen, um sicherzustellen, dass das Schiff sicher ist und wie geplant funktioniert. So ziemlich die beste Software, die wir heute verwenden, wird ebenfalls Tests unterzogen, um sicherzustellen, dass sie sicher ist.
Ein solcher Test ist die Fehlerinjektion. Im Vergleich zum Schiffbau wäre die Fehlerinjektion so, als würden Schiffsingenieure absichtlich Löcher in ihre Schiffe bohren, um zu sehen, wie sie mit dem Untergang umgehen ...
Was ist Fehlerinjektion und warum ist sie wichtig?
Fehlerinjektion ist die Praxis, absichtlich Fehler in einem System zu erzeugen. Das Ziel dieser Übung ist es, zu analysieren, wie sich das System unter Stress verhält. Hardware- und Softwareingenieure induzieren typischerweise aus mehreren Gründen Fehler in ihrer Hardware oder Software.
Zum einen wollen sie Fehler aufdecken und beheben, die außerhalb der kontrollierten Umgebung des Produktionslabors auftreten könnten. Dies ist wichtig, da sie keine Kontrolle über die Bedingungen haben, unter denen Kunden ihre Produkte verwenden werden. Hitze könnte Komponenten oder Materialien beschädigen, die Komponenten zusammenhalten; ein Serverausfall könnte dazu führen, dass eine ganze Region den Zugang zu ihrem bevorzugten Streaming-Dienst verliert; Angreifer könnten einen Fehler auslösen, der Sicherheitsfunktionen unterbricht. Wenn solche Ereignisse eintreten, wollen Entwickler und Gerätehersteller ihre Produkte dennoch sicherstellen Schützen Sie die Integrität der Benutzerdaten und die Sicherheit oder passen Sie die Lastverteilung an, um den Service zu minimieren Störung.
Letztendlich ist Fehlerinjektion notwendig, um Apps und Hardware sicher und zuverlässig zu machen. Ebenso hilft die Fehlerinjektion Herstellern, geistiges Eigentum zu schützen, das Verlustrisiko zu verringern und das Vertrauen ihrer Kunden zu bewahren. Sie würden Ihr Geld nicht auf eine Bank legen, wenn deren App ständig abstürzt und Hacker einen großen Tag damit verbringen, sie zu knacken, oder?
Wie funktionieren Fault-Injection-Angriffe?
Hersteller führen absichtlich eine Fehlerinjektion durch, um Fehler aufzudecken, die die Sicherheit ihrer Produkte gefährden könnten. Nichts hält Angreifer davon ab, dasselbe zu tun, um Schwachstellen in einem System aufzudecken und auszunutzen. Schließlich sind die zur Fehlerinjektion verwendeten Tools öffentlich und die Methoden nicht übermäßig komplex.
Darüber hinaus können erfahrene Angreifer mit ihren Methoden kreativ werden und das System über das Normale hinaus treiben. An dieser Stelle müssen Sie wissen, dass die Fehlerinjektion physisch (in Hardware) oder digital (in Software) erfolgen kann. Ebenso können die Tools und Methoden, die bei Fehlerinjektionsangriffen verwendet werden, beide Formen annehmen. Hersteller und Hacker kombinieren bei ihren Tests bzw. Angriffen häufig physische und digitale Tools.
Einige Tools, die für die Fehlerinjektion verwendet werden, sind FERRARI (Fault and ERRor Automatic Real-time Injector), FTAPE (Fault Tolerance And Performance Evaluator), Xception, Gremlin, Holodeck und ExhaustiF. Unterdessen beinhalten FIA-Methoden oft das Beschießen des Systems mit intensiven elektromagnetischen Impulsen, das Erhöhen der Umgebungstemperatur und die Unterspannung GPUs oder CPUs, oder einen Kurzschluss auslösen. Mit FIA-Tools und -Methoden können sie ein System lange genug korrumpieren, um einen Reset auszunutzen, ein Protokoll zu umgehen oder vertrauliche Daten zu stehlen.
Fehlerinjektionsangriffe verhindern
Sie müssen sich keine Gedanken über die Verhinderung von FIA-Angriffen machen, wenn Sie ein regelmäßiger Verbraucher sind. Diese Verantwortung liegt beim Gerätehersteller oder Softwareentwickler, genauso wie die Schiffssicherheit die Aufgabe der Segelcrew ist. Hersteller und Entwickler tun dies, indem sie widerstandsfähigere Sicherheitsprotokolle entwerfen und die Datenextraktion für Hacker erschweren.
Trotzdem gibt es keine perfekten Systeme. Angreifer entwickeln oft neuartige Angriffsmethoden und sind bei der Anwendung dieser Methoden nicht eingeschränkt, da sie sich nicht an die Regeln halten. Beispielsweise kann ein Hacker FIA mit a kombinieren Seitenkanalangriff, insbesondere wenn ihr Zugriff auf das Gerät eingeschränkt ist. Das Team auf der anderen Seite muss diese Tatsache berücksichtigen, wenn es belastbare Systeme entwirft und ihre Fehlerinjektionstests plant.
Sollten Sie sich Sorgen um die FIA machen?
Nicht direkt. Es gibt wahrscheinlichere Cybersicherheitsbedrohungen, die Sie persönlich betreffen, als Fehlerinjektionsangriffe. Außerdem ist die FIA selten verdeckt. Ein Angreifer benötigt physischen Zugriff auf Ihr Gerät, um einen Fault-Injection-Angriff auszuführen. Außerdem sind Fehlerinjektionsverfahren im Allgemeinen invasiv und führen zu einem gewissen Maß an vorübergehender oder dauerhafter Beschädigung des Systems. Sie werden also sehr wahrscheinlich bemerken, dass etwas nicht stimmt, oder mit einem Gerät zurückbleiben, das Sie nicht verwenden können.
Der Haken ist natürlich, dass der Angreifer sensible Daten gestohlen haben könnte, wenn Sie die Manipulation bemerken. Es ist Sache des Herstellers oder Entwicklers, den Angriff überhaupt zu verhindern und die Sicherheit seiner Produkte zu verbessern.