Auto-SAFE

Entwicklung eines modularen Verifikationswerkzeugs zur Integration automatisierter Sicherheitsanalysen in den Entwurfsprozess softwareintensiver Systeme

Projektzeitraum

 

Februar 2021 - April 2022

 

Projektpartner

 

Förderung

 

Förderkennzeichen: 2104/00020

 

MW/ IB Sachsen-Anhalt, Europäische Union (EFRE)

 

Ziel des Vorhabens

 

Kluge Software, ausgefeilte Algorithmik und künstliche Intelligenz erlauben eine Vielzahl von neuen Anwendungspotentialen - oftmals auch speziell für (sicherheits)kritische Anwendungen. So kann beispielsweise die Energie im Netz effizienter verteilt, moderne Fahrzeuge können sicherer gestaltet und ggf. Kollisionen autonom vermieden werden. Grundlage ist dabei immer eine zunehmend komplexer werdende Kontrollsoftware.

 

Speziell für sicherheitskritische Systeme, wobei in diesem Zusammenhang die Vermeidung von Schaden an Mensch und Umwelt im Fokus steht, stellt die notwendige Sicherheitsanalyse eine immer größere Herausforderung dar. Um dies gewährleisten zu können, muss der Systementwickler das System holistisch in seiner gesamten Komplexität betrachten. Das betrifft nicht nur die eigentlichen Softwarekomponenten, sondern im Besonderen auch das zu steuernde System sowie auch die Systemumgebung und deren Verhalten. Dies wird für die genannten software-intensiven, sicherheitskritischen Systeme zunehmend schwieriger oder sogar unmöglich. Das liegt unter anderem daran, dass Software- und Systembeschreibungen auf unterschiedlichen mit unterschiedlichen Ausführungssemantiken entworfen werden. Daher werden sie aktuell nur auf einer hohen Abstraktionsebene integriert analysiert. Bei der weiteren Entwicklung können dann jedoch Abweichungen entstehen, welche zuvor verifizierte Sicherheitsziele wieder verletzen.

 

 

 

In der Wissenschaft gibt es bereits Techniken und Ansätze, die Kombination aus Software und(!) Systemverhalten hinsichtlich sicherheitsrelevanter Eigenschaften auch im weiteren Verlauf des Entwurfs zu verifizieren. Diese sind aber nur bedingt praktisch anwendbar. Hintergrund ist, dass in der Praxis verwendete Modellierungsformalismen und -sprachen nicht mit den meist akademischen Verifikationswerkzeugen kombinierbar sind. Dafür müsste ein Algorithmus definiert und umgesetzt werden, der mit den in der Praxis verwendeten Modellierungsformalismen kompatibel ist.

 

In diesem Projekt wollen die Partner gemeinsam genau solch einen Prototypen schaffen. Dazu wählen wir ein bis zwei in der Praxis weit verbreitete Modellierungssprachen aus und Transferieren bekannte Algorithmen aus dem Bereich der formalen Verifikation so, dass sie auf diese, in der Praxis verwendeten, Modellierungssprachen auch anwendbar sind. Im Ergebnis existiert ein prototypisches System, das in der Lage ist software-intensive Systeme – wie sie oben beschrieben sind - automatisch zu analysieren und damit die zentralen Argumente für einen Sicherheitsnachweise zu liefern bzw. entsprechende Schwachstellen im Systemdesign aufzudecken. Dadurch kann die Entwicklungszeit solcher Systeme drastisch verkürzt und ihre funktionale Sicherheit gesteigert werden.