Logo Leibniz Universität Hannover
Logo: Computational Health Informatics
Logo Leibniz Universität Hannover
Logo: Computational Health Informatics
  • Zielgruppen
  • Suche
 

Projekt: Sicherheit in Verteilten Systemen

Projekt, 4 PR, 6 LP

aktuelle Veranstaltung

SemesterWS 2012/2013
DozentProf. Dr. rer. nat. Matthew Smith
und wissenschaftliche Mitarbeiter
OrtRaum D022
Gebäude 1210 D (RRZN Halle)
Schloßwender Straße 5
Infoveranstaltung25.10.12 16:00 Seminarraum RRZN
Terminkein fester Termin, Gruppenarbeit & dynamische Treffen mit Themenbetreuer
Beginnsiehe Infoveranstaltung
Stud.IP
VorkenntnisseProgrammierkenntnisse werden vorausgesetzt.
Kenntnisse aus der Vorlesung Security Engineering sind empfohlen aber nicht notwendig.
AnmeldungBitte melden sie sich via Email unter Angabe von Name, Matrikelnummer, Studiengang, PO-Version und Wunschthema an. Tragen sie sich außerdem im Stud.IP für die Veranstaltung ein.

Konzepte wie Access Control, Authentication, Authorization, Privacy, Anonymization, Security Usability, Security Visualization, Security Psychology. Projekt: Themen werden individuell mit der Gruppe besprochen.

Für weitere Informationen schauen Sie bitte ins Stud.IP.

Projektthemen

Bearbeitung in Gruppen von 1-3 Personen.

Weitere Themen folgen. Die meisten Projektthemen bewegen sich im Bereich der verschiedenen Forschungsarbeiten der Distributed Computing & Security Group. Es besteht die Möglichkeit neben den ausgeschriebenen auch eigene Themen aus dem Bereich Sicherheit in Rahmen des Projektes zu bearbeiten. Hierzu wenden Sie sich bitte per Mail an uns um ein Gespräch zu vereinbaren.

Simulation im Bereich mobiler Privatsphäre und Sicherheit

In unserer Gruppe setzen wir in der Erforschung von mobilen Sicherheits- und Privatsphärefragen auf Simulation. Zu diesem Zwecke befindet sich ein entsprechender Simulator in der Entwicklung. Im Rahmen dieses Simulator gibt es verschiedene Themen zu bearbeiten:

  • Wie kann man Personen zielgeführt, doch nicht nur über den kürzesten Weg zu einem Ziel führen. Wie können alternative Wege gewählt werden. Dieses Thema beschäftigt sich mit dem nicht-optimalen Routing auf Graphen/Straßenkarten
  • Personenbewegungen basieren auf Entscheidungen, welche wiederum auf Verhalten, persönlichen Parametern und Interessen basieren. Um ein solches Verhalten in einer SImulation nachzubilden, müssen entsprechende Verfahren gewählt werden, die über einen endlichen Automaten hinaus gehen. Dieses Thema dreht sich um die Modellierung von Personen und ihren auf diversen Parametern aufbauenden Entscheidungen.

Es gibt noch weitere Themen gibt es im Bereich des MoSP-Simulators. Sprechen Sie uns darauf an.

Mind Mesh

Ein wichtiger Aspekt moderner Informationssysteme ist Sicherheit der zur Verfügung gestellten Daten. Im Rahmen des Mind Mesh Projekts untersuchen wir daher innovative Methoden zur Visualisierung von Informationen sowie der relevanten Sicherheitseigenschaften selbiger. Insbesondere Zugriffskontrolle spielt hiere eine wichtige Rolle.

Im Rahmen dieser Projektarbeit sollen daher Arbeiten im Bereich der Informationsvisualisierung anhand von Graphen vergeben werden. Es geht primär um Organisationsstrukturen und deren Verbindungen, wie z.B. solche der Institute an der Uni Hannover und zugehörige Projekte. Hierzu sind insbesondere Kenntnisse in der GUI Programmierung hilfreich.

Darüber hinaus können im Bereich der Usable Security weitere Themen vergeben werden. (z.B. siehe unten).

CaaS - Confidentiality as a Service

Um für den Benutzer transparent und intuitiv Vertraulichkeit auf bei Drittanbietern lagernden Daten zu ermöglichen, erforschen wir derzeit Lösungen dies als Service anbieten zu können. Hier gibt es um die Verschlüsselung von Daten ohne dass der Nutzer sich um die kryptographischen Grundlagen oder Schlüssel kümmern muss. Im Rahmen der Projektarbeiten gibt es die Möglichkeit vorhandene Infrastruktur für weitere Dienste, wie z.B. Soziale Netzwerke oder Amazon S3, anzupassen sowie darüber hinaus auch Backend-Infrastruktur zur Pflege der Nutzerbasis zu erarbeiten.

