IOT SECURITY: CONSUMER DEVICES AND THE EXTENDED CORPORATE NETWORK - - PowerPoint PPT Presentation

iot security
SMART_READER_LITE
LIVE PREVIEW

IOT SECURITY: CONSUMER DEVICES AND THE EXTENDED CORPORATE NETWORK - - PowerPoint PPT Presentation

IOT SECURITY: CONSUMER DEVICES AND THE EXTENDED CORPORATE NETWORK Get CPE Credits for this Webcast Attendees of this Webcast are eligible for 1 CPE credit Self-report on your organizations website Keep the email invitation as


slide-1
SLIDE 1

IOT SECURITY:

CONSUMER DEVICES AND THE EXTENDED CORPORATE NETWORK

slide-2
SLIDE 2

Get CPE Credits for this Webcast

  • Attendees of this Webcast are eligible for 1 CPE credit
  • Self-report on your organization’s website
  • Keep the email invitation as confirmation for possible future audits
  • More info: http://bit.ly/R7CPE
slide-3
SLIDE 3

Speakers

Mark Stanislav Senior Security Consultant Rapid7 Michael McNeil Global Product Security & Services Officer Philips Healthcare Tod Beardsley Research Manager Rapid7

slide-4
SLIDE 4

Hacking IoT Baby Monitors

Mark Stanislav, Sr. Security Consultant

slide-5
SLIDE 5

What Does an Internet-Connected Monitor Offer?

  • “Connected” Features (via a Web Site and/or a Mobile Application)
  • Viewing a live stream locally (the home’s Wi-Fi) or remotely (Internet)
  • Controlling the camera’s position via pan, tilt, and zoom functionality
  • Communicating audio through the monitor (i.e. two-way audio)
  • Playing music or other recorded audio clips (i.e. bring your own lullabies)
  • Manage device preferences such as the audio volume and “night vision”
  • Share access and provide privileges to other people (e.g. family, friends)
  • Access recordings for humidity, temperature, noise, and/or motion alerts
  • Remote (e.g. SaaS, FTP) and local (e.g. Micro SD) DVR recordings
slide-6
SLIDE 6

A Mess of Dependencies and Attack Surface

  • Many IoT baby monitors leverage third-party services, firmware, and software
  • Some vendors put a lot of trust in their supply chain without testing security
  • Implementation errors or failure to comply with best practices also occurs

  • Complex ecosystems means that there are plenty of ways to screw up:
  • Mobile applications, cloud services, backend services, web applications,

firmware, hardware, network protocols, wireless protocols, & cryptography

  • It’s difficult for a single IoT vendor to be proficient in security across all of it

  • The frameworks, protocols, and design patterns of IoT are still very much in flux
slide-7
SLIDE 7

SO, HOW DO WE HACK THESE THINGS?

slide-8
SLIDE 8

Via Dumping Firmware

Pomona SOIC Clip + Bus Pirate flashrom to Dump Flash binwalk to Extract Filesystems

slide-9
SLIDE 9

Hash Cracking with cudaHashcat Scouring Google for Useful Details

Via Brute Force of Various Means

slide-10
SLIDE 10

JTagulator
 (or Bus Pirate, Shikra, etc.) U-Boot Configuration UART Scan & Connect

Via Serial Console (UART)

slide-11
SLIDE 11

Via JTAG (e.g. Dumping Memory via GDB)

Not a baby monitor… but you get the idea!

slide-12
SLIDE 12

Acquire Firmware with dex2jar + JD-GUI for Android View API Calls with mitmproxy (esp. SSL/TLS) Find API End-Points with Clutch + strings for iOS

Via Mobile Applications

slide-13
SLIDE 13

View Protocol Details with wireshark Uncover Network Services with nmap

Via Network Analysis

slide-14
SLIDE 14

XSS on Camera Cloud Web Service Hidden Administrative Web Interface

Via Web Applications

slide-15
SLIDE 15

THE BABY MONITORS

slide-16
SLIDE 16

A Variety of Vendors, Styles, Costs, & Features

