Das Intensivseminar richtet sich an technische Teams, die Dissect in eigene Analyseabläufe integrieren und gezielt erweitern. Python API, Record-Modell, Plugin-Entwicklung, Binärparser mit dissect.cstruct, Tests, Paketierung und automatisierte Datenpipelines werden in einem zusammenhängenden Entwicklungsprojekt umgesetzt.
Inhaltsverzeichnis
- Entwicklungsumgebung und Architektur
- Python API und Target-Lebenszyklus
- Abfragen und Automatisierungsmuster
- Record-Modell und Deskriptoren
- Eigene dissect.target-Plugins
- Pluginvarianten und Child Targets
- Grundlagen von dissect.cstruct
- Fortgeschrittene Binärparser
- Tests und Testdaten
- Datenpipelines und Zielsysteme
- Paketierung, Versionierung und Betrieb
- Integriertes Entwicklungsprojekt
Lernziele
- Dissect-Targets und Plugins sicher aus Python ansteuern
- Records, Deskriptoren, Typen und Ausgabepipelines korrekt modellieren
- Eigene dissect.target-Plugins wartbar entwickeln und testen
- Binärformate mit dissect.cstruct robust beschreiben und parsen
- Erweiterungen paketieren, versionieren und in produktive Automatisierungsabläufe integrieren
Seminarinhalte
1. Entwicklungsumgebung und Architektur
- Schritt 1: Virtuelle Umgebung, Quellstruktur, Tests und Codequalitätstools vorbereiten.
- Schritt 2: Target-, Loader-, Filesystem-, Plugin- und Record-Komponenten abgrenzen.
- Schritt 3: Öffentliche Schnittstellen von internen Implementierungsdetails unterscheiden.
- Schritt 4: Ein minimales Entwicklungsrepository mit reproduzierbarer Installation anlegen.
2. Python API und Target-Lebenszyklus
- Schritt 1: Targets programmatisch öffnen und Erkennungsinformationen kontrollieren.
- Schritt 2: Mehrere Targets iterieren und Fehler pro Quelle isolieren.
- Schritt 3: Pluginfunktionen über stabile API-Aufrufe verwenden.
- Schritt 4: Ressourcen, temporäre Dateien und Protokolle geordnet verwalten.
3. Abfragen und Automatisierungsmuster
- Schritt 1: Wiederkehrende Pluginaufrufe in klar getrennte Verarbeitungsschritte überführen.
- Schritt 2: Konfiguration, Fallparameter und Quelllisten außerhalb des Programmcodes halten.
- Schritt 3: Timeouts, Teilfehler und nicht unterstützte Targets explizit behandeln.
- Schritt 4: Idempotente Wiederholung und Fortsetzung ab definierter Verarbeitungsstufe ermöglichen.
4. Record-Modell und Deskriptoren
- Schritt 1: Record-Felder und Datentypen aus dem fachlichen Ausgabeziel ableiten.
- Schritt 2: Deskriptoren mit stabilen Namen und konsistenter Feldreihenfolge definieren.
- Schritt 3: Zeit-, Pfad-, Adress- und dynamische Felder korrekt verwenden.
- Schritt 4: Schemaänderungen versionieren und Abwärtskompatibilität prüfen.
5. Eigene dissect.target-Plugins
- Schritt 1: Pluginzweck, Namespace und öffentliche Funktionen festlegen.
- Schritt 2: Kompatibilitätsprüfung anhand benötigter Artefakte implementieren.
- Schritt 3: Artefakte über die Target-Abstraktionen statt über lokale Annahmen lesen.
- Schritt 4: Ergebnisse als typisierte Records mit Herkunftsbezug ausgeben.
6. Pluginvarianten und Child Targets
- Schritt 1: Allgemeine, Namespace- und Betriebssystemplugins passend auswählen.
- Schritt 2: Hilfsfunktionen von öffentlichen Pluginfunktionen trennen.
- Schritt 3: Child-Target-Erkennung für verschachtelte Systeme kontrolliert modellieren.
- Schritt 4: Mehrfachregistrierung, Namenskonflikte und fehlende Abhängigkeiten testen.
7. Grundlagen von dissect.cstruct
- Schritt 1: Binärformat, Endianness, Offsets und Feldtypen aus einer Spezifikation ableiten.
- Schritt 2: Strukturen, Arrays, Enums, Flags und verschachtelte Typen definieren.
- Schritt 3: Puffer kontrolliert einlesen und Parsergebnisse plausibilisieren.
- Schritt 4: Unbekannte Werte und verkürzte Daten ohne unkontrollierten Abbruch behandeln.
8. Fortgeschrittene Binärparser
- Schritt 1: Variable Längen, bedingte Felder und Versionsunterschiede modellieren.
- Schritt 2: Alignment, Padding und relative Offsets mit Testdaten überprüfen.
- Schritt 3: Parserausgaben in fachliche Objekte oder Records transformieren.
- Schritt 4: Fehlermeldungen um Offset, Struktur und erwarteten Datentyp anreichern.
9. Tests und Testdaten
- Schritt 1: Kleine synthetische Fixtures für Normal-, Rand- und Fehlerfälle erstellen.
- Schritt 2: Kompatibilitäts-, Parser-, Record- und Integrationsverhalten getrennt testen.
- Schritt 3: Regressionen durch stabile erwartete Records erkennen.
- Schritt 4: Sensible Originaldaten durch minimierte und anonymisierte Testdaten ersetzen.
10. Datenpipelines und Zielsysteme
- Schritt 1: Record-Streams filtern, normalisieren und fachlich anreichern.
- Schritt 2: CSV-, JSON- oder strukturierte Record-Ausgaben passend zum Ziel auswählen.
- Schritt 3: Schema- und Zeitfeldmapping für nachgelagerte Plattformen testen.
- Schritt 4: Fehlerkanal, Wiederanlauf und Verarbeitungsprotokoll in die Pipeline integrieren.
11. Paketierung, Versionierung und Betrieb
- Schritt 1: Abhängigkeiten und unterstützte Dissect-Versionen explizit deklarieren.
- Schritt 2: Plugins und Parser als installierbares Paket strukturieren.
- Schritt 3: Änderungsprotokoll, Migrationshinweise und Freigabekriterien pflegen.
- Schritt 4: Monitoring, Fehlerberichte und kontrollierte Rücknahme für den Produktivbetrieb planen.
12. Integriertes Entwicklungsprojekt
- Schritt 1: Ein neues Artefaktformat mit cstruct analysieren und als Parser implementieren.
- Schritt 2: Darauf aufbauend ein kompatibilitätsgeprüftes Target-Plugin entwickeln.
- Schritt 3: Records durch eine automatisierte Multi-Target-Pipeline verarbeiten.
- Schritt 4: Tests, Paketierung, technische Dokumentation und Code Review abschließen.
Praxisübungen
- Entwicklung eines robusten Python-Workflows für mehrere Targets
- Definition eigener Record-Schemata und einer qualitätsgesicherten Exportpipeline
- Implementierung eines Plugins mit Kompatibilitätsprüfung und automatisierten Tests
- Parser- und Pluginprojekt mit dissect.cstruct, Paketierung und Review
Zielgruppe
Python-Entwickler, DFIR-Engineers, Detection Engineers, Automatisierungsspezialisten und technische Maintainer eigener Dissect-Erweiterungen
Voraussetzungen
Sichere Python-Kenntnisse, Grundlagen digitaler Forensik, Erfahrung mit automatisierten Tests und grundlegendes Verständnis binärer Datenstrukturen
Fachbereichsleitung und Seminarorganisation
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 5 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.995 zzgl. MwSt. Inhaus: € 8.500 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Python-Entwickler, DFIR-Engineers, Detection Engineers, Automatisierungsspezialisten und technische Maintainer eigener Dissect-Erweiterungen |
| Voraussetzungen: | Sichere Python-Kenntnisse, Grundlagen digitaler Forensik, Erfahrung mit automatisierten Tests und grundlegendes Verständnis binärer Datenstrukturen |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, angeleitete Analysen und praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
