Die häufigsten Angriffe auf eingebettete Systeme und wie man sie verhindert

In nahezu allen Maschinen befinden sich heutzutage kleine Computer, welche Eingebettete Systeme (engl. Embedded Systems) genannt werden. Oft ist es uns nicht bewusst, dass diese leise und umbemerkt um uns herum Maschinen wie Mikrowellenherde bis hin zu Flugzeuge steuern. So entfällt z.B. ein typisches Auto um die 1000 Embedded Geräte. Dies ist auch der Grund warum Embedded Geräte ein beliebtes Angriffsziele von Cyberkriminellen sind, da sie ein ideales Einfallstor nicht nur um Daten welche sie generieren, verarbeiten und übertragen zu stehlen, sondern auch die Möglichkeit bieten die Steuerung der Maschinen zu übernehmen. Mein Blogartikel handelt über die häufigsten Arten solcher Angriffe und erläutert anhand einiger einfacher Best Practices Methoden wie man sich gegen diese schützen kann.

Angriffe auf eingebettete Systeme lassen sich ganz grob in drei Kategorien einteilen. Diese sind software-, netzwerk- oder seitenkanalbasierte Angriffe. In den kommenden drei Abschnitten gehe ich in diese etwas näher ein und erkläre wie man sich gegen diese am besten schützen kann.  

Softwarebasierte Angriffe

Diese zielen auf die eingebetteten Computerprogramme, die die Geräte steuern. Die Suche nach Schwachstellen im Softwaredesign und -code ist der beliebteste Angriffsvektor, da es bei den meisten möglich ist, solche Angriffe aus der Ferne durchzuführen. Die am weitesten verbreiteten softwarebasierten Angriffe sind:

1. Malware-Angriffe

Diese funktionieren auf eingebetteten Systemen wie bei jedem anderen System. Ein Cyberangreifer schleust einen bösartigen Code auf das Gerät ein, welcher die im System gespeicherten Daten abzufangen, die Kontrolle über das System zu übernehmen oder es zu beschädigen versucht. Normalerweise fälschen Cyberangreifer Firmware-Updates, Treiber oder Sicherheitspatches, um ihre Malware zu verbreiten (hierzu wird es noch einen gesonderten Blogartikel von mir geben).

Um sich vor solchen Angriffen zu schützen, können Sie eine der folgenden Schutzmaßnahmen ergreifen:

  • Blackliste: Es wird eine Liste mit den aktuell bekannten und relevanten Signaturen erstellt, welcheder eingebetteten Systemfirmware hinzufügt wird. Diese nennt man “Blackliste”. Wenn jetzt das eingebettete System eine Software mit einer der aus Blackliste bekannten Signatur erkennt, wird sie nicht ausgeführt.
  • Whiteliste: Bei der Whiteliste ist es genau umgekehrt. Diese beinhaltet eine spezifische Signatur für alle vertrauenswürdigen Softwarequellen. Dadurch kann das System nur Software mit der richtigen Signatur ausführen. Dies ist besonders bei Firmwareupdates bzw. -upgrades von beliebten Smartphones gängige Praxis.

2. Brute-Force-Angriffe

Vereinfacht gesagt handelt es sich um Brute-Force um den Prozess Passwörter zu erraten. Die meisten eingebetteten Systeme bieten Fernzugriff auf eine grafische Benutzeroberfläche, welche gerne von den  Cyberangreifern  ausnutzen werden. Solche Angriffe lassen sich verhindern, indem sichere Passwörter verwendet und die Anzahl der Anmeldeversuche begrenzt werden.

3. Buffer-Overflow-Angriffe

Hier versucht der Cyberangreifer manuell den Speicherpuffer mit gesonderten Daten überlaufen zu lassen. Dieser Überlauf passiert durch so genannte Exploits, was in Grunde genommen nichts weiteres sind als “Maschienencodezeichenketten”, die den Speicherpuffer mit zu vielen Daten überschwemmen und somit im ausführbarem Speicherbereich landen, wo sie auch ausgeführt werden. Solche Daten sind oft Shellcode oder andere Exploits welche den Cyberangreifer  helfen, Anmeldeinformationen zu erhalten.

Wie löst man solche Sicherheitslücken? Ganz einfach, indem eine Sandbox erstellt wird, die überlaufende Daten vom System isoliert. Denken Sie jedoch daran, dass Ihre Sandbox ziemlich ausgefeilt sein muss, da viele moderne Exploits Sandbox-Umgehungstechniken verwenden.

4. Sicherheitslücken in Webanwendungen 

Auch Embedded Geräte besitzen Webanwendungen und deshalb hören Cyberangreifer nie auf, nach Schwachstellen in Websites und Webanwendungen zu suchen. Aus diesem Grund ist es wichtig, auch für Embedded Geräte die häufigsten Schwachstellen von Webanwendungen zu kennen und zu lernen, auch wenn man denkt, dass dies für „kleine“ Geräte relevant sind, da es sich nicht um größere Webserver handelt. Das Gegenteil ist der Fall. Gerade weil die Geräte „kleiner“ sind, sind sie anfälliger.

Netzwerkbasierte Angriffe

Diese Angriffe nutzen die Schwachstellen in der Netzwerkinfrastruktur aus und können auch Remote durchgeführt werden. Mithilfe dieser Schwachstellen können Cyberangreifer den von einem eingebetteten System übertragenen Datenverkehr abhören, abfangen und modifizieren.

Die häufigsten netzwerkbasierten Angriffe sind:

5. Man in the middle (MITM)

Ein MITM-Angriff wird verwendet, um unbemerkt von einem eingebetteten System übertragene Daten abzufangen oder zu verändern. Dazu ändern Cyberangreifer die Verbindungsparameter zweier Geräte, um ein drittes dazwischen zu platzieren. Wenn die Angreifer die von beiden Geräten verwendeten kryptografischen Schlüssel erhalten oder ändern können, können sie auf eine Weise lauschen, die nur sehr schwer zu erkennen ist, da dies keine Unterbrechung des Netzwerks verursacht.

Ein MITM-Angriff kann verhindert oder gestoppt werden, indem übertragene Daten verschlüsselt und das Internet Protocol Security (IPsec) Protokoll verwendet wird, um Schlüssel und Daten zu übertragen.

6. Domain name system (DNS) Spoofing

DNS-Spoofing zwingt einen lokalen DNS-Server, seine Einträge gemäß den Anforderungen eines Cyberangreifers zu ändern. Ein DNS-Server wandelt für Menschen einprägsame Domänennamen und Hostnamen in entsprechende IP-Adressen um. Durch die Ausnutzung der Schwachstellen eines DNS-Servers und die Vergiftung seines Caches können Hacker den Datenverkehr von einer Zielwebseiten zu einer beliebigen anderen Adresse umleiten.

Das DNS SEC-Protokoll schützt DNS-Server vor solcher Vergiftung, indem alle Daten, die von einem DNS veröffentlicht oder übertragen werden, digital signiert werden.

7. Distributed denial of service (DDoS)

DDoS ist ein bekannter Angriff, der ein System unverfügbar macht, indem es mit Anfragen aus verschiedenen Quellen überflutet wird. Solche Angriffe sind schwer zu stoppen, da die Anfragen von einer großen Anzahl von IPs kommen. Es gibt keinen universellen Schutz vor DDoS-Angriffen. Das Hinzufügen einer Firewall zusammen mit Verkehrsanalyse- und Filteralgorithmen zu Ihrer eingebetteten Software erhöht jedoch die Chancen, DDoS-Angriffe zu verhindern oder rechtzeitig zu erkennen, erheblich.

8. Session Hijacking

Session Hijacking ähnelt sehr stark einem MITM-Angriff, hat jedoch ein anderes Ziel: Der Hacker hört den Datenverkehr des eingebetteten Systems ab, um Authentifizierungsdaten zu erhalten. 

Der Schutz vor dieser Art von Angriffen ist klassisch: Anmeldeinformationen und alle Daten, die diese möglicherweise enthalten, verschlüsseln, Anmeldeinformationen regelmäßig ändern und alle sitzungsbezogenen Daten löschen, wenn eine Sitzung beendet ist. 

9. Signal Jamming oder Signalstörung

Signalstörungen sind in drahtlosen Netzwerken üblich. Mit dieser Technik erzeugen Cyberangreifer Störungen im Netzwerk, um die Kommunikation von einem Gerät zu stören oder zu verfälschen. Je nach Art des Störsenders kann er jede Kommunikation auf dem Kanal stören, seine Arbeit aufnehmen, wenn ein Zielgerät Daten überträgt, oder bei der Erkennung bestimmter Pakete aktiviert werden. Ein solcher Angriff kann ein eingebettetes System unverfügbar machen.

Um Signalstörungen zu stoppen, werden diverse Anti-Jamming-Mechanismen eingesetzt. Beachten Sie aber, dass diese Schutzmaßnahme Ihr eingebettetes System auch vor unbeabsichtigtem Stören durch andere Geräte schützt.

Seitenkanalbasierte Angriffe

