Software-Design

Grundlagen der Sicherheit bei Embedded-Software

Seite: 2/5

Anbieter zum Thema

Angriffsfenster reduzieren

Vergessen Sie nicht, dass Angreifer bei eingebetteten Systemen einen großen Vorteil haben: Die meisten Embedded Systems sind bei der Ausführungszeit sehr eingeschränkt, oft müssen sie eine Mischung aus harten und weichen Echtzeitaufgaben erfüllen. Das zwingt uns, Anwendungssoftware zu entwerfen, die schlank und effektiv ist, etwa indem intensive Laufzeit- und Plausibilitätsprüfungen (zum Beispiel Assertions mit Invarianten) auf ein Minimum reduziert werden, um die Zeitbeschränkungen einzuhalten.

Unsere Angreifer haben keine solchen Beschränkungen in der Ausführungszeit: Sie sind zufrieden damit, Wochen oder Monate damit zu verbringen, ihre Attacken vorzubereiten und auszuführen – vielleicht probieren sie sogar ein und dieselbe Angriffsmethode mehrere Millionen Male aus und hoffen darauf, dass sie einmal Erfolg haben wird, oder sie versuchen jeden Tag eine andere Attacke, bis sie eines Tages auf ein offenes Angriffsfenster stößt.

Entwickler eingebetteter Software spielen das Security-Thema manchmal herunter und sagen: „Unser Gerät wird nie mit dem Internet oder einem anderen externen Kommunikationsnetz verbunden sein. Wir sind gegen Angriffe immun.“ Das ist leider nicht wahr. Erlauben Sie mir ein Gegenbeispiel:

Viele Geräte nutzen Analog-zu-Digital-Konverter (ADC) zur Sammlung von Daten. Die ADCs werden regelmäßig abgefragt, und die Applikation speichert die Datenpakete in einem Array. Die Applikation verarbeitet später diesen Daten-Array.

Aber ein Angreifer könnte dies aus einem ganz anderen Blickwinkel sehen, etwa so: „Was würde passieren, wenn ich den ADC mit elektrischen Signalen füttere, die einer exakten hexadezimalen Darstellung des Codes eines Schadprogramms entsprechen?“ Auf diese Weise kann der Angreifer seine Software in Ihren Rechner einschleusen. Ein Netzwerk oder das Internet ist dafür nicht nötig.

(ID:33374870)