Dynamische Softwareanalyse

Sicher trotz COTS-Software

6. November 2014, 8:26 Uhr | Ralf Higgelke

Auch Entwickler von Medizingeräten müssen oft fertige Software oder Softwareblöcke zukaufen. Gleichzeitig müssen sie für die Zulassung nachweisen, dass es den Sicherheitsanforderungen entspricht. Wie schaffe ich das, wenn COTS-Software zum Einsatz kommt, deren Quellcode ich oft nicht kenne?

Diesen Artikel anhören
Bild 1: Verschiedene Analysetechniken und die zugehörigen IEC-62304-Abschnitte in einem typischen V-Modell
Bild 1: Verschiedene Analysetechniken und die zugehörigen IEC-62304-Abschnitte in einem typischen V-Modell
© QNX Software Systems

von Chris Ault, Produktmanager bei QNX Software Systems, und Mark Pitchford, Field Applications Engineer bei LDRA.

Medizingeräte benötigen eine MDD-Zulassung beziehungsweise Zulassungen durch die FDA, MHRA und vergleichbare zuständige Behörden in allen Regionen, in denen sie eingesetzt werden sollen. Für die Zulassung ist nachzuweisen, dass ein Gerät den Sicherheitsanforderungen entspricht; insbesondere ist der Nachweis der Verlässlichkeit der Gerätesoftware zu führen. Sorgfältig abgrenzende Aussagen und präzise Anforderungen an die Verlässlichkeit schaffen einen definierten Kontext und liefern messbare Kriterien für die Validierung der Verlässlichkeit eines Softwaresystems.

Mit einer einzelnen Technik allein lässt sich nicht beweisen, dass eine Software die an ihre Verlässlichkeit gestellten Anforderungen erfüllt. Deshalb müssen die Entwicklerteams mit einem ganzen Arsenal an Strategien und Techniken arbeiten (Bild 1), darunter:

  • Entwicklungsumgebung gemäß IEC 62304 oder vergleichbaren Normen,
  • genaue Anforderungsspezifikationen, um sicherzustellen, dass alle sicherheitsrelevanten Anforderungen abgedeckt werden,
  • formale Entwurfsmethoden und Werkzeuge zum mathematischen Nachweis der Korrektheit des Entwurfs,
  • Fehlerbaum-Analysen beispielsweise mittels bayesscher Netze,
  • statische Analysemethoden wie Modellprüfung und Datenflussanalyse,
  • Tests mit direkter Fehlersuche, zum Beispiel dynamische Analysen zur Identifizierung von Programmfehlern anhand der von ihnen verursachten Störungen und Systemausfälle, und
  • Verwendung vorhandener COTS-Software (Commercial Off-The-Shelf), die strikten Verlässlichkeitsanforderungen genügt.
Entwicklungsumgebung gemäß IEC 62304 oder vergleichbaren Normen,
genaue Anforderungsspezifikationen, um sicherzustellen, dass alle sicherheitsrelevanten Anforderungen abgedeckt werden,
formale Entwurfsmethoden und Werkzeuge zum mathematischen Nachweis der Korrektheit des Entwurfs,
Fehlerbaum-Analysen beispielsweise mittels bayesscher Netze,
statische Analysemethoden wie Modellprüfung und Datenflussanalyse,
Tests mit direkter Fehlersuche, zum Beispiel dynamische Analysen zur Identifizierung von Programmfehlern anhand der von ihnen verursachten Störungen und Systemausfälle, und
Verwendung vorhandener COTS-Software (Commercial Off-The-Shelf), die strikten Verlässlichkeitsanforderungen genügt.
Bild 2: Die IEC 62304 leitet sich von der IEC 61508 ab und besitzt somit gemeinsame Wurzeln mit anderen Industrienormen
Bild 2: Die IEC 62304 leitet sich von der IEC 61508 ab und besitzt somit gemeinsame Wurzeln mit anderen Industrienormen
© QNX Software Systems

Die IEC 62304 legt die Prozesse und Aktivitäten für den gesamten Lebenszyklus der Software fest und schreibt vor, dass dieser Zyklus nicht etwa mit dem Release endet, sondern auch Wartung und Fehlerbehebung während der gesamten Einsatzdauer der Software abdeckt (Bild 2). In der Norm wird auch ausdrücklich auf die Verwendung von SOUP (Software of Unknown Provenance) eingegangen [1]. Sie wird dort folgendermaßen definiert: »Software, die fertiggestellt und allgemein verfügbar ist und nicht speziell für das Medizingerät entwickelt wurde, in dem sie verwendet wird. Ebenso Software, die in der Vergangenheit entwickelt wurde und für die keine ausreichende Dokumentation der Entwicklungsprozesse verfügbar ist.« 
Einfach ausgedrückt nimmt die IEC 62304 an, dass (kommerzielle oder nichtkommerzielle) »Off the shelf«-Software verwendet wird. Außerdem gibt sie zwei Definitionen für »Software unklarer Herkunft« (SOUP): erstens Software, die nicht speziell für das fragliche Medizingerät geschrieben wurde, und zweitens Software, deren Entwicklungsprozess nicht oder unzureichend dokumentiert ist. Die Frage lautet also nicht, ob man COTS- oder SOUP-Software in Medizingeräten verwenden kann, sondern ob eine spezielle COTS-Software für ein konkretes Gerät geeignet ist und wie man nachweisen kann, dass diese Software die Anforderungen an die funktionale Sicherheit des Geräts erfüllt.


  1. Sicher trotz COTS-Software
  2. Was sind »COTS«, »SOUP« oder »clear SOUP«?
  3. Ziel der Analyse
  4. Anforderungen an ein COTS-Betriebssystem

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu QNX Software Systems GmbH & Co. KG

Weitere Artikel zu LDRA Inc.

Weitere Artikel zu Medizinelektronik