Themen des letzten Jahres:

MindMesh

MindMaps (http://de.wikipedia.org/wiki/Mind_Map) sind ein bekanntes Tool um Informationen strukturiert darzustellen. Neue Ideen und Strukturen können flexibel eingefügt und erweitert werden. Wendet man MindMaps zur Repräsentation und Verwaltung von Forschungsprojekten an, stößt das Konzept schnell an seine Grenzen. Die zugrundeliegende Baumstruktur erlaubt keine Mehrfachzugehörigkeiten und kann somit z.B. keine Mitarbeiter abbilden, die gleichzeitig in mehreren Projekten tätig sind. Weiterhin ist die Möglichkeit eine MindMap verteilt zu bearbeiten durch die Baumstruktur eingeschränkt. Legt man statt einem Baum einen verteilten Graph zugrunde, erhält man ein sogenanntes MindMesh. In diesen Projekten sollen verschiedene Aspekte einer MindMesh Software bearbeitet werden.

Thema 1: Visualisierung komplexer Graphen

Um Benutzern zu ermöglichen ihre Daten in MindMesh Graphen intuitiv vor unberechtigten Zugriffen zu schützen, ist es essentiell Notwendig die Übersicht über Komplexe Graphen zu behalten. Innerhalb dieser Projektarbeit sollen Methoden zum Routing von Graph-Kanten für MindMeshs untersucht und implementiert werden. Bei der Darstellung eines Graphen profitiert der Benutzer von einem möglichst überschneidungsfreien Layout der Kanten. Nach Auswahl eines geeigneten Verfahrens soll dieses auf die Darstellung von MindMesh Graphen angewendet werden. Hierzu sind Java/JavaScript Kenntnisse sowie ein Interesse an Algorithmendesign notwendig.

Thema 2: MindMesh Server

Um MindMeshes im Browser kollaborativ bearbeiten und speichern zu können, bedarf es einer Server Software die diese Prozesse verwaltet. In diesem Projekt soll eine Datenbank und dazugehörige Server Software entworfen werden. Die vom Benutzer client-seitig im Browser erzeugten Diagramme sollen in einer Datenbank abgelegt werden und in geeigneter Weise bereitgestellt werden. Hierbei sind die Aspekte der Zugriffskontrolle sowie der gleichzeitigen Bearbeitung von MindMeshes zu betrachten.

Privacy

Thema 1

Aktuelle und zukünftige mobile verteilte Systeme werfen neue, insbesondere den Schutz der Privatsphäre betreffende, Fragestellungen auf. Da sich komplexe Szenarien mathematisch schwer modellieren lassen und gerade im Bereich der Privatsphäre das Arbeiten mit Realdaten nicht möglich ist, sollen Simulationen in Arbeiten der DCSec Group verwendet werden.
Im Rahmen dieses Projektes sollen daher von bis zu drei Studierenden die Grundlage für einen entsprechenden Simulator geschaffen werden. Aufgebaut werden soll die Simulation auf JiST/SWANS. Dieses soll anfangs um ein Kartendaten-basiertes Bewegungsmodell erweitert werden. Weitere Details ergeben sich durch den Entwurf.
Voraussetzungen: Java-Kenntnisse.
Ideale zusätzliche Voraussetzungen: Interesse am Thema Privatsphäre in modernen mobilen Systemen, Spaß am Design, Interesse an Simulation, Routing-/Navi-Grundwissen, XML-Grundwissen.

Grid-Computing

Gridinfrastrukturen zeichnen sich dadurch aus, dass Nutzer und Ressourcen (hauptsächlich Rechen- und Speicherressourcen) organisatorisch in getrennten Einrichtungen beheimatet sind. Daher ist die Zugriffskontrolle (Autorisierung) deutlich komplexer, als dies bei lokal bekannten Nutzern und Ressourcen der Fall ist. Ein Ansatz zur organisationsübergreifenden Bereitstellung von autorisierungsrelevanten Nutzerattributen ist Shibboleth. Shibboleth ist allerdings für webbasierte Dienste (d.h. Zugriff über einen Webbrowser) gedacht. Da Gridressourcen üblicherweise nicht webbasiert sind, muss ein Weg gefunden werden, Attribute aus Shibboleth in das Grid zu transferieren. Hierzu soll im Rahmen des Projektes folgende Softwarelösungen erstellt werden (die beiden Teile können unabhängig voneinander Implementiert werden):

Thema 1

Ein Shibboleth-Dienst (Service Provider) soll erstellt werden, welcher signierte Nutzerattribute derart bereitstellt, dass sie von den Nutzern abgefragt und in Gridanfragen integriert werden können. Der Dienst wird zuerst webbasiert erstellt. Im Verlauf des Projektes soll festgestellt werden, ob es praktikabel ist, diesen Dienst auch als Web Service bereitzustellen.
Notwendige Kenntnisse hierfür sind in erster Linie Javaprogrammierung. Hilfreich sind Kenntnisse in der Einrichtung/Administration von Webdiensten in Apache und Tomcat.

Thema 2

Wenn von einem Gridnutzer signierte Nutzerattribute in einen Gridjob eingebunden werden, damit er auf den Ressourcen erfolgreich autorisiert werden kann, müssen diese von den Gridressourcen ausgewertet werden. Hierfür soll ein sogenannter Policy Decision Point beispielhaft für eine Gridressource implementiert werden. Dabei müssen mehrere Integritätsbedingungen berücksichtigt werden. So muss die kryptographische Signatur korrekt sein und es muss sichergestellt sein, dass der ausstellende Dienst berechtigt ist, derartige Attribute auszustellen (so darf z.B. der Dienst an der Uni Hannover niemanden als Studierenden der Uni Göttingen ausgeben).
Die erforderlichen Programmierkenntnisse hängen von der gewählten Gridkomponente ab, entweder Java- oder C(++). Dies entscheiden wir gemeinsam basierend auf Ihren Kenntnissen. Hilfreich sind weiterhin Kenntnisse auf der GNU/Linux Kommandozeile zur Einrichtung und Administration der erweiterten Dienste.

Thema 3

Auditing über Web Services für MyProxy Im Rahmen eines Projekts am DCSec wird eine Infrastruktur zum Auditing, also der Nachverfolgung von sicherheitsrelevanten Ereignissen im Grid aufgebaut. Diese Infrastruktur basiert auf dem bekannten Grid-Toolkit Globus 4 und ist bereits in einer Java-Version implementiert. Diese Version erweitert die Security-Bibliotheken von Globus um eine Funktion zum Versenden von Webservice-basierten Callouts, den sogenannten „Audit Tracks“. Diese werden immer dann versandt, wenn während der Kommunikation im Grid das Credential des Nutzers verwendet wird. Nun soll basierend auf diesem Konzept eine beispielhafte Implementation für die C-Bibliotheken des Globus Toolkit entwickelt und getestet werden. Als Beispielsoftware hierfür bieten sich etwa der „MyProxy“ oder auch der Grid-eigene Dateitransferdienst GridFTP an. Während des Projektes lernen die Teilnehmer das Innenleben einer modernen OpenSSL-basierten Sicherheitsinfrastruktur kennen und erkennen und erweitern die Sicherheitsmechanismen, die auch in Browsern und Webservern stecken. Dadurch erwerben sie für zukünftige Projekte im Bereich der Betriebssystem- und Applikationssicherheit wertvolle Kenntnisse und Fähigkeiten. Notwendige Kenntnisse: C, Grundlagen PKI, Grundlagen Webservices Hilfreiche Kenntnisse: OpenSSL-Grundlagen, Webservice-Programmierung in C

 Thema 4

Zur Nutzerauthentifizierung an Firewalls wurde mit TCP-AuthN ein Verfahren entwickelt, mit dessen Hilfe jede einzelne Verbindung zwischen Client und Server von Firewalls autorisiert werden kann. Im TCP three-way Handshake werden Authentifizierungsinformationen übertragen und verifiziert, so dass eine Autorisierungsentscheidung auf Basis individueller Nutzerinformationen an der Firewall möglich ist. Nach dem der TCP three-way Handshake vollendet ist findet der SSL-Handshake statt, ohne die bereits verfügbaren Informationen zu nutzen. Um die Sicherheit weiter zu verbesser, ist zu untersuchen und zu implementieren wie die übertragenen Informationen in den SSL-Handshake integriert werden können.

Das Thema bietet die Möglichkeit sich intensiv mit dem Thema Sicherheit in verteilten Systemen auseinanderzusetzen und bietet weiterhin die Möglichkeit an einer wissenschaftlichen Veröffentlichung mitzuarbeiten.

Notwendige Kenntnisse: C Programmierung, OpenSSL, TCP, PKI

Thema 5

Bei diesem Projekt geht es um das Redesign einer JSP Website zum Management virtueller Maschinen auf Clusterknoten. Es soll eine MVC Web-Applikation basierend auf Java Server Faces erstellt werden.
Die Seiteninhalte werden nicht über SQL, sondern über eine RMI Schnittstelle aus einem existierendem Server-Dämon geholt.
Es soll eine Container-Komponente (bean) zur Authentifizierung und Autorisierung mit Hilfe von  D-Grid-  und VOMS Attribut-Zertifikaten erstellt werden.

Notwendige Kenntnisse: Java, Eclipse

Hifreiche Kenntnisse: Apache-Tomcat, RMI, MVC, JavaServer Faces, PKI