Medizingeräte, Drucker und viele andere Embedded-Systeme enthalten austauschbare Komponenten, die nach einem oder mehreren Zyklen verbraucht sind und anschließend entsorgt werden sollen. Für die Entwickler ist es wichtig, die Ausbreitung ansteckender Krankheiten zu verhindern, die Produktzuverlässigkeit zu verbessern oder schlicht für eine stetige Einnahmequelle zu sorgen (etwa bei Druckern). In jedem Fall lautet das Sicherheitsziel, ein Klonen oder Wiederaufarbeiten der Verbrauchsmittel durch Endanwender oder Dritte zu verhindern.

Entscheidend ist dabei ein sicheres Protokoll für die Kommunikation zwischen Basisgerät und Verbrauchsmittel, damit das Basisgerät nur Originalmaterial akzeptiert. Ein Angreifer wird über mindestens ein Basisgerät verfügen und mit einem praktisch unbegrenzten Vorrat an Verbrauchsmaterial experimentieren. Designer müssen zudem bedenken, dass Sicherheit niemals perfekt sein kann. Dagegen hilft eine Update-Funktion, um zusätzliche Sicherheitsmaßnahmen nachzurüsten, sobald Angreifer eine Schwachstelle aufgedeckt haben. Alle Gegenmaßnahmen müssen aber das Energie- und Speicherbudget der Embedded-Systeme einhalten; besonders eng wird es bei Wegwerfkomponenten, die auf niedrige Kosten getrimmt sind.

Bild 1: Das Medizingerät soll sicherstellen, dass niemand die Einweg-Sonde nach Benutzung erneut verwendet oder Fälschungen einsetzt.

Bild 1: Das Medizingerät soll sicherstellen, dass niemand die Einweg-Sonde nach Benutzung erneut verwendet oder Fälschungen einsetzt.Barr Group

Authentifizierungsprotokolle

Ein sicheres Kommunikationsprotokoll sollte zumindest dafür sorgen, dass das Basisgerät ein autorisiertes Verbrauchsmittel von einem Klon unterscheiden kann, dass sich die Gebrauchsdauer oder -häufigkeit limitieren lässt und dass das Basisgerät ein verbrauchtes Originalmittel zurückweisen kann. Als Beispiel dient im Folgenden das Design des Medizingeräts in Bild 1. Es besteht aus einer Basiseinheit, mit der ein Arzt per Touchscreen und GUI interagiert, sowie einer für den einmaligen Gebrauch bestimmten Sonde, die mit dem Patienten in Kontakt kommt.

Um Verbrauchsmittel als authentisch zu identifizieren, kann es geheime Informationen enthalten, die nur ihr Hersteller kennt. Sinnvoll sind zudem Seriennummern, die der Hersteller nur ein einziges Mal vergibt, oder kryptografische Chiffrierschlüssel. Es genügt aber nicht, wenn ein Basisgerät verifiziert, dass das angeschlossene Verbrauchsmittel bestimmte Informationen enthält. Es ist wichtig, geheime Informationen bei der Übertragung sowie in ihrem Speicherort sorgfältig zu schützen. Ein entschlossener und finanziell gut ausgestatteter Angreifer (zum Beispiel ein Konkurrenzunternehmen) wird immer in der Lage sein, die Kommunikation zwischen Basisgerät und Verbrauchsmittel abzuhören, die Inhalte von Festwertspeichern auszulesen und ausführbaren Code zu disassemblieren.

Verbrauchtes Material

Hinzu kommt, dass das Verbrauchsmittel nach Abschluss der medizinischen Prozedur als benutzt gekennzeichnet werden muss. Dies kann automatisch während der medizinischen Prozedur und innerhalb des Verbrauchsmittels geschehen, oder aber im Anschluss daran auf Befehl des Basisgeräts. Generell ist die erste Variante sicherer, jedoch haben beide Verfahren gewisse Nachteile. Ein häufiges Szenario ist, dass sich die Beschränkung auf den einmaligen Gebrauch auf den jeweiligen Patienten bezieht. Dann kann ein Patient mehrfach mit demselben Verbrauchsmittel behandelt werden. Dann muss das Basisgerät aber den Anwender in die Entscheidung einbeziehen, ob das Verbrauchsmittel verbraucht ist. Oft ist auch keine einfache Neu-oder-Verbraucht-Entscheidung, sondern es gibt einen Grad, zu dem das Verbrauchsmittel verbraucht ist. In jedem Fall muss das Basisgerät auch ein authentisches Produkt zurückweisen, sofern es im Hinblick auf seine Benutzungshäufigkeit entsorgt werden sollte.

