L’énumération UDS expliquée : cartographier un ECU sans risque
Ce que l’énumération UDS révèle sur un ECU, pourquoi sessions et services comptent, et comment un scan non destructif cartographie la surface de diagnostic.
Tom Zaubermann · Publié le · 7 min de lecture
Avant de pouvoir sécuriser un calculateur électronique, il faut savoir ce qu’il expose. L’UDS (Unified Diagnostic Services, ISO 14229) est le langage que la plupart des ECU parlent pour le diagnostic, et l’énumération est l’acte de cartographier tout ce qu’il offre : quelles sessions de diagnostic existent, quels services répondent dans chacune, et quels identifiants de données peuvent être lus.
Pourquoi l’énumération vient en premier
Un ECU n’est pas une interface plate et unique. Un service silencieux dans la session par défaut peut répondre dans une session étendue ou de programmation. Un identifiant de données qui semble inoffensif peut renvoyer un numéro de série, une valeur de calibration ou un secret. Tant que vous n’avez pas parcouru toute la surface, session par session, vous ne faites que deviner la surface d’attaque.
Ce que couvre un bon scan
Une énumération rigoureuse parcourt quatre couches :
- Points d’accès. Les paires d’adresses ISO-TP sur lesquelles l’ECU répond, à la fois sur les plages 11 bits et 29 bits.
- Sessions. Par défaut, étendue et, prudemment, de programmation. L’entrée doit être robuste, car certaines passerelles restent bloquées.
- Services. Chaque identifiant de service, sondé dans chaque session et classé : pris en charge, refusé pour raisons de sécurité, non pris en charge dans cette session, ou conditions incorrectes.
- Identifiants de données. Les DID lisibles, soit la plage d’identification, soit tout l’espace des identifiants.
Rester non destructif
L’énumération doit lire, pas écrire. Elle découvre ce qui est présent et signale les services risqués (reset ECU, routine control, accès mémoire) sans les déclencher. C’est la différence entre comprendre un ECU et le perturber, et c’est pourquoi l’énumération est la première étape sûre avant tout fuzzing ou test d’écriture.
C’est exactement ce que fait le moteur d’énumération d’AutoST, automatiquement, en quelques minutes, et il note les services risqués qu’il trouve pour que vous sachiez où regarder ensuite.
FAQ
Questions fréquentes
L’énumération UDS est-elle sans danger ?
Bien menée, oui. L’énumération découvre et lit ; elle n’écrit pas et ne fuzze pas. La session de programmation est gérée avec soin car certains ECU y restent bloqués.
Qu’est-ce qu’une session de diagnostic ?
Une session UDS (service 0x10) débloque différents ensembles de services. La session par défaut est limitée ; les sessions étendue et de programmation en exposent davantage, ce qui est précisément pourquoi elles valent la peine d’être testées.