Skip to content

DEF CON 34 talks are here: 354 talks, summarized and searchable.

Browse DEF CON 34

Introduction to Car Hacking Basics

K "Turb0Yoda" Singh

HardwareTalks20 minBeginnerOpen on YouTube ↗

Where

Talks
CactusCon 9

Duration

20 min

Shows how to set up a virtual CAN bus lab and inject packets into a simulated car without owning a vehicle.

Summary

The talk opens with a disclaimer and the motivation for practicing car hacking in a virtual setting, since experimenting on a real vehicle is costly and can cause damage. The speaker explains that modern cars contain many interconnected computers linked by the Controller Area Network, or CAN bus, a design dating back to the early 1990s that has changed little since. The OBD-II port offers a standardized connection to that bus, with fixed pin assignments for CAN high and CAN low.

The demonstration runs on an Ubuntu virtual machine where the speaker builds can-utils and ICSim, a simulated instrument cluster with controls, and attaches it to a virtual CAN interface. Traffic is observed in Wireshark and with a sniffer tool that highlights changing identifiers. Frames are then sent by hand and in a simple loop to drive the simulated speedometer, and a seeded randomizer shows how the identifier mapping can be changed so that earlier findings no longer apply.

The closing section covers hardware for real vehicles, comparing an inexpensive USB-to-CAN adapter, an Arduino with a CAN shield, and a dedicated CANtact interface, each with different buffer and capability trade-offs. The main takeaway is that the process is tedious and relies on patience: recording traffic, correlating it with injected messages, and testing repeatedly. Working through a virtual lab first lets a beginner learn the workflow without risking a car.

Related talks