Statische Codeanalyse

Cyber-Sicherheit

27. September 2016, 12:33 Uhr | von Mark Brown
© Fotolia.de/kentoh

Von Medizingeräten erwartet man, dass sie zuverlässig funktionieren und dazu auf bewährter Entwicklungspraxis basieren. Dazu gehören auch Software-Entwicklungstools und statische Analysetools, die Medizingerätehersteller bei der Erstellung von sicherer und zuverlässiger Software unterstützen.

Die wachsende Anzahl drahtlos kommunizierender, vernetzter und mit dem Internet verbundener Geräte (z. B. medizinische Wearable-Produkte) führen dazu, dass medizinische Geräte größeren Risiken ausgesetzt sind als je zuvor. Dieses Wachstum wirft Fragen bezüglich der funktionalen Sicherheit (Safety), der Absicherung nach außen (Security) und des Schutzes der Privatsphäre auf. Angesichts der damit verbundenen Forderung nach einer robusteren Absicherung der Geräte gab die US-amerikanische FDA im Jahr 2014 Leitlinien für den Umgang mit dem Thema Cyber-Sicherheit heraus.

Leitlinien für die Cyber-Sicherheit

Weil bei Medizingeräten die Patientensicherheit höchste Priorität hat, wird das Risikomanagement, zu dem die verstärkte Absicherung und der Umgang mit Schwachstellen gehört, zum zentralen Bestandteil der Software-Entwicklung. Hierbei spielt wiederum die statische Analyse eine entscheidende Rolle. Die von der FDA veröffentlichten und recht breit gefassten Leitlinien enthalten allgemeine Anweisungen zum Umfang mit dem Thema Security. Auf der Basis der folgenden Punkte enthalten sie zudem starke Argumente für die Verwendung automatisierter Tools:

  • Hersteller sollten dem Thema Cyber-Sicherheit schon während des Designs und der Entwicklung eines Medizingeräts Beachtung widmen. Es kommt darauf an, Security-Aspekte gleich von Anfang an zu berücksichtigen, anstatt sie erst in einer späteren Entwicklungsphase nachzurüsten.
  • Design und Entwicklung sollten die Identifikation von Assets, Bedrohungen und Schwachstellen angemessen berücksichtigen. Die statische Analyse fügt sich nahtlos in gute Software-Entwicklungsprozesse ein und leistet insbesondere Unterstützung bei der Detektierung und Identifikation von Sicherheitslücken in Code und Binärdateien.
  • Bewertung der Konsequenzen von Bedrohungen und Schwachstellen für die Funktionalität des Geräts selbst sowie für Anwender oder Patienten sowie der Wahrscheinlichkeit einer Bedrohung und der Ausnutzung einer Schwachstelle. Mithilfe der sogenannten »Tainted-Data«-Analyse (verschmutzte Daten) kann »CodeSonar« von GrammaTech die Herkunft von Daten durch die gesamte Software hindurch verfolgen, um potenzielle Anfälligkeiten aus externen Quellen auszumachen.
  • Im Zuge der Einreichung eines Produkts zur Markteinführung sollten Hersteller Dokumentationen zur Cyber-Sicherheit ihres Medizingeräts vorlegen. Statische Analysetools verfügen über Reportfunktionen, die Hilfestellung bei der Prozessdokumentation, der Testdurchführung und Inbetriebnahme der Software leisten.

4-Stufen-Prinzip

Den Wearables steht in den nächsten Jahren ein starkes Wachstum bevor. Dennoch sind sie nur ein Segment der Medizingeräte, bei denen das Thema Security eine Rolle spielt.
Den Wearables steht in den nächsten Jahren ein starkes Wachstum bevor. Dennoch sind sie nur ein Segment der Medizingeräte, bei denen das Thema Security eine Rolle spielt.
© Wearable Sensor Market Poised for Rapid Growth

