+ All Categories
Home > Documents > LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What...

LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What...

Date post: 19-May-2018
Category:
Upload: vuonghanh
View: 220 times
Download: 3 times
Share this document with a friend
111
22/03/2016 LoRa the Explorer Attacking and Defending LoRa systems
Transcript
Page 1: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

22/03/2016

LoRa the Explorer

Attacking and Defending LoRa systems

Page 2: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRa the Explorer

1.What is LoRa / LoRaWAN?

2.LoRaWAN Security Features

3.How to test LoRa systems

Page 3: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Introduction

Introductions

Page 4: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Introduction

+ Me

+ Security Consultant / Researcher @ MWR UK

+ Android Security

+ Head of OT Security practice

Page 5: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

Page 6: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

Page 7: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Protocols in use by industry

Page 8: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Protocols in use by industry

+ Assumptions:

Page 9: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Protocols in use by industry

+ Reality:

???

Page 10: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?Po

wer

usa

ge

Range 10s Kilometres+<10 Meters

CellularSatellite

WiFi

Bluetooth

ZigBeeZ-Wave

BTLE

NFC

LPWAN

Page 11: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ LPWAN –Low Power Wide Area Network

+ Low Power (for end nodes)

+ Range of many kilometres

+ Low bit rate

+ Possible using clever modulation

+ Cheap!

Page 12: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ LPWAN –What is it good for?

+Infrastructure

+Smart City

+Logistics

Page 13: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Main LPWAN modulation technologies

+UNB

+NarrowBand (cellular) (NB-IoT/NB-CioT/LTE-IoT)

+LoRa

Page 14: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Main LPWAN modulation technologies

UNB Cellular NB LoRA

NB-LTE

NB-IoT

NB-CioT

Page 15: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

Page 16: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Main LPWAN semiconductor groups

Sigfox(UNB) Cellular NB LoRaWAN

Page 17: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Main LPWAN Telcos

Sigfox(UNB) Cellular NB LoRaWAN

Page 18: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Introduction

+ Why Research LoRa?

Page 19: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Why research LoRaWAN?

+Open source specification

+Already being rolled out in multiple countries

+Planning to be used for a number of purposes:

+ Railway level crossings

+ Burglar alarms

+ Monitoring Industrial Control Systems (ICS)

Page 20: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Current LoRaWAN security information?

From sales staff:

“It uses AES128bit encryption!”

Or from the official Spec:

https://www.lora-alliance.org

Page 21: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Questions from clients?

“Is it safe enough to use for $SOLUTION ?”

“Which of these two LoRa vendors is more secure?”

Page 22: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

+ Research Goals

1. To find whether it is possible to use LoRaWAN

securely

2. To identify key security controls that must be in

place

3. To produce a list of tests that can assess these

controls in a LoRaWAN system

Page 23: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Why LoRa?

Review Specification

Review Implementations

Produce Security Paper

Produce Tools to Fill the Gap

Page 24: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Introduction

+ What is LoRa and LoRaWAN?

Page 25: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

What is LoRaWAN?

+ LoRa -> LoRaWAN

LoRa = Proprietary modulation scheme (PHY layer)

Patented by Semtech, licenced to others

LoRaWAN = MAC layer

Open standard maintained by LoRa Alliance

Page 26: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

What is LoRaWAN?

+ LoRa Systems have:

Nodes Gateways Network Server

Page 27: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Page 28: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Page 29: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 30: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 31: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 32: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 33: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Page 34: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

Page 35: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 36: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

Page 37: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

Page 38: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Packet

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

DATA

Check Packet Sig. Decrypt DATA

Page 39: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Packet

LoRaWAN network

Node

Node

Node

Node

Node

Node

Gateway

Gateway

Network Server

Application Server

Application Server

Application Server

CMD

Sign Packet

Encrypt command

Page 40: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Joining a node to the network

Page 41: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Joining

+Two options

1. Activation by personalisation:

Nodes are shipped with the network and application keys

already configured

Page 42: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Joining

+Two options

2. Over the Air Activation

Nodes are shipped with an application key, which is then used

to derive the application session key and network session key

Page 43: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Over the Air Activation

+Each node is shipped with a unique Application ID,

device ID and application key

Page 44: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

Node Server

Join-request ( AppEUI, DevEUI, DevNonce) signed with AppKey

Page 45: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Over the Air Activation

Message:

App ID , Device ID , Device Nonce

Signed with the appKey (aes128_hmac)

Page 46: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

Node Server

Generates AppNonce and then calculates AppSKey and NwkSKey

Page 47: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Over the Air Activation

+Next step? Up to the server

+ It should retrieve the status for that node

+ Then get the application key

+ It should recreate the MIC

