# UDS (Unified Diagnostic Services)

> UDS (Unified Diagnostic Services) ist das Request/Response-Protokoll aus ISO 14229-1, mit dem Tester mit Steuergeräten sprechen: Diagnose-Sessions wechseln, Data Identifier lesen und schreiben, Routinen starten, Fehlerspeicher lesen und Software flashen. Jeder Request beginnt mit einem Service Identifier (SID); eine positive Antwort wiederholt SID + 0x40, eine negative beginnt mit 0x7F. UDS läuft über CAN (ISO-TP), DoIP und weitere Transporte und ist die größte aus der Ferne erreichbare Angriffsfläche der meisten Steuergeräte.

UDS (ISO 14229) ist das Diagnoseprotokoll der meisten Steuergeräte: Sessions, Services, DIDs, SecurityAccess. Was es definiert und warum es die erste Angriffsfläche ist.

Source: https://auto-st.com/de/glossar/uds · Updated: 2026-10-07

## Was ist UDS?

UDS ist das Diagnoseprotokoll auf Anwendungsebene, das fast jedes Steuergerät im Fahrzeug spricht. Ein Tester (der Client) schickt einen Request, das Steuergerät (der Server) antwortet. Das erste Byte eines Requests ist der Service Identifier (SID), danach folgen ein optionales Sub-Funktions-Byte und die Parameter des Services. Eine positive Antwort wiederholt den SID plus `0x40`; eine negative Antwort ist immer `7F <SID> <NRC>`.

Ein einzelner Austausch sieht so aus: `22 F1 90` fragt mit ReadDataByIdentifier nach dem Data Identifier `F190` (die VIN), und das Steuergerät antwortet `62 F1 90 57 56 57 ...` mit den 17 ASCII-Bytes der VIN. Lehnt das Steuergerät ab, antwortet es zum Beispiel `7F 22 33`, securityAccessDenied.

ISO 14229-1 teilt die 26 Services in sechs Funktionsgruppen: Diagnose- und Kommunikationsmanagement (`0x10` DiagnosticSessionControl, `0x11` ECUReset, `0x27` SecurityAccess, `0x28` CommunicationControl, `0x29` Authentication, `0x3E` TesterPresent, `0x85` ControlDTCSetting und weitere), Datenübertragung (`0x22`, `0x23`, `0x2E`, `0x3D` und weitere), gespeicherte Daten (`0x14`, `0x19`), Ein-/Ausgabesteuerung (`0x2F`), Routinen (`0x31`) und Upload/Download (`0x34` bis `0x38`).

## Wo ist es definiert?

ISO 14229-1:2020 definiert die Anwendungsschicht: Services, Sub-Funktionen, Parameter, die Negative Response Codes in Anhang A, die Standard-Data-Identifier in Anhang C und die Routine Identifier in Anhang F. ISO 14229-2 definiert die Session-Schicht und die Timing-Parameter P2, P2* und S3. Der Transport ist getrennt geregelt: ISO 15765-2 (ISO-TP) für CAN und CAN FD, ISO 13400-2 für DoIP über Ethernet. ISO 14229-3 bis -8 bilden UDS auf die einzelnen Transporte ab.

## Was es in der Praxis bedeutet

UDS ist die größte Angriffsfläche, die ein Steuergerät ohne Zerlegen preisgibt. Alles, was ein Werkstatttester kann, kann ein Angreifer am Bus ebenfalls versuchen: in die Extended Session wechseln, Identifikations- und Kalibrierdaten lesen, Data Identifier schreiben, Routinen starten, Speicher löschen und neue Firmware herunterladen. Das Protokoll selbst bringt weder Verschlüsselung noch Authentifizierung mit; der Schutz muss im Steuergerät über Sessions und SecurityAccess kommen, und genau dort unterscheiden sich die Implementierungen.

Wir sehen regelmäßig Services, die in der Default Session antworten, obwohl die Herstellerspezifikation sie auf die Extended Session beschränkt, Data Identifier, die mehr preisgeben als nötig, und SecurityAccess-Implementierungen, die sich mit wenigen Requests umgehen lassen. Ein Trace aus UDS-Requests und -Antworten ist deshalb der schnellste Weg, den Schutz eines Steuergeräts einzuschätzen.

