Skip Navigation

Barkhausen Institut

Sicherheit von IoT-Geräten mit Open-Source-Hardware und -Software

Unsere Kollegen Sebastian Haas und Nils Asmussen haben einen Gastbeitrag im HiPEAC Magazin veröffentlicht:

Jeden Tag vertrauen wir auf intelligente Systeme und Geräte, von denen die meisten über das Internet verbunden sind. Ihr Netzwerk bildet das Internet der Dinge (IoT), das immer stärker in unseren Alltag integriert ist. Diese IoT-Geräte müssen nicht nur die Anforderungen an Leistung und Energieverbrauch erfüllen; in einer Zeit, in der Angriffe und Datenschutzverletzungen fast täglich in den Nachrichten auftauchen, sind umfassende Sicherheits- und Datenschutzeigenschaften ebenso wichtig. Wie die letzten Jahre gezeigt haben, müssen nicht nur Software-Probleme, sondern auch Hardware-Schwachstellen wie Meltdown und Spectre behoben werden, um diese Sicherheits- und Privatsphäre-Eigenschaften zu gewährleisten.

Herkömmliche Multiprozessor-Architekturen in IoT-Geräten ermöglichen ein modulares System-Design und eine einfache Integration verschiedener Komponenten in ein System. Allerdings sind die Hardwarekomponenten in der Regel nur unzureichend voneinander isoliert. Ein Angreifer mit Netzwerkzugriff auf das IoT-Gerät kann beispielsweise Software- und Hardware-Fehler in einer einzelnen Komponente ausnutzen, um Zugriff auf alle anderen Komponenten im System zu erhalten. Dadurch kann der Angreifer das System manipulieren oder vertrauliche Daten ausspähen. Mit anderen Worten: Der Angreifer kann das gesamte Gerät kompromittieren.

Das Barkhausen Institut entwickelt ein quelloffenes Hardware/Software-Co-Design, genannt M³, das Sicherheitsanforderungen auf Hardware-, Betriebssystem- und Anwendungsebene berücksichtigt. Hardwareseitig baut M³ auf einer Kachel-Hardware-Architektur mit physisch getrennten Kacheln und einer benutzerdefinierten Hardwarekomponente pro Kachel für die kachelübergreifende Kommunikation auf. Diese Hardwarekomponente wird als vertrauenswürdige Kommunikationseinheit (Trusted Communication Unit, TCU) bezeichnet, die Kacheln voneinander isoliert und selektiv Kommunikation zulässt.

Die aktuelle Hardware-Plattform besteht aus mehreren heterogenen Kacheln, die über ein Verbindungsnetzwerk (Network-on-Chip) verbunden sind. Die Kacheln enthalten quelloffene RISC-V Rocket Prozessoren oder Schnittstellen zu Peripheriegeräten (E/A) und externem Speicher. Die Hardware-Plattform ist als Open Source verfügbar und umfasst Hardware-Register-Transfer-Level (RTL)-Code und einen Toolflow zum Kompilieren und Ausführen des Designs auf einem FPGA (Field-Programmable Gate Array).

Softwareseitig stellt M³ ein Mikrokern-basiertes Betriebssystem bereit, das auch als Open Source verfügbar ist. Der Mikrokern läuft auf einer speziellen "Kernel-Kachel", während Betriebssystemdienste (z. B. Dateisysteme und Netzwerkstacks) und Anwendungen auf den übrigen "Benutzer-Kacheln" laufen. Standardmäßig sind alle Kacheln voneinander isoliert, und nur die Kernel-Kachel kann Kommunikationskanäle zwischen den Kacheln herstellen. Der Mikrokern programmiert daher die TCUs so, dass sie eine gewünschte Sicherheitsrichtlinie einhalten. So kann eine Anwendung beispielsweise nur dann auf das Dateisystem zugreifen, wenn der Mikrokern dies erlaubt. Dieser Hardware/Software-Co-Design-Ansatz bewirkt, dass bösartige Software und nicht vertrauenswürdige Hardwarekomponenten auf der jeweiligen isolierten Kachel verbleiben, und macht es einem Angreifer wesentlich schwerer, das gesamte System zu gefährden.

Hier können Sie sich das gesamte Magazin ansehen: https://www.hipeac.net/magazine/june/.

 

Weitere Informationen:

M³ Open-Source-Hardware verfügbar auf GitHub

https://github.com/Barkhausen-Institut/M3-hardware

M³ open-source Software verfügbar auf GitHub

https://github.com/Barkhausen-Institut/M3

Vortrag von Sebastian und Nils auf der Computing Systems Week Lyon

https://bit.ly/CSWLyon_BI_video