Human Factors in Secure Software Development

While security research has made significant progress in the development of theoretically secure methods, software and algorithms, software still comes with many possible exploits, many of those using the human factor. The human factor is often called ``the weakest link'' in software secur...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Acar, Yasemin
Beteiligte: Freisleben, Bernd (Prof. Dr.) (BetreuerIn (Doktorarbeit))
Format: Dissertation
Sprache:Englisch
Veröffentlicht: Philipps-Universität Marburg 2021
Schlagworte:
Online-Zugang:PDF-Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

Obwohl in der IT-Sicherheitsforschung signifikante Fortschritte in der Erforschung und Entwicklung theoretisch sicherer Methoden, Software und Algorithmen gemacht wurden, ist Software in der Praxis oft von Sicherheitsschwachstellen betroffen. Darunter ist der Faktor Mensch ein häufiger Angriffspunkt, der oftmals auch als schwächstes Glied in der Softwaresicherheit bezeichnet wird. Um diese Problematik anzugehen, beschäftigt sich die Forschung im Bereich Faktor Mensch in der Sicherheits- und Privatsphäreforschung mit Nutzer:innen von Technologien, sowie mit ihren Ansprüchen an IT-Sicherheit. Die Forschung erörtert, auf welche Weise Technologien Nutzer:innen unterstützen können, während Risiken minimiert werden und Nutzer:innen die Kontrolle über ihre Daten behalten. Die in der Forschung entwickelten Sicherheitslösungen sollen von Entwickler:innen umgesetzt werden, deren sicherheitskritische Programmierfehler sich auf alle Nutzer:innen der entwickelten Software übertragen. Beispielsweise setzt Software, in welcher Daten unsicher gespeichert, Netzwerkverbindungen unsicher aufgebaut oder andere Standards der sicheren Softwareentwicklung nicht eingehalten werden, alle ihre Nutzer:innen Sicherheitsrisiken aus. Daher ist es von entscheidender Wichtigkeit, dass Entwickler:innen Softwaresicherheit korrekt implementieren. Die Sicherheit steht bei Entwickler:innen jedoch selten im primären Fokus. Außerdem fehlen ihnen häufig Bewusstsein, Wissen, Ausbildung und Erfahrung im Bereich der sicheren Softwareentwicklung. Mangelnde Benutzbarkeit von Softwarebibliotheken, -dokumentationen und unterstützenden Tools, die für sicherheitskritische Entwicklung genutzt werden, kann das Problem verschlimmern, da sie die für sichere Softwareentwicklung notwendige Zeit und Arbeit vervielfachen. Diese Dissertation befasst sich mit der Frage, wie Entwickler:innen im Prozess der sicheren Softwareentwicklung unterstützt werden können. Ziel dieser Forschung ist es, zu verstehen, wie Entwickler:innen Ressourcen nutzen, um (sicher) zu entwickeln, und wie ihre Haltungen und Denkweisen sowie ihr Hintergrund und ihre Erfahrungen die Softwaresicherheit beeinflussen. Um diese Forschung durchzuführen, wurden qualitative, quantitative und gemischte Methoden online und im Labor angewandt sowie große Datensätze untersucht. Ergebnis dieser Forschung ist, dass die Informationsquellen, die Entwickler:innen während des Programmierens benutzen, zu Sicherheit und Schwachstellen im Programmcode beitragen können. Verglichen mit der Nutzung offizieller Dokumentation, begünstigt das Kopieren und Einfügen von Codefragmenten aus Internetforen zwar die schnellere Programmierung funktionierenden Codes, führt jedoch häufig zu Schwachstellen. Ebenso zeigen wir, dass schlechte Benutzbarkeit, unsichere, möglicherweise veraltete Standardwerte sowie wenig hilfreiche Dokumentationen kryptographischer Bibliotheken zu unsicherem Programmcode beitragen. Erfreulicherweise unterstützen gut durchdachte Dokumentationen und Abstraktionslevel die Benutzbarkeit von Softwarebibliotheken, und somit auch ihre sichere Benutzung. Außerdem zeigen wir, dass Studien, die Informatikstudent:innen anstelle von Entwickler:innen als Proband:innen nutzen, aussagekräftige Forschungsergebnisse über das Verhalten von Entwickler:innen im Prozess der sicheren Softwareentwicklung liefern können. Weiterhin zeigten unsere Untersuchungen, dass es online eine breite Fächerung an Ratschlägen für die sichere Softwareentwicklung zu finden gibt, dass diese Informationsquellen jedoch häufig unvollständig sind und als effektive Hilfestellung für die sichere Softwareentwicklung ungeeignet sein können. Dieses kann Entwicker:innen dazu verleiten, inoffizielle, nicht überprüfte und daher potentiell unsichere Informationsquellen zur Unterstützung heranzuziehen. Diese Dissertation belegt, dass (a) sichere Softwareentwicklung den Herausforderungen des Faktors Mensch unterliegt und dass (b) Softwaresicherheit verbessert werden kann, indem diese Herausforderungen adressiert und Entwickler:innen unterstützt werden. Die Forschungsarbeit, die in dieser Dissertation vorgestellt wird, war maßgeblich daran beteiligt, den Forschungsbereich Faktor Mensch in der Softwaresicherheit in der Sicherheits- und Privatsphäreforschung zu etablieren und hat den wissenschaftlichen Diskurs über den rigorosen Einsatz empirischer Methoden in der Sicherheits- und Privatsphäreforschung vorangetrieben. In diesen Forschungsprojekten wurde wiederholt festgestellt, dass Benutzbarkeitsprobleme von Sicherheits- und Privatsphäremechanismen sowie von Entwicklungsprozessen und -verhaltensweisen zum Großteil der Sicherheits- und Privatsphäreprobleme führen, die Millionen von Nutzer:innen betreffen.