Zum Inhalt springen
AutoST by Zyberum GmbH
Menü
GlossarDiagnose

ODX (Open Diagnostic Data Exchange)

ODX (ISO 22901-1, ASAM MCD-2 D) ist das XML-Format, das beschreibt, wie ein Steuergerät UDS spricht: Services, DIDs, Routinen und Daten. Aufbau und Nutzen für Tester.

Aktualisiert Diese Seite als Markdown

Kurz gesagt

ODX (Open Diagnostic Data Exchange) ist das XML-basierte Datenformat, standardisiert als ASAM MCD-2 D und ISO 22901-1, das die Diagnoseschnittstelle eines Steuergeräts beschreibt: welche Services es unterstützt, Requests und Antworten, Data Identifier und Routinen und wie Rohbytes in physikalische Werte umgerechnet werden. Diagnosetester und Flash-Tools lesen ODX, statt jedes Steuergerät fest einzuprogrammieren. Für Security-Tests ist es die Spezifikation, mit der das echte Verhalten verglichen wird.

Was ist ODX?

ODX ist ein Datenmodell in XML, das die Diagnosekommunikation eines Steuergeräts beschreibt, damit Tools ohne steuergerätespezifischen Code damit arbeiten können. Der Hauptinhalt ist in Diagnose-Layern organisiert, die voneinander erben: PROTOCOL, FUNCTIONAL-GROUP, BASE-VARIANT und ECU-VARIANT, dazu ECU-SHARED-DATA für gemeinsame Definitionen. Jeder Layer enthält DIAG-SERVICE-Elemente mit ihren Strukturen für REQUEST, POS-RESPONSE und NEG-RESPONSE sowie Data Object Properties (DOPs) mit Umrechnungsmethoden, die Bytes in physikalische Werte und Einheiten übersetzen.

Der ODX-Eintrag für einen ReadDataByIdentifier-Service sagt einem Tool zum Beispiel, dass der Request 22 F1 8C die Seriennummer des Steuergeräts liest, dass auf die Antwort 62 F1 8C ASCII-Bytes folgen und in welchen Sessions der Service erlaubt ist.

Wo ist es definiert?

ASAM definiert ODX als MCD-2 D; ISO 22901-1 veröffentlicht das Datenmodell als internationalen Standard. Zu den Dateitypen gehören .odx-d für Diagnose-Layer, .odx-c und .odx-cs für Kommunikationsparameter und .odx-f für Flash-Daten. Der UDS-Inhalt, den ODX beschreibt, kommt aus ISO 14229-1.

Was es in der Praxis bedeutet

ODX ist das, was einer Spezifikation der Diagnoseschnittstelle am nächsten kommt, die ein Testteam normalerweise bekommt. Die Datei benennt Data Identifier und Routinen, zeigt, welche davon beschreibbar sein sollen, und welche Session oder welches Security Level jeder Service braucht. Damit ist ODX die Referenz für zwei Security-Fragen: Setzt das Steuergerät durch, was in der Datei steht, und gibt es etwas preis, das die Datei nicht erwähnt?

Wir sehen regelmäßig beide Arten von Lücke. Data Identifier, die in der Beschreibung als nur lesbar markiert sind, nehmen Schreibzugriffe an, und Services, die laut Datei auf die Extended Session beschränkt sind, antworten in der Default Session. Undokumentierte Identifier sind oft Überbleibsel aus der Entwicklung, die niemand geprüft hat.

Wie AutoST es testet

AutoST importiert ODX- und CDD-Dateien. Die Diagnose-Engine nutzt sie, um die bei der Enumeration gefundenen Data Identifier zu benennen und die in der Datei gelisteten Routine Identifier zu scannen, inklusive Schreibtests, die prüfen, ob der Schreibschutz wie dokumentiert greift. Identifier, die antworten, aber nicht in der Datei stehen, erscheinen als eigene Findings.

Häufige Missverständnisse

ODX ist eine Beschreibung, keine Sicherheitsrichtlinie. Ein Steuergerät liest seine ODX-Datei zur Laufzeit nicht, die Datei kann also stimmen, während die Implementierung falsch ist. Und nicht jeder Zulieferer liefert vollständiges ODX: Eine unvollständige Datei hilft trotzdem, aber die Enumeration muss die Lücken füllen.

FAQ

Häufig gestellte Fragen

Was ist der Unterschied zwischen ODX und PDX?

ODX ist das Datenformat, PDX der Container. Eine PDX-Datei ist ein ZIP-Archiv, das mehrere ODX-Dateien (Diagnose-Layer, Kommunikationsparameter, Flash-Daten) mit einem Index bündelt, damit ein Tool die Beschreibung eines ganzen Steuergeräts oder Fahrzeugs in einer Datei laden kann.

Was ist der Unterschied zwischen ODX und CDD?

CDD ist das proprietäre Format des Vector-Tools CANdelaStudio. Beide beschreiben dieselbe Art von Information, und CANdelaStudio kann ODX exportieren. Viele Zulieferer pflegen ihre Stammdaten in CDD und liefern ODX oder PDX an den OEM.

Verrät mir eine ODX-Datei alles, was ein Steuergerät kann?

Nein. Die Datei beschreibt, was der Hersteller dokumentiert hat. Echte Steuergeräte beantworten oft Data Identifier oder Services, die nicht darin stehen, und der Vergleich beider ist eine der nützlichsten Prüfungen in einem Security-Test.

Quellen

Passende Seiten

Sieh es auf deinem ECU

Ein Begriff, der für dein Steuergerät zählt?

In 15 Minuten sagen wir dir, wie AutoST ihn testet, wie ein Finding aussieht und was er für deinen ISO/SAE-21434-Nachweis bedeutet.

  • Direkte Antwort von einem ECU-Security-Engineer
  • Welcher Test den Begriff abdeckt
  • Kostenlos und unverbindlich
Tom Zaubermann

Deine Demo ist mitTom ZaubermannGründer von Zyberum, früher Leiter des VW InCar Security Testing Lab

Bereits im Einsatz bei Tier-1-, Tier-2-Zulieferern und OEMs. Referenzen auf Anfrage.

Ruf uns an: +49 176 439 17074automotive@zyberum.com

Oder schreib uns eine Nachricht

Wir antworten innerhalb eines Werktags.

Ruf uns anAutoST-Team fragen

Wähle einen Termin, der dir passt

In neuem Tab öffnen