Die statische Analyse ist ein wichtiger Bestandteil eines Design- und Entwicklungskonzepts, in dem das Thema Security an erster Stelle steht. Um einen bestehenden Entwicklungsprozess so zu verbessern, dass dem Security-Aspekt höchste Priorität eingeräumt wird, empfiehlt GrammaTech vier Schritte:

  1. »Security First« beim Design: Bei hochgradig vernetzten Medizingeräten muss das Thema Security in allen Entwicklungsphasen höchsten Stellenwert haben. Kluge Entwicklungsteams binden die Anforderungen, die Entwicklung und die Tests im Zusammenhang mit der Security von Anfang an in den Managementplan, den Zeitplan und das Budget ein. Automatisierte Softwaretools tragen enorm zur Gewährleistung der nötigen Sicherheit bei, weil sich mit ihnen die Unbekannten und Risiken bezüglich der Geräteabsicherung berücksichtigen lassen.
  2. Systemweite Erfassung und Analyse der Bedrohungen: Da ein Medizingerät Bestandteil eines größeren Klinikumfelds ist, kommt es entscheidend darauf an, die potenziellen Security-Probleme auch auf der System-Ebene zu verstehen. Die Abschätzung der bekannten und theoretisch möglichen Angriffsvektoren auf das Gerät ist enorm wichtig für die Identifikation der Sicherheitsrisiken, die in den unternehmenseigenen Risikomanagementplan einfließen.
  3. Breite Nutzung automatisierter Tools: Oft liegt das Thema Security außerhalb des Kenntnisbereichs der Entwickler und bedeutet zusätzliche Aufgaben für Entwicklungsteams. Hier bietet die automatisierte statische Analyse Unterstützung, indem sie beispielsweise auch solche Defekte und Sicherheitsrisiken im Code aufdecken kann, die gängigen manuellen und automatischen Techniken entgehen würden.
  4. Binäranalyse für Qualität und Sicherheit von externem Code: Es ist stets riskant, sich auf extern zugelieferte Software zu verlassen, deren Qualität und Sicherheit unbekannt sind. Die statische Ana¬lyse von Binaries (oder eine Kombination aus Quellcode- und Binäranalyse) empfiehlt sich als automatisierte Technik zur Untersuchung von Third-Party-Software und gewährleistet, dass diese den Qualitäts- und Securitystandards des gesamten Systems entspricht.

Return-on-Investment

Aus gutem Grund werden statische Analysetools von Softwaresicherheitsstandards wie etwa IEC 62304 oder MISRA C dringend empfohlen. Da nämlich der Großteil der Kosten der Software-Entwicklung auf das Beheben von Problemen im Code zurückzuführen ist, kann das Auffinden von Defekten in einer frühen Entwicklungsphase den Aufwand für ihre Behebung drastisch senken. Zusätzlich ergänzen diese Tools die dynamische Analyse und strenge Tests auf weitere Arten:

  • Aufdecken von Schwachstellen vor dem Modultest: Statische Analysetools lassen sich direkt in der Desktop-Umgebung des Entwicklers einsetzen und können Defekte beseitigen, bevor diese in das Build-System und den Modultest gelangen.
  • Detektieren von Defekten, die anderen Testtechniken entgehen: Auch bei Projekten, die nach einer hohen Codeüberdeckung verlangen, können bei Modultests wichtige Fehler übersehen werden.
  • Fehler im Vorfeld vermeiden: Viele Fehlerarten lassen sich durch die Durchsetzung strikter Codierstandards von vornherein verhindern. Das Erzwingen disziplinierter Codierpraktiken und das Einrichten eines Mikrozyklus aus Entwickeln, Analysieren und Testen bei kleinen Codeänderungen können dafür sorgen, dass viele Defekte gar nicht erst entstehen.
  • Schnellerer, einfacherer Nachweis der Zertifizierung: Die statische Analyse (und viele weitere Test- und Lifecycle-Management-Tools) bietet automatische Dokumentationsfunktionen, die für Nachweise in Bezug auf Tests, Codierstandards, Qualität und Robustheit genutzt werden können. Ein großer Teil der Arbeitszeit, die in Sicherheitszertifizierungen investiert werden muss, geht auf das Konto des Erstellens von Dokumentationen und Nachweisen. Hier kann die Automatisierung insbesondere durch statische Analyse eine erhebliche Erleichterung bringen.
  • Soup-Analyse: Bei der Entwicklung der Software für Medizingeräte ist es gängige Praxis, auf kommerziell verfügbare Software (Commercial Off-The-Shelf) sowie auf Open-Source-Programme zurückzugreifen. Gerade bei solcher Software unbekannter Herkunft (Soup = Software Of Unknown Pedigree) ist ein sorgfältiges Safety- und Security-Management angezeigt, bevor man sie in ein Gerät integriert. Statische Analysetools können Quell- und Binärcode von externen Zulieferern analysieren, um Defekte und Sicherheitslücken zu finden, die sich mit anderen Tests nicht aufdecken lassen.

