Skip to content

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

Browse DEF CON 34

Virtualizing Your Ford SYNC3 for Fun and Profit

Junfeng YangBo Wang

HardwareDay 2 Stream 150 minAdvancedOpen on YouTube ↗

Where

Day 2 Stream 1
BSides Las Vegas

Duration

50 min

Shows how to build a QEMU-based virtual Ford SYNC 3 setup for infotainment research without a real car.

Summary

The researchers wanted to study Ford's SYNC 3 infotainment unit without risking a test vehicle or paying for costly development boards. They chose the version found in a Lincoln MKZ, a car widely used as a base for autonomous vehicle testing, and noted that its firmware update images were publicly downloadable. Existing hardware options were either too expensive or too limited for debugging and fuzzing, so they built a virtual machine for the QNX-based system on QEMU.

Getting the emulator to boot required patching the SD card driver, where a race between threads in the guest left the card undetected under emulation. Debugging was difficult because the QNX debugger does not support local sessions, so the team built a tunnel that carried TCP traffic over a virtual serial port. A later version added a custom register channel with signalling, which was much faster. The talk also covered unpacking the update archives, rebuilding images with extra libraries, and running the Bluetooth stack against a fake serial port and a simple virtual host controller.

The main finding was a command injection flaw in the update application, where crafted archive names reached a shell, and the team also reported two Bluetooth stack issues. Ford's later changes addressed the update problem, while the company treated attacks requiring physical access or a man-in-the-middle as out of scope. The practical takeaway is that a low-cost virtual setup can make embedded automotive research workable without owning the vehicle, though reverse engineering without a live car remains slow.

Related talks