This lab focuses on the integration of physical automotive hardware with virtual simulation. It uses a bare-metal testing platform bi-directionally synchronized with the CARLA driving simulator to form a “Digital Twin” environment.
Lab Structure: A 30-minute theoretical presentation (PASTA architecture, CAN vulnerabilities, Sim2Real concept) followed by 90 minutes of practical exercises.
The infrastructure consists of three operational layers.
Built inside a portable briefcase, organized in a dual-panel configuration:
Translates hardware signals into digital commands.
Objective: Analyze the electrical characteristics of the CAN bus.
The CAN lines on the testbed are coiled around the main 12V power supply to introduce Electromagnetic Interference (EMI).
Task:
CAN_H and CAN_L lines sequentially relative to the common ground.Questions & Observations:
CAN_H and CAN_L in the dominant state. CAN_L from CAN_H. The expected differential voltage is approximately 1.96V (e.g., CAN_H at ~2.99V and CAN_L at ~1.03V).Objective: Parse and interpret raw CAN traffic using pre-captured traffic.
You are provided with a CSV file containing CAN traffic. This data was extracted from the testbed's internal logic pins using a Kingst LA2016 high-speed logic analyzer.
Task:
Write a Python script to read the CSV file, extract the CAN IDs and data payloads, and translate them into actions using the provided CAN_ID.json dictionary.
Objective: Execute an injection attack on the digital twin and observe the kinetic impact in CARLA.
The CAN protocol uses a broadcast mechanism without source authentication.
Task: Inject a falsified message masquerading as a legitimate ECU (e.g., imitating the Chassis module to send a Powertrain command), causing the simulated vehicle to accelerate to 100% throttle and steer fully to the left.
Steps:
CAN_ID.json to find the CAN ID for the accelerator or brake pedal.can_id and a modified data value.Questions & Observations: