Mobile Platform Security: OS Hardening and Trusted Execution Environment. Onur Zengin Lead Security TRUSTONIC

Similar documents
Sierraware Overview. Simply Secure

Building Blocks Towards a Trustworthy NFV Infrastructure

<t base Trusted Application Development

OMAP platform security features

Mobile Platform Security Architectures A perspective on their evolution

Android Virtualization from Sierraware. Simply Secure

Session ID: Session Classification:

Comprehensive Security for Internet-of-Things Devices With ARM TrustZone

Trustworthy Computing

M-Shield mobile security technology

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

A Perspective on the Evolution of Mobile Platform Security Architectures

Mobility, Security and Trusted Identities: It s Right In The Palm of Your Hands. Ian Wills Country Manager, Entrust Datacard

CHANCES AND RISKS FOR SECURITY IN MULTICORE PROCESSORS

BlackBerry 10.3 Work and Personal Corporate

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

Windows Phone 8 Security Overview

Embedding Trust into Cars Secure Software Delivery and Installation

BUSINESS PROTECTION. PERSONAL PRIVACY. ONE DEVICE.

ios Security Decoded Dave Test Classroom and Lab Computing Penn State ITS Feedback -

Software Token Security & Provisioning: Innovation Galore!

Example of Standard API

Berlin Institute of Technology FG Security in Telecommunications

A Perspective on the Evolution of Mobile Platform Security Architectures

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

BlackBerry 10.3 Work Space Only

High Performance or Cycle Accuracy?

Navigating Endpoint Encryption Technologies

BitLocker Drive Encryption Hardware Enhanced Data Protection. Shon Eizenhoefer, Program Manager Microsoft Corporation

Remote 2014 Monitoring & Control. Securing Mobile Devices November 7 th 2014

Hardware accelerated Virtualization in the ARM Cortex Processors

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

How Secure is Authentication?

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

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

EMV-TT. Now available on Android. White Paper by

Windows Server Virtualization & The Windows Hypervisor

That Point of Sale is a PoS

Operating System Security

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Using Linux in Medical Devices: What Developers and

Embedded Java & Secure Element for high security in IoT systems

Windows 7. Qing Liu Michael Stevens

Intel Identity Protection Technology Enabling improved user-friendly strong authentication in VASCO's latest generation solutions

Exploiting Trustzone on Android

Analysis of advanced issues in mobile security in android operating system

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

Red Hat. By Karl Wirth

2014 Teradici Corporation.

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

AppSecUSA New York City 2013

Computer Security: Principles and Practice

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

OWASP Spain Barcelona 2014

How Secure is Authentication?

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

ARM TrustZone and KVM Coexistence with RTOS For Automotive

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Device-Centric Authentication and WebCrypto

Android on i.mx Applications Processors

Android Security Data from the Frontlines

Windows Phone 8 Security deep dive

Cloud Security is a First Principle:

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

Key & Data Storage on Mobile Devices

Patterns for Secure Boot and Secure Storage in Computer Systems

Business Protection. Personal Privacy. One Device. Enhanced Security for Your Network and Business Intelligence.

Hi and welcome to the Microsoft Virtual Academy and

Start building a trusted environment now... (before it s too late) IT Decision Makers

Securely Yours LLC We secure your information world. www. SecurelyYoursllc.com

Oracle Solaris Security: Mitigate Risk by Isolating Users, Applications, and Data

Technical Brief Distributed Trusted Computing

IOMMU: A Detailed view

Introduction. PCI DSS Overview

Virtual Machine Security

The 4 forces that generate authentication revenue for the channel

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Compromise-as-a-Service

Symbian phone Security

MOBILE SECURITY. As seen by FortConsult. Lars Syberg Head of Security Services

Security Technology for Smartphones

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Mobile App Containers: Product Or Feature?

Multi-factor authentication

COS 318: Operating Systems. Virtual Machine Monitors

UNCLASSIFIED CPA SECURITY CHARACTERISTIC REMOTE DESKTOP. Version 1.0. Crown Copyright 2011 All Rights Reserved

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

Intel Software Guard Extensions(Intel SGX) Carlos Rozas Intel Labs November 6, 2013

Locking down a Hitachi ID Suite server

Security Security by Separation

