1
Reference ACKNOWLEDGEMENTS : This material is based upon work supported by the Laboratory for Analytic Sciences (LAS). Any opinions, findings, conclusions, or recommendations expressed are those of the author and do not necessarily reflect the views of the sponsors and/or any agency of the United States Government. 9 7 6 5 8 Vehicles and Drones 11 10 12 Children Toys 3 2 1 4 Cameras 14 16 18 19 21 20 13 15 17 Things & Hubs [1] J. Valente, and A. Cardenas (2019). Security Analysis of Consumer Internet of Things Devices. ACM/IEEE Conference on Internet of Things Design and Implementation (IoTDI’19). [under review] [2] J. Valente, K. Koneru, and A. Cardenas (2019). Privacy and Security in Internet-Connected Cameras. IEEE International Congress on Internet of Things (ICIOT'19). [planned submission] [3] J. Valente, K. Bahirat, K. Venechanos, A. Cardenas, and P. Balakrishnan (2019). Improving the Security of Visual Challenges. ACM Transactions on Cyber-Physical Systems (TCPS). [under review] Security Analysis of Consumer IoT Devices Junia Valente, Alvaro A. Cardenas The University of Texas at Dallas {juniavalente, alvaro.cardenas}@utdallas.edu Comm. to cloud? Connectivity type AP (initial setup) AP (persistence usage) AP security WiFi provi- sioning webserver (port 80 or di port) ftp (port 21) telnet (port 23) ssh (port 22) unknown/oth tcp ports Firmware update Operating System 1 Swann 470LCD (NVR) X , G# G# or 7 WPA2 n/a or 5 X X X ! Linux 2.6.37 2 Swann 470CAM (camera) X + , 7 7 n/a n/a or 5 + X XX X3 Petcube Play Pet Camera X , # 7 none H ( or ) X X X o or ! DD-WRT v24 or v30 4 LeFun Baby Monitor X , 7* 7 n/a or m ; or n/a X X ! 5 I-SPY Mini tank 7 G# G# WPA2 n/a X XXXX XLinux 2.6.30.9 6 JJR/C H49 mini drone 7 # # none n/a X # X X RT-Thread OS 2.0.1 7 DBPOWER U818A drone 7 # # none n/a X # X XXX X Linux 3.4.35 8 Force1 U818A drone 7 # # none n/a X # X XX X Linux 3.4.35 9 Parrot AR Drone 2.0 7 # # none n/a X # X # XXX ! Linux 2.6.32.9 10 CogniToys dino X # 7 none H () X o 11 Toymail Talkie X 7 7 n/a m o b 12 Hello Barbie X # 7 none H () X o b 13 Wemo smart plug X # 7 none H () XX ! b Linux 3.18 14 EDIMAX smart plug X # 7 none H () X ! b Linux 2.6.x 15 MagicLight X # 7 none H () X X X16 OZOM Box X , z , z , 7 WPA2 n/a X X X o Linux 2.6.x/3.x 17 VeraEdge hub X , z , or 7 WPA2 n/a or H () X X + XX ! Linux 3.10.34 18 SmartThings hub X , z , z 7 7 n/a n/a XX o b DD-WRT v24 or v30 19 Amazon Echo Dot X # 7 none H () X XX o b Google Android 4.1.x 20 Amazon Echo X # 7 none H () X XX o b Linux 2.6.x 21 Google Home X # 7 none H () X XXX o b Linux 2.6.x/3.x 22 Bellabeat health tracker X + 7 7 n/a n/a ! b 23 UNICEF Kid Power X + 7 7 n/a n/a XLegend : # open, G# common password (e.g., ‘1234’), strong password, 7 no Access Point (AP) (or not applicable); Legend : # open, G# common password (e.g., ‘1234’), strong password, 7 no Access Point (AP) (or not applicable); Firmware update o automatic, ! manual, X no rmware update, Xunclear how (if possible), b according to manual (i.e., not to our observations); + via another device (e.g., X + communication or 5 + input); WiFi provisioning via physical (i.e., sound, m visual) or H digital channel, or 5 manual input on device screen; Number of unknown or other ports: X (1-2 ports), XX (3-4 ports), XXX (5-6 ports), XXXX (7 or more ports); Connectivity type: WiFi, Ethernet, z Zigbee, z Z-Wave, Bluetooth; “–” represents no exact OS matches. App User Internet Camera click on a vulnerable action (e.g., cloud storage config) 1 Attacker extract sess_nid and sess_sn from the http request 3 2 retrieve the latest image frame from camera. send a “ccm/ccm_pic_get.jpg” command to server using any valid sess_nid and sess_sn. 5 4 4 5 send http request traffic JV 8/18 Table 1. Summary of Security Practices in the 23 IoT devices we considered [1]. Sample of Consumer IoT Devices We Have in Our Lab Figure 1. IoT devices we considered Camera Physical Environment Challenge Media Trusted Verifier Attack Detection Naïve replay attack detection Forgery attack detection Visual Challenge Recognition OCR Barcode reader Pattern matching send visual challenge video feed sense Visual Challenge Generation Plaintext QR code Grid pattern Tweet Photo Resolution 480p Standard display Light bulb IR display Day Vision Night Vision 720p 1080p Frame Rate 2 1 3 4 5 6 Security Analysis of Cameras [2] Figure 4. Extracting root password---hard-coded---in Swann NVR firmware. Device Verifier physical challenge response sense Physical Environment Verify that the desired changes reflect in the device output Visual Challenge Proposal for Cameras [3] Figure 7. New sensor-assisted security protections. Figure 8. We extend our previous proposal to support new visual challenges such as a grid pattern of IR LEDs and use multi-color smart light bulbs to change ambient lighting. Introduction Figure 5. A remote attacker can capture image frames from an IP camera online. (This particular camera leaks a valid session token under some scenarios). Extract File System Crack password “etc/passwd” Unpack File System nvr-firmware.pak firmware.cram firmware directory root password 1 2 3 Figure 11. Cameras with night vision can see IR visual challenges. Figure 10. People cannot see the IR challenge. Figure 9. Multi-color smart light challenges. Start with IoT Device Has access point? Find open ports (e.g., using Nmap) Has ftp, telnet, or ssh? Other ports? Has unknown ports? Connect to access point Connect to your local laboratory network Firmware available? Try to find service-related vulnerabilities Sniff network traffic Has a webserver? Encryption problems? Auth problems? Hardcoded credentials? Remote access! Network traffic data access! Unauthorized access yes yes yes yes yes yes yes yes yes yes no Figure 2. Our proposed steps to perform vulnerability assessment on IoT devices. Approach [1] Internet of Things (IoT) devices are found everywhere, including in our homes, in healthcare, in education, and for entertainment. As our lives become more dependent on these systems, their security and privacy practices is a growing concern. This poster summarizes our study of security practices in a variety of consumer Internet of Things (IoT) devices [1, 2] & propose new sensor- assisted security protections against various attack strategies [3]. Conclusion and Future Directions Internet-Connected Smart Toys An attacker can (1) listen what a child speaks to their toy; and can (2) inject voice content to child’s toy (even when there is encryption) due to vulnerabilities we found on the device Attacker captures traffic between a dino and cloud Steps (simplified): Attacker replays traffic to another dino device! An attacker can make: Dino toys speak arbitrary things to a child: à Ask child to open door à Insult the child We discovered CVEs: CVE-2017-8867/66/65. 2 1 Figure 3. Attacks we tested on CogniToys Dino. Study of Drones connect to drone open AP 1 AP network 2 4 Attacker Drone (192.168.0.1) JV 2/17 modify hash for root in shadow file download shadow file upload modified shadow file 5 login with root privileges! 3 Figure 6. A near-by attacker can modify sensitive files (via a mis- configured anonymous ftp login) to gain root access via Telnet. We discovered and reported vulnerability: CVE-2017-3209 A near-by attacker can take down a flying drone (from the Discovery family of drones) via the Telnet access Our systematic analysis identifies security practices & trends of IoT devices. We hope our work can be useful in evaluating future IoT (e.g., Industrial IoT) security proposals by showing common pitfalls in available technologies. We propose new tools to detect tampering of video feeds from security cameras. We discovered: CVE-2015-8287 Junia Valente – December 2018

Security Analysis of Consumer - Laboratory for Analytic ......6 JJR/C H49 mini drone 7 # none n/a X# X RT-Thread OS 2.0.1 • 7 DBPOWER U818A drone 7 # # none n/a X# X XXX X Linux

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Security Analysis of Consumer - Laboratory for Analytic ......6 JJR/C H49 mini drone 7 # none n/a X# X RT-Thread OS 2.0.1 • 7 DBPOWER U818A drone 7 # # none n/a X# X XXX X Linux

Reference

ACKNOWLEDGEMENTS: This material is based upon work supported by the Laboratory for Analytic Sciences (LAS). Any opinions, findings, conclusions, or recommendations expressed are those of the author and do not necessarily reflect the views of the sponsors and/or any agency of the United States Government.

97

65 8

Vehicles and Drones

11

10 12

Children Toys

3

21

4

Cameras

14 16 18 19 21

2013

15

17

Things & Hubs

23

22

Wearables

97

65 8

Vehicles and Drones

11

10 12

Children Toys

3

21

4

Cameras

14 16 18 19 21

2013

15

17

Things & Hubs

23

22

Wearables

[1] J. Valente, and A. Cardenas (2019). Security Analysis of Consumer Internet of Things Devices.ACM/IEEE Conference on Internet of Things Design and Implementation (IoTDI’19). [under review]

[2] J. Valente, K. Koneru, and A. Cardenas (2019). Privacy and Security in Internet-Connected Cameras.IEEE International Congress on Internet of Things (ICIOT'19). [planned submission]

[3] J. Valente, K. Bahirat, K. Venechanos, A. Cardenas, and P. Balakrishnan (2019). Improving the Securityof Visual Challenges. ACM Transactions on Cyber-Physical Systems (TCPS). [under review]

Security Analysis of ConsumerIoT Devices

Junia Valente, Alvaro A. CardenasThe University of Texas at Dallas

{juniavalente, alvaro.cardenas}@utdallas.edu

Table 1: Summary of Security Practices in the 23 IoT devices we considered.

Comm.to

clou

d?

Conn

ectiv

itytype

AP(in

itial

setup)

AP

(persistence

usage)

APsecurity

WiFip

rovi-

sion

ing

webserver

(port8

0or

di�po

rt)

ftp(port2

1)

telnet

(port2

3)

ssh(port2

2)

unkn

own/other

tcppo

rts

Firm

ware

update

Operatin

gSystem

•1 Swann 470LCD (NVR) X �,� G# G# or 7 WPA2 n/a or 5 X X X ! Linux 2.6.37

•2 Swann 470CAM (camera) X+ �,� 7 7 n/a n/a or 5+ X XX X‽ –

•3 Petcube Play Pet Camera X �,� # 7 none H (� or�) X X X o or! DD-WRT v24 or v30

•4 LeFun Baby Monitor X �,� 7* 7 n/a ↵ or m ; or n/a X X ! –

•5 I-SPY Mini tank 7 � G# G# WPA2 n/a X XXXX X‽ Linux 2.6.30.9

•6 JJR/C H49 mini drone 7 � # # none n/a X# X X RT-Thread OS 2.0.1

•7 DBPOWER U818A drone 7 � # # none n/a X# X XXX X Linux 3.4.35

•8 Force1 U818A drone 7 � # # none n/a X# X XX X Linux 3.4.35

•9 Parrot AR Drone 2.0 7 � # # none n/a X# X# XXX ! Linux 2.6.32.9

•10 CogniToys dino X � # 7 none H (�) X o –

•11 Toymail Talkie X � 7 7 n/a m ob –

•12 Hello Barbie X � # 7 none H (�) X ob –

•13 Wemo smart plug X � # 7 none H (�) XX !b Linux 3.18

•14 EDIMAX smart plug X � # 7 none H (�) X !b Linux 2.6.x

•15 MagicLight X � # 7 none H (�) X X X‽ –

•16 OZOM Box X �, �•z ,•z ,� 7 WPA2 n/a X X X o Linux 2.6.x/3.x

•17 VeraEdge hub X �, �•z ,� or 7 WPA2 n/a orH (�) X X + XX ! Linux 3.10.34

•18 SmartThings hub X �, �•z ,•z 7 7 n/a n/a XX ob DD-WRT v24 or v30

•19 Amazon Echo Dot X � # 7 none H (�) X XX ob Google Android 4.1.x

•20 Amazon Echo X � # 7 none H (�) X XX ob Linux 2.6.x

•21 Google Home X � # 7 none H (�) X XXX ob Linux 2.6.x/3.x

•22 Bellabeat health tracker X+ � 7 7 n/a n/a !b –

•23 UNICEF Kid Power X+ � 7 7 n/a n/a X‽ –

Legend: # open, G# common password (e.g., ‘1234’), strong password, 7 no Access Point (AP) (or not applicable);Firmware update o automatic,! manual, X no �rmware update, X‽ unclear how (if possible),

b according to manual (i.e., not to our observations); + via another device (e.g., X+communication or 5+ input);WiFi provisioning via physical (i.e., ↵ sound, m visual) orH digital channel, or 5 manual input on device screen;

Number of unknown or other ports: X (1-2 ports), XX (3-4 ports), XXX (5-6 ports), XXXX (7 or more ports);Connectivity type:�WiFi, � Ethernet,•z Zigbee, �•z Z-Wave, � Bluetooth; “–” represents no exact OS matches.

1

Table 1: Summary of Security Practices in the 23 IoT devices we considered.

Comm.to

clou

d?

Conn

ectiv

itytype

AP(in

itial

setup)

AP

(persistence

usage)

APsecurity

WiFip

rovi-

sion

ing

webserver

(port8

0or

di�po

rt)

ftp(port2

1)

telnet

(port2

3)

ssh(port2

2)

unkn

own/other

tcppo

rts

Firm

ware

update

Operatin

gSystem

•1 Swann 470LCD (NVR) X �,� G# G# or 7 WPA2 n/a or 5 X X X ! Linux 2.6.37

•2 Swann 470CAM (camera) X+ �,� 7 7 n/a n/a or 5+ X XX X‽ –

•3 Petcube Play Pet Camera X �,� # 7 none H (� or�) X X X o or! DD-WRT v24 or v30

•4 LeFun Baby Monitor X �,� 7* 7 n/a ↵ or m ; or n/a X X ! –

•5 I-SPY Mini tank 7 � G# G# WPA2 n/a X XXXX X‽ Linux 2.6.30.9

•6 JJR/C H49 mini drone 7 � # # none n/a X# X X RT-Thread OS 2.0.1

•7 DBPOWER U818A drone 7 � # # none n/a X# X XXX X Linux 3.4.35

•8 Force1 U818A drone 7 � # # none n/a X# X XX X Linux 3.4.35

•9 Parrot AR Drone 2.0 7 � # # none n/a X# X# XXX ! Linux 2.6.32.9

•10 CogniToys dino X � # 7 none H (�) X o –

•11 Toymail Talkie X � 7 7 n/a m ob –

•12 Hello Barbie X � # 7 none H (�) X ob –

•13 Wemo smart plug X � # 7 none H (�) XX !b Linux 3.18

•14 EDIMAX smart plug X � # 7 none H (�) X !b Linux 2.6.x

•15 MagicLight X � # 7 none H (�) X X X‽ –

•16 OZOM Box X �, �•z ,•z ,� 7 WPA2 n/a X X X o Linux 2.6.x/3.x

•17 VeraEdge hub X �, �•z ,� or 7 WPA2 n/a orH (�) X X + XX ! Linux 3.10.34

•18 SmartThings hub X �, �•z ,•z 7 7 n/a n/a XX ob DD-WRT v24 or v30

•19 Amazon Echo Dot X � # 7 none H (�) X XX ob Google Android 4.1.x

•20 Amazon Echo X � # 7 none H (�) X XX ob Linux 2.6.x

•21 Google Home X � # 7 none H (�) X XXX ob Linux 2.6.x/3.x

•22 Bellabeat health tracker X+ � 7 7 n/a n/a !b –

•23 UNICEF Kid Power X+ � 7 7 n/a n/a X‽ –

Legend: # open, G# common password (e.g., ‘1234’), strong password, 7 no Access Point (AP) (or not applicable);Firmware update o automatic,! manual, X no �rmware update, X‽ unclear how (if possible),

b according to manual (i.e., not to our observations); + via another device (e.g., X+communication or 5+ input);WiFi provisioning via physical (i.e., ↵ sound, m visual) orH digital channel, or 5 manual input on device screen;

Number of unknown or other ports: X (1-2 ports), XX (3-4 ports), XXX (5-6 ports), XXXX (7 or more ports);Connectivity type:�WiFi, � Ethernet,•z Zigbee, �•z Z-Wave, � Bluetooth; “–” represents no exact OS matches.

1

(1) Session token stealing: (cont’d)Proof-of-concept attack

J. Valente September 4th, 2018 1Vulnerability Trends in Consumer IoT

App UserInternetCamera

click on a vulnerable action (e.g., cloud

storage config)1

Attacker

extract sess_nid and sess_snfrom the http request3

2

retrieve the latest image frame from camera.

send a “ccm/ccm_pic_get.jpg” command to server using any valid sess_nid and sess_sn.

5

4 45

send httprequest

traffic

JV 8/18

Table 1. Summary of Security Practices in the 23 IoT devices we considered [1].

Sample of Consumer IoT Devices We Have in Our Lab

Figure 1. IoT devices we considered

Background: we propose a more complete and extensiblearchitecture that allows new challenges & attack detections [5]

© 2018 Junia Valente August 8th, 2018 1Vulnerability Trends in IoT Devices and New Sensor-Assisted Security Protections

CameraPhysical Environment

Challenge Media

Trusted VerifierAttack Detection

Naïve replay attack detection

Forgery attackdetection

Visual ChallengeRecognition

OCR

Barcodereader

Patternmatching

send visual challenge video feed

sense

Visual Challenge Generation

Plaintext

QR code

Grid patternTweet

Photo

Resolution

480pStandarddisplay

Light bulb

IR display …

Day Vision

Night Vision720p 1080p

…Frame Rate

2

1

3

4

5 6

[5] Valente, J., Bahirat, K., Venechanos, K., Cardenas, A. A., and B., Prabhakaran. Improving the Security of Visual Challenges. ACM Transactions on Cyber-Physical Systems (TCPS). [under peer-review]

Security Analysis of Cameras [2]

Figure 4. Extracting root password---hard-coded---in Swann NVR firmware.

Device Verifier

physical challenge

responsesensePhysical Environment

Verify that the desired changes reflect in the device output

Visual Challenge Proposal for Cameras [3]

Figure 7. New sensor-assisted security protections.

Figure 8. We extend our previous proposal to support new visual challenges such as a grid pattern of IR LEDs and use multi-color smart light bulbs to change ambient lighting.

Introduction

Figure 5. A remote attacker can capture image frames from an IP camera online. (This particular camera leaks a valid session token under some scenarios).

Extract File System

Crack password

“etc/passwd”

Unpack File System

nvr-firmware.pak firmware.cram firmware directory

rootpassword

1 2 3

[03:30:15] jvalente: binwalk nvr-firmware.pak

DECIMAL HEXADECIMAL DESCRIPTION--------------------------------------------------------------------------------36989 0x907D Certificate in DER format (x509 v3), header length: 4, sequence length: 128090812 0x162BC CRC32 polynomial table, little endian174741 0x2AA95 Certificate in DER format (x509 v3), header length: 4, sequence length: 1280258124 0x3F04C CRC32 polynomial table, little endian425248 0x67D20 uImage header, header size: 64 bytes, header CRC: 0x73D9C2E7, created: 2014-12-08 06:37:01, image size: 2823708 bytes, Data Address: 0x80008000, Entry Point: 0x80008000, data CRC: 0xD6E9FF38, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-2.6.37"442003 0x6BE93 gzip compressed data, maximum compression, from Unix, last modified: [...]3249020 0x31937C CramFS filesystem, little endian, size: 8597504 version 2 sorted_dirs CRC [...]11846524 0xB4C37C CramFS filesystem, little endian, size: 10969088 version 2 sorted_dirs CRC [...]22815612 0x15C237C PC bitmap, Windows 3.x format,, 684 x 456 x 2423751378 0x16A6AD2 CramFS filesystem, little endian, size: 4096 version 2 sorted_dirs CRC [...]

Figure 11. Cameras with night vision can see IR visual challenges.

Figure 10. People cannot see the IR challenge.

Figure 9. Multi-color smart light challenges.

StartwithIoT Device

Hasaccesspoint?

Findopenports(e.g.,usingNmap)

Hasftp,telnet,orssh?

Otherports?

Hasunknownports?

Connect toaccesspoint

Connect toyourlocal laboratory

network

Firmwareavailable?

Trytofindservice-relatedvulnerabilities

Sniffnetworktraffic

Hasawebserver?

Encryptionproblems?

Authproblems?

Hardcodedcredentials?

Remoteaccess!

Networktrafficdataaccess!

Unauthorizedaccess

yes

yes

yes

yes

yes

yes

yes

yes

yes yes

no

Figure 2. Our proposed steps to perform vulnerability assessment on IoT devices.

Approach [1]

Internet of Things (IoT) devices are found everywhere, including in our homes, in healthcare, in education, and for entertainment.

As our lives become more dependent on these systems, their security and privacy practices is a growing concern.

This poster summarizes our study of security practices in a variety of consumer Internet of Things (IoT) devices [1, 2] & propose new sensor-assisted security protections against various attack strategies [3].

Conclusion and Future Directions

Internet-Connected Smart Toys An attacker can(1) listen what a child speaks to their toy; and can (2) inject voicecontent to child’s toy(even when there is encryption) due to vulnerabilities we found on the device

Attacker captures trafficbetween a dino and cloud

Steps (simplified):

Attacker replays traffic to another dino device!

An attacker can make: Dino toys speak arbitrary things to a child:

à Ask child to open doorà Insult the child

We discovered CVEs: CVE-2017-8867/66/65.

2

1

Figure 3. Attacks we tested on CogniToys Dino.

Study of Dronesconnect to drone open AP1

AP network

24

AttackerDrone (192.168.0.1)JV 2/17

modify hash for root in shadow file

download shadow fileupload modified shadow file

5 login with root privileges!

3

Figure 6. A near-by attacker can modify sensitive files (via a mis-configured anonymous ftp login) to gain root access via Telnet.

We discovered and reported vulnerability: CVE-2017-3209

A near-by attacker can take down a flying drone (from the Discovery family of drones) via the Telnet access

Our systematic analysis identifies security practices & trendsof IoT devices. We hope our work can be useful in evaluating future IoT (e.g., Industrial IoT) security proposals by showing common pitfalls in available technologies. We propose new tools to detect tampering of video feeds from security cameras.

We discovered: CVE-2015-8287

Junia Valente – December 2018