20
Android Virtualization from Sierraware Simply Secure

Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Android Virtualization from Sierraware

Simply Secure

Page 2: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Integration Challenges

DRM Mandates TrustZone TEE

Hypervisor provides the flexibility and security needed for BYOD

Power management, responsibility spread across Multiple entities. TrustZone Monitor and Android Guests need co-operate.

Efficient integration between TEE and Hypervisor is must to ensure seamless 1080p@60 video performance

High performance GPU stack allowing for the ability to run un-modified apps on games.

Page 3: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Dual AndroidAndroid -Primary

Kernel

GLES/EGL Proxy

Pulseaudio Proxy

VFB Driver IPC Driver

User Applications

OMX Proxy

Android Secondary (Guest1)

Kernel

SierraVisor – ARM Hypervisor

Media Player

Audio Flinger

Audio Flinger HW Interface

Media Recorder

Audio Proxy Driver

Android Java Applications

JNI Interface

EGL/GLES 2.0 Library

EGL/GLES Encoder

Gralloc Lib

Virtual Frame Buffer

Para virtualized IL

Media Player

Extractor

OMX

OMX Codec IL Proxy

Audio

Track

Video Track

Audio Source

Video Source

Context Manager

Media ExtractorContainers

Codec

Color Renderer

Virtual Network

Virtual Storage

Android Work and Play. Bring Your Own Device to work

SierraTEE Secure OS

Malware Protection

DRM & Crypto

Secure Boot

Page 4: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Dual Persona Android

Primary Android

Full access to all the devices like Camera, LTE, SD Card

Hypervisor overhead is below 0.5%

Near native performance on GPU benchmarks and CPU benchmarks like Lmbench

Secondary Android

Virtual Network, Virtual Block

Minimal changes to native Android stack

Full GPU access; all games and apps can use GPU

Gfxbenchmark with low overhead. Triangle, fill rate are near native performance.

Page 5: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Difficulties of Integrating TEE and Hypervisor

TEE needs to be aware of 2 level memory translation

Virtual Interrupts and VGIC are not directly visible for TEE

Asynchronous task scheduling. Hypervisor scheduler needs to work with TEE scheduler to ensure one guest doesn’t starve the other guest by residing in secure world for too long

Global Platform APIs and SMC calling conventions were not designed with multiple guests and TEE domains

Page 6: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

TrustZone Malware Protection

How to secure the devices from Malware ?

Offline FS Integrity

Scan Success

Insecure Android

Kernel Memory map

Interrupt Table

Page Table, TLB

Hypervisor Translated Memory

Normal World

TrustZone TEE

Kernel ScannerKernelSystemCall, KernelSyscallTable, KernelProcRoot, KernelProcRootIops, KernelProcRootLookup

Interrupt Table Scanner

Live Process Scanner

Filesystem, VFSFile System Scanner

Page 7: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Difficulties of Integrating Android on a Hypervisor

Linux Kernel is very conducive and been the most used guest operating system

Android on the other hand is heavily tied to the hardware– Media Player– DRM– Power Management– Disk and I/Oand so many other things. Paravirtualizing all them and making sure they play well with TEE requires good pre-plan and well thought out design.

Page 8: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Integrating Remote GPU Rendering and Android

Android is tightly integrated with OpenGLES & egl.

Even simple things like cursor movement rely on Android GPU

A 1080p frame is 7+MB of data. So moving 60 frames per second via para-virtualized drivers incurs huge cost penalty.

Page 9: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

GPU Rendering

App 1

OpenGL

EGL

AGL HGL

Surface

App 2

OpenGL

EGL

AGL HGL

Surface

SGL - Images

Surface

Gralloc

Surface

SurfaceFlinger

Render Loop

Layer StackLayer Stack

Rendering Stack

Color Buffer Manager

OpenGL/EGL Remote

Remote Rendering

Thread

Page 10: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Paravirtualizing Android Audio

Para virtualized

Media Player

Audio Flinger

Audio Flinger HW Interface

Recorder

/dev/eac –Proxy driver

Shared Memory & IPC