NXP s Solution to ecall Brussels, October 19 th, 2010

BM482E Introduction to Computer Security

Overview of Windows 10 Requirements for TPM, HVCI and SecureBoot

How to Secure Infrastructure Clouds with Trusted Computing Technologies

A M D DA S 1. 0 For the Manageability, Virtualization and Security of Embedded Solutions

Introduction to Trusted Execution Environments (TEE) IY5606

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Floodgate Security Framework

S E P T E M B E R

TNC: Open Standards for Network Security Automation. Copyright 2010 Trusted Computing Group

Transcription:

Mobile Platform Security: OS Hardening and Trusted Execution Environment Onur Zengin Lead Security Engineer @ TRUSTONIC

Agenda Attack Types on a Platform Platform Security Components Operating System Security OS Security: Linux Questions on OS security Motivation for Isolation HW Components for Secure Code Execution Trusted Execution Environment TEE Services and Use Cases (Authentication, RKP, Key Management, DRM and SIM Lock)

Attack Types on a Platform Hack Attack Attacking via software using malwares, spywares and vulnerabilities Does not need hands on the device. Remotely done and effective on masses. Shack Attack Targets certain platforms using vulnerabilities with complex attack techniques. Sometimes requires proximity to the device. Attack cost does not include hardware tampering. Some side channel attacks are used as shack attacks. More common Hack Attack Shack Attack More effective Lab Attack Requires possession of the device and a facility to perform the attack. The costliest and most complex of the attacks. Bus probing etc. Lab Attack

Platform Security Components Virtualizable Web and Mobile Applications SW Secure Element Trusted App 1 Trusted App 2 Trusted Applet REE (OS) Kernel TEE Kernel HW Secure Element TPM or Secure Co-Processor Hardware

Operating System Security Process Isolation (Virtual Address Spaces, Sand-boxing, Shared Memory, Limited IPC Traffic, Sockets) Discretionary Access Control (Object Access Control) Identity based access restriction for objects. Access permission is transferable between objects. Mandatory Access Control (Policy Based Access Control) Web and Mobile Applications Virtualizable SW Secure Element REE (OS) Kernel Memory Configuration (Non Executable Stack, Heap)

OS Security: Linux 1/3 Linux Security Extensions & Features Address Space Layout Randomization A Loader feature which loads the parts of the executable in non-contiguous order. Support for extended file attributes. (e.g. SELinux, SMACK extended file attributes.) Mandatory Access Control systems Integrity Measurement - IMA / EVM

OS Security: Linux 2/3 Package and Kernel Module Verification Kernel Module White Lists Limiting allowed modules in kernel. Disabling Dynamic Kernel Module Loading Disabling a kernel module from loading if attacker slips its own binary. Signed Application Package Managers (RPM, DPKG ) - Integrity and authenticity of the package is protected. Even confidentiality if sensitive information is included in the package.

OS Security: Linux 3/3 Compiler Options Position Independent Execution Libraries, heap stack are randomly located using ASLR but randomization of executable layout is done by PIE parameter. Stack Smashing Protection Canary values to pin the return address of the function on the stack. Fortify Source Calls for boundary checking functions instead of standard c functions without boundary check such as strcpy.

Food for Thoughts Is REE always safe with constant installation of new applications? Are attack surfaces on an OS easy and cheap to guard? Are both runtime and boot time security provided? Are sensitive operations (crypto, decoding, encoding, sign, verify) safe? Virtualizable? REE (OS) Kernel Web and Mobile Applications SW Secure Element Do all the parties in a mobile platform (i.e. OEM, Operator, OS vendor, Application Providers) provide their services in isolation? Is user's sensitive data (Bank id, fingerprint, Login information) safe?

Motivation for Isolation of Sensitive Code Execution REE if full of attack surfaces from kernel to Applications. Security frameworks have high complexity and dependencies. The weakest link can risk the entire system Maintenance of a complex security system is difficult and multiple bugs can complement to a successful attack while they are harmless when alone. Security policies are complex to design. Circular permission chains can cause policy breaches Sensitive operations need to be maintained independent from the rest of the applications.

