Bereiten Sie Ihre Medizinproduktesoftware auf die neuen Richtlinien zur Cybersicherheit der FDA vor

Headshot von Miroslaw Zielinski, Produktmanager bei Parasoft

Von Miroslaw Zielinski

4. April 2019

5  min lesen

Da die FDA in ihren neuen Richtlinien zur Softwarevalidierung mehr Anforderungen an die Cybersicherheit hinzufügt, können sich Hersteller medizinischer Geräte der statischen Analyse zuwenden, der effektivsten Methode, um Sicherheitsbedenken auszuräumen und vorhersehbare Software bereitzustellen.

Wie ich vor ein paar Wochen in einem Blogbeitrag erwähnt habe, dieses Jahr um Eingebettete WeltWir haben deutlich mehr Gespräche mit Medizinprodukteherstellern geführt als jemals zuvor. Daher dachte ich, ich würde das Thema vieler dieser Gespräche ansprechen, die sich auf Cybersicherheit und statische Analyse konzentrieren. Es ist klar, dass sich Hersteller von Medizinprodukten darauf konzentrieren, ihre Softwareentwicklungsprozesse zu verbessern, um (a) wachsenden Sicherheitsbedrohungen zu begegnen und (b) die Anforderungen der FDA zu erfüllen, die immer präziser werden.

Neue Richtlinien zur Cybersicherheit von der FDA

Früher konzentrierte sich die FDA auf Funktionssicherheit Aspekte der Systeme, aber jetzt Internet-Sicherheit ist ein Thema von gleicher Bedeutung. Obwohl Sicherheit und Schutz sehr ähnlich sind (und man könnte leicht argumentieren, dass es bei beiden Dingen lediglich darum geht, vorhersehbare Software zu erstellen), betrachtet die FDA die Cybersicherheit jetzt als etwas, das besondere Aufmerksamkeit und Maßnahmen erfordert.

Es kommt ein neuer FDA-Standard. Im Entwurf „Inhalt von Vorabeinreichungen für das Management der Cybersicherheit in Medizinprodukten“ können wir lesen:

„Die Notwendigkeit einer wirksamen Cybersicherheit zur Gewährleistung der Funktionalität und Sicherheit von Medizinprodukten hat mit der zunehmenden Verwendung von drahtlosen, mit dem Internet und dem Netzwerk verbundenen Geräten, tragbaren Medien (z. B. USB oder CD) und dem häufigen elektronischen Austausch von Medizinprodukten an Bedeutung gewonnen. verwandte Gesundheitsinformationen. "

Was sind die neuen FDA-Anforderungen?

Was ändern sich also die neuen Anforderungen für die typische Organisation, die Software für medizinische Geräte entwickelt? Nun, die Anforderungen der medizinischen Standards waren zuvor in Bezug auf Testempfehlungen nicht sehr spezifisch. Selbst wenn wir uns die gängigen behördlichen Dokumente wie IEC 62304 oder die Allgemeinen Grundsätze der Softwarevalidierung der FDA genauer ansehen, werden wir keine Anforderung finden, statische Analysen oder dynamische Tests mit Codeabdeckung zu verwenden. Mit dem neuen Standard wird dies klarer und ist direkt Teil der Einreichung.

In Punkt VII.B des „Inhalts von Vorabeinreichungen für das Management der Cybersicherheit in Medizinprodukten“ finden wir die Empfehlungen zum Inhalt des Risikomanagementberichts eines vertrauenswürdigen Geräts:

„4. Eine Beschreibung der Tests, die durchgeführt wurden, um die Angemessenheit der Cybersicherheitsrisikokontrollen sicherzustellen… c) statische und dynamische Code-Analyse, einschließlich Tests auf Anmeldeinformationen, die „fest codiert“, standardmäßig, leicht zu erraten und leicht zu kompromittieren sind. “

Dies ist eine klare Empfehlung, um den statischen Analyseprozess zu definieren und zu verfolgen. Wie es geht? Viel hängt von den vorhandenen Prozessen in der Organisation und den für die Entwicklung verwendeten Technologien ab.

So übernehmen Sie die statische Analyse für die neuen Anforderungen an die FDA-Softwareentwicklung

