Master's Thesis
Refine
Year of publication
Document Type
- Master's Thesis (68) (remove)
Keywords
- Master (47)
- Masterthesis (10)
- SoSe21 (9)
- SoSe22 (7)
- Empowerment (5)
- SoSe20 (5)
- FHD (4)
- WiSe20/21 (4)
- Empowerment Studies (3)
- SoSe17 (3)
Die Sicherheit von Softwareprojekten ist ein zentraler Faktor für ihren Erfolg, der oft nicht ausreichend gewährleistet wird. Aus diesem Grund werden in der vorliegenden Arbeit neue Ansätze entwickelt, um dem Entwickler bei der Durchsetzung der Softwaresicherheit zu helfen. Dafür wird untersucht, welche neuen Ansätze für die Unterstützung bei der Vermeidung ausgewählter Fehler hilfreich sein können, sowie welche konzeptionellen Vor- und Nachteile sie aufweisen.
Zunächst wird ein Überblick über die nötigen Grundlagen für die Entwicklung der neuen Ansätze geschaffen. Elementar ist dabei das Secure Coding Prinzip, nach dem verschiedenste sicherheitsrelevante Implementierungsfehler bereits früh in dem Lebenszyklus eines Softwareprojekts, während seiner Implementierung zu vermeiden sind. Ein Mittel für diesen Zweck sind die sogenannten Secure Coding Richtlinien, die typische Fehler beschreiben und konkrete Vorgehensweisen für ihre Vermeidung und Behebung definieren, aber oft nicht eingehalten werden. Werkzeuge zur statischen Code-Analyse können hierbei Abhilfe schaffen, da sie verschiedenste Fehler automatisiert erkennen und den Entwickler über sie informieren.
Auf der Basis dieser Grundlagen werden Verbesserungsmöglichkeiten untersucht, um den Entwickler anhand von statischer Code-Analyse besser bei der Einhaltung relevanter Secure Coding Richtlinien zu unterstützen. Der Fokus dieser Arbeit liegt dabei auf der Vermeidung von Fehlern bei der Validierung von Eingaben, da diese Fehlerform besonders weit verbreitet und schwerwiegend ist.
Um eine entsprechende Hilfestellung gewährleisten zu können, werden drei Ansätze zur Unterstützung bei der Anwendung von Richtlinien für die Programmiersprache Java näher betrachtet. Diese Ansätze helfen dem Entwickler komplementär zu der Funktionalität herkömmliche Werkzeuge zur statischen Code-Analyse für das Auffinden von Fehlern auch bei der Vermeidung und Behebung dieser Fehler. Die neuen Ansätze basieren auf der Verwendung von textuellen Annotationen für die Umsetzung des Validierungsprozesses einer Eingabe, dem Einsatz einer API zur Validierung einer Eingabe und der Nutzung eines IDE-Plugins, um den nötigen Quellcode für den Validierungsprozess automatisiert zu generieren. Die nähere Betrachtung und Evaluierung dieser Ansätze zeigt, dass der annotationsbasierte Ansatz sich nicht für diesen Zweck eignet, während sowohl der API-basierte Ansatz, als auch der Ansatz für das Generieren des Quellcodes eine effektive und effiziente Ergänzung herkömmlicher Werkzeuge zur statischen Code-Analyse darstellen und dementsprechend in der weiteren Forschung aufgegriffen werden sollten.
Hintergrund: Durch die Digitalisierung hat sich die Art des Publizierens verändert. Es ergeben sich neue Publikationswege und -formen. Eine Reflexion der traditionellen Ansichten über Publikationen und die Sicherung der Qualität ist erforderlich. Damit ergibt sich die Intension der Arbeit: Gegenwärtige Qualitätskriterien zu erfassen, zu analysieren und neuartige Möglichkeiten aufzuzeigen.
Methoden: Die theoretische Basis für den Stand der Forschung erfolgt durch eine repräsentative Literaturrecherche. Die Extraktion der Qualitätskriterien basiert auf einer selektiven Quellenauswahl. Ergänzend werden sechs Expert:innen anhand eines halbstrukturiertem Interviewleitfadens befragt. Die extrahierten Erkenntnisse aus der Analyse fließen in einen Wissensgraph und liefern Ansätze für eine Qualitätssicherung. Die Modellierung einer Anwendung wird auf Basis des Standards BPMN 2.0 umgesetzt.
Ergebnisse: Es wird ein Qualitätskriterien-Index erstellt, der zur Ausweisung von Qualitätsmerkmalen für Publikationen führt. Diese bilden die Wissensbasis für eine Web-Anwendung. Der darin enthaltene prototypische Workflow leitet die:den Autor:in durch Kriterien. Als Ergebnis werden die Publikationen mit Qualitätsmerkmalen angereichert. Diese Arbeit liefert das theoretische Konzept für die Anwendung. Es beinhaltet ein Mockup und eine erste prototypische Umsetzung. Dies bietet die Basis für eine bedarfsorientierte, reale Entwicklung.
Schlussfolgerungen: Eine reale, technische Umsetzung ist mit entsprechenden Ressourcen realisierbar. Vorab wird empfohlen, die ermittelten Qualitätskriterien mit einer
Nutzer:innengruppe zu reflektieren bspw. in Form einer qualitativen Erhebung. Diese liefert Hypothesen und fördert die Akzeptanz für die Ausweisung von Qualität. Das Ergebnis behandelt keine fachdisziplin-spezifischen Aspekte. Erfolgt dies, wird es zu einer Erweiterung der Anwendung führen. Ebenfalls sollte die Usability der Anwendung getestet werden, bevor die reale Umsetzung erfolgt. Das erstellte Konzept, ein Mockup und der Prototyp liefern die Ausgangslage für die Entwicklung.