Ausgewählte Themen in Verteile Systeme

Sommersemester 2015

Titel:Ausgewählte Themen in Verteilten Systemen
Englischer Titel:Selected Topics in Distributed Systems
Typ:Seminar, Modul
Kürzel / Nr. / Modulnr.:ATVS / CS5900.113 / 72041
SWS / LP:2S / 4LP
Dozent:Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer:Benjamin Erb, Steffen Kächele, Stephan Kleber, Henning Kopp, Thomas Lukaseder, Christian Spann, Rens van der Heijden
Termine:Donnerstag, 16.04.2015, 10.15 Uhr - 11.45 Uhr, O27/2202: Einführungsveranstaltung (verpflichtend)
Donnerstag, 23.04.2015, 10.15 Uhr - 11.45 Uhr, O28/H21: Wissenschaftliches Arbeiten (verpflichtend)
Donnerstag, 23.04.2015, 16.15 Uhr - 17.45 Uhr, O27/341: LaTeX-Einführung (freiwillig)
Donnerstag, 25.06.2015, 10.15 Uhr - 11.45 Uhr, N25-2103: Präsentationstechniken (verpflichtend)
Freitag, 10.07.2015, 08.00 Uhr - 20.00 Uhr, 45.2.102 und 45.2.103: Vorträge (verpflichtend)
Vorbesprechung:Donnerstag, 16.04.2015, 10.15 Uhr, O27/2201
Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt, sobald Sie eines unserer Seminare besuchen.
Themenvergabe:Die Themenvergabe erfolgte bereits über die zentrale Seminarthemen-Vergabe-Plattform.
Sprache:Alle Themen können in deutscher oder englischer Sprache bearbeitet werden.

Hinweis: Alle Seminarthemen sind vergeben worden.

Themen

Time Models in Distributed Systems & Applications (vergeben)

Benjamin Erb
In distributed systems and applications, the conception of time is an essential building block. Time models influence the notion of temporal order, causality, consistency as well as the overall execution progress. The basic objective of this seminar paper is to give an overview on different time models existing in literature and to assess their fundamental applicability in distributed contexts. This topic is mainly intended for Master students.
Big Data on Graphs (vergeben)

Benjamin Erb
The Big Data trend has re-established interest in the algorithmic processing of graph-based data, but now on a very large scale. For instance, search engine providers such as Google take advantage of graph mining in order to improve the ranking of web pages and social networks such as Facebook or Twitter use graph algorithms for user clustering and generating contact suggestions. The general goal of this seminar paper is an overview of graph problems, graph algorithms, graph computing platforms, and exemplary use cases of graph computing – each of them based on Big Data scenarios. This topic is intended for both Bachelor and Master students.
Lambda Architectures for Neartime & Batch Processing (vergeben)

Benjamin Erb
So far, distributed computing platforms for large-scale data processing have either focussed on a batch-oriented style of processing (e.g. MapReduce), or they have provided near-realtime computations (e.g. event processing) instead. For several use cases, both styles of computations are required at the same time. Lambda architectures try to combine both approaches and provide a unified approach. As part of this seminar paper, differences between both computing styles should be outlined. Next, the idea of a unified lambda architecure as well as appropriate examples should be introduced and characterized. This topic is mainly intended for Master students.
ScriptGen und PRISMA: Algorithmen für das Protocol Reverse Engineering (vergeben)

Stephan Kleber
Die Analyse von unbekannten Netzwerkprotokollen erfordert spezialisierte Algorithmen zur automatischen Erkennung von syntaktischen und semantischen Strukturen in Datenströmen. Verschiedene Algorithmen wurden dazu entwickelt und angepasst. Zwei Algorithmen, ScriptGen und PRISMA, sollen im Rahmen dieser Arbeit aufbereitet, erklärt und verglichen werden.
Auf der Suche nach "der" Physically Unclonable Function (vergeben)

Stephan Kleber
Physically Unclonable Functions (PUFs) nutzen physikalische Eigenschaften von Hardwareinstanzen aus, um spezifisches, einzigartiges und nicht nachahmbares Verhalten von Algorithmen auf diesem einen Gerät zu erlangen. Insbesondere im Bereich der IT-Sicherheit ist ein solches Verhalten für Attestierung und spezielle Nutzung von Verschlüsselung sehr wertvoll. Die exakte Definition von PUFs ist aber keineswegs einfach, weshalb es keine allgemein anerkannte Definition gibt. Diese Arbeit soll die aktuelle Diskussion um diese Definition im Überblick beschreiben und eine eigene Einschätzung dazu entwickeln.
Das Oracle Problem beim Fuzzing (vergeben)

Stephan Kleber
Fuzzing ist eine Form des Testens von Implementierungen oder Spezifikationen auf ihre Korrektheit, dies typischerweise bei Themen der IT-Sicherheit im Hinblick auf das Finden von Schwachstellen. Dazu wird ein mehr oder weniger zufällig gewählter Wert einem Programm als Eingabe übergeben. Die Analyse der Ausgabe verrät nun dem Tester im Idealfall, ob ein Fehler bei der Verarbeitung aufgetreten ist, oder nicht. Um eine zuverlässige automatisierte Auswertung liefern zu können, muss der Fuzzer eine Fehler-Ausgabe von einer positiven Rückmeldung der Anwendung unterscheiden können. Das "Oracle Problem" bezeichnet die Schwierigkeit in einer solchen Situation eine sinnvolle Unterscheidung von Programmausgaben treffen zu können. Diese Arbeit soll verschiedene bekannte Lösungsstrategien kurz zusammenfassen und deren Kernidee jeweils darstellen.
Padding Oracle Attacks (vergeben)

Henning Kopp
Verschlüsselungen operieren oft auf Datenblöcken fester Größe. Um beliebig lange Daten verschlüsseln zu können, müssen diese auf Blockgröße aufgefüllt werden. Diese Auffüllung nennt sich Padding. Wenn Daten nun entschlüsselt werden, muss geprüft werden, ob das Padding korrekt ist, da sonst ein Übertragungsfehler vorlag. Bekommt ein Angreifer die Information, ob das Padding einer Nachricht korrekt ist, zum Beispiel durch Fehlermeldungen, so kann er mittels speziell manipulierter Nachrichten beliebig verschlüsselte Nachrichten entschlüsseln.
Bitcoins (vergeben)

Henning Kopp
Bitcoin ist die beliebteste dezentrale virtuelle Währung. Die einzelnen Bitcoins werden durch ein Peer-to-peer Netzwerk erzeugt. In dieser Arbeit soll ein Überblick über die Funktionsweise von Bitcoins gegeben werden.
Cube attacks (vergeben)

Henning Kopp
Cube attacks sind eine der wenigen rein algebraischen Methoden zur Kryptoanalyse. Unter anderem die Blockverschlüsselung Trivium wurde damit ausführlich getestet. Cube attacks extrahieren lineare Gleichungen aus Schlüssel und Klartextbits, die in einem folgenden Schritt mit bekannten Methoden aus der linearen Algebra einfach gelöst werden können. In diesem Seminar soll die Funktionsweise von Cube attacks zusammen mit modernen Entwicklungen erklärt werden.
High-Speed Network Intrusion Detection Systems (vergeben)

Thomas Lukaseder
Ein Netzwerk Intrusion Detection System ist ein System, das Angriffe innerhalb eines Netzwerkes erkennen soll. Die vergleichsweise schnell steigende Bandbreite bei deutlich langsamer wachsender Rechenleistung erfordert immer effizientere Maßnahmen zur Angriffserkennung. Ziel dieser Seminararbeit ist es, einen Überblick über die vorhandenen Ansätze zur Beschleunigung von NIDS zu geben.
Golden Shield – The Great Firewall of China (vergeben)

Thomas Lukaseder
Der Öffnung Chinas gegenüber der Weltwirtschaft folgte auch eine Öffnung gegenüber dem Internet. Doch nicht das ganze Internet ist aus dem Reich der Mitte erreichbar. Mit dem Projekt "Goldenes Schild" wurde eine Infrastruktur geschaffen, die Teile des Internets in der Volksrepublik unzugänglich machen. Ziel dieser Seminararbeit ist es, einen Überblick über Ausmaß und Geschichte des "goldenen Schildes" zu bieten und einen Vergleich mit Maßnahmen in anderen Ländern zu ziehen.
Software-Defined Networking – Chances and Risks for Network Security (vergeben)

Thomas Lukaseder
Software-Defined Networking bietet die Möglichkeit, die Control Plan und die Data Plane in Netzwerken voneinander zu trennen und ermöglicht so eine vereinfachte Administration durch eine programmierbare, zentrale Steuerung des Netzwerkverkehres, ohne manuell auf die Geräte zugreifen zu müssen. Ziel dieser Seminararbeit ist es, einen Überblick über die sich hieraus ergebenden Möglichkeiten und Risiken im Bezug auf Netzwerksicherheit herauszuarbeiten.
Sybil Attacks in Vehicular Ad-hoc Networks (vergeben)

Rens van der Heijden
In dieser Seminararbeit geht es darum, verschiedene Ansätze zum Erkennen so genannter Sybil Attacks in Fahrzeug-Fahrzeug-Kommunikation zu beprechen. Sybil Attacks sind, in der einfachsten Form, ein Angriff, bei dem ein Angreifer mehrere Identitäten verwendet, um irgendein Ziel zu erreichen bzw. um einen Angriff zu verbessern. Es ist nicht Ziel der Arbeit, einzelne Erkennungsmechanismen zu beschreiben, sondern verschiedene Klassen zu unterscheiden und deren Vor- und Nachteile zu besprechen.
Misbehavior detection in industrial control systems (vergeben)

Rens van der Heijden
Industrial control systems are typically distributed systems that are used to monitor and control one or more physical processes, such as those at a chemical factory, nuclear power plant, manufacturing or dams. Failure of these processes can cause catastrophic events or lead to significant financial loss, and thus the safety of these processes is of paramount importance. However, in recent decades, the trend towards increased networking in these systems has led to a number of security issues. This work discusses the detection of attacks in these systems by applying knowledge of the physical processes to verify the correctness or consistency of packets.
Jamming in wireless ad-hoc networking (vergeben)

Rens van der Heijden
In dieser Seminararbeit geht es darum, das Problem von Jamming in verschiedenen drahtlosen Szenarien zu beschreiben und Erkennungs- und Präventionsansätze zu besprechen. Ein möglicher Anwendungsfall ist Fahrzeug-Fahrzeug-Kommunikation, wo die zeitnahe Zustellung von Paketen sehr wichtig ist für die Funkionsweise des Netzes. In der Literatur gibt es verschiedene Ansätze und Angreifermodelle, die dieses Problem umgehen können.
Eventual Consistency und CRDTs (vergeben)

Franz J. Hauck
In modernen großen verteilten Anwendungen wird häufig die Konsistenz redundanter Daten abgeschwächt, um sowohl Verfügbarkeit zu erzielen wie auch Netzwerkpartitionen zu tolerieren. Gängig ist hier die Eventual Consistency, die zusichert, dass redundante Daten nach einer gewissen Zeit alle Änderungen im System repräsentieren, d.h. wenn man lange genug wartet, nehmen alle Speicher denselben Endwert an, währenddessen gelten jedoch eventuell veraltetete Versionen der Werte. Commutative Replicated Data Types (CRDTs) sind Datenstrukturen, die eine systematische und strukturierte Entwicklung von Anwendungen auf dem Prinzip der Eventual Consistency ermöglichen. Das Seminarthema soll in die Thematik einführen und das Prinzip der CRDTs, ihre Varianten sowie Beispiele dazu präsentieren.

Kubernetes (vergeben)

Steffen Kächele

Docker erlaubt es, durch Betriebssystemvirtualisierung Anwendungen mitsamt ihrer Abhängigkeiten auf fremden Rechnenumgebungen auszuführen. In dieser Arbeit soll die Orchestration Kubernetes für Docker Container vorgestellt werden.
Java Multi-tenancy Architekturen (vergeben)

Steffen Kächele
Heutige Cloud Computing Umgebungen nutzen häufig Virtuelle Maschinen, um Anwendungen mehrerer Nutzer voneinander abzugrenzen. In dieser Seminararbeit sollen Ansätze vorgestellt werden, welche eine Isolation auf Ebene der Java Virtual Maschine vornehmen. Eine kritische Auseinandersetzung des Ansatzes rundet die Arbeit ab.

The Chubby Lock Service (vergeben)

Christian Spann

Google nutzt für die Synchronisation seiner Dienste einen Dienst namens Chubby. Dieser nutzt einen Einigungsalgorithmus welcher Paxos, dem Prototyp aller Einigungsalgorithmen, sehr ähnlich ist. In dieser Seminararbeit soll der Dienst und seine Implementierung vorgestellt werden.

Google Data Storage (vergeben)

Christian Spann

Der Google Data Storage ist ein hochverfügbarer Datenspeicherdienst. Er synchronisiert seine Zugriffe mittes Paxos. In dieser Seminararbeit soll die Architektur und die von dem Speicherdienst gewährleistete Konsistenz beleuchtet und vorgestellt werden.

Beschreibung und allgemeine Angaben, Modulbeschreibung

Einordnung in die Studiengänge:
Informatik, B.Sc.: Seminar
Medieninformatik, B.Sc.: Seminar
Software-Engineering, B.Sc.: Seminar

Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen:Ausgewählte Themen in Verteilten Systemen, 2S, 4LP
Verantwortlich:Prof. Dr. Frank Kargl
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Voraussetzungen (inhaltlich):Grundlagen der Rechnernetze, Proseminar
Voraussetzungen (formal):-
Grundlage für (inhaltlich): -
Lernergebnisse:Studierende vertiefen exemplarisch an einem Teilgebiet der Informatik ihre Kenntnisse im selbstständigen Arbeiten mit wissenschaftlicher Literatur sowie im mündlichen und schriftlichen Präsentieren von fachwissenschaftlichen Inhalten. In Diskussionen wird die Fähigkeit zur kritischen Reflektion geübt. Im fachlichen Teil des Seminars stehen aktuelle Themen der Verteilten Systeme im Fokus. Abhängig vom Thema lernen Studierende ein konkretes System oder ein Konzept Verteilter Systeme kennen. Sie können diese Systeme in einen größeren Kontext einordnen und deren Vor- und Nachteile selbständig ableiten.
Inhalt:Zu Beginn des Seminars werden Themen des wissenschaftlichen Arbeitens (z.B. Literaturrecherche, Schreiben einer Publikation, Präsentationstechniken) eingeführt, um den Studenten eine methodische Hilfestellung zu geben. Die Erstellung der eigentlichen Ausarbeitung und Präsentation erfolgt in individueller Betreuung. Die Ergebnisse werden in einer Abschlusspräsentation vorgestellt.
Literatur:Wird je nach Thema zu Beginn der Veranstaltung bekannt gegeben.
Bewertungsmethode:Leistungsnachweis über erfolgreiche Teilnahme. Diese umfasst Anwesenheit und enthält Ausarbeitung, Vortrag und Mitarbeit.
Notenbildung:unbenotet
Arbeitsaufwand:Präsenzzeit: 30 h
Vor- und Nachbereitung: 90 h
Summe: 120 h