Vendor Model Price Amazon
 Rank* / Stars Two-Way Audio Pan Tilt Zoom Wi-Fi Ethernet Gynoii GCW-1010 $89.34 #56 / 3.8 ✓ ✗ ✗ ✗ ✓ ✗ iBaby M3S $169.95 #243 / 3.4 ✓ ✓ ✓ ✓ ✓ ✓ iBaby M6 $199.95 #31 / 3.7 ✓ ✓ ✓ ✓ ✓ ✗ Lens LL-BC01W $54.99 #149 / 2.8 ✓ ✗ ✗ ✗ ✓ ✓ Philips B120/37 $77.54 #N/A / 2.2 ✓ ✗ ✗ ✗ ✓ ✗ Summer 28630 $199.99 #64 / 3.1 ✓ ✓ ✓ ✓ ✓ ✗ TRENDnet TV-IP743SIC $69.99 #N/A / 3.5 ✓ ✗ ✗ ✓ ✓ ✗ WiFiBaby WFB2015 $259.99 #156 / 3.2 ✗ ✗ ✗ ✓ ✓ ✓ Withings WBP01 $204.60 #101 / 2.9 ✓ ✓ ✓ ✓ ✓ ✓

* Amazon Ranking Based on Category “Baby > Safety > Monitors”, Which Includes Non-IoT Baby Monitors

slide-17
SLIDE 17

THE FINDINGS

slide-18
SLIDE 18

Withings WBP01 - $204.60

slide-19
SLIDE 19

Disabled Doesn’t Quite Mean What it Used To

After a stream exists, “disabling” it via the app doesn’t actually stop it… 20 Minutes Later…
 The Stream Still Works!

slide-20
SLIDE 20

When Obfuscation Goes Wrong, or, Not at All?

At first, this looks like a really poor attempt at an

  • bfuscation method to “hide” the password for

this web service account.
 
 On further review, however, the mchunk method simply returns at the start of the for loop, yielding the output from the input to be a concatenation of “ff” and the integer passed as a parameter.
 
 Was this obfuscation intended to be enabled? Did someone give up on their dream of confusing reverse engineers? The world may never know…

slide-21
SLIDE 21

WiFi Baby WFB2015 - $259.99

slide-22
SLIDE 22

Unauthenticated Log With Stream Details Hardcoded SSL Cert … That’s Not Even Used …

Nothing Makes Sense to Me Any More

slide-23
SLIDE 23

UPnP RCE Bugs, CVE-2012-5958 & CVE-2012-5959

UPnP Bugs: Alive and Well in Baby Monitoring

slide-24
SLIDE 24

Lens Peek-A-View (LL-BC01W) - $54.99

slide-25
SLIDE 25

If You Needed Some Free Cloud Storage

An FTP Account Per Camera, Apparently Used for Configuration Backups




 [redacted]

slide-26
SLIDE 26

Backdoor Credentials Galore

Hidden Web Interface Credentials Cracking the Linux ‘admin’ Password

This account has functional ‘root’ privilege due to ugly permissions

The Live Stream Passes Credentials in URL over HTTP

slide-27
SLIDE 27

Gynoii GCW-1010 - $89.34

slide-28
SLIDE 28

Unencrypted Web Services - Local and Cloud

Local Administrative API Calls Vendor Cloud API Calls Hidden Device Web Interface Third-Party Streaming Service

None of these services or APIs use any encryption and often pass sensitive credentials and keys

slide-29
SLIDE 29

TRENDnet TV-IP743SIC - $69.99

slide-30
SLIDE 30

2-for-1 — Unencrypted Web Service + XSS

Either MITM a User or Just BYOJS to their DOM:)

[redacted]

slide-31
SLIDE 31

Telnet Available, Just Not Default

A Remote Shell Waiting to Happen…

Pro Tip: Remove Remote Access Services, Don’t Just Disable Them! Username: root Password: admin

slide-32
SLIDE 32

iBaby M3S - $169.95

slide-33
SLIDE 33

Uncovering Backdoor Linux Accounts & Access

An nmap Scan Reveals Telnet :) Password is “Protected” by UNIX Crypt Username: admin Password: admin

* FYI, there is no ‘root’ on here, only ‘admin’

slide-34
SLIDE 34

iBaby M3S - A Historical Look at Software?

✦ U-Boot: 1.1.3, released August 14th, 2005 ✦ OpenSSL: 0.9.8e, released February 23rd, 2007 ✦ Linux Kernel: 2.6.21, released April 26th, 2007 ✦ BusyBox: 1.12.1, released September 28th, 2008
 ✦ UNIX Crypt: First appeared in 1979, limited to 8-character passwords ✦ Telnet: Developed in 1968 — SSH-1 came out in 1995…

slide-35
SLIDE 35

Encryption! Just Not Great Choices For it :)

Stream Encryption… with XXTEA? Encrypted Backups… with a Hardcoded Password?

slide-36
SLIDE 36

iBaby M6 - $199.95

slide-37
SLIDE 37

Cryptography? Naw, They Are Just Babies…

Unencrypted Web Service Login Telnet & Unencrypted HTTP on Device Unencrypted Mobile API Calls

slide-38
SLIDE 38

This is the iBaby Cloud Web Site Today…

Login for Camera Owners …and What is Now Returned on Login…

slide-39
SLIDE 39

But a Few Months Ago, Direct Object Reference!

<—Proper Account “Attacker” Account—>

No Authorization/Privilege Given to Our “Attacker” Account

slide-40
SLIDE 40

Full Access to All Audio & Motion Alert Videos

View Source -> Find AVI Filename -> Access Static CloudFront URL

“Attacker” Account—>

Don’t let the broken images fool you… there’s live data ready to be viewed!

[redacted] [redacted] [redacted] [redacted]

slide-41
SLIDE 41

Unauthenticated Access to Unencrypted Videos

Example AVI Thumbnail File Video Downloads via Amazon CloudFront ✦ URLs are not requested via HTTPS ✦ No IAM credentials or signed URLs Mobile API Call for Alert Video Retrieval

[redacted] [redacted] [redacted] [redacted]

slide-42
SLIDE 42

…and Some Weirdly Exposed Web Applications?

…But an Admin Site? Now That’s an Interesting Find! Apparently There’s a Private Wiki. What For? No Clue.

slide-43
SLIDE 43

Philips In.Sight B120/37

slide-44
SLIDE 44

Everything Old is New Again…

My IZON Research - 2013 My InSight Research - 2015 The question is… Did security issues fixed by one camera manufacturer ever trickle into devices also leveraging the same firmware?

slide-45
SLIDE 45

Shout out to Paul Price for his research into the In.Sight M100 which shares a few issues from my old Stem Innovation IZON research and subsequent research into the In.Sight B120. Check out his site detailing this and other research at ifc0nfig.com!

A Quick Look at “Old” Security Issues Still There

No SSL on Backend Web Service Telnet Enabled by Default (Until Recently) Multiple Hardcoded Linux Accounts Insecure Firmware Upgrade Process

slide-46
SLIDE 46

A Few Newer Issues. But Wait, There’s More! :)

Multiple XSS on Web Service Portal Backdoor Telnet Enablement Script Predictable ‘admin’ Web Service Password Username: root Password: b120root

slide-47
SLIDE 47

Unauthenticated Administrative Camera Access

Camera Home Network Internet User

Web Service
 HTTP/80 Clear Text Clear Text Clear Text HTTP Reverse Proxy

When a remote end user requests their camera’s stream, an HTTP reverse proxy is

  • pened on a public host & port number, directly to the camera’s backend web service,

allowing for a remote attacker to achieve the following: ✦ Unauthenticated and unencrypted video/audio stream access to the user’s camera ✦ Full administrative access to the camera’s powerful backend web service ✦ This includes manipulating camera configuration or even re-enabling Telnet

slide-48
SLIDE 48

Finding Exposed Cameras on the Internet

The reverse proxy is setup by the stream provider, Yoics, and has a finite number of enumerable hostnames, each with about ~30,000 possible ports that may be utilized.
 
 While this may seem like a lot, an attacker could test this entire range every minute to look for exposed cameras with a simple script

  • r perhaps something powerful like zmap.

Unencrypted, Unauthenticated Remote Camera Access Now “Friends” Can Remotely Enable Telnet For You! :) Take David Adrian’s Word For It :)

slide-49
SLIDE 49

Summer Infant Baby Zoom (28630) - $199.99

slide-50
SLIDE 50

Oh, Be Sure to Change Your Password…

Default New User Passwords == Last name (truncated to 8 characters) + Group ID
 
 This is not required to be changed on first login and could be enumerated if someone
 knows that you have this device — simply iterate over group ID integers!

slide-51
SLIDE 51

Adding a Privileged User to Any & All Cameras

Before… After! This HTTP call could be ran against all possible IDs

slide-52
SLIDE 52

Coordinated Disclosure Timeline

Initial Vendor Disclosure
 July 4th, 2015 — Because America! CERT Disclosure
 July 21st, 2015 — 17 Days After Vendor Disclosure Public Disclosure
 September 2nd, 2015 — 60 Days After Vendor Disclosure

slide-53
SLIDE 53

A Modest Baby Monitor Security Checklist

