Why can't my app open that file? A deep dive into the Android app sandbox
summary
Explains why apps get FileNotFound or SecurityException by showing Android’s sandbox is Linux DAC plus SE Linux MAC: every app gets an app UID per package (10,000–99,999 range) and isolated /data/user directories, Android users map to Linux UIDs via user100,000+appID, and SE Linux uses type enforcement* labels. Demonstrations use dumpsys package, ps -n, ls -l/ls -z and /proc to show a file-demo app (UID 10089). Platform keys, system/privileged/persistent flags let OEMs bypass restrictions; third‑party apps cannot.
AI-written summary · about
chapters (11)
- 0:00Introduction and speaker intro
- 1:30What is the Android sandbox
- 5:45Linux process isolation basics
- 9:18File isolation with DAC
- 12:53Android app UIDs explained
- 16:32Practical file access demo
- 20:24Supplementary group IDs
- 22:08Android multi-user system
- 27:09SELinux mandatory access control
- 33:20Breaking sandbox restrictions
- 36:08Q&A and meetup plug
related talks
43mSecurity in Android Applications
48mSecuring the System: A Deep Dive into Reversing Android Pre-Installed Apps
37mStriptease of The Android Permissions System (en)
22mA Mirage of Safety: Bug Finding & Exploit Techniques of Top Android Vendor's Privacy Protection Apps
33mReverse - Engineering apps on the device - how far can we go?
29mSecuring Android Applications - The not so se…
26mStriptease of the Android permission system
32mApp-etite for Destruction: a look into the cookbook of an attacker
