Konsistenzhaltung von Eingabemodellen für Architektur- und Code-basierte, statische Sicherheitsanalysen
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
Statische Sicherheitsanalysen verwenden zur Analyse von Sicherheitseigenschaften verschiedene Modelle, welche jeweils eine bestimmte Sicht auf das Softwaresystem darstellen, beispielsweise in Form einer Architekturbeschreibung oder Quelltext. Diese Modelle werden für die Analyse um Sicherheitsinformationen erweitert. Die Verwendung einer bestimmten Sicht macht es jedoch nötig Annahmen über Sicherheitsaspekte zu treffen, die nicht in dieser, aber einer anderen Sicht analysiert werden können. Ein Architekturmodell (wie das Palladio Component Model (PCM)) kann beispielsweise Verhalten nicht oder nur sehr eingeschränkt darstellen, sodass eine Sicherheitsanalyse auf einem Architekturmodell Annahmen darüber machen muss, dass die Implementierung (beispielsweise in Java) keine vertraulichen Informationen an die System-Schnittstellen leitet. Dies lässt sich über eine Informationsflussanalyse des Quellcodes, beispielsweise mittels der Java Object-Sensitive Analysis (JOANA), validieren. Das Ergebnis dieser Quellcodeanalyse validiert die Annahmen im Architekturmodell und kann in das Eingabemodell für die Architekturanalyse integriert werden. Für diese Art von Analysen-Kopplung wird zurzeit ein Ansatz am Lehrstuhl von Prof. Reussner erforscht.
Diese Kopplung von Analysen setzt voraus, dass das Architekturmodell und der Quellcode eine widerspruchsfreie, d.h. konsistente Darstellung des Softwaresystems enthalten. Um diese Art von Konsistenz automatisiert sicherzustellen gibt es bereits erforschte Verfahren. Auch das Erfüllen der Annahmen für die Analyse im Architekturmodell durch den Quellcode kann als ein Konsistenzproblem verstanden werden. Es ist jedoch noch unklar, ob und wie eine Analysen-Kopplung mit automatischen Konsistenzhaltungsmechanismen umgesetzt werden kann.
Aufgabenstellung
Ihre Aufgabe in dieser Arbeit ist es zu erforschen, inwieweit automatische Konsistenzhaltungsmechanismen verwendet werden können, um die Kopplung von Sicherheitsanalysen zu unterstützen. Hierbei soll primär an einem konkreten Fall untersucht werden, wie die Eingaben von Analysen konsistent gehalten werden können. Hierfür soll untersucht werden, wie die bestehende Konsistenzhaltung von PCM-Modellen und Java-Code wiederverwendet und durch (potenziell nicht inkrementelle) Konsistenzhaltung der Sicherheitsspezifikationen erweitert werden kann.