CaringCaribou / caringcaribou

A friendly car security exploration tool for the CAN bus
GNU General Public License v3.0
738 stars 193 forks source link

ISO 15765-2 (ISO-TP) support #30

Closed kasperkarlsson closed 6 years ago

kasperkarlsson commented 6 years ago

Implement support for ISO 15765-2, which makes it possible to send data packets of sizes up to 4095 bytes over CAN.

From https://en.wikipedia.org/wiki/ISO_15765-2:

ISO 15765-2, or ISO-TP (Transport Layer), is an international standard for sending data packets over a CAN-Bus. The protocol allows for the transport of messages that exceed the eight byte maximum payload of CAN frames. ISO-TP segments longer messages into multiple frames, adding metadata that allows the interpretation of individual frames and reassembly into a complete message packet by the recipient. It can carry up to 4095 bytes of payload per message packet.

kasperkarlsson commented 6 years ago

I am looking into this under the scope of Holisec.

kasperkarlsson commented 6 years ago

Update: the work on this enhancement is ongoing. Some restructuring of CC is also being included, as it makes sense to restructure the tool when protocols are being implemented as standalone libraries (/libs/) and automated tests (/tests/) are being added.

The current state of this work can be seen in the iso-tp branch https://github.com/CaringCaribou/caringcaribou/tree/iso-tp/tool which will be merged with master once done; most likely as a 0.2 release.

kasperkarlsson commented 6 years ago

Implemented in #33