Gerätesicherheit im Fokus
Iot-security in der Produktentwicklung berücksichtigen
Die heutige Always-on-welt lockt leider auch Angreifer an. Sie bietet ihnen einen Pool aus smarten Geräten, die sie kompromittieren können. Im schlimmsten Fall kann ein erfolgreicher Angreifer vom „übernommenen“Gerät aus weitere Angriffe auf verbundene Systeme starten.
Remote-angriffe sind dabei nur ein möglicher Ansatzpunkt, den ein Angreifer nutzen kann. Auch lokale Angriffe auf die physische Hardware kann vertrauliche Informationen offenlegen und das Gesamtsystem anfällig machen. So kann der Angreifer an Passwörter zur Systemauthentifizierung gelangen oder auf Unternehmensgeheimnisse wie etwa den Quellcode der Geräte-firmware zugreifen und diese verändern.
Welche grundlegenden Konzepte für die Implementierung eines robusten und zuverlässigen Abwehrsystems für Embedded Systems gibt es und welche Sicherheitsgrundsätze sind relevant?
Essentielle Sicherheitskonzepte
Die Umsetzung von Sicherheitskonzepten sollte nicht vernachlässigt werden, auch wenn sie mitunter die Komplexität des Produktes zusätzlich steigern können. Es geht letztlich nicht nur darum, die eingebettete Firmware zu sichern, sondern auch personenbezogene Daten von Nutzern.
Hacker können drei verschiedene Aspekte eines Iot-geräts angreifen.
Das Angriffsziel
Ein Angriffsziel ist das Iot-gerät selbst, das geschützt werden sollte. Ein Asset ist das, was das Ziel enthält und geschützt werden muss. Bild 1 zeigt die zu schützenden Assets und die damit verbundenen Risiken innerhalb jedes Ziels, falls es kompromittiert wird.
Angriffsarten
Unterschiedliche Angriffe auf ein Iot-gerät können von verschiedenen Quellen ausgehen, die sich grob in software- oder hardwarebasierte Angriffe unterscheiden lassen. Angriffe auf die Software, die auf einem Gerät läuft, können entweder lokal oder über Netzwerk erfolgen.
Hardware-angriffsarten werden weiter unterteilt in Angriffe, die nicht-invasiv oder invasiv sind. Ein nicht-invasiver Angriff wird lokal durchgeführt und erfordert nur in seltenen Fällen eine Daten-verbindung zum Iot-gerät. Ein invasiver Hardware-angriff hingegen erfordert einen physischen und elektrischen Zugriff auf den Mikrocontroller.
Ein invasiver Angriff ist in der Regel der teuerste Weg für einen Angreifer und erfordert Spezialwissen. Bild 2 veranschaulicht die drei genannten Angriffsarten und gibt einen Überblick über die Techniken und die Gründe, warum der Angreifer sie einsetzen könnte.
Software-angriffe sind am weitesten verbreitet. Sie nutzen Fehler in der Firmware oder bekannte Protokollschwächen des Geräts aus. Der Aufwand für solche Angriffe ist relativ gering, da sie remote ausgeführt werden können. Zudem werden die Geräte-schwachstellen mitunter innerhalb der Hacker-community ausgetauscht.
Gerätesicherheit in der Praxis
Aus Sicht des Geräteherstellers hilft das Verständnis der Faktoren für die Gerätesicherheit dabei, die notwendigen Sicherheitsfunktionen zu ermitteln – die drei im Folgenden skizzierten Szenarien stellen einige der für das jeweilige Szenario erforderlichen Sicherheitsfunktionen heraus.
Szenario 1: Ein Unternehmen verkauft Firmware und erzielt seinen Umsatz aus Lizenzgebühren. Die vom Unternehmen produzierte Firmware ist damit wertvolles geistiges Eigentum (IP). Die Kunden verwenden die Firmware zusammen mit eigenem Anwendungscode. Aus Sicht des Herstellers muss die Firmware sicher vom Code des Kunden isoliert bleiben. Der Hersteller gibt von Zeit zu Zeit Updates seiner Firmware heraus und möchte die Installation und Aktualisierung absichern.
Szenario 2: Ein Unternehmen verkauft Produktionsanlagen und möchte seinen
Kunden regelmäßige Firmware-updates anbieten. Es muss sichergestellt werden, dass nur die Hersteller-firmware auf den gelieferten Geräten läuft. Während des gesamten Firmware-update-prozesses müssen daher sichere Authentizitätsprüfungen durchgeführt werden. Dies kann eine Secure-boot-funktion sicherstellen.
Szenario 3: Ein Consumer-produkt sammelt Benutzerdaten innerhalb eines umfassenden Systems. Das Unternehmen achtet darauf, die Verbraucherdatenrichtlinien, wie die DSGVO, einzuhalten und möchte zudem ein robustes Geräteverhalten sicherstellen. Auch soll nur Original-firmware auf dem Gerät lauffähig sein. Bei der Kommunikation des Geräts mit dem Hostsystem besteht zudem die Gefahr, dass Benutzerdaten offengelegt werden. Durch den Einsatz von Verschlüsselungstechniken, Geräteidentifikation und Authentifizierung kann die Offenlegung personenbezogener Daten verhindert werden. Die Integrität der Plattform wird durch eine Secure-boot-funktion gewährleistet.
Secure Boot
Eine essentielle Funktion ist der Secure Boot (SB). Sb-grundprinzip ist, dass beim Reset des Geräts der Sb-code prüft, ob die Anwendungsfirmware authentisch ist, bevor sie gestartet werden kann. Dazu muss der Sb-code der einzige Code sein, der beim Reset ausgeführt werden kann. Zudem muss er unveränderlich sein – das heißt, er darf in keiner Weise verändert werden können. Seine Adresse ist daher eindeutig und der Zugriff auf eine alternative Firmware-adresse gesperrt. Gemeinsam schaffen diese Aspekte eine so genannte „Root of Trust“für das Gerät.
Die Sb-prüfung vergleicht einen aus dem Applikationscode generierten Hash mit einer mitgelieferten Referenz. Die Signatur
wird aus dem generierten Hashwert und einem privaten Schlüssel berechnet und mit einem zugehörigen öffentlichen Schlüssel verifiziert. Der Referenz-hashwert und der Signaturwert müssen immer mit der Firmware bereitgestellt werden. Diese werden typischerweise in einem Container gespeichert, der entweder als Metadaten oder als Header bezeichnet wird.
Die Metadaten müssen aufgrund der Art ihrer Erzeugung nicht verschlüsselt werden. Bei einem Versuch, eine alternative Firmware einzuschleusen, gibt es keine Möglichkeit, dass der Hash dieser Firmware mit der Referenz übereinstimmt.
Sicheres Firmware-update
Die kritischen Schritte in einem Firmwareupdate-prozess sind:
→ Erstellung des Applikations-firmwareupdates
→ Erzeugung der zugehörigen Metadaten
→ Übertragung an das Zielgerät
→ Die Metadaten werden von der Secureboot-funktion verwendet, um die Integrität und Authentizität der Anwendungsfirmware zu prüfen.
→ Wenn die Prüfungen erfolgreich sind, installiert der Secure Boot-prozess die neue Firmware.
Die neue Metadaten-signatur wird analog zur Secure-boot-methode erstellt. Für viele Iot-geräte ist die einfachste Übertragungsmethode ein Over-the-air-(ota)update. Geräte ohne Internetverbindung benötigen eine lokale Verbindung, etwa über UART, SPI, USB oder eine Sd-karte. Die neue Anwendungsfirmware wird mithilfe eines Loader-programms in den Flash-speicher des Zielgeräts geschrieben. Dieser ist typischerweise entweder im Secure-boot-code oder in der Anwendungsfirmware enthalten.
Die letzte Phase des Update-prozesses ist die Überprüfung der neuen Applikations-firmware – ist sie erfolgreich, erfolgt der Austausch der neuen gegen die bestehende Applikations-firmware.
Gerätesicherheit beginnt bei Boot und Update, ist damit jedoch noch nicht abgeschlossen. Die Sicherheitsframeworks der Mikrocontroller unterstützen Embedded-entwickler dabei, die Geräte zu schützen und die gesetzlichen Bestimmungen einzuhalten.