Der Kurs behandelt die Entwicklung eigener Plugins für dissect.target. Von der Artefaktdefinition und Kompatibilitätsprüfung über Target-Abstraktionen und Record-Ausgaben bis zu Tests, Registrierung, Paketierung und Wartung entsteht eine produktionsfähige Erweiterung.
Inhaltsverzeichnis
- Pluginidee und Artefaktmodell
- Architektur von dissect.target
- Projektstruktur und Entwicklungsumgebung
- Kompatibilitätsprüfung
- Artefaktzugriff und Parsing
- Record-Schemata und Ausgaben
- Pluginfunktionen und Namespaces
- Child Targets und verschachtelte Systeme
- Unit- und Integrationstests
- Paketierung und Registrierung
- Wartung und Qualitätssicherung
Lernziele
- Geeignete Pluginarchitekturen und Namespaces für neue Artefakte auswählen
- Kompatibilitätsprüfungen und Target-Zugriffe robust implementieren
- Typisierte, nachvollziehbare Records als öffentliche Ausgabe bereitstellen
- Plugins mit Unit-, Integrations- und Regressionstests absichern
- Erweiterungen paketieren, versionieren und kontrolliert betreiben
Seminarinhalte
1. Pluginidee und Artefaktmodell
- Schritt 1: Untersuchungsfrage und fachlichen Mehrwert des Plugins formulieren.
- Schritt 2: Benötigte Dateien, Registry-Bereiche, Protokolle oder Strukturen identifizieren.
- Schritt 3: Pflicht- und optionale Artefakte sowie unterstützte Betriebssysteme festlegen.
- Schritt 4: Öffentliche Funktionen, Records und erwartete Fehlersituationen beschreiben.
2. Architektur von dissect.target
- Schritt 1: Target-, Filesystem-, Registry-, Loader- und Pluginabstraktionen abgrenzen.
- Schritt 2: Allgemeine, Namespace- und betriebssystemspezifische Plugins unterscheiden.
- Schritt 3: Abhängigkeiten zu vorhandenen Plugins und Hilfsfunktionen bewerten.
- Schritt 4: Stabile Schnittstellen für die Implementierung auswählen.
3. Projektstruktur und Entwicklungsumgebung
- Schritt 1: Paketstruktur, virtuelle Umgebung und lokale Installation vorbereiten.
- Schritt 2: Quellcode, Tests, Fixtures und technische Dokumentation trennen.
- Schritt 3: Formatierung, statische Prüfungen und Testausführung automatisieren.
- Schritt 4: Ein minimales Plugin laden und dessen Registrierung kontrollieren.
4. Kompatibilitätsprüfung
- Schritt 1: Erforderliche Artefakte über Target-Pfade und geeignete Abstraktionen suchen.
- Schritt 2: Alternative Speicherorte und Versionen kontrolliert berücksichtigen.
- Schritt 3: Nicht kompatible Targets früh und mit eindeutiger Diagnose ablehnen.
- Schritt 4: Teilweise Datenbestände von vollständig inkompatiblen Quellen unterscheiden.
5. Artefaktzugriff und Parsing
- Schritt 1: Dateien und andere Quellen ausschließlich über Target-Abstraktionen öffnen.
- Schritt 2: Parserlogik von Navigation und Pluginsteuerung trennen.
- Schritt 3: Kodierung, Zeitzone, Pfade und unvollständige Datensätze defensiv behandeln.
- Schritt 4: Fehler pro Artefakt protokollieren, ohne unnötig das gesamte Target abzubrechen.
6. Record-Schemata und Ausgaben
- Schritt 1: Fachlich benötigte Felder und passende Record-Typen festlegen.
- Schritt 2: Deskriptoren mit stabilen Namen und nachvollziehbarer Feldreihenfolge definieren.
- Schritt 3: Herkunfts-, Target- und Quellpfadinformationen erhalten.
- Schritt 4: Ergebnisse mit vorhandenen Ausgabe- und Filterwerkzeugen prüfen.
7. Pluginfunktionen und Namespaces
- Schritt 1: Öffentliche Funktionen klar von internen Hilfsmethoden trennen.
- Schritt 2: Parameter und Standardwerte reproduzierbar gestalten.
- Schritt 3: Namespace-Strukturen für zusammengehörige Funktionen verwenden.
- Schritt 4: Namenskonflikte und unerwartete Mehrfachregistrierung vermeiden.
8. Child Targets und verschachtelte Systeme
- Schritt 1: Kriterien für die Erkennung eines untergeordneten Targets definieren.
- Schritt 2: Eindeutige Pfade und Herkunftsbezüge für Child Targets erzeugen.
- Schritt 3: Rekursion, Duplikate und fehlerhafte Kindquellen kontrollieren.
- Schritt 4: Host- und Kindanalysen in einem Integrationstest verbinden.
9. Unit- und Integrationstests
- Schritt 1: Minimale Filesystem- oder Target-Fixtures für normale Fälle aufbauen.
- Schritt 2: Fehlende Artefakte, beschädigte Datensätze und Randwerte simulieren.
- Schritt 3: Record-Inhalt, Typen, Reihenfolge und Herkunft automatisch prüfen.
- Schritt 4: Pluginaufruf über target-query als End-to-End-Test ergänzen.
10. Paketierung und Registrierung
- Schritt 1: Metadaten, Abhängigkeiten und unterstützte Versionen deklarieren.
- Schritt 2: Plugin als installierbares Python-Paket strukturieren.
- Schritt 3: Registrierung nach Installation in einer sauberen Umgebung prüfen.
- Schritt 4: Deinstallation und Versionswechsel ohne verbleibende Seiteneffekte testen.
11. Wartung und Qualitätssicherung
- Schritt 1: Änderungsprotokoll und Semantik von Schemaänderungen festlegen.
- Schritt 2: Regressionstests für neue Artefaktversionen ergänzen.
- Schritt 3: Fehlerberichte mit reproduzierbaren Testdaten und Diagnosen erfassen.
- Schritt 4: Freigabe, Rücknahme und Kompatibilitätsprüfung für den Betrieb definieren.
Praxisübungen
- Entwurf eines Pluginvertrags mit Artefakten, Funktionen und Record-Schema
- Implementierung einer Kompatibilitätsprüfung und defensiven Parseranbindung
- Entwicklung automatisierter Tests einschließlich target-query-End-to-End-Aufruf
- Paketierung und Installation des Plugins in einer sauberen Umgebung
Zielgruppe
Python-Entwickler, DFIR-Engineers, Artefaktanalysten und technische Maintainer eigener Dissect-Erweiterungen
Voraussetzungen
Sichere Python-Kenntnisse, praktische Grundlagen mit Dissect sowie Erfahrung mit automatisierten Tests und Paketstrukturen
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: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Python-Entwickler, DFIR-Engineers, Artefaktanalysten und technische Maintainer eigener Dissect-Erweiterungen |
| Voraussetzungen: | Sichere Python-Kenntnisse, praktische Grundlagen mit Dissect sowie Erfahrung mit automatisierten Tests und Paketstrukturen |
| 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.
