Überblick

Der ThreatZ TestBench Agent (ArchitTestClient v2.0.0) ist ein produktionsreifer, Python-basierter Automotive-Cybersicherheits-Testclient, der direkt auf Ihrer Teststandhardware läuft. Er führt Sicherheitskampagnen gegen reale Steuergeräte und Fahrzeugnetzwerke aus — nahtlos koordiniert von der ThreatZ-Plattform über HTTP/REST (Protokoll V2). Der Agent empfängt Kampagnenaufträge über Command Polling, führt Tests mit protokollspezifischen Fuzzern und Hardware-Adaptern aus und meldet Ergebnisse mit vollständiger Artefaktsammlung zurück.

Der TestBench Agent ist Teil des Validierung & Testing Moduls. Während das Modul den gesamten Traceability-Backbone verwaltet — Testfälle mit TARA-Anforderungen verknüpft, Abdeckung verfolgt und Evidenz sammelt — ist der TestBench Agent die Ausführungs-Engine, die das Testen auf die Hardware bringt.

Architektur

Der Agent folgt einer modularen Architektur mit klarer Aufgabentrennung:

ModulZweck
AuroraLinkServerkommunikation — Registrierung, Polling, Statusupdates, Artefakt-Upload
Campaign RunnerKampagnen-Lebenszyklus (Queued → Initializing → Running → Succeeded/Failed/Killed)
Engine FrameworkProtokoll-Fuzzer, Hardware-Adapter, Sicherheitsmechanismen
ARXML ParserFahrzeugarchitektur-Parsing (canmatrix-basiert, Multi-Cluster)
ScriptorCAPL-Codegenerierung aus Testdefinitionen
Report ManagerFuzzReport XML/JSON-Generierung
Trace ManagerBLF/ASC/PCAP-Trace-Dateiverwaltung
Pipeline ManagerTest-Pipeline-Orchestrierung
ODX ParserDiagnosedatenextraktion aus ODX/PDX-Dateien

Unterstützte Protokolle (36+)

Der TestBench Agent liefert spezialisierte Fuzzer für 36+ automotive Kommunikationsprotokolle. Jeder Fuzzer verwendet CWE-bewusste Mutationsstrategien, die auf spezifische Schwachstellenklassen abzielen.

Fahrzeug-Feldbusse

ProtokollFähigkeiten
CAN 2.011-Bit/29-Bit IDs, bis zu 8-Byte-Payload, Bitraten-Manipulation
CAN FDErweiterte Payload (bis 64 Bytes), duale Bitrate (nominal + Daten), BRS/ESI-Angriffe, DLC-Grenztests
CAN XLCAN-Protokollvarianten der nächsten Generation
LINSchedule-basierte Nachrichteninjektion
FlexRayDynamischer Slotzugriff

Diagnoseprotokolle

ProtokollFähigkeiten
UDS (ISO 14229)Sitzungsverwaltung, Security Access, DID-Lesen/-Schreiben, Routine Control, ECU-Reset
ISO-TP (ISO 15765)Transportprotokoll für Multi-Frame-Diagnose
DoIP (ISO 13400-2)Fahrzeugidentifikationsangriff, Routing-Activation-Hijacking, Session-Übernahme
ODX/PDXDiagnosedatenextraktion und Service-Definitionsparsing

Automotive Ethernet

ProtokollFähigkeiten
SOME/IPService-/Methoden-Discovery, Payload-Mutation, Response-gesteuertes Fuzzing
EthernetMAC/IP-Konfiguration, TCP/UDP-Mutation, VLAN-Tag-Unterstützung
DDSData Distribution Service Fuzzing
PTPPrecision Time Protocol-Angriffe

Weitere Protokolle

CANopen, J1939, CCP/XCP, SecOC, DLT, BLE, Cellular, CHAdeMO, NFC, ISO 15118 (V2G), GNSS, CCS, NACS, GBT, E2E-Schutz

Testtypen

Fuzzing-Kampagnen

  • Zufällige, abdeckungsgesteuerte, grammatikbasierte und mutationsbasierte Strategien
  • CWE-bewusste Mutationsformung (20+ CWEs pro Protokoll)
  • Corpus-Management mit Minimierung
  • Response-gesteuertes adaptives Fuzzing
  • Aktive CWE-Zielrotation (10-Sekunden-Intervalle)

Penetrationstests

  • STRIDE-klassifizierte Angriffsvektoren (Spoofing, Tampering, Repudiation, Information Disclosure, DoS, Elevation of Privilege)
  • CAN-Frame-Injektion mit beliebigen IDs und Payloads
  • Gateway-Routing-Tabellen-Manipulation
  • DoIP-Session-Hijacking und Authentifizierungsumgehung
  • Diagnostische Power-Mode-Manipulation

Robustheitstests

  • Buslast-Stresstests (bis zu 90%+ Last)
  • Fehlerrahmengenerierung und Flut-Erkennung
  • Erweiterte Payload-Grenztests
  • CAN/CAN-FD-Übergangstests

UDS-Diagnosetests

  • ECU Reset (0x10), Read DID (0x22), Write DID (0x2E)
  • Security Access (0x27), Routine Control (0x31)
  • Write Memory Address (0x3D), I/O Control (0x2F)
  • Sitzungsverwaltung (Default, Programming, Extended)

Compliance- & Systemtests

  • Sicherheits-Compliance-Verifizierung (ISO 26262, SOTIF)
  • Protokoll-Compliance-Validierung
  • Multi-ECU-Koordination und komplexe Angriffssequenzen
  • Vehicle-in-the-Loop-Integration

Hardware-Abstraktionsschicht

Der Agent unterstützt mehrere Hardware-Hersteller über eine einheitliche, herstellerneutrale Abstraktion — wechseln Sie die Hardware ohne Änderung Ihrer Testkonfiguration.

HerstellerUnterstützte Geräte
Vector InformatikCANoe, CANalyzer, VN-Serie Adapter
Peak SystemsPCAN-USB, PCAN-USB Pro FD
KvaserLeaf, Memorator, USBcan
IntrepidneoVI, ValueCAN
SocketCANLinux-native CAN-Schnittstellen
SimulationVirtuelle Schnittstellen für Offline-Tests

Die Hardware-Gesundheitsüberwachung verfolgt Verbindungsqualität, Latenz pro Frame, Frame-Verlusterkennung und Leistungsverschlechterungsbewertung mit Gesundheitsstufen: Gesund, Warnung, Kritisch.

5-Stufen-Sicherheitseskalation

Eingebaute Sicherheitsmechanismen überwachen Buslast, Fehlerrahmenraten und ECU-Heartbeat in Echtzeit. Bei Schwellenwertüberschreitungen eskaliert der Agent automatisch:

StufeAktionAuslöser
1 — DrosselnInjektionsrate reduzierenWarnschwelle angenähert
2 — PauseSenden stoppen, nur überwachenWarnschwelle überschritten
3 — Soft ResetECU-Soft-Reset über UDSFehlerrate anhält
4 — Hard ResetPower-Cycle über Teststand-ControllerECU reagiert nicht
5 — AbbruchKampagne sofort beendenKritische Sicherheitsgrenze überschritten

Überwachungsfähigkeiten umfassen Buslastüberwachung (Warnung bei 75%, kritischer Kill bei 90% — konfigurierbar), Fehlerrahmenerkennung (>10 Fehler/Sekunde Standard), ECU-Heartbeat-Überwachung (5-Sekunden-Timeout), manueller Kill-Switch über GUI und benutzerdefinierte Kill-Ausdrücke für spezielle Sicherheitsanforderungen. Alle Sicherheitsereignisse werden mit Typ, Schweregrad, Zeitstempel, Iterationsindex und detailliertem Kontext aufgezeichnet.

CWE-gesteuerte Angriffsintelligenz

