CPSec

Effektives Testen von cyber-physischen Systemen

Frau im laborkittel vor Bildschirm
Im Vorhaben CPSec werden neuartige Testmethoden des „Fuzz-Testing“ für industrielle Steuerelemente und andere eingebettete © Adobe Stock / Maksim Shmeljov

Motivation

Cyber-physische Systeme, wie zum Beispiel Steuerelemente in Kraftwerken, in Verkehrsleitsystemen oder in Fahrzeugen, vernetzen die physische mit der digitalen Welt. Diese Verflechtung der Systeme mit wichtiger Infrastruktur erfordert eine besondere Absicherung.

Sicherheitskritische Elemente in der Softwareentwicklung werden heutzutage durch automatisierte Testverfahren überprüft. Dabei hat sich das sogenannte Fuzz-Testing insbesondere für komplexe Softwareanwendungen etabliert – mögliche Programmpfade werden durch zufällige Eingaben und Entscheidungen getestet. Gegenüber alternativen Testverfahren bietet es bei steigender Komplexität der Anwendung eine bessere Effizienz. Das Verfahren bietet sich daher auch für cyber-physische Systeme an, muss jedoch an die technischen Anforderungen der Systeme angepasst werden.

Ziele und Vorgehen

Im Vorhaben „Effektives Testen von cyber-physischen Systemen (CPSec)“ wird erforscht, wie Fuzz-Testing für eingebettete cyber-physische Systeme angepasst werden kann. Eingebettete Systeme sind für die Forschenden eine Herausforderung, da diese keine standardisierten Betriebssysteme verwenden, nur über wenige Eingabemöglichkeiten und Schnittstellen verfügen und somit andere Voraussetzungen als herkömmliche Rechnersysteme zur Analyse bieten. Daher werden im Vorhaben zunächst zustandsbehaftete Techniken erforscht, die Laufzeitfehler erkennen. Dies ist die Voraussetzung für effizientes Fuzz-Testing.

Cyber-physische Systeme charakterisieren oftmals verschachtelte Programmpfade, die logisch mit externen Sensoren und Aktoren verbunden sind. Eine systematische und tiefgehende Abdeckung ist daher wichtig, um Qualität, Geschwindigkeit und Kosteneffizienz zu steigern. Dazu sollen statische und symbolische Analyseverfahren mit Fuzz-Testing kombiniert werden. Die Stärke statischer Verfahren liegt in der strukturierten Analyse von Quellcode. Symbolische Verfahren simulieren die Ausführung von Programmen und berücksichtigen dabei verschiedene Programmzustände. Abschließend wird ein Demonstrator als Blaupause zur Automatisierung von Fuzz-Testing als Teil von Entwicklungsprozessen bereitgestellt.

Innovationen und Perspektiven

Vollautomatisierte Ansätze zur Fehlererkennung sind für die industrielle Produktentwicklung von enormer Bedeutung, da nicht-automatisierte Ansätze bei einer Vielzahl von Steuerelementen und komplexen Gesamtsystemen zu langsam und fehleranfällig sind. Die angestrebten Innovationen können hier nachhaltig zur Stabilität und Sicherheit der Systeme beitragen.

Neben der industriellen Fertigung und der kritischen Infrastruktur werden Steuerelemente auch immer mehr in Alltagsgegenständen verwendet. Die Projektergebnisse tragen somit insgesamt zu mehr technologischer Souveränität in Deutschland bei.