Smart Nest Thermostat A Smart Spy in Your Home



Similar documents
Smart Nest Thermostat: A Smart Spy in Your Home

SBC8600B Single Board Computer

SBC8100 Single Board Computer

M-Shield mobile security technology

i.mx USB loader A white paper by Tristan Lelong

Embedded Linux Platform Developer

DSO138 oscilloscope program upgrade method

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Bootloader with AES Encryption

Network connectivity controllers

Embedded Display Module EDM6070

Hong Kong Information Security Outlook 2015 香 港 資 訊 保 安 展 望

Embedded Java & Secure Element for high security in IoT systems

Bypassing Local Windows Authentication to Defeat Full Disk Encryption. Ian Haken

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

System Design Issues in Embedded Processing

WISE-4000 Series. WISE IoT Wireless I/O Modules

"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION

SBC6245 Single Board Computer

Ways to Use USB in Embedded Systems

Embedded Linux development training 4 days session

Verfahren zur Absicherung von Apps. Dr. Ullrich Martini IHK,

Embedded Linux development with Buildroot training 3-day session

CSE543 Computer and Network Security Module: Cloud Computing

ZigBee Technology Overview

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

What is Bitdefender BOX?

The Future of IoT. Zach Shelby VP Marketing, IoT Feb 3 rd, 2015

Who is Watching You? Video Conferencing Security

DesignWare IP for IoT SoC Designs

Virtually Secure. a journey from analysis to remote root 0day on an industry leading SSL-VPN appliance

What marketing won t tell you about the Internet of Things

Applications Development on the ARM Cortex -M0+ Free On-line Development Tools Presented by William Antunes

Thingsquare Technology

Embedded Linux BSP BootCAMP

Right-Sizing M2M Security: The Best Security is Security Tailored to Your Application

That Point of Sale is a PoS

Hi and welcome to the Microsoft Virtual Academy and

Veracode White Paper The Internet of Things: Security Research Study. The Internet of Things: Security Research Study

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)

Pen Drive to Pen Drive and Mobile Data Transfer Using ARM

Smartphone Security. A Holistic view of Layered Defenses. David M. Wheeler, CISSP, CSSLP, GSLC. (C) 2012 SecureComm, Inc. All Rights Reserved

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Version 1.0. File System. Network Settings

Post-Access Cyber Defense

Questions from The New SensorTag - IoT Made Easy Webinar

Building Embedded Systems

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

SanDisk Enterprise Secure USB Flash Drive Security Vulnerability

M-Shield Mobile Security Technology: making wireless secure

SECURE IMPLEMENTATIONS OF CONTENT PROTECTION (DRM) SCHEMES ON CONSUMER ELECTRONIC DEVICES

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

ELCE Secure Embedded Linux Product (A Success Story)

Implementation and Implications of a Stealth Hard-Drive Backdoor

A Design of Video Acquisition and Transmission Based on ARM. Ziqiang Hao a, Hongzuo Li b

Final Year Project Interim Report

UG103.8: Application Development Fundamentals: Tools

Research Report: Addressing Security Concerns for Connected Devices in the Internet of Things Era

Java Embedded Applications

W ith an estimated 14 billion devices connected to

Hacking Satellite TV receivers : Are those IoT devices secure?

IoT Potential Risks and Challenges

Build SalesForce IoT applications with ARM mbed

LINUX BOOT TIME OPTIMIZATION FTP SERVER

Protecting Your Organisation from Targeted Cyber Intrusion

Technical Notes TN 1 - ETG FactoryCast Gateway TSX ETG 3021 / 3022 modules. How to Setup a GPRS Connection?

Security in Android apps

SV9100. Dialer Setup Guide (Multiline Telephone) NDA Issue 1.0

WIND RIVER SECURE ANDROID CAPABILITY

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

The Internet of Things: Opportunities & Challenges

Secure Data Exchange Solution

Chapter 1 Hardware and Software Introductions of pcduino

SET-UP AND OPERATION GUIDE

Avaya G700 Media Gateway Security - Issue 1.0

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Industry First X86-based Single Board Computer JaguarBoard Released

Embedded Trusted Computing on ARM-based systems

APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK

2X SecureRemoteDesktop. Version 1.1

Smart Card APDU Analysis

Full Drive Encryption Security Problem Definition - Encryption Engine

ARTIK TM. MyungKoo Kang (VP) The Ultimate Platform Solution for IoT. Samsung Electronics

Token User Guide. Version 1.0/ July 2013

Pentesting Mobile Applications

7a. System-on-chip design and prototyping platforms

Certifying Program Execution with Secure Processors

Chapter 1: Introduction

QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE

Patterns for Secure Boot and Secure Storage in Computer Systems

AN10866 LPC1700 secondary USB bootloader

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

Internet of Things. Opportunities for device differentiation

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

Accelerating I/O- Intensive Applications in IT Infrastructure with Innodisk FlexiArray Flash Appliance. Alex Ho, Product Manager Innodisk Corporation

The Key to Secure Online Financial Transactions

Weston Public Schools Virtual Desktop Access Instructions

Transcription:

Smart Nest Thermostat A Smart Spy in Your Home Grant Hernandez, Orlando Arias, Daniel Buentello, and Yier Jin Security in Silicon Laboratory, University of Central Florida

Outline IoT Era: Security and Privacy IoT Star: Nest Thermostat Nest Architecture Firmware and Hardware User Privacy Hardware Backdoor Demonstrations Conclusions and Future Work

Who We Are Grant Hernandez: Computer Engineering UG, UCF Orlando Arias: Computer Engineering UG, UCF Daniel Buentello: Independent researcher Yier Jin: Electrical Engineering, Ph.D.

Internet of Things When wireless is perfectly applied the whole earth will be converted into a huge brain...and the instruments through which we shall be able to do this will be amazingly simple compared with our present telephone. A man will be able to carry one in his vest pocket. Definition Introduction - Nikola Tesla 1926 Embedded devices with networking capabilities.

IoT and Wearable Devices Assorted images found online.

IoT Forecast

IoT Forecast

Security and Privacy Security Concerns ThingBot : More than 750,000 phishing and SPAM emails launched from ThingBots including televisions, fridges IOActive examined the WeMo Light Switch firmware and uncovered a series of issues Privacy Concerns Personal data is often collected without users awareness The big personal data includes too much information

IoT STAR: NEST THERMOSTAT

Nest Thermostat Nest Labs founded by Tony Fadell Debuted in October 2011 Acquired by Google in January 2014 ($3.2B) Over 40,000 sold each month Data from GigaOM as of January 2013 Available in UK in April 2014 Smart home API is released in June 2014

Nest Features Self-Learning Auto-Away Nest App Nest Leaf Airwave Monthly energy report*

NEST HARDWARE

Front Plate Display board Graphics/UI, Networking Chips: ARM Cortex A8 app processor USB OTG RAM/Flash (2Gb) ZigBee/WiFi Radios Proximity Sensors UART test points (silenced at bootloader) Courtesy of ifixit

Backplate and Comms Hooks up to AC/Heating system. Charges battery via engineering wizardry Chips: Independent ARM Cortex M3 Temp and Humidity Sensor Communications Front to Back UART NEST Weave (802.15.4) USB MSD (FW update) Courtesy of ifixit

NEST SOFTWARE

Nest Client Runs on a Linux based platform Handles interfacing between device and Nest Cloud services Automatically handles firmware updates Manual update available Plug Nest into PC Handled as a storage device Copy firmware to drive Reboot Nest

Nest Firmware Signed firmware Manifest.plist Hashes contents Manifest.p7s Compressed but not encrypted or obfuscated Includes U-boot image Linux Kernel image File system nlbpfirmware.plist

Things Done the Right Way Firmware signing using PKCS7 Pinned Nest certificates for firmware verification All critical communications (any with secrets) over HTTPS Other less secure ones over HTTP (firmware, weather)

Things Done the Wrong Way Firmware links downloaded using HTTP and download links do not expire Firmware images not encrypted using Nest private key. Could still fall back to unencrypted in the event of a key blacklist Hardware backdoor left for anyone with a USB port to use

NEST SECURITY

