introduction to the tools and techniques of car hacking€¦ ·  · 2017-03-12introduction to the...

23
Introduction to the Tools and Techniques of Car Hacking Motor City ADAS Meetup Group Presenter // John Kost https://www.meetup.com/Motor-City-ADAS/

Upload: lynguyet

Post on 18-May-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Introduction to the Tools and Techniques of Car HackingMotor City ADAS Meetup GroupPresenter // John Kost

https://www.meetup.com/Motor-City-ADAS/

Page 2: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Modern Automotive Systems

Page 3: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

● 1995 and newer vehicles have at least one CAN Bus.

● Dozens of embedded processors distributed throughout a modern vehicle.

Page 4: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps
Page 5: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

➔ CAN Bus is made up two wires, CAN-H (CAN High) and CAN-L (CAN Low)

➔ The two CAN lines have the same sequence of data, but their amplitudes are opposite

➔ Pulse on the CAN-H line goes from 2.5V to 3.75V then the corresponding pulse on the CAN-L line goes from 2.5V to 1.25V

➔ Allows for greater noise immunity and therefore less chance of the data being corrupted

Status of bit with the value 0 = 2.5V differential voltage = dominant state

Status of bit with the value 1 = 0V differential voltage = recessive state

Page 6: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps
Page 7: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

CAN Bus Messaging

Page 8: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Standards..the beautiful thing about standards is there are so many to choose from..

anonymous

➔ Two different ISO standards for CAN systems that relate to the physical layer: ISO 11898-3 low speed CAN up to 125 kb/s (distance up to 500 m) and ISO 11898-2 high speed CAN up to 1 Mb/s (distance up to 40 m).

➔ CAN protocol is further divided into two formats for the message frames 2.0A and 2.0B, the two standards differ in the size of the identifiers (ID):◆ Standard CAN (version 2.0A) uses 11 bit identifiers in

the arbitration field.◆ Extended CAN (version 2.0B) supports a length of 29

bits for the identifier, made up of the 11 bit identifier (base identifier) and an 18 bit extension.

Page 9: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Message Identifier: defines the level of priority of the data protocol. If, for instance, two CAN Nodes want to send their data protocol simultaneously, the CAN Node with the higher priority takes precedence. The lower the value the higher the priority of the message.

Page 10: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Diagnostic Systems - OBD-II

Page 11: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

ELM327Onboard Diagnostics for the

Common Person

Page 12: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Android / iOSHandheld Utilities for Car Tuning

& Maintenance

➢ DashCommand➢ OBD Car Doctor➢ Torque Lite/Pro➢ ..many, many others in both App Stores..just

search on the keyword OBD2..

Page 13: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

DIY CodeOpen-source Python Library

(with examples)

http://www.obdtester.com/pyobd-download

Page 14: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

AT CommandsSerial Port Codingin your preferred

language

https://github.com/deshi-basara/libreXC/wiki/ELM327-AT-Command-Set

Page 15: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Deeper Into The Rabbit Hole ;)

Page 16: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Tools of theTrade

;)Open-source hardware is

always best..

http://www.8devices.com/products/usb2can/

Page 17: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Open-Source Tooling Volkswagen Group maintains a

repository of open-source software tools for CAN Bus on Linux

https://github.com/linux-can/can-utils

Page 18: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Open-Source Tooling

Kayak is an application for CAN bus diagnosis and monitoring. Its main goals are a simple interface and platform independence.

http://kayak.2codeornot2code.org/

Page 19: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Even Deeper Into The Rabbit Hole ;)

Page 20: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

ReverseEngineering World-class reversing tool used by

three-letter agencies around the world.

https://www.hex-rays.com/products/ida/

Page 21: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Threat Vectors

Page 22: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

The Short List★ ELM327 devices and ‘clones’★ Splitter cables (yes indeed)★ Mileage/power tuning ‘chips’★ HUD displays, performance

instrumentation etc.★ Infotainment systems (aftermarket)★ Smartphone Apps (including things like

CarPlay, Android Auto)★ Remote starters, unlocks★ Vehicle WiFi Access Point★ V2x communications (starting to appear)

Always be mindful of anything that plugs into or works with you car. Consider the source of the ‘products’ you may be using within your vehicle and the capabilities of your vehicle. For example, Cruise control. If somebody had access to your CAN Bus while you were in cruise mode, what potential harm could they perpetrate..

Page 23: Introduction to the Tools and Techniques of Car Hacking€¦ ·  · 2017-03-12Introduction to the Tools and Techniques of Car Hacking ... Reverse Engineering ... ★ Smartphone Apps

Join us:

Motor-City-ADASOshawa

https://www.meetup.com/

DON’T PANICNo Known Remote Attack Has Ever Been Carried Out Successfully..yet!!!

Manufacturers are required by law to ensure the safety of their vehicles. You can rest assured that your vehicle is safe.

The openness of the CAN Bus Standard allows the DIY’er or researcher to tinker. Knowledge is power in this context especially if you happen to be a modern car enthusiast. Freedom to explore, investigate and learn are the hallmarks of a technologically savvy community.

Hack Responsibly ;)