EMBEDDED: Embedded Security (ES)

Zusammenfassung

Über die Module des Bereichs Embedded Security (ES) bietet die SySS vielfältige Sicherheitsanalysen der unterschiedlichsten eingebetteten Systeme an. Sie reichen von einer Analyse der extern erreichbaren Schnittstellen per Kabel- oder Funkübertragung über die Untersuchung der intern verbauten Komponenten (beispielsweise SoCs, MCMs, CPUs, Mikrocontroller oder Speicherbausteine) und der dort verwendeten Software bis hin zur Prüfung von Back-End-Systemen, die mit dem Testgegenstand in Verbindung stehen. Dieses Modul dient vor allem der Untersuchung von internetfähigen Gateways, IoT-Geräten mit Back-End-Anbindung, Medizingeräten mit proprietären Protokollen oder kompletten Geräteverbunden. Auch individuelle Projekte können mit diesem Modul abgedeckt werden. Selbst für die Analyse einzelner Protokolle oder Steuergeräte aus dem Automobilbereich können eigene Untermodule angeboten werden.

Im Folgenden werden zunächst allgemeine Voraussetzungen und Empfehlungen für die Durchführung der Testmodule dargestellt. Im Anschluss werden diese detailliert beschrieben und mögliche Angriffsszenarien aufgezeigt.

Ausgangslage

Auf Hardwarekomponenten werden häufig sensible Informationen wie Zugangsdaten für ein Back-End-System, Clientzertifikate oder Passwörter für Wartungszugänge hinterlegt. Außerdem gelten interne Funktionsweisen – beispielsweise Algorithmen, die Sensordaten verarbeiten – meist als Betriebsgeheimnisse. Da die Geräte in der Regel der physischen Kontrolle des Herstellers entzogen sind, können Dritte durch Angriffe versuchen, hinterlegte Daten zu extrahieren oder das Gerät vollständig zu kompromittieren. Angreifende können ein kompromittiertes Gerät daraufhin beispielsweise missbrauchen, um sich Zugang zu anderen Systemen zu verschaffen, die Funktionsweise zu manipulieren, durch die Übernahme mehrerer eingebetteter Systeme ein Botnetz aufzubauen oder anderweitigen Schaden zu verursachen.

Zielsetzung

Im Rahmen des Sicherheitstests werden nach Absprache die eingebetteten Systeme, deren angebotenen externen und internen Schnittstellen, Verbindungen zum Back-End und die Firmware selbst auf Schwachstellen geprüft. Eine Analyse des Back-End, das oftmals in Form einer Webserviceschnittstelle – z. B. mittels SOAP oder REST – umgesetzt wird (siehe Modul W E B S E R V I C E) oder die detaillierte Analyse von Webapplikationen, die auf dem Gerät angeboten werden (siehe Modul WEBAPP), ist auf Wunsch ebenfalls durchführbar.  Falls das eingebettete System mit einer dedizierten Mobilanwendung bedient wird, bietet sich außerdem das Modul MOBILE an.

Je nach Hardwaretyp kann das Ziel beispielsweise darin bestehen, zu verifizieren, ob die darauf abgelegten oder die darüber übertragenen Daten ausreichend vor Fremdzugriffen geschützt sind. Auch der Schutz der Firmware vor unbefugtem Kopieren oder Manipulieren kann eine solche Analyse motivieren. Zudem kann ein mögliches Ziel sein, das Gerät generell vor einer Kompromittierung in Form von Zugriffen auf Fernwartungszugänge oder auf Betriebssystemebene zu schützen. Da eingebettete Geräte oft auf kompletten Betriebssytemen wie Linux oder Windows Embedded basieren, können im Zuge der Untersuchung auch Empfehlungen für die Konfiguration oder Betriebssystemhärtung ausgesprochen werden.

Beispielprojekte

Nachfolgend sind einige Referenzprojekte und deren Besonderheiten aufgelistet, um darzustellen, wie vielfältig Projekte im Bereich Embedded Security sein können.

Sicherheitsanalyse von Ladestationen verschiedener Hersteller

Bei dieser Analyse sind Ladestationen für E-Autos verschiedener Hersteller auf Sicherheitslücken zu untersuchen. Dabei steht insbesondere die Netzwerksicherheit im Fokus sowie die Frage, ob Angreifende mit physischem Zugriff auf das Gerät die Kommunikation zum Back-End manipulieren können. Neben den externen Schnittstellen wie z. B. Ethernet, USB oder NFC sollen auch die internen Schnittstellen und Speicherbausteine untersucht werden.