Da es bei der Entwicklung von Medizingeräten darum geht, Risiken sowie Zeit- und Kostenaufwand zu reduzieren, bieten statische Analysetools greifbare Vorteile. Damit passen sie zu den von der FDA veröffentlichten Leitlinien bezüglich der Cyber-Sicherheit medizinischer Geräte.

Über den Autor:

Marc Brown ist Vice President Business Development bei GrammaTech.

IT-Risiken im Gesundheitswesen

Bundesamt für Sicherheit in der Informationstechnik
© Bundesamt für Sicherheit in der Informationstechnik

Krankenhäuser erbringen als eine der tragenden Säulen unseres Gesundheitswesens vielfältige medizinische und pflegerische Dienstleistungen und zählen daher zu den Kritischen Infrastrukturen unserer Gesellschaft. Dabei ist die Funktionsfähigkeit dieser Einrichtungen selbst wiederum nicht nur von weiteren externen Kritischen Infrastrukturen, wie beispielsweise der Strom- und Wasserversorgung, abhängig, sondern auch bereits in hohem Maße von der vor Ort eingesetzten Informationstechnologie. Diese findet sich in zahlreichen Formen von Anwendungen zur Behandlungsdokumentation über Inventar- und Bestellsysteme bis hin zu medizintechnischen Geräten wieder. Sie unterstützt bei bisher papiergebundenen Arbeitsabläufen und erleichtert Diagnose- und Behandlungsprozesse oder macht diese sogar erst möglich.

Neben der Möglichkeit zur Optimierung und Effizienzsteigerung von Prozessen birgt die zunehmende IT-Unterstützung aber auch neue Risiken, denen im Rahmen des Risikomanagements entsprechend begegnet werden muss. Bisher standen hier vor allem Risiken im Bereich des Datenschutzes, beispielsweise bei der Einführung elektronischer Patientenakten, im Fokus von Untersuchungen zur Sicherheit der Krankenhaus-IT. Aus dem Blickwinkel Kritischer Infrastrukturen, welcher auf die Aufrechterhaltung der Verfügbarkeit der medizinischen Versorgung abzielt, treten solche Überlegungen jedoch in den Hintergrund.

Der effektive Umgang mit IT-Risiken erfordert in jedem Fall eine strukturierte Vorgehensweise, in welcher der IT-Risikoanalyse als wichtigem Werkzeug zur Identifikation der relevanten Risiken eine zentrale Rolle zukommt. Die IT-Risikoanalyse unterstützt damit bestehende Ansätze zum Informationssicherheits- und Risikomanagement und erleichtert sowohl Priorisierung als auch Auswahl der umzusetzenden Maßnahmen. Dabei ersetzt die IT-Risikoanalyse aber in keinem Fall die zwingend notwendige organisatorische Verankerung des Themas »IT-Sicherheit« oder eine umfassende Sicherheitskonzeption nach gängigen Standards.

Diese Broschüre bietet allen Interessierten einen ersten Überblick über eine branchenspezifische Methode zur IT-Risikoanalyse. Die Methode wurde im Rahmen des Projekts »Risikoanalyse Krankenhaus-IT« (RiKrIT) im Auftrag des Bundesamts für Sicherheit in der Informationstechnik (BSI) in Zusammenarbeit mit dem Bundesamt für Bevölkerungsschutz und Katastrophenhilfe (BBK), der Senatsverwaltung für Gesundheit und Soziales (SenGS) Berlin und dem Unfallkrankenhaus Berlin (ukb) entwickelt.

Mit der Entwicklung dieser auf IT zugeschnittenen Methode zur Risikoanalyse in Krankenhäusern ergänzt das Projekt bestehende Ansätze zum Risiko- und Krisenmanagement in Krankenhäusern bzw. Kritischen Infrastrukturen und ermöglicht den Brückenschlag zum Thema der Informations- und Cyber-Sicherheit. Der Leitfaden »Schutz Kritischer Infrastrukturen: Risikoanalyse Krankenhaus-IT« mit einer ausführlichen Beschreibung zur Anwendung der hier kurz dargestellten Methode und weitere Hilfsmittel stehen auf der Internetseite www.kritis.bund.de zum Download zur Verfügung.


Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu GrammaTEch

Weitere Artikel zu Medizinelektronik