Wie Medizingeräte-Software Sicherheitsstandards erfüllt
Mit dem Einzug der Digitalisierung in die Medizinbranche rückt die Sicherheit von Software für die verschiedenen Geräte in den Fokus. Damit die Software-Sicherheit gewährleistet ist, müssen strenge Standards für Entwicklung und Wartung erfüllt werden. Hersteller von Medizingeräten sind zusehends gefordert, um die steigenden Sicherheitslücken abzudecken und die Anforderungen der Normen zu erfüllen. Hier bietet die statische Analyse Unterstützung, um vorhersagbare Software auszuliefern.
Während in den USA die Food- and Drug Administration (FDA) tonangebend für den Medizinbereich ist, legt im Europäischen Medizingeräte-Markt die internationale Norm IEC 62304 die Anforderungen an Software-Lebenszyklus-Prozesse für die Entwicklung von Software für medizinische Geräte und medizinischer Software fest. Sie enthält die Anforderungen an Software-Lebenszyklus-Prozesse für die Entwicklung von Software für medizinische Geräte und medizinischer Software. Die in der Norm definierten Prozesse, Aktivitäten und Aufgaben bilden einen gemeinsamen Handlungsrahmen für alle Lebenszyklusprozesse für Software in Medizinprodukten.
Dazu führt die IEC 62304 verschiedene Maßnahmen ein, um einen ordnungsgemäßen Software-Entwurf, die Implementierung und das Testen abhängig von den möglichen Auswirkungen des Softwarefehlers auf den Patienten zu gewährleisten. Die FDA akzeptiert die Einhaltung der IEC 62304 als Nachweis dafür, dass Software für medizinische Geräte gemäß den erforderlichen Vorschriften/Normen entwickelt wurde, da sie die Rückverfolgbarkeit und Wiederholbarkeit des Entwicklungs- und Wartungsprozesses durchsetzt.
In der IEC 62304 heißt es: Der Hersteller weist jedem Software-System eine Software-Sicherheitsklasse entsprechend den möglichen Auswirkungen auf den Patienten, den Anwender oder andere Personen zu, die sich aus einer Gefahr (die eine potentielle Gefahrenquelle darstellt) ergibt, zu der das Software-System beitragen kann. Hersteller sind verpflichtet, das zu erstellende System in eine der drei Sicherheitsklassen für Software-Sicherheitsstufen einzustufen, die durch die Norm eingeführt wurden:
Die steigende Funktionalität von Wireless-, internetfähigen und vernetzten Geräten sowie tragbaren Mediengeräten (USB, CD, etc.) im Medizinbereich und der rege elektronische Austausch von medizinischen Gesundheitsinformationen treiben die Anforderungen an die Sicherheit voran. Waren diese bei medizinischen Standards in punkto Testen lange nicht sehr spezifisch, ist nun die Definition und Befolgung eines statischen Analyseprozesses notwendig, wie es auch die FDA in ihrem neuen Standard, der für 2022 erwartet wird, empfiehlt. Auch wenn sie zunächst Entwicklerzeit beansprucht und Kosten verursacht, ist die statische Analyse eine bewährte Möglichkeit, das System gegen böswillige Attacken abzusichern. Installiert der Hersteller sie mit einer sorgfältig ausgearbeiteten Reihe von Security-Richtlinien, lassen sich Systeme einrichten, die unvorhergesehenen künftigen Attacken standhalten.
Bei der Definition hängt vieles von den bestehenden Abläufen im Unternehmen und die für die Entwicklung eingesetzten Technologien ab. Beginnt ein Medizingeräte-Hersteller auf der »Grünen Wiese«, können nachfolgende Tipps vorteilhaft für die Einführung der statischen Analyse für C/C++ sein:
Weil die Reports der statischen Analyse in das Qualitätsmanagement-Systems einfließen, lässt sich nicht irgendein beliebiges Tool nutzen. Sondern gemäß IEC 62304 müssen sämtliche zur Entwicklung und Verifikation der Software eingesetzten Werkzeuge für ihren Verwendungszweck validiert sein. Ob ein Tool für sicherheitskritische Entwicklungen geeignet ist, lässt sich auf unterschiedliche Art nachweisen. Abhängig vom Risikoniveau des jeweiligen Geräts reicht entweder die Weitergabe eines Konformitätszertifikats aus, oder es muss eine langwierigere Tool-Qualifikation durchlaufen werden.
Am einfachsten und zweckmäßigsten ist es, auf die Vorarbeit des Anbieters zurückzugreifen und ein bereits zertifiziertes Testwerkzeug zu nutzen. Die Konformität mit IEC 62304 verlangt den Aufbau solider Softwareentwicklungs- und Testprozesse, die mit mehreren Tools unterstützt werden. Unternehmen benötigen für Verifizierungs- und Validierungsarbeiten ein Tool, die mehrere Testmethoden umfasst, da es nicht »die eine« Technik gibt, die zur Konformität führen kann.
Hier setzt Parasoft C/C++test an. Dabei handelt es sich einen integrierten Satz von Werkzeugen zum Testen von C- und C++-Quellcode, den Softwareentwickler verwenden, um ihre Anwendungen zu analysieren, zu testen, Fehler zu finden und die Qualität und Sicherheit ihrer Anwendungen zu messen. Damit ist es möglich, ein breites Spektrum Software-Testverfahren zu automatisieren, die Effizienz zu steigern sowie die Ergebnisse zu verbessern. Dadurch verringern sich Zeit und Aufwand zum Erreichen der IEC 62304-Konformität.
Weitere Informationen finden Sie unter www.parasoft.com/products/ctest
Der Autor: Miroslaw Zielinski ist Principal Software Engineer bei Parasoft