Diese zielen darauf ab, Hardware-Sicherheitslücken in eingebetteten Systemen zu nutzen. Solche Seitenkanalattacken sind die härteste und teuersten, da Cyberangreifer genaue Kenntnisse über das Hardwaredesign und die physische Verfügbarkeit der Zielsysteme benötigen. Um solche Seitenkanalangriffe durchführen zu können, müssen die Angreifer Informationen über den Stromverbrauch, die elektromagnetische Streuung, der Betriebszeiten usw. der Systeme sammeln. Dadurch können diese den internen Betrieb der Systeme auskundschaften, kryptografische Schlüssel stehlen oder sogar die Kontrolle über die Steuerung erlangen.

Die häufigsten Seitenkanalangriffe sind:

10. Leistungs- bzw. Energieanalyse

Ein Leistung- bzw. Energieanalyse- Angriff erfordert physischen Zugriff auf ein eingebettetes System, um seine Verbindungen zu untersuchen und Änderungen im Stromverbrauch zu erkennen. Diese Änderungen hängen von den vom System verarbeiteten Daten ab, sodass Hacker möglicherweise erkennen, wenn ein System eine bestimmte Art von Informationen verarbeitet, und diese abfangen. Um diesen Angriff zu verhindern, verwenden Sie Datenmaskierungstechniken, um vertrauliche Inhalte zu ändern und sie wie unwichtige Daten aussehen zu lassen.

11. Timing-Angriffe

Diese Angriffe basieren auf dem Timing von eingebetteten Systemoperationen. Sie werden verwendet, um Informationen wie angewandte kryptografische Algorithmen, datenabhängige Unterschiede in Befehlszeiten und Codeverzweigungen, Cache-Zugriffszeiten und mehr zu gewinnen. Diese Art von Angriff erfordert auch physischen Zugriff auf ein Gerät und umfassende Kenntnisse der eingebetteten Systemarchitekturen.

Da Timing-Angriffe stark von einem linearen und vorhersagbaren Softwarebetrieb abhängen, können solche Angriffe verhindert werden, indem Zufallsgeneratoren verwendet werden, um Aktivitäten im Leerlaufzyklus zu mischen.

12. Elektromagnetische Analyse

Die elektromagnetische Analyse bietet Cyberangreifer eine weitere Möglichkeit in eingebettete Software eindringen ohne diese zu hacken. Cyberangreifer können die elektromagnetische Analyse verwenden um Emissionen eines Geräts aufzuzeichnen und zu analysieren um damit seine kryptografischen Operationen oder sogar geheime Schlüssel herauszufinden. Dies ist die zeitaufwändigste und teuerste Angriffsart, da sie Folgendes erfordert:

  • Physische Nähe: Die Möglichkeit uneingeschränkten Zugriff zur unmittelbarer Nähe des eingebetteten System zu besitzen.
  • Layoutinformationen: Interne Informationen über den Aufbau des Geräts, in das das System eingebettet ist.
  • Isolierung: Wie das Gerät von anderen Geräten, um das System vor elektromagnetischen Störungen zu schützen isoliert ist.

Ein Hardware-Designer kann das Sammeln eines elektromagnetischen Signals erschweren, indem er die Signalstärke verringert oder einen physischen Schutz hinzufügt (z. B. durch Verwendung bestimmter Arten von Klebstoff oder Schaltkreis- und Drahtabschirmung). Randomisierung und Unterbrechungen von Verschlüsselungsprozessen sind ebenfalls wirksame Gegenmaßnahmen gegen elektromagnetische Analyse.

Zusammenfassung

Die besprochenen Cybersicherheitsmaßnahmen für eingebettete Systeme können ohne viel Aufwand helfen, bestimmte Arten von Angriffen auf eingebettete Systeme zu verhindern oder zu stoppen. Zusammen mit den unteren Referenzen ist man in der Lage tiefer in die „unsichtbare“ Welt von kleinen Geräten einzutauchen und gleichzeitig die Arbeitsumgebung abzusichern. In meinem nächstem Blogbeitrag wird es um das Thema Smarthome gehen und wo die Sicherheitslöcher gesondert mit den dortigen eingebetteten Systemen in Verbindung gebracht werden können.

Euer Simon 

Referenzen

https://de.wikipedia.org/wiki/Brute-Force-Methode

https://de.wikipedia.org/wiki/Pufferüberlauf

https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/WebSec/WebSec.pdf?__blob=publicationFile&v=1

https://de.wikipedia.org/wiki/Man-in-the-Middle-Angriff

https://de.wikipedia.org/wiki/DNS_spoofing

https://de.wikipedia.org/wiki/Denial_of_Service

https://de.wikipedia.org/wiki/Session_Hijacking

https://de.wikipedia.org/wiki/Seitenkanalattacke

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.