Beruflich Dokumente
Kultur Dokumente
REVERSING LORA
EXPLORING NEXT-GENERATION WIRELESS
REVERSING LORA // BASTILLE NETWORKS
INTRODUCTION
▸ Matt Knight
▸ I love wireless!
matt@ .net
@embeddedsec
REVERSING LORA // BASTILLE NETWORKS
▸ No 0-days or exploits
AGENDA
1. Survey of IoT-focused wireless
2. Introduce LPWANs
EMBEDDED/IOT REALITIES
▸ Battery powered
▸ Hard-to-reach places
▸ Longevity/high endurance
▸ Wireless
▸ No configuration/easy to configure
▸ Inexpensive!
REVERSING LORA // BASTILLE NETWORKS
▸ High throughput
▸ Persistent/always-on connections
▸ 802.15.4 family
▸ Bluetooth
▸ Cellular
▸ 2G (incl. GPRS/EDGE)
▸ 3G
▸ Proprietary
http://postscapes.com/internet-of-things-technologies
REVERSING LORA // BASTILLE NETWORKS
▸ Bluetooth
▸ Cellular ▸ Cellular
▸ Proprietary ▸ Proprietary
▸ Insecurity by obscurity
WHICH IS BEST
DEPENDS
IF YOU NEED…
1. RANGE
2. COVERAGE
3. EASE OF INSTALLATION
REVERSING LORA // BASTILLE NETWORKS
▸ Proprietary ▸ Proprietary
▸ Insecurity by obscurity
CELLULAR’S NOT
GOING ANYWHERE*
*2G, HOWEVER, IS
REVERSING LORA // BASTILLE NETWORKS
REPLACING 2G
▸ 3G
▸ More expensive
▸ LTE-M/NB-LTE Release 13
LPWANS
http://www.gsm-modem.de/M2M/wp-content/uploads/2015/10/LWPAN-versus-LTE.png
REVERSING LORA // BASTILLE NETWORKS
LPWAN
▸ Range in miles
REVERSING LORA // BASTILLE NETWORKS
EMERGING STANDARDS
http://www.itwissen.info/bilder/lpwan-konzepte-fuer-das-internet-of-things-iot.png
REVERSING LORA // BASTILLE NETWORKS
AGGRESSIVE INVESTMENT
▸ SIGFOX raised 115MM last year
http://img.scoop.it/pkne9jh9_fl-PFplrbFgL4XXXL4j3HpexhjNOf_P3YmryPKwJ94QGRtDb3Sbc6KY
https://pbs.twimg.com/profile_images/615790171116601345/Q1PU_OuW.png
LPWANS
THE STACKS
http://rethink-iot.com/wp-content/uploads/2015/10/MM002-resized.jpg
REVERSING LORA // BASTILLE NETWORKS
HOW
▸ Long range
EMBRACING COMPROMISE
▸ Highly rate-limited
REVERSING LORA // BASTILLE NETWORKS
EMBRACING COMPROMISE
▸ Examples
▸ Weightless-N is uplink-only
LORA
REVERSING LORA // BASTILLE NETWORKS
HISTORY
▸ LPWAN developed by Semtech
http://actility.thingpark.com/thingpark-store/87-thickbox_leoelec/thingpark-cloud-application-partner-kit-lora-sensors.jpg
REVERSING LORA // BASTILLE NETWORKS
NOMENCLATURE
▸ Application Servers
http://www.nnnco.com.au/uploads/6/0/7/9/60799127/4996599_orig.png
REVERSING LORA // BASTILLE NETWORKS
NwkSKey
AppSKey
http://www.nnnco.com.au/uploads/6/0/7/9/60799127/4996599_orig.png
REVERSING LORA // BASTILLE NETWORKS
▸ Commercial network
▸ Crowdsourced
http://img.scoop.it/pkne9jh9_fl-PFplrbFgL4XXXL4j3HpexhjNOf_P3YmryPKwJ94QGRtDb3Sbc6KY
http://thenextweb.com/insider/2015/08/19/the-things-network-wants-to-make-every-city-smart-starting-with-amsterdam/#gref
OBSCENELY SHORT
PHY LAYER
▸ Lowest layer in communication
stack
http://www.tech-faq.com/wp-content/uploads/2009/01/osimodel.png
REVERSING LORA // BASTILLE NETWORKS
WHAT IS RF?
▸ “Radio Frequency”
▸ Electromagnetic waves
▸ Energy
REVERSING LORA // BASTILLE NETWORKS
MANIPULATING RF
▸ Hardware defined
▸ Software defined
PHY COMPONENTS
▸ Modulation
▸ Amplitude
▸ Frequency
▸ Phase
MODULATION
▸ Digital modulation
▸ ASK/OOK
▸ Changes in RF power on a
certain frequency signify digital
values
http://3.bp.blogspot.com/-w66qwKucSJI/UgWKKmPUP2I/AAAAAAAADYA/B9NMGYzqJVk/s1600/Screenshot-2013-08-03-04-41-52.png
REVERSING LORA // BASTILLE NETWORKS
SYMBOLS ILLUSTRATED
▸ Time domain
▸ Top: FSK
▸ Bottom: OOK/ASK
http://3.bp.blogspot.com/-w66qwKucSJI/UgWKKmPUP2I/AAAAAAAADYA/B9NMGYzqJVk/s1600/Screenshot-2013-08-03-04-41-52.png
REVERSING LORA // BASTILLE NETWORKS
▸ Resilient to RF noise
▸ Examples
▸ 802.15.4
▸ Bluetooth
▸ Contains hardware-defined
Semtech LoRa radio
▸ Software-defined radio
Frequency
Power (z-axis)
TECHNICAL DETAILS
LORA
REVERSING LORA // BASTILLE NETWORKS
▸ What’s a chirp?
CSS CHIRPS
▸ Upchirp (top)
▸ Increasing frequency
Time
▸ Downchirp (bottom)
▸ Decreasing frequency
Frequency
REVERSING LORA // BASTILLE NETWORKS
CSS ADVANTAGES
▸ Great link budget
▸ Resilience to interference
CHIRPS IN RADAR
▸ Various military and marine radars
▸ Ionospheric radars
▸ Space weather
REVERSING LORA // BASTILLE NETWORKS
SEEKING LORA
▸ December 2015: No LoRa
sightings in Boston, Atlanta, San
Francisco, or New York
Portsmouth, NH!
ROAD TRIP
REVERSING LORA // BASTILLE NETWORKS
▸ Preamble/Training Sequence
▸ Two downchirps
▸ Data!
REVERSING LORA // BASTILLE NETWORKS
▸ Chirp “phase”
DEMODULATING
LORA
REVERSING LORA // BASTILLE NETWORKS
▸ Prior art
▸ Observations at https://revspace.nl/DecodingLora
REVERSING LORA // BASTILLE NETWORKS
SOME DEFINITIONS…
▸ Bandwidth: width of spectrum
occupied by chirp
Bandwidth
REVERSING LORA // BASTILLE NETWORKS
REVERSING LORA // BASTILLE NETWORKS
SO WHAT’S A SYMBOL?
▸ Instantaneous change in frequency
▸ FM modulated chirps
REVERSING LORA // BASTILLE NETWORKS
REMEMBER SYMBOLS
▸ 2**spreading_factor
REVERSING LORA // BASTILLE NETWORKS
EXTRACTING SYMBOLS
DEMODULATION SUMMARY 1
DEMODULATION SUMMARY
1. Identify the beginning of a packet
1
‣ Preamble signified by
continuous up-chirp
DEMODULATION SUMMARY
‣ Down-chirp is complex
conjugate of the up-chirp
BUT WAIT!
▸ == incorrect data!
REVERSING LORA // BASTILLE NETWORKS
OVERLAPPING FFTS
▸ [i*fft_len:(i+1)*fft_len-1]
▸ [i*(fft_len/n_overlaps]:(i+1)*(fft_len/n_overlaps)-1]
REVERSING LORA // BASTILLE NETWORKS
OVERLAPPING FFTS
DEMODULATION SUMMARY
DATA ENCODING
▸ What?
▸ Why?
Marc Newlin
REVERSING LORA // BASTILLE NETWORKS
RF IS A BRUTAL ENVIRONMENT
▸ RF contention/collision is guaranteed
▸ Hamming(M,N)
HAMMING(M,4) CAPABILITIES
▸ (5,4): Parity
▸ (6,4): Parity
GRAY INDEXING
WHITENING
▸ Transmitter XORs frame with a pseudorandom sequence
▸ data(byte,bit) = symbol(bit,(bit+byte)%len_word)
ALIGNING CODEWORDS
p1 p2 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 0 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 0 0 0 1 1 0 1 0
0xD 1101 1000 D 0 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 0 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
REVERSING LORA // BASTILLE NETWORKS
p1 p2 p4 p3 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 0 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 0 0 0 1 1 0 1 0
0xD 1101 1000 D 0 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 0 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
REVERSING LORA // BASTILLE NETWORKS
p1 p2 p4 p3 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 0 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 0 0 0 1 1 0 1 0
0xD 1101 1000 D 0 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 0 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
ALMOST THERE
REVERSING LORA // BASTILLE NETWORKS
p1 p2 p4 p3 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 0 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 0 0 0 1 1 0 1 0
0xD 1101 1000 D 0 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 0 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
REVERSING LORA // BASTILLE NETWORKS
p1 p2 p4 p3 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 1 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 1 0 0 1 1 0 1 0
0xD 1101 1000 D 1 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 1 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
REVERSING LORA // BASTILLE NETWORKS
M
▸ spreading_factor = 8, code_rate=4/8
O O
Payload: 0xDEADBEEF
B
p1 p2 p4 p3 d1 d2 d3 d4
Bin (8,4) Parity Bot Top
0xD 1101 1000 D 1 0 0 0 1 1 0 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xA 1010 1010 A 1 0 0 1 1 0 1 0
0xD 1101 1000 D 1 0 0 0 1 1 0 1
0xB 1011 0100 B 0 1 0 0 1 0 1 1
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xE 1110 0001 E 0 0 1 0 1 1 1 0
0xF 1111 1111 F 1 1 1 1 1 1 1 1
REVERSING LORA // BASTILLE NETWORKS
TO CONCLUDE
ACKNOWLEDGEMENTS
▸ Balint Seeber, Bastille Threat Research Team