Es gibt viele Wege hin zu einer ausreichenden Produktsicherheit, eine Devise ist jedoch allen gemein: »Beginnen Sie mit den Grundlagen und zögern Sie nicht, sich Hilfe zu holen.« Ein Entwickler alleine denkt womöglich nicht an alle Angriffsmöglichkeiten, insbesondere, wenn in einem kleineren Unternehmen die Entwickler bereits für mehrere Aufgaben zwischen Hardware- und Softwareaspekten des Produkts verantwortlich sind. Ein externer Fachberater, der im Rahmen eines dafür bereitgestellten Budgets hinzugezogen wird, kann nützliche Informationen liefern, wobei die Beratung am besten bereits in der Architekturphase erfolgen sollte.
In Bezug auf Software sollte die Einhaltung anerkannter Standards bereits einen Schutz vor bekannten Angriffsmethoden bieten. Spezialisierte Anbieter bieten Tools an, die Techniken wie die statische Analyse verwenden, die beim Schreiben und Entwickeln von Software angewendet werden sollen, um die Anforderungen von Standards wie MISRA, JSF oder HIC++ bereits hier zu erfüllen. Code, der diesen Standards entspricht, sollte gegen gezielte Angriffe wie das Erzwingen von Stapelüberläufen gewappnet sein. Ein solches Tool sollte aber mit Vorsicht genossen werden. Zwar trägt eine auf diese Weise erreichte Konformität zur Sicherheit bei, ist aber alleine nicht ausreichend. Oder anders gesagt: Sie ist notwendig, aber nicht genug.
Angesichts des Marktanteils von Mikrocontrollern auf Arm-Core-Basis im Embedded-Bereich ist es sehr wahrscheinlich, dass die Chips in einem Projekt einen Arm-Core verwenden. Arm hat seine TrustZone-Technologie zusätzlich zur Cortex-A-Kernserie auf Cortex-M-MCUs erweitert. TrustZone verkörpert das Konzept paralleler, vertrauenswürdiger und nicht-vertrauenswürdiger Kontexte in einem einzigen System: Sichere und nicht-sichere Domänen sind hardwaremäßig getrennt; nicht-sichere Software kann nicht direkt auf sichere Ressourcen zugreifen (Bild 2). »TrustZone für Cortex-M wird zum Schutz von Firmware, Peripheriegeräten und E/A verwendet und bietet eine Isolierung für den sicheren Start, vertrauenswürdige Aktualisierungen und Root-of-Trust-Implementierungen sowie die deterministische Echtzeitreaktion, die bei Embedded-Lösungen erwartet wird«, erklärt Arm.
Mikrocontroller-Chips für den Embedded-Sektor umfassen typischerweise Funktionen zur einfacheren Implementierung von Sicherheitsaspekten, zum Beispiel für die Ausführung von für Verschlüsselungsalgorithmen optimierter Hardware. Ebenso wichtig ist, dass die MCU-Hersteller die Software-IP bereitstellen, die zum Einbinden dieser Funktion in die Struktur einer Anwendung erforderlich ist. Die Konzentration auf End-to-End-Sicherheit im IoT bedeutet Sicherheit sowohl auf Chipebene, als auch bei drahtlosen Verbindungen, auf dem Server und bis hin zur Cloud. Die Sicherheit eines Designs – einschließlich drahtloser Verbindungen – muss kontinuierlich über die Identitätsprüfung und den Schutz der Schlüssel, die Datenintegrität und den Code, der das Design ausmacht, hinweg gewährleistet sein.
Es ist auch möglich, sich auf Kosten des Alltäglichen auf das Subtilere zu konzentrieren – viele Exploits sind jedoch sehr einfach. Der Zugriff wird erlangt, weil der Benutzer schlicht vergessen hat, Sicherheitsfunktionen zu aktivieren – oder ein Standardkennwort verwendet. Wenn ein Produkt mindestens über einen kennwortgeschützten Administrator- oder Wartungsmodus verfügt, sollte also gewährleistet sein, dass für jedes ausgelieferte Gerät ein eindeutiges und sicheres Kennwort festgelegt ist. Denn auch wenn das Design »nur« die Beleuchtung steuert oder HLK-Parameter überwacht, hat es möglicherweise dennoch Zugriff auf das Unternehmens-IT-System eines Kunden. Der Techniker, der es in Betrieb nimmt, könnte das übersehen. Ebenso wie die Tatsache, dass eine Installation mit dem Passwort »pa55word« alles andere als ideal ist.
Alles in allem betrachtet ist das keine bequeme Ausgangssituation für Entwickler. Es gibt einfach keine leichte Möglichkeit, Sicherheit zu bewerten und »kugelsichere« Korrekturmaßnahmen zu ermitteln. Die Mechanismen für Aktualisierungen sind fragmentarisch; gleichzeitig entwickeln Designer Systeme, die jetzt eingesetzt werden und mindestens ein Jahrzehnt lang in Betrieb bleiben.
Eines ist klar: In der heutigen vernetzten Welt ist es schwierig zu sagen, wie viel Aufmerksamkeit für Sicherheitsfragen als »notwendig«, »angemessen« oder »ausreichend« gilt.
Cliff Ortmeyer ist Global Head of Solutions Development bei Farnell. Er hat einen Abschluss in Elektrotechnik und ist seit 26 Jahren in der Elektronikbranche in verschiedenen Positionen im Engineering und Marketing Management tätig. Seit sechs Jahren ist Ortmeyer bei Farnell, zuletzt als globaler Leiter des Bereichs Technologieproduktmarketing und Lösungsentwicklung. Zuvor arbeitete er für STMicroelectronics und Coilcraft. Ortmeyer ist ein Elektronik-Enthusiast und hält mehrere Patente.