Suchen

Coverity „Schwachstellen bereits frühzeitig ausmerzen“

| Redakteur: Kathrin Schäfer

Helmut Philipp, Regional Director of Central & Eastern Europe bei Coverity, erklärt im Gespräch mit Devicemed, wie sich Softwarefehler bei Medizinprodukten mit einer Testplattform ausmerzen lassen. Dies erhöht die Sicherheit für Anwender und spart Herstellern Zeit und Kosten.

Firmen zum Thema

Helmut Philipp von Coverity: „Mit den sich stetig verändernden IT-Landschaften wandeln sich permanent auch die Anforderungen an die eingesetzte Software.“
Helmut Philipp von Coverity: „Mit den sich stetig verändernden IT-Landschaften wandeln sich permanent auch die Anforderungen an die eingesetzte Software.“
(Bild: Coverity)

Herr Philipp, wofür braucht es Software-Testverfahren, wie Coverity sie anbietet?

Die in die medizinische Geräte eingebettete Software darf das Wohl der Patienten nicht gefährden. Hersteller müssen deshalb die Steuerungssoftware auf Konsistenz, Vollständigkeit und Fehlerfreiheit prüfen. Dabei muss nicht nur der vom Anbieter selbstentwickelte Programmcode, sondern auch der von Externen überprüft werden. Hier kommen wir ins Spiel.

Mehr und mehr Medizinprodukte werden durch Software gesteuert …

… und sind damit leider auch anfällig für Softwaredefekte. Ein bekannter „White-Hat-Hacker“ – also eine Person, die Anwendungsschwachstellen aufdeckt, um auf sie aufmerksam zu machen – hat auf dem Branchenevent Black-Hat kürzlich eine Präsentation über Sicherheitsrisiken bei implantierbaren Kardioverter-Defibrillatoren gehalten. Ihre Steuerungssoftware findet auch in der bildgestützten Chirurgie Verwendung. Es benötigt nicht viel Fantasie, um sich auszumalen, was Defekte hier auslösen können: Friert beispielsweise das Bild auf dem Monitor ein, verliert der Chirurg den Überblick, wo im Körper des Patienten sich das von ihm benutzte Instrument gerade befindet.

Weitere medizinische Geräte, die softwaregesteuert funktionieren, sind beispielsweise Ultraschall-, Kernspintomographie- und Computertomographieapparate und Dialysemaschinen, aber eben auch Blutdruckmessgeräte und Thermometer oder Infusionspumpen, die für das Zuführen von Flüssigkeiten, Medikamenten oder Nahrung eingesetzt werden.

Was genau leistet ein Software-Testverfahren?

Die Coverity-Development-Testing-Plattform erlaubt Herstellern von medizinischen Geräten, ihre Software noch während der Entwicklung zu überprüfen, um so Schwachstellen frühzeitig auszumerzen und Qualität und Sicherheit zu steigern. Die Plattform beinhaltet sowohl Techniken der statischen als auch der dynamischen Analyse. Beide sind von der FDA empfohlene Verfahren.

Teil der Plattform ist außerdem der Coverity Test Advisor: Dieses Modul steuert die Abwicklung automatischer Unit-, Regressions- und Integrationstests und stellt dadurch sicher, dass von der statischen Analyse unentdeckte Fehler gefunden werden. Weiterer Bestandteil der Development-Testing-Plattform ist der Coverity Policy Manager. Dabei handelt es sich um ein Tool, mit dem Unternehmen ihre individuellen Anforderungen zur Codequalität und Sicherheit umsetzen können.

Der Policy Manager ermöglicht es den Verantwortlichen, die Entwicklung des Qualitäts- und Sicherheitsniveaus über einen bestimmten Zeitraum nachzuvollziehen. Die Unterteilung des Entwicklungsprozesses in bestimmte Stufen verhindert, dass der Programmcode die nächste Stufe erreicht, ohne dass er bestimmte Qualitäts- und Sicherheitsanforderungen erfüllt.

Welche Softwaredefekte treten in der Medizintechnik am häufigsten auf?

Zu den häufigsten Defekten bei der Entwicklung von Software für medizinische Geräte zählt Coverity Speicherüberläufe, Speicherlecks, kritische Wettläufe und Null Pointer Exceptions. Durch das frühzeitige Beheben dieser Fehler noch während der Entwicklung verhindert Coverity, dass es zu Softwareabstürzen oder Fehlfunktionen kommt. Auch viele Performance-Schwierigkeiten und Sicherheitsrisiken treten dadurch gar nicht erst auf.

Bedeutet dies gleichzeitig auch mehr Aufwand in Bezug auf Entwicklungszeit und -kosten?

Im Gegenteil. Coverity hat vielen Herstellern medizinischer Geräte geholfen, Entwicklungszeit einzusparen – und die Zeit bis zur Marktreife zu verkürzen. Gleichzeitig sind Qualität und Sicherheit der programmierten Software verbessert worden.

In Zahlen ausgedrückt heißt das: Der Einsatz der Coverity-Lösungen steigert die Entwicklungseffizienz um 25 Prozent. Dazu trägt nicht zuletzt auch der Coverity Test Advisor bei. Mit Hilfe dieser Technologie lassen sich automatisierte Tests priorisieren, so dass Entwickler sich auf die besonders kritischen Codeabschnitte konzentrieren können.

Gesetzt den Fall, ein Unternehmen möchte im Nachhinein prüfen, ob die Gerätesoftware die notwendigen Anforderungen erfüllt – ginge das?

Kurz gesagt: Ja. Allerdings ist ein Softwareprodukt aus unserer Sicht nie wirklich fertig. Mit den sich stetig verändernden IT-Landschaften wandeln sich permanent auch die Anforderungen an die eingesetzte Software. Die Implementierung von Coverity Development Testing stellt über den gesamten Entwicklungsprozess sicher, dass die bestehenden Anforderungen an Softwarequalität und -sicherheit auch bei Codeänderungen erfüllt werden.

Die Fragen stellte Kathrin Schäfer.

Kontakt:

Helmut Philipp, Regional Director

Central & Eastern Europe Coverity Inc.

D-85737 Ismaning

www.coverity.com/de

(ID:42344817)