Agile modellgetriebene Entwicklung von Software Security & Privacy
Autoren
Mehr zum Buch
Software Systeme durchdringen jeden Bereich unseres Lebens. Dadurch wachsen die Anforderungen an die korrekte Funktionsweise dieser Systeme. Gleichzeitig werden täglich im Durchschnitt 16 neue Vulnerabilities in Softwareprodukten veröffentlicht und Nutzer sorgen sich um ihre Privatsphäre. Diese Security- und Privacy-Aspekte müssen in der Entwicklung von Software Systemen adressiert werden. Daher werden in dieser Arbeit die drei Aspekte Security-Architektur, die korrekte Verarbeitung von Eingabedaten bei der Erstellung von Ausgabedaten und die Privacy von Nutzern im Kontext der Softwareentwicklung untersucht. Dabei werden Modelle und der agile modellgetriebene Softwareentwicklungsansatz eingesetzt, um Security- und Privacy-Aspekte explizit zu modellieren, analysieren und in ausführbare Systeme zu übersetzen. Durch die automatische Security-Architektur Analyse von MontiSecArc können Vulnerabilities durch Entwickler identifiziert und behoben werden, die als Flaw Correction Pattern von Security Experten formalisiert wurden. Außerdem erlauben es Flaw Correction Pattern bekannte Arten von Vulnerabilities präzise zu beschreiben, sodass diese benannt, unterschieden und gesammelt werden können. Injection Vulnerabilities wie Cross-Site-Scripting (XSS) entstehen durch fehlendes oder falsches Encoding von Ausgabedaten in unterschiedlichen Kontexten der Ausgabesprache. Mit MontiCoder wird ein Ansatz vorgestellt, der Unparser und Parser generiert, die kontextspezifisches Encoding und Decoding automatisch durchführen und so Injections für beliebige Sprachen verhindert. Mit der Privacy Development Language (PDL) wird ein Ansatz vorgestellt, mit dem Entwickler mehr Transparenz und Entscheidungshoheit über die Verwendung von Daten an den Nutzer eines Cloud Services geben