Praktikum: Mediensicherheit und Forensik Kontakt: [email protected] © Fraunhofer Slide 1 Vorgehensweise Es gibt keine regelmäßigen Treffen für alle, sondern: Je Thema gibt es ein Team und einen Betreuer Arbeitszeitraum, Frequenz und Zeitraum der Treffen wird individuell besprochen Die Praktika sind kompakte Aufgaben, die allein oder im Team bewältigt werden sollen Erwarteter Zeitaufwand ca. 180 Stunden, abhängig von Fähigkeiten oder Herangehensweise kann das natürlich variieren Ergebnis der Praktika Sourcecode Beleg der Funktion durch lauffähiges Demo Kurze schriftliche Beschreibung von Problem, Herangehensweise, Aufbau, Testergebnisse (3 bis 5 Seiten Text) © Fraunhofer Slide 2 Titel / Thema Motivation Aufgabe Werkzeuge Betreuer Zeitraum Maximale Teamgröße © Fraunhofer Slide 3 Festplattenforensik – The Sleuth Kit Motivation: Extraktion von Informationen aus Festplatten(-Images) Auffinden gelöschter Dateien Support beliebiger, auch exotischer Dateisysteme Aufgabe: Implementierung von zusätzlichem Dateisystemsupport für The Sleuth Kit (Open Source Tool) Anzeige von Informationen zum Dateisystemen Auflistung von Dateien Anzeige von Meta-Daten zu Dateien Extraktion von Dateien … Programmiersprache: C++ Betreuer: YY, CW Zeitraum: Beliebig Maximale Teamgröße: Beliebig; in der Regel 1 Person pro Dateisystem © Fraunhofer Slide 4 Festplattenforensik – Native Dateisystemoperationen in Java Motivation: Erzeugung synthetischer Festplattenabbilder mit verschiedenen Dateisystemen als Basis für Tests von Forensik-Tools Nativer Support für verschiedene Dateisysteme in Java Support von Lese- und Schreiboperationen Support für Metadaten, Journals, … Aufgabe: Implementierung von zusätzlichem Dateisystemsupport für ein vorhandenes Framework zur Erzeugung von Festplattenabbildern Programmiersprache: Java Lesen/Schreiben von Dateien/Verzeichnissen inkl. aller Metadaten Maximale Kompatibilität, erzeugtes Dateisystem direkt mountable … Betreuer:YY Zeitraum: Beliebig Maximale Teamgröße: Beliebig; in der Regel 1 Person pro Dateisystem © Fraunhofer Slide 5 Erweiterung eines Autorschaftserkennungs-Tools Motivation: Ziel der Autorschafts-Attribution ist es ein anonymen Text X zu demaskieren, indem der wahrscheinlichste Autor von X anhand dessen Schreibstils aus einer Menge von potentiellen Kandidaten bestimmt wird. Aufgabe: Ein bestehendes Autorschafts-Attributionswerkzeug soll um ein verbesserten Funktionsumfang erweitert werden Basis-System soll anhand diverser Machine Learning Konzepten erweitert warden Insbesondere Feature-Selektionsverfahren und Hinzunahme eines weiteren Klassifikatorverfahrens (z.B. Naïve Bayes oder MaxEnt) Trainingsmenge Tools: C# (.NET) und jQuery Tutor: Oren Halvani Unbekanntes Zeitraum: WS14/15 Dokument Maximale Teamgröße: 2 © Fraunhofer ? Slide 6 Features 3 F1 F2 F… F4 F5 AutorschaftsAttribution Wahrscheinlichster Autor Robust Text-Fingerprinting Motivation: Wiedererkennung von Text-Dokumenten, selbst wenn diese massiv verändert wurden Aufgabe: Implementierung einer Bibliothek mit deren Hilfe Texte hinsichtlich spezifischer Texteinheiten zum einen manipuliert und zum anderen wiedererkannt werden sollen. Realisierung durch robuste Text-Fingerprints… Original Fingerprint Hashen von Textspezifischen Einheiten Programmiersprache: C# (.NET) Tutor: Oren Halvani Zeitraum: WS14/15 Maximale Teamgröße: 2 © Fraunhofer Slide 7 Manipulierte Variationen des Originals XEF538… Outlier Detection – Intrinsische Plagiatsdetektion Motivation: Erkennen von stilistischen Ausreißern in Textdokumenten Aufgabe: Implementierung eines Frameworks um Texte zu segmentieren, nach stilistischen Ausreißern analysieren und die Ergebnisse zu visualisieren Anwendung von diversen Machine Learning Konzepten, insbesondere: Clustering (k-Means, DBSCAN) und Klassifikation (k-NN oder Bayes) Visualisierung betroffener Textstellen (z.B. mit jQuery) Davor Tools: C# (.NET) und jQuery Tutor: Oren Halvani Zeitraum: WS14/15 Maximale Teamgröße: 2 © Fraunhofer Slide 8 Danach Erweiterung eines Machine Learning Frameworks Motivation: Nachbau des Java-basiertem Weka-Frameworks Aufgabe: Erweiterung eines bestehenden Machine-Learning Frameworks u.a. durch die Implementierung folgender Verfahren und Konzepte: Pre-Processing (Feature Selection, Sampling, Data Cleaning, …) Regellernen (Assoziationsregeln, …) Evaluierungsmaße (k-Fold Cross Validation, Leave One Out, …) Klassifikation (Naïve Bayes, Decision Trees, k-NN, …) Clustering (k-Means, k-Means++, DBSCAN, …) Tutor: Oren Halvani Tools: C# (.NET) Zeitraum: WS14/15 Maximale Teamgröße: 2 © Fraunhofer Slide 9 Implementierung genetischer Algorithmen zur Findung optimaler Parameter Motivation: Unser System bietet zuviele unüberschaubare Parametereinstellungen. Abhilfe genetische Algorithmen ! Aufgabe: Implementierung eines Frameworks für genetische Algorithmen mit dessen Hilfe optimale Parameter gefunden werden sollen Pseudocode: (1) Initialisiere erste Generation von Lösungskandidaten. (2) Evaluation: Weise jedem Kandidaten der Generation ein „Fitnesswert“ zu. (3) Wiederhole folgendes, bis Abbruchkriterium erfüllt ist: Tutor: Oren Halvani Tools: C# (.NET) Zeitraum: WS14/15 Maximale Teamgröße: 2 © Fraunhofer Slide 10 Selektion: Auswahl von Individuen für die Rekombination Rekombination: Kombination der ausgewählten Individuen Mutation: Zufällige Veränderung der Nachfahren Evaluation: siehe oben… Selektion: Bestimmung einer neuen Generation JPEG image forensics Motivation: Discover what a jpeg image tells besides its visual content Task: Implement a web-based JPEG forensics tool to extract and analyse jpeg tags, such as EXIF to analyse the used quantization tables to investigate possible post-processing and content manipulation (optional, depending on the team size) to present the results on a web page Tools: C/C++ or Java or Python Tutor: HL Period: Maximal Team Size: 4 © Fraunhofer Slide 11 Advanced2 Google Image Search Motivation Bilder im Internet sollen automatisch gefunden und nach Wasserzeichen untersucht werden Aufgabe Kombination von Image Search API zur Suche, Robustem Hash zum Filtern und Wasserzeichendetektor zum Auslesen Werkzeuge frei Betreuer: MSt, HL Zeitraum frei Maximale Teamgröße 2 © Fraunhofer Slide 12 Bitstream mp3 robust Hash Motivation: Audiohashverfahren helfen bei der Erkennung von Audiostücken, sind aber durch ihre Komponenten rechenintensiv Aufgabe: Erstellen eines Audiohashverfahrens auf Basis des mp3 Datenstroms ohne Wandlung in PCM Tools: C,C++,C# oder Java; Lame Sourcecode Tutor: MSt, WB Zeitraum: frei Maximale Team Größe: 2 © Fraunhofer Slide 13 Design eines Angriffstools für Videowasserzeichen Motivation: Automatische Abfilmangriffe als neues Standard-Testwerkzeug Aufgabe: Modellierung und Implementierung sowie Analyse eines neuen Abfilmangriffs Benutze existierende Wasserzeichen als Basis Spiele das mit Wasserzeichen versehene Video mehrfach ab und nehme es wieder auf Analysiere die Unterschiede der einzelnen Aufnahmen zum Original Modelliere ein automatisches Template eines ‚durchschnittlichen Angriffs Tools: C/C++(FFMpeg), Java (Xuggle) Tutor: WB, MSc Zeitraum: WS14/15 Maximale Team Größe: 2 © Fraunhofer Slide 14 Objekterkennung mit DeepLearning Ansatz Motivation: Objekte schnell und zuverlässig zu erkennen und kategorisieren Aufgabe: Implementierung eines bestehenden Deep Learning Ansatz zur Objekterkennung Trainiere mit einer Datenbank von 50.000 Images Evaluiere auf einer Datenbank mit 300.000 Images, später auf 80Mio. Anwendung von unterschiedlichen Feature Extraktions- und Maschine Learning Algorithmen Objekterkennung Tools: C++, Java, Python Tutor: WB, HL Zeitraum: frei Maximale Teamgröße: 3 © Fraunhofer Slide 15 Auto Vogel Boot Hund