## Wie AutoST es testet

AutoST spricht UDS über CAN, CAN FD und DoIP. Die Enumerations-Engine findet ISO-TP-Endpunkte und Diagnose-Sessions, probiert in jeder Session jeden SID von `0x00` bis `0xFE`, klassifiziert die Antwort und liest die Data Identifier; die Diagnose-Engine ergänzt DID-Namen und Routinen aus ODX- oder CDD-Dateien; die SecurityAccess-Engine testet `0x27`; die Fuzzing-Engine schickt fehlerhafte UDS-Payloads und achtet auf Abstürze. Die Ergebnisse fließen in einen Risiko-Score, einen PDF-Bericht und einen Fix Plan.

## Häufige Missverständnisse

UDS ist kein Sicherheitsprotokoll und sollte nie eines sein. Es ist auch nicht auf CAN beschränkt: dieselben Requests laufen über DoIP, und ein Steuergerät, das am CAN gut geschützt ist, ist es nicht automatisch, wenn ein Gateway DoIP-Verkehr dorthin weiterleitet. Und ein Tester, der `7F xx 11` (serviceNotSupported) bekommt, hat etwas gelernt, nicht nichts: der Service existiert auf diesem Steuergerät nicht, anders als bei `7F xx 7F`, das heißt, er existiert in einer anderen Session.

## FAQ

**Ist UDS dasselbe wie OBD?**

Nein. OBD (ISO 15031, SAE J1979) ist die gesetzlich vorgeschriebene Abgasschnittstelle mit festen Services 0x01 bis 0x0A. UDS (ISO 14229) ist das Hersteller-Diagnoseprotokoll mit den Services 0x10 bis 0x3E und 0x83 bis 0x88, und damit arbeiten Werkstätten, Flash-Tools und Angreifer, um ins Innere eines Steuergeräts zu kommen.

**Hat UDS eingebaute Sicherheit?**

Nur das, was das Steuergerät implementiert: Session-Steuerung (0x10) begrenzt die erreichbaren Services, SecurityAccess (0x27) ergänzt eine Seed/Key-Abfrage, und Authentication (0x29) bringt in der Ausgabe 2020 zertifikats- oder challenge-basierte Zugriffe. Standardmäßig ist in UDS nichts verschlüsselt oder authentifiziert.

**Über welche Transporte läuft UDS?**

Meist über ISO-TP auf CAN oder CAN FD (ISO 15765-2) und über DoIP auf Ethernet (ISO 13400). Die Anwendungsschicht bleibt identisch, deshalb kann ein Tool, das UDS über CAN testet, dasselbe Steuergerät auch über DoIP testen.

## Sources

- [ISO 14229-1:2020 Straßenfahrzeuge, Unified diagnostic services (UDS), Teil 1: Anwendungsschicht](https://www.iso.org/standard/72439.html)
- [ISO 15765-2:2024 Straßenfahrzeuge, Diagnosekommunikation über CAN (DoCAN), Teil 2: Transportprotokoll und Netzwerkschichtdienste](https://www.iso.org/standard/84211.html)
- [ISO 13400-2:2019 Straßenfahrzeuge, Diagnosekommunikation über Internet Protocol (DoIP), Teil 2: Transportprotokoll und Netzwerkschichtdienste](https://www.iso.org/standard/74785.html)

## Related

- [SID (Service Identifier)](https://auto-st.com/de/glossar/sid)
- [NRC (Negative Response Code)](https://auto-st.com/de/glossar/nrc)
- [Diagnose-Session (DiagnosticSessionControl 0x10)](https://auto-st.com/de/glossar/diagnose-session)
- [ISO-TP (ISO 15765-2)](https://auto-st.com/de/glossar/iso-tp)
- [UDS-Nachrichten-Decoder](https://auto-st.com/de/tools/uds-nachrichten-decoder)
- [Kenne jede Tür ins ECU.](https://auto-st.com/de/uds-enumeration)

---
AutoST by Zyberum. Canonical page: https://auto-st.com/de/glossar/uds