+ If successful then calculate and return the Network session and

Application session keys (encrypted and signed with the app

key)

Page 48: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Over the Air Activation

NwkSKey = aes128_encrypt(AppKey, 0x01 | AppNonce | NetID | DevNonce | pad16)

AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16)

Page 49: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

Node Server

Join-accept (appNonce, NetID, DevAddr) encrypted and signed with AppKey

Page 50: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

Node Server

Uses AppNonce to calculate AppSKey and NwkSKey

Page 51: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

Node Server

Page 52: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Messaging

Page 53: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Messaging

+ Nodes use the NwkSKey and AppSKey to send messages

+ For application messages –

+ Encrypt with AppSKey

+ Sign with NwkSKey

Page 54: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Messaging

+ Nodes use the NwkSKey and AppSKey to send messages

+ For Network messages –

+ Encrypt with NwkSKey

+ Sign with NwkSKey

Page 55: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging

+ Messaging – Application messages

+ AES128 in Counter mode (CTR)

+ Uses counters (FCntUp and FCntDown)

i = 1..k where

k = ceil(len(FRMPayload) / 16)

Ai = (0x01 | (0x00 * 4) | Dir | DevAddr | FCntUp or FCntDown | 0x00 | i)

Si = aes128_encrypt(K,Ai), for i = 1..k

S = S1|S2|..|Sk

Page 56: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging

+

+XOR message with keystream

MAC Payload:

PHY Payload:

FHDR Fport FRMPayload

MHDR MACPayload MIC

Page 57: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B LoRa systems

Page 58: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B system

+ How do Class B systems differ?

+What if the nodes move?

+What if the network server wants to initiate

messages?

Page 59: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B systems

+ How do Class B systems differ?

+ Gateways provide simultaneous GPS/timestamp

broadcasts

+ Used by nodes that need to update the network server

with their location

Page 60: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B systems

+ How do Class B Systems differ?

+ Nodes use these to create time windows to listen in

+ Allows multicast messages

Page 61: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

But is it secure?

Page 62: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Complex systems = ~insecure systems

Page 63: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

+ Testing

Page 64: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging

+ Messaging - Tests

Issue Effect

Decryption is performed before MIC is checked

Attacker could attempt to flip bits

Decryption is performed before MIC is checked

FCnt manipulation is possible leading to DoS

Counters are not incremented Could XOR out the plain text

AppSKeys / NwkSKeys are not unique If one node is compromised then all traffic can be read and spoofed

Page 65: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+Decryption is performed before MIC is checked –alter cipher-text

{“ID”:”34”,”Temp”:”24”}

750f7f9b6366b4228172fb36fdbe51a3dcc1a85d463d70

Encrypted produces:

Page 66: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+Decryption is performed before MIC is checked –alter cipher-text

{“ID”:”34”,”Temp”:”24”}

750f7f9b6366b4228172fb36fdbe51a3dcc1a85d463d70

If we change 5d to 5a, then decrypt:

Encrypted produces:

{“ID”:“34”,“Temp”:“54”}

Page 67: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+FCnt manipulation

+Messages contain FCntUp or FCntDown

+Must be in sync, discarded if less than previous

+Updates using most recent message

Page 68: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+FCnt manipulation

+So if the FCnt value is altered to maximum value?

+Should be ignored when checking the MIC

+Otherwise discard all future messages

= bricked device

Page 69: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+Counters are not incremented - Could XOR out the plain text

+FCnt increments with each message

+Used to keep keystream unique

+ If FCnt doesn’t increment?

+ Or if we reset the FCnt?

Page 70: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+Counters are not incremented - Could XOR out the plain text

a⊕b=c c⊕b=a

+So if the same keystream is used twice then we could

try to derive the message

Page 71: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security – Application Messaging Attacks

+Duplicate keys in use - If one node is compromised then all traffic can be read and spoofed

+Symmetric key issue

Page 72: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Messaging – MAC Only data messages

+MAC commands are used by network server for network administration

+Use the NwkSKey for both encryption and signing

Page 73: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Messaging – MAC Only data messages

+Commands include:

+Get Device status

+Change data rate/transmit power/ channel

+Change reception slot parameters

+Modify the definition of a radio channel

+“Proprietary”

Page 74: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Messaging – MAC Only data messages

+Why is this interesting?

“Network key / NwkSKey: a fixed network key for all The Things Network devices. It is 2B7E151628AED2A6ABF7158809CF4F3C”

Page 75: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Messaging – MAC Only data messages

+So an attacker can:

+Get Device status

+Change data rate/transmit power/ channel

+Change reception slot parameters

+Modify the definition of a radio channel

+“Proprietary”

Page 76: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security - Joining

+ Over the Air Activation - Tests

