Auf der Software-Seite wird die MultiZone Security TEE eingesetzt, um die Hardware in vier separate Zonen aufzuteilen (Bild 1). Die Anwendung, der sichere TCP/IP-Server, die Root of Trust und die UART erhalten alle ihre separaten Zonen und kommunizieren nach einem klar definierten sicheren Protokoll. Dieses Protokoll basiert auf der vom TEE bereitgestellten InterZone-Messenger-Schicht mit einem einfachen Schema zur Unterstützung von Nachrichtenbestätigungen.
Multizonen-Nachrichten sind in ihrer Größe festgelegt und in 16 Byte langen Datagrammen organisiert. Bild 2 zeigt, wie die vier 4-Byte-Blöcke für die Machbarkeitsstudie organisiert wurden, um ein einfaches Rückstau-Routing (Backpressure) zu implementieren. Der Absender sendet eine Nachricht an das Ziel und wartet auf die Empfangsbestätigung, bevor er eine neue Nachricht sendet. Der Empfänger quittiert die Daten durch Beantwortung der Nachricht. Die getrennten ACK- und MSG-Zähler unterstützen getrennte FIFO-Strukturen für Produzent und Konsument und eine konfigurierbare Anzahl von Meldungen auf dem Übertragungsweg vor dem Rückstau.
Die Anwendungszone reagiert auf die Benutzerbefehle, meldet den Status der an die Interrupts angeschlossenen Taster auf dem Modul und steuert in Echtzeit die Bewegungen eines über SPI angeschlossenen Roboterarms. Dies soll ein typisches industrielles IoT-Szenario demonstrieren, das Fähigkeiten zur lokalen Erfassung und Betätigung sowie die Fernsteuerung über eine sichere Internetverbindung beinhaltet.
Zunächst wurde die eigenständige Anwendung nur für die UART-Kommunikation geschrieben und getestet. Dann wurde das vollständig verlinkte, ausführbare Programm in die MultiZone TEE »fallen gelassen«, um ihre sicherheitskritische Steuerungslogik von der Internetverbindungszone zu entkoppeln, die aus der Ferne angegriffen wird.
Für die internetexponierte Zone wurde für die Machbarkeitsstudie der TCP/IP-Stack picoTCP [12] ausgewählt, weil er Open Source, leicht und hochgradig konfigurierbar ist (Bild 3). Für die TLS-Bibliothek fiel die Wahl auf wolfSSL [13], sie ist ebenfalls Open Source und leicht mit picoTCP zu kombinieren. Darüber hinaus wurde für die Machbarkeitsstudie ein einfacher Telnet-Server entwickelt, um die Verbindung einzurichten und Daten von und zur Anwendungszone weiterzuleiten.
Die minimalistische Implementierung der Root of Trust basiert auf einem einmal programmierbaren Speicher, der dauerhaft die Zertifikate speichert, die zur Sicherung der TLS-Kommunikation erforderlich sind. Die Isolierung in einer separaten Zone ermöglicht es, hardwaregestützte Methoden anzuwenden, um den Zugriff auf die Zertifikate nur von der TCP/IP-Serverzone aus zu ermöglichen.
Die UART-Zone bietet einen unabhängigen lokalen Seitenbandkanal, um die Funktion der MultiZone TEE über eine einfache Benutzerkonsole zu überprüfen und zu bewerten.
Die Machbarkeitsstudie zeigt, wie sich eine typische IoT-Anwendung in einer Reihe von unabhängigen, physisch isolierten Funktionsblöcken – den Zonen – sichern lässt, ohne die Kosten und Komplexität, die für veraltete proprietäre Codebausteine (Primitive) typisch sind. Für die Machbarkeitsstudie wurden innovative Open-Source-Techniken angewendet, darunter RISC-V-Prozessoren, MultiZone Security TEE, picoTCP, wolfSSL und FreeRTOS.
Zur Weiterentwicklung bieten sich das Hinzufügen von OpenSSH-Zugriffen, die Unterstützung von Krypto-Beschleunigern und eine leistungsfähigere
Implementierung des zonenübergreifenden Nachrichtensynchronisationsprotokolls an. Darüber hinaus könnten UART-, Root-of-Trust- und TCP/IP-Zonen als wiederverwendbare Multizonen-Komponenten zusammengefasst werden, ähnlich wie Docker-Container für Silizium.
Literatur
[1] Mittal, S.; Tam, T. W.; Ko, C.: Internet of Things – The Pillar of Artificial Intelligence. DBS Group Research, Sector Briefing 63, Juni 2018, www.dbs.com/aics/templatedata/article/generic/data/en/GR/062018/180625_insights_internet_of_things_the_pillar_of_artificial_intelligence.xml
[2] Karliner, O.: FreeRTOS TCP/IP Stack Vulnerabilities Put A Wide Range of Devices at Risk of Compromise: From Smart Homes to Critical Infrastructure Systems. Zimperium, 18.10.2018, https://blog.zimperium.com/freertos-tcpip-stack-vulnerabilities-put-wide-range-devices-risk-compromise-smart-homes-critical-infrastructure-systems
[3] Huang, J.: F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems. 1.1.2014, www.slideshare.net/jserv/f9-microkernel
[4] Huang, J.; Lu, L.: Secure Microkernel for Deeply Embedded Devices. FOSDEM 2017, Konferenzarchiv, https://archive.fosdem.org/2017/schedule/event/microkernel_microkernel_for_embedded_devices
[5] Saltzer, J. H.: Protection and the Control of Information Sharing in Multics. Communication of the ACM, 1974, H. 7, S. 388–402, DOI: 10.1145/361011.361067, https://dl.acm.org/citation.cfm?id=361067
[6] Sidecar-Muster. Microsoft Azure, https://docs.microsoft.com/de-de/azure/architecture/patterns/sidecar
[7] Song, J.: Understanding How Envoy Sidecar Intercept and Route Traffic in Istio Service Mesh. 27.12.2018, https://jimmysong.io/en/posts/understanding-how-envoy-sidecar-intercept-and-route-traffic-in-istio-service-mesh/
[8] Evans, C.: vsftpd – Design. https://security.appspot.com/vsftpd/DESIGN.txt
[9] sifive / freedom –the RTL created by SiFive for its Freedom E300 and U500 platforms. SiFive, https://github.com/sifive/freedom
[10] Arty: The most adaptable development platform for your project toolbox. Digilent, https://store.digilentinc.com/arty
[11] hex-five / multizone-fpga – X300 a modified version of SiFive‘s Freedom E300 Platform to support MultiZone and IoT applications. Hex Five Security, https://github.com/hex-five/multizone-fpga
[12] tass-belgium / picotcp – a size, speed and feature conscious open source TCP/IP stack for embedded devices. Altran Intelligent Systems Benelux, https://github.com/tass-belgium/picotcp/wiki
[13] Embedded TSL Library. wolfSSL, www.wolfssl.com
Die Autoren
Boran Car
unterstützt Hex Five derzeit bei der Markteinführung der MultiZone Sicherheitstechnik. Car engagiert sich leidenschaftlich für Open Source und möchte ein gesundes Wirtschaftsökosystem fördern, das einerseits Open Source und andererseits sicher bis zum Transistor ist.
boran@hex-five.com
Cesare Garlati
ist ein international anerkannter Experte in der Informationssicherheit. Bevor er Chefstratege für Sicherheit bei der prpl Foundation wurde, war er als Vizepräsident für mobile Sicherheit bei Trend Micro tätig. Garlati ist ein langjähriger Unterstützer der RISC-V Foundation, ein wichtiges Mitglied der RISC-V-Sicherheitsgruppe und Mitgründer von Hex Five Security. Er hat einen Master-Abschluss der Universität von Kalifornien in Betriebswirtschaft (MBA), einen Master-Abschluss in Elektrotechnik und Informatik.
cesare@prplFoundation.org