リソース

問題の場所

BlockHarbor Hackathon

自動車hack・このシリーズのCTFに使えそうな知見まとめ

自動車セキュリティ (Car Hacking)

順位

1位 (2024/08/13時点)

image.png

VSEC Garage: UDS Challenge

Simulation VIN

ダイアグ通信でVINの要求を試みる。

cansend / candump コマンドでも簡単なCANメッセージの送受信はできるが、複数フレームに分割されたメッセージの扱いなどが大変なので、 isotpsend / isotprerecv を使う。


VIN含む色々なデータを読める命令として、Read Data by Identifier (RDBI) がある。

https://piembsystech.com/data-identifiers-did-of-uds-protocol-iso-14229/#:~:text=server/vehicleIdentification options.-,0xF190,-VIN Data Identifier によると、Service 0x22 でRDBIを呼び出せる。中でもDID Number 0xF190 がVINのDID。

ということで、22 F1 90 のペイロードをECUに送信したい。


各ECUのUDSに対応したCAN IDの調べ方はちょっとよく分かっていないのだが、https://ramn.readthedocs.io/en/latest/userguide/diag_tutorial.html#ramn-standard-uds-servicesとか他のネット記事を見ると、