A notable quote from Nest Labs founder Tony Fadell: Yes, hacking is in our thoughts. When you're talking about the home, these are very private things. We thought about what people could do if they got access to your data. We have bank-level security, we encrypt updates, and we have an internal hacker team testing the security. It's very, very private and it has to be, because it'll never take off if people don't trust it. Firmware verification Manifest.plist Manifest.p7s Remote Update

User Privacy Log Files Internally stored and uploaded to Nest Cloud when an Internet connection is available Contents Usage statistics System logs Nest software logs (Zip Code, device settings, wired option) User Interface Users are unaware of the contents of the log files Users cannot turn off this option User network credentials are stored within the device in plain text!

PROCESSOR AND BOOT

Hardware Analysis TI Sitara AM3703 ARM Cortex-A8 core Version 7 ISA JazelleX Java accelerator and media extensions ARM NEON core SIMD coprocessor DMA controller HS USB controller General Purpose Memory Controller to handle flash SDRAM memory scheduler and controller 112KB on-chip ROM (boot code) 64KB on-chip SRAM

Boot Process Root ROM starts execution ROM initializes basic subsystems ROM copies X- Loader to SRAM X-Loader executes X-Loader initializes SDRAM Userland loaded u-boot executes Linux kernel u-boot configures environment u-boot executes X-Loader copies u-boot to SDRAM

Device Initialization Boot Configuration read from sys_boot[5:0] Selected boot configurations sys_boot [5:0] First Second Third Fourth Fifth 001101 001110 001111 XIP XIPwait NAND USB DOC USB UART3 USB UART3 MMC1 UART3 NMC1 MMC1 101101 101110 101111 USB USB USB UART3 UART3 UART3 MMC1 MMC1 MMC1 XIP XIPwait NAND DOC

Device Programming ROM is capable of booting device to boot from USB! Boot configuration pins are set by Nest hardware Device will boot from USB if sys_boot[5] is high

Device Programming ROM is capable of booting device to boot from USB! Boot configuration pins are set by Nest hardware Device will boot from USB if sys_boot[5] is high Circuit board exposes sys_boot[5] on an unpopulated header

Hardware Backdoor It is possible to boot the processor from a peripheral device, such as USB or UART!

Implications Full control over the house Away detection Network credentials Zip Code Remote exfiltration Pivoting to other devices

Control over all Nest devices Unauthorized ability to access Nest account we now have the secrets Ability to permanently brick the device we can modify NAND Persistent malware in NAND Modify x-loader in NAND

THE ATTACK

Device Reset Attack Press the button for 10 seconds causing sys_boot[5] = 1 b1 Inject code through the USB into memory and execute Have a short timeframe

Initial Attack X-Loader Custom U-Boot Utilize existing kernel Load our ramdisk (initrd) Ramdisk Mount flash and write at will We have netcat!

Refining a Backdoor Rebuild toolchain Port dropbear (SSH server) Add user accounts and groups Reset root password

Linux Kernel Modification A custom Linux kernel Custom logo Debugging capabilities (kgdb) Polling on OMAP serial ports

DEMO

Modding: Graphics and Input Full 2D framebuffer control Unfortunately, no 2D acceleration, so no heavy per-pixel calculations Easy access to the rotary dial, button, piezo, and LED

Double-Edged Sword Positive View The backdoor provide legitimate users to opt-out of uploading logs files Negative View The backdoor may be maliciously exploited A Relief to Nest Labs The backdoor needs physical access to the device (although remote attack is under investigation)

A Solution Chain of Trust Code Authentication Processor must authenticate the first stage bootloader before it is run Use public key cryptography Userland protection Only execute signed binaries Filesystem encryption Processor-DRAM channel protection

Conclusions and Future Work About the Nest Thermostat A lot of things done right Not enough focus on hardware security Future work Find remote attacks Look at other devices

Thank you! Yier Jin yier.jin@eecs.ucf.edu

Links http://hardwaresecurity.org/iot/ https://nest.com/legal/compliance/ https://www.schneier.com/essays/archives/2014/01/the_internet_of_thin.html http://www.mentor.com/embedded-software/sourcery-tools/sourcerycodebench/editions/lite-edition/