30
CANvas: Fast and Inexpensive Automotive Network Mapping Sekar Kulandaivel, Tushar Goyal, Arnav Kumar Agrawal, Vyas Sekar

CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CANvas: Fast and Inexpensive Automotive

Network MappingSekar Kulandaivel, Tushar Goyal,

Arnav Kumar Agrawal, Vyas Sekar

Page 2: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

ECU A

ECU C

ECU B

ECU D

Do you know what’s going on in your car?

It’s important to know what’s going on inside your car

*Koscher et al. IEEE S&P ‘10*Checkoway et al. USENIX Security ‘11

ElectronicControl Unit (ECU)

2

Page 3: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Scenario 1: the shady mechanic

Radio

Engine

Brakes

???

Need to identify ECUs in the car3

Page 4: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Scenario 2: the radio from Craigslist

Radio

Engine

Brakes

Need to know who sends each message4

Page 5: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Scenario 3: the shut-down attack

Radio

Engine

Brakes

Need to know who receives each message5

*Cho et al., ACM CCS ‘16

Page 6: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

We need an automotive network mapper

1. Identify ECUs

2. Identify message sender

3. Identify message receiver(s)

ECU A

ECU C

ECU B

6

Page 7: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Requirements for a practical tool

Fast and inexpensive

Vehicle-agnostic

Minimally-intrusive

Non-destructive

7

Page 8: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Why not ask the automaker?

Confidential database fileof messages

Online mechanic

subscription

Network inside a carcan change

8

Page 9: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CANvas in a nutshell

A network mapper for cars

that leverages message timing and

error-handling mechanism

Generates a network map in <30 minuteswith <$50 worth of hardware

9

Page 10: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Outline

• Motivating scenarios

• Background and mapping challenges

• System overview

• CANvas components

• Evaluation

• Conclusions

10

Page 11: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Controller Area Network (CAN) background

ECU A

ECU C

ECU B

11

ID 1 @ 20msID 2 @ 120ms

ID 3 @ 25msID 4 @ 40ms

ID 5 @ 600msID 6 @ 900ms

1 1 1 1 1 2 3 4 3 3 4 3

5 6 5 6 5 6

ID 2 ACKDATA

Each IDonly sent by

one ECU simultaneouspriority

Page 12: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CAN makes mapping difficult

12

ECU A

ECU C

ECU B

CANvas

ID 2 ACKDATA

Bus traffic:

ID 1 @ t=0.104

ID 2 @ t=0.253

ID 3 @ t=0.350

ID 2 @ t=0.505

ID 3 @ t=0.697

ID 2 @ t=0.757

ID 2 @ t=1.009

ID 3 @ t=1.044

Can’t tell which ECUis sender or receiver*

? ? ? ?

? ?

simultaneouspriority

Page 13: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Outline

• Motivating scenarios

• Background and mapping challenges

• System overview

• CANvas components

• Evaluation

• Conclusions

13

Page 14: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CANvas design overview

1. Identify ECUs

2. Identify message sender

3. Identify message receiver(s)

Source mapping

Destination mapping

Timestamped traffic log

Physical bus Source map

Destination map

14

Page 15: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

The source mapping problem

15

Source mapping

Timestamped traffic log

Source map

Input:

ID 1 @ t=0.104

ID 2 @ t=0.253

ID 3 @ t=0.350

ID 2 @ t=0.505

ID 3 @ t=0.697

ID 2 @ t=0.757

ID 2 @ t=1.009

ID 3 @ t=1.044

ID 1 @ t=1.114

ID 2 @ t=1.250

ID 3 @ t=1.391

Src. ECU ID

A 2

B 1

C 3, 4

Page 16: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Insight: clock offset as a unique identifier

16

Prior work for IDS

• Clock offset is unique

• Track offset per ID

*Cho et al., USENIX Security ‘16

ECU X

ID 570 @ 1000msID 571 @ 1000msID 572 @ 1000ms