Hardware Components for Secure Code Execution Trusted Platform Module Simple crypto capabilities with limited key storage capability. Used in laptops and desktops. Tamper resistant. Secure Element Subscriber Identity Module. Useful for platform independent identification. Crypto operations with tamper resistance. Low power and performance. Secure Co-Processors- External Hardware Entity with relatively high performance. Crpyto operations, limited secure storage capabilities. (Crypto Accelerators, Big Number Operation Accelerators such as NXP ZigBee, NFC solutions and AMD PSP). Tamper resistant. Trusted Execution Environment Microkernel controlled - ARM TrustZone Special instruction based - Intel SGX Trusted App 1 Trusted App 2 Trusted Applet TEE Kernel HW Secure Element TPM or Secure Co-Processor

Trusted Execution Environment Corresponds to a secure area of main processor of the system. Two virtual systems in one physical. SoC architectures highly benefit because of cost and power management ease. i.e. big.little, MP models. Capable of mastering system peripherals so that a system-wide isolation is facilitated Relatively high performance and support for 64 systems. Has to share one single core with the REE. Hack attacks and Shack attacks are protected in TEE. But timing attacks and side channel attacks (still possible to mitigate some) are not avoided. Virtualizable Web and SW Mobile Secure Applicatio?Element ns REE (OS) Kernel Trusted App 1 Secure Monitor Hardware TEE Kernel ARM TrustZone Design Trusted App 2 TEE Side can access REE side memory if mapping is possible.

Trusted Execution Environment: How Does ARM TrustZone Work User space application establishes a session and world shared memory for data sharing Once data is in place, the application notifies the driver via device api. Driver translates the notification message and lets related kernel module to issue a Secure Monitor Call. Secure Monitor handles the interrupt, configures some critical registers and switches the context to counterparting trusted application. The trusted application copies the data into a non-shared memory block, processes and returns the response to the shared memory. Trusted application issues a secure interrupt to switch context to normal world. Driver call Web and Mobile Applications TE Driver Shared REE (OS) Kernel Shared smc ioctl Memory Memory Secure Monitor Hardware ARM TrustZone Design Trusted App 1 TEE Kernel FIQ

Exisiting TEE Services Key management Secure crypto operations Verification and signing operations Biometrics and Simple authentication features.(fido like authentication) REE runtime memory protection Secure Code Execution Secure boot chain Secure storage Trusted User Interface Digital Rights Management

Done Authentication Service With Hardware Support FIDO like password free authentication is possible. Device authentication is possible. Fingerprint Authentication is possible: Scanning, Storing and Verification B a c k E n d Web and Mobile Applications REE (OS) Kernel Scan Verify Trusted App TEE Kernel Scan Done Store Done Fingerprint Scanner Secure Storage Hardware

Real-time Kernel Protection Runtime integrity check for REE kernel performed by TEE application. Code block of the kernel has to remain the same as boot time. Checks are performed periodically (watchdog timer) or patagonix (PTE non-exec, when attempted exception triggers to check) Web and Mobile Applications Shared REE (OS) Kernel Memory Trusted Integrity Check App TEE Kernel Hardware

Done Key Management Keys are stored and used respective to the applications owning them All of the keys are derived using RNG Keys are never exposed to the REE as well as cypto operations Android Key Master compatible technology(jbean) Heartbleed could be avoided B a c k E n d Web and Mobile Applications REE (OS) Kernel Key Gen / Store Verify Trusted App TEE Kernel Generate Done Store Done Random Number Generator Secure Storage Hardware

Done Digital Rights Management Content sharing and session key generation Encoding and decoding support Securing video engine and its bus. Storing and reusing session keys. Authentication of device B a c k E n d Web and Mobile Applications REE (OS) Kernel Receive content / header Session Established Trusted App TEE Kernel Hardware Decode & Place Done Read Decoded Done Trusted App (High Privilege ) Video Engine

Authenticate and Unlock SIM Lock Sim lock operations are enabled via TEE Proxying new unlock policy Device Authentication is done by TEE Security is directly related to GSM modem software B a c k E n d Web and Mobile Applications New Policy Update REE (OS) Kernel Unlock Trusted App TEE Kernel Read Policy Done GSM Modem Hardware

Thanks for your time. Any questions? Onur Zengin Lead Security Engineer @ Trustonic onurzengin (at) gmail (dot) com http://fi.linkedin.com/in/onurzengin/