Experimental Security Analysis of A Modern Automobile: Presented by Gaurav Mastakar
Experimental Security Analysis of A Modern Automobile: Presented by Gaurav Mastakar
of a Modern Automobile
Presented by
Gaurav Mastakar
Authors
Karl Koscher, Alexei Czeskis, Franziska
Roesner, Shwetak Patel, and Tadayoshi Kohno
Department of Computer Science and Engineering
University of Washington
diagnostics
Background (contn’d)
ECU Coupling: complex interactions across ECUs
Electronic Stability Control (ESC): monitors wheel
interaction requirements
Eg: Central Locking System (CLS) controls
power door locking mechanism
CLS must also be connected to safety
critical systems
Background (contn’d)
Telematics: automation in automobiles
GM’s OnStar: analyze OBD detect vehicle
problems
ECUs monitor crash sensors; OnStar
systems
Tuner subculture
Threat Model
What an attacker could do?
How an attacker could gain access?
protocol
Experimental Environment (contn’d)
Stationary car:
Used CAN-to-USB
interface
Atmel AT90CAN128
development board
with custom firmware
Experimental Environment (contn’d)
Experimental Environment (contn’d)
On the road:
Intra-Vehicle Network Security
Assess the security properties of CAN bus
A. CAN Bus: link layer data protocol used for
diagnostics used by BMW, Ford, GM, Honda
Intra-Vehicle Network Security (contn’d)
CAN variant includes
Slight extensions to framing
Two separate physical layers
Gateway bridge is used to route data
Protocol standards define a range of services
to be implemented by ECUs
Intra-Vehicle Network Security (contn’d)
B. CAN Security Challenges:
Broadcast Nature: Malicious component can
snoop packets
Fragility to DoS: CAN has priority based
areas
Intra-Vehicle Network Security (contn’d)
• Standard states defining memory addresses
that will not allow tester to read under any
circumstances
• But could read reflashing keys out of BCM
• DeviceControl keys for ECM and TCM
• Extract telematics units entire memory
Intra-Vehicle Network Security (contn’d)
Noncompliant Access Control: Device
overrides:
• DeviceControl service override state of
components
• ECUs should reject unsafe DeviceControl
override requests
• Certain requests succeeded without
authenticating
Intra-Vehicle Network Security (contn’d)
Imperfect Network Segregation: standard
states that gateways between the two
networks must only be re-programmable
from the high-speed network
• 2 ECUs on both buses and can bridge
buses
Combination of replay and informed
probing
Component Security (contn’d)
2. Fuzzing:
Damage can be done by fuzzing of packets
DeviceControl allows testing devices to override normal
Eg. BCM
3. Reverse Engineering:
Dumped code via CAN ReadMemory service and used
added
Component Security
B. Stationary Testing:
Component Security
Component Security
Component Security
1. Radio: completely control, disable user
control and display arbitrary messages
2. Instrument Panel Cluster (IPC):
Component Security
3. Body Controller: control is split across low-
speed and high-speed buses
4. Engine: attacks were found by fuzzing
DeviceControl requests to the ECM
Attack like disturb engine timing by
resetting the learned crankshaft angle
sensor error
5. Brakes: how to lock brakes without needing
to unblock EBCM with its DeviceControl key
6. HVAC: control the cabin environment
Component Security
7. Generic DoS: disable communication of
individual components on CAN bus
breaking
Able to continuously lock brakes unevenly
Road testing helped to completely characterize
actual speed
Multi-Component Interactions (contn’d)
2. Lights Out: disable interior and exterior lights
requires the lighting control system to be in
relay
Multi-Component Interactions (contn’d)
B. Bridging Internal CAN Networks
BCM regulates access between two buses
Telematics unit connected to both buses
unit
Complicating detection and forensic
evaluations
Perform action and erase evidence
if attack code installed as per above method
simply reboot
Discussion and Conclusions
1. Extent of damage: Didn’t anticipate that we
would be able to directly manipulate safety
critical ECUs or create unsafe conditions
speed networks
Design code to erase evidence
Components designed to tolerate failures
components
Reflashing commands should only be
?
THANK YOU !!