Overview
Syllabus
Intro
Attack patterns
OS modification methods
Device integrity detection the old Days
That's a low bar
Hardcoded checks
Attackers can easily disable detections
Attackers can easily feed checkers with bad data
Raising the bar
SafetyNet details
caveats
Criticism
SafetyNet JAR
SafetyNet modules
Example: device_state
SafetyNet Attestation: Overview
SafetyNet Attestation: Call Chain
SafetyNet Attestation: Request Attestation
SafetyNet Attestation Overview: Request Attestation
SafetyNet Attestation: Forward Data
SafetyNet Attestation: Attest Device & App
SafetyNet Attestation: Deliver Result
Ideal implementation
Attestation result validation
Check crypto!
cts Profile Match & basicIntegrity
SafetyNet and the Nonce
Handle errors!
Attestation: just an API Call away!?
API Failures...
Howto: App/APK Integrity
Implementation & Deployment Summary
SafetyNet vs. Android Versions
Android 4
Boot Loader Unlocked
Client-side response validation?
SuHide and Magisk
SafetyNet's Application Integrity Checks
Running Code on Android
ODEX Code Modification Attack: Overview (Generic)
Attacking ODEX files: all Android Versions
Attacking ODEX files without Root (Android 6)
ODEX file Attack via Dirtycow
Attack Impact
Fun time
Taught by
Black Hat