Este documento detalla las mejoras de seguridad implementadas en DragonBornOS, inspiradas en GrapheneOS y aplicadas sobre LineageOS 22 (Android 15).
A diferencia de LineageOS estándar, DragonBornOS utiliza una cadena de confianza propia.
- Acción: Inyectar
PK.auth,KEK.authydb.authen el hardware. - Relocking: Una vez flasheada la ROM, el bootloader debe ser re-bloqueado (
fastboot flashing lock) usando las claves privadas del proyecto para garantizar que solo DragonBornOS pueda arrancar.
- Configuración: Forzar
dm-verityen todas las particiones críticas (system, vendor, product). - FEC (Forward Error Correction): Habilitar para prevenir corrupción de datos y ataques de persistencia física.
Sustituir el asignador de memoria estándar por el Hardened Malloc de GrapheneOS.
- Propósito: Prevenir ataques de heap spray, use-after-free y buffer overflow.
- Implementación: Parchear
bionicy el kernel para soportar el aislamiento de memoria granular.
Configuraciones críticas en /proc/sys/kernel/:
kernel.perf_event_paranoid = 3 # Bloquear acceso a eventos de performance
kernel.unprivileged_bpf_disabled = 1 # Deshabilitar eBPF para usuarios no root
kernel.kptr_restrict = 2 # Ocultar direcciones de punteros del kernel
dev.tty.ldisc_autoload = 0 # Prevenir carga automática de disciplinas de líneaImplementar el sistema de Storage Scopes para evitar que las aplicaciones soliciten el permiso READ_EXTERNAL_STORAGE de forma masiva.
- Funcionamiento: La app cree que tiene acceso a todo, pero el sistema solo le permite ver las carpetas que el usuario defina explícitamente.
Añadir interruptores de hardware-level (vía software) para:
- Network Permission: Denegar acceso a internet a nivel de UID de aplicación.
- Sensors Permission: Bloquear acelerómetro, giroscopio y otros sensores para evitar fingerprinting de movimiento.
- Pasar de modo
Enforcinggenérico a uno Restrictivo. - Bloquear el acceso de aplicaciones de usuario a
/proc,/sysy nodos de dispositivo innecesarios. - Restringir el acceso a
ioctlpara reducir la superficie de ataque del kernel.
- Limpieza total de binarios de Motorola que no sean estrictamente necesarios para el hardware (firmware de radio, sensores, etc.).
Uso obligatorio del scanner local (cve_scanner.py) antes de cada actualización de seguridad mensual.
- Modelos: Qwen 2.5 Coder 7B o DeepSeek R1 para análisis de binarios sospechosos.
- Verificar AVB 2.0: ¿Está el sistema arrancando con claves custom?
- Prueba de Malloc: Ejecutar tests de stress de memoria.
- Banking Check: ¿Pasa Play Integrity con el Strong Keybox inyectado?
- SELinux Audit: Revisar logs de
deniedpara asegurar que no hay fugas de permisos.
DragonBornOS Project - Security Team Fecha de Revisión: 2026-03-23