IOT Hack
IOT Hack
IOT Hack
Erez Metula
Application Security Expert
Founder, AppSec Labs
ErezMetula@AppSec-Labs.com
About Me
Intro
Basic RF terminology & Intro to SDR (Software Defined Radio)
Capturing & replaying RF transmissions
Reverse engineering unknown RF protocol: step-by-step
Playing with an IoT wireless alarm system
Breaking car key FOB (and RF operated devices in general)
Replay, transmission and message tampering
Jamming
Why Focus on RF?
Common IoT Architecture
..and the target system for today..
Common RF Protocols
Used in IoT
Bluetooth/BLE (2.4GHz)
Zigbee (2.4GHz)
Z-wave (900MHz)
Wifi (2.4GHz)
Cellular (900/1800/1900/2100MHz)
Custom RF (?)
gnuradio
HackRF One
Record
hackrf_transfer -r 433780000.raw -f 433780000
Transmit
hackrf_transfer -t 433780000.raw -f 433780000 -x 20
Replay Advantage/Disadvantage
Advantage
Zero knowledge
Effective even if the message is encrypted
Disadvantage
Cannot create a valid message from scratch
Cannot “play” with messages - many times you’d like to modify
a message based on the original one
Tamper with ID
Tamper with command
Perform input validation attacks
Etc.
1. Information gathering
2. Frequency
3. Modulation
4. Deviation
5. Preamble/syncword
6. Symbol rate
7. Transmission!
Step 1 – Information Gathering
Gqrx:
Symbol = 0 or 1
Symbol rate = symbols per second
DEMO – Analyzing the Signal
Steps
The device transmits a jamming signal to block the vehicle's reception
of rolling code signals sent by the victim
The victim tries again, sending the 2nd code
The device records these signals from both 1st and 2nd attempts
needed to unlock the vehicle.
The recorded 1st code is forwarded to the vehicle only when the
owner makes the 2nd attempt
The recorded 2nd code is retained for future use
Shift-Registers
Example –
The pin code is composed of 0-9 digits, length = 4
Trying all codes separately would require 4 (byte) × 10000
(possibilities) = 40000 byte.
Using De-Bruijn we have B(10, 4) solutions, with length
10000. Therefore, only at most 10000 + 3 = 10003 (as the
solutions are cyclic) bytes are needed to open the lock.
Demo – if Time Permits
Summary
Erez Metula
Chairman & Founder, AppSec Labs
ErezMetula@AppSec-Labs.com