Viele unserer Kunden von Medizinprodukten haben von Anfang an Erfolge bei der Einführung erzielt statische Analyse für C / C ++ indem Sie die folgenden Schritte ausführen:

  1. Überprüfen Sie vorhandene Richtlinien in der Organisation, und ordnen Sie sie den Prüfern, die mit dem statischen Analysetool bereitgestellt werden, so weit wie möglich zu, auch wenn sie manuell erzwungen werden sollen. Ein ausgereiftes statisches Analysetool wird wahrscheinlich die meisten davon abdecken, und Sie können in Betracht ziehen, benutzerdefinierte Prüfer für die verbleibenden Richtlinien zu erstellen, die nicht sofort statischen Prüfern zugeordnet werden konnten.
  2. Überprüfen Sie die gängigen Codierungsstandards, insbesondere diejenigen, die unter Berücksichtigung der Sicherheit erstellt wurden, und wählen Sie eine Untergruppe von Richtlinien aus, die Ihr Team befolgen soll. Bei der Auswahl der Richtlinien ist es sinnvoll, der Kategorisierung aus den Standards zu folgen und die Richtlinien auszuwählen, die als die wichtigsten eingestuft werden. Beispielsweise möchten Sie für CERT-Richtlinien wahrscheinlich mit L1-Richtlinien beginnen, und für MISRA C 2012 (mit Änderung 1) möchten Sie verbindliche Richtlinien überprüfen.
  3. Definieren Sie die Konfiguration des statischen Analysetools und geben Sie Ihre organisationsspezifischen Richtlinien und ausgewählten Richtlinien (z. B. CERT) an. Aktivieren Sie nicht alle Prüfer gleichzeitig, sondern beginnen Sie mit einer kleinen Teilmenge, um zu vermeiden, dass Entwickler mit Verstößen überflutet werden.
  4. Stellen Sie sicher, dass Ihre Entwickler ihren Code sofort nach seiner Erstellung scannen können. Es ist auch sinnvoll, die statische Analyse in den CI / CD-Prozess einzubeziehen.
  5. Wenn die Entwickler Fortschritte machen und den Quellcode bereinigen, stellen Sie sicher, dass nach und nach mehr Prüfer aus Ihrer Liste aktiviert werden. Am Ende des Tages möchten Sie nachweisen, dass Sie die gesamten von Ihnen ausgewählten Richtlinien einhalten (nicht, dass Sie auf halbem Weg stehen geblieben sind). Um sich besser am Prozess zu orientieren und Ihren aktuellen Fortschritt zu verstehen, können Sie ein zentrales Berichtssystem bereitstellen, mit dem Sie die Testdaten aggregieren und die Arbeit des Entwicklers überwachen können. Siehe Beispiel hierfür unten:

Nachweis der Eignung statischer Analysewerkzeuge (Werkzeugqualifizierung)

Da statische Analyseberichte Teil des Qualitätsmanagementsystems werden, können Sie nicht jedes Tool verwenden. Die FDA verlangt, dass alle Tools, die bei der Entwicklung und Überprüfung der Software verwendet werden, vorhanden sind validiert für den bestimmungsgemäßen Gebrauch. Es gibt verschiedene Möglichkeiten, die Eignung des Tools für die sicherheitskritische Entwicklung zu demonstrieren. Abhängig vom Risiko des Geräts kann es so einfach sein, ein Konformitätszertifikat erneut zu verwenden oder den längeren Prozess von abzuschließen Werkzeugqualifikation.

Verwendung einer TÜV SÜD-Zertifizierung

Für den Endbenutzer ist es am bequemsten, die Gutschrift für die vom Werkzeughersteller geleistete Arbeit zu erhalten und die Zertifizierung, die von einer externen Zertifizierungsorganisation wie TÜV SÜD für das Testwerkzeug erteilt wurde, wiederzuverwenden. Parasoft C / C ++ testZum Beispiel ist es mit einer TÜV SÜD-Zertifizierung versehen, die zum Nachweis der Eignung für die Entwicklung von Software nach medizinischen Standards wie IEC 62304 wiederverwendet werden kann.

Durchführen der Werkzeugqualifizierung

Bei Geräten mit hohem Risiko wie Klasse C müssen Sie das Tool möglicherweise intern in Ihrer Entwicklungsumgebung validieren. Es ist beabsichtigt, den Nachweis zu erbringen, dass das Tool gemäß den betrieblichen Anforderungen arbeitet, die in der Entwicklungsumgebung des Projekts gesammelt wurden. Dies ist ein sehr langwieriger und zeitaufwändiger Prozess.

Die beste Situation ist, wenn Ihr Werkzeughersteller Sie bei diesen Bemühungen unterstützen und ein spezielles Werkzeugqualifizierungskit bereitstellen kann, das gut gestaltete Testfälle und das Automatisierungsframework enthält, um sie in der Entwicklungsumgebung des Projekts auszuführen, und automatisch die Dokumentation generiert, die als solche dienen kann die Beweise für die Werkzeugvalidierung. Auch hier bietet Parasofts Flaggschiff-Produkt-C / C ++ - Test eine sehr gute Unterstützung in Form des automatisiertes Werkzeugqualifizierungskit.

Härten von Medizinprodukten

Die Einführung der statischen Analyse ist natürlich ein besonderer Aufwand, der Zeit und Kosten für den Entwickler erfordert. Es ist jedoch eine bewährte Methode, um Ihr System gegen böswillige Angriffe abzusichern. Durch die Bereitstellung statischer Analysen mit gut durchdachten Sicherheitsrichtlinien können Sie Systeme erstellen, die unvorhergesehenen zukünftigen Angriffen standhalten.

Bauen Sie von Anfang an Sicherheit in Ihre Anwendung ein

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Headshot von Miroslaw Zielinski, Produktmanager bei Parasoft

Von Miroslaw Zielinski

Zu den Spezialitäten von Miroslaw, dem Produktmanager für die eingebetteten Testlösungen von Parasoft, gehören C / C ++, RTOS, statische Code-Analyse, Komponententests, Verwaltung der Softwarequalität für sicherheitskritische Anwendungen und Einhaltung der Sicherheitsstandards durch die Software.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.