Untersuchung eines Industriesensors

Ein Industriesensor zur Messung von Daten im Operational Technology (OT)-Umfeld soll auf Sicherheitslücken und Konfigurationsschwächen untersucht werden. Über eine Bluetooth-Schnittstelle des Sensors können die gemessenen Sensordaten an eine Mobilapplikation übermittelt werden, weshalb hier insbesondere die Datenübertragung über Bluetooth im Mittelpunkt steht. Es ist zu klären, ob die Daten sicher übertragen werden oder ob die Übertragung Schwächen aufweist. Das Gerät ist zudem Linux-basiert und verfügt über einen Fernwartungszugriff. Der Zugriff und das Betriebssystem sollen ebenfalls auf Schwächen und Härtungsmaßnahmen überprüft werden.

Schwachstellenanalyse eines Medizingeräts

Ein Medizingerät, das in Operationssälen eingesetzt wird, ist einer Schwachstellenanalyse zu unterziehen. Da das Gerät Netzwerkzugriff hat, stehen netzwerkbasierte Angriffe im Fokus. Das Gerät besitzt außerdem verschiedene externe Schnittstellen (USB, Ethernet und RS485), die auf Schwachstellen untersucht werden sollen. Eine bei diesem Projekt zu klärende Kernfrage ist, ob es Angreifenden innerhalb des Netzwerks möglich ist, die Funktionsweise oder den Betrieb des Geräts zu beeinflussen oder zu stören. Die Sicherheit der Patienten soll zu jedem Zeitpunkt gegeben sein.

Sicherheitsanalyse eines IoT-Funk-Gateways

Das zu untersuchende IoT-Gateway wird im OT-Umfeld für den Zugriff auf Sensordaten und zur Steuerung von Geräten in der Produktion genutzt. Eine Cloud-Anbindung sorgt für den Zugriff auf die Systeme über das Internet. Das IoT-Gateway bietet wahlweise eine Anbindung der Sensoren und Geräte über ein proprietäres Protokoll oder über Long Range Wide Area Network (LoRaWAN) an. Für die Analyse der Funkschnittstellen sollen Techniken aus dem Hochfrequenzbereich angewendet werden, um die übertragenen Daten auf der physikalischen Übertragungsebene zu untersuchen. Das Gateway nutzt intern Docker-Container, die ebenfalls einer Sicherheits- und Härtungsanalyse zu unterziehen sind. Manipulationen am offenen Gerät sind für diese Sicherheitsanalyse explizit erwünscht, weshalb ein Angriffsszenario darin bestehen soll, vorhandene Speicherbausteine auszulöten, auszulesen, zu manipulieren und wieder einzusetzen.

So könnte ein EMbedded Security-projekt Aussehen

Die Untersuchung der Hardwarekomponenten auf Sicherheitsschwächen findet, wenn möglich, im Labor der SySS statt. Je nach Testmodul kommen dabei unterschiedliche Werkzeuge und Methoden zum Einsatz. Üblicherweise wird zuerst eine Übersicht aller internen und externen Schnittstellen und Komponenten des Geräts angefertigt. Anschließend erfolgt eine Untersuchung der gefundenen Schnittstellen auf Schwachstellen, wobei es nötig sein kann, proprietäre Protokolle zu analysieren und deren Struktur zu rekonstruieren. In den meisten Fällen kann dies in einer passiven oder aktiven Machine-in-the-Middle-Position geschehen.

Einige eingebettete Geräte bieten eine Webapplikation oder einen Webdienst über das Netzwerk an, über die das Gerät konfiguriert werden kann oder ein Abruf von Statusinformationen möglich ist. Die Untersuchung dieser Softwarekomponenten ist besonders interessant, da die Angriffsfläche dieser Dienste verhältnismäßig hoch ist. So können durch Konfigurationsprobleme oder Probleme in der Rollenverwaltung dieser Komponenten erhebliche Sicherheitslücken entstehen.

Sind invasive Tests notwendig oder gewünscht, werden einzelne Bauteile, wie z. B. Speicherbausteine, ausgelötet und analysiert. Daraus lassen sich beispielsweise Geheimnisse oder Schlüsselmaterial in Erfahrung bringen. Diese Erkenntnisse helfen bei der weiteren Analyse des Geräts und vereinfachen gegebenenfalls den Zugriff auf Daten, die verschlüsselt übertragen werden.

