OPEN SOURCE CAN BRIDGE

Summary of OPEN SOURCE CAN BRIDGE


This article introduces a compact, Atmega-powered transparent CAN bridge by Emile Nijssen designed for automotive system investigation. The device enables Man-in-the-Middle (MITM) message modification on up to three Controller Area Network (CAN) buses simultaneously. It relays messages transparently while allowing real-time data alteration and supports logging via USB using LUFA's implementation. Although it comes with sample code, users must modify source code in Atmel Studio 7 and flash the board using an AVRISP Mk II programmer, as there is no direct application programming interface.

Parts used in the Transparent CAN Bridge:

  • Atmega microcontroller
  • Three CAN bus interfaces
  • USB port with LUFA USB-CDC implementation
  • Sample project source code
  • Atmel Studio 7 software
  • AVRISP Mk II in-system programmer

The recent release from Emile Nijssen might just prove to be one very useful tool in the hands of those investigating in automotive systems as the board is said to allow for MITM message modification on up to three Controller Area Network buses.

According to the author of the automotive device, the compact Atmega-powered transparent CAN bridge can be useful in modifying or adjusting the way modern vehicles behave.

It is a little board that transparently relays CAN messages from one bus to the other, a wire, so to speak. That may seem useless. But wait, there’s more: You can modify the CAN messages in-flight. This is effectively a man-in-the-middle attack on the CAN bus. The board has three CAN bus, so if you want, you can actually do two CAN bus MITM attacks at once, or use the third CAN bus as a private bus for debugging, filtering, etc”, says Nijssen. “The board also natively supports logging CAN message over its USB port using LUFA’s USB-CDC implementation but might require you to use drivers while operating with certain Operating Systems”.

Further explaining the board operation, Nijssen said that even though the board is already prepared for operation, there might still be a need to edit the source codes in order to change the CAN data. “The sample project already implements everything you need to get started, and has some example lines showing how to modify CAN messages and receive commands and/or send debugging information over USB”.

However, one of the downplays of this board is that there is no interface for direct application programming, hence, any modification to the board’s behavior needs to be self-programmed. This can be carried out by first loading the project into an Atmel Studio 7 and thereafter flashed with an in-system programmer capable of PDI programming like AVRISP Mk ll.

Read more: OPEN SOURCE CAN BRIDGE

Quick Solutions to Questions related to Transparent CAN Bridge:

  • What function does the transparent CAN bridge perform?
    The board transparently relays CAN messages from one bus to another while allowing users to modify those messages during transit.
  • How many CAN buses can this device handle simultaneously?
    The board supports up to three CAN buses, enabling two MITM attacks at once or using the third for debugging.
  • Can I log CAN messages over the USB port?
    Yes, the board natively supports logging CAN messages over its USB port using LUFA's USB-CDC implementation.
  • Does the board require driver installation for certain operating systems?
    Yes, using the logging feature might require drivers while operating with specific Operating Systems.
  • Is there a direct interface for application programming?
    No, there is no interface for direct application programming, so behavior modifications must be self-programmed.
  • Which software is needed to edit the source code?
    Users need to load the project into Atmel Studio 7 to edit the source codes for changing CAN data.
  • What tool is required to flash the board?
    An in-system programmer capable of PDI programming like AVRISP Mk II is required to flash the board.

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.

Scroll to Top