Master Guest0

Kernel

IPC Driver

Android Guest (Slave)

ALSA Driver

Audio Proxy

Pulse Audio

Page 11: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

DRM – Secure Video Data path

DRM Mandates that both compressed and un-encrypted content must be kept out of guest memory space

A Single Video Rendering path executed on TEE must serve multiple Guest OSes

Physical memory translation between guest and TEE has to handled by a Integrated Solution

Arbitration of resources is also important

Ability to share hardware codecs and devices like speakers between multiple guests in a secure way is critical

Page 12: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

SierraVisor – ARM Hypervisor

Para virtualized IL

Media Player

Extractor

OMX Codec IL Proxy

Audio Track

Video Track

Audio Source

Video Source

Context Manager

Media Extractor

Containers

Codec

Color Renderer

Android

KernelShared Memory

VFP

DRM: TEE and Hypervisor

SierraTEE

Secure Video Buffer

Translated Memory

HDCP, DRM Stub Agents

Video , Audio Data SyncPara virtualized IL

Media Player

Extractor

OMX Codec IL Proxy

Audio Track

Video Track

Audio Source

Video Source

Context Manager

Media Extractor

Containers

Codec

Color Renderer

Android

KernelShared Memory

VFP

Page 13: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Wireless Video/Miracast HDCP

Android

libstagefright

WIFI Display

HDCP API

Libstagefright_hdcp.so

Controller & Session

TEE Shared Queue

SierraTEE (Secure OS)

Crypto – RNG, RSA, AES, SHA256

TEE Shared Queue

HDCP 2.0

Cipher

SKE/AKE Key Management

Session

Time and Locality Check

SierraVisor – ARM Hypervisor

Page 14: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Other I/O Devices that needs to be para-virtualized

Mouse/Keyboard/Touch screen

USB, SDIO. External Storage

Android Debugging and Shell

Power Management like idle screen time out

LTE, Telephony stack

Page 15: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Virtio – Storage, Network, IPC

Para virtualized I/O: virtio provides an efficient abstraction for hypervisors and a common set of I/O APIs

Components of Virt I/O:- Full support for SDIO, NAND, USB based storage

devices- RPMSG for IPC between guests. Provide high

multi-gigabit performance. - Virtual Network with Jumbo frame support.

Ability to bridge Ethernet, WIFI, LTE and other network interfaces

Page 16: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Support and Services

Simply Secure

Page 17: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Software Suite

SierraVisor:

– Hypervisor for ARM

– Para-Virtualizaiton, TrustZone Virtualization, HW Virtualization

– 64 bit Support for Cortex A5x cores

– Linux, uCOS and various RTOS

SierraTEE/Micro Kernel

– TrustZone/GlobalPlatform TEE

– Android, uCos and various other Oses

– Runs on various CPUs from ARM11, Cortex A9, A15 and Cortex A53/57

SierraSHIELD: Integrity Management

– Linux Kernel Integrity Management

– Application Rootkit Scanner

– Incremental Log Scanner

DRM and Content Protection :

– Hardware accelerated media streaming and DTCP toolkit

– Integration with Microsoft Playready

Page 18: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Professional Services

Porting software to

processors

Integrating TEE

and SierraVisor

with applications

Developing drivers,

encoders or apps

Extensive

experience with

ARM processors

and kernel code

Android, Linux,

BSD, and VxWorks

development

Hardware & FPGA

Phased approach

from planning and

development to

testing & certification

Carefully defined

schedules and

communication with

customers to avoid

surprises & delays

Custom

Services

ARM Design

Expertise

Project

Management

Page 19: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Technical Support

Telephone and Email Support

Online technical documentation

Software updates for commercial products

Previews of upcoming releases

Ability to influence feature enhancements

Commitment to Quality

– Service Level Agreement (SLA) details support response

times and escalation levels

Page 20: Android Virtualization from Sierraware · DRM & Crypto Secure Boot. Dual Persona Android Primary Android Full access to all the devices like Camera, LTE, SD Card Hypervisor overhead

Thank You!

[email protected], +1 408 337 6400