
Android Security Internals
Nikolay Elenkov
- Editorial
- No Starch Press
- Año
- 2014
- Páginas
- ~432
- Nivel
- Avanzado
De qué trata
Tratado técnico y exhaustivo escrito por Nikolay Elenkov y publicado por No Starch Press que disecciona la arquitectura de seguridad y los subsistemas internos del sistema operativo Android, centrándose en Android 4.4 (KitKat) y el código fuente de AOSP (Android Open Source Project). Es un libro de nivel avanzado dirigido a investigadores de seguridad, ingenieros de sistemas operativos, desarrolladores senior de Android y analistas de malware que necesitan entender cómo funciona la plataforma por debajo del SDK oficial.
El texto analiza con minuciosidad el modelo de aislamiento de procesos (sandboxing) basado en identidades UID/GID del kernel Linux y el funcionamiento del bus de comunicación entre procesos Binder (Binder IPC, AIDL y tokens de autenticación). Describe la gestión de paquetes en PackageManagerService, la verificación criptográfica de firmas de aplicaciones APK y la administración multiusuario. Detalla los marcos criptográficos JCA y JSSE (apoyados en OpenSSL, Conscrypt y Bouncy Castle), el almacenamiento seguro de credenciales mediante el demonio keystore, KeyChain y AndroidKeyStore, así como los mecanismos de hardware como Secure Elements y NFC. Por último, desglosa la administración de dispositivos (DevicePolicyManager), el cifrado de disco completo (FDE), el arranque verificado, el sistema de recuperación y la integración del control de acceso obligatorio con SELinux / SEAndroid.
La obra no plantea la construcción de aplicaciones comerciales guiadas, sino el estudio analítico y forense del sistema operativo, apoyándose en la inspección directa del código fuente de AOSP, comandos de depuración mediante adb shell, dumpsys y el análisis de mecanismos de escalada de privilegios y root. Su gran virtud es desmitificar la caja negra de la seguridad de Android con un rigor técnico impecable y una claridad insuperable en la explicación de subsistemas críticos como Binder y SELinux, que siguen siendo la base del sistema operativo actual. Deja fuera las mitigaciones y componentes introducidos en versiones posteriores de Android (como Project Treble, APEX o Scoped Storage) y requiere conocimientos firmes previos de Linux, programación en C/Java y conceptos avanzados de sistemas operativos y criptografía.
- Android Security
- AOSP
- Binder IPC
- SELinux / SEAndroid
- Sandboxing
- Criptografía y JCA
- AndroidKeyStore
- Firmas APK
- Cifrado de disco (FDE)
- Linux Kernel
- Device Administration
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