Mit Zugriff auf Betriebssystemebene eröffnen sich viele neue Wege, um das Gerät zu kompromittieren, weitere Dienste anzugreifen, Rechte auszuweiten oder Schwächen in der Konfiguration aufzudecken. Auch lassen sich Schwachstellen, die anderweitig verborgen geblieben wären, durch den Zugriff auf das Betriebssystem des Geräts deutlich leichter finden.

Nach Abschluss aller vereinbarten Tests wird eine detaillierte und nachvollziehbare Dokumentation von unseren Sicherheitsexperten angefertigt.

Mögliche Schwachstellen im Zusammenhang mit eingebetteten Geräten

Die folgenden Schwachstellen können beispielsweise im Zusammenhang mit eingebetteten Systemen auftreten und werden regelmäßig bei Penetrationstests von der SySS aufgedeckt:

  • Fehlerhafte Zugriffskontrolle: Zugangsdaten für den Bootloader oder Wartungsschnittstellen sind bekannt, leicht zugänglich, leicht zu erraten (Verwendung von Trivialpasswörtern) oder die Authentifizierung fehlt gänzlich.

  • Kryptografische Schwächen: Bei nicht ordnungsgemäßer Implementierung von verschlüsselten Verbindungen können Angreifende in einer geeigneten Position im Netzwerk den Datenverkehr abhören und modifizieren.

  • Anmeldedaten sind im Klartext gespeichert: Die in der zu testenden Hardware abgelegten Zugangsdaten sind besonders schützenswert, da sie für weitere Angriffe eingesetzt werden können. Dennoch kann eine Extraktion möglich sein, wenn Schutzmaßnahmen, beispielsweise in Bezug auf das Betriebssystem oder die Firmware, umgehbar sind.

  • Code Injection: Über Eingabemasken in Webapplikationen oder über externe Schnittstellen kann Code eingeschleust werden, der vom Betriebssystem des Geräts ausgeführt wird. Dies führt üblicherweise zu einer vollständigen Kompromittierung des Geräts.

  • Unsicheres Design: Das Gerät wurde nicht im Hinblick auf Sicherheit entwickelt und weist daher erhebliche Härtungsmängel auf.

  • Sicherheitslücken durch Fehlkonfigurationen: Werden Dienste auf dem Gerät fehlerhaft konfiguriert (beispielsweise ein Fernwartungszugang), kann dies zu unberechtigtem Zugriff auf das Gerät führen.

  • Verwundbare und veraltete Komponenten: Basiert das Gerät auf veralteter Software oder Softwarekomponenten mit Sicherheitslücken, werden die Sicherheitslücken auf das Gesamtgerät übertragen.

  • Fehler in der Software- und Datenintegrität: Die Hardware weist beispielsweise keine wirksamen Maßnahmen auf, die vor einer Manipulation der Firmware schützen. Das Eispielen von angepassten Softwareupdates kann zur vollständigen Kompromittierung des Geräts führen.

  • Wartungszugänge: Über Wartungsdienste, wie beispielsweise einen Konsolenzugang über eine serielle Schnittstelle, können Daten extrahiert oder die Funktionsweise des Geräts manipuliert werden.

  • Replay-Angriffe: Durch erneutes Absenden bereits aufgezeichneter Kommunikation sind bekannte Aktionen auslösbar.

  • Verletzung des Least Privilege-Prinzips

Die Ergebnisse aus Forschungsprojekten u. a. aus dem Bereich Embedded Security werden kontinuierlich auf dem SySS Tech Blog veröffentlicht.

Testumgebung und Ausstattung

Die SySS verfügt über ein gut ausgestattetes Elektroniklabor, in dem die Untersuchung am Gerät effizient und in einer geschützten Umgebung durchgeführt werden kann. Das Labor ist ausgestattet mit einer Lötstation zum Anbringen oder Entfernen von Komponenten, beispielsweise, um Speicherbausteine auszulesen oder zu manipulieren, und einem Mikroskop, um selbst feinste Lötarbeiten durchführen zu können. Mehrere Labornetzgeräte, ein Trenntrafo und weitere Schutzeinrichtungen stehen bereit, um das Gerät an Kleinspannung oder Netzspannung zu betreiben. Ein Oszilloskop und High-End-Logikanalysator können zur Aufzeichnung und Analyse komplexer Signale verwendet werden. Des Weiteren verfügt die SySS über diverse Protokollübersetzer, Debug- und Programmieradapter, und Auslesewerkzeuge für die Kommunikation mit unterschiedlichen hardwarenahen Schnittstellen oder exotischen Speicherbausteinen.

