Architecture-based Uncertainty Impact Analysis for Confidentiality
Creators: name: Benkler, Niko
Publisher: name: Karlsruher Institut für Technologie (KIT)
Year: 2022

description: In Zeiten vernetzter Systeme ist Vertraulichkeit ein entscheidendes Sicherheitsqualitätsmerkmal. Da die Behebung von Vertraulichkeitsverletzungen kostspieliger wird, je später sie entdeckt werden, sollten Softwarearchitekten diese bereits in der Entwurfsphase berücksichtigen. Während des Architekturentwurfsprozesses treffen Architekten Entwurfsentscheidungen um Ungewissheit zu reduzieren. Allerdings unterliegen Entscheidungen oft Annahmen und unbekannten oder ungenauen Informationen. Annahmen können sich als falsch erweisen und müssen revidiert werden. Dies verursacht erneut Ungewissheit. Ungewissheiten zur Entwurfszeit machen genaue Schlussfolgerungen über die Vertraulichkeit des Systems daher unmöglich. Es ist also notwendig, ihre Auswirkungen auf Architekturebene zu bewerten, bevor eine Aussage über die Vertraulichkeit getroffen wird. Bisher ist diese Bewertung manuell und mühsam und erfordert ein großes Maß an Wissen. Derzeitige Ansätze berücksichtigen Ungewissheiten nicht zur Entwurfszeit, sprich in Softwarearchitekturen, sondern in anderen Bereichen wie z.B. bei selbst-adaptiven Systemen. Diese Lücke wollen wir wie folgt schließen: Erstens stellen wir einen neuen Ansatz zur Kategorisierung von Ungewissheiten vor. Darauf aufbauend stellen wir eine Ungewissheitsschablone zur Verfügung, die es Architekten ermöglicht, Typen von Ungewissheiten und deren Auswirkungen auf Architekturelementtypen für eine Domäne strukturell abzuleiten. Zweitens stellen wir eine Ungewissheits-Auswirkungs-Analyse vor, die es Architekten ermöglicht zu spezifizieren, welche Elemente direkt von Ungewissheiten betroffen sind. Basierend auf strukturellen Ausbreitungsregeln leitet die Analyse automatisch weitere Elemente ab, die potenziell betroffen sein könnten. Es wird die strukturelle Qualität, Anwendbarkeit und Zweck der Schablone evaluiert. Wir erläutern, dass die Kategorien Prinzipien wie Orthogonalität, Vollständigkeit und Unterscheidbarkeit erfüllen. Außerdem zeigen wir, dass sie dabei hilft Ungewissheitstypen und deren Auswirkungen abzuleiten, sowie Wiederverwendbarkeit und Bewusstsein schafft. Schließlich veranschaulichen wir die Relevanz der Schablone, indem wir zeigen, dass sie im Vergleich zu bestehenden Taxonomien Ungewissheiten in Softwarearchitekturen genauer klassifizieren und somit präzisere Aussagen über deren Auswirkungen machen kann. Die Analyse wird im Hinblick auf Benutzerfreundlichkeit, Funktionalität und Genauigkeit bewertet. Wir demonstrieren, dass die Analyse die Benutzerfreundlichkeit erhöht, indem sie die erforderliche Menge an Fachwissen beim Umgang mit Ungewissheiten im Vergleich zu einer manuellen Analyse reduziert. Anhand der Kontaktnachverfolgungs-Applikation Corona-Warn-App zeigen wir, dass die Analyse die Anzahl der zu untersuchenden Elemente im Vergleich zu einer manuellen Analyse um 85% reduziert. Darüber hinaus veranschaulichen wir, wie sie Architekten ermöglicht, Ungewissheiten während der Entwurfszeit explizit zu verwalten. Anhand der Fallstudie zeigen wir, dass die Analyse eine 100%ige Ausbeute bei einer Präzision von 44%-91% hat.