Ausgewählte Themen in Verteile Systeme

Wintersemester 2014/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:Stefan Dietzel, Benjamin Erb, Steffen Kächele, Stephan Kleber, Henning Kopp, Thomas Lukaseder, Christian Spann, Rens van der Heijden
Termine:Montag, 12.30 Uhr – 14.00 Uhr, O27-341
Dienstag, 14.15 Uhr – 15.45 Uhr, O27-341
Vorbesprechung:Montag, 13.10.2014, 12.30 Uhr - 14.00 Uhr, O27-341
Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt, sobald Sie eines unserer Seminare besuchen.
Themenvergabe:Die Themenvergabe erfolgt ab 14.08.2014 über die zentrale Seminarthemen-Vergabe-Plattform.

Hinweis: Wenige freie Themen sind noch bis zu Semesterbeginn zu vergeben. Kontakt: Stefan Dietzel

Themen

Verteilte Graph-Algorithmen (vergeben)

Benjamin Erb
Graphen sind wichtige Werkzeuge für Rechnernetze und verteile Systeme. Erst duch passende Algorithmen lassen sich auf Graphen interessante Berechungen und Anwendungen ausführen. Im Rahmen dieser Arbeit sollen wichtige verteilte Algorithmen am Beispiel von Netzwerken vorgestellt und untersucht werden.
Distributed Systems Archaeology (vergeben)

Benjamin Erb
Fortgeschrittene Konzepte verteilter Systeme ermöglichten erst Erscheinungen wie Google oder Facebook, Cloud Computing oder Big Data. Überraschenderweise sind eine Vielzahl der verwendeten Konzepte und Ansätze das Resultat von Forschungen aus den Sechziger, Siebziger und Achtziger Jahre – also älter als man vermuten könnte. Im Rahmen dieser Seminararbeit soll aufgezeigt werden, welchen Historie die heutigen "Hot Topics" der verteilten Systeme und Anwendungen besitzen und wie sie sich entwickelt haben. Dieses Thema richtet sich vor allem an Master-Studierende oder Studierende mit Erfahrungen im Bereich verteilter Systeme.
Padding Oracle Attacks (vergeben)

Henning Kopp
Verschlüsselungen operieren oft auf Datenblöcken fester Größe. Um nun 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.
Kleptography (vergeben)

Henning Kopp
Bei Kleptographie geht es darum, dass ein Angreifer einen Verschlüsselungs- oder Signaturalgorithmus durch einen eigenen Algorithmus ersetzt. Der Algorithmus des Angreifers muss weiterhin alle Spezifikationen des originalen Algorithmusses erfüllen, soll aber zusätzlich Schlüsselmaterial des Benutzers leaken. Dieses Leaking soll unauffällig geschehen. Das bedeutet, dass nur der Angreifer überhaupt erkennen kann, dass der Algorthmus manipuliert wurde.
Ethereum (vergeben)

Henning Kopp
Ethereum stammt von digitalen Währungen wie Bitcoin ab. Im Gegensatz zu Bitcoin ist jedoch die Skriptsprache von Ethereum Turing-vollständig, was es erlaubt, Ethereum auch als öffentlichen, verteilten Computer zu benutzen. In dieser Arbeit sollen die Grundideen von Ethereum herausgearbeitet werden.
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, eine Angriff wo 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.
Jamming in Wireless Ad-hoc Networks (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.
Data consistency in Vehicular Ad-hoc Networks (vergeben)

Rens van der Heijden
In Fahrzeug-Fahrzeug-Kommunikation ist es insbesondere für sicherheitsrelevante Anwendungen sehr wichtig, dass Daten die aus dem Netzwerk kommen auch verifiziert werden. Eine mögliche Art, dies zu erreichen, ist dass Daten miteinander in Bezug gesetzt und auf Konsistenz geprüft werden. Trifft man die Annahme, das jedes Fahrzeug genau eine Identität besitzt, und diese Identität nicht gefälscht werden kann, so kann man mittels eines Vergleichs zwischen verschiedenen Nachrichten mit ähnlichem Inhalt feststellen, wie die tatsächliche Situation ausseht. In dieser Seminararbeit geht es darum, mehrere Mechanismen zu diskutieren, die das versuchen zu erreichen.
Programmable Network Devices (vergeben)

Thomas Lukaseder
High-Speed Intrusion Detection Systems (vergeben)

Thomas Lukaseder
Identifikation notwendiger Garantien der Netzwerkschicht in BFT Algorithmen (frei)

Christian Spann
Byzantinisch Fehlertolerante Systeme ermöglichen durch Replikation, dass Dienste im Netz den Ausfall oder die Korrumpierung einzelner Replikate des replizierenden Systems überstehen. Der Dienst bleibt somit auch beim Ausfall einer definierten Teilmenge an Replikaten weiter verfügbar. Das Netzwerk, welches die Replikate verbindet, kann hierbei asynchron sein, Nachrichten verlieren und weitere Schwächen aufweisen. Dennoch verlassen sich die in der Literatur vorgeschlagenen Algorithmen meist darauf, dass eine Zwischenschicht die meisten tolerierten Netzwerkfehler wieder maskiert, da der Algorithmus sonst zu komplex in der Darstellung würde. Ziel dieser Arbeit ist es, diese notwendigen Garantien der Zwischenschicht in verschiedenen etablierten BFT Algorithmen zu identifizieren und eine Obermenge herauszuarbeiten um eine generische Implementierung der Zwischenschicht zu ermöglichen.
"Exotische" Injection Flaws (vergeben)

Stephan Kleber
Insbesondere im Bereich der Web-Security sind Injections Flaws ein häufiger Angriffsvektor. Gängig ist dabei die SQL-Injection, aber auch andere Injections sind denkbar und als Schwachstellen bekannt: XPath-Injection, LDAP Injection, Hibernate Query Language Injection, Direct OS Code/Command?? Injection, XML Entity Injection, Log Injection, Reflection Injection, Interpreter Injection. Diese Arbeit soll einen Überblick über diese Schwachstellen geben, Zusammenhänge, Ähnlichkeiten und Unterschiede aufzeigen und bekannte Gegenmaßnahmen erläutern.
Algorithmen zum Protocol Reverse Engineering (vergeben)

Stephan Kleber
Die Analyse von unbekannten Netzwerkprotokollen erfordert spezialisierte Algorithmen zur automatischen Erkennung von syntaktischen und semnatischen Strukturen in Datenströmen. Verschiedene Algorithmen, die teilweise in Kombination eingesetzt werden, wurden aus der Bioinformatik entlehnt, wo sie der DNS-Analyse dienen. Die gängigsten Algorithmen sollen im Rahmen dieser Arbeit aufbereitet und erklärt werden.
Aktuelle Return-Oriented-Programming (ROP) Gegenmaßnahmen (vergeben)

Stephan Kleber
Eine aktuelle Untersuchung hat die Effektivität von ROP Gegenmaßnahmen erhoben. Die Ergebnisse dieser Untersuchung stellen Vor- und Nachteile verschiedener Ansätze gegenüber. Diese Ergebnisse sollen in dieser Arbeit beleuchtet und kritisch diskutiert werden.
Probabilistic Data Structures: Theory and Distributed Applications (vergeben)

Stefan Dietzel
Große Datenbanken und verteilte Systeme benötigen gleichermaßen Datenstrukturen zum effizienten Finden von gespeicherten Elementen. Es ist dabei wichtig, dass diese Datenstrukturen Speicherplatz-effizient sind und schnell durchsucht werden können. In den letzten Jahren haben sich probabilistische Datenstrukturen wie Bloom Filter, FM-Sketches, HyperLogLog und andere immer mehr für solche Anwendungen durchgesetzt. Diese Arbeit soll einen Überblick über de theoretischen Eigenschaften sowie praktische Anwendungen geben.
In-Network Data Aggregation in VANETs (vergeben)

Stefan Dietzel
Fahrzeug-Fahrzeug-Netze benötigen effiziente Mechanismen, um Informationen über weite Strecken zu verbreiten. Aufgrund der hohen potentiellen Datenmenge, die von allen Fahrzeugen kollaborativ generiert wird, werden Mechanismen benötigt, die Informationen bereits während der Ausbreitung im Netz effizient komprimieren. Diese Arbeit soll einen Überblick über solche Verbreitungsmechanismen geben.
Vergleich von Ansätzen zum Configuration Management (vergeben)

Franz J. Hauck
Bei der Verwaltung vieler verteilter Rechensystemen muss jedes System indiviudell konfiguriert werden. Entsprechende Software kann diesen Prozess automatisieren. Das Thema soll eine Auswahl von Open-Source Systemen vergleichend gegenüber stellen.
Cloud Foundry (vergeben)

Franz J. Hauck
Cloud Foundry ist ein Open-Source Cloud-System aus der PaaS (Platform-as-a-Service) Gruppe. Das Thema soll das System mit seinen Facetten möglichst umfassend präsentieren.

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