Towards Secure, Scalable, Efficient Iot of Scale

Towards Secure, Scalable, Efficient Iot of Scale

Towards Secure, Scalable, Efficient IoT of Scale Remy Pottier Director of Strategy, Incubation Businesses Valence June 22nd, 2016 Agenda . Some security principles & solutions . Arm Building blocks . Q&A 2 Security in the Internet of Things is in a bad shape 3 Key finding highlights . 1 in 5 did not use secured connections to the cloud . None provided mutual authentication . Many of the cloud services contained common web vulnerabilities . 10 vulnerabilities for 15 web interfaces to control the devices . Most did not use secure firmware updates 4 We failed to learn from our history 5 Security Requirements: How Much Security? Level 3 Cost/Effort Level 2 To Attack Level 1 HW Attacks . Physical access to device – JTAG, Bus, IO Pins, . Well resourced and funded Software Attacks . Time, money & equipment . Buffer overflows . Interrupts . Malware Communication Attacks . Man In The Middle . Weak RNG Cost/Effort . Code vulnerabilities to Secure 6 Initial Root of Trust & Chain of Trust Apps OS/RTOS Apps RTOS OS/RTOS Trusted Software Trusted Trusted Apps/Libs Software TrustZone uVisor or TEE TrustZone Extended Root of Trust e.g. TrustZone based uVisor or TEE iROT TrustZone uVisor or TEE iROT CryptoCell TrustZone CryptoCell Initial Root of Trust: Dependable Security functions Keys Keys Provisioned keys/certs 7 Root Of Trust & Security Components . Basic system: An initial Root of Trust: security functions that you can depend on An identity (e.g. key loaded at manufacture) Secure boot/ Primary Boot Loader/ Authentication TRNG Secure storage . Extended system: Crypto Acceleration e.g. for TLS, RSA… Life cycle management CryptoCell Secure debug Firmware updates trust Data Roots of Roots Security Asymmetric Symmetric interfac resources Crypto Crypto e . TrustZone CryptoCell provides a On general purpose security HW subystem Always 8 Compartmentalisation & Least Privilege – Hierarchy of Trust Security Subsystem or SE Secure Domain Isolated & small security boundary Trusted code and data Trusted Domain with TrustZone & Trusted Software Hypervisor, Virtual Machines Protected Domain (Apps processors only) Rich Domain Rich OS / RTOS and user applications 9 Now we need to enable secure < $1 microcontroller designs done by people with absolutely no security experience 10 Confidential © ARM 2015 Traditional Embedded Development vs. IoT . Historically closed systems . Very little code reuse or design commonality between systems Bespoke Software RTOS Stack and … 11 Device management Sensing Channel security security Device Debug Connectivity Component Continuous Key Device Management Integration Management Management Debug CoAP Firmware Algorithms Auth Keys Comms HTTP Update Test Admin & Unit Testing Bootstrap Automation Debug Secure Boot Calibration C Runtime IPv6/UDP DTLS Storage loader Version Code CoAP Persistent Control Review HTTP connectivity Device Crypto Secure Boot MAC/PHY Flash HAL Drivers Algo Boot Load Toolchain Build System Clustering Balancing Device Tools Server 12 Traditional Embedded Development vs. IoT . Historically closed systems . Very little code reuse or design commonality between systems Bespoke Software RTOS Stack and … . Very few developers have strong experience in creating secure systems . Need a platform with built-in security and strong guidance on best practices . Increased productivity: “Common denominator” security functionality ready to go mbed OS Application 13 IoTeapot “Hello World” example – the attacker view . Even simple IoT products require complex components . Secure server communication over complex protocols Application Protocol . Secure firmware updates over the air BLE Stack . Unclonable cryptographic device identities TLS Library Diagnostics . Cryptography APIs and random number WiFi Stack Secure generation Storage Device Secure ID Crypto Management Crypto API Keys . Existing IoT solutions use flat address spaces with little privilege separation – Firmware PRNG especially on microcontrollers Update 14 IoTeapot “Hello World” example – the attacker view Server Attacker . Flat security models allow attackers to break device security by breaking any system component Application Protocol BLE Stack . Common attack entry points: TLS Library Diagnostics . Complex protocols like TLS, Wi-Fi or USB WiFi Stack Secure device configuration Storage . Firmware update functions (USB, network, Device Secure ID Crypto Management CAN…) Crypto API Keys Firmware PRNG . Impossible to recover from attacks as Update firmware update functions can be compromised by the attacker 15 Security plus time equals comedy: plan for the worst case • System security is dynamic over device lifetime • Devices last longer than expected https:// • Likelihood of attacks underestimated as a result commons.wikimedia.org • If your system is successful, it will be hacked • Deployment costs of firmware updates in case of hacks often surpasses costs of new devices. As a /wiki/ result known-broken systems are kept in use File:Cret_Comedy_and_Tragedy.JPG • Developers must ensure secure, reliable and “cheap” update possibilities • Devices must be capable of remote recovery from an untrusted state back to a trusted state 16 Applying the Lessons From 20 Years of Mobile to IOT Lifecycle Security non-trusted trusted Communications Security Device Security trusted software trusted hardware Crypto secure secure Root of Trust system storage 17 IoTeapot “Hello World” example – mitigation strategies . Split security domains into . exposed uncritical code . protected critical code . Keep footprint of critical code small to Exposed Critical enable verification BLE Stack Firmware Update WiFi Stack Secure . Protect key material and system integrity Application Storage Protocol Crypto using hardware memory protection (uVisor TLS Library using ARMv7-M MPU, ARM TrustZone-M, Keys TrustZone-A) Device Crypto API PRNG Management Secure ID Diagnose 18 IoTeapot “Hello World” example – mitigation strategies Server Attacker . Attackers can compromise the exposed side without affecting critical code . Using cryptographic hashes the Exposed Critical integrity of the exposed side can be verified BLE Stack x Firmware . Triggered on server request Update WiFi Stack x . Protected security watchdog allows remote control Secure Storage Application x Protocol Crypto . Protected side can reliably reset exposed TLS Library boxes to a clean state x Keys Crypto API PRNG Device Management Secure ID . The device attack surface is massively Diagnose x reduced as a result 19 Enable fast innovation . Modules on the critical side require strong security coding practices . The critical code rarely changes Exposed Critical BLE Stack Firmware Update . Exposed code can be developed rapidly: WiFi Stack Secure . Faster time to market Application Storage . Quick innovation cycles for the exposed boxes Protocol Crypto . Still a secure product TLS Library Keys Crypto API PRNG . Firmware updates can be reliably enforced Device Management Secure ID even over broken or malware-infected Diagnose firmware 20 “Even the easiest to develop type of Endpoint device must behave in a reliable, high quality, and secure manner because it is expected to participate in a network that could eventually span up to millions of devices in size” GSMA IoT Security Guidelines, 2016 21 © ARM 2015 Trusting little data 22 Little Data Enables Big Data mbed OS mbed Device Server IoT Service or App IP and Web to the edge End-to-End Security, Web, Data Objects & Management Little Data BIG DATA 23 Lifecycle Security Directory and Subscription Security, Admin and Multi-tenancy Data Flow Management – RESTful and Publish/Subscribe Device Management – Lightweight M2M (LWM2M) mbed Device Interface – Open Web Standards Application Transfer Protocols – CoAP, HTTP, MQTT mbed TLS mbed Device Server Communication Security IPv4 IPv6, 6LoWPAN mbed TLS Device Management: LWM2M Secure Device Services Device Security mbed OS 24 Device security from Silicon to Services Application Code Libraries mbed OS API Communication Management mbed Client mbed OS Device Management mbed TLS Secure communications Core Schedulers Event BLE API IP Stack Energy Tasks Thread API mbed OS 6LoWPAN Thread BLE Drivers CMSIS-Core Debug Support Device Drivers mbed OS Secure Drivers SW Crypto Lifecycle Security Secure Lifecycle uVisor uVisor Hardware Interfaces Radio Secure Store ARM Cortex-M MCU Sensor Crypto Secure Devices Physical IP 25 mbed TLS . mbed TLS makes it trivially easy for developers to include cryptographic and SSL/TLS/DTLS capabilities in their embedded products, with a minimal code footprint. mbed TLS makes it easy to disable any feature during compilation thus reducing the footprint to only those features absolutely needed. Small Footprint and API’s with full documentation available . Open Source under Apache 2.0 license at https://tls.mbed.org/ . Suitable for use on Cortex-M and Cortex-A targets 26 uVisor . A tiny, hypervisor/microkernel-like security kernel at the foundation of mbed OS . Creates and enforces secure isolation boundaries within the OS, between different parts of the system . Enables secrets to be strongly protected against software and network-bourn attackers . Efficient hardware enforcement through the memory protection unit (MPU) . Efficient sandboxing for all platforms reduces the need for target-specific modifications 27 We need to protect all points in the chain Exploit a SW bug Crack password or account Key Rotation Robust Crypto Strong ID End-to-End Security Secure Efficient Crypto Manufacturing Capture device Steal device Trigger

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    31 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us