Flexible und dynamische Systeme
Dynamische Absicherung in End-to-End-Architekturen

Wenn ein System nicht ordnungsgemäß funktioniert oder ein erforderlicher Dienst nicht rechtzeitig bereitgestellt wird, kann dies zu Personenschäden oder zum Tod von Menschen führen. Derartige Situationen, z. B. beim automatisierten Fahren und bei der Interaktion zwischen Mensch und Roboter, gelten daher als sicherheitskritisch. Aus diesem Grund müssen die beteiligten Systeme äußerst zuverlässig funktionieren. Um die Zuverlässigkeit von Systemen zu bestimmen, sind die Wissenschaftler am Fraunhofer IKS dabei, einen adaptiven, dynamischen und flexiblen Sicherheitsanalyseprozess zu entwickeln, der die Grenzen der bisherigen Methoden überwindet.

mask Architekturfotografie

Zuverlässigkeit ist die Fähigkeit, Ausfälle zu vermeiden, deren Häufigkeit und Schwere das zulässige Maß überschreiten. Neben anderen Methoden kommt für die Analyse der Zuverlässigkeit insbesondere die Fehlerbaumanalyse (Fault Tree Analysis, FTA) zum Einsatz. Der Nachteil von FTA-Prozessen ist, dass sie manuell durchgeführt werden und dementsprechend kompliziert, zeitaufwendig und kostspielig sind. Darüber hinaus basiert die Analyse auf informellen Systemmodellen, was zu Inkonsistenzen und Diskrepanzen führt und damit zu einer ungenauen Beurteilung der Systemzuverlässigkeit.

Modellbasierte Zuverlässigkeitsanalyse

Seit vielen Jahren versuchen Forscher, den Arbeitsaufwand bei der Zuverlässigkeitsanalyse dadurch zu verringern, dass sie die zuverlässigkeitsbezogenen Daten automatisch aus den Systemmodellen synthetisieren. Daraus ist der Bereich der modellbasierten Zuverlässigkeitsanalyse (Model-Based Dependability Analysis, MBDA) entstanden. Da die Systemmodelle bei der Entwicklung ständigen Änderungen und Modifikationen unterliegen, bietet die modellbasierte Zuverlässigkeitsanalyse gegenüber herkömmlichen Methoden einen entscheidenden Vorteil: sie ermöglicht eine schnelle iterative Analyse der Zwischenversionen der formalen Modelle und der gelieferten Daten. Dadurch können die Ergebnisse der Zuverlässigkeitsanalyse mit dem sich weiterentwickelnden Systemdesign und den entsprechenden Leistungsmerkmalen synchronisiert werden. Durch die Wiederverwendung von Teilen und Komponenten der vorherigen Version des Systemmodells wird der Prozess noch weiter gestrafft.

Der modellbasierten Zuverlässigkeitsanalyse fehlen jedoch noch einige wichtige Funktionen, wie die Fähigkeit zur Durchführung dynamischer Zuverlässigkeitsanalysen sowie der Ansatz zur Quantifizierung der Unsicherheit bei automatisierten Analysen. Diese Automatisierung ist während der Entwurfsphase für die Entwicklung eines fein abgestimmten Systemdesigns mit adaptiver multivariater Sicherheitsprüfung von Bedeutung. Das Ziel ist hier, mit den verfügbaren Ressourcen vor der Entwicklung des Systems das bestmögliche Verhältnis von Sicherheit und Leistung zu erreichen. Darüber hinaus ist die Dynamik und Ausgestaltung von Sicherheitsalgorithmen für fließende End-to-End-Architekturen (E2E-Architekturen) entscheidend. Da sich die Zustände der Architektur während der Laufzeit ständig ändern, sind eine Sicherheitsüberwachung und die Durchsetzung von Richtlinien auf der Basis vordefinierter KPIs erforderlich.

Paper

Conference Paper, 2021

Oleg Oleinichenko, Christian Drabek, Anna Kosmalska: Towards Comprehensive Safety Assurance in Cloud-based Systems

Publica.fraunhofer.de Pfeil nach rechts

Adaptiver Sicherheitsanalyseprozess

