Embedded Systeme

Linux als Bestandteil sicherer Medizinprodukte

19. Oktober 2020, 13:40 Uhr | Scot Morrison (Mentor)
Linux-Pinguin (Symbolbild)
© Pixabay

So verschließt die Open-Source-Software ihre Hintertür für Hacker

Open-Source-Software im Allgemeinen – und Linux im Besonderen – wird häufig als ungeeignet für Anwendungen mit besonderen Anforderungen an Safety oder Security betrachtet. Die enorme Benutzerbasis von Linux sorgt jedoch dafür, dass eventuelle Sicherheitslücken schnell geschlossen werden. Security-Probleme in Linux (einschließlich Software wie OpenSSL) werden in der Regel von Ingenieuren entdeckt, entweder zufällig (ein bei der normalen Arbeit gefundener Bug) oder durch gemeinsame Anstrengungen zum Auffinden von Exploits (»White Hat Hacking«).

Manchmal wird ein Exploit bei der Post-mortem-Analyse eines Angriffs gefunden. Wer einen Exploit findet, benachrichtigt die Community über die problematische Open-Source-Komponente, und in den meisten Fällen benachrichtigt der Entdecker oder ein Mitglied der Community die Common Vulnerability and Exposures (CVE) Gruppe. Diese wird von der MITRE betrieben, einer Organisation im Auftrag der Vereinigten Staaten, die in enger Beziehung zur National Vulnerability Database (NVD) steht, ihrerseits betrieben vom National Institute of Standards and Technology (NIST). 

Des einen Freud, des anderen Leid

Wenn eine Schwachstelle erkannt wurde und eine Lösung zur Behebung vorliegt, wird sie durch Aufnahme in die CVE-Listen veröffentlicht. Schwerwiegende Probleme werden in der Security-Community weltweit diskutiert. Das ist die Phase, in der Produkte besonders gefährdet sind. Die meisten Schwachstellen werden zwar von den »Guten« gefunden, doch die »Bösen« erfahren von ihnen ebenso wie der Rest der Welt und können Exploits entwickeln, um die neu entdeckte Schwachstelle auszunutzen. 

Trotzdem ist die Veröffentlichung sehr wichtig, denn sie informiert die weltweite Community über das Problem und dessen Lösung. Unternehmen können untersuchen, ob ein bestimmter Exploit sich auf ihre Produkte auswirken könnte. Wenn ja, können sie dem Problem entgegenwirken, bevor es eventuell zu einem Angriff kommt. Nicht alle werden ihre Produkte aktualisieren können und manche werden anfällig für Angriffe sein, aber da es in der Welt keine echten Geheimnisse gibt, verhindert die Offenheit mehr Probleme als sie verursacht.

Ein Betriebssystem wie Linux macht ein Produkt nicht direkt sicherer im Sinne von Safety oder verhindert dessen Versagen. Es sorgt auch nicht für eine Wiederherstellung des Systems nach einem Ausfall. Betriebssysteme sind keine Safety-Mechanismen. Wenn ein Entwickler Linux in einem System ohne andere Anwendungen installiert und aktiviert, startet Linux, aber bleibt einfach als Login-Prompt stehen. Linux bleibt untätig, bis Anwendungen laufen, darunter auch diejenigen, die für die Safety des Produkts notwendige Funktionen ausführen. Das heißt, obwohl das Betriebssystem kein Safety-Mechanismus ist, ermöglicht es die Anwendungen und wird als Safety-Element betrachtet.

Safety-bezogenes Design ist eine Systemfrage 

Moderne Mikroprozessoren mit mehreren Kernen unterstützen heterogenes Multiprocessing. Damit können leistungsfähige universelle Kerne die Ausführung von Linux unterstützen, während spezialisierte Kerne für andere Funktionen programmiert werden. Die meisten Smartphones enthalten solche Mikroprozessoren, wobei der kräftige Prozessor für Android oder iOS und Apps zuständig ist, während ein anderer Prozessor die Datensecurity verwaltet. Die heutigen Mikroprozessoren sind günstiger und zugleich wesentlich leistungsfähiger als ihre Vorgänger. Bei der Anwendung für moderne Medizinprodukte müssen jedoch weitere Überlegungen angestellt werden. 

Safety-bezogenes Design ist nicht länger nur eine Frage von Hardware oder Software, sondern eine Frage von integrierten Systemen. Um die Vorteile der niedrigeren Stücklisten-Kosten von Platinen und der stärkeren Integration der Komponenten in modernen Multiprozessorchips für ein sicherheitstechnisch sensibles Design voll auszuschöpfen, müssen Anwendungen getrennt gehalten werden – die sogenannte Mixed-Safety-Criticality. Beispielsweise können Entwickler jetzt den Teil des Systems, der für die Benutzeroberfläche zuständig ist, auf einem Prozessorcluster abwickeln, der für Benutzeranwendungen optimiert ist – mit Features wie mehrstufiger Cache, Power-Inseln zum Abschalten einzelner Prozessoren und Speicher, um bei einem batteriebetriebenen Medizinprodukt Strom zu sparen.