Bild 2: Mit einem Man-in-the-Middle-Gerät lässt sich die Kommunikation zwischen Basisgerät und Verbrauchsmittel analysieren und in Echtzeit manipulieren.

Bild 2: Mit einem Man-in-the-Middle-Gerät lässt sich die Kommunikation zwischen Basisgerät und Verbrauchsmittel analysieren und in Echtzeit manipulieren.Barr Group

Der Designer eines Protokolls, das die Authentifizierung, die Kennzeichnung und das Zählen der Verwendungen unterstützt, muss das Risiko mehrerer bekannter Angriffe ausschließen. Ein Beispiel ist die klassische Replay-Attacke. Der Designer eines geklonten Produkts muss hierzu nur aufzeichnen, wie ein authentisches und noch nicht erschöpftes Verbrauchsmittel auf die verschiedenen Befehle des Basisgeräts antwortet, um den Klon diese Meldungen danach einfach abspielen zu lassen. Ebenso könnte ein Dritter ein erschöpftes Verbrauchsmittel als Man-in-the-Middle-Gerät so an die Basiseinheit anschließen, dass es die ansonsten echte Kommunikation zwischen beiden Endpunkten abfängt und in einigen Fällen verändert (Bild 2).

Man könnte das Verbrauchsmittel mit einem handelsüblichen Authentifizierungs-Chip ausstatten, um eine manipulationsgeschützte Private-Key-Management-Lösung zu realisieren. Bausteine dieser Art bieten in der Regel die Auswahl unter mehreren Sicherheitskonzepten (zum Beispiel Random Challenge/Response), die auf offenen Standards basieren. Viele Produkte begnügen sich mit einer einzelnen Leitung für die Kommunikation und die Stromversorgung, ergänzt durch eine Masse-Referenz. Eine applikationsspezifische Datenspeicherung ist ebenfalls verfügbar und lässt sich für Einmal-Programmierung konfigurieren, um die Nutzung manipulationssicher aufzuzeichnen.

Reverse Engineering

Angreifern steht eine ganze Reihe erprobter Methoden zur Verfügung, um die inneren Funktionen eines Systems zu analysieren und es auf Schwachstellen abzuklopfen. Eine dieser Techniken heißt Chip Rip. Hierzu wird die Oberseite des Chips entfernt, um die internen Strukturen nach Daten wie etwa einem privaten Chiffrierschlüssel abzusuchen. Einige Chipanbieter bieten manipulationsgeschützte Lösungen, während Auftragsfertiger den Baustein in Epoxid eingießen.

Eckdaten

Wer sicherstellen will, dass Anwender ein Verbrauchsmittel nicht absichtlich oder versehentlich mehrfach verwenden oder auf Fälschungen hereinfallen, braucht ein umfassendes Sicherheitskonzept. Das beginnt bei kryptografisch sicherer Kommunikation zwischen Medizingerät und Verbrauchsmittel, umfasst aber die komplette Architektur des Systems. Der Beitrag geht auf die zentralen Aspekte ein.

Eine beliebtes Hilfsmittel sind Debugger, die den Code im Systemprozessor schrittweise ausführen und Angreifern die Suche nach Schwachstellen erleichtern. Es empfiehlt sich daher, den JTAG-Port zu deaktivieren. Dazu trennt man Schmelzbrücken, setzt während der Programmierung des Bausteins entsprechende Parameter oder konfiguriert die Debug-Register in einer frühen Phase des Bootvorgangs. Alle Debug-Anschlüsse oder -Pads mitsamt allen zugehörigen Prüfpunkten sollte der Hersteller sowieso entfernen, eventuell eine Gehäuseverriegelung oder destruktive Gehäuse einsetzen, die Taktfrequenz und/oder Spannungswerte überwachen und das Code-Image per digitaler Signatur validieren. Wenn es einen potenziellen Angriff erkennt, sollte ihn das System protokollieren und/oder melden sowie eventuell den Betrieb einstellen.

