UDS Enumeration erklärt: wie man ein ECU sicher abbildet
Was UDS Enumeration auf einem ECU findet, warum Sessions und Services wichtig sind und wie ein nicht-destruktiver Scan die Diagnose-Oberfläche abbildet.
Tom Zaubermann · Veröffentlicht · 7 Min. Lesezeit
Bevor du ein Steuergerät absichern kannst, musst du wissen, was es offenlegt. UDS (Unified Diagnostic Services, ISO 14229) ist die Sprache, die die meisten ECUs für Diagnostik sprechen, und Enumeration ist der Akt, alles abzubilden, was es anbietet: welche Diagnose-Sessions existieren, welche Services in jeder antworten und welche Data Identifier gelesen werden können.
Warum Enumeration zuerst kommt
Ein ECU ist nicht ein einziges flaches Interface. Ein Service, der in der Default-Session stumm ist, kann in einer Extended- oder Programming-Session antworten. Ein Data Identifier, der harmlos aussieht, kann eine Seriennummer, einen Kalibrierungswert oder ein Geheimnis zurückgeben. Bis du die gesamte Oberfläche abgelaufen bist, Session für Session, rätst du bei der Angriffsfläche.
Was ein guter Scan abdeckt
Eine gründliche Enumeration läuft vier Schichten ab:
- Endpunkte. Die ISO-TP-Adresspaare, auf die das ECU antwortet, über den 11-Bit- und den 29-Bit-Bereich.
- Sessions. Default, Extended und, vorsichtig, Programming. Der Einstieg muss robust sein, weil manche Gateways hängen bleiben.
- Services. Jede Service-ID, in jeder Session geprüft und klassifiziert: supported, aus Sicherheitsgründen denied, in dieser Session not supported oder conditions not correct.
- Data Identifier. Die lesbaren DIDs, entweder der Identifikationsbereich oder der volle Identifier-Raum.
Es nicht-destruktiv halten
Enumeration sollte lesen, nicht schreiben. Der Scan entdeckt, was da ist, und markiert die riskanten Services (ECU-Reset, Routine Control, Memory Access), ohne sie auszulösen. Das ist der Unterschied zwischen ein ECU zu verstehen und es zu stören, und das ist der Grund, warum Enumeration der sichere erste Schritt vor jedem Fuzzing oder Write-Test ist.
Genau das macht die Enumeration-Engine in AutoST, automatisch, in Minuten, und sie bewertet die riskanten Services, die sie findet, sodass du weißt, wo du als Nächstes schauen musst.
FAQ
Häufig gestellte Fragen
Ist UDS Enumeration sicher?
Richtig gemacht, ja. Enumeration entdeckt und liest; sie schreibt oder fuzzt nicht. Die Programming-Session wird sorgfältig behandelt, weil manche ECUs darin hängen bleiben.
Was ist eine Diagnose-Session?
Eine UDS-Session (Service 0x10) schaltet unterschiedliche Sätze von Services frei. Die Default-Session ist begrenzt; Extended- und Programming-Sessions legen mehr offen, was genau der Grund ist, warum sie das Testen wert sind.