UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion...

27
Universal Radio Hacker A Suite for Analyzing and Attacking Stateful Wireless Protocols Johannes Pohl and Andreas Noack University of Applied Sciences Stralsund August 13, 2018

Transcript of UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion...

Page 1: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Universal Radio HackerA Suite for Analyzing and Attacking Stateful Wireless Protocols

Johannes Pohl and Andreas Noack

University of Applied Sciences Stralsund

August 13, 2018

Page 2: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Internet of Things

Proprietary wireless protocols everywhere

Smart HomeIncrease comfort through wireless sockets, doorlocks, valve sensors...Devices are designed under size and energyconstraintsLess resources for cryptography

Risks of Smart HomeManufactures design custom proprietary wireless protocolsHackers may take over households and e.g. break in without physical traces

How can we eavesdrop and manipulate the wireless communication between suchdevices to assess the security?

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 2

Page 3: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Software Defined Radio

Why Software Defined Radios?Send and receive on nearly arbitrary frequenciesa

Flexibility and extendability with custom softwareae.g. HackRF: 1 MHz - 6 GHz

(a) USRP N210 (b) HackRF

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 3

Page 4: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Software Defined Radios are affordableLast Checked: July 21, 2018

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 4

Page 5: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Universal Radio Hacker

Interpretation

Analysis

101010

Generation

Stateless

Format

Simulation

Stateful

Format

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 5

Page 6: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Universal Radio Hacker

Interpretation

Analysis

101010

Generation

Stateless

Format

Simulation

Stateful

Format

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 5

Page 7: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Universal Radio Hacker

Interpretation

Analysis

101010

Generation

Stateless

Format

Simulation

Stateful

Format

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 5

Page 8: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Software Defined Radios

Universal Radio Hacker

Interpretation

Analysis

101010

Generation

Stateless

Format

Simulation

Stateful

Format

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 5

Page 9: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Setup

CCU door lock remote control

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 6

Page 10: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACKwireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 11: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACKwireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 12: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACKwireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 13: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACKwireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 14: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACK

wireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 15: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Protocol

Overview

central (CCU) door lock remote control

PairingAES-Key AES-Key

OPEN Command

Challenge

ResponseAES-Key(Challenge)

ACKwireless socket

AES-Key

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 7

Page 16: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Interpretation

Record and demodulate signal

Capture of door lock open communication

Zoom into start of second message

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 8

Page 17: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Interpretation

Demodulation and Signal Editing with URH

Further Interpretation FeaturesSynchronized selection between demodulated and raw signalSignal Editor i.e. copy, paste, crop, mute signal selectionsConfigurable moving average and bandpass filters

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 9

Page 18: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

Analysis phase

In Analysis phase we reverse engineer the protocol format.

Example format

Preamble Synchronization Length Source Address

Destination Address Data Checksum

This includesDecode messagesLabeling of protocol fieldsGroup messages by assigning message types

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 10

Page 19: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

What kind of decoding does the door lock use?

All messages are encoded in the following way1 Pseudo encryption2 Data Whitening3 (Modulation)

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 11

Page 20: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

Pseudo Encryption

Code

enc [0] = msg [0];enc [1] = ~( msg [1]) ^ 0x89;for(i = 2; i < NUM_BYTES ; i++)

enc[i] = (enc[i -1]+ 0xdc) ^ msg[i];

UseDoes not increase the securityAssumption: Obscure method for pseudo security

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 12

Page 21: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

Data Whitening

Data WhiteningTo increase transmission quality a data whitening is usedXOR with each 8 LSB of a pseudo-random sequence generated by an LFSRrepresented by the polynomial x9 + x5 + x0

s8 s7 s6 s5 s4 s3 s2 s1 s0

+

s8s7 . . . s0

Initial state is 111111111

First eight states of the LFSR111111111 ⇒ 011111111 ⇒ 001111111 ⇒ 000111111 ⇒000011111 ⇒ 100001111 ⇒ 110000111 ⇒ 111000011

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 13

Page 22: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

Decodings with URH

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 14

Page 23: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Analysis

Result in URH after decoding and labeling

Other Options: Select all, Filter, Align

Check against configurable CRCAssign manuallyor rule based

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 15

Page 24: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Simulation

Simulation phaseIn Simulation phase we can work on the logical layer. URH takes care of Modulationand Encoding during simulation time.

Figure: Flowgraph for the attackAugust 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 16

Page 25: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Simulation

Demonstration Video

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 17

Page 26: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

Summary and future work

SummarySoftware Defined Radios offer a high flexibility when investigating radioprotocolsTools like Universal Radio Hacker abstract the required HF basics and enableanalyzing such protocols without having to be a hardware expertSmart Home manufactureres have to react, Security by Obscurity is no longer anoption

Ongoing workRule based intelligence for automatic analysis phaseEnhance accuracy of detecting interpretation parametersSupport for more complex modulations e.g. 4-PSK

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 18

Page 27: UniversalRadioHacker - USENIX · 2018-08-15 · Introduction AttackingaDoorLock Conclusion InternetofThings Proprietarywirelessprotocolseverywhere SmartHome Increasecomfortthroughwirelesssockets,door

Introduction Attacking a Door Lock Conclusion

� https://github.com/jopohl/urh ± q

ContactE-Mail: [email protected]: [email protected]

Slack: https://bit.ly/2LGpsra

GitHub: https://github.com/jopohl

August 13, 2018 Johannes Pohl and Andreas Noack Universal Radio Hacker Slide 19