Am Fraunhofer IKS sind wir bestrebt, die vorstehend genannten Einschränkungen zu überwinden, indem wir die MBDA-Tools zur Sicherheitsanalyse um zusätzliche Algorithmen ergänzen, die den Prozess adaptiv, dynamisch und flexibel gestalten. In diesem Blogbeitrag stellen wir die Prozessschritte vor – eine adaptive Sicherheitsanalyse, die den Weg für eine dynamische und vollautomatische Sicherheitskontrolle zur Laufzeit ebnet.

1. Systemmodellierung

Systemmodelle enthalten in der Regel alle Elemente, die für die Durchführung umfangreicher leistungsorientierter Analysen erforderlich sind, wobei Sicherheitsingenieure die Sicherheitsanalyse größtenteils mit manuellen Methoden durchführen müssen. Die Automatisierung kann durch eine einfache Umwandlung des leistungsorientierten Modells in ein Sicherheitsmodell mit zusätzlicher Bereitstellung der für die Sicherheitsanalyse benötigten numerischen Informationen umgesetzt werden. Wenn sich die Systemarchitektur oder das Systemverhalten ändert, wird der Sicherheitsteil des Modells ebenfalls aktualisiert. Das Modell wird durch den Generator (Übersetzer) des Codes ergänzt, der für eines von mehreren verfügbaren MBDA-Tools bzw. eine von mehreren verfügbaren MDBA-Plattformen spezifisch ist. Das Modell kann dann in eine Sicherheitssimulationsumgebung überführt werden und Analysezyklen durchlaufen, ohne spezifische Syntax- und Sicherheitskonstrukte berücksichtigen zu müssen.

Darüber hinaus ist es vorteilhafter, mathematisch komplexe Berechnungen bei diesem Schritt durchzuführen und das Ergebnis unter einer aggregierten Zahl zuzuordnen, die einer der Komponenten des Sicherheitssystems zugewiesen ist. Dies minimiert die Komplexität einer eventuell erforderlichen weiteren Sicherheitsmodellierung, führt zu einem transparenten Prozess und gewährleistet, dass die erforderlichen Berechnungen nicht durch die Berechnungs- und Darstellungsfunktionen des MBDA-Tools beschränkt werden.

Obwohl die Automatisierung der Sicherheitsanalyse zu Beginn des Entwurfs zusätzlichen Aufwand erfordert, reduziert sie die Zeit, die für die iterative Entstehung des sich ständig verändernden Systemdesigns erforderlich ist. Dieser Ansatz verringert zudem die Wahrscheinlichkeit menschlicher Fehler und hilft dabei, Korrelationen zwischen Sicherheits- und Leistungsmodellen zu erkennen, was zu einem gründlicheren Verständnis und verbesserten Modellen beitragen kann.

2. Sicherheitsmodellierung

Sicherheitstools stellen eine Hauptsäule des Prozesses dar. Hier beginnt der Prozess mit der Übernahme des zuvor generierten interpretierten Codes in die Arbeitsumgebung des Tools. Nachdem die Daten aus dem Modellierungsschritt importiert wurden, soll das Tool in der Lage sein, das gesamte Systemdesign ohne zusätzlichen Aufwand zu visualisieren. Besteht keine Notwendigkeit zur Feinabstimmung oder von Korrekturen, kann das Modell direkt in die Simulationsphase überführt werden – mit anschließender automatischer Generierung des FTA-Baums und der FTA-Tabelle. Die Simulationsdaten werden vom Tool mithilfe seiner Visualisierungsfunktionen voruntersucht, dann exportiert und an den letzten Schritt der Prozesskette übergeben. Es ist erwähnenswert, dass dieser Schritt unabhängig von den vor- und nachgelagerten Schritten im Standalone-Modus verwendet werden kann, mit manueller Definition und Erstellung der Systemparameter und -komponenten unter Verwendung der toolspezifischen Syntax.

3. Datenanalyse

In diesem als »Post-Processing« bezeichneten Schritt wird eine gründliche Analyse der Daten aus der Sicherheitssimulation durchgeführt. Hierbei besteht das Hauptziel darin, die formale Überprüfung der Sicherheitskonformität des untersuchten Modells zu automatisieren. Der Anwender sollte manuellen Aufwand vermeiden, wenn eine neue Version eingeführt wird. Stattdessen müssen die Funktionen eine automatische oder halbautomatische formale Überprüfung in Bezug auf die vordefinierten Sicherheitsziele und -anforderungen durchführen. Die Ergebnisse sollten zeigen, inwieweit das System vom gewünschten Service-Level-Agreement abweicht.