Linux kann den Prozessorcluster für Anwendungen optimal nutzen, mit integrierten Features wie symmetrisches Multi-Processing, Parsing-Aufgaben und Zuordnung von Threads zu bestimmten Prozessoren. Gleichzeitig läuft der safety-kritische Teil des Systems auf einem separaten Cluster für Echtzeitverarbeitung, mit Features wie eng gekoppelte Daten- und Befehlsspeicher mit kurzen Abrufzyklen und deterministischer Performance – oder Lockstep-Modus zur Fehlererkennung.

Bei anspruchsvollen Multiprocessing-Systemen besteht eine hardwaregestützte Trennung zwischen der Welt der Anwendungen und den safety-kritischen Bereichen. Der Softwaredesigner benötigt jedoch Middleware wie Mentor Hypervisor oder Mentor Multicore Framework, um diese Hardwarefeatures auszunutzen. Solche Softwarepakete ermöglichen wichtige Funktionen auf Systemebene, wie die sichere Inter-Prozessor-Kommunikation zwischen den Prozessorclustern.

Hard- und Software gleichzeitig betrachten

Hinsichtlich der Einsatzmöglichkeiten von Linux gibt es weitere Hardware-Überlegungen. Ein Beispiel ist die erweiterte Option im Linux-Kernel, die als »Power Framework« bekannt ist. Die Softwareanwendung kann den Kernel nutzen, um Teile des Systems abzuschalten, wenn sie nicht benötigt werden, oder sie nur bei Bedarf einzuschalten, um Systemleistung zu sparen. Moderne SoCs enthalten periphere Schnittstellen in den Prozessorclustern wie I2C oder USB, die auf diese Weise gesteuert werden können. 

Das kann auch dahingehend erweitert werden, dass Soft-Peripherals außerhalb des Prozessorclusters in RTL-Logik implementiert werden. Beispiele können eine CAN-Schnittstelle oder Peripherie außerhalb des Chips, wie Ethernet PHY, sein. Um die Vorteile moderner Embedded-Systeme voll auszuschöpfen, muss beim Design der Hardware berücksichtigt werden, was die Software kann. Gleichzeitig müssen zugehörige Softwaretreiber, Firmware und Anwendungen programmiert werden, die alle Features der Hardware nutzen können.

Linux ist zwar nicht für die Anwendung in Produkten vorzertifizert, doch bestimmte Echtzeitbetriebssysteme wie Nucleus von Mentor sind vorzertifiziert erhältlich (wie auch andere Embedded-Softwarekomponenten von mehreren Anbietern). Um eine Vorzertifizierung zu erreichen, muss ein Softwareanbieter nachweisen, dass der gesamte Prozess der Softwareentwicklung (Anforderungen, Entwurf, Entwicklung, Überprüfung und Verifizierung, plus alle Entwicklungsstufen) in Übereinstimmung mit medizinischen Industriestandards wie ISO 13485 und IEC 62304 durchgeführt wurde. Linux und andere Open-Source-Komponenten wurden nicht im Hinblick auf diese Standards entwickelt und sind deshalb nicht vorzertifiziert. 

Für Linux in Verbindung mit Medizinprodukten wird allgemein ein Konzept von IEC 62304 mit der Bezeichnung SOUP (Software unbekannter Herkunft) verwendet. Im Rahmen dieser Richtlinien wird die Verwendung von Linux als Teil der Risikobewertung des Gesamtprodukts betrachtet. Potenzielle Fehler durch Linux im Produkt müssen deshalb in Erwägung gezogen und entschärft werden, wenn die Möglichkeit besteht, dass der Patient geschädigt oder einer Gefahr ausgesetzt wird. Die Risikobewertung muss die Anforderungen der Federal Drug Administration (FDA) in den USA erfüllen, gemäß den Leitlinien für die Phase vor und nach der Einreichung. Im Vorfeld umfasst dies Überlegungen zum Einsatz von Linux beim Entwurf, der Implementierung sowie der Überprüfung und Verifizierung des Produkts. Nach der Produktfreigabe müssen beim Einsatz mögliche Probleme berücksichtigt werden, die sich vielleicht später ergeben. 

Über den Autor

Scot Morrison ist General Manager der allgemeinen Embedded-Geschäftseinheit bei Mentor

 

Anbieter zum Thema

zu Matchmaker+

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu WEKA FACHMEDIEN GmbH

Weitere Artikel zu Betriebssysteme