Digitale Vernetzung und Informationssicherheit
Refine
Document Type
- Master's Thesis (4)
- Workingpaper / Report (3)
- Bachelor Thesis (2)
- Article (1)
- Book (1)
- Collection (1)
- Part of a Book (1)
- Conference Proceeding (1)
- Diploma Thesis (1)
Language
- German (15) (remove)
Keywords
- Bachelor (2)
- IT Security (2)
- (virtual) University administration (1)
- (virtuelle) Hochschulverwaltung (1)
- Analyse (1)
- Angriff (1)
- Anonymität (1)
- Authentication (1)
- Authentifizierung (1)
- C# (1)
Department/institution
- Fachbereich - Medien (15) (remove)
Im E-Business werden die automatisierbaren Geschäftsprozesse von Unternehmen zusammengefasst. Im Seminar der Veranstaltung zu diesem Thema sollten die Teilnehmer zu einer vorgegebenen Fragestellung, die erfahrungsgemäß hohe Anforderungen an die technische und organisatorische Umsetzung einer Beantwortung erfordert, eine Ausarbeitung aufgrund einer Recherche wissenschaftlicher und technischer Veröffentlichungen sowie eine Website im WordPress CMS nach vorgegebenem Muster erstellen. Zu zwei Fragestellungen sind in diesem Arbeitspapier die Ausarbeitungen enthalten:
o Wer verfolgt mich? – Die Krux mit dem Tracking
o Wie gut, dass keiner weiß – Anonymität im Web (inklusive Dark Net)
Zur Ergänzung der Ausarbeitung werden die Webseiten als Ausdruck angefügt, auch wenn sie hier nicht die interaktiven Möglichkeiten zeigen.
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.
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.
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.
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.
Es scheint so zu sein, dass sich die beiden Ziele Gebrauchstauglichkeit und Sicherheit sehr häufig in der Umsetzung gegenseitig ausschließen: Eine sehr sichere Anwendung ist meistens eher aufwändiger zu benutzen und zu warten, eine einfach zu benutzende Anwendung vernachlässigt häufig die Sicherheit.
Als Lösung kann (wieder einmal) darauf hingewiesen werden, dass "gute" Software mehr ist als lediglich funktionierende Software. Im gesamten Entwicklungsprozess müssen vielfältige funktionale und nicht-funktionale Anforderungen, wie die der Sicherheit und Gebrauchstauglichkeit, berücksichtigt werden, um allen, auch sich zunächst widersprechenden, Anforderungen gerecht zu werden.
Die Interaktion zwischen Mensch und Computer ist ein sehr interessanter und immer wichtiger werdender Aspekt bei der Entwicklung von Software.
In diesem Buch erfahren Sie daher
- Wie Menschen und Computer kommunizieren, handeln und reagieren
- Welche Interaktionsformen es für die Kommunikation mit dem Computer gibt
- Wie Sie diese Kenntnisse nutzen können, um Programme zu entwickeln, die der Anwender erfolgreich nutzen kann