your thing is pwned - security challenges for the iot

54
Your Thing is pwnd Security Challenges for the Internet of Things Paul Fremantle CTO, WSO2 ([email protected] ) PhD researcher, Portsmouth University ([email protected] ) @pzfreo #wso2 #iotconf @iotconf

Upload: wso2

Post on 20-Jan-2015

439 views

Category:

Investor Relations


0 download

DESCRIPTION

The Internet of Things and Machine to Machine are growing areas, and security and privacy are prime issues. In this session security challenges are examined around using M2M devices with protocols such as MQTT & CoAP - encryption, federated identity and authorisation models in particular. On the topic of encryption, we’ll examine securing MQTT with TLS, challenges with Arduino, and using hardware encryption for microcontrollers. A key privacy requirement for user-centric IoT use cases will be giving users control over how their things collect and share data. On the Internet, protocols like OAuth 2.0, OpenID Connect & User Managed Access have been defined to enable a privacy-respecting user consent & authorization model. We'll look at the issues with applying these protocols to the M2M world and review existing proposals & activity for extending the above M2M protocols to include federated identity concepts. The session included a live demonstration of Arduino and Eclipse Paho inter-operating secured by OAuth 2.0.

TRANSCRIPT

Page 1: Your Thing is Pwned - Security Challenges for the IoT

Your Thing is pwndSecurity Challenges for the

Internet of Things

Paul FremantleCTO, WSO2 ([email protected])

PhD researcher, Portsmouth University([email protected])

@pzfreo#wso2

#iotconf@iotconf

Page 2: Your Thing is Pwned - Security Challenges for the IoT

Firstly, does it even matter?

Page 3: Your Thing is Pwned - Security Challenges for the IoT
Page 4: Your Thing is Pwned - Security Challenges for the IoT
Page 5: Your Thing is Pwned - Security Challenges for the IoT

My three rules for IoT security

• 1. Don’t be stupid

• 2. Be smart

• 3. Think about what’s different

Page 6: Your Thing is Pwned - Security Challenges for the IoT

My three rules for IoT security

• 1. Don’t be stupid– The basics of Internet security haven’t gone away

• 2. Be smart– Use the best practice from the Internet

• 3. Think about what’s different– What are the unique challenges of your device?

Page 7: Your Thing is Pwned - Security Challenges for the IoT
Page 8: Your Thing is Pwned - Security Challenges for the IoT

“Google Hacking”

Page 9: Your Thing is Pwned - Security Challenges for the IoT

http://www.forbes.com/sites/kashmirhill/2013/07/26/smart-homes-hack/

Page 10: Your Thing is Pwned - Security Challenges for the IoT
Page 11: Your Thing is Pwned - Security Challenges for the IoT

http://freo.me/1pbUmof

Page 12: Your Thing is Pwned - Security Challenges for the IoT

So what is different about IoT?

• The longevity of the device– Updates are harder (or impossible)

• The size of the device– Capabilities are limited – especially around crypto

• The fact there is a device– Usually no UI for entering userids and passwords

• The data– Often highly personal

• The mindset– Appliance manufacturers don’t think like security experts– Embedded systems are often developed by grabbing existing chips,

designs, etc

Page 13: Your Thing is Pwned - Security Challenges for the IoT

Physical Hacks

A Practical Attack on the MIFARE Classic: http://www.cs.ru.nl/~flaviog/publications/Attack.MIFARE.pdf Karsten Nohl and Henryk Plotz. MIFARE, Little Security, Despite Obscurity

Page 14: Your Thing is Pwned - Security Challenges for the IoT

UltraResethttps://intrepidusgroup.com/insight/2012/09/ultrareset-bypassing-nfc-access-control-with-your-smartphone/

Page 15: Your Thing is Pwned - Security Challenges for the IoT
Page 16: Your Thing is Pwned - Security Challenges for the IoT
Page 17: Your Thing is Pwned - Security Challenges for the IoT

Or try this at home?http://freo.me/1g15BiG

Page 19: Your Thing is Pwned - Security Challenges for the IoT

Hardware recommendations

• Don’t rely on obscurity

Page 20: Your Thing is Pwned - Security Challenges for the IoT

Hardware recommendations

• Don’t rely on obscurity• Don’t rely on obscurity• Don’t rely on obscurity• Don’t rely on obscurity• Don’t rely on obscurity• Don’t rely on obscurity• Don’t rely on obscurity

Page 21: Your Thing is Pwned - Security Challenges for the IoT

Hardware Recommendation #2

• Unlocking a single device should risk only that device’s data

Page 22: Your Thing is Pwned - Security Challenges for the IoT

The Network

