Use Case Secure Medical Device

Bei der Cyber Security Prüfung eines Laien-Defibrillators hat softScheck für ein Unternehmen der Medizintechnik eine Reihe von Sicherheitslücken identifiziert und darüber hinaus bestätigt, dass das Gerät schließlich vor weiteren Angriffsvektoren geschützt ist. Damit kann das geprüfte System stand-alone und in jeder Art Netz betrieben werden. Durch Static Code Analysis konnten Passwörter im Klartext in einem Firmware-Update identifiziert werden. Dass Passwörter im Klartext anstatt in ihrer gehashten Version gespeichert werden ist eine nicht seltene – aber falsche - Vorgehensweise, die zu Problemen innerhalb, aber auch außerhalb des betroffenen Systems führen kann. Im Rahmen der Security-Prüfung war es weiterhin möglich durch Dynamic Code Analysis eine Schwachstelle im Anmeldemechanismus zu identifizieren, bei der lediglich der Anfang des Passwortes mit dem realen Passwort übereinstimmen musste. Es wurden auch Angriffsvektoren ermittelt gegenüber denen eine ausreichende Sicherheit vorliegt. Darunter waren unter anderem Untersuchungen zur kabellosen Kommunikation des Defibrillators, sowie andere Interaktionsschnittstellen, wie der USB-Port, der interaktive Bildschirm und die Schnittstelle mit der Anwendung für Smartphones. Es wurden zudem Verbesserungsvorschläge für die verwendeten Passwortrichtlinien erarbeitet.

Gesamtergebnis: Es wurden die Sicherheitslücken für den Laien-Defibrillators identifiziert und geschlossen. Das Verfahren hilft Unternehmen zur Konformität mit der Medical Device Regulation (MDR) bzw. In Vitro Device Regulation (IVDR).

softScheck verfolgt in seiner Arbeit die folgenden fünf Methoden zur Identifizierung der Sicherheitslücken:

Requirements Analysis: Entwicklung von Software mit angemessenem Sicherheitsniveau.
- Die Anforderungen an das Sicherheitsprofil werden ermittelt und anhand der Anforderungen wird ein Produkt mit angemessenem Sicherheitsniveau ermöglicht.

Threat Modeling: Modellierung potenzieller Bedrohungen anhand der Sicherheitsarchitektur.
- Beim Threat Modeling werden als Unterstützung für die Entwicklung mögliche Sicherheitsrisiken ermittelt und strukturiert aufbereitet. Eine derartige Übersicht über potenzielle Sicherheitsrisiken unterstützt die Entwicklung dabei Sicherheitslücken zu vermeiden, bevor sie entstehen.

Static Source Code Analysis: Detaillierte Prüfung des Source Codes.
- Bei der Static Source Code Analyse wird der Sourcecode des Projektes untersucht.

Dynamic Source Code Analysis – Fuzzing: Überprüfung des Source Codes im laufenden System.
- Bei der dynamischen Analyse wird der Code ausgeführt und an dem dynamischen Verhalten wird nach Sicherheitslücken gesucht. Eine besondere Form der dynamischen Analyse ist das Fuzzing, bei dem der Code automatisiert mit zufälligem Input aufgerufen wird. Reagiert der Code auf unerwartete Weise, dann kann untersucht werden, ob dieses Verhalten ein Zeichen für einen sicherheitsrelevanten Fehler ist.

Penetration Testing: kontrollierte Angriffe zur Identifizierung von Sicherheitslücken; beinhaltet Vulnerability Assessment
- Penetration Testing ist eine Form der Threat-Emulation: Es wird versucht, bei einem definierten Ziel Sicherheitslücken zu identifizieren.

Unser strukturiertes Vorgehen, bei dem unterschiedliche Klassen von Sicherheitslücken mit einbezogen werden, ist ein wichtiger Baustein, um sichere Systeme für die Medizintechnik zu erzeugen. softScheck integriert dazu in seinen proprietären Cyber Security Prozess nach ISO 27034 ein und überprüft auch die kundenseitige Umsetzung der Normenreihe IEC 62443 sowie der IEC 81001-5-1.