Kopplung von statischen Architekturanalysen und musterbasierten Quelltextanalysen in der Domäne der Softwaresicherheit
Typ | Bachelorarbeit oder Masterarbeit | |
---|---|---|
Aushang | ||
Betreuer | Wenden Sie sich bei Interesse oder Fragen bitte an: Frederik Reiche (E-Mail: frederik.reiche@kit.edu, Telefon: +49-721-608-45992) |
Motivation
Die Anzahl an Angriffen auf Softwaresysteme durch Sicherheitslücken, u.a. durch Zero-Day Exploits, steigt kontinuierlich. Einige Sicherheitslücken können jedoch schon während der Entwicklung und Wartung durch statische Analysen entdeckt werden.
Sicherheitsanalysen verwenden eine Sicht (Modell) auf das System um eine Sicherheitseigenschaft zu überprüfen. Durch die Verwendung einer bestimmten Sicht müssen jedoch Annahmen über Einflussfaktoren und Eigenschaften gemacht werden, die hierauf nicht analysiert werden können. Beispielsweise muss auf Architekturebene die Annahme gemacht werden, dass die Implementierung die modellierten Sicherheitsinformationen umsetzt. Falls die Implementierung jedoch nicht den Sicherheitsinformationen folgt, ist das Ergebnis der Architekturanalyse fehlerhaft bezüglich des realen Systems.
Um mit dieser Herausforderung umzugehen, können statische Architektur- und Quelltextsicherheitsanalysen gekoppelt werden. Hierbei wird die Quelltextsicherheitsanalyse auf die Implementierung angewandt, um die Eigenschaften zu überprüfen und das Ergebnis in das Modell der Architekturanalyse zu überführen. Bei Quelltext-Analysen unterscheiden wir zwischen spezifikationsbasierten Analysen, welche eine Spezifikation benötigen, und musterbasierten Analysen. Musterbasierten Analysen geben stellen in der Implementierung zurück, bei denen eine bestimmtes Muster gefunden wird, die in Sicherheitslücken resultieren können. Für die spezifikationsbasierten Analysen wurde hierbei schon ein erster Ansatz für die Kopplung entwickelt.
Aufgabenstellung
Ihre Aufgabe ist es den Zusammenhang zwischen statischen Sicherheitsanalysen auf Architektursicht und statischen musterbasieren Sicherheitsanalysen auf der Implementierungssicht zu erforschen. Hiermit sollen Sie den existierenden Kopplungsansatz so erweitern, dass auch musterbasierte Analysen verwendet werden können oder einen neuen Ansatz zu erstellen, falls diese Erweiterung nicht möglich ist.