Page 23: Your Thing is Pwned - Security Challenges for the IoT

Crypto on small devices

• Practical Considerations and Implementation Experiences in Securing Smart Object Networks– http://tools.ietf.org/html/draft-aks-crypto-sensors-02

Page 24: Your Thing is Pwned - Security Challenges for the IoT

ROM requirements

Page 25: Your Thing is Pwned - Security Challenges for the IoT

ECC is possible (and about fast enough)

Page 26: Your Thing is Pwned - Security Challenges for the IoT

Crypto

Borrowed from Chris Swan: http://www.slideshare.net/cpswan/security-protocols-in-constrained-environments/13

Page 27: Your Thing is Pwned - Security Challenges for the IoT

Won’t ARM just solve this problem?

Page 28: Your Thing is Pwned - Security Challenges for the IoT

Cost matters

8 bits$5 retail$1 or less to embed

32 bits$25 retail$?? to embed

Page 29: Your Thing is Pwned - Security Challenges for the IoT

Another option?

Page 30: Your Thing is Pwned - Security Challenges for the IoT

SIMON and SPECK

https://www.schneier.com/blog/archives/2013/07/simon_and_speck.html

Page 31: Your Thing is Pwned - Security Challenges for the IoT

Datagram Transport Layer Security(DTLS)

• UDP based equivalent to TLS• https://tools.ietf.org/html/rfc4347

Page 32: Your Thing is Pwned - Security Challenges for the IoT

Key distribution

Page 33: Your Thing is Pwned - Security Challenges for the IoT

How do you distribute keys to devices?

• Usually at manufacture time

• Complex to update

• What about expiration?

Page 34: Your Thing is Pwned - Security Challenges for the IoT
Page 35: Your Thing is Pwned - Security Challenges for the IoT

Passwords

• Passwords suck for humans• They suck even more for devices

Page 36: Your Thing is Pwned - Security Challenges for the IoT
Page 37: Your Thing is Pwned - Security Challenges for the IoT
Page 38: Your Thing is Pwned - Security Challenges for the IoT

MQTT

Page 39: Your Thing is Pwned - Security Challenges for the IoT
Page 40: Your Thing is Pwned - Security Challenges for the IoT

Why Federated Identity for IoT?

• Can enable a meaningful consent mechanism for sharing of device data

• Giving a device a token to use on API calls better than giving it a password– Revokable– Granular

• May be relevant for both– Device to cloud– Cloud to app

Page 41: Your Thing is Pwned - Security Challenges for the IoT
Page 42: Your Thing is Pwned - Security Challenges for the IoT

Device to Cloud

• Put an OAuth2 token on the device• Set the “scope” to be limited – This device can publish to this topic

• Support refresh model

Page 43: Your Thing is Pwned - Security Challenges for the IoT
Page 44: Your Thing is Pwned - Security Challenges for the IoT

Quick Demo

• Apologies…. This is not a “slick” demo!

Page 45: Your Thing is Pwned - Security Challenges for the IoT
Page 46: Your Thing is Pwned - Security Challenges for the IoT

Cloud to App

• The same technology can be used to enable some app to subscribe to a specific topic

• Much easier than with Arduino!

Page 47: Your Thing is Pwned - Security Challenges for the IoT

Lessons learnt• OAuth2 Token lengths are usually ok (no promise though)

– OpenId Connect much larger

• Registration is hard• MQTT and MPU / I2C code is 97% of Duemilanove

– Adding the final logic to do OAuth2 flow pushed it to 99%– No TLS in this demo is a big issue

• Different OAuth2 implementations behave differently – Need to disable updating the refresh token with every refresh

• Need to be able to update the scope of token if this will work for long term embedded devices

• MQTT needs some better designed patterns for RPC– Standardised

Page 48: Your Thing is Pwned - Security Challenges for the IoT

More informationhttp://pzf.fremantle.org/2013/11/using-oauth-20-with-mqtt.html

http://siot-workshop.org/

Page 49: Your Thing is Pwned - Security Challenges for the IoT

OpenId Connect

Page 50: Your Thing is Pwned - Security Challenges for the IoT
Page 51: Your Thing is Pwned - Security Challenges for the IoT

Are you creating the next privacy breach?

Page 52: Your Thing is Pwned - Security Challenges for the IoT
Page 53: Your Thing is Pwned - Security Challenges for the IoT

Summary

• Think about security with your next device• We as a community need to make sure that

the next generation of IoT devices are secure• We need to create exemplars– Shields– Libraries– Server software– Standards

Page 54: Your Thing is Pwned - Security Challenges for the IoT

WSO2 Reference Architecture for the Internet of Things http://freo.me/iotra