Page 17: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Limitations: prior work is not sufficient

17

Not robust to noisein the period

Period-dependent

ECU Y

ID 262 @ 20msID 4C8 @ 980msID 521 @ 300ms

Page 18: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Idea: compare offset at hyper-period

18

18 36 54

6 12 18 24 30 36 42 48 54

ID 1

ID 2

Match?Match?Match?

Hyper-period removes period-dependence

Page 19: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Approach: pairwise comparison over time

19

Input:

ID 1 @ t=0.104

ID 2 @ t=0.253

---

ID 2 @ t=0.505

---

ID 2 @ t=0.757

ID 2 @ t=1.009

---

ID 1 @ t=1.114

ID 2 @ t=1.250

---

ID 1 ID 2

ECU YID 1ID 2

Match?

Hyper-period is period-independent

Measure over time to reduce effect of noise

Practical challenges discussed in paper

Page 20: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CANvas design overview

1. Identify ECUs

2. Identify message sender

3. Identify message receiver(s)

Source mapping

Destination mapping

Timestamped traffic log

Physical bus Source map

Destination map

20

Page 21: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

The destination mapping problem

21

Destination mapping

Physical bus Source map

Destination map

ID Dst. ECUs

1 A, C

2 B, C

3 B

Src. ECU ID

A 2

B 1

C 3

Diagnostics port

Page 22: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Approach: isolate each ECU

22

ID Dst. ECUs

1 ???

ECU A

ECU C

ECU B

CANvas

ACK indicates some ECU received

ID Dst. ECUs

1 AIsolate an ECU to guarantee who sent ACK

Page 23: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Insight: shut-down via error-handling exploit

Prior work for a DoS attack• Exploit error-handling by

causing errors

Not intended to be robust –attack needs just one success

Refer to paper for limitations and our idea for isolation

23

Few Errors

Many Errors

Shut-down

After too many errors,an ECU will shut-down!

ECU RESET

*Cho et al., ACM CCS ‘16

Page 24: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Outline

• Motivating scenarios

• Background and mapping challenges

• System overview

• CANvas components

• Evaluation

• Conclusions

24

Page 25: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Evaluation setup

25

2009 Toyota Prius

2017Ford

Focus

Junkyard ECUs

Synthetic topologies

Arduino Due

FordEngine ECUs

Page 26: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Key takeaways

26

Fast

Inexpensive

Vehicle-agnostic

Minimally-intrusive

Non-destructive

<30 minutes

<$50

Standard CAN

OBD-II port

No dash lights

Page 27: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

ECU installed during apast vehicle modification

Finding an unexpected ECU in a ‘09 Prius

27

Skid Control

Yaw Rate

Steering Angle

Hybrid

EnginePower

Steering

Battery

Gateway

???

Page 28: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

‘17 Focus ECUs enable the shut-down attack

28

Both Prius and Focus had no filter onwhat messages an ECU could receive

Powertrain

Steering

Engine

Brakes

Radio

Engine Function

Page 29: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

CANvas limitations

Adversarial evasion

Timing-aware attacker

Intentional timing alteration

Avoiding permanent damage

Resetting dash lights

Limp-home mode

Multiple CAN busesAccessing unexposed buses

Message acceptance filterVendor-specific approaches

Non-transmitting ECUs

29

Page 30: CANvas: Fast and Inexpensive Automotive Network Mapping · 2019. 8. 15. · Conclusions •Network inside cars can change •CANvas: a network mapper that tells us what’s going

Conclusions

• Network inside cars can change

• CANvas: a network mapper that tells us what’s going on in a car

• Mapping CAN is non-trivial lack of source or destination info

• Prior work did not solve mapping goals

• A fast and inexpensive design focused on practicality

• Real-world demonstration on two vehicles

• Serves as a basis for many other security applications

30

https://github.com/sekarkulandaivel/canvas