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 Robuste Audioverschlüsslung Motivation: Vertrauliche Sprachkommunikation über heterogene Netze Aufgabe: Implementieren einer robusten Verschlüsslungsmethode, welche Audiodaten so verschlüsselt, dass diese auch im verschlüsselten Zustand komprimiert werden können. Die Audiodaten sollen danach wieder in einem akzeptablen Zustand zurück entschlüsselt werden können. Werkzeuge: C,C++, Java, Matlab/Scilab Betreuer: MSt Zeitraum: Beliebig Maximale Teamgröße: 2 © Fraunhofer Slide 4 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 5 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 6 Implementierung eines generischen Machine Learning Frameworks Motivation: Nachbau des erfolgreichen Weka-Frameworks Aufgabe: Implementierung generischer Machine-Learning Konzepte, z.B.: 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: WS13 Maximale Teamgröße: 2 © Fraunhofer Slide 7 Erweiterung eines fokussierten Crawlers Motivation: Erweiterung eines bestehenden fokussierten Crawlers, um Foren-Webseiten templatebasiert erkennen und parsen zu können Aufgabe: Implementierung von Template-Erkenner und Parser auf der Basis von Jsoup, Apache Commons und weiteren Frameworks Anwendung von unterschiedlichen Machine Learning Algorithmen und computerlinguistischer Werkzeuge (reguläre Ausdrücke, Tokenizer, POS-Tagger, Chunker, etc.): Tools: Java Tutor: Oren Halvani Zeitraum: WS13 Maximale Teamgröße: 2 Foren-Webseiten Crawler KI-Module © Fraunhofer Slide 8 DB 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 und Klassifikation aber auch Diskriminanzanalyse Visualisierung der betroffenen Textstellen (z.B. mit Hilfe von D3.js) Tools: C# (.NET) Tutor: Oren Halvani Zeitraum: WS13 Maximale Teamgröße: 2 © Fraunhofer Slide 9 Davor… Danach… 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 warden 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: WS13 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 Robust Text Hash Motivation Texte sollen effizient und ohne Vergleich zum Original identifiziert werden Aufgabe Implementierung eines Verfahrens auf Token-Basis, das Worte filtert, mittels eines Thesaurus gruppiert, einem Bitwert zuweist und so eine binäre Darstellung von Text erlaubt Werkzeuge frei Betreuer: MSt, OH Zeitraum frei Maximale Teamgröße 2 © Fraunhofer Slide 12 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 13 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 Werkzeuge: C,C++,C# oder Java; Lame Sourcecode Betreuer: MSt Zeitraum: WS13/14 Maximale Teamgröße: 2 © Fraunhofer Slide 14 Image replacement in PDF document Motivation: Replace an image in PDF with another watermarked image Task: Implement a PDF parser to extract/insert images from/into PDF documents, it should be able to find and extract image data out of PDF document decode/encode extracted image data (image decoders are available) insert new image back into PDF document Tools: C/C++ Tutor: HL Period: SS13 Maximal Team Size: 2 © Fraunhofer Slide 15 Neuer Ansatz für Video Wasserzeichen Motivation: Einbetten und Auslesen von Information (Wasserzeichen) in Videos als Urheberrechtsschutz Task: Analyse und Weiterentwicklung eines neuen existierenden Konzepts zum Markieren von Videos Benutze einen existierenden und bereits implementierten Ansatz zum • Extrahieren von Maximal Stable Extremal Regions (MSER) • Einbetten und Auslesen von digitalen Wasserzeichen in den MSERs Teste und Analysiere das Verfahren • Bette die WZ ein • Filme die markierten (und eventuell manipulierten) Videos ab • Lese die WZ wieder aus Optimiere das Verfahren und erstelle ein signifikantes Testset Tools: C/C++ Tutor: WB, MSc, PAW Zeitraum: WS1314 Maximale Team Größe: 2 © Fraunhofer Slide 16 Design eines Angriffstools für Videowasserzeichen Motivation: Automatische Abfilmangriffe als neues Standard-Testwerkzeug Task: 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: WS1314 Maximale Team Größe: 2 © Fraunhofer Slide 17 Unsichtbare QR-Codes in Videos Motivation: Einbetten und Auslesen unsichtbarer QR-Codes in Videos Task: Implementation und Analyse eines neuen Konzepts: Addiere Helligkeiten der einzelnen Frames Modifiziere die Helligkeit einzelner Bilder entsprechend der QRCode Information Spiele das modifizierte Video mit QR-Code ab und nehme es z.B. mit einem Smartphone wieder auf Finde und Detektiere den QR-Code Tools: C/C++, Java Tutor: WB, MSc, PAW Zeitraum: WS1314 Maximale Team Größe: 3 Mehrere Teams möglich © Fraunhofer Slide 18 Angriff auf Videospieltexturen Motivation: Bereitstellung der Möglichkeit mittels verschiedener (teils existierender) Angriffstools Wasserzeichen in Texturen zu manipulieren Aufgabe: Erweitern eines Interfaces (GUI) dem Benutzer die Auswahl an Angriffen erweitert, die gewählten Angriffe durchführt und die angegriffenen Texturen wieder ausgibt Werkzeuge: C++, Java Betreuer: MSc, WB Zeitraum: WS1314 Maximale Teamgröße: 2 © Fraunhofer Slide 19 Subjektive Qualitätsmessung für Wasserzeichen in Video Game Texturen Motivation: Subjektive Wahrnehmung von Wasserzeichen im Videospielfluss Task: Modellierung und Implementierung eines Demonstrators für eine Qualitätsstudie über Texturwasserzeichen in Videospielen Benutze existierende Texturwasserzeichenverfahren als Basis Erstelle einen Demonstrator der unterschiedliche Situationen in verschiedenen wasserzeichenmarkierten Spielen aufzeigt Analysiere die Subjektive Wahrnehmung der Wasserzeichen mittels einer abx-Test Studie („Feldversuch“) Tools: C/C++ Tutor: WB, MSc Zeitraum: WS1314 Maximale Team Größe: 2 © Fraunhofer Slide 20