Andere Funktionen, die sich auf eine hochauflösende quantitative Analyse stützen, sollten in der Lage sein, durch die Erfassung von Engpässen potenzielle Schwachstellen in der Systemarchitektur zu erkennen und Möglichkeiten vorzuschlagen, diese in späteren Versionen des Systemmodells zu beseitigen. Ein weiterer wichtiger Teil dieses Schrittes ist die Suche nach der optimalen Konfiguration. Auf der Basis von zuvor erstellten Mengengerüsten, Optimierungsalgorithmen und statistischen Methoden müssen entsprechende Funktionen eine optimale Konfiguration der Komponenten, ihre Mindestzuverlässigkeitswerte, zulässige Betriebsarten und ein optimales Nutzungsmuster der Teilsysteme liefern. All dies muss unter verschiedenen Lasten und Nichtverfügbarkeiten bei maximaler Systemleistung und gleichzeitiger Erfüllung der Mindestsicherheitsanforderungen erfolgen.

Übersicht über den automatisierten Sicherheitsanalyseprozess
Bild

Übersicht über den automatisierten Sicherheitsanalyseprozess

Verlässliche vernetzte Systeme

Das Fraunhofer IKS gestaltet komplexe Systeme so, dass sie echtzeitfähig, kontinuierlich und sicher betrieben werden können.
Verlässliche Systeme Pfeil nach rechts

Prozessübersicht

Alle wesentlichen Merkmale des gesamten Prozesses sind in dieser Abbildung dargestellt. Diese Ausführung stellt keine endgültige und erschöpfende Zusammenstellung der Fähigkeiten des vorgeschlagenen fließenden Sicherheitsansatzes dar. Das Rahmenkonzept ist flexibel genug, um je nach Projekt zusätzliche Entwurfs- und Analyseoptionen zu berücksichtigen.

Dieser Beitrag soll die allgemeine Philosophie der adaptiven und flexiblen Analyse aufzeigen, die ohne Weiteres jeden technischen Systementwicklungsprozess während seines gesamten Lebenszyklus begleiten kann. Der Prozess ist ein weiterer Schritt hin zu einer dynamischen Zuverlässigkeitsanalyse sowie einem Ansatz zur Quantifizierung der Unsicherheit. Während der Entwurfsphase ist es wichtig, sich auf ein Rahmenkonzept zu stützen, welches das leistungsorientierte Systemmodell automatisch in ein Sicherheitsmodell übersetzt. Durch die anschließende vielschichtige formale Analyse können relevante, fein abgestimmte Datenmatrizen zu Überprüfungszwecken in das ursprüngliche Modell eingebunden werden. Diese Überprüfung ermöglicht zusammen mit dem Leistungsmodell die automatische Systemanpassung und -modifizierung. Weitere Simulationen zeigen, wie sich sicherheitsrelevante Änderungen auf die Leistungsfähigkeit auswirken.

Die gemeinsame Verarbeitung der Leistungs- und Sicherheitsdaten ermöglicht es, am Ende des Entwicklungsprozesses den besten Kompromiss zwischen Sicherheit und Leistungsfähigkeit zu finden. Wenn wir diesen Prozess in die Praxis umsetzen, entwickeln und prüfen wir auch relevante in Frage kommende Algorithmen und Metriken, die zukünftig die Erstellung von fließenden E2E-Architekturen für sicherheitskritische Anwendungen erleichtern werden.


Dieses Vorhaben wurde durch das Bayerische Staatsministerium für Wirtschaft, Landesentwicklung und Energie im Rahmen des Projekts Unterstützung des thematischen Aufbaus des Instituts für Kognitive Systeme gefördert.

Nächster Artikel

Quantencomputing
Es geht ums Ganze: QuaST im Endspurt

Benedikt Poggel
Benedikt Poggel
Quantencomputing / Fraunhofer IKS
Quantencomputing