41
CANtact Open Tools for Automotive Eric Evenchick

CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Embed Size (px)

Citation preview

Page 1: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

CANtact Open Tools for Automotive

Eric Evenchick

Page 2: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Who?

Page 3: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Who?

Page 4: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Cars are Computers

Page 5: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Cars are Computers

• Safety

• Advanced Features

• Emissions

Page 6: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Cars are Networks• Modern vehicle: ~100 Electronic Control Units (ECUs)

• Internal network is trusted

Page 7: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Cars are Networks

• Now with Internet!

• 1996: GM launches OnStar

• Today: many cars have vehicle apps

• April 2018: all cars sold in EU must have eCall

Page 8: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Vulnerable Systems

• Millions of lines of code in a vehicle

• Internal network is trusted

• Potential for abuse is high

Page 9: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

“With 50 times more code than a Raptor Fighter jet!” “250 times more code than the […] Space Shuttle!”

Page 10: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Automotive Security

• Security by Obscurity

• Access to CAN is “hard”

• Researchers don’t know CAN

• Once we connect to IP…

Page 11: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

A Brief History of Car Hacking

• 1991 - CARB introduces OBD, required for CA

• 1996 - OBD-II required for all US vehicles

• 2008 - All US vehicles must use CAN bus

• 2010 - CAESS publishes first paper

• 2015 - Miller & Valasek demonstrate remote exploit

• 2015 - Megamos Crypto attack released (key attacks)

Page 12: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable
Page 13: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

What is CAN?• Controller Area Network

• Low cost, integrated controllers

• Types:

• High speed (differential)

• Low speed (single ended)

• Fault Tolerant

• CAN FD

Page 14: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

How CAN Works• Bus: collection of collected controllers

• Frame: a single CAN ‘packet’ consisting of:

• Identifier - What is this message?

• Data Length Code - How long is the data?

• Data - What does it say?

Page 15: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

How CAN Works Signal Database

Page 16: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

How CAN Works Signal Database

Page 17: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

How CAN Works Diagnostics

Page 18: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

OBD-II

• Diagnostic standard

• Originally for smog testing

• Provides easy network access

• As of 2008: CAN

• Cheap useful tools!

Page 19: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Should You Hack Your Car?

Page 20: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Yes!

Page 21: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Hack Your Car

• Low Cost OBD-II Tools

• Bluetooth or USB

• Totally Insecure!

Page 22: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Hack Your Car

• Perform Diagnostics

• Learn how cars work

• Most tools are expensive :(

• CANtact: Open Source Hardware & Software for CAN Bus

Page 23: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

CANtact Hardware• Single Channel USB High-Speed CAN device

• Uses “virtual serial port” and LAWICEL protocol

• Based on single MCU: STM32F0

• Jumper selectable pinout & termination

• Open source hardware

Page 24: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

CANtact Software

Page 25: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Current Software Limitations

Commercial

• Expensive

• Windows only

• Not extensible

Open Source

• Linux only

• Hard to use

• Limited graphical tools

Page 26: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Design Goals• Cross-platform (Windows, OS X, Linux)

• GUI, easy to use

• Raw CAN + Diagnostics

• Easy to extend

• Hardware Agnostic

• Focus on Reverse Engineering

Page 27: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Design Choices

• Java 8 + Netbeans Platform

• Direct device access

• Open source

Page 28: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable
Page 29: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable
Page 30: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Trace

Page 31: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Live

Page 32: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Live

Page 33: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

ISOTP

Page 34: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Diagnostics

Page 35: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Scripting

• Built in support for scripting in Javascript

• onCanReceived and onIsotpReceived callbacks

• Transmit, log, etc…

• Example: Security Key Extraction

Page 36: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Risk?• Who’s hacking cars?

• Owners: increase performance

• Thieves: financial gain

• Stunts: personal gain, brand damage

• Cybercrime: Ransomware?

• etc…

Page 37: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Analyzing Risk

Page 38: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Usage Models• Traditionally, vehicle occupants are trusted

• Today:

Page 39: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

The Connected Car

Page 40: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Emerging Tech

• Crypto CAN (MACs, proprietary)

• CAN FD

• Automotive Ethernet

• IEEE 100BASE-T1 (BroadR-Reach)

Page 41: CANtact - SecTor 2017 Hardware • Single Channel USB High-Speed CAN device • Uses “virtual serial port” and LAWICEL protocol • Based on single MCU: STM32F0 • Jumper selectable

Questions?

https://github.com/linklayer

http://cantact.io

@ericevenchick

[email protected]