Um ein IoT bestmöglich gegen Cyberangriffe abzusichern, ist es notwendig, jeden einzelnen IoT-Knoten separat abzusichern. Doch wie kann das technisch funktionieren? Der folgende Beitrag beschreibt eine Methode auf Basis spezieller Sicherheits-ICs.
Zehn Milliarden IoT-Knoten sind derzeit am Netz – das sind zehnmal mehr als noch vor zehn Jahren, und der Aufwärtstrend hält weiter an. Mit der steigenden Zahl der IoT-Knoten ergeben sich jedoch auch mehr Möglichkeiten für Angreifer. Die Kosten, die jährlich durch Cyber-Attacken entstehen, betragen schätzungsweise zwischen einigen zehn Milliarden und mehr als einer Billion US-Dollar, und auch hier ist die Tendenz steigend. Sicherheits-Überlegungen sind aus diesem Grund essenziell, damit die Skalierung des IoT erfolgreich fortgesetzt werden kann. Hervorzuheben ist hierbei, dass IoT-Sicherheit stets bei der Sicherheit der einzelnen IoT-Knoten beginnt.
Kein Unternehmen möchte seinen Namen in Zeitungsmeldungen sehen, die über Sicherheitsverletzungen und den Diebstahl von Kundendaten berichten. Ganz abgesehen davon aber unterliegen vernetzte Geräte auch immer strengeren staatlichen Richtlinien. Dies sind beispielsweise die Vorschriften der FDA für Medizingeräte, die Cybersecurity-Vorgaben von USA und EU für kritische Industrie-4.0-Infrastrukturen sowie eine Reihe neu hinzukommender Standards für die Automobilindustrie. Diese Anforderungen verlangen nach hochkarätiger Sicherheit, setzen dabei aber nicht explizit die Verwendung hardwarebasierter Security-Lösungen voraus. Allerdings handelt es sich bei IoT-Knoten oftmals um kostenoptimierte, in großen Stückzahlen hergestellte Geräte, bei denen es durchaus anspruchsvoll ist, Sicherheit und Kosten miteinander in Einklang zu bringen.
Wie lässt sich ein IoT-Knoten realisieren, der kosteneffizient und dennoch sicher ist? Die Grundlage bildet stets ein Vertrauensanker (Root of Trust), der auch als Sicherheitselement bezeichnet wird. Es handelt sich dabei um eine kleine und kostengünstige integrierte Schaltung, die dafür ausgelegt ist, dem Applikationsprozessor der jeweiligen Applikation vertrauenswürdige sicherheitsrelevante Funktionen zur Verfügung zu stellen. Beispiele für solche Funktionen sind die Datenverschlüsselung zur Wahrung der Vertraulichkeit sowie digitale Signaturen, mit denen sich die Authentizität und Unverfälschtheit von Informationen sicherstellen lässt. Der ultimative Zweck eines Vertrauensankers besteht jedoch darin, die für die Datenverschlüsselung oder für digitale Signaturen verwendeten geheimen Schlüssel vor Offenlegung zu schützen.
Ein weiteres wichtiges Feature eines Vertrauensankers ist es, mit einem Secure-Bootstrap-Mechanismus die Voraussetzungen für einen vertrauenswürdigen Informationsaustausch zu schaffen. Secure Boot garantiert, dass sämtliche Bauelemente eines IoT-Knotens gültige Firmware ausführen, dass sie somit wie vorgesehen arbeiten und dass sie nicht durch böswilliges Verändern ihrer Funktion angegriffen werden können.
Die größte Herausforderung im Zusammenhang mit Vertrauensanker-ICs ist ihre Widerstandsfähigkeit gegen physische Attacken wie etwa direktes Ausforschen oder so genannte Seitenkanal-Attacken.
Weil direktes Probing möglich ist mit dem Ziel, die internen Abläufe von Mikroschaltungen zu beobachten, sind die in herkömmlichen Mikrocontrollern verwendeten Speichertechnologien wie etwa EEPROM oder Flash leider nicht als sicher zu betrachten. In der Tat können Angreifer mithilfe eines Rasterelektronenmikroskops zu relativ moderaten Kosten die Inhalte von Speichern auslesen. Um dieses Risiko zu mindern, hat die Halbleiterindustrie die PUF-Technik (Physically Unclonable Function) entwickelt. PUFs werden verwendet, um einen eindeutigen Schlüssel aus den physikalischen Eigenschaften der jeweiligen Mikroschaltung abzuleiten, die sich naturgemäß von einem Chip zum anderen zufällig unterscheiden. Diese Eigenschaften lassen sich wesentlich schwieriger direkt abtasten, sodass es nicht mehr praktikabel ist, den jeweiligen Schlüssel durch direktes Abtasten zu extrahieren. In einigen Fällen verschlüsselt der per PUF erzeugte Schlüssel den übrigen Inhalt des internen Speichers im Vertrauensanker, sodass damit auch alle übrigen Schlüssel und Zugangsdaten geschützt sind, die sich in dem Baustein befinden.
Seitenkanal-Attacken sind sogar noch kostengünstiger und weniger invasiv durchzuführen. Sie nutzen die Tatsache, dass aus elektronischen Schaltungen eine Signatur der von ihnen manipulierten Daten nach außen dringt – beispielsweise durch die Stromaufnahme, abgestrahlte elektromagnetische Wellen oder Wärmeabstrahlung. Aus den subtilen Korrelationen zwischen den gemessenen Signalen und den verarbeiteten Daten lässt sich unter Umständen mithilfe nicht übermäßig komplexer statistischer Analysen der Wert eines geheimen Schlüssels erschließen, wenn die Schaltung diesen Schlüssel beispielsweise zum Entschlüsseln von Daten benutzt. Ein Vertrauensanker ist deshalb explizit so konzipiert, dass diesem Auslesen von Daten mit verschiedenen Maßnahmen entgegengewirkt wird.
Glitch-Attacken sind eine weitere Art nicht-invasiver Angriffe, bei denen versucht wird, den Verarbeitungsablauf eines Chips durcheinanderzubringen. Dies geschieht meist durch das Einspeisen elektrischer Impulse an den Stromversorgungs-Pins oder anderen Anschlüssen des Chips, oder aber mithilfe elektromagnetischer Impulse. Die so genannten Glitches verfälschen in gewissem Umfang die Signale oder Registerinhalte der jeweiligen Mikroschaltung und können negative Auswirkungen haben, wie etwa das Umgehen von Autorisierungen, sodass ein unkontrollierter Zugriff auf ansonsten geschützte Informationen möglich wird. Ein Vertrauensanker ist auch gegen solche Schwachstellen geschützt, etwa durch Fehlererkennung und weitere Maßnahmen.
Die Vorteile eines hardwarebasierten Vertrauensankers werden in geschützten Anwendungen deutlich, für die Bild 3 ein Beispiel zeigt. Es handelt sich dabei um eine Insulinpumpe, die von einem externen Bedienteil aktiviert wird. Das Sicherheitsrisiko bei dieser Applikation ist offenkundig, denn Angreifer könnten die Pumpe fälschlich aktivieren und damit das Leben des jeweiligen Patienten gefährden. In dem vorliegenden System kommt ein einfaches Authentifizierungs-Protokoll nach dem Challenge/Response-Prinzip zum Einsatz:
1. Um das Absenden eines Befehls vorzubereiten, fordert die Bedieneinheit von der Pumpe eine Challenge an.
2. Die Pumpe sendet dem Bedienteil daraufhin die Zufallszahl R als Challenge.
3. Das Bedienteil nutzt seinen privaten Schlüssel zum Signieren des Befehls sowie der Zufallszahl R und festgelegter Fülldaten. Diese Funktionen werden vom Vertrauensanker des Bedienteils übernommen.
4. Die Pumpe verifiziert, dass die Signatur korrekt ist und die Zufallszahl mit der zuvor abgeschickten Zahl übereinstimmt, damit das triviale erneute Senden eines gültigen Befehls ausgeschlossen ist. Diese Aufgaben werden an den Vertrauensanker-IC der Pumpe übertragen.
Abgesehen von der Tatsache, dass jeder neue Versuch zum Absenden eines Befehls eine neue Zufallszahl erfordert, beruht die Sicherheit dieses Protokolls auf der Geheimhaltung des privaten Schlüssels, den die Bedieneinheit zum Autorisieren von Befehlen verwendet, sowie auf der Integrität des in der Pumpe hinterlegten öffentlichen Schlüssels, mit dem die Autorisierungen verifiziert werden. Wären diese Schlüssel in herkömmlichen Mikrocontrollern hinterlegt, könnten sie extrahiert und manipuliert werden, sodass die Herstellung gefälschter Bedieneinheiten und Pumpen möglich wäre. Die Vertrauensanker-ICs machen es im vorliegenden Fall jedoch deutlich schwieriger, Bedienteile oder Pumpen zu fälschen, die Legitimationen zu manipulieren oder das Kommunikations-Protokoll zu verändern. Darüber hinaus ist auch die Verifikation der auf den verschiedenen Komponenten dieses Systems laufenden Firmware entscheidend für die allgemeine Sicherheit. Eine kompromittierte Firmware in der Pumpe könnte schließlich die Verifikation ankommender Befehle schlicht überspringen und somit auch nicht verifizierte Anforderungen akzeptieren.
Das beschriebene System lässt sich auf beliebige IoT-Applikationen übertragen, in denen ein Netzwerk-Knoten ferngesteuert wird oder sensible Daten messen und übermitteln soll.
Insgesamt lässt sich durch solides Design des IoT-Knotens erreichen, dass sich der Angriff auf ein Gerät für potenzielle Angreifer finanziell nicht mehr rentiert. Hier bieten Architekturen auf der Basis eines speziellen Sicherheits-IC zahlreiche Vorteile:
• IoT-Sicherheit ist ein unablässiger Kampf. Die Angriffstechniken werden immer raffinierter, aber gleichzeitig arbeiten die Anbieter von Sicherheits-ICs ständig an der Verfeinerung ihrer Gegenmaßnahmen, weshalb Angriffe auf Sicherheits-ICs extrem kostspielig sind. Die Sicherheit eines vernetzten Geräts lässt sich durch ein Upgrade des Sicherheits-ICs verbessern, ohne dass dadurch große Auswirkungen auf das Design und die Kosten des gesamten Geräts entstehen.
• Das Bündeln der kritischen Funktionen in einer starken, vor Manipulationen geschützten und vom Applikationsprozessor separierten Umgebung ermöglicht einen einfacheren Sicherheitsnachweis, wenn die Einhaltung der einschlägigen Vorschriften überprüft werden soll. Die Isolation erschwert ferner das Ausnutzen von Sicherheitslücken im Applikationsprozessor des Geräts, die äußert schwierig zu entdecken und vollständig zu beseitigen sind.
• Die Sicherheit eines IoT-Knotens über seinen gesamten Lebenszyklus zu gewährleisten, ist einfacher, wenn der Sicherheits-IC frühzeitig von seinem Anbieter kommissioniert wird. Diese Vorgehensweise umgeht die Notwendigkeit, kritische Informationen mit Auftragsfertigern zu teilen. Außerdem ermöglicht dies eine sichere Personalisierung und sichere OTA-Updates. Overbuilding und Klonen werden ebenfalls deutlich erschwert: weil die Sicherheits-ICs nicht klonbar sind, sind es auch die IoT-Knoten nicht.
• Die Auswahl eines geeigneten Applikationsprozessors gestaltet sich schwierig, weil der beste Kompromiss aus Feature-Ausstattung, Kosten und Markteinführungszeit gefunden werden muss. Möglicherweise aber bringt der am besten geeignete Mikrocontroller keine hinreichenden Sicherheits-Features mit, sodass ein externer, diskreter Sicherheits-IC die flexibelste und am wenigsten invasive Möglichkeit zur Absicherung des Geräts darstellt.
Wachsende Konformitätsanforderungen und die steil zunehmende Zahl von Exploits größeren Ausmaßes machen es immer dringlicher, die Absicherung exponierter IoT-Systeme im Blick zu behalten. Typische vernetzte Systeme bestehen immer aus mehreren Komponenten, und das Thema Sicherheit muss von Anfang an in das Design einbezogen werden. Die Absicherung von IoT-Knoten an den Außengrenzen reicht für sich genommen zwar nicht aus, ist aber ein unerlässlicher Schritt.
Mehr Informationen über die eingebetteten Sicherheits-Bausteine von Analog Devices sind unter https://www.maximintegrated.com/en/products/embedded-security.html zu finden.
Stéphane di Vito ist Senior Principal MTS, Security, Software and Processors; Robert Muchsel ist Fellow, Security, Software and Processors; Don Loomis ist Vice President, Security, Software and Processors; alle bei Analog Devices.