@inproceedings{vanAerssenLeichSchmidtetal.2022, author = {van Aerssen, Max and Leich, Christian and Schmidt, Holger and Al Ali, Salar and Benni, Abdulkader and Tanz, Jakob}, title = {CopypastaVulGuard - A browser extension to prevent copy and paste spreading of vulnerable source code in forum posts}, series = {ARES '22: Proceedings of the 17th International Conference on Availability, Reliability and Security}, booktitle = {ARES '22: Proceedings of the 17th International Conference on Availability, Reliability and Security}, publisher = {Association for Computing Machinery}, address = {New York}, doi = {10.1145/3538969.3538973}, pages = {1 -- 8}, year = {2022}, abstract = {Forums such as Stack Overflow are used by many software developers to find a solution for a given coding problem. Found solutions, i.e. forum posts containing relevant source code, are utilized in a copy and paste manner. This behavior carries the risk that vulnerabilities contained in the source code of the forum posts are spread. Software developers should be able to identify vulnerable source code at an early stage, thereby preventing copying the corresponding source code. In this paper, we introduce the tool CopypastaVulGuard that identifies vulnerable source code in forum posts and allows software developers to omit the source code by marking the forum posts as dangerous. Our tool consists of a browser extension and a management application capable to address as examples SQL injections, remote code executions and deprecated functions based on a dump of the archive.org Stack Overflow data set. We present an evaluation of our tool's possible impact and relevance considering pros/cons and selected research questions.}, language = {en} } @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} } @incollection{GlowatzHaufsBrusbergSchmidt2020, author = {Glowatz, Christoph and Haufs-Brusberg, Peter and Schmidt, Holger}, title = {Unternehmensorganisation und Informationssicherheit - Einf{\"u}hrung und Grundlagen}, series = {Cybersicherheit f{\"u}r vernetzte Anwendungen in der Industrie 4.0}, booktitle = {Cybersicherheit f{\"u}r vernetzte Anwendungen in der Industrie 4.0}, editor = {Schulz, Thomas}, publisher = {Vogel Communications Group}, address = {W{\"u}rzburg}, isbn = {978-3-8343-3424-4}, pages = {315 -- 334}, year = {2020}, language = {de} } @techreport{Vogel2019, author = {Vogel, Peter}, title = {Investieren unter Nebenbedingungen - Teil 3: Erweiterung der Statistik}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, organization = {Hochschule D{\"u}sseldorf}, issn = {2567-2347}, doi = {10.20385/2567-2347/2019.3}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-20373}, pages = {59}, year = {2019}, abstract = {Der dritte Teil der Schriftenreihe entwickelt die statistische Beschreibung f{\"u}r das Investieren in Wertpapiere weiter, welche in den ersten beiden Teilen begonnen wurde. Die dort eingef{\"u}hrten Statistikgr{\"o}ßen betreffen Gewinnfaktoren bzw. Renditen und den Investitionsgrad. Die neuen Statistikgr{\"o}ßen beinhalten ein Maß f{\"u}r Chance, Risiko, Volatilit{\"a}t sowie Handelskosten. Alle Statistikgr{\"o}ßen h{\"a}ngen von mehreren Investitionsparametern ab, u. a. der Haltefrist, die angibt, wie lange eine eingegangene Investition gehalten wird. Es wird wieder eine endliche Menge von Wertpapieren gehandelt und die Investition in ein Wertpapier setzt voraus, dass eine Kaufbedingung erf{\"u}llt ist. Experimentelle Ergebnisse f{\"u}r einen Markt mit historischen Kursdaten sowie f{\"u}r einen Markt mit Random Walks belegen die St{\"a}rke der erweiterten Statistik.}, 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} } @masterthesis{Libront2019, type = {Bachelor Thesis}, author = {Libront, Norbert}, title = {Vergleich von Progressive Web Apps und nativen Android Apps}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-16395}, school = {Hochschule D{\"u}sseldorf}, pages = {96}, year = {2019}, abstract = {Die vorliegende Bachelorarbeit befasst sich mit der Fragestellung, inwiefern Progressive Web Apps zum jetzigen Zeitpunkt in der Lage sind, native Apps zu ersetzen. Dazu wurde ein Vergleich auf Basis ausgew{\"a}hlter Vergleichskategorien durchgef{\"u}hrt. Zur Eingrenzung des Umfangs beschr{\"a}nkte sich der Vergleich auf native Android Apps. Die beiden App-Typen wurden im Rahmen einer Literaturrecherche und auf Basis ausgew{\"a}hlter Vergleichskategorien untersucht und verglichen. Zudem wurde ein Prototyp einer Progressive Web App implementiert, um die Plattformunterst{\"u}tzung und Funktionalit{\"a}t zu {\"u}berpr{\"u}fen. Außerdem wurde auch ein Prototyp einer nativen Android App implementiert. Dabei wurde nur die Benutzeroberfl{\"a}che umgesetzt, um das Look and Feel vergleichbar zu machen. Die Untersuchung und der Vergleich haben gezeigt, dass Progressive Web Apps, anders als native Apps, mit Webtechnologien entwickelt und keine plattformspezifischen Programmiersprachen ben{\"o}tigt werden. Sie werden im Browser ausgef{\"u}hrt und sind dadurch Plattformunabh{\"a}ngig. Zudem wurde gezeigt, dass Progressive Web Apps {\"u}ber Funktionen und Eigenschaften verf{\"u}gen, die bisher nur nativen Apps vorbehalten waren. Dennoch k{\"o}nnen sie noch nicht auf alle Funktionen und Komponenten eines mobilen Ger{\"a}tes zugreifen. Dar{\"u}ber hinaus verf{\"u}gen sie aber auch {\"u}ber Funktionen und Eigenschaften, die native Apps nicht bieten. Des Weiteren wurde mithilfe eines Prototyps die Plattformunterst{\"u}tzung von Progressive Web Apps {\"u}berpr{\"u}ft. Die {\"U}berpr{\"u}fung zeigte, dass die Unterst{\"u}tzung durch das Betriebssystem Android weit fortgeschritten und bei iOS hingegen nur sehr eingeschr{\"a}nkt ist. Dadurch variiert der Funktionsumfang je nach Browser und Betriebssystem. Die Untersuchung und der Vergleich der Prototypen zeigten, dass Progressive Web Apps aufgrund ihrer Eigenschaften, Funktionen und die app-{\"a}hnliche Benutzeroberfl{\"a}che, ein {\"a}hnliches Look and Feel bieten k{\"o}nnen, wie native Apps. Außerdem wurde gezeigt, dass Progressive Web Apps, anders als native Apps, i. d. R. nicht {\"u}ber App Stores angeboten werden. Sie durchlaufen dadurch keinen {\"U}berpr{\"u}fungs- und Freigabeprozess und sind nicht an die Richtlinien der App Stores gebunden. Stattdessen k{\"o}nnen sie {\"u}ber eine URL und {\"u}ber Suchmaschinen aufgerufen und aufgefunden werden. Die durchgef{\"u}hrte Untersuchung und der Vergleich haben gezeigt, dass Progressive Web Apps aufgrund des eingeschr{\"a}nkten Zugriffs auf Ger{\"a}te- und Software-Funktionen sowie fehlender Browser- und Betriebssystemunterst{\"u}tzung, zum jetzigen Zeitpunkt native Apps noch nicht vollumf{\"a}nglich ersetzen k{\"o}nnen.}, 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} } @inproceedings{RyskeldievOchiaiCohenetal.2018, author = {Ryskeldiev, Bektur and Ochiai, Yoichi and Cohen, Michael and Herder, Jens}, title = {Distributed Metaverse: Creating Decentralized Blockchain-based Model for Peer-to-peer Sharing of Virtual Spaces for Mixed Reality Applications}, series = {Proceedings of the 9th Augmented Human International Conference}, booktitle = {Proceedings of the 9th Augmented Human International Conference}, publisher = {ACM}, isbn = {978-1-4503-5415-8}, doi = {10.1145/3174910.3174952}, pages = {7 -- 9}, year = {2018}, abstract = {Mixed reality telepresence is becoming an increasingly popular form of interaction in social and collaborative applications. We are interested in how created virtual spaces can be archived, mapped, shared, and reused among different applications. Therefore, we propose a decentralized blockchain-based peer-to-peer model of distribution, with virtual spaces represented as blocks. We demonstrate the integration of our system in a collaborative mixed reality application and discuss the benefits and limitations of our approach.}, language = {en} } @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} } @article{DahmThiel2009, author = {Dahm, Markus and Thiel, Christoph}, title = {Gibt es die barrierefreie Brandmauer?}, series = {i-com: Journal of Interactive Media}, volume = {3}, journal = {i-com: Journal of Interactive Media}, number = {7}, issn = {1618-162X}, doi = {10.1524/icom.2008.0029}, pages = {14 -- 18}, year = {2009}, abstract = {Es scheint so zu sein, dass sich die beiden Ziele Gebrauchstauglichkeit und Sicherheit sehr h{\"a}ufig in der Umsetzung gegenseitig ausschließen: Eine sehr sichere Anwendung ist meistens eher aufw{\"a}ndiger zu benutzen und zu warten, eine einfach zu benutzende Anwendung vernachl{\"a}ssigt h{\"a}ufig die Sicherheit. Als L{\"o}sung kann (wieder einmal) darauf hingewiesen werden, dass "gute" Software mehr ist als lediglich funktionierende Software. Im gesamten Entwicklungsprozess m{\"u}ssen vielf{\"a}ltige funktionale und nicht-funktionale Anforderungen, wie die der Sicherheit und Gebrauchstauglichkeit, ber{\"u}cksichtigt werden, um allen, auch sich zun{\"a}chst widersprechenden, Anforderungen gerecht zu werden.}, language = {de} }