io iot goes nuclear
play

Io IoT Goes Nuclear: Creatin ing a Zig igBee Chain in Reactio - PowerPoint PPT Presentation

Io IoT Goes Nuclear: Creatin ing a Zig igBee Chain in Reactio ion Eyal Ronen , Colin O Flynn, Adi Shamir, Achi-Or Weingarten Typical IoT devices: Philips Hue Smart Lights Typical IoT devices: Philips Hue Smart Lights Mature


  1. Io IoT Goes Nuclear: Creatin ing a Zig igBee Chain in Reactio ion Eyal Ronen , Colin O ’ Flynn, Adi Shamir, Achi-Or Weingarten

  2. Typical IoT devices: Philips Hue Smart Lights

  3. Typical IoT devices: Philips Hue Smart Lights • Mature technology and standards, a relatively simple system

  4. Typical IoT devices: Philips Hue Smart Lights • Mature technology and standards, a relatively simple system • A high end product with high end security, but …

  5. Creating a lightbulb worm • We have proven the possibility of creating a worm which spreads using only the standard ZigBee wireless interface

  6. Creating a lightbulb worm • We have proven the possibility of creating a worm which spreads using only the standard ZigBee wireless interface • Taking over a preinstalled smart light

  7. Creating a lightbulb worm • We have proven the possibility of creating a worm which spreads using only the standard ZigBee wireless interface • Taking over a preinstalled smart light • Spreading everywhere

  8. The underlying ZLL protocol

  9. The underlying ZLL protocol Zigbee Personal Area Network • Each installed light is connected to a central controller using the ZigBee Light Link (ZLL) wireless protocol in a Personal Area Network (PAN)

  10. The underlying ZLL protocol IP • Each installed light is connected to a central controller using the ZigBee Light Link (ZLL) wireless protocol in a Personal Area Network (PAN) • The bridge is connected to a secure home/ office network, and is controlled by a smartphone app via IP

  11. The underlying ZLL protocol • Each installed light is connected to a central controller using the ZigBee Light Link (ZLL) wireless protocol in a Personal Area Network (PAN) • The bridge is connected to a secure home/ office network, and is controlled by a smartphone app via IP • It enables each authorized user to turn each light on or off, to change the light intensity, and to set its color

  12. Starting the attack

  13. Starting the attack • Write a full python based ZLL stack, using Eval Board as RF transmitter

  14. Starting the attack • Write a full python based ZLL stack, using Eval Board as RF transmitter • Buy many lamps, sniff traffic, and break (physically) some lamps

  15. Starting the attack • Write a full python based ZLL stack, using Eval Board as RF transmitter • Buy many lamps, sniff traffic, and break (physically) some lamps • Start connecting wires

  16. Philps Hue Lamp Teardown

  17. Boot sequence debug printout

  18. Challenges in taking over a preinstalled smart light

  19. Challenges in taking over a preinstalled smart light • ZigBee Light Link standard uses multiple cryptographic and security protocols to prevent misuse

  20. Challenges in taking over a preinstalled smart light • ZigBee Light Link standard uses multiple cryptographic and security protocols to prevent misuse • In particular, uses a proximity test to make sure that the only way to take control of an already installed Hue lamp is by operating it within 10-20 cm from its new controller

  21. Protocol Session Outline Scan Request(Transaction ID) Proximity Test Scan Response Controller Lamp Network Start (Transaction ID) Reset to Factory New (Transaction ID)

  22. Protocol Session Outline Scan Request(Transaction ID) Proximity Test Scan Response Controller Lamp Network Start (Transaction ID) Reset to Factory New (Transaction ID)

  23. Protocol Session Outline Scan Request(Transaction ID) Proximity Test Scan Response Controller Lamp Network Start (Transaction ID) Reset to Factory New (Transaction ID)

  24. Protocol Implementation Bug

  25. Protocol Implementation Bug • We want to cause the light to Reset to Factory New

  26. Protocol Implementation Bug • We want to cause the light to Reset to Factory New

  27. Protocol Implementation Bug • We want to cause the light to Reset to Factory New • Can ’ t set a valid Transaction ID due to proximity test

  28. Protocol Implementation Bug • We want to cause the light to Reset to Factory New Non-Zero • Can ’ t set a valid Transaction ID due to proximity test

  29. The case of ZERO (day)

  30. The case of ZERO (day) • How is the Session data is saved in memory?

  31. The case of ZERO (day) • How is the Session data is saved in memory?

  32. The case of ZERO (day) • How is the Session data is saved in memory? • What is default values in the struct?

  33. The case of ZERO (day) • How is the Session data is saved in memory? • What is default values in the struct? • Well surely it is checked on access …

  34. The case of ZERO (day) • How is the Session data is saved in memory? • What is default values in the struct? • Well surely it is checked on access …

  35. The case of ZERO (day) • How is the Session data is saved in memory? • What is default values in the struct? • Well surely it is checked on access … • Just on Scan Request message

  36. Protocol Attack Outline Controller Lamp Factory Reset (Transaction ID=0)

  37. We bought a cheap and lightweight commercial Zigbee evaluation kit:

  38. ZigBee WarFlying - Taking over a building ’ s lights By launching a drone carrying a fully automated attack equipment 400 meters away

  39. second warflying video here

  40. Spreading everywhere

  41. Getting software updates • No software update for Atmel based lamps

  42. Getting software updates • No software update for Atmel based lamps • So lets impersonate to an older model and version

  43. Getting software updates • No software update for Atmel based lamps • So lets impersonate to an older model and version • Looked for posting on upgrades on the Internet (mainly Reddit)

  44. Getting software updates • No software update for Atmel based lamps • So lets impersonate to an older model and version • Looked for posting on upgrades on the Internet (mainly Reddit) Known upgrades (From Internet Posts) 66009663 -> 66013452 65003148 -> 66013452 (recorded with type 100) 66010820 -> 66012457 (recorded with type 104) (GU10) 65003148 -> 66012457 (recorded with type 104) (GU10) 65003148 -> 66013452 (recorded with type 103)

  45. Light impersonating • Write impersonating code, to identify as old models

  46. Light impersonating • Write impersonating code, to identify as old models • Sniff OTA updates on Zigbee and on bridge

  47. Light impersonating • Write impersonating code, to identify as old models • Sniff OTA updates on Zigbee and on bridge

  48. Light impersonating • Write impersonating code, to identify as old models • Sniff OTA updates on Zigbee and on bridge • They are encrypted

  49. Correlation power analysis

  50. Power Analysis Example Setup

  51. CPA for RE

  52. CCM

  53. New CPA attack on CCM Nonce (unknown) Counter (m) Nonce (unknown) Counter (m+1) Block Cipher Encryption Block Cipher Encryption Ciphertext (CT M ) Ciphertext (CT M+1 ) Plaintext (PT M ) Plaintext (PT M+1 ) CBC State m -1 (CBC M-1 ) Block Cipher Encryption Block Cipher Encryption CBC State m (CBC M ) CBC State m (CBC M+1 )

  54. New CPA attack on CCM Nonce (unknown) Counter (m) Nonce (unknown) Counter (m+1) Jaffe 07 Requires 2^16 blocks Block Cipher Encryption Block Cipher Encryption Ciphertext (CT M ) Ciphertext (CT M+1 ) Plaintext (PT M ) Plaintext (PT M+1 ) CBC State m -1 (CBC M-1 ) Block Cipher Encryption Block Cipher Encryption CBC State m (CBC M ) CBC State m (CBC M+1 )

  55. New CPA attack on CCM Nonce (unknown) Counter (m) Nonce (unknown) Counter (m+1) O ’ Flynn & Chen Chosen Nonce Block Cipher Encryption Block Cipher Encryption Ciphertext (CT M ) Ciphertext (CT M+1 ) Plaintext (PT M ) Plaintext (PT M+1 ) CBC State m -1 (CBC M-1 ) Block Cipher Encryption Block Cipher Encryption CBC State m (CBC M ) CBC State m (CBC M+1 )

  56. New CPA attack on CCM Nonce (unknown) Counter (m) Nonce (unknown) Counter (m+1) Block Cipher Encryption Block Cipher Encryption Ciphertext (CT M ) Ciphertext (CT M+1 ) Plaintext (PT M ) Plaintext (PT M+1 ) CBC State m -1 (CBC M-1 ) ECB - modified key Block Cipher Encryption Block Cipher Encryption CBC State m (CBC M ) CBC State m (CBC M+1 )

  57. New CPA attack on CCM Nonce (unknown) Counter (m) Block Cipher Encryption Ciphertext (CT M ) CBC State m -1 (CBC M-1 ) Block Cipher Encryption CBC State m (CBC M )

  58. New CPA attack on CCM Ciphertext (CT M ) Block m Const Block Cipher Encryption CBC State m (CBC M )

  59. New CPA attack on CCM Ciphertext (CT M ) Modified Key Block Cipher Encryption CBC State m (CBC M )

  60. https://www.youtube.com/watch?v=hi2D2MnwiGM Or: http://www.oflynn.com

  61. Creating An Explosive Infection:

  62. A New Type of Attack:

  63. A New Type of Attack: • A hacker can infect all the smart lights in the whole city, provided that the density of smart lights is above a certain critical mass, which can be calculated with percolation theory techniques

Recommend


More recommend