Jede Kampagne zielt auf spezifische Common Weakness Enumerations ab, die dem getesteten Protokoll zugeordnet sind:

  • 20+ CWE-Ziele pro Protokoll (z.B. CWE-120 Buffer Overflow, CWE-1284 Improper Validation of Specified Quantity in Input)
  • Per-CWE-Formungsregeln definieren, wie Frame-Felder mutiert werden, um jede Schwachstellenklasse anzugreifen
  • Angriffs-Preset-Stufen: Quick (Schnellscan), Standard (ausgewogen), Full (umfassend)
  • Per-CWE BLF-Trace-Dateien für Audit-Granularität — separate Trace-Aufzeichnung pro Schwachstelle
  • Finding-Korrelation: Jedes Finding wird dem auslösenden CWE zugeordnet

CANoe- & CAPL-Integration

  • CANoe-Konfigurationsladen: Direktes Laden von .cfg-Dateien für Simulationsumgebungen
  • CAPL-Skriptgenerierung: Das Scriptor-Modul konvertiert DSL-Testdefinitionen in ausführbaren CAPL-Code
  • Smart CAPL-Generator: Kontextbewusste Skriptgenerierung, abgestimmt auf ARXML-Signaldefinitionen
  • Report-Parsing: Extrahiert Ergebnisse aus CANoe-Testberichten (.vtestreport-Format)
  • Output-Discovery: Automatisches Scannen von CANoe-Ausgabeverzeichnissen zur Artefaktsammlung

ARXML-Parsing

Der Agent verwendet einen canmatrix-basierten Parser mit Multi-Cluster-ARXML-Unterstützung:

  • Extrahiert ECU-Liste mit TX/RX-Frame-Zuordnungen, Frames mit Arbitrierungs-IDs und DLC, Signale mit Typen/Min/Max/Skalierung
  • NM-Frame-Erkennung und -Isolierung pro Ziel-ECU
  • Datenbanknamen-Ableitung mit CAPL-Namespace-Kompatibilität
  • Multi-Bus-Unterstützung — verarbeitet ARXML-Dateien mit mehreren CAN-Clustern mit Deduplizierung nach Frame-ID

Test-Ausführungs-Workflow

  1. Command Polling — Agent pollt die ThreatZ-Plattform alle 15 Sekunden nach neuen Befehlen
  2. Kampagneninitialisierung — ARXML laden, Ziel-ECU validieren, Protokolltyp auflösen, Angriffsvektoren laden
  3. Exploitation — FuzzScheduler mutiert Eingaben → Protokoll-Fuzzer formt für CWE-Ziele → Hardware-Adapter sendet
  4. Überwachung — Separater Überwachungsthread analysiert Antworten, erkennt Anomalien, verfolgt Timing
  5. Finding-Erkennung — Überwachte Daten mit Angriffsvektor korrelieren → Findings mit Schweregrad und CWE-Zuordnung generieren
  6. Artefaktsammlung — BLF-Traces, Logs, PCAP-Aufzeichnungen, Berichte → SHA-256-Integritäts-Hashing
  7. Berichtgenerierung — FuzzReport (XML/JSON) mit Zielübergängen, Findings, Abdeckungsdaten, BLF-Referenzen
  8. Upload & Abschluss — S3 Presigned URL Upload mit Fortschrittsverfolgung → Statusupdate an Plattform

Kampagnenzustände: Queued → Initializing → Running → Paused → Succeeded / Failed / Killed

Service-Pack-Ausführung

Service Packs ermöglichen benutzerdefinierte Testszenarien über die integrierten Protokoll-Fuzzer hinaus:

  1. CREATE_SCENARIO: Plattform sendet Pack-Definition; Agent erstellt Ordnerstruktur mit Batch-/Shell-Stub
  2. Konfiguration: config.json, tool_config.json, evidence_policy.json, safety_policy.json
  3. RUN_SERVICE_PACK: Szenario ausführen, Bus-Traffic aufzeichnen (BLF/ASC/PCAP), Logs sammeln
  4. Evidenzsammlung: Richtlinienbasierte Artefaktfilterung und -sammlung
  5. Upload: S3 Presigned URL Upload mit Manifest und Integritätsverifizierung