Für manche Tests werden spezielle Voraussetzungen an die Funkumgebung gestellt. Sind beispielsweise Mobilfunksignale zu simulieren, muss dies in einer geschlossenen Umgebung durchgeführt werden ("Faraday'scher Käfig"). Auch dafür besitzt die SySS das nötige Equipment – und vor allem das nötige Know-how.

Maßgeschneiderte Softwarelösungen helfen unseren Sicherheitsexperten bei der Suche nach Schwachstellen im Bereich Embedded Security. Unser Labor ist darüber hinaus TISAX-zertifiziert, womit besonders schützenswerte Prototypen einer Untersuchung unterzogen werden können.

Mitwirkung des Kunden

Während des Penetrationstests sollten die Ansprechpersonen telefonisch oder per E-Mail zur Verfügung stehen. Hierzu zählen Ansprechpersonen zur Einrichtung des Systems, Entwickler der Schnittstellen und Betreuer eventuell weiterer Dienste, mit welchen das Gerät kommuniziert. Da sich im Laufe des Penetrationstests auch Fragen zur Hardware selbst ergeben können, sollten auch hierfür Ansprechpersonen benannt werden.

Testvorbereitung

Die SySS empfiehlt, für den Penetrationstest mindestens zwei Ausgaben des zu testenden Geräts bereitzustellen. So kann überprüft werden, ob ein durchgeführter Angriff auch auf weitere Geräte übertragbar ist. Auch für einen möglichen Ausfall des Geräts ist damit vorgesorgt. Ist das Modul E S / I N T E R N A L geplant, sollte im Idealfall noch eine dritte Ausführung bereitstehen. Die Geräte sollten der SySS bereits mehrere Tage vor Testbeginn vorliegen. So kann die erwartete Funktionalität der zu testenden Geräte schon im Vorfeld geprüft werden.

Um die Testqualität zu verbessern, empfehlt die SySS, sämtliche Dokumentationen zur Inbetriebnahme und den verfügbaren Schnittstellen und Prozessen bereitzustellen. Hilfreich sind auch Architekturdiagramme, (Protokoll-)Spezifikationen oder technische Handbücher und Härtungsrichtlinien. Zusätzlich können zum Zweck der Zeitersparnis etwaige vom Kunden genutzte Testwerkzeuge/Software oder vorab erlangte Erkenntnisse mit der SySS geteilt werden.

Vor Beginn des Penetrationstests sollte das Gerät in einem gemeinsamen Workshop initial eingerichtet werden. Gleichermaßen ist eine Einführung in die Verwendung und Konfiguration der Geräte sinnvoll. Der Workshop kann gemeinsam im Labor der SySS, beim Kunden vor Ort oder über eine Telefon- oder Videokonferenz erfolgen. Dabei sollten nicht nur die Endverbraucherseite betrachtet werden, sondern auch die Provisionierung und die Administration der Geräte.

Bei der Verwendung externer Dienste (Cloud) kann es nötig sein, beim entsprechenden Dienstleister eine Genehmigung für den Penetrationstest einzuholen. Diese Fragen können im Rahmen des initialen Kick-off-Gesprächs geklärt werden.

Abhängigkeiten

Organisatorische und technische Abhängigkeiten sollten der SySS mitgeteilt werden. Dies kann im Rahmen des Kick-off-Gesprächs geschehen. Wenn es sich bei der Teststellung beispielsweise nicht um ein völlig autonomes System handelt, das getrennt von anderen Systemen getestet werden kann, dann muss der SySS mitgeteilt werden, von welchen weiteren Systemen der Testgegenstand abhängt. Auch eventuelle Testeinschränkungen (zeitlich, technisch, organisatorisch) müssen der SySS mitgeteilt werden.

Tipps von Sebastian Schreiber

Schätzen Sie den Zeitbedarf für einen Hardwaretest sehr großzügig ein! Prüfen Sie, mit welchen Systemen Ihr Produkt kommuniziert. In der Regel ist ein vollständiger Test dieser Systeme sinnvoll, wenn es sich ohnehin um eine organisatorische und technische Einheit handelt. Wählen Sie anschließend die passenden Prüfmodule für den Test.

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de | IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Direkter Kontakt

+49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN

+49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer