image/svg+xml Bachelorseminar Masterseminar Proseminar PRIV (WiSe) ATVS RTDS KTT (SoSe)

Ausgewählte Themen in Verteilten Systemen - ATVS

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:Ala'a Al-Momani, Felix Engelmann, Benjamin ErbEugen Frasch, Gerhard Habiger, Stephan Kleber, Henning Kopp, Dominik Lang, Thomas Lukaseder, Matthias Matousek, David Mödinger, Rens van der Heijden
Termine:18.04.2017 10:15-11:45: Einführungsveranstaltung (verpflichtend)
25.04.2017 10:15-11:45: Wissenschaftliches Arbeiten (verpflichtend)
27.04.2017 16:15-17:45: LaTeX-Einführung (freiwillig)
22.06.2017 16:15-17:45: Präsentationstechniken (verpflichtend)
14.07.2017: Vortragsblocktermin (ganztägig), Räume werden noch bekannt gegeben
Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt, sobald Sie eines unserer Seminare besuchen.
Themenvergabe:Die Themenvergabe erfolgt über die zentrale Seminarthemen-Vergabe-Plattform.
Sprache:Alle Themen können in deutscher oder englischer Sprache bearbeitet werden, sofern nicht anders angegeben.

Themen

frei            belegt

Vehicle Platooning – English only

Vehicle Platooning is considered one of the most promising applications to be implemented in vehicular networks. It gained its importance due to the huge number of benefits it provides for cars/trucks on, specially, highways. Despite the benefits it provides, it suffers from a quite number of limitations and challenges. Within this seminar, you are going to investigate vehicle platooning in more details by addressing the limitations and challenges it suffers from. In addition, the possible ways to defeat them need to be examined.

Ala'a Al-Momani

Machine Learning Applications in Vehicular Networks – English only

Machine learning brings enormous number of benefits to fields where it is applied on. In vehicular networks, it is considered one of the main bases of critical applications, e.g. Autonomous Driving. In this seminar, Machine learning approaches that has been proposed to be used in vehicular networks generally and autonomous driving in particular will be investigated. The implications of applying such techniques -e.g. delay, decision accuracy, etc...- need to be examined as well.

Ala'a Al-Momani

Digital Identities for 3D Printed Objects English only

3D printing technologies are spreading in many big scale manufacturing processes and introduce challenges which are otherwise only relevant in the digital world. Simplified duplication of physical objects can lead to piracy or safety issues in regulated industries. A promising solution to this would be uniquely identifiable, unclonable objects, e.g. with an integrated physically unclonable function (PUF). The goal of this seminar is to survey the different approaches to link a physical object to a digital identity.

Felix Engelmann

Challenges of Scanning the IPv6 Address Space English only

With the progress of IPv6 deployment, surveys of the complete internet address space by enumeration are no longer feasible, compared to the 2^32 IPv4s, which can be contacted in a few minutes. However there are approaches to reduce the search space by preselecting active DNS entries, common host suffixes, promising subnets from BGP announcements and many more. The goal of this seminar is to elaborate on the possible scanning methods and counter measures in the IPv6 network.

Felix Engelmann

Machine Bias and the Threat of Algocracy English only

The rise of big data, artificial intelligence, and related technological trends are going to transform the everyday life of people. A potential rule of algorithms and the hidden biases carved into data analytics and machine learning models represent significant challenges on society, entailing political, ethical, and psychological consequences. This seminar paper should unveil these challenges and assess the dystopic perspective while pointing out corrective actions.

Benjamin Erb

π-calculus English only

As a process calculus the p-calculus describes the movement of a piece of data in exactly the same way as the tranfer of a message. Thus the p-calculus is used to define concurrent computations whose network configuration may change during the computation. The goal of this seminar is to look at motivation, theory and expressiveness of pi-calculus.

Eugen Frasch

Slurm – English only

As a cluster management and job scheduling system Slurm is used in small and large Linux clusters.  Slurm is open-source, fault tolerant, highly scalable and relatively self-contained. The goal of this seminar is to give an overview of Slurm, it's functionality and deeper characteristics.

Eugen Frasch

Apache Eagle English only

Apache Eagle is an open source, distributed real-time monitoring alerting engine for instant identification of sensitive data access and recognition of malicious activities. Eagle audits access to HDFS files, Hive, and HBase tables in real time, enforces policies and alerts or blocks users’ access in real time.
The goal of this seminar is to give an overview of Apache Eagle, it's architecture and functionality.

Eugen Frasch

The State of Logical Time English only

In distributed systems there is no global time. To work around this limitation logical clocks, a form of event counters, like vector clocks were introduced in the 1980s. The goal of this seminar is to research some more recent developments on the state of logical clocks, especially improvements in size or performance.

David Mödinger

Temporal Logic of Actions: model checking concurrent distributed systems English only

Due to their diversity and complexity, distributed systems often exhibit indeterministic behaviour. This makes it very hard to correctly design new systems, since errors may only manifest themselves rarely and under specific circumstances, which are difficult to test for. Mathematically modeling such systems allows to formally test their behaviour and exhaustively check every possible state they can ever be in, making it (theoretically) impossible for a system to fail due to design flaws. One tool to model concurrent distributed systems is Lamport's TLA+. The goal of this seminar is to give an introduction to TLA+ and its current state, and to provide an example of a real world application of TLA+.

Gerhard Habiger

Misbehavior reporting and revocation in Vehicular PKIs English only

Vehicular ad-hoc networks are an attempt to improve driving safety for both drivers and autonomous vehicles, by allowing the exchange of information between vehicles. Because this information is safety-relevant, it should be authenticated, which current standards propose to do with a PKI. Such a PKI typically also allows reporting of malicious messages (misbehavior reporting). The goal of this seminar is to analyze different possible strategies on how to transfer and process the reports, which should result in the revocation of an attacker.

Rens van der Heijden

Alignment-free Protocol Message Format Reverse Engineering English only

Understanding the communication of networked systems without knowing the protocol specification can be achieved by the reverse engineering of the network traffic. Examples for use cases of this approach are the analysis of botnets and vulnerability detection in network protocol implementations.
Several methods to infer the protocol message format use the Needleman-Wunsch-algorithm-based progressive multiple sequence alignment. Instead, also alignment-free methods to find structure in byte sequences are available. Especially interesting examples are the Sequitur algorithm and the Leimeister et al. alignment-free method.
The goal of this seminar topic is to identify commonalities and differences between these algorithms with focus on applicability to infer message formats of protocols and to discuss their respective strengths and weaknesses.

Stephan Kleber

Formal Methods in Program Analysis English only

To reason about a program, naively one can run it on different inputs and compare the outputs in order to find structure. In contrast, one can execute the program only symbolically, not with concrete inputs but instead with symbolic variables. Then it becomes possible to reason about a program by comparing the execution paths in the program.
The student should describe symbolic execution and its shortcomings and improvements like concolic execution. Examples in an appropriate framework like angr are welcome.

Henning Kopp

Cryptography Engineering English only

Every day we rely on the security of applied cryptography (e.g. security protocols) to protect our data. This application of cryptography in real world solutions is difficult and prone to errors; one mistake can compromise the entire security.
Cryptography engineering is the discipline of creating these real world solutions and entails two different aspects: the creation of cryptographic protocols by combining several cryptographic primitives (e.g. MAC and symmetric encryption), and the implementation (software / hardware) of cryptographic protocols.
The goal of this seminar paper is to give an overview of cryptography engineering with a focus on dos and don'ts, and best practices for creating and implementing cryptographic protocols.

Note: It is highly recommended that the student has basic knowledge of cryptography, for example by having attended a cryptography and/or IT security lecture.

Dominik Lang

Software-Defined Networking – Chances and Risks for Network Security English only

Software-Defined Networking (SDN) is an approach to computer networking that decouples the control plane—that is the network administration—from the data plane where the regular packet forwarding occurs. The most common SDN technology is the OpenFlow protocol. The design of this protocol features one controlling device—the SDN controller—that monitors all network devices and network policies. Such a centralized design can both help network security by simplifying network monitoring and be a threat to security by implementing a single point of failure that in turn has full control over the network topology. Goal of this seminar is to analyze both threats and opportunities of this technology regarding network security.

Thomas Lukaseder

Policy Checking of Network Topologies English only

Network policies are rules that define how a network needs to be set up. They contain for instance demands concerning the reachability of certain network devices or filter rules for firewalls. Tools like netplumber exist to help in the verification process whether a network topology complies with these policies. Goal of this seminar is to analyze how these tools work and which policies can or cannot be analyzed by these tools. 

Thomas Lukaseder

Applications for Secure Multiparty Computation English only

Distributed computation offers many opportunities for novel and advanced applications. However, significant privacy concerns arise when some of the computing parties cannot be trusted sufficiently. Secure multiparty computation (MPC) is an active research field that is attempting to solve the issue of several parties computing specific functions without disclosing their private input data. This seminar thesis should survey and asses applications for MPC.

Matthias Matousek

Machine Learning Privacy  English only

Machine Learning has a number of very useful applications and offers great benefits. Machine learning algorithms can be used for recommendation systems, data analysis, or security applications. However, while machine learning can provide useful predictions and analysis, there are also privacy concerns. The aim of this seminar is to identify privacy issues, and survey possible solutions.

Matthias Matousek

Secure Messaging: Signal & Co (recommended at master's level)  English only

Security in instant messaging predates the smartphone era, but has recently received a lot of attention from both the cryptographic community and from government agencies. In this seminar, we are going to consider both OTR and the Signal protocol. We will look at the different challenges that are new to instant messaging done via smartphones, and at how Signal tries to overcome them.

Marcus Gelderie (BMW Car IT)

Cryptographic Message Syntax: Standardized Protocol for Encryption, Signatures, and Integrity Protection (recommended at bachelor's level)  English only

The Cryptographic Message Syntax (CMS) is a standardized format for crafting encrypted and signed messages. It is used in S/MIME, but is a much more flexible format that covers use-cases beyond S/MIME. We will look at the CMS standard, at the threat model underlying CMS, and at the overall organizational implications that are imposed by CMS on the user.

Marcus Gelderie (BMW Car IT)

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

Wintersemester 2016/2017

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:Ala'a Al-Momani, Benjamin ErbEugen Frasch, Gerhard Habiger, Stephan Kleber, Henning Kopp, Dominik Lang, Thomas Lukaseder, Matthias Matousek, Rens van der Heijden
Termine:

20.10.2016 14.15-15.45 Uhr Einführungsveranstaltung (verpflichtend, H9)
24.10.2016 10.15-11.45 Uhr LaTeX-Einführung (freiwillig, O27-341)
27.10.2016 14.15-15.45 Uhr Wissenschaftliches Arbeiten (verpflichtend, H11)
12.01.2017 14.15-15.45 Uhr Präsentationstechniken (verpflichtend, H11)

27.01.2017: Vortragsblocktermin, Räume werden noch bekannt gegeben

Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt, sobald Sie eines unserer Seminare besuchen.
Themenvergabe:Die Themenvergabe erfolgt bis zum 10.08.2016 über die zentrale Seminarthemen-Vergabe-Plattform.
Sprache:Alle Themen können in deutscher oder englischer Sprache bearbeitet werden, sofern nicht anders angegeben.

Hinweis: Alle Seminarthemen sind vergeben worden.

Themen

frei            belegt

Vehicular Networks: Security Aspects – English only

Vehicular Networks have attracted a lot of attention in the recent years. Throughout this seminar, we are going to look at vehicular networks from security perspectives discussing how C2X communication could be secured. Approaches proposed in standards to authenticate nodes in vehicular networks will be investigated with their drawbacks. The seminar therefore will address the possible ways to improve the proposed authentication mechanisms based on the literature.

Ala'a Al-Momani

Vehicular Networks: Wireless Channel Aspects – English only

When moving towards the real-world implementation of vehicular networks, wireless channel becomes a critical issue. In this seminar we want to address the challenges in the vehicular wireless medium taking in mind the multiplexing and modulation schemes proposed in standards. We will look at channel capacity which may lead to packet collisions in dense traffic scenarios. 

Ala'a Al-Momani

IoT: Definition, Security and Privacy Aspects – English only

Internet of Things (widely known as IoT) has attracted a lot of attention in the recent years. Throughout this seminar we are going to get familiar with it by looking at the definition of IoT proposed in the literature. This seminar will basically address the question: When a “thing” can be called “smart”. This includes addressing the differences between the classical embedded systems and IoT (if there is any). Thereafter, we will investigate what aspects IoT brings to security and privacy.

Ala'a Al-Momani

Spatio-temporal Networks English only

Spatio-temporal networks (STNs) are networks whose topology and/or attributes change over time. This topic explores the theory of STNs, relevant characteristics, and applications.

Benjamin Erb

Google Spanner English only

Spanner is Google's globally distributed NewSQL database, the successor to BigTable. Google describes Spanner as a not pure relational database system because each table must have a primary key column. The lack of transactions in BigTable led to frequent complaints from users, so Google made distributed transactions central to the Spanner's design. During this seminar, current research about Google Spanner is to be surveyed and an overview of its functionality should be given.

Eugen Frasch

Cloud Rendering English only

Although there is plenty of well and easy usable 3D-Design Software the most time consuming part to produce a high-quality 3D image is still the rendering process. Since cloud computing has been arised it is possible to use more than one computer for the rendering process. Over the years more and more cloud rendering providers started to offer their services for rendering high-quality images to "normal" users. The goal of the seminar is to provide an overview of the most popular and effectiv cloud rendering providers. Also some of the basic comon concepts of diffrent providers should surveyed

Eugen Frasch

Owncloud English only

Clouds became very important the past years. Beside one of the most popular cloud storage providers "DropBox" the Open Source Software "Owncloud" is used by many users. During this seminar, current research about Owncloud is to be surveyed and an overview of its functionality should be given.

Eugen Frasch

Apache Mesos English only

Apache Mesos is an open-source cluster manager that was developed at the University of California, Berkeley. It provides efficient resource isolation and sharing across distributed applications, or frameworks. The software enables resource sharing in a fine-grained manner, improving cluster utilization. The goal of the seminar is to provide an overview of Apache Mesos, its functionality and architecture.

Eugen Frasch

Benchmarking Client-Server Applications English only

Client-server architectures are ubiquitous and the backbone of a wide array of applications around the globe. In order to compare different client-server applications and improve on them, a reasonable set of metrics to measure their performance, correctness and availability has to be devised. This work should give an overview over the most important benchmarking methods and metrics for client-server architectures.

Gerhard Habiger

Data mining for misbehavior detection in VANETs English only

Vehicular ad-hoc networks are networks created by equipping vehicles with communication equipment that allows them to communicate directly. These networks are designed to improve safety, provide better navigation, and various other applications based on data exchanged between vehicles. Misbehavior detection is the process of detecting invalid or incorrect data in this network traffic. One technique that is used in some application domains to detect such attacks is data mining. This includes techniques like rule mining, clustering, and other classification algorithms. In this seminar, the goal is to provide an overview of the different application types and their susceptibility to attacks.

Rens van der Heijden

Applications of subjective logic in VANETs English only

Vehicular ad-hoc networks are networks created by equipping vehicles with communication equipment that allows them to communicate directly. These networks are designed to improve safety, provide better navigation, and various other applications based on data exchanged between vehicles. Subjective logic is a logic that can be used to reason about uncertain or incomplete information. For example, it can be used to represent the trustworthiness of received messages, and the uncertainty of this evaluation. In this seminar, the idea is to investigate the application of so-called multinomial and continuous opinions, which express trustworthiness for multiple possible values of a message.

Rens van der Heijden

Protocol Identification English only

Network management and security require knowledge about the communication in transit to make meaningful decisions. An example for this is a network intrusion detection system that needs to decide about bengin and malicious network traffic based only on the observable protocol packets.
Proprietary encapsulation, encryption, missing protocol specification, and privacy concerns often do not allow for deep packet inspection and therefore prevent recognition of the full variance of observed protocols.
Protocol Identification (PI) is an approach to be able to identify the type of protocol in network communications based on alternative methods, such as statistical analyses.
The goal of this seminar topic is to determine and discuss common methods in PI and the quality of results they currently can provide.

Stephan Kleber

Inference of Formal Protocol Models English only

Modeling of network traffic allows to understand aspects of the communication of networked systems without knowing the protocol specification. Examples for use cases of this approach are the analysis of botnets and vulnerability detection in network protocol implementations.
Methods to accomplish the generation of such models are diverse. They are based on observing traffic and behaviour of the communicating nodes and infer the desired model from analysis of these observations.
The goal of this seminar topic is to identify commonalities and differences between multiple techniques to infer formal models of protocols and to discuss their respective strengths and weaknesses.

Stephan Kleber

Ethereum English only

Ethereum is a successor of digital cryptocurrencies like Bitcoin. Contrary to Bitcoin, Ethereum aims to be Turing-complete, thus representing a decentralized state machine. Ethereum is widely used as a platform to power smart contracts. These are contracts which are cryptographically enforced and are envisaged to provide a form of cryptographic law besides the centralized jurisdiction of the governments.
The goal of this seminar is to explain the basic mechanisms behind the Ethereum network.

Henning Kopp

Ring signatures English only

Ring signatures are a special form of a digital signature. A digital signature provides authenticity of a document, namely that a special person signed it. A ring signature hand only guarantees that a member of a group has signed a document. In some applications this should be preferred to increase privacy of the signer.
The student should describe a ring signature scheme and the necessary cryptographic basics.

Henning Kopp

Cryptography Engineering English only

Every day we rely on the security of applied cryptography (e.g. security protocols) to protect our data. This application of cryptography in real world solutions is difficult and prone to errors; one mistake can compromise the entire security.
The goal of this seminar paper is to give an overview of cryptography engineering, which entails dos and don'ts, and best practices for applying cryptography in real world scenarios.

Dominik Lang

Platforms for Network Data Analysis English only

It is essential for network operators to know both the workload and the composition of in-going and out-going network traffic, but also within the network. This information can help to dissect malfunctions or find bottlenecks in the network topology. It can also help to find intrusions and assess the extend of an attack. Several developer teams made it their goal to provide tools to analyse and visualize the network composition. This work should provide a list of requirements for network operators as well as a broad overview of software tools and a short analysis if these tools are up for the job.

Thomas Lukaseder

Analysis of Distributed Reflective DoS-Attacks English only

Denial-of-service attacks are a constant threat to every service provider. Distributed reflective DoS attacks are a special kind of mean. They do not attack the target directly but use spoofed requests sent to third party servers to amplify their attack and to obscure the attacker. The goal of this work is an extensive analysis of DRDoS attacks and a broad overview of countermeasures.

Thomas Lukaseder

Attacking the Tor Network English only

The Tor project promises protection of privacy within the Internet. It can be used to access Internet resources theoretically without the possibility of the request being tracked back to its source. However, this also makes it a target for attacks. For this seminar thesis, specific attacks and possible countermeasures on the Tor network should be reviewed. Further, an assessment of the security of Tor usage should be prepared that takes into account the earlier reviewed attacks.

Matthias Matousek

Applications for Secure Multiparty Computation English only

Distributed computation offers many opportunities for novel and advanced applications. However, significant privacy concerns arise when some of the computing parties cannot be trusted sufficiently. Secure multiparty computation (MPC) is an active research field that is attempting to solve the issue of several parties computing specific functions without disclosing their private input data. This seminar thesis should survey and asses applications for MPC.

Matthias Matousek

Beschreibung und allgemeine Angaben, Modulbeschreibung

Einordnung in die Studiengänge:
Informatik, B.Sc.: Seminar
Medieninformatik, B.Sc.: Seminar
Software-Engineering, B.Sc.: Seminar
(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

Sommersemester 2016

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:Ala'a Al-Momani, Benjamin ErbEugen Frasch, Gerhard Habiger, Stephan Kleber, Henning Kopp, Dominik Lang, Thomas Lukaseder, Matthias Matousek, David Mödinger, Rens van der Heijden
Termine:Dienstag, 12.04.2016, 10.15 Uhr - 11.45 Uhr, O27-341: Einführungsveranstaltung (verpflichtend)
Dienstag, 19.04.2016, 10.15 Uhr - 11.45 Uhr, O27-341: Wissenschaftliches Arbeiten (verpflichtend)
Donnerstag, 21.04.2016, 16.15 Uhr - 17.45 Uhr, O27-123: LaTeX-Einführung (freiwillig)
Donnerstag, 16.06.2016, 16.15 Uhr - 17.45 Uhr, O27-123: Präsentationstechniken (verpflichtend)
08.07.2016: Vortragsblocktermin, 47.2.505 und 47.2.506
Lernplattform:Kursmaterialien finden Sie im Moodle-Kurs. Sie werden dem Kurs automatisch hinzugefügt, sobald Sie eines unserer Seminare besuchen.
Themenvergabe:Die Themenvergabe erfolgt bis zum 09.03.2016 über die zentrale Seminarthemen-Vergabe-Plattform.
Sprache:Alle Themen können in deutscher oder englischer Sprache bearbeitet werden, sofern nicht anders angegeben.

Themen


Current Trends in Physical Layer Security (vergeben)

English only!
Ala'a Al-Momani
Physical layer security has attracted a lot of attention in the recent years. In this seminar, we are going to explore the latest trends and techniques in physical layer security. How such technologies could be implemented in different applications. What benefits are gained from implementing those techniques over using the classical cryptographic mechanisms. In addition, the capabilities of an attacker (outsider/insider) to be accepted as a legitimate node in the network are going to be considered. The seminar is going to address the previous issues in more details. The seminar language is English. Perfect for who wants to enhance his knowledge about physical layer characteristics.

Medium Access Control (FDMA, TDMA, CDMA & CSMA): Pros. & Cons. (frei)

English only!
Ala'a Al-Momani
Communication systems have attracted a lot of attention in the past discussing the possible ways how to enhance the reliability of such systems. In this seminar paper, those techniques are going to be discussed and explored in more details. The functionality basis of each are going to be examined and literature will be surfed to get familiar with the latest enhancements on them. Their usage in cellular communication along with the modulation techniques is going to be considered as well. Perfect for who wants to enhance his knowledge about lower layers’ techniques and characteristics especially in cellular communication. 
The Psychology of Social Engineering (vergeben)

Benjamin Erb
Social Engineering as a "soft" technique belongs to the offensive concepts in information security. Mainly focussing on human manipulation and deception, Social Engineering builds on fundamental social-psychological aspects, which are to be surveyed in this work.
Apache Kafka (vergeben)

Benjamin Erb
Apache Kafka is an open source, distributed message broker, which combines features of a message queue system and a transactional log. Main focus of this topic is an introduction of Kafka and its conceptual and technical features.
ARTOS (vergeben)

Eugen Frasch
ARTOS ist ein Forschungsprojekt der Universität Ulm. Das Projekt beschäftigt sich mit der Verteilung, Koordinierung und Überwachung des Ressourcenverbrauches laufender Anwendungen innerhalb eines weichen Echtzeitsystems. Ein genauer Überblick, über den derzeitigen Stand des Projektes und Beschreibung der dahinterliegenden Konzepte sind Ziele dieser Ausarbeitung.
Benchmarking Client-Server Applications (vergeben)

Gerhard Habiger
Client-server architectures are ubiquitous and the backbone of a wide array of applications around the globe. In order to compare different client-server applications and improve on them, a reasonable set of metrics to measure their performance, correctness and availability has to be devised. This work should give an overview over the most important benchmarking methods and metrics for client-server architectures.
Comparison of Configuration Management Tools (vergeben)

Gerhard Habiger
Software configuration management is an important factor in any development project with more than one developer. Providing the same or closely similar development and deployment environments for applications ensures reproducibility of bug testing endeavours and enables developers to concentrate on the application code instead of managing details of differing environments. To automatically and reliably provision these environments, many tools are in popular use nowadays. The purpose of this work is to compare existing solutions like Puppet, Vagrant and Docker and give an overview over their inner workings.
Fuzzing proprietärer Protokolle (vergeben)

Stephan Kleber
Fuzzer sind aktive dynamische Test-Werkzeuge, die helfen sollen, Schwachstellen in Software aufzudecken. Software, die über das Netzwerk erreichbar ist, implementiert typischerweise ein Netzwerkprotokoll. Dorthin können für Tests auf Schwachstellen mit dem Fuzzer semi-zufällige Werte gesandt werden. Ist die Protokollspezifikation unbekannt, ist es schwer sinnvolle Eingabewerte für den Fuzzer zu wählen. Mit "LZfuzz" ist ein Tool vorgestellt worden, das hierfür geeignet sein soll. Im Rahmen der Seminararbeit soll herausgearbeitet werden, was LZfuzz von anderen Fuzzern unterscheidet, um diese Eigenschaft zu erreichen.
Passwortlose Authentisierung (vergeben)

Stephan Kleber
Das Konzept von Passwörtern ist aus vielen Gründen ungeeignet als Authentisierungsmethode. Aus diesem Grund sind schon seit Langem unterschiedliche Alternativen diskutiert worden. Keine dieser Konzepte konnte sich jedoch durchsetzen. Diese Arbeit soll einen Überblick über einige innovative Ansätze der letzten Jahrzehnte - wie "Déjà Vu" (2000), Pico (2011) und Loxin (2014) - geben und diskutieren, in wiefern diese Ansätze ihr Ziel erreichen, besser als eine Passwort-Authentisierung zu sein.
Slide attacks  (vergeben)

Henning Kopp
Moderne symmetrische Blockverschlüsselungen wie AES oder Blowfish basieren auf der vielfachen Wiederholung einer einfachen Rundenfunktion. Da differentielle und lineare Kryptoanalyse sich auf die Fortpflanzung der Zufälligkeit über die Runden kozentrieren war es lange Zeit selbstverständlich, dass jede Verschlüsselung mit genügend Runden sicher gemacht werden kann. Slide attacks haben diesem Denken ein Ende gesetzt, da sie unabhängig von der Rundenzahl durchführbar sind und die Rundenfunktion selbst angreifen. In dieser Arbeit sollen Slide attacks beschrieben werden, sowie die nötigen kryptographischen Grundlagen erarbeitet werden.
Fortuna (vergeben)

Henning Kopp
Fortuna is a state of the art pseudorandom number generator by Schneier and Ferguson. It is based on the earlier Yarrow algorithm by the same authors. There are various interesting design choices which e.g. allow the PRNG to recover from a leakage of its internal state. The goal of this seminar is a description of the design of Fortuna and its properties.
Software-Defined Networking – Chances and Risks for Network Security  (vergeben)

Thomas Lukaseder
Software-Defined Networking bietet die Möglichkeit, die Control Plane 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.
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.
Side-Channel Attacks: Applicability and Impact on Modern Systems  (vergeben)

Matthias Matousek
Side-channel attacks leverage unintended (physical) effects in order to extract or inject information from or into a technical system. This includes (but is by far not limited to) information retrieval from monitor light emanations, key recovery from the power usage of cryptographic hardware, or password sniffing by utilizing the acceleration sensors of a modern smart phone. This work should provide an introduction to side-channel attacks, as well as an assessment of their impact on current computer systems. The focus should lie on attacks on modern systems, such as smart phones or secure communication systems.
Random Linear Network Coding in Peer-to-Peer Systems  (vergeben)

David Mödinger
Random Linear Network Coding is a coding technique to reach
maximum throughput in a network. This can be used in unstructured peer-to-peer system with random topologies to transmit information. This work should give an overview of random linear network coding, established applications in peer-to-peer systems and known problems for adaption.
Einigung in verteilten Systeme  (vergeben)

David Mödinger
Einigungsprotokolle in verteilten Systemen sind von zentraler Bedeutung, gelten aber als schweres Problem. Beispiele für solche Einigung sind Bitcoins Blockchain oder Google Chubby mit Paxos. Fokus dieser Arbeit sollen in verbreiteter Software verwendete Protokolle und deren Eigenschaften und vor allem Einschränkungen sein.
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.
Position verification in VANETs (vergeben)

Rens van der Heijden
One approach to improve road safety and efficiency in the future is by allowing vehicles to communicate and warn or plan their routes. This is realized through vehicular ad-hoc networks. These networks bring a number of challenges, including for routing, as messages are often sent to inform vehicles in a particular area of a traffic jam ahead of them. Many solutions proposed to solve these challenges involve the positions of the vehicles. Thus, for the correct and safe operation of these networks, it is essential that the positions sent by other vehicles can be trusted or verified. In this seminar paper, you will discuss several approaches to verify the positions of vehicles that are received through these networks.
Bus Systems in Modern Vehicles  (vergeben)

Dominik Lang
It is estimated that software accounts for about 70% of innovation in modern vehicles. As a basis to allow new and innovative applications, vehicles contain an internal network of several interconnected bus systems; among these are CAN, Flexray, LIN, MOST, and Ethernet. The goal of this seminar paper is to give an overview of these bus systems.

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

Wintersemester 2015/2016

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, Eugen Frasch, Stephan Kleber, Henning Kopp, Dominik Lang, Thomas Lukaseder, Matthias Matousek, Rens van der Heijden
Termine:Donnerstag, 15.10.2015, 10.15 Uhr - 11.45 Uhr, O27/3211: Einführung in den Seminarablauf (verpflichtend)
Montag, 19.10.2015, 10.15 Uhr - 11.45 Uhr, N24/101: Einführung in LaTeX (freiwillig)
Donnerstag, 22.10.2015, 10.15 Uhr - 11.45 Uhr, H9: Einführung in wissenschaftliches Arbeiten (verpflichtend)
Donnerstag, 14.01.2016, 10.15 Uhr - 11.45 Uhr, H9: Präsentationstechniken (verpflichtend)
Blockseminar am Donnerstag, 04.02.2016, O27/341 und O27/3211 ganztags (verpflichtend)
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 07.07.2015 über die zentrale Seminarthemen-Vergabe-Plattform.
Sprache:Alle Themen können in deutscher oder englischer Sprache bearbeitet werden.

Themen

Social Graph Mining & Social Network Analysis (Bachelor/Master Level) (vergeben)

Benjamin Erb
Soziale Netzwerke stellen dynamische Graphen dar. In dieser Arbeit sollen klassische Analyseverfahren auf diesen Graph-Strukturen auf Basis der Fragestellungen zu sozialen Netzwerken recherchiert und gegenübergestellt werden.
Platforms for Temporal Graph Analysis (Master Level) (vergeben)

Benjamin Erb
The combination of graph-structured data and time-series data yields new opportunities for complex analytics in certain domains. Relatively few platforms are currently addressing this issue. The primary task is an introduction of the overall topic and a comprehensive survey of existing solutions.
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.

Distance Lower Bounding (vergeben)

Stephan Kleber
Conventional distance-bounding protocols use a single-bit request and immediate response to calculate an upper bound on the round-trip time of
two parties: the verifier and the prover. In this manner distance-bounding protocols are able to decide whether the prover is in a specified physical distance to the verifier. A complementary approach is distance lower bounding, that has been newly proposed. Here the prover intends to prove that the distance of verifier and prover is larger than a defined threshold. This seminar paper should evaluate the proposed distance lower bounding concept and discuss its advantages and disadvantages. Moreover the practical applicability in security should be discussed.
Freenet (vergeben)

Henning Kopp
Freenet ist ein peer-to-peer Netzwerk für verteilten Speicher. Eines der Haupt-Designziele für Freenet ist Zensurresistenz und Anonymität. In diesem Seminar sollen die Mechanismen, die Freenet benutzt, um diese Ziele zu gewährleisten, beschrieben werden.
El Gamal (vergeben)

Henning Kopp
El Gamal ist zusammen mit RSA eines der ersten asymmetrischen Verschlüsselungsverfahren. Obwohl El Gamal im Gegensatz zu RSA nie patentiert war und somit frei implementiert werden konnte, hat es sich nie weit durchgesetzt. Trotzdem ist es wichtig für das Verständnis modernerer asymmetrischer Verfahren. In diesem Seminar soll eine funktionale Beschreibung von El Gamal ausgearbeitet werden.
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.

Capsicum (frei)

Dominik Lang

Capabilities and access control lists (ACL) are the most widely known access control concepts for operating systems. In practice, however, ACLs are used in every common operating system, whereas capabilities have not found any widespread use and have mostly been confined to research. Capsicum is a project introducing capabilities for UNIX-based operating systems. It was originally implemented for FreeBSD and is now part of the FreeBSD 10 release. The goal of this seminar paper is to give an overview of Capsicum and how it uses capabilities to better confine applications.

Best Practices for Security Protocols (vergeben)

Dominik Lang

Every day we rely on the security of communication protocols to protect our data. The design of security protocols is difficult, and one mistake can compromise the entire security. The goal of this seminar paper is to give an overview of best practices in designing security protocols.

Technical Report on Openflow (vergeben)

Thomas Lukaseder
Openflow ist das de facto Standardprotokoll, wenn es um Software-Defined Networks (SDN) geht und wird auch oft synonym verwendet mit SDN. Die Protokollspezifikation ist dabei im stetigen Wandel, und sowohl im Bereich der Controller (etwa OpenDaylight und POX) sowie im Bereich der Hardware (etwa Switche von HP oder Mellanox) werden unterschiedliche Features und Versionen von Openflow verwendet. Ziel dieser Arbeit soll es sein, die unterschiedlichen Openflow Versionen untereinander bezüglich ihrer Fähigkeiten zu vergleichen und Controllersoftware und Hardwaregeräte bezüglich der unterstützen Versionen einzuordnen.

Network Traffic Analysis With Netflow (vergeben)

Thomas Lukaseder

Netflow ist eine Technik um statistische Auswertungen über den Netzwerkverkehr erstellen zu können. Anwendungsfälle für diese Auswertungen sind etwa Kapazitätsplanung, Quality of Service Analysen oder auch Eindringlingserkennung im Netzwerk. Diese ursprünglich von Cisco entwickelte Technik wird auch von anderen Herstellern unter anderem Namen verwendet und inzwischen als RFC 3954 auch standardisiert. Ziel dieser Arbeit soll es sein Netflow bezüglich seiner Fähigkeiten zu beschreiben und Anwendungsbeispiele insbesondere aber nicht ausschließlich im Bereich Netzwerksicherheit ausführlich darzulegen.

Side-Channel Attacks on Smartphones  (vergeben)

Matthias Matousek

In contrast to cryptanalysis or other attacks that target actual weaknesses of system designs, "side-channel attacks" aim to attack the implementation of a system. A number of "side-channels" can be exploited: The power consumption of a device, the timing of security sensitive operations, electromagnetic emanation or sounds emitted by the target system. Recent smartphones include more and more sensors that provide further potential side-channels. The goal of this seminar paper is to survey the state of the art in smartphone side-channel attacks, as well as to assess the impact and significance of the existence of these attacks to current mobile device security. 

Homomorphic Encryption and its Application in Distributed Systems (vergeben)

Matthias Matousek

"Homomorphic encryption" has been called the "Holy Grail" of cryptography. It describes an encryption scheme's feature that enables us to perform computations on the encrypted data without the need to decrypt it. As more and more data is being processed "in the cloud", it is obvious that homomorphism is quite a desired feature in order to secure data. During this seminar, current research about homomorphic encryption is to be surveyed and examined in the context of different application scenarios. The paper should also express the student's appraisal of the possibilities and the feasibility of the application of homomorphic encryption. 
Position verification in VANETs (vergeben)

Rens van der Heijden
One approach to improve road safety and efficiency in the future is by allowing vehicles to communicate and warn or plan their routes. This is realized through vehicular ad-hoc networks. These networks bring a number of challenges, including for routing, as messages are often sent to inform vehicles in a particular area of a traffic jam ahead of them. Many solutions proposed to solve these challenges involve the positions of the vehicles. Thus, for the correct and safe operation of these networks, it is essential that the positions sent by other vehicles can be trusted or verified. In this seminar paper, you will discuss several approaches to verify the positions of vehicles that are received through these networks.
Subjective Logic (vergeben)

Rens van der Heijden
Subjective logic is a logic that extends probabilistic logic with certainty. In other words, it allows us to model not just how likely something is, but also how certain we are about this probability. This makes subjective logic a useful tool in areas like trust management. In particular, subjective logic captures these two concepts in one data structure, unlike dempster-shafer theory, which uses an independent value to represent confidence. In this seminar, you will give a short overview of subjective logic and either its different application areas or the mathematical foundations of the logic in comparison to alternative representations.
Apache Zookeeper (vergeben)

Eugen Frasch
Apache ZooKeeper is a software project of the Apache Software Foundation, providing an open source distributed configuration service, synchronization service, and naming registry for large distributed systems. ZooKeeper was a sub-project of Hadoop but is now a top-level project in its own right. ZooKeeper's architecture supports high availability through redundant services. The goal of this semiar paper is to give an overview of ZooKeeper's architecture and its functionality. Also some research about approach of process orchestration has to be surveyed

Google Kubernetes (vergeben)

Eugen Frasch
Kubernetes is an open source container cluster manager. It schedules any number of container replicas across a group of node instances. A master instance exposes the Kubernetes API, through which tasks are defined. Kubernetes spawns containers on nodes to handle the defined tasks. The number and type of containers can be dynamically modified according to need. An agent (a kubelet) on each node instance monitors containers and restarts them if necessary. Kubernetes is optimized for Google Cloud Platform, but can run on any physical or virtual machine. During this seminar, current research about Google Kubernates is to be surveyed and an overview of its functionality should be given.
DevOps (vergeben)

Eugen Frasch

DevOps is a software development method that emphasizes communication, collaboration (information sharing and web service usage), integration, automation, and measurement of cooperation between software developers and other IT professionals. The method acknowledges the interdependence of software development, quality assurance (QA), and IT operations, and aims to help an organization rapidly produce software products and services and to improve operations performance. In this seminar paper the student should give an overview of DevOps and its application in software development. Also comparision to other approaches should be stated.

Docker (vergeben)

Eugen Frasch
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux, Mac OS and Windows. According to industry analyst firm 451 Research, "Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server. This helps enable flexibility and portability on where the application can run, whether on premises, public cloud, private cloud, bare metal, etc." The goal of this semiar paper is to give an overview of Docker's architecture and its functionality.
Google Spanner (vergeben)

Eugen Frasch
Spanner is Google's globally distributed NewSQL database, the successor to BigTable. Google describes Spanner as a not pure relational database system because each table must have a primary key column. The lack of transactions in BigTable led to frequent complaints from users, so Google made distributed transactions central to the Spanner's design. During this seminar, current research about Google Spanner is to be surveyed and an overview of its functionality should be given.

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

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

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

Sommersemester 2014

Titel:Ausgewählte Themen Verteilter Systeme
Englischer Titel:Selected Topics in Distributed Systems
Typ:Seminar, Modul
Kürzel / Nr. / Modulnr.:ATVS / CS5900.113 / ?
SWS / LP:2S / 4LP
Dozent:Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer:Stefan Dietzel,Steffen Kächele, Benjamin Erb, Stephan Kleber, Christian Spann, Rens van der Heijden, Henning Kopp
Termine:Mittwoch, 14.15 Uhr - 15.45 Uhr, O27-341
Themenvorstellung:Unverbindliche Themenvorstellung am Mittwoch, 23.04.2014, 14.15 Uhr im Raum 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 01.04.2014 über die zentrale Seminarthemen-Vergabe-Plattform.

Themen

Anomalie-basierte Angriffserkennungssystemen für Indusrie-steuersysteme

Rens van der Heijden

In aktuellen Fabriken und Kraftwerken werden häufig elektronische Steuersysteme eingesetzt, um einen Prozess automatisch zu kontrolieren und steuern. Diese Steuersysteme nennen sich Industrial Control Systems (ICS), und werden meistens verwendet, um kritische Systeme zu monitoren und auch automatisch auf Ereignisse zu reagieren. Diese Systeme werden immer häufiger an das Internet angebunden, und damit gibt es ein deutlich höheres Risiko auf Angriffe. Dazu werden in Forschungsarbeiten sogenannte Intrusion Detection Systems (IDS) entwickelt, um diese Angriffe zu erkennen. Ziel dieser Seminararbeit ist, eine Übersicht zu schaffen, welche Arten von IDS es gibt, insbesondere in dem Teilbereich der anomalie-basierten (anomaly-based) IDS.
Sicherheitsherausforderungen von intelligente Strom-Infrastrukturen
Rens van der Heijden
In den letzten Jahren sind verschiedene Arten von sogenannten "Smart Meters" eingeführt, eine Art von Stromzähler, die es ermöglicht Verbrauch von einem Haus zu kommunizieren. Diese Informationen können von Stromlieferant verwendet werden, um die Produktion von Strom auf dem aktuellem Bedarf des Stromnetzes an zu passen. Dies wird immer wichtiger, weil die Produktion nicht länger nur am Kraftwerk statt findet, sonder dann auch bei Häuser, aufgrund eines zunehmendes Anzahl von Stromproduktion aus erneuerbare Energiequellen wie Wind und Sonne. Das gesamte Netzwerk von Produzenten und Verbraucher bezeichnet man auch mit "Smart Grid". Ziel dieser Arbeit ist, die Sicherheitsanforderungen in diese Netzwerken zu analysieren, und insbesondere fest zu stellen, wie diese sich von traditionelle Netzwerken unterscheiden.
Verbesserte Vorgangs- und Störfallserkennung mit fahrzeug-fahrzeug Netzwerken
Rens van der Heijden
Fahrzeug-Fahrzeug Kommunikation ist ein Forschungsgebiet das sich in die letzte 10-15 Jahren verbreitet hat, mit das Hauptziel die Sicherheit des Fahrers zu erhöhen. Zusätzlich gibt es Möglichkeiten die gesammelte Daten so zu verwenden, das z.B. Staus erkannt werden können, oder freie Parkplätze gefunden werden können. Dazu ist es notwendig, das Fahrzeuge innerhalb des Netzes identifizieren können, wenn interessante Ereignisse passieren. Ziel dieser Arbeit ist, ausgewählte Mechanismen zu diskutieren, die mittels Nachrichten aus dem Fahrzeug-Fahrzeug Kommunikationssystem verschiedene Arten von Ereignisse bzw. Störfälle erkennen.
Commutative Replicated Data Types
Benjamin Erb
Commutative Replicated Data Types (CRDTs) sind spezielle Datentypen, deren Operationen vertauschbar sind. Somit konvergieren nebenläufige Operationen auf Replikaten letztendlich auf den gleichen Zustand, ohne das dafür besondere Nebenläufigkeitskontrolle notwendig ist. CRDTs eignen sich deswegen vor allem für den Einsatz in verteilten Anwendungen und Datenbanken. Ziel der Arbeit ist eine Vorstellung von CRDTs und ihren Konzepten.
Reactive Programming
Benjamin Erb
Reactive Programming fasst einen Architekturtrend zusammen, der auf das Design und die Implementierung von ereignisbasierten, skalierbaren, fehlertoleranten und interaktiven verteilten Anwendungen abzielt. Ziel der Arbeit ist die Vorstellung der Grundidee und der einzelnen architektonischen Konzepte, sowie eine Einordnung zu anderen verteilten Architekturen. Desweiteren soll auf verfügbare Frameworks wir RxJava und Akka eingegangen werden, die den Einsatz von Reactive Programming erleichtern. 
Graphenbasierte Computing-Frameworks
Benjamin Erb
Neben klassischen Batch-Processing-Plattformen wie Hadoop und speziellen graph-basierten NoSQL-Datenbanken wie neo4j gibt es auch dedizierte Frameworks, um auf graph-basierten Daten Berechnungen durchzuführen. In dieser Seminararbeit sollen solche Frameworks, wie zum Beispiel GraphX, Pregel oder PowerGraph, vorgestellt und erläutert werden.

Sponge functions
Henning Kopp

Ein wichtiger Baustein in Sicherheitssystemen sind kryptographische Hashfunktionen. Man kann sie sich vorstellen als eine Art mathematische Einbahnstraße. Eine oft verwendete Konstruktion um Hashfunktionen zu bauen ist die Merkle-Damgard-Konstruktion. Leider sind die so entworfenen Hashfunktionen verwundbar durch Length extension Angriffe. Der neue Standard SHA-3 verwendet dagegen die sogenannte sponge construction, die sogar beweisbare Sicherheitsgarantien liefert. Ziel dieser Arbeit ist die Herausarbeitung der Vor- und Nachteile der sponge Konstruktion.

Miller-Rabin primality test
Henning Kopp

Primzahltests finden häufig Anwendung in Zufallszahlengeneratoren oder asymmetrischen Verschlüsselungsverfahren wie zum Beispiel RSA. Der probabilistische Primzahltest von Miller-Rabin ist trotz seines Alters und seiner einfachen Implementierung momentan einer der effektivsten Primzahltests. Je nach Kenntnisstand des Studenten wird eventuell noch ein zweiter Primzahltest besprochen, Anwendungsgebiete erläutert oder die mathematische Grundlagen vertieft.

Das Bitcoin-protokoll
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. Je nach Aufwand können noch Details vertieft oder die gesellschaftlichen Folgen besprochen werden.
Subjective Logic

Stefan Dietzel

Subjective Logic ist eine von Adun Josang entwickelte Logik die einige Vorzüge gegenüber klassischer Boolescher Logik oder probabilistischer Logik bietet. Subjective Logic bietet eine flexible Modellierungssprache für Aussagen und deren Kombination. In verteilten Systemen kann Subjective Logic für Web-of-Trust-Anwendungen, aber auch für mobile ad-hoc Netze wie drahtlose Sensornetze eingesetzt werden. Diese Seminararbeit soll einen Überblick über Subjective Logik geben und den Einsatz anhand von praktischen Anwendungsbeispielen diskutieren.
VANET-Anwendungen für Verkehrseffizienz

Stefan Dietzel

VANETs sind ad-hoc Netze, die zwischen Fahrzeugen aufgebaut werden. Neben Anwendungen die die Sicherheit der Fahrer erhöhen ist die Steigerung der Verkehrseffizienz das Haupt-Anwendungsgebiet. Mögliche Umsetzungen sind virtuelle Ampeln, dynamische Ampelschaltungen, dynamische Routenanpassung sowie verbesserte Parkplatzsuche. In dieser Arbeit soll ein Überblick über mögliche Anwendungen gegeben werden sowie die darunter liegenden Herausforderungen, wie etwa effiziente Informationsverbreitung im Netzwerk, beleuchtet werden.
Privacy in VANETs

Stefan Dietzel

VANETs sind ad-hoc Netze, die zwischen Fahrzeugen aufgebaut werden. Gleichwohl sie viele Anwendungen ermöglichen, ist die Basis für viele dieser Anwendungen der ständige Austausch von feingranularen Positions-Daten der einzelnen Fahrzeuge. Ein Angreifer der die Positionsdaten sammelt kann so detaillierte Bewegungsmuster erstellen. Diese Arbeit soll einen Überblick über das Ausmaß möglicher Angriffe geben sowie exemplarisch verschiedene Gegenmaßnahmen vorstellen.

Binary Instrumentation
Stephan Kleber

Zur dynamischen Analyse von Programmen kann die sogenannte Binary Instrumentation verwendet werden. Hierbei werden mit unterschiedlichen Verfahren Hooks in das Programm eingebracht, die auf bestimmte Funktionsaufrufe reagieren und diese protokollieren können, ohne den Programmablauf selbst zu beeinflussen. Auf gewisse Weise handelt es sich hierbei um den komplementären Ansatz zu Taint Tracking, das zur Verfolgung von Datenflüssen eingesetzt wird. Mit geeigneter Prozessorunterstützung ist es sogar möglich solche Hooks auf eine Binärdatei anzuwenden, ohne dass diese rekompiliert werden muss. Ein Beispiel für ein solches Tool ist PIN, das von Intel entwickelt wurde. Diese Arbeit soll die Konzepte und Grundlagen von Binary Instrumentation darstellen und dazu PIN zur Veranschaulichung nutzen.

Binäranalyse als Reverse Engineering Technik
Stephan Kleber

Bei der Analyse von Programmen mit unbekanntem Quellcode, wie es etwa bei Malware der Fall ist, ist die Analyse der Binärdatei eine wichtige Technik. Diese enthält den Programmcode, der in der Regel direkt durch den Prozessor ausgeführt wird. Da durch das Übersetzen des Quellcodes in den Programmcode viel von der Semantik einer Hochsprache verloren geht, ist eine solche Analyse nicht trivial. In dieser Arbeit soll erläutert werden, wie dieser Umstand durch geeignete Tools möglichst ausgeglichen und dem Analysten das Verständnis für das Programmverhalten erleichtert werden kann. Ein Tool das hierbei sowohl dynamische als auch statische Analyseverfahren vereint ist BitBlaze, welches als Beispiel dienen soll.

Techniken zur Generierung von Kommunikationsprotokoll-Zustandsautomaten (Protocol Reverse-Engineering)
Stephan Kleber

Bei Sicherheitsanalysen liegen in vielen Fällen Mitschnitte von Kommunikation oder kommunizierende Geräte vor, deren Protokoll vollkommen unbekannt ist. Zur Analyse und Rekonstruktion des Protokolls einer solchen Kommunikation sind nun verschiedene Ansätze denkbar. Neben der Erkennung des Paketformats ist wichtig zu ermitteln welche Abfolge von Paketen gültige Protokolläufe ausmachen. Tools wie "PEXT", "MACE" und "Netzob" stellen Vertreter verschiedener Ansätze hierzu dar. Ziel dieser Arbeit soll sein die Stärken und Schwächen der einzelnen Ansätze herauszuarbeiten und darzustellen, wo deren Grenzen beim Reverse-Engineering der Zustandsmaschine eines Protokolls liegen.
Identifikation notwendiger Garantien der Netzwerkschicht in BFT Algorithmen
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.

Distributed Event Processing Frameworks

Jörg Domaschka

Die zunehmende Größe verteilter Anwendungen stellt auch größere Ansprüche an das Monitoring der zahlreichen Anwendungskomponenten und involvierten Hardware-Knoten. Dies kann zum Beispiel mit dem Einsatz von Verteilten Event Processing Frameworks realisiert werden. Zu diesen gehören unter anderem S4 (Yahoo), Storm (Twitter), Riehmann und Vert.igo.

Ziel dieser Arbeit ist die Definition von Vergleichskriterien für Verteilte Event Processing Frameworks und ein anschließender Vergleich von drei solcher Systeme. Eine Feature-basierte Analyse der drei System in Hinblick auf Monitoring rundet die Arbeit ab.

Vergleich von CloudFoundry und Apache Stratos

Jörg Domaschka

Der Cloud Hype der vergangenen Jahre hat ein reichaltiges Öko-System an Cloud Plattformen und Cloud Anbietern hervorgebracht. Nachdem die Angebote von Infrastructure-as-a-Service (IaaS) Clouds inzwischen kommerziell voll ausgeschöpft werden, steht die Verwendung von Platform-as-a-Service (PaaS) Angeboten noch am Anfang.

In dieser Arbeit sollen zunächst die verschiedenen Cloud Angebote (IaaS, PaaS, SaaS) erklärt und gegeneinander abgegrenzt werden. Im Anschluss daran sollen die beiden Software Stacks CloudFoundry und Apache Stratos hinsichtlich Kriterien wie Ansatz, Architektur, Portabilität, ... verglichen werden. Zum Schluss folgt eine kritische Diskussion.

In-memory Indizierung von (kleinen) Daten

Jörg Domaschka

Große Web-Anwendungen wie Twitter und Facebook benötigen effiziente Algorithmen um schnell auf viele kleine Datenstrukturen wie Tweets oder Posts zugreifen zu können. Meist wird dazu ein verteilter Index im Speicher gehalten während die Daten auf Grund der schieren Menge auf persistenten Datenträgern liegen (müssen). In diesem Vortrag sollen verschiedene Algorithmen zur Indizierung vorgestellt und miteinander verglichen werden. Dazu gehören zum Beispiel SILT, SkimpyStash, BufferHash oder FAWN-DS.

Beschreibung und allgemeine Angaben, Modulbeschreibung

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

Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen:Ausgewählte Themen Verteilter Systeme, 2S, 4LP
Verantwortlich:Prof. Dr. Frank Kargl
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Grundlagen der Rechnernetze, Proseminar
Vorraussetzungen (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

Wintersemester 2013/2014

Titel:Ausgewählte Themen Verteilter Systeme
Englischer Titel:Selected Topics in Distributed Systems
Typ:Seminar, Modul
Kürzel / Nr. / Modulnr.:ATVS / CS5900.113 / ?
SWS / LP:2S / 4LP
Dozent:Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer:Stefan Dietzel, Jörg Domaschka, Benjamin Erb, Steffen Kächele, Stephan Kleber, Christian Spann, Rens van der Heijden
Termine:Mittwoch, 14.00 – 16.00 Uhr, O27-341
Vorbesprechung:Gemeinsame Vorbesprechung der Seminare ATVS und RTDS am Montag, 14.10.2013, 12.30 Uhr im Raum O27-341.
Lernplattform:Die Seminarplätze werden per ILIAS vergeben. Bitte melden Sie sich dazu im ILIAS-Kurs an.
Themenvergabe:Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. Alternativ können Themen vorab in Absprache mit dem jeweiligen Betreuer vergeben werden, wir empfehlen aber die Vorbesprechung abzuwarten, um einen besseren Überblick über die Themen zu erhalten.

Themen

Graphenbasierte Computing-Frameworks
Betreuer: Benjamin Erb
(Thema bereits vergeben)
Benjamin Erb

Neben klassischen Batch-Processing-Plattformen wie Hadoop und speziellen graph-basierten NoSQL-Datenbanken wie neo4j gibt es auch dedizierte Frameworks, um auf graph-basierten Daten Berechnungen durchzuführen. In dieser Seminararbeit sollen solche Frameworks, wie zum Beispiel GraphX, Pregel oder PowerGraph, vorgestellt und erläutert werden.

Erlang's OTP Library
Betreuer: Benjamin Erb
(Thema bereits vergeben)

Erlang ist eine funktionale Programmiersprache, die insbesondere für nebenläufige und verteilte Anwendungen zunehmend Verbreitung findet. Ursprünglich für Telefonie-Anwendungen entworfen, stellt Erlang mit Open Telecom Platform (OTP) eine Standardbibliothek und Framework für verteilte, hochverfügbare Systeme bereit. In dieser Seminararbeit sollen die generischen Konzepte von OTP vorgestellt werden.
Flow-based Programming
Betreuer: Benjamin Erb
(Thema bereits vergeben)

Flow-based Programming ist ein Programmierparadigma, welches Anwendungen in Form von vernetzten Komponenten modelliert, die via Message Passing Daten austauschen. Als eine spezielle Variante von Dataflow Programming erlaubt dieses Paradigma unter anderem auch deklarative Nebenläufigkeit. Flow-based Programming ist durch Spracherweiterungen und Frameworks mittlerweile auch in mehreren Mainstream-Programmiersprachen verfügbar und ermöglicht unter anderem die Entwicklung von Web-Applikationen.
Event Sourcing & Command-Query Responsibility Segregation
Betreuer: Benjamin Erb
(Thema bereits vergeben)
Event Sourcing (ES) und Command-query Responsibility Segregation (CQRS) stellen zwei neuartige architektonische Muster für verteilte Softwareanwendungen dar. ES betrachtet den Zustand der Geschäftslogik nicht als direkt änderbaren Wert, sondern vielmehr als Resultat einer Reihe von gespeicherten Ereignissen (Events). CQRS ergänzt ES und ersetzt das traditionelle Lesen und Schreiben von Anwendugszuständen und trennt zwischen zustandsändernden Kommandos und Queries zur Zustandsabfrage. Ziel der Arbeit ist ein Überblick über beide Muster sowie eine Einordnung in verteilte Architekturen und verwandte Forschungsgebiete.
(Distributed) Complex Event Processing
Betreuer: Jörg Domaschka

(Thema bereits vergeben)

Beim event processing handelt es sich um einen Ansatz einen Strom von Events zu analysieren und aus diesem Schlussfolgerungen zu ziehen. Complex Event Processing (CEP) betrachtet dabei zusätzlich Daten aus verschiedene Quellen. Viele kommerzielle Produkte zur Umsetzung von CEP, aber auch Forschungsarbeiten basieren auf einem Systemmodell, in dem die Event-Analyse auf nur einem Knoten stattfindet, was notwendigerweise eine Begrenzung des maximalen Durchsatzes zur Folge hat. In dieser Seminarabeit soll zunächst CEP anhand existierender Systeme vorgestellt werden. Daneben sollen Event Processing Frameworks herangezogen werden und mit CEP Systemen hinsichtlich Komplexität, Ausdrucksmächtigkeit und Skalierbarkeit verglichen werden.
Vereinheitlichung für die Beschreibung und Programmierung von Cloud Anwendungen
Betreuer: Jörg Domaschka

(Thema bereits vergeben)

In den letzten Jahren sind eine Vielzahl von Cloud Platformen entstanden, die auf einer der drei Schichten Software as a Service, Platform as a Service und Infrastructure as a Service operieren. Clouds auf einer der Schichten bieten oft eine ähnliche Funktionalität an, verwenden aber unterschiedliche Sprachen um die auszubringende Cloud-Anwendung bzw. die zur Verfügung stehenden Cloud Resourcen zu beschreiben. Gleiches gilt für die programmiersprachlichen Schnittstellen um auf die Funktionalität einer Cloud Platform zuzugreifen. In diesem Thema sollen Ansätze betrachtet werden, die zum Ziel haben die Beschreibung von Cloud Resourcen sowie Cloud Anwendungen  aber auch die Programmierschnittstelle zu vereinheitlichen.
Vergleich von Cloud Taxonomien
Betreuer: Jörg Domaschka und Steffen Kächele

(Thema bereits vergeben)

Die Arbeitsgruppe um Prof. Hauck hat vor kurzem einen Beitrag für eine Konferenz eingereicht, der eine Taxonomie für Cloud Systeme vorschlägt. In diesem Papier wird versucht die drei Aspekte Computing, Storage und Netzwerk voneinander zu trennen und für den jeweiligen Aspekt verschiedene Abstraktionsebenen einzuführen, auf denen Dienste angeboten werden können. Als Beispiel zeigt das Papier wie die Amazon Cloud Dienste auf diese Art kategorisiert werden können.

Im Seminar sollen weitere Angebote von anderen Cloud Anbietern klassifiziert und daneben noch zusätzliche Aspekte von Cloud Diensten (wie zum Beispiel Sicherheit) identifiziert werden, an denen die vorgeschlagene Taxonomie nicht ausreicht und folglich noch erweitert werden muss. Im Zuge dessen soll nach bestehenden Taxonomien/Nomenklaturen gesucht werden, die die fehlenden Aspekte abbilden und diese Taxonomien mit der vorgeschlagenen  vergleichen. 
CoreOS
Betreuer: Steffen Kächele
CoreOS ist ein Server Betriebssystem, welches relativ einfach und problemlos mit Aktualisierungen versorgt werden kann. Durch ein tiefgreifendes Container-Prinzip, wird hierbei vermieden, dass es zu Inkompatibilitäten zu den auf dem Server laufenden Anwendungen kommt. Container können zur Aktualisierung auf andere Rechner verschoben werden. Nach Vorstellung der CoreOS-Entwickler sollen so Server-Betriebssysteme ähnlich flexibel mit neuen Funktionen ausgestattet werden können, wie es bei heutigen Browsern der Fall ist.

Cloud Dienst für Qt
Betreuer: Steffen Kächele

(Thema bereits vergeben)

Digia betreibt mit Qt eine C++ Bibliothek zur plattformübergreifenden Entwicklung von GUI-Anwendungen. Unter dem Namen BaaS (Backend as a Service) stellt der Betreiber nun einen Dienst vor, mit welchem Entwickler sehr schnell ein Backend für ihre Qt and QML Anwendung erstellen können. Die Qt-Cloud nimmt ihnen dabei die Wartung von Server und Datenbanken, Skalierbarkeit sowie das Benutzermanagement ab. Im Rahmen dieser Seminararbeit sollen die Architektur, Funktionsweise und Entwicklung von Frontend Anwendungen mithilfe des neuen Backend Dienstes vorgestellt werden.
Automatische Analyse von Protokollen (Protocol Reverse-Engineering)
Betreuer: Stephan Kleber

(Thema bereits vergeben)
Bei Sicherheitsanalysen liegen in vielen Fällen Mitschnitte von Kommunikation oder kommunizierende Geräte vor, deren Protokoll vollkommen unbekannt ist. Zur Analyse und Rekonstruktion des Protokolls einer solchen Kommunikation sind nun verschiedene Ansätze denkbar. Neben der reinen statischen Analyse der Mitschnitte ist es in manchen Fällen möglich den Binärcode zumindest eines des Kommunikationspartners zu analysieren oder selbst generierte Pakete zu senden, deren Auswirkungen auf die kommunizierenden Entitäten beobachtet werden können. Tools wie "Discoverer", "ScriptGen" und "Dispatcher" stellen Vertreter dieser Ansätze dar. Ziel dieser Arbeit soll sein die Stärken und Schwächen der einzelnen Ansätze herauszuarbeiten und darzustellen, wo deren Grenzen beim Reverse-Engineering eines Protokolls liegen.
Binary Instrumentation
Betreuer: Stephan Kleber
Zur dynamischen Analyse von Programmen kann die sogenannte Binary Instrumentation verwendet werden. Hierbei werden mit unterschiedlichen Verfahren Hooks in das Programm eingebracht, die auf bestimmte Funktionsaufrufe reagieren und diese Protokollieren können, ohne den Programmablauf selbst zu beeinflussen. Auf gewisse Weise handelt es sich hierbei um den komplementären Ansatz zu Taint Tracking, das zur Verfolgung von Datenflüssen eingesetzt wird. Mit geegneter Prozessorunterstützung ist es sogar möglich solche Hooks auf eine Binärdatei anzuwenden, ohne dass diese rekompiliert werden muss. Ein Beispiel für ein solches Tool ist PIN, das von Intel entwickelt wurde. Diese Arbeit soll die Konzepte und Grundlagen von Binary Instrumentation darstellen und dazu PIN zur Veranschaulichung nutzen.
Privacy-Risiken durch Sensorik von Mobilgeräten
Betreuer: Stephan Kleber

(Thema bereits vergeben)
Eine Vielzahl von Sensoren begleitet uns in Form eines Smartphones fast auf Schritt und Tritt. Dabei ist uns häufig gar nicht klar wie detailliert die Messungen dieser Sensoren sind und was wir damit an persönlichen Informationen preisgeben. Dabei können Angreifer unerwarteten Nutzen aus GPS, Kamera, Beschleunigungssensoren, Magnetfeldsensoren, Helligkeitssensoren und dergleichen ziehen. Daneben können auch interne Datenbanken wie Kontakte und Kalender als virtuelle Sensoren betrachtet werden. All dies macht Smartphones zu einem attraktiven Ziel für Angreifer, die Profilinformationen über den Nutzer generieren wollen. Ziel dieser Arbeit ist es, die verschiedenen Gefährungsarten der Privacy durch die einzelnen Sensoren zu formulieren und Beispiele für entsprechende Angriffe in der Literatur zu finden.
Angriffe auf Distance Bounding Protokolle
Betreuer: Stephan Kleber

(Thema bereits vergeben)
Distance Bounding Protokolle sollen dazu in der Lage sein, einer Entität "Prover" nachzuweisen, dass sich diese physisch in der Nähe einer anderen Entität "Verifier" befindet. Ein Anwendungsfall sind Keyless Entry Systeme, die den Zugang zu Räumen oder Fahrzeugen kontaktlos ermöglichen. Neuere Untersuchungen lassen jedoch Zweifel an der Eignung bekannter Distance Bounding Schemata aufkommen, den geforderten Nachweis fälschungssicher erbringen zu können. Ziel dieser Arbeit soll sein, die vorgebrachten Zweifel kritisch zu hinterfragen und gegen Literatur abzuwägen, die im Gegenteil behauptet, die Modelle, gegen welche solcherlei Beweise geführt wurden, seien zu stark.
Two-Factor-Authentication
Betreuer: Stefan Dietzel

(Thema bereits vergeben)

Immer mehr Dienste reagieren auf mögliche Schwachstellen von Passwörtern und führen zusätzliche Identifikationsmerkmale ein. Prominente Beispiele sind z.B. Google, Dropbox, Github. Diese Identifikation durch sowohl ein klassisches Passwort, als auch ein weiteres Merkmal wird Two-Factor-Authentication genannt. Während Passwörter ein nur dem Benutzer bekanntes Geheimnis ("something you know") sind, wird als zweites Merkmal oft ein Gegenstand genutzt, der sich im Besitz des Benutzers befindet ("something you have"). Durch die Kopplung an einen physischen Gegenstand wird die ungewollte wie auch die gewollte Weitergabe an Dritte erschwert. Ziel der Arbeit ist es, einen Überblick über Two-Factor-Authentication Mechanismen (etwa TOTP, HOTP, Ubikey) sowie proprietäre Systeme (etwa sogenannte Wish-It-Was-Two-Factor Systeme, SMS-Verifikation) zu geben und deren Sicherheitsimplikationen zu vergleichen.

Informations-Verbreitung in VANETs
Betreuer: Stefan Dietzel

(Thema bereits vergeben)

VANETs sind Ad-Hoc-Netze die sich ohne Zuhilfenahme von Infrastruktur zwischen Fahrzeugen auf der Straße bilden. Mit Hilfe von VANETs lassen sich Informationen aller Art zwischen Fahrzeugen austauschen; ein plastisches Beispiel sind Verkehrs-Informations-Systeme, die helfen können, intelligent Staus zu umfahren. Die besondere Herausforderung hierbei ist die hohe Mobilität von Fahrzeugen, welche den Einsatz von klassischen Routingprotokollen verhindert. Auch sind die Anforderungen in VANETs oft anders: Informationen müssen an meist geographisch eingegrenzte Gruppen von interessierten Fahrzeugen verteilt werden anstatt an einzelne Netzwerkteilnehmer versandt zu werden. Ziel dieser Arbeit ist es, einen Überblick vor allem über neuere Protokolle Multi-Hop Verbreitungsmechanismen (z.B. Geocast, Aggregation, Relevance-based Dissemination) zu geben.
Reputations-Management in Ad-Hoc Netzen
Betreuer: Stefan Dietzel
Mobile Ad-Hoc Netze bilden sich durch spontane drahtlose Vernetzung von nahezu beliebigen Knoten. Hierbei übernehmen alle Knoten Aufgaben die sonst nur von zentralen oder zumindest zentral verwalteten Knoten ausgeführt werden. Beispiele sind Routing von Paketen oder die Erfassung der Umgebung mittels Sensoren. Aufgrund der Ausführung durch beliebige Knoten stellt sich die Frage, ob die Aufgaben korrekt ausgeführt werden oder einzelne Knoten sich egoistisch verhalten oder das Netzwerk anderweitig angreifen. Um solche Knoten zu erkennen werden oft Reputations-Systeme eingesetzt. Diese bilden und verwalten Vertrauen in Knoten basierend auf bisheriger Interation. Ziel der Arbeit ist es verschiedene Reputationssysteme zu kategorisieren, vorzustellen und zu vergleichen.
(Netzwerk) Intrusion Detection Systeme
Betreuer: Rens van der Heijden

(Thema bereits vergeben)

In vielen Geschäfts- und privaten Netzwerken gibt es ein Bedarf, die Geräte innerhalb des Netzes vor Angreifern zu schützen. Eine wichtiges Hilfsmittel hierzu ist ein Intrusion Detection System (IDS), welches versucht, Angreifer zu identifizieren auf Basis von Netzwerkkommunikation. Diese Arbeit soll unterschiedlichen Arten von IDS darstellen und vergleichen.

Homomorphe Verschlüsslung
Betreuer: Rens van der Heijden

(Thema bereits vergeben)

(Dieses Thema ist hauptsächlich für RTDS-Teilnehmer geeignet.)
Komplette homomorphe Verschlüsselung gilt seit einiger Zeit als "heiliger Gral" der Kryptographie-Forschung. Dieses Ziel ist seit kurzem Erreicht worden auf Basis von Lattices. Das Ziel für diese Seminararbeit ist, die unterschiedlichen Anwendungen von homomorpher Verschlüsslung zu besprechen. Es gibt die Wahlmöglichkeit, in die Breite zu gehen, oder einen bestimmten Anwendungsfall im Detail auszuarbeiten. Beispiele sind hier multi-party computation, wo man versucht Eingaben von mehrere Parteien zu verrechnen, ohne das die Eingaben bekannt werden, oder searching in encrypted data, wo man einen Cloud-Dienst anbietet, der eine verschlüsselte Datenbank durchsuchen kann, ohne die Schlüssel zu kennen.
Elekronisch Wählen: Theorie und Praxis
Betreuer: Rens van der Heijden
In manchen Länder gibt es aus praktischen und ökonomischen Gründen einen elektronischen Wahlprozes. Die Implementierung dieses Prozesses ist sehr unterschiedlich: sie variiert von elektronischer Angabe und Zählung (z.B. in den USA) bis zu Internet-Wahlen (z.B. in Estland). Obwohl es seit längerer Zeit (hauptsächlich theoretische) Forschung in diesem Bereich gibt, werden elektronische Systeme im letzten Jahren in manche Länder abgeschafft (z.B. in die Niederlande) wegen mögliche Sicherheitsproblemen. In dieser Arbeit ist das Ziel, die theoretischen und praktischen Aspekte dieses Themas abzudecken sowie die Schwächen zu verstehen.
Software Verifikation
Betreuer: Rens van der Heijden
In der heutigen automatisierten Welt gibt es mehr und mehr Geräte, die schwere oder gefährliche Aufgaben von Menschen übernehmen. Beispiele sind das Steuern von Flugzeugen bis hin zu Industrie-Steuersystemen und dem Curiosity Mars Rover. In diesen Geräten gibt es eingebettete Software, die sich nicht einfach austauschen lässt, und eine Bug in solchem Code könnte großen Schaden verursachen. Obwohl Testing eine Ansatz ist, um solches zu vermeiden, kann man sich damit eher schwierig gegen gezielte Angreifer schützen. Deswegen gibt es auch den Ansatz von Software Verifikation, der in dieser Arbeit vorgestellt werden soll. Dazu soll die Arbeit Grundlagen und praktische Aspekte abdecken.
Byzantinische Fehlertoleranz anschaulich erklärt
Betreuer: Christian Spann
Byzantinisch Fehlertolerante Systeme schaffen es, in asynchronen Netzwerken mit dem Ausfahl einer definierten Anzahl von Teilknoten des Systems zurechtzukommen. Dabei kann das System sich nicht einmal darauf stützen, ob ein Teilknoten antwortet oder nicht, da das System wie oben erwähnt in einem asynchronen Netzwerk operiert in welchem Nachrichten beliebig verzögert werden können. Da die Algorithmen zur Lösung dieses Problems teilweise etwas knifflig sind, ist es Ziel dieses Themas, alle zu lösenden Teilprobleme vergleichend anhand zweier Algorithmen anschaulich vorzustellen.

Beschreibung und allgemeine Angaben, Modulbeschreibung

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

Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen:Ausgewählte Themen Verteilter Systeme, 2S, 4LP
Verantwortlich:Prof. Dr. Frank Kargl
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Grundlagen der Rechnernetze, Proseminar
Vorraussetzungen (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

Sommersemester 2013

Titel:Ausgewählte Themen Verteilter Systeme
Englischer Titel:Selected Topics in Distributed Systems
Typ:Seminar, Modul
Kürzel / Nr. / Modulnr.:ATVS / CS5900.113 / ?
SWS / LP:2S / 4LP
Dozent:Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer:Stefan Dietzel,Steffen Kächele, Benjamin Erb, Stephan Kleber, Vladimir Nikolov, Sven Schober, Christian Spann, Rens van der Heijden
Termine:Mittwochs, 14.00 – 16.00 Uhr, O27-122
Vorbesprechung:Unverbindliche Vorbesprechung am Mittwoch, 17.04.2013, 14.15 Uhr im Raum O27-122.
Lernplattform:Die Seminarplätze werden per ILIAS vergeben. Bitte melden Sie sich dazu im ILIAS-Kurs an.
Themenvergabe:Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. Alternativ können Themen vorab in Absprache mit dem jeweiligen Betreuer vergeben werden, wir empfehlen aber die Vorbesprechung abzuwarten, um einen besseren Überblick über die Themen zu erhalten.

Themen

Software Defined Networking

Betreuer: Benjamin Erb

Software Defined Networking ermöglicht die Programmierung von Netzwerkkomponenten über offene Schnittstellen wie OpenFlow. Dadurch können zum Beispiel Netzwerk-Infrastrukturen virtualisiert oder neuartige Netzwerkdienste implementiert werden. Ebenso können Anwendungen über APIs Zugriff auf die Netzwerk-Infrastruktur bekommen.
Das Disruptor Pattern

Betreuer: Benjamin Erb

Das Disruptor Pattern bietet eine Alternative zu traditionellen Queues für die Inter-Thread-Kommunikation und wurde ursprünglich für "high-frequency trading" entwickelt. Es zielt hierbei insbesondere auf hochperformanten Durchsatz ab und orientiert sich an modernen CPU-Architekturen. Damit ist der Disruptor auch allgemein für nebenläufige Programmierung interessant.
Time-Warp Algorithmus für nebenläufige Simulationen

Betreuer: Benjamin Erb

Der Time-Warp Algorithmus stellt einen populären Mechanismus für die Ausführung von nebenläufigen, diskret-ereignisbasierten Simulationen dar. Er ermöglicht eine optimistische Ausführung bei gleichzeitiger Wahrung von zeitlicher Konsistenz.
Gegenmaßnahmen für Angriffe auf Anonymitätsnetze

Betreuer: Rens van der Heijden

Ziel dieser Arbeit ist, Angriffe auf Anonymitätsnetze, wie z.B. TOR, zu besprechen. Die Arbeit soll erklären, welche Sicherheitsziele angegriffen werden. Weiterhin sollen mögliche Gegenmaßnahmen erklärt werden. Es gibt die Wahlmöglichkeit, entweder detailliert auf 1-2 Angriffe einzugehen oder etwas weniger detailliert einen breiteren Bereich von Angriffen zu erklären.
Privacy-preserving Biometrics

Betreuer: Rens van der Heijden

In diese Arbeit sollen privacy-preserving biometrische Systeme besprochen werden. Hauptziel der Arbeit soll sein, zu erklären, warum man diese Systeme überhaupt braucht, und wie diese Systeme Privacy de(r/s) Benutzer(in/s) und Sicherheit des Systems beinflussen.
Bitcoins

Betreuer: Stefan Dietzel

(vergeben) Bitcoins sind eine neuartige, elektronische, verteilt berechnete Währung. Ziel der Arbeit ist es, einen Überblick über Bitcoins im allgemeinen sowie die verteilte Berechnung im speziellen zu geben.
Einsatz von Physically Unclonable Functions im Bereich IT-Sicherheit

Betreuer: Stephan Kleber

Physically Unclonable Functions (PUFs) nutzen phyikalische Eigenschaften einzelner 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. Diese Arbeit soll die aktuelle Forschung in diesem Bereich im Überblick beschreiben und interessante Anwendungsweisen dieses Konzeptes herausarbeiten.
Wireless Physical Layer Security

Betreuer: Stephan Kleber

Zu einem umfassenden Verständnis von sicherer Kommunikation gehört auch die Betrachtung der grundlegendsten Schicht der Datenübertragung: des "Physical Layers." Tatsächlich bietet gerade drahtlose Kommunikation, mit ihrem öffentlichen Medium, ein weites Spektrum an Sicherheitsproblemen, gerade durch ihre physikalischen Eigenschaften ergeben sich aber auch Möglichkeiten, um interessante, neuartige Lösungen für ebendiese Probleme zu entwickeln. Solche Lösungsstrategien sollen durch diese Arbeit im Überblick zusammengefasst und nach eigenem Interesse vertiefend betrachtet werden.
Mobile Phone Security

Betreuer: Stephan Kleber

(vergeben) Je ubiquitärer und je leistungsfähiger die Sensorik und die Hardware von Smart Phones wird, desto attraktiver werden diese Plattformen für Angreifer. Ziel dieser Arbeit ist es die Frage zu beantworten, warum dies der Fall ist und Ansätze wie AppFence und TaintDroid in diese Antwort einzuordnen.
Botnets: Verteilungsaspekte und Sicherheit

Betreuer: Stefan Dietzel

(vergeben) Botnets werden von Angreifern benutzt, um große Mengen von schlecht geschützten Rechnern für ihre Zwecke zu missbrauchen. Ein bekanntes Beispiel ist der Versand von SPAM-E-Mails. Um große Mengen von Rechnern zu koordinieren, sind verteilte Kommunikationsmechanismen notwendig. Um Botnets vor der Übernahme durch andere zu schützen wird die Kommunikation oft verschlüsselt. Ziel der Arbeit ist es, verschiedene Ansätze und aktuelle Strategien zu analysieren und einen Überblick zu geben.
Simulation und Testen verteilter Anwendungen

Betreuer: Christian Spann

(vergeben) Die Erforschung und Entwicklung verteilter Anwendungen stellt eine Vielzahl komplexer Herausforderungen an uns Informatiker. Für die Fehlersuche und parametrisierung muss ein solches System deshalb lokal und verteilt ausgiebig getestet werden. In diesem Seminar soll eine Recherche vorhandener Techniken und Anwendungen, welche diesen Prozess unterstützen durchegführt und die Resultate vorgestellt werden
Effiziente Programmiersprachen für verteilte Algorithmen

Betreuer: Christian Spann

Verteilte Algorithmen zeichnen sich häufig durch wiederkehrenden Nachrichtenverkehr zwischen verschiedenen Knoten und die verteilte nebenläufige Behandlung dieser Nachrichten aus. In klassischen imperativen Programiersprachen wie Java ist die Implementierung solcher Dienste meist nicht sehr elegant. Ziel des Seminars ist die Untersuchung Recherche von Design Patterns und alternativen Programmiermodellen für verteilte Algorithmen. 
Application-layer Multicast

Betreuer: Sven Schober

IP-Multicast ist eine relativ alte Idee die von 1-zu-N-Kommunikation erzeugte Bandbreitenlast zu optimieren. Dabei muss die Datenquelle nicht N Ströme versenden, sondern kann, unterstützt durch Verteilerknoten im Netzwerk (Multicast-fähige Router), die Duplikation der zu versendenden Paket auf ein Minimum reduzieren. Die Voraussetzung von Infrastrukturknoten im Internet hat die weite Verbreitung von IP-Multicast bis heute verhindert. Application Layer Multicast (ALM) ist der Versuch die geschilderte Funktionalität auf Anwendungsebene nachzubilden. End-Systeme nehmen dabei die Stelle der vorher im Netz befindlichen Verteilerknoten ein. Die sich dabei ergebenden Herausforderungen sind Ziel reger Forschungsaktivtät. Dieses kann synoptisch (Überblicksartige Darstellung vorhandener Ansätze), als auch fokussiert (Darstellung eines Ansatzes im Detail) bearbeitet werden.
Moderne Bandbreitenmesstechniken

Betreuer: Sven Schober

Die Verfügbare Bandbreite von einem Internet-Host zu einem anderen ist eine schwer bestimmbare Größe. Zum einen ist sie abhängig vom gewählten Pfad, zum anderen von den physischen Gegebenheiten jedes einzelnen Links entlang dieses Pfades. Desweiteren beeinflußt Drittverkehr (seien es Anwendungen auf den Meßendpunkten, oder völlig unbeteiligte Hosts, welche Pfadsegmente mit dem gemessenen teilen) erheblich die Messwerte. Aufgrund dieser Probleme wurden minimalinvasive Meßverfahren entwickelt, welche die verfügbare Bandbreite mit möglichst geringem Overhead zu bestimmen versuchen. Ziel dieses Themas ist es einen Überblick über aktuellste Entwicklungen in diesem Gebiet zu geben. 
Softwareverteilungsalgorithmen für Datenzentren

Betreuer: Steffen Kächele

Das Auslagern von Software in entfernte Datenzentren gewinnt zunehmend an Bedeutung (Cloud Computing). Hierbei werden durch Einsatz von Virtualisierung gewöhnlich Knoten von mehreren Nutzern gleichzeitig verwendet. Die Auswahl der Computing-Knoten sowie das Deployment der Software geschieht in der Regel für den Nutzer völlig transparent. In dieser Seminararbeit sollen Algorithmen vorgestellt werden, welche beim Installieren oder Skalieren von Software passende Knoten bestimmen.
OpenShift

Betreuer: Steffen Kächele

PaaS-Plattformen bieten ihren Nutzern eine Umgebung, in welcher sie eigene Software in entfernten Datenzentren ausführen können. In dieser Seminararbeit soll die OpenSource PaaS-Plattform OpenShift vorgestellt werden.
Resource Reclaiming in Echtzeitsystemen

Betreuer: Vladimir Nikolov

Reservierungsbasierte Echtzeitsysteme arbeiten mit abstrakten Ressourcenkapazitäten, um für zeitliche Isolierung zwischen Tasks garantieren zu können. Diese Kapazitäten werden in einer offline-betriebenen Analyse des Taskverhaltens ermittelt und den Tasks zugewiesen. Zur Laufzeit jedoch kann das Verhalten, aufgrund diverser unvorhersehbarer Faktoren, variieren. Benötigen Tasks weniger Ressourcen als zuvor angenommen, so werden im Gesamtsystem Ressourcen verschwendet. Resource Reclaiming ermöglicht die dynamische Anpassung der Kapazitäten bei pessimistischen Annahmen. Die prominentesten Algorithmen hierzu sind CASH und GRUB. Diese Algorithmen sollen hier kurz vorgestellt und gegenübergestellt werden.
Verteilte Dateisysteme

Betreuer: Jörg Domaschka

Verteilte Dateisysteme sind seit langem Forschungsthema in Bereich der verteilten Systemen. Eine größere Beachtung finden sie allerdings erst seitdem Big Data und Cloud Computing einem Hype unterworfen sind. In dieser Seminararbeit sollen verschiedene verteilte Dateisysteme sowie Cluster Dateisysteme untersucht und vergleichend gegenübergestellt werden. Typische Klassifizierungsmerkmale sind zum Beispiel Fehlertoleranz, Skalierbarkeit, API und Konsistenz.

(Distributed) Complex Event Processing

Betreuer: Jörg Domaschka

Beim event processing handelt es sich um einen Ansatz einen Strom von Events zu analysieren und aus diesem Schlussfolgerungen zu ziehen. Complex Event Processing (CEP) betrachtet dabei zusätzlich Daten aus verschiedene Quellen. Viele kommerzielle Produkte zur Umsetzung von CEP, aber auch Forschungsarbeiten basieren auf einem Systemmodell, in dem die Event-Analyse auf nur einem Knoten stattfindet, was notwendigerweise eine Begrenzung des maximalen Durchsatzes zur Folge hat. In dieser Seminarabeit soll zunächst CEP anhand existierender Systeme vorgestellt werden. Daneben sollen Event Processing Frameworks herangezogen werden und mit CEP Systemen hinsichtlich Komplexität, Ausdrucksmächtigkeit und Skalierbarkeit verglichen werden.
Deterministische Anwendungen

Betreuer: Jörg Domaschka

Eine deterministische Anwendung hat die Eigenschaft, dass sie bei jedem Lauf die gleichen Ergebnisse liefert, wenn man sie mit dem gleichen Initialzustand startet und ihr die selben Eingaben zuführt. Determinismus ist sowohl beim Debuggen als auch bei der Ausführung nebenläufiger Programme eine wünschenswerte Eigenschaft. Daneben ist er essentiell für die Anwendung bestimmter Fehlertoleranztechniken. In dieser Seminararbeit sollen existierende Ansätzeaufgezeigt werden wie Nicht-Determinismus sowohl in Hinblick auf die Dateneingabe als auch hinsichtlich Nebenläufigkeit beseitigt werden kann.

Beschreibung und allgemeine Angaben, Modulbeschreibung

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

Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen:Ausgewählte Themen Verteilter Systeme, 2S, 4LP
Verantwortlich:Prof. Dr. Frank Kargl
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Grundlagen der Rechnernetze, Proseminar
Vorraussetzungen (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

Wintersemester 2012/2013

Titel:Ausgewählte Themen Verteilter Systeme
Englischer Titel:Selected Topics in Distributed Systems
Typ:Seminar, Modul
Nummer / Kürzel:CS5900.113 / ATVS
SWS / LP:2S / 4LP
Dozent:Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer:Steffen Kächele, Stefan Dietzel, Benjamin Erb, Stephan Kleber, Vladimir Nikolov, Sven Schober, Christian Spann, Rens van der Heijden
Termine:Montag, 12.30 Uhr - 14.00 Uhr, O27-341; Beginn am 15.10.2012
Vorbesprechung:Unverbindliche Vorbesprechung am Montag, 15.10.2012, 12.30 Uhr im Raum O27-341. Themenzuordnung erfolgt während der Vorbesprechung oder vorab per E-Mail an den Betreuer.
Lernplattform:Die Veranstaltung wird mit Hilfe des E-Learningsystems ILIAS durchgeführt. Bitte melden Sie sich dort an.

Themen

Protokoll-Analyse SPDY, Microsoft S+M, waka, WebSockets – Mechanismen für HTTP/2.0
(vergeben)
Betreuer: Benjamin Erb

Derzeit arbeitet eine Working Group des IETFs an einer neuen Version des HTTP-Protokolls. Hierbei sollen diverse Probleme des HTTP/1.1 Protokolls aufgeriffen, und das Protokoll zukunftsfähig gemacht werden. Mit SPDY (Google), Speed+Mobility (Microsoft), WebSockets und waka existieren bereits ergänzenden Protokolle zu HTTP/1.1. Vermutlich werden viele Konzepte dieser Protokolle als Grundlage für HTTP/2.0 dienen. Ziel dieser Seminararbeit ist eine kurze Analyse der Probleme in HTTP/1.1, die Vorstellung der neueren Protokolle und die Identifikation und Erläuterung ihrer Konzepte mit Hinblick auf HTTP/2.0.

Verteiltes Entwickeln und Testen mit Vagrant/Puppet
(vergeben)
Betreuer: Benjamin Erb

Die Implementierung verteilter Anwendungen erfordert reproduzierbare und versionierbare Testumgebungen und virtualisierte Maschinen. Hierfür stehen mit Vagrant und Puppet zwei mächtige Ruby-basierte Tools zur Verfügung. Im Rahmen der Seminararbeit soll das verteilte Entwickeln und Testen auf Grundlage von Vagrant/Puppet erklärt und beschrieben werden.

State-of-the-Art der Netzwerktomografie

Betreuer: Sven Schober

Das Internet stellt mit IP einen transparenten Paketzustelldienst zur Verfügung. Absender- und Zieladdresse genügen, um ein Paket seinem Empfänger zuzustellen. Dabei bleibt die Struktur des Netzwerkes verborgen. Für einige Anwendungen kann es jedoch nützlich sein eben diese zu kennen, um z.B. gemeinsame Pfade als potentielle Flaschenhälse zu identifizieren. Das Gebiet der Netzwerktomografie und sein bekanntester Stellvertreter traceroute, befasst sich damit diese Struktur wieder sichtbar zu machen. Dies ist jedoch mit einigen Herausforderungen verbunden, welche in der Literatur bereits angegangen wurden. Der aktuelle Stand der Kunst soll in diesem Thema präsentiert werden.

Securing Implantable Medical Devices (IMDs)
Betreuer: Stephan Kleber

IMDs wie Herzschrittmacher oder Insulinpumpen sind mit der Fähigkeit ausgestattet, drahtlos kommunizieren zu können. Dies wirft Fragen in Bezug auf Sicherheit und Privatsphäre bei der Verwendung solcher Geräte auf. Es liegt eine Bachelorarbeit vor, die eine gute Übersicht über bestehende Literatur zu diesem Thema gibt. Dort werden Ansätze vorgestellt, die diese Probleme lösen könnten. Im Rahmen dieses Thema soll hieraus anhand vorgegebener Kriterien eine strukturierte Bewertung und Abgrenzung dieser Strategien entstehen.

Mifare Sicherheit
(vergeben)
Betreuer: Stefan Dietzel

Das RFID-Technologie einsetzende Mifare System ist weit verbreitet für Zugriffskontrolle, Mitgliedsausweise, Fahrkarten und elektronische Geldbörsen. Inzwischen gelten die von Mifare eingesetzten kryptografischen Protokolle als komplett gebrochen. Diee Arbeit soll einen Überblick über die historische Entwicklung der Angriffe geben mit Schwerpunkt auf bekannten Anwendungen die Mifare einsetzen. Zusätzlich kann ein Ausblick auf mögliche verbesserte Systeme gegeben werden.
Network Coding
Betreuer: Stefan Dietzel
Traditionelle Routing-Protokolle für das Internet leiten Daten unverändert durch das Netzwerk weiter. Hiermit lässt sich zwar eine gute Auslastung der Verfügbaren Leitungskapazitäten erreichen, aber nicht immer die optimale. Der Forschungsbereich Network Coding umfasst eine Reihe von Protokollen und theoretischen Aussagen, die den Datendurchsatz bis zum theoretischen Maximum erhöhen können. Ziel der Arbeit ist es, Network Coding einzuführen und gängige Protokolle vorzustellen.
Angriffe auf Anonymisierungsnetze
(vergeben)

Betreuer: Rens van der Heijden

In den letzen 10 Jahren ist Anonymität im Internet immer wichtiger geworden. Um Anonymität zu erreichen, wurden verschiedene Anonymisierungsnetze entwickelt, unter anderem The Onion Router (TOR). TOR zielt ab auf plausible deniability, denn komplette Anonymität ist nicht skalierbar möglich. Ziel dieser Arbeit ist eine Bewertung von Sicherheit in TOR; es ist möglich ein detaillierte Analyse von einigen Angriffen zu machen, oder ein Klassifizierung von bekannten Angriffen.

Angriffen auf Data-consistenz Mechanismen im Fahrzeugnetzen

Betreuer: Rens van der Heijden

Fahrzeugnetze sind eine Anwendung verteilter Systeme, bei den wireless transmitters im Fahrzeugen verbaut werden. Weil kommende Anwendungen für diese Netze mit Verkehrssicherheit zu tun haben, planen Forscher zukünftlige Anwendungen wie eine Verbesserung der Verkehrsleistungsfähigkeit. Sicherheit und Richtigkeit der Daten ist hier ganz wichtig; ein vielversprechender Ansatz ist Datenkonsistenz. Ziel dieser Arbeit ist die Entwicklung eines Frameworks für die Auswertung von Datenkonsistenz-Mechanismen. Diese Arbeit ist nur im Seminar Forschungstrends in Verteilte Systemen wählbar.

Privacy-aware Access Control in der Praxis

Betreuer: Rens van der Heijden

In großen Anwendungssystemem stellen persönliche und private Daten ein Sicherheitsrisiko dar. Selbst bei guter Absicherung können die Daten immer noch gewonnnen werden, unter anderem mit Techniken wie social engineering, oder durch ein (Insider)Angriffe. Um diesen möglichen Sicherheitslücken zu schließen, ist die Idee von Privacy-aware Access Control, mit XML-basierten Sprachen wie EPAL von IBM und XACML von OASIS Zugang zu solchen Daten zu regeln. Ziel dieser Arbeit ist es, den praktischen Nutzen dieser Mechanismen festzustellen

Angriffe auf Cloud Systeme (vergeben)

Betreuer: Steffen Kächele

Cloud Computing Plattformen haben sich in den letzten Jahren stark verbreitet. Dadurch wandern zunehmend kritische und senible Anwendungen und Daten in gemeinsam genutzte Serverfarmen. In diesem Seminar sollen ausgehend von den Techniken, welche im Cloud Computing Umfeld eingesetzt werden (Hardware Virtualisierung, Netzwerkvirtualisierung, gemeinsam genutzte Applicationcontainer, etc.) bekannte Angriffsszenarien aus der Literatur aufgearbeitet und auf das Cloud Computing Gebiet übertragen werden.

OSGi für Cloud Anwendungen

Betreuer: Steffen Kächele

OSGi unterstützt Entwickler dabei, Java Anwendungen modular aufzubauen. OSGi Anwendungen sind hoch flexibel. So kann die Funktionalität von Anwendungen zur Laufzeit dynamisch angepasst werden, indem Softwaremodule dynamisch nachgeladen oder entfernt werden. Im Rahmen dieser Seminararbeit soll ein kurzer Einstieg in OSGi gegeben werden. Hierbei soll insbesondere auf die Enterprise OSGi Standards Subsystems, Bundle Repository und Remote Service Admin eingegangen werden.

Simulation und Testen verteilter Anwendungen
Betreuer: Christian Spann

Die Erforschung und Entwicklung verteilter Anwendungen stellt eine Vielzahl komplexer Herausforderungen an uns Informatiker. Für die Fehlersuche und parametrisierung muss ein solches System deshalb lokal und verteilt ausgiebig getestet werden. In diesem Seminar soll eine Recherche vorhandener Techniken und Anwendungen, welche diesen Prozess unterstützen durchegführt und die Resultate vorgestellt werden.

Effiziente Programmiersprachen für verteilte Algorithmen
Betreuer: Christian Spann

Verteilte Algorithmen zeichnen sich häufig durch wiederkehrenden Nachrichtenverkehr zwischen verschiedenen Knoten und die verteilte nebenläufige Behandlung dieser Nachrichten aus. In klassischen imperativen Programiersprachen wie Java ist die Implementierung solcher Dienste meist nicht sehr elegant. Ziel des Seminars ist die Untersuchung Recherche von Design Patterns und alternativen Programmiermodellen für verteilte Algorithmen. 

Vergleich von Real-Time Server Mechanismen

Betreuer: Vladimir Nikolov

Server-Mechanismen werden üblicherweise zur Handhabung aperiodischer oder sporadischer Aktivitäten in Echtzeitsystemen eingesetzt. Einerseits sorgen diese für Isolation von den übrigen periodischen Tasks. Andererseits ermöglichen sie eine Beschränkung des Ressourcenverbrauchs von Tasks oder ganzer Applikationen. Bei diesem Thema soll eine Gegenüberstellung bereits existierender Server-Techniken, wie z.B. Polling-, Sporadic-, Deferrable-, Total Bandwidth- und Constant Bandwidth-Server, ausgearbeitet und vorgestellt werden.

Unzulänglichkeiten in der RTSJ-Spezifikation

Betreuer: Vladimir Nikolov

Die RTSJ-Spezifikation (JSR-1) beschreibt notwendige Erweiterungen einer Standard Java Virtual Machine (JVM), um die Ausführung von Programmen mit Echtzeitgarantien zu ermöglichen.  Diese Erweiterungen führen unter Anderem neuartige Speicherbereiche, Echtzeit-Threads, spezielle Locks und Scheduler-Abstraktionen innerhalb JVMs ein. Allerdings wurden in der Echtzeitliteratur Unzulänglichkeiten in den spezifizierten Gegenständen kommentiert, gerade im Bereich des Schedulings und der RTSJ Processing Groups. Diese verhindern z.B. Implementierungen von benutzerdefinierten Scheduling- und Server-Mechanismen.  Bei diesem Seminarthema sollen diese Defizite und ihre Auswirkungen zusammengefasst und vorgestellt werden.

Beschreibung und allgemeine Angaben, Modulbeschreibung

Einordnung in die Studiengänge:Informatik, BSc.: Seminar
Medieninformatik, BSc.: Seminar
Software-Engineering, BSc.: Seminar
Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen:Ausgewählte Themen Verteilter Systeme, 2S, 4LP
Verantwortlich:Prof. Dr. Frank Kargl
Unterrichtssprache:Deutsch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):Grundlagen der Rechnernetze, Proseminar
Vorraussetzungen (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: 40 h
Vor- und Nachbereitung: 80 h
Summe: 120 h