Vendor Model Local API 
 HTTP SSL Cloud API HTTP SSL No Remote Shell No Hidden Accounts No Known Vulns No UART Access All Streams Encrypted Gynoii GCW-1010 ✗ ✗ ✗ ✗ ✓ ✗ ✗ iBaby M3S N/A ✓ ✗ ✗ ✓ ✗ ✓ iBaby M6 ✗ ✗ ✗ ✗ ✗ ✗ ✗ Lens LL-BC01W ✗ ✗ ✓ ✗ ✓ ✗ ✗ Philips B120/37 ✗ ✓ ✗ ✗ ✗ ✗ ✗ Summer 28630 ✓ ✓ ✓ ✗ ✗ ✗ ✗ TRENDnet TV-IP743SIC ✗ ✗ ✓ ✗ ✗ ✗ ✗ WiFiBaby WFB2015 ✗ N/A ✓ ✗ ✗ ✗ ✗ Withings WBP01 N/A ✗ ✗ ✗ ✓ ✗ ✗

slide-54
SLIDE 54

Scoring Baby Monitors for Overall Security

Security Concern Description of Concern Penalty for Missing Local API HTTP SSL All local web service/API calls should be encrypted, regardless of being on a LAN.

  • 20 Points

Cloud API HTTP SSL All Internet-facing web service/API calls should be encrypted, including registration.

  • 30 Points

No Remote Shell The presence of a remote shell (e.g. Telnet, SSH) create additional attack surface.

  • 50 Points

No Hidden Accounts All accounts, whether web services or shell access should be known to customers.

  • 30 Points

No Known Vulns All portions of the camera’s supply chain should be free of serious vulnerabilities.

  • 75 Points

No UART Access Devices should disable direct serial access and definitely not drop to a root shell.

  • 10 Points

All Streams Encrypted All video/audio streams, whether live or recorded, should be encrypted end-to-end.

  • 35 Points

All Cameras Start With 250 Points and Receive Deductions

slide-55
SLIDE 55

Baby Monitor by Security Score & Grade

Vendor Model Price Amazon
 Rank / Stars Score Grade* Gynoii GCW-1010 $89.34 #56 / 3.8 75 F iBaby M3S $169.95 #243 / 3.4 160 D iBaby M6 $199.95 #31 / 3.7 F Lens LL-BC01W $54.99 #149 / 2.8 125 F Philips B120/37 $77.54 #N/A / 2.2 30 F Summer 28630 $199.99 #64 / 3.1 100 F TRENDnet TV-IP743SIC $69.99 #N/A / 3.5 50 F WiFiBaby WFB2015 $259.99 #156 / 3.2 80 F Withings WBP01 $204.60 #101 / 2.9 95 F

* Grading Scale Based on Points:
 F: < 150 (<60%) ; D: 150 - 174 (60-69%) ; C: 175 - 199 (70-79%) ; B: 200 - 224 (80-89%) ; A: 225 - 250 (90-100%)

Baby is Unsatisfied

slide-56
SLIDE 56

…But Really?

  • 1. The iBaby M6, Summer, and Philips all had what I would consider “critical”

security issues that make them a deal breaker, despite their overall scoring.


  • 2. Only the iBaby M3S had apparent encryption for all streaming of content and

even then, it’s not exactly “industry standard” and has its own potential issues.


  • 3. More vulnerabilities likely exist such as RCE, XSS, and CSRF in backend web

applications — in addition to already noted backdoor credentials/interfaces.


  • 4. Frankly? Nine devices were way too much and while I am satisfied in the

issues that were found, there’s a lot I probably missed others may find!

slide-57
SLIDE 57

Conclusions

  • 1. The status quo of security for “connected” baby monitors is deeply concerning.

  • 2. Even the “best” cameras tested were well below what I’d consider “secure.”

  • 3. Consumers are woefully unaware that camera security features such as end-

to-end encryption of audio/video and well defined, secured access don’t exist.


  • 4. It’s highly unlikely, based on the issues found, that any of these vendors have

third-party security audits and/or a security-focused development program. Parents and their children deserve better. Whether you paid $54.99 or $259.99, a minimum level of security should be expected, and achieved, for all baby monitors.

slide-58
SLIDE 58

Not All Hope is Lost, However :)

BuildItSecure.ly: Initiative targeted at sharing technical resources with IoT engineering teams and pairing IoT vendors with pro-bono security researchers. OWASP IoT Top 10: Provides vendors a list of the top 10 areas of IoT security that should be focused on during development to ensure a secure ecosystem. Cloud Security Alliance: Released a guidance document targeted at IoT engineering teams to ensure more security during design/development.
 Google Projects: Brillo is a hardened, stripped-down version of Android for IoT, while secure Weave is a secure solution for inter-device communication.

slide-59
SLIDE 59

Thanks! Questions?

Mark Stanislav mstanislav@rapid7.com @markstanislav