Lecture: RAMN: Resistant Automotive Miniature Network
A safe platform to study and research automotive systems
Studying automotive systems is often expensive and inconvenient, which prevents many people from getting started. To make research and education in automotive systems more accessible, we developed RAMN, an inexpensive open-source testbed that simulates a CAN/CAN-FD network of four Electronic Control Units. In our presentation, we introduce the testbed and demonstrate its use by experimenting with a simple Cruise Control algorithm in C, starting from establishing differential equations all the way to testing it in a driving simulator - all that using only open-source tools. We then use the result as a reference to explain what, concretely, would have been different on actual ECU hardware and software, and why that matters for security.
1) Introduction and motivations (~10 minutes)
We briefly introduce the basics of automotive systems (ECU networks, CAN/CAN-FD), the importance of education and research in automotive security, and our motivations for designing a new testbed.
2) RAMN Introduction (~20 minutes)
In this section, we introduce our new platform. RAMN is an inexpensive CAN/CAN-FD network of four Electronic Control Units (ECU) that can be programmed to simulate an active automotive network in closed-loop with the open-source autonomous driving simulator CARLA. It has the size of a credit card, is powered over USB, and can be recognized as a standard USB-to-CAN adapter. It is contained within one PCB, using only two layers and hand-solderable components. We show several demonstrations, then give details about the hardware (made with KiCAD) and the software (based on STM32 HAL and freeRTOS).
3) Experiments (~10 minutes)
We use Cruise Control as an example algorithm to experiment with, using RAMN and other open-source tools. We analyze the problem, evaluate differential equations using Scilab, establish different control strategies, implement them in C in one of the ECUs and verify the results by connecting RAMN to the driving simulator CARLA, while making measurements on the CAN bus using BUSMASTER.
4) Automotive Grade (~10 minutes)
We use the results of the previous section as a reference to explain what, concretely, would have been different with real ECU hardware and software. We discuss what drives the design of automotive systems, introducing important standards such as ISO26262 and MISRA-C. We explain what alternatives are available to researchers when technologies are hidden behind NDAs or prohibitive costs - and how RAMN makes use of them.
5) Automotive Security (~10 minutes)
We use the content of the sections above to discuss automotive security, using RAMN to show demonstrations of potential activities.
- RAMN with sensors and actuators
- Main board + block diagram
- RAMN being recognized and used as a standard Linux interface
- RAMN using many stackable boards
- RAMN in closed-loop controls with driving simulator CARLA
- Introduction paper