Artefaktsammlung

Jede Kampagne erzeugt ein vollständiges Evidenzpaket:

ArtefakttypFormatZweck
Bus-TracesBLF (Binary Logging Format)Vector-Standard CAN-Trace-Aufzeichnung
Text-TracesASC (Klartext)Menschenlesbare CAN-Trace
Netzwerk-CapturesPCAPEthernet/DoIP/SOME-IP-Verkehr
AusführungslogsKlartextAgent-Laufzeitlogs, Fehler, Warnungen
TestberichteFuzzReport XML/JSONStrukturierte Kampagnenergebnisse mit Findings
CANoe-Berichte.vtestreportCANoe-Testausführungsergebnisse
Generierte SkripteCAPLGenerierte Test-Automatisierungsskripte
ManifesteJSONSHA-256-Integritäts-Prüfsummen pro Artefakt

Alle Artefakte werden über S3 Presigned URLs hochgeladen, mit Multipart-Unterstützung für Dateien über 5 MB. Serverseitige Verifizierung bestätigt SHA-256-Integrität.

GUI & Headless-Betrieb

GUI (Flet-basiert)

  • Echtzeit-Kampagnenüberwachungs-Dashboard
  • CWE-Ziel-Rotator mit 10-Sekunden-Zyklus
  • Fuzz-Scope-Tab zur Auswahl von Ziel-Frames/-Signalen
  • Überwachungs-Tab für Modus-, Fenster- und Toleranzkonfiguration
  • Hardware-Gesundheits- und Verbindungsstatusanzeigen
  • Projektmanager für Multi-Projekt-Umschaltung
  • Dark/Light-Theme-Autoerkennung

Headless-Modus

  • Vollständige Kampagnenausführung ohne GUI
  • Geeignet für CI/CD-Integration und automatisierte Regressionstests
  • Konfiguration über .env und project_config.json
  • Alle Ergebnisse werden programmatisch an die Plattform gemeldet

Kommunikation mit der ThreatZ-Plattform

Der Agent nutzt HTTP/REST (Protokoll V2) — keine WebSocket-Abhängigkeit:

EndpunktMethodeZweck
/api/v2/agent/registerPOSTAgent-Registrierung mit maschinenbasiertem Identifikator
/api/v2/agent/healthPOSTHeartbeat (30-Sekunden-Intervall) mit Status und Fähigkeiten
/api/v2/agent/commands/pollGETPull-basierte Befehlszustellung (15-Sekunden-Polling)
/api/v2/agent/statusPOSTKampagnenfortschritt, Testergebnisse, Finding-Berichte

Authentifizierung über JWT-Tokens mit maschinenbasierten Identifikatoren. Multi-Tenant-Unterstützung über Tenant-ID-Tracking. Artefakt-Upload nutzt S3 Presigned URLs mit SHA-256-Integritätsverifizierung und Multipart-Upload für Dateien über 5 MB.

Integration mit anderen Säulen

RichtungFeatureMechanismus
EingehendKampagnenaufträgeHTTP Command Polling (15-Sekunden-Intervall)
EingehendProtokollpakete und AngriffsvektorenMit Kampagnenkonfiguration heruntergeladen
EingehendARXML und ProjektkonfigurationIn Kampagnen-Payload enthalten
AusgehendKampagnenfortschrittHTTP-Statusupdates
AusgehendTest-FindingsStrukturierte Finding-Berichte mit CWE-Korrelation
AusgehendArtefakteS3 Presigned URL Upload mit SHA-256-Verifizierung
AusgehendGesundheitsstatusHeartbeat alle 30 Sekunden mit Fähigkeiten
AusgehendSicherheitsereignisseAufgezeichnet und mit Kampagnenergebnissen hochgeladen