Explorative Umsetzung einer iterativen Analysekopplung im Kontext von Software Security

Aus SDQ-Wiki
Ausschreibung (Liste aller Ausschreibungen)
KASTEL-Logo 1000.png Typ Masterarbeit
Aushang Aushang IterativeKopplung.pdf
Betreuer Wenden Sie sich bei Interesse oder Fragen bitte an:

Frederik Reiche (E-Mail: frederik.reiche@kit.edu, Telefon: +49-721-608-45992)

Motivation

Statische Sicherheitsanalysen für die Architektursicht werden verwendet um Sicherheitsaussagen früh im Entwicklungsprozess und/oder über Eigenschaften zu machen, für die Informationen im Source Code fehlen. Beispielsweise kann eine Sicherheitsanalyse auf der Architektursicht die Struktur des Systems sowie die Verteilung der Komponent verwenden um Aussagen zu machen, ob ein Angreifer auf eine Schnittestelle mit Sensiblen Daten zugreifen kann [1]. Für eine Analyse wird auf Architekturebene die benötigten Sicherheitinformationen annotiert. Allerdings können die Sicherheitsinformationen vom Verhalten des Systems (der Implementierung), wie z.B., dem Informationfluss, beeinflusst werden. Dieses Verhalten wird in der Architektur nur stark abstrahiert oder garnicht dargestellt. Außerdem ist auch fraglich ob das abstrakte Verhalten von den Entwicklern mit den gewünschten Sicherehtiseigenschaften umgesetzt wird. Wenn die Sicherheitsinformationen in der Architekturebene nicht mit dem Verhalten übereinstimmen, sind die Ergebnisse der Architekturanalyse unaussagekräftig.

Um zu vermeiden, dass eine Architekturanalyse auf falschen Sicherheitsinformationen beruht sollte die Implementierung diesbezüglich analysiert werden und bei Fehlern das realisierte Verhalten in die Architekturanalyse integriert werden. Die Verknüpfung von zwei Analysien wird kopplung genannt. Bei spezifikationsbasierten Source Code Analysen können Spezifikationen in die Implementierung generiert werden um die angenommen Sicherheitsinformationen der Architekturanalyse zu repräsentieren und zu analysieren.

In einer Arbeit [2], wird die Access Analysis von Kramer et al. [1] und die Informationfluss Analyse JOANA [2] integriert. Hierbei wurde jedoch ein Ansatz verwendet bei dem die Analyse nur einmal ausgeführt werden musste. Dieser Ansatz resultierte in einer starken Überapproximation der Ergebnisse. Ein alternativer Ansatz wäre es, die SIcherheitsinformation iterativ zu übertragen und zu analysieren.

[1] https://publikationen.bibliothek.kit.edu/1000076957

[2] https://publikationen.bibliothek.kit.edu/1000142571

[3] https://pp.ipd.kit.edu/projects/joana/

Aufgabenstellung

Ihre Aufgabe in dieser Arbeit ist es zu erforschen, wie die Kopplung der Access Analysis und JOANA mit einem iterativen Ansatz realisiert werden kann. Hierfür sind eventuelle Leitfragen, welche Mechanismen nötig sind um einen iterativen Ansatz zu realisieren oder wie sich der iterative Ansatz auf die Übetragung der Sicherheitsinformationen auswirkt.