open_access
Refine
Year of publication
Document Type
- Announcement (76)
- Article (21)
- Workingpaper / Report (17)
- Bachelor Thesis (9)
- Part of a Book (9)
- Conference Proceeding (7)
- Master's Thesis (5)
- Diploma Thesis (4)
- Collection (1)
- Moving Images (1)
- Other (1)
- Researchdata (1)
Has Fulltext
- yes (152) (remove)
Keywords
- Amtliche Mitteilungen (76)
- M (57)
- Medien (52)
- Prüfungsordnung (52)
- Prüfungsrecht (51)
- Bachelor (47)
- FHD (41)
- PO2010 (26)
- Medieninformatik (21)
- Änderung (18)
Department/institution
- Fachbereich - Medien (152) (remove)
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.
Gemäß § 37a des Gesetzes über die Hochschulen des Landes Nordrhein-Westfalen (Hochschulgesetz - HG) in der Fassung des Gesetzes zur Änderung des Hochschulgesetzes vom 12. Juli 2019, hat das Präsidium im Einvernehmen mit der jeweiligen Dekanin bzw. dem jeweiligen Dekan die folgenden Gleichstellungsquoten (Gender-Diversity-Faktor; § 3 Berufungsordnung vom 04.10.2016) für die Dauer von drei Jahren ab dem 01. Januar 2019 festgesetzt...
Der vierte Teil der Schriftenreihe "Trading" präsentiert eine statistische Auswertung von Kursdaten bei einer Haltefrist von einem Handelstag. Die Statistik beinhaltet Gewinnfaktor bzw. Rendite und Investitionsgrad aus Teil 1 sowie Volatilität, Chance, Risiko und Handelskosten, welche in Teil 3 eingeführt wurden. Kaufbedingungen werden wie in Teil 1 mit Hilfe des Kursverhältnisses an zwei aufeinander folgenden Handelstagen gebildet. Die Auswertung für den Markt FEBRDUSA_1 historischer Kursdaten liefert eine in sich schlüssige Beschreibung des Einflussfaktors Kaufbedingung auf die künftige Kursentwicklung. Den größten Gewinn liefert eine Mean Reversion-Strategie, bei der die Chance deutlich über dem Risiko liegt. Da die Statistik die Begrenzung eingegangener Neuinvestitionen berücksichtigt, werden Übertreibungen vermieden, die einer arithmetischen Mittelwertbildung anhaften. Die statische Auswertung für einen mit Random Walks gebildeten Markt bestätigt, dass für diesen Fall keine Abhängigkeit von der Kaufbedingung besteht.
Verschiedene Studien haben ergeben, dass zunehmend mehr Kinder und Jugendliche unter psychischen Erkrankungen wie Depressionen, Angststörungen und ADHS leiden. Die meisten Betroffenen erhalten jedoch keine Therapie oder werden als behandlungsbedürftig eingestuft. Therapieerfolge erfordern zudem das regelmäßige Durchführen von therapeutischen Übungen während und nach Therapiesitzungen. Die Motivation der Patienten zur kontinuierlichen Mitarbeit stellt jedoch eine zentrale Herausforderung dar, da die Übungen als mühevoll empfunden werden und Therapieerfolge nicht sofort eintreten oder erkennbar sind. Eine digitale, spielerische Trainingsanwendung bietet hier das Potenzial, die Therapie von Kindern und Jugendlichen zu unterstützen wie auch neue Behandlungswege zu eröffnen. Eine solche Anwendung kann die Patienten motivieren, therapiebegleitende Übungen selbstständig und regelmäßig durchzuführen, ihnen Feedback über ihre Leistung geben und sich autonom auf verschiedene Nutzergruppen einstellen. In dieser Arbeit wird untersucht, wie die psychotherapeutische Behandlung von Kindern und Jugendlichen durch digitale Spiele unterstützt werden kann. Hierzu wurden Grundlagen bezüglich Serious Games und Neurogames, BCIs und EEGs wie auch unterschiedlicher therapiebegleitender Maßnahmen untersucht. Des Weiteren wurde der aktuelle Forschungsstand ermittelt und ein Interview mit Psychotherapeuten des LVR-Klinikums Essen zur Eingrenzung der Fragestellung durchgeführt. Auf Basis der erlangten Erkenntnisse wurde ein Serious Game als motivationales Konzentrations- und Aufmerksamkeitstraining für Kinder mit einer Konzentrations- und Aufmerksamkeitsschwäche konzipiert und ein entsprechender Prototyp implementiert. Hierbei handelt es sich um ein Multiplayer-Spiel, welches das Konzentrations-Level der Nutzer über ein MUSE-EEG in das Spiel einbezieht. Zur Evaluierung des entwickelten Prototypen wurden Nutzertests mit 21 Kindern durchgeführt. Hierbei konnten positive Ergebnisse bezüglich der Usability, Technologieakzeptanz und Playfulness des entwickelten Prototypen festgehalten werden. Zudem ergab sich eine positive Auswirkung des Spiels auf die Konzentration der Nutzer. Im Rahmen der Evaluation traten jedoch verschiedene Probleme mit dem MUSE-EEG auf, weshalb sich die Nutzung dieses EEGs im Rahmen der entwickelten Anwendung als ungeeignet erwies.
Der dritte Teil der Schriftenreihe entwickelt die statistische Beschreibung für das Investieren in Wertpapiere weiter, welche in den ersten beiden Teilen begonnen wurde. Die dort eingeführten Statistikgrößen betreffen Gewinnfaktoren bzw. Renditen und den Investitionsgrad. Die neuen Statistikgrößen beinhalten ein Maß für Chance, Risiko, Volatilität sowie Handelskosten. Alle Statistikgrößen hä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üllt ist. Experimentelle Ergebnisse für einen Markt mit historischen Kursdaten sowie für einen Markt mit Random Walks belegen die Stärke der erweiterten Statistik.
Die Digitalisierung fordert kontinuierlich neue Services für bestehende Produkte, revolutioniert Produktionsmethoden und verändert Geschäftsmodelle. Continuous Delivery bietet in der agilen Softwareentwicklung mit kurzen Entwicklungszyklen die Antwort auf diesen Wandel. Die Verwendung einer Continuous Delivery-Umgebung (CD-Umgebung) erfordert einerseits zwar einen initialen Einrichtungsaufwand. Andererseits kann durch den Einsatz einer CD-Umgebung das gesamte Projekt an Schnelligkeit gewinnen. In Kombination mit Microservice-Architekturen lassen sich kleine Deployment-Einheiten umsetzen. Microservice-Architekturen bringen einen Mehrwert durch Flexibilität, Skalierung, Automatisierung, standardisierte Schnittstellen und Ausfallsicherheit. Microservices fungieren autark in verteilten Systemen und weisen nur sehr geringe Abhängigkeiten zu anderen Services auf. Die Kommunikation findet über einheitliche Schnittstellen statt, weshalb Implementierungsdetails der Microservices nach außen betrachtet irrelevant sind.
Für die Umsetzung der CD-Umgebung wird der web-basierte Git-Repository-Manager GitLab in Kombination mit der Container-Orchestrierungsplattform Kubernetes verwendet, da sich beide Programme einfach integrieren lassen.
Innerhalb eines Tutorials wird, basierend auf Best Practices anhand des Beispiels der HSD-Card, erläutert wie eine Microservice-Architektur mit Spring Boot, als Anwendung umgesetzt werden kann. Für die Erstellung der Microservice-Architektur legt das Tutorial Schwerpunkte auf die Verwendung von Software Design Pattern (DDD), die Struktur innerhalb Spring Boot, die Kommunikation via REST sowie die Skalierung, das Load-Balancing und die Überführung in die CD-Umgebung.
Land of High Hopes
(2019)
We are living in the era of sophisticated, state-of-the-art technology, artificial intelligence, accelerating data sciences at ultimate speed and sheer unlimited possibilities. We are able to shoot unmanned rockets equipped with vehicles into the orbit. We can afford to spend fortunes on research and development. However, and that leaves me bloodcurdling and furious, we haven´t managed yet to settle at least some of the most pressing global humanitarian needs: access to food, water, electricity, education and healthcare. So how can we be proud of any achievements? What does make us proud anyway?! ...
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ünglich in einem Studentenprojekt entstanden und soll in der Unity Game Engine neu implementiert, erweitert und verbessert werden.
Nach einer Untersuchung gä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ü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ü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ützung von Schwierigkeitsgraden und der Erweiterbarkeit.
Abschließend folgt eine Analyse der Neuimplementierung. Es zeigt sich, dass das Spiel die gestellten Anforderungen erfüllt und What the Hack sich zu einer, auf eine technische Zielgruppe fokussierte, Serious Game Plattform entwickelt hat.
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ählter Vergleichskategorien durchgeführt. Zur Eingrenzung des Umfangs beschränkte sich der Vergleich auf native Android Apps. Die beiden App-Typen wurden im Rahmen einer Literaturrecherche und auf Basis ausgewählter Vergleichskategorien untersucht und verglichen. Zudem wurde ein Prototyp einer Progressive Web App implementiert, um die Plattformunterstützung und Funktionalität zu überprüfen. Außerdem wurde auch ein Prototyp einer nativen Android App implementiert. Dabei wurde nur die Benutzeroberflä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ötigt werden. Sie werden im Browser ausgeführt und sind dadurch Plattformunabhängig. Zudem wurde gezeigt, dass Progressive Web Apps über Funktionen und Eigenschaften verfügen, die bisher nur nativen Apps vorbehalten waren. Dennoch können sie noch nicht auf alle Funktionen und Komponenten eines mobilen Gerätes zugreifen. Darüber hinaus verfügen sie aber auch über Funktionen und Eigenschaften, die native Apps nicht bieten. Des Weiteren wurde mithilfe eines Prototyps die Plattformunterstützung von Progressive Web Apps überprüft. Die Überprüfung zeigte, dass die Unterstützung durch das Betriebssystem Android weit fortgeschritten und bei iOS hingegen nur sehr eingeschrä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-ähnliche Benutzeroberfläche, ein ähnliches Look and Feel bieten können, wie native Apps. Außerdem wurde gezeigt, dass Progressive Web Apps, anders als native Apps, i. d. R. nicht über App Stores angeboten werden. Sie durchlaufen dadurch keinen Überprüfungs- und Freigabeprozess und sind nicht an die Richtlinien der App Stores gebunden. Stattdessen können sie über eine URL und über Suchmaschinen aufgerufen und aufgefunden werden. Die durchgeführte Untersuchung und der Vergleich haben gezeigt, dass Progressive Web Apps aufgrund des eingeschränkten Zugriffs auf Geräte- und Software-Funktionen sowie fehlender Browser- und Betriebssystemunterstützung, zum jetzigen Zeitpunkt native Apps noch nicht vollumfänglich ersetzen können.
Untersuchungen haben ergeben, dass bis zu 95% aller verfügbaren Android Apps mindestens einen Programmierfehler bei der Verwendung von sogenannten Krypto-APIs besitzen. Bei korrekter Anwendung dieser APIs können mit ihnen sensible System- und Benutzerdaten vor Angriffen geschützt werden. Bisher gibt es nur wenige verfügbare Tool-basierte Hilfsmittel für Programmierer, welche die Verwendungsfehler identifzieren können. Für die Programmiersprache Java konnten bislang nur sehr wenige dieser spezialisierten Hilfsmittel gefunden werden, darunter das statische Codeanalysetool CogniCrypt. Ein derartiges Werkzeug für C# konnte nicht gefunden werden.
Diese Arbeit befasst sich mit der Entwicklung eines Plugins fü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ü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ächlich, sondern hauptsächlich im Detail liegen und daher
während der Implementierung des Tools besondere Aufmerksamkeit erfordern. Die Entwicklungsphase selbst zeigt sich als besonders anspruchsvoll, da mit Unsicherheitsfaktoren
bezüglich der Funktions- und Verhaltensweisen von Visual Studio umgegangen werden mü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äufigsten begehen. Um den Programmierern nachhaltig Wissen bezüglich der Krypto-API zu vermitteln, führt diese Arbeit erweiterte Analyseberichte ein, die zusätzlich über Schwachstellen oder Angriffsszenarien informieren. Besonderheiten und Alleinstellungsmerkmale der anderen Funktionsgruppen werden in dieser Arbeit unter besonderer Berücksichtigung von Implementationshinweisen dokumentiert.
Der Informations-Kiosk bietet Studierenden Informationen über aktuelle und offene Projekte und Abschlussarbeiten, Veranstaltungen sowie Live-Daten zum Mensaangebot, Nahverkehr oder dem Wetter. Für diese Anwendung werden die Anforderungs- und die Risikoanalyse, die Gestaltung und die technische Realisierung gemäß den Phasen der Softwareentwicklung beschrieben. Der Kiosk wird mit einem CMS implementiert und durch einen Webserver im Labor zur Nutzung bereitgestellt. Es wird gezeigt, dass die Entwicklung alle Basis- und Leistungsanforderungen erfüllt und auf Grundlage der entwickelten Architektur des Continuous Software Development Entwicklung und Betrieb integriert.
Markerless talent tracking is widely used for interactions and animations within virtual environments. In a virtual (tv) studio talents could be overburden by interaction tasks because camera and text require extensive attention. We take a look into animations and inter- actions within a studio, which do not require any special attention or learning. We show the generation of an artificial shadow from a talent, which ease the keying process, where separation of real shadows from the background is a difficult task. We also demonstrate animations of footsteps and dust. Furthermore, capturing talents’ height can also be used to adjust the parameters of elements in the virtual environment, like the position and scaling of a virtual display. In addition to the talents, a rigid body was tracked as placeholder for graphics, easing the interaction tasks for a talent. Two test productions show the possibilities, which subtle animations offer. In the second production, the rendering was improved (shadows, filtering, normal maps, ...) and instead of using the rigid body to move an object (a flag), the animation was only controlled by the hand’s position.
Die im Laufe des Jahres veröffentlichten Passwörter auf der Plattform "Have I been pwnd" zeigen deutlich, dass Nutzer aufgrund von besserer Merkbarkeit schwache Passwörter wählen. Dies hat zur Folge, dass die sensiblen Daten der Nutzer nur unzureichend geschützt sind. Aus diesem Grund gewinnt das Themengebiet der IT-Sicherheit zunehmend an Bedeutung. Passwortmanager stellen für dieses Szenario eine mögliche Lösung dar.
Der im Rahmen dieser Masterthesis entwickelte Passwortmanager "Safeword" ermöglicht, sensitive Daten, die mittels adäquaten kryptografischen Verfahren geschützt werden, zentral an einer Stelle abzulegen und sukzessive unsichere Passwörter durch starke zufällige Passwö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örter abrufen kann. Der Passwortmanager bietet zahlreiche Funktionen, die die Nutzung der Anwendung erleichtern, wie die simple und moderne Oberfläche, einen Passwort-Generator, der kryptografisch sichere Zufallspasswörter erstellt, oder Funktionen zur besseren Handhabung von Passwö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ö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önnen.
Voraussetzung für den Produktiveinsatz von Safeword ist die Entwicklung noch fehlender Funktionen und die Prüfung des Quelltexts nach aktuellen Standards der IT-Sicherheit.