SlideShare a Scribd company logo
1 of 68
Download to read offline
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 1/68
Android Security InternalsAndroid Security Internals
Embedded World 2019Embedded World 2019
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 2/68
CC-BY-SA 3.0 - Attribution requirements and misc.,
PLEASE READ:
This slide must remain as-is in this specific location (slide #1),
everything else you are free to change; including the logo :-)
Use of figures in other documents must feature the below "Originals
at" URL immediately under that figure and the below copyright
notice where appropriate.
You are FORBIDDEN from using the default "About" slide as-is or
any of its contents.
Copyright (C) 2019, Opersys inc.
These slides created by: Karim Yaghmour
Originals at: http://www.opersys.com/training/
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 3/68
AboutAbout
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 4/68
Introduced Linux Trace Toolkit in 1999
Originated Adeos and relayfs
(kernel/relay.c)
Training, Custom Dev, Consulting, ...
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 5/68
TopicsTopics
1. The Chain / Root of trust
2. SoC Internals
3. General System Architecture
4. Secure Booting
5. TrustZone & Trust Execution Environments
6. HLOS / Linux
7. SELinux / SEAndroid
8. AOSP User-Space
9. Cloud & Network
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 6/68
The Chain / Root of trustThe Chain / Root of trust
Silicon
PCB
Software, etc.
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 7/68
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 8/68
Taken from "Thompson -- Reflections on Trusting Trust -- Turing Award
Lecture, 1984"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 9/68
/ Also at
/ Also at and
DDR analysis tools: , ,
Logic analyzer ( )
JTAG tools: , , ...
UART soldering -- see Ch13 "Android Hacker's Handbook"
,
iPhone chip "data recovery" tools: , ,
,
Chip programmers (and readers):
JTAGulator Adafruit
Bus Pirate Sparkfun Adafruit
Teledyne/Lecroy EPN Solutions
FuturePlus Systems
saleae
Lauterbach Flyswatter 2
Interposer film chip sockets
AliExpress AliExpress
pinterest pinterest
xeltek
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 10/68
USB analysis/hacking tools:
Any dev board w/ USB client interface running Linux
Cold boot attacks:
DMA attacks
And many, many more ...
Facedancer 2.0
Total phase
Wireshark
IDA
FROST
"Reverse engineering the PSP"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 11/68
Software, etc.Software, etc.
Early boot software
Trusted environment
HLOS/Linux
Android
Apps
Network
Cloud services
OTA
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 12/68
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 13/68
Soc InternalsSoc Internals
Overall arch
Resource power management
AXI/AHB/Amba/APB
Crypto hardware
eFuses
Internal memory
"Secure" bit
Protection units
Cores/TZ
Modem
Other cores
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 14/68
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 15/68
Taken from "ARM -- TrustZone Ready Program"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 16/68
Taken from "ARM -- Building a Secure System using TrustZone Technology"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 17/68
Taken from "ARM -- ARM1176JZ-S Technical Reference Manual"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 18/68
Taken from "ARM -- ARM1176JZ-S Technical Reference Manual"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 19/68
Taken from "LCU13: An Introduction to ARM Trusted Firmware"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 20/68
Taken from "LCU13: An Introduction to ARM Trusted Firmware"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 21/68
VulnerabilitiesVulnerabilities
Probing available pins
Tapping into JTAG / test points
Side channel attacks:
Cache attacks
Timing attacks
Power-monitoring attacks
Electromagnetic attacks
Acoustic cryptanalysis
Differential fault analysis
Data ramanence
Fault attacks (row hammer)
Optical
Decapsulation
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 22/68
Secure BootingSecure Booting
Overall flow
Execution location
Bootloader
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 23/68
1. Overall flow1. Overall flow
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 24/68
Taken from "LCU13: Deep Dive into ARM Trusted Firmware"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 25/68
2. Execution Location2. Execution Location
PBL & RPM FW: RPM ROM and RPM RAM
SBL1: OCM
SBL2: OCM
TZ Image: OCM
SBL3: System RAM
APPSBL (bootloader): System RAM
HLOS: System RAM
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 26/68
3. Bootloader / LK3. Bootloader / LK
Google doesn't mandate a specific bootloader
Vendors can use whatever they want, including U-Boot
Many Android bootloaders based on "Little Kernel":
15-20KB in size on ARM
Almost NO traces of Android functionality in main LK
Highly customized in every case
SoC vendor LKs have the goodies -- Linaro sample:
Detailed internals explanation for 410E/8016E:
https://github.com/littlekernel/lk/wiki/Introduction
https://git.linaro.org/landing-
teams/working/qualcomm/lk.git/
https://developer.qualcomm.com/download/db410c/little-
kernel-boot-loader-overview.pdf
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 27/68
Locked vs. unlocked:
Locked: Device cannot be flashed, verif OEM or user key
Unlocked: Device freely flashable, no sig verif done
Lock state communicated to TEE and persisted:
CRUCIAL: ties TEE key instantiation to lock state
Boot image sig verification -- built-in key
Bootloader signed by manufacturer key
Build system:
Android-like
Allows unmodified inclusion into bigger project
"apps" listed in table, started as threads
LK APIs provide: wait queues, mutexes, semaphores, timers, events,
threads
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 28/68
TrustZone & Trusted Execution EnvironmentsTrustZone & Trusted Execution Environments
Issues
Hardware-backing
Secure monitor
TEE services
TEEs on the market
TAs
REE communication
Secure storage
Attestation
Example Trusty TAs
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 29/68
1. Issues1. Issues
Lack of public documentation
Some common GP devices have disabled TZ
Linaro TZ emulator:
Optee on Hikey
"Arm TrustZone in QEMU"
"Testing QEMU Arm TrustZone"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 30/68
2. Hardware-backing2. Hardware-backing
Processor always boots in secure mode
Peripherals boot in most secure state
Peripherals can be configured to be secure
"Secure flag" communicated across internal buses
Caches are security-aware
Secure interrupts
Internal memory:
SRAM
Reset on reboot (avoid coldboot attacks)
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 31/68
Taken from "ARM -- Fundamentals of HW-based Security"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 32/68
3. Secure monitor3. Secure monitor
Must use SMC call to enter into monitor
SMC call only possible from kernel, not user-space
Switches to ARM Trusted Firmware (ATF)
ATF ensures the switch to the TZ OS
Register switching and saving done on call
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 33/68
Taken from "LCA 2014 -- Adopting ARM Trusted Firmware"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 34/68
4. TEE services4. TEE services
Completely separate execution from HLOS/Linux
OS with APIs, like other OSes:
Scheduling
IPC
Communication with HLOS
Secure storage
Not very open world
Some systems run two TEEs in the same time
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 35/68
5. TEEs on the market5. TEEs on the market
Qualcomm Secure Execution Environment (QSEE):
Looks like it's widely used
Trustonic/Kinibi
This one too
:
Google OSS TEE for Android
Based on Little Kernel
Used in some real products
:
Also OSS
Trusty
Optee
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 36/68
6. Trusted Applications6. Trusted Applications
Actual applications like any other OS
Can be loaded from HLOS by request to TEE
Isolated from one-another like HLOS processes
Ever-increasing number of them
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 37/68
7. REE communication7. REE communication
Done via driver on the HLOS/Linux side
Might involve a user-space daemon
TA<->kernel communication done in RAM
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 38/68
8. Secure storage / RPMB8. Secure storage / RPMB
Taken from "ARM -- Fundamentals of HW-based Security"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 39/68
9. Example Trusty TAs9. Example Trusty TAs
See
AVB resource manager
Keymaster
Gatekeeper
Fingerprint
Secure storage service
Access-controlled NVRAM
https://android.googlesource.com/trusty/app/
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 40/68
HLOS / Linux KernelHLOS / Linux Kernel
Security-related built-in mechanisms
Verified boot
Full disk encryption
File-based encryption
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 41/68
1. Security-related built-in mechanisms1. Security-related built-in mechanisms
Process isolation
DAC
LSM hooks
Device Mapper
Module signing
seccomp
ASLR
Keyring
Crypto API
HW-accelerated crypto
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 42/68
2. Verified Boot2. Verified Boot
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 43/68
3. Full Disk Encryption3. Full Disk Encryption
Taken from "ELCE 2017 -- Protecting your system from the scum of the
universe"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 44/68
4. File-Based Encryption4. File-Based Encryption
Taken from "ELCE 2017 -- Protecting your system from the scum of the
universe"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 45/68
SELinux / SEAndroidSELinux / SEAndroid
Technology generalities
Functionality generalities
Core Policies
Linux integration
Linux Security Module Hooks
Current Linux implementation
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 46/68
1. Technology generalities1. Technology generalities
Tremendous amount of unreferenced and undocumented baggage
Quite a few concepts and tenets required to begin understanding
Lumps together several key concepts that were developed and
discussed independently within security research communities over
several years/decades.
Almost invariably presented with no reference to its historical roots
Nomenclature has evolved over the years
Different people refer to different parts using different terms
Own authors/maintainers use several terms for same things
SEAndroid/SELinux have built-in simplifications over source
designs
Vast majority of explanations require absorbing semantic space as-is
Some explanations rely on over-simplified analogies
"life is too short to enable SELinux" -- Ted Ts'o
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 47/68
From: Linus Torvalds
Newsgroups: fa.linux.kernel
Subject: Re: Security fix for remapping of page 0 (was [PATCH] Change
Date: Wed, 03 Jun 2009 16:48:28 UTC
Message-ID:
On Wed, 3 Jun 2009, Rik van Riel wrote:
>
> Would anybody paranoid run their system without SELinux?
You make two very fundamental mistakes.
The first is to assume that this is about "paranoid" people. Security is
_not_ about people who care deeply about security. It's about everybody.
Look at viruses and DDoS attacks - the "paranoid" people absolutely depend
on the _non_paranoid people being secure too!
The other mistake is to think that SELinux is sane, or should be the
default. It's a f*cking complex disaster, and makes performance plummet on
some things. I turn it off, and I know lots of other sane people do too.
So the !SElinux case really does need to work.
Linus
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 48/68
2. Functionality generalities:2. Functionality generalities:
Denial by default
-EPERM
permissive vs. enforcing vs. disabled
"Security context" specified as:
user:mode:type:mls_level
Principle of least privilege
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 49/68
3. Core Policies3. Core Policies
MLS
TE
RBAC
UBAC/UID
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 50/68
3.1. Multi-Level Security (MLS)3.1. Multi-Level Security (MLS)
Taken from "Red Hat Enterprise Linux Deployment Guide"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 51/68
3.2. Type Enforcement (TE)3.2. Type Enforcement (TE)
Taken from "Usenix SSYM'03 -- Analyzing Integrity Protection in the SELinux
Example Policy"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 52/68
3.3. Role-Based Access Control (RBAC)3.3. Role-Based Access Control (RBAC)
"... provides a higher level abstraction to simplify user management."
Authorize each user as a set of roles
Authorize each role for a set of TE domains
Role field in security context in SELinux:
Maintained per RBAC model for each process
Set to a generic "object_r" for objects => i.e. unused
Role transition limited to certain TE domains per policy
Mostly unused in SEAndroid
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 53/68
3.4. User-Based Access Control (UBAC)3.4. User-Based Access Control (UBAC)
Issues w/ regular Linux UID model:
Often change to express permission or privilege, not user change
Change at any time w/ setuid calls w/o control over initialization
Arbitrarily changed by superuser
SELinux uses orthogonal UIDs:
Rigourous enforcement, unlike Linux
Policy limits UID changes to certain TE domains
Mostly unused in SEAndroid
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 54/68
4. Linux integration4. Linux integration
Taken from "USENIX/FREENIX 2001 -- Integrating Flexible Support for
Security Policies into the Linux Operating System"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 55/68
5. Linux Security Module Hooks5. Linux Security Module Hooks
Taken from "USENIX SSYM 2002 -- Linux Security Modules: General Security
Support for the Linux Kernel"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 56/68
6. Current Linux implementation6. Current Linux implementation
Taken from "Haines -- The SELinux Notebook (4th Ed.)"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 57/68
AOSP User-SpaceAOSP User-Space
adb
App signing
App permission system
OTA
Google's on-device security
Keystore/Keymaster
Logging in
DRM
Android for work
App reverse engineering
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 58/68
1. adb1. adb
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 59/68
2. App signing2. App signing
All apps signed
All certs used are self-signed -- no CA in Android ecosystem
Signature used by Package Manager:
Ensures replaced apps is signed with same key:
If >1 apps have same signature, can share same User ID
Signature used between apps to gate permissions:
granted to same-sig apps only
Can define permissions
Can manually check remote app signature
"Signature" permissions
"custom"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 60/68
3. App permission system3. App permission system
Managed by PackageManager System service
At boot time, PM's
grants
platform-signed apps perms they've requested.
Normal apps checked at runtime for dangerous perms now
System services check caller permissions on call reception
Global framework permission definitions:
checkCallingPermission()
enforceCallingPermission()
grantPermissionsToSysComponentsAndPrivApps()
frameworks/base/core/res/Android.mk
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 61/68
4. OTA4. OTA
Two paths:
Recovery: Relies on recovery image
A/B ("seamless"): Relies on:
update_engine user-space binary
boot_control HAL
Both use AOSP release tools
A/B supports "streaming" updates
A/B support is SoC-vendor dependent: Qualcomm, Mediatek
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 62/68
5. Google's on-device security5. Google's on-device security
Connected to Google backend
Runs on all official Android devices (> 1B)
Provides:
Verify apps:
Continuously running on all apps
Detects/removes harmful apps and warns
Attestation
Safe browsing (phishing, malware, etc.)
Recaptcha
SafetyNet
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 63/68
6. Keystore/Keymaster6. Keystore/Keymaster
Taken from "Google -- Keystore attestation"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 64/68
7. Logging in7. Logging in
Taken from "Google -- Authentication overview"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 65/68
8. DRM8. DRM
Taken from "Inforce -- Protecting your premium HD content with Widevine™
Digital rights management (DRM) on Inforce platforms
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 66/68
9. Android for work / EMM9. Android for work / EMM
Taken from "Google -- Develop a solution"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 67/68
Google's InfrastructureGoogle's Infrastructure
Taken from "Google -- Keeping Google Play safe"
2/28/2019 Android Security Internals
file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 68/68
Thank You!Thank You!
karim.yaghmour@opersys.com

More Related Content

What's hot

U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013Wave Digitech
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Opersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updatesGary Bisson
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debuggingUtkarsh Mankad
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact versionscalaconfjp
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - VoldWilliam Lee
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 

What's hot (20)

U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updates
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
 
AndroidとSELinux
AndroidとSELinuxAndroidとSELinux
AndroidとSELinux
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 

Similar to Android Security Internals

IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...
IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...
IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...IRJET Journal
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Opersys inc.
 
Android Overview
Android OverviewAndroid Overview
Android OverviewRaju Kadam
 
Release webinar architecture
Release webinar   architectureRelease webinar   architecture
Release webinar architectureBigData_Europe
 
April 2019 Patch Tuesday
April 2019 Patch TuesdayApril 2019 Patch Tuesday
April 2019 Patch TuesdayIvanti
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-howteam-WIBU
 
Forensic Tool for Android Mobile Device
Forensic Tool for Android Mobile DeviceForensic Tool for Android Mobile Device
Forensic Tool for Android Mobile DeviceIRJET Journal
 
Developing for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoDeveloping for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoYuri Visser
 
ROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsAndrei Kholodnyi
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsteam-WIBU
 
Android ak
Android akAndroid ak
Android ak88130359
 
Developer Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldDeveloper Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldVMware Tanzu
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
May Patch Tuesday Analysis 2019
May Patch Tuesday Analysis 2019May Patch Tuesday Analysis 2019
May Patch Tuesday Analysis 2019Ivanti
 
Visual Studio Tools for Apache Cordova (TACO) and Ionic
Visual Studio Tools for Apache Cordova (TACO) and IonicVisual Studio Tools for Apache Cordova (TACO) and Ionic
Visual Studio Tools for Apache Cordova (TACO) and IonicJustin James
 
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...LibreCon
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android ApplicationsInfosys
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday AnalysisIvanti
 

Similar to Android Security Internals (20)

IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...
IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...
IRJET- Porting Android 8.0 onto iMX6 Processor based Platform with Driving an...
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Release webinar architecture
Release webinar   architectureRelease webinar   architecture
Release webinar architecture
 
April 2019 Patch Tuesday
April 2019 Patch TuesdayApril 2019 Patch Tuesday
April 2019 Patch Tuesday
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-how
 
Forensic Tool for Android Mobile Device
Forensic Tool for Android Mobile DeviceForensic Tool for Android Mobile Device
Forensic Tool for Android Mobile Device
 
Developing for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoDeveloping for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder Burrito
 
ROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River Labs
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
 
Android ak
Android akAndroid ak
Android ak
 
Developer Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldDeveloper Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace Battlefield
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
May Patch Tuesday Analysis 2019
May Patch Tuesday Analysis 2019May Patch Tuesday Analysis 2019
May Patch Tuesday Analysis 2019
 
Resume
ResumeResume
Resume
 
Visual Studio Tools for Apache Cordova (TACO) and Ionic
Visual Studio Tools for Apache Cordova (TACO) and IonicVisual Studio Tools for Apache Cordova (TACO) and Ionic
Visual Studio Tools for Apache Cordova (TACO) and Ionic
 
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android Applications
 
Arm
ArmArm
Arm
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday Analysis
 

More from Opersys inc.

Android Automotive
Android AutomotiveAndroid Automotive
Android AutomotiveOpersys inc.
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals UpdateOpersys inc.
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with OreoOpersys inc.
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoTOpersys inc.
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Brillo/Weave Internals
Brillo/Weave InternalsBrillo/Weave Internals
Brillo/Weave InternalsOpersys inc.
 

More from Opersys inc. (20)

Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals Update
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with Oreo
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoT
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Project Ara
Project AraProject Ara
Project Ara
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Brillo/Weave Internals
Brillo/Weave InternalsBrillo/Weave Internals
Brillo/Weave Internals
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 

Recently uploaded (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

Android Security Internals

  • 1. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 1/68 Android Security InternalsAndroid Security Internals Embedded World 2019Embedded World 2019
  • 2. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 2/68 CC-BY-SA 3.0 - Attribution requirements and misc., PLEASE READ: This slide must remain as-is in this specific location (slide #1), everything else you are free to change; including the logo :-) Use of figures in other documents must feature the below "Originals at" URL immediately under that figure and the below copyright notice where appropriate. You are FORBIDDEN from using the default "About" slide as-is or any of its contents. Copyright (C) 2019, Opersys inc. These slides created by: Karim Yaghmour Originals at: http://www.opersys.com/training/
  • 3. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 3/68 AboutAbout
  • 4. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 4/68 Introduced Linux Trace Toolkit in 1999 Originated Adeos and relayfs (kernel/relay.c) Training, Custom Dev, Consulting, ...
  • 5. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 5/68 TopicsTopics 1. The Chain / Root of trust 2. SoC Internals 3. General System Architecture 4. Secure Booting 5. TrustZone & Trust Execution Environments 6. HLOS / Linux 7. SELinux / SEAndroid 8. AOSP User-Space 9. Cloud & Network
  • 6. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 6/68 The Chain / Root of trustThe Chain / Root of trust Silicon PCB Software, etc.
  • 7. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 7/68
  • 8. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 8/68 Taken from "Thompson -- Reflections on Trusting Trust -- Turing Award Lecture, 1984"
  • 9. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 9/68 / Also at / Also at and DDR analysis tools: , , Logic analyzer ( ) JTAG tools: , , ... UART soldering -- see Ch13 "Android Hacker's Handbook" , iPhone chip "data recovery" tools: , , , Chip programmers (and readers): JTAGulator Adafruit Bus Pirate Sparkfun Adafruit Teledyne/Lecroy EPN Solutions FuturePlus Systems saleae Lauterbach Flyswatter 2 Interposer film chip sockets AliExpress AliExpress pinterest pinterest xeltek
  • 10. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 10/68 USB analysis/hacking tools: Any dev board w/ USB client interface running Linux Cold boot attacks: DMA attacks And many, many more ... Facedancer 2.0 Total phase Wireshark IDA FROST "Reverse engineering the PSP"
  • 11. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 11/68 Software, etc.Software, etc. Early boot software Trusted environment HLOS/Linux Android Apps Network Cloud services OTA
  • 12. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 12/68
  • 13. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 13/68 Soc InternalsSoc Internals Overall arch Resource power management AXI/AHB/Amba/APB Crypto hardware eFuses Internal memory "Secure" bit Protection units Cores/TZ Modem Other cores
  • 14. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 14/68
  • 15. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 15/68 Taken from "ARM -- TrustZone Ready Program"
  • 16. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 16/68 Taken from "ARM -- Building a Secure System using TrustZone Technology"
  • 17. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 17/68 Taken from "ARM -- ARM1176JZ-S Technical Reference Manual"
  • 18. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 18/68 Taken from "ARM -- ARM1176JZ-S Technical Reference Manual"
  • 19. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 19/68 Taken from "LCU13: An Introduction to ARM Trusted Firmware"
  • 20. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 20/68 Taken from "LCU13: An Introduction to ARM Trusted Firmware"
  • 21. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 21/68 VulnerabilitiesVulnerabilities Probing available pins Tapping into JTAG / test points Side channel attacks: Cache attacks Timing attacks Power-monitoring attacks Electromagnetic attacks Acoustic cryptanalysis Differential fault analysis Data ramanence Fault attacks (row hammer) Optical Decapsulation
  • 22. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 22/68 Secure BootingSecure Booting Overall flow Execution location Bootloader
  • 23. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 23/68 1. Overall flow1. Overall flow
  • 24. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 24/68 Taken from "LCU13: Deep Dive into ARM Trusted Firmware"
  • 25. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 25/68 2. Execution Location2. Execution Location PBL & RPM FW: RPM ROM and RPM RAM SBL1: OCM SBL2: OCM TZ Image: OCM SBL3: System RAM APPSBL (bootloader): System RAM HLOS: System RAM
  • 26. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 26/68 3. Bootloader / LK3. Bootloader / LK Google doesn't mandate a specific bootloader Vendors can use whatever they want, including U-Boot Many Android bootloaders based on "Little Kernel": 15-20KB in size on ARM Almost NO traces of Android functionality in main LK Highly customized in every case SoC vendor LKs have the goodies -- Linaro sample: Detailed internals explanation for 410E/8016E: https://github.com/littlekernel/lk/wiki/Introduction https://git.linaro.org/landing- teams/working/qualcomm/lk.git/ https://developer.qualcomm.com/download/db410c/little- kernel-boot-loader-overview.pdf
  • 27. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 27/68 Locked vs. unlocked: Locked: Device cannot be flashed, verif OEM or user key Unlocked: Device freely flashable, no sig verif done Lock state communicated to TEE and persisted: CRUCIAL: ties TEE key instantiation to lock state Boot image sig verification -- built-in key Bootloader signed by manufacturer key Build system: Android-like Allows unmodified inclusion into bigger project "apps" listed in table, started as threads LK APIs provide: wait queues, mutexes, semaphores, timers, events, threads
  • 28. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 28/68 TrustZone & Trusted Execution EnvironmentsTrustZone & Trusted Execution Environments Issues Hardware-backing Secure monitor TEE services TEEs on the market TAs REE communication Secure storage Attestation Example Trusty TAs
  • 29. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 29/68 1. Issues1. Issues Lack of public documentation Some common GP devices have disabled TZ Linaro TZ emulator: Optee on Hikey "Arm TrustZone in QEMU" "Testing QEMU Arm TrustZone"
  • 30. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 30/68 2. Hardware-backing2. Hardware-backing Processor always boots in secure mode Peripherals boot in most secure state Peripherals can be configured to be secure "Secure flag" communicated across internal buses Caches are security-aware Secure interrupts Internal memory: SRAM Reset on reboot (avoid coldboot attacks)
  • 31. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 31/68 Taken from "ARM -- Fundamentals of HW-based Security"
  • 32. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 32/68 3. Secure monitor3. Secure monitor Must use SMC call to enter into monitor SMC call only possible from kernel, not user-space Switches to ARM Trusted Firmware (ATF) ATF ensures the switch to the TZ OS Register switching and saving done on call
  • 33. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 33/68 Taken from "LCA 2014 -- Adopting ARM Trusted Firmware"
  • 34. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 34/68 4. TEE services4. TEE services Completely separate execution from HLOS/Linux OS with APIs, like other OSes: Scheduling IPC Communication with HLOS Secure storage Not very open world Some systems run two TEEs in the same time
  • 35. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 35/68 5. TEEs on the market5. TEEs on the market Qualcomm Secure Execution Environment (QSEE): Looks like it's widely used Trustonic/Kinibi This one too : Google OSS TEE for Android Based on Little Kernel Used in some real products : Also OSS Trusty Optee
  • 36. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 36/68 6. Trusted Applications6. Trusted Applications Actual applications like any other OS Can be loaded from HLOS by request to TEE Isolated from one-another like HLOS processes Ever-increasing number of them
  • 37. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 37/68 7. REE communication7. REE communication Done via driver on the HLOS/Linux side Might involve a user-space daemon TA<->kernel communication done in RAM
  • 38. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 38/68 8. Secure storage / RPMB8. Secure storage / RPMB Taken from "ARM -- Fundamentals of HW-based Security"
  • 39. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 39/68 9. Example Trusty TAs9. Example Trusty TAs See AVB resource manager Keymaster Gatekeeper Fingerprint Secure storage service Access-controlled NVRAM https://android.googlesource.com/trusty/app/
  • 40. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 40/68 HLOS / Linux KernelHLOS / Linux Kernel Security-related built-in mechanisms Verified boot Full disk encryption File-based encryption
  • 41. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 41/68 1. Security-related built-in mechanisms1. Security-related built-in mechanisms Process isolation DAC LSM hooks Device Mapper Module signing seccomp ASLR Keyring Crypto API HW-accelerated crypto
  • 42. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 42/68 2. Verified Boot2. Verified Boot
  • 43. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 43/68 3. Full Disk Encryption3. Full Disk Encryption Taken from "ELCE 2017 -- Protecting your system from the scum of the universe"
  • 44. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 44/68 4. File-Based Encryption4. File-Based Encryption Taken from "ELCE 2017 -- Protecting your system from the scum of the universe"
  • 45. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 45/68 SELinux / SEAndroidSELinux / SEAndroid Technology generalities Functionality generalities Core Policies Linux integration Linux Security Module Hooks Current Linux implementation
  • 46. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 46/68 1. Technology generalities1. Technology generalities Tremendous amount of unreferenced and undocumented baggage Quite a few concepts and tenets required to begin understanding Lumps together several key concepts that were developed and discussed independently within security research communities over several years/decades. Almost invariably presented with no reference to its historical roots Nomenclature has evolved over the years Different people refer to different parts using different terms Own authors/maintainers use several terms for same things SEAndroid/SELinux have built-in simplifications over source designs Vast majority of explanations require absorbing semantic space as-is Some explanations rely on over-simplified analogies "life is too short to enable SELinux" -- Ted Ts'o
  • 47. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 47/68 From: Linus Torvalds Newsgroups: fa.linux.kernel Subject: Re: Security fix for remapping of page 0 (was [PATCH] Change Date: Wed, 03 Jun 2009 16:48:28 UTC Message-ID: On Wed, 3 Jun 2009, Rik van Riel wrote: > > Would anybody paranoid run their system without SELinux? You make two very fundamental mistakes. The first is to assume that this is about "paranoid" people. Security is _not_ about people who care deeply about security. It's about everybody. Look at viruses and DDoS attacks - the "paranoid" people absolutely depend on the _non_paranoid people being secure too! The other mistake is to think that SELinux is sane, or should be the default. It's a f*cking complex disaster, and makes performance plummet on some things. I turn it off, and I know lots of other sane people do too. So the !SElinux case really does need to work. Linus
  • 48. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 48/68 2. Functionality generalities:2. Functionality generalities: Denial by default -EPERM permissive vs. enforcing vs. disabled "Security context" specified as: user:mode:type:mls_level Principle of least privilege
  • 49. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 49/68 3. Core Policies3. Core Policies MLS TE RBAC UBAC/UID
  • 50. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 50/68 3.1. Multi-Level Security (MLS)3.1. Multi-Level Security (MLS) Taken from "Red Hat Enterprise Linux Deployment Guide"
  • 51. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 51/68 3.2. Type Enforcement (TE)3.2. Type Enforcement (TE) Taken from "Usenix SSYM'03 -- Analyzing Integrity Protection in the SELinux Example Policy"
  • 52. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 52/68 3.3. Role-Based Access Control (RBAC)3.3. Role-Based Access Control (RBAC) "... provides a higher level abstraction to simplify user management." Authorize each user as a set of roles Authorize each role for a set of TE domains Role field in security context in SELinux: Maintained per RBAC model for each process Set to a generic "object_r" for objects => i.e. unused Role transition limited to certain TE domains per policy Mostly unused in SEAndroid
  • 53. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 53/68 3.4. User-Based Access Control (UBAC)3.4. User-Based Access Control (UBAC) Issues w/ regular Linux UID model: Often change to express permission or privilege, not user change Change at any time w/ setuid calls w/o control over initialization Arbitrarily changed by superuser SELinux uses orthogonal UIDs: Rigourous enforcement, unlike Linux Policy limits UID changes to certain TE domains Mostly unused in SEAndroid
  • 54. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 54/68 4. Linux integration4. Linux integration Taken from "USENIX/FREENIX 2001 -- Integrating Flexible Support for Security Policies into the Linux Operating System"
  • 55. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 55/68 5. Linux Security Module Hooks5. Linux Security Module Hooks Taken from "USENIX SSYM 2002 -- Linux Security Modules: General Security Support for the Linux Kernel"
  • 56. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 56/68 6. Current Linux implementation6. Current Linux implementation Taken from "Haines -- The SELinux Notebook (4th Ed.)"
  • 57. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 57/68 AOSP User-SpaceAOSP User-Space adb App signing App permission system OTA Google's on-device security Keystore/Keymaster Logging in DRM Android for work App reverse engineering
  • 58. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 58/68 1. adb1. adb
  • 59. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 59/68 2. App signing2. App signing All apps signed All certs used are self-signed -- no CA in Android ecosystem Signature used by Package Manager: Ensures replaced apps is signed with same key: If >1 apps have same signature, can share same User ID Signature used between apps to gate permissions: granted to same-sig apps only Can define permissions Can manually check remote app signature "Signature" permissions "custom"
  • 60. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 60/68 3. App permission system3. App permission system Managed by PackageManager System service At boot time, PM's grants platform-signed apps perms they've requested. Normal apps checked at runtime for dangerous perms now System services check caller permissions on call reception Global framework permission definitions: checkCallingPermission() enforceCallingPermission() grantPermissionsToSysComponentsAndPrivApps() frameworks/base/core/res/Android.mk
  • 61. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 61/68 4. OTA4. OTA Two paths: Recovery: Relies on recovery image A/B ("seamless"): Relies on: update_engine user-space binary boot_control HAL Both use AOSP release tools A/B supports "streaming" updates A/B support is SoC-vendor dependent: Qualcomm, Mediatek
  • 62. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 62/68 5. Google's on-device security5. Google's on-device security Connected to Google backend Runs on all official Android devices (> 1B) Provides: Verify apps: Continuously running on all apps Detects/removes harmful apps and warns Attestation Safe browsing (phishing, malware, etc.) Recaptcha SafetyNet
  • 63. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 63/68 6. Keystore/Keymaster6. Keystore/Keymaster Taken from "Google -- Keystore attestation"
  • 64. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 64/68 7. Logging in7. Logging in Taken from "Google -- Authentication overview"
  • 65. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 65/68 8. DRM8. DRM Taken from "Inforce -- Protecting your premium HD content with Widevine™ Digital rights management (DRM) on Inforce platforms
  • 66. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 66/68 9. Android for work / EMM9. Android for work / EMM Taken from "Google -- Develop a solution"
  • 67. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 67/68 Google's InfrastructureGoogle's Infrastructure Taken from "Google -- Keeping Google Play safe"
  • 68. 2/28/2019 Android Security Internals file:///home/karim/opersys-dev/presentations/ewc-2019/android-security-internals/slides-main.html#/ 68/68 Thank You!Thank You! karim.yaghmour@opersys.com