Issue Effect

The server does not check whether the node hasn’t already

replay attacks would cause a DoS

App keys can be guessed Replay attacks would cause a DoS to future devices

App keys can be guessed MitM of join request would allow offline brute force of keys

Page 77: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

+ Key Management

Page 78: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Key Management servers

+ Simple enough problem…

+ Network Server and Application Server need access to

key database

+ Represents a single point of failure

Page 79: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Key Management servers - Tests

Issue Effect

Server access is not restricted Malicious employee/attacker can now decrypt and spoof messages

Server access is not restricted Malicious employee/attacker can encrypt/delete the database shutting down the whole system

Server runs on corporate IT network A second DHCP server? LoRa system stops functioning

Page 80: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Key Management in Nodes

+ Physical attacks

LoRa Node

UARTLoRaWAN

TransceiverAntennaMCUI/O

Page 81: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Nodes store App and Nwk key

+ Should be unique per node

Page 82: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks

RN2483 Transceiver

Contains keys

Page 83: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks

+ Steal keys from a node

+ Steal firmware from the transceiver (parsing bugs?)

Page 84: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

+ Can we just read data/program memory?

Page 85: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

Page 86: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

PIC18LF MCU

Page 87: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

Page 88: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

Page 89: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Debug interfaces?

Page 90: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Physical attacks – Side Channel?

+ Nothing mentioned in PIC18LF4xK22 datasheet

+ Could be protected using particular AES libraries

Page 91: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Proxying data through Transceiver

LoRa Node

UARTLoRaWAN

TransceiverAntennaMCUI/O

Page 92: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Key Management in Nodes

+ Proxying data through Transceiver

LoRa Node

UARTLoRaWAN

TransceiverAntenna

Malicious

MCU

Page 93: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Key Management nodes - Tests

Issue Effect

Attacker has physical access to device Attacker could recover keys

Attacker has physical access to device Attacker could send their own data in place of regular data without affecting encryption/signing

Page 94: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Internet Facing Components

Page 95: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+Traditional attacks

+Internet facing components

Gateway

Gateway

Network Server

Page 96: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+Traditional attacks

+Internet facing components

Gateway

Gateway

Network Server

3G

3G

INTERNETWEB

SERVICE

Page 97: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Internet Facing Components - Tests

Issue Effect

Network server’s web services are Internet facing

DDoS could cause LoRa system to sending/ receiving data

Network server’s web services are Internet facing

Malicious data can be sent by anyone

Gateways are configured to be Internet facing

Management services could be compromised

Page 98: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+ Network Server’s web service

+LoRaWAN messages are protected using encryption and

signing

+Remember we can affect the data (XOR attack)?

+ MIC is 4 bytes = 2^32 = ~4.3 billion attempts

+ Are you watching for errors?

Page 99: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN Security

+Internet facing components – protection

+Private APN (creds + whitelisted IMSI)

+VPN to ONLY web service

Gateway

Gateway

Network Server

3G

3G

INTERNETWEB

SERVICE

Page 100: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Specific Attacks

Page 101: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Networks

+Class B Networks - Tests

Issue Effect

Shared Keys between Nodes Attacker could message to/from multiple Nodes

Shared Keys between Nodes Key storage/distribution could be compromised

Gateway Beacons are not secured Malicious Beacons with bad Time values could cause DoS against multiple hosts (DoDS?)

Gateway Beacons are not secured Custom Network messages could be duplicated by attacker

Page 102: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Networks

The LoRaWAN Class B specification does not specify means to remotely setup such a multicast group orsecurely distribute the required multicast key material.

They are not allowed to carry MAC commands, neither in the FOpt field, nor in thepayload on port 0 because a multicast downlink does not have the same

authentication robustness as a unicast frame

Page 103: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Networks

Class B = Be Careful

Page 104: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Networks

+ Multicast Messages

+ If you only use shared keys

+ Compromised keys = Whole networks compromised

+ Need to switch over to shared keys during multicast

window

+ Is this possible?

Page 105: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

Class B Networks - Multicast Messages

+ Gateway Beacons

+ Contain GPS coordinates of the Gateway

– without encryption or signing

- Can also send “network specific broadcasts

+ Used by Nodes for timing

Page 106: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

In Summary

Page 107: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN - Summary

+ It is possible to build a secure LoRAWAN system

+ But not guaranteed

Page 108: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN - Summary

Page 109: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN - Summary

Page 110: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN - Summary

Page 111: LoRa the Explorer - 2017 SyScan360 | SyScan360 …€¦ ·  · 2017-05-26LoRa the Explorer 1.What is LoRa ... If one node is compromised then all traffic can be read and spoofed

LoRaWAN - Summary


Recommended