Sichere Kapsel

Manche System-on-Chip-Prozessoren führen ihre Speicherbusse nicht heraus, damit können Angreifer den Bus auch nicht per Logikanalysator anzapfen. Braucht man hingegen externe Speicherchips, sollte das SoC nur verschlüsselte Daten dort ablegen. Ein einfaches Verwürfeln der Daten- und Adressleitungen wäre hingegen nicht effektiv, wenn der Angreifer mit einem Logikanalysator auf den externen Bus zugreift.

In Anbetracht der großen Raffinesse der Angreifer müssen Designer auf zu einfache Methoden verzichten. Wer nur die Seriennummer der Verbrauchsmittel in einer Textdatei im internen oder entnehmbaren Speicher ablegt, muss wissen, dass auch weniger fähige Angreifer dieses schwache Sicherheitskonzept aushebeln können. Andere Methoden, die Geheimnisse einfach irgendwo verbergen (Security through Obscurity), sind von erfahrenen Angreifern meist ebenso einfach zu umgehen. Anders ist es bei sorgfältiger Anwendung mehrerer Ebenen effektiver Sicherheitsmaßnahmen. Hierdurch ist es möglich, Angreifer wirksam auszubremsen.

Upgradefähige Sicherheit

Je profitabler die Verbrauchsmittel werden, desto höher sind die wirtschaftlichen Anreize für Reverse Engineering. Entschlossene und finanziell gut ausgestattete Angreifer werden daran gehen, das schwächste Glied der Abwehrkette aufzudecken. Um die Risiken für die Hersteller in Grenzen zu halten, kommt es darauf an, zusätzliche Sicherheitsmaßnahmen zügig nachzurüsten. Ideal ist es, wenn sich Exploits allein durch Modifizieren der künftigen Verbrauchsmittel abwenden lassen. Ist diese Abwehr jedoch nur durch ein Upgrade des Basisgeräts möglich, so muss dies bereits vorab eingeplant werden. Idealerweise erfolgt dies mit einem Softwareupdate. Diese Variante ist jedoch nicht narrensicher, da Anwender sie möglicherweise nicht zeitnah einspielen.

Um das Softwareupdate selbst abzusichern, muss das Basisgerät eine neue Firmware authentifizieren und validieren bevor es sie in den Flash-Speicher programmiert. Danach sollte eine sichere Boot-Strategie folgen, bei der nur autorisierter und authentischer Code zur Ausführung kommt. Diese Maßnahmen gelten für jeden Mechanismus, mit dem das Update bereitgestellt wird (Internet, USB, SD Card, seriell), sowie unabhängig davon, ob der Endanwender oder ein Kundendiensttechniker das Upgrade vornimmt.

Bild 3: Das Blockschaltbild einer Authentifizierungslösung mit 1-Wire-Interface zeigt, dass im Basisgerät die deutlich höhere Komplexität steckt.

Bild 3: Das Blockschaltbild einer Authentifizierungslösung mit 1-Wire-Interface zeigt, dass im Basisgerät die deutlich höhere Komplexität steckt.Barr Group

Praxis-Beispiel

Zur Authentifizierung von Verbrauchsmitteln bieten sich handelsübliche 1-Wire-Authentifizierungs-Chips an. Sie halten die Komplexität und die Kosten auf Seiten des Verbrauchsmittels auf einem niedrigen Niveau. Stattdessen erhält das Basisgerät die Aufgabe, ein auf Zufallszahlen basierendes Challenge-Response-Protokoll zu implementieren. Bild 3 zeigt die wichtigsten Funktionsblöcke einer solchen Lösung.

