@misc{Littig2018, type = {Master Thesis}, author = {Littig, David}, title = {Konzeption und Entwicklung eines erweiterbaren Passwortmanagers als Cross-Platform Open-Source-Software mit gemeinsamer Code-Basis}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-15830}, school = {Hochschule D{\"u}sseldorf}, pages = {110}, year = {2018}, abstract = {Die im Laufe des Jahres ver{\"o}ffentlichten Passw{\"o}rter auf der Plattform "Have I been pwnd" zeigen deutlich, dass Nutzer aufgrund von besserer Merkbarkeit schwache Passw{\"o}rter w{\"a}hlen. Dies hat zur Folge, dass die sensiblen Daten der Nutzer nur unzureichend gesch{\"u}tzt sind. Aus diesem Grund gewinnt das Themengebiet der IT-Sicherheit zunehmend an Bedeutung. Passwortmanager stellen f{\"u}r dieses Szenario eine m{\"o}gliche L{\"o}sung dar. Der im Rahmen dieser Masterthesis entwickelte Passwortmanager "Safeword" erm{\"o}glicht, sensitive Daten, die mittels ad{\"a}quaten kryptografischen Verfahren gesch{\"u}tzt werden, zentral an einer Stelle abzulegen und sukzessive unsichere Passw{\"o}rter durch starke zuf{\"a}llige Passw{\"o}rter zu ersetzen. Der Nutzer muss sich nur ein starkes Hauptkennwort merken, mit dem er sich bei dem Passwortmanager authentisiert und anschließend die gespeicherten Passw{\"o}rter abrufen kann. Der Passwortmanager bietet zahlreiche Funktionen, die die Nutzung der Anwendung erleichtern, wie die simple und moderne Oberfl{\"a}che, einen Passwort-Generator, der kryptografisch sichere Zufallspassw{\"o}rter erstellt, oder Funktionen zur besseren Handhabung von Passw{\"o}rtern, beispielsweise Label oder Notizen. Safeword basiert auf einer modularen und erweiterbaren Architektur, die auf Code-Sharing setzt. Das Code-Sharing vereinfacht die Wartung der Anwendung und erm{\"o}glicht bei Schwachstellen eine schnellere Behebung. Die Ergebnisse aus dem Vergleich existierender Passwortmanager flossen direkt in die Entwicklung von Safeword ein, sodass aus Fehlern anderer Mitbewerber gelernt werden konnte. Um den Beitrag zur Open-Source-Welt sicherzustellen, wird Safeword unter der GPLv3-Lizenz bereitgestellt, sodass auch in Zukunft viele Nutzer von dem Passwortmanager profitieren k{\"o}nnen. Voraussetzung f{\"u}r den Produktiveinsatz von Safeword ist die Entwicklung noch fehlender Funktionen und die Pr{\"u}fung des Quelltexts nach aktuellen Standards der IT-Sicherheit.}, language = {de} } @misc{Geywitz2019, type = {Master Thesis}, author = {Geywitz, Julian}, title = {"What the Hack?" - Konzeption und Implementierung eines erweiterbaren und adaptiven Serious Game zur Verbesserung von Information Security Awareness}, address = {D{\"u}sseldorf}, organization = {Hochschule D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-17720}, school = {Hochschule D{\"u}sseldorf}, pages = {79}, year = {2019}, abstract = {Diese Masterarbeit beschreibt den Entwurf und die Neuimplementierung von What the Hack, einem digitalen Serious Game zur Verbesserung von Information Security Awareness. What the Hack ist urspr{\"u}nglich in einem Studentenprojekt entstanden und soll in der Unity Game Engine neu implementiert, erweitert und verbessert werden. Nach einer Untersuchung g{\"a}ngiger Literatur auf Merkmale eines guten Serious Games wird der aktuelle Markt von Serious Games zum Thema Information Security Awareness untersucht. Es zeigt sich, dass es dem Markt an Spielen f{\"u}r eine fortgeschrittene, technische Zielgruppe mangelt. Ebenfalls ersichtlich wird, dass sich wenige Spiele spezialisieren oder anpassen lassen. Es folgt eine Bestandsaufnahme der originalen Implementierung. Mit den Ergebnissen der theoretischen Untersuchungen wird die originale Implementierung von What the Hack auf Kriterien eines guten Serious Games untersucht. Anschließend werden Anforderungen f{\"u}r die Neuimplementierung von What the Hack gestellt. Es folgt eine Beschreibung des Game Designs und der Implementierung wichtiger Eigenschaften des Spiels, wie die Unterst{\"u}tzung von Schwierigkeitsgraden und der Erweiterbarkeit. Abschließend folgt eine Analyse der Neuimplementierung. Es zeigt sich, dass das Spiel die gestellten Anforderungen erf{\"u}llt und What the Hack sich zu einer, auf eine technische Zielgruppe fokussierte, Serious Game Plattform entwickelt hat.}, language = {de} } @misc{Treiber2020, type = {Master Thesis}, author = {Treiber, Marc}, title = {Entwicklung individueller Ans{\"a}tze f{\"u}r die Anwendung von Secure Coding Richtlinien f{\"u}r Java basierend auf statischer Code-Analyse}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, organization = {Hochschule D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-21568}, school = {Hochschule D{\"u}sseldorf}, pages = {141}, year = {2020}, abstract = {Die Sicherheit von Softwareprojekten ist ein zentraler Faktor f{\"u}r ihren Erfolg, der oft nicht ausreichend gew{\"a}hrleistet wird. Aus diesem Grund werden in der vorliegenden Arbeit neue Ans{\"a}tze entwickelt, um dem Entwickler bei der Durchsetzung der Softwaresicherheit zu helfen. Daf{\"u}r wird untersucht, welche neuen Ans{\"a}tze f{\"u}r die Unterst{\"u}tzung bei der Vermeidung ausgew{\"a}hlter Fehler hilfreich sein k{\"o}nnen, sowie welche konzeptionellen Vor- und Nachteile sie aufweisen. Zun{\"a}chst wird ein {\"U}berblick {\"u}ber die n{\"o}tigen Grundlagen f{\"u}r die Entwicklung der neuen Ans{\"a}tze geschaffen. Elementar ist dabei das Secure Coding Prinzip, nach dem verschiedenste sicherheitsrelevante Implementierungsfehler bereits fr{\"u}h in dem Lebenszyklus eines Softwareprojekts, w{\"a}hrend seiner Implementierung zu vermeiden sind. Ein Mittel f{\"u}r diesen Zweck sind die sogenannten Secure Coding Richtlinien, die typische Fehler beschreiben und konkrete Vorgehensweisen f{\"u}r ihre Vermeidung und Behebung definieren, aber oft nicht eingehalten werden. Werkzeuge zur statischen Code-Analyse k{\"o}nnen hierbei Abhilfe schaffen, da sie verschiedenste Fehler automatisiert erkennen und den Entwickler {\"u}ber sie informieren. Auf der Basis dieser Grundlagen werden Verbesserungsm{\"o}glichkeiten untersucht, um den Entwickler anhand von statischer Code-Analyse besser bei der Einhaltung relevanter Secure Coding Richtlinien zu unterst{\"u}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{\"a}hrleisten zu k{\"o}nnen, werden drei Ans{\"a}tze zur Unterst{\"u}tzung bei der Anwendung von Richtlinien f{\"u}r die Programmiersprache Java n{\"a}her betrachtet. Diese Ans{\"a}tze helfen dem Entwickler komplement{\"a}r zu der Funktionalit{\"a}t herk{\"o}mmliche Werkzeuge zur statischen Code-Analyse f{\"u}r das Auffinden von Fehlern auch bei der Vermeidung und Behebung dieser Fehler. Die neuen Ans{\"a}tze basieren auf der Verwendung von textuellen Annotationen f{\"u}r die Umsetzung des Validierungsprozesses einer Eingabe, dem Einsatz einer API zur Validierung einer Eingabe und der Nutzung eines IDE-Plugins, um den n{\"o}tigen Quellcode f{\"u}r den Validierungsprozess automatisiert zu generieren. Die n{\"a}here Betrachtung und Evaluierung dieser Ans{\"a}tze zeigt, dass der annotationsbasierte Ansatz sich nicht f{\"u}r diesen Zweck eignet, w{\"a}hrend sowohl der API-basierte Ansatz, als auch der Ansatz f{\"u}r das Generieren des Quellcodes eine effektive und effiziente Erg{\"a}nzung herk{\"o}mmlicher Werkzeuge zur statischen Code-Analyse darstellen und dementsprechend in der weiteren Forschung aufgegriffen werden sollten.}, language = {de} } @misc{Leuer2019, type = {Master Thesis}, author = {Leuer, Sebastian}, title = {Sharper Crypto-API Analysis: Entwicklung eines integrierten Plugins zur statischen Code-Analyse der Nutzung von Krypto-APIs in C\#}, address = {D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-16430}, school = {Hochschule D{\"u}sseldorf}, pages = {128}, year = {2019}, abstract = {Untersuchungen haben ergeben, dass bis zu 95\% aller verf{\"u}gbaren Android Apps mindestens einen Programmierfehler bei der Verwendung von sogenannten Krypto-APIs besitzen. Bei korrekter Anwendung dieser APIs k{\"o}nnen mit ihnen sensible System- und Benutzerdaten vor Angriffen gesch{\"u}tzt werden. Bisher gibt es nur wenige verf{\"u}gbare Tool-basierte Hilfsmittel f{\"u}r Programmierer, welche die Verwendungsfehler identifzieren k{\"o}nnen. F{\"u}r die Programmiersprache Java konnten bislang nur sehr wenige dieser spezialisierten Hilfsmittel gefunden werden, darunter das statische Codeanalysetool CogniCrypt. Ein derartiges Werkzeug f{\"u}r C\# konnte nicht gefunden werden. Diese Arbeit befasst sich mit der Entwicklung eines Plugins f{\"u}r die IDE Visual Studio zur statischen Codeanalyse namens Sharper Crypto-API Analysis. Sein Hauptziel ist, Programmierern beim Verwenden der .NET Krypto-API mit der Programmiersprache C\# zu unterst{\"u}tzen. Durch Beobachtungen im Entwicklungsprozess sollen einerseits die Parallelen und Unterschiede zwischen der Java- und der C\#-Welt im Umgang mit Krypto-APIs erkennbar werden. Andererseits beschreibt diese Arbeit den erforderlichen Aufwand, um ein hoch spezialisiertes, statisches Codeanalysetool zu entwickeln. Die Beobachtungen zeigen, dass die Unterschiede der Java- und C\#-Technologien nicht oberfl{\"a}chlich, sondern haupts{\"a}chlich im Detail liegen und daher w{\"a}hrend der Implementierung des Tools besondere Aufmerksamkeit erfordern. Die Entwicklungsphase selbst zeigt sich als besonders anspruchsvoll, da mit Unsicherheitsfaktoren bez{\"u}glich der Funktions- und Verhaltensweisen von Visual Studio umgegangen werden m{\"u}ssen. Das Hauptziel von Sharper Crypto-API Analysis konnte durch die Implementation von vier Hauptfunktionsgruppen umgesetzt werden. Die wichtigste von ihnen ist das Bereitstellen von Codeanalysen, welche ausschließlich auf die Verwendung der .NET Krypto-API spezialisiert sind. Die hier entwickelten Codeanalysen betrachten besonders Fehlerquellen, die Programmierer am h{\"a}ufigsten begehen. Um den Programmierern nachhaltig Wissen bez{\"u}glich der Krypto-API zu vermitteln, f{\"u}hrt diese Arbeit erweiterte Analyseberichte ein, die zus{\"a}tzlich {\"u}ber Schwachstellen oder Angriffsszenarien informieren. Besonderheiten und Alleinstellungsmerkmale der anderen Funktionsgruppen werden in dieser Arbeit unter besonderer Ber{\"u}cksichtigung von Implementationshinweisen dokumentiert.}, subject = {Plug in}, language = {de} }