004 Datenverarbeitung; Informatik
Refine
Document Type
- Bachelor Thesis (3) (remove)
Language
- German (3) (remove)
Has Fulltext
- yes (3)
Is part of the Bibliography
- no (3) (remove)
Keywords
- Bachelor (2)
- Analyse (1)
- Angriff (1)
- Hashcat (1)
- Medieninformatik (1)
- Mensch (1)
- Microservice Continuous Delivery (1)
- Modellierung (1)
- Passwortschutz (1)
- Progressive Web Apps (1)
Department/institution
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.
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.
In der vorliegenden Bachelorarbeit geht es um das menschliche Verhalten bei der Passworterstellung. Hierbei wird die Möglichkeit untersucht dieses menschliche Verhalten über die Software hashcat nachzubilden, um so Passwörter effzienter anzugreifen. Durch die Konzeption und den Test von Passwortangriffsszenarien, deren Fokus auf dem Faktor Mensch liegt, wird versucht aufzuzeigen, dass selbst sichere Passwortverfahren, durch das individuelle Verhalten von Menschen an Sicherheit verlieren können. Zudem werden die Tests der Szenarien Schwächen der Software hashcat aufzeigen, die im späteren Verlauf der Arbeit als Grundlage für die Entwicklung einer selbstprogrammierten Erweiterung von hashcat dienen.