In diesem Beispiel wird während der Fertigung im Authentifizierungs-Chip ein privater Schlüssel abgelegt, der weder über das 1-Wire-Interface noch durch physische Manipulation ausgelesen werden kann (Bild 4). Der Prozessor im Basisgerät erzeugt eine zufällige Challenge, die er über die 1-Wire-Schnittstelle an den Authentifizierungs-Chip überträgt. Das Verbrauchsmittel errechnet auf der Basis des privaten Schlüssels eine Response und sendet diese an die Basiseinheit zurück. Hier wird die empfangene Response mit einem erwarteten Wert verglichen, den der Prozessor des Basisgeräts zuvor mithilfe einer geschützten Kopie des privaten Schlüssels errechnet hat (Symmetric-Key-Verfahren). Stimmt die Response mit dem erwarteten Wert überein, gilt das Verbrauchsmittel als echt, sodass der normale Systembetrieb weitergehen kann. Das Basisgerät kann diesen Authentifizierungs-Prozess außerdem zu beliebigen Zeiten wiederholen, um sicherzustellen, dass ein als echt identifiziertes Verbrauchsmittels nicht während einer Behandlung durch eine nicht autorisierte Kopie ausgetauscht wurde.

Bild 4: Beim Challenge-Response-Verfahren erzeugt das Basisgerät einen zufälligen Wert als Challenge. Der Authentifizierungschip berechnet anhand seines Schlüssels die korrekte Antwort.

Bild 4: Beim Challenge-Response-Verfahren erzeugt das Basisgerät einen zufälligen Wert als Challenge. Der Authentifizierungschip berechnet anhand seines Schlüssels die korrekte Antwort.Barr Group

Nachrüstlösung

Sollte der Prozessor keine Sicherheits-Features enthalten, kann man auch im Basisgerät einen Authentifizierungs-Chip integrieren. Abgesehen von einem sicheren Speicherort zum Ablegen des Schlüssels lassen sich alle benötigten Features auch in Software implementieren, was einiges an Prozessor-Performance und Speicherplatz benötigt.

Nach erfolgter Authentifizierung prüft der Prozessor vor Beginn einer Behandlung, ob der vom Authentifizierungs-Chip gespeicherte Nutzungszähler einen Wert unterhalb des vorgegebenen Limits aufweist. Sollte dieser Grenzwert überschritten sein, unterbindet das Basisgerät den Beginn der Behandlung und informiert den Anwender, dass ein verbrauchtes Produkt angeschlossen wurde. Im anderen Fall erhöht das Basisgerät den Stand des Nutzungszählers mithilfe des One-Time-Programmable-Features des Authentifizierungs-Chips. Das sich die Bits hier nur einmal auf 0 setzen lassen, erfolgt die Zählung mithilfe aufeinanderfolgender Bits. Anschließend kann die Behandlung beginnen. Wenn der Grenzwert aus einer bestimmten Nutzungsdauer besteht, wäre statt dem Zähler ein Zeitstempels nötig.

In diesem Beispiel kann es wichtig sein, Patientenangaben und allgemeine Kommunikationsdaten zu verschlüsseln. Dies kann mit dem gleichen privaten Schlüssel oder einem anderen im Authentifizierungs-Chip hinterlegten Schlüssel geschehen. Allerdings stellt sich auch hier die Performance-Frage.

Rundes Konzept

Um nicht autorisierte Klon-Versuche abzuwehren, ist zunächst ein sicheres Kommunikationsprotokoll zwischen Basisgerät und Verbrauchsmittel nötig. Zusätzlich zur Authentifizierung sind manchmal Nutzungszähler beziehungsweise Zeitstempel sinnvoll; die meisten medizinischen Geräte erlauben aber nur eine einzige Verwendung. Gegenmaßnahmen wie Debug-Anschlüsse entfernen, Manipulationsversuche erkennen und manipulationsgeschützte Bauteile verwenden, können physische Attacken erschweren. Um nicht autorisierten Code vom System fernzuhalten, ist hard- und softwaremäßige Unterstützung erforderlich. Eine sichere Boot-Funktion, kombiniert mit der Authentifizierung und Verifikation des Code-Images trägt dazu, die Ausführung von Schad-Code zu verhindern.

Die Sicherheit von Embedded-Systemen verlangt große Sorgfalt. Angreifer verwenden immer raffiniertere Attacken, oft stammen sie von hochmotivierten Organisationen und Einzelpersonen. Die Kosten, die das Abwenden unautorisierter Klonversuche mit sich bringt, sollte man aber stets gegen die Kosten abwägen, die ein erfolgreicher Angriff verursacht. Zu berücksichtigen sind alle einschlägigen Risiken in Bezug auf Sicherheit, Haftung, Qualität, Schäden am Basisgerät, Support, Rufschädigung und Einnahmeverluste, und die sind oft höher als man denkt.