Skip to content

Security: MethodWhite/DragonBornOS

Security

docs/SECURITY.md

DragonBornOS - Security Hardening Guide (miami)

🎯 Filosofía de Seguridad

Este documento detalla las mejoras de seguridad implementadas en DragonBornOS, inspiradas en GrapheneOS y aplicadas sobre LineageOS 22 (Android 15).


1. Integridad de Hardware y Verified Boot (AVB 2.0)

🔑 Claves Personalizadas

A diferencia de LineageOS estándar, DragonBornOS utiliza una cadena de confianza propia.

  • Acción: Inyectar PK.auth, KEK.auth y db.auth en 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.

🛡️ dm-verity & FEC

  • Configuración: Forzar dm-verity en 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.

2. Hardening del Kernel (miami-kernel)

🧠 Hardened Malloc

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 bionic y el kernel para soportar el aislamiento de memoria granular.

🚫 Sysctl & Kernel Modules

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ínea

3. Sandboxing y Permisos Granulares

📂 Storage Scopes

Implementar 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.

📡 Network & Sensors Toggle

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.

4. SELinux & Attack Surface Reduction

🔒 Strict SELinux Policies

  • Pasar de modo Enforcing genérico a uno Restrictivo.
  • Bloquear el acceso de aplicaciones de usuario a /proc, /sys y nodos de dispositivo innecesarios.
  • Restringir el acceso a ioctl para reducir la superficie de ataque del kernel.

🧹 Eliminación de Bloatware OEM

  • Limpieza total de binarios de Motorola que no sean estrictamente necesarios para el hardware (firmware de radio, sensores, etc.).

5. Local AI Audit (DragonBorn Engine)

🤖 CVE Scanner Integration

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.

📋 Checklist de Auditoría para Opencode

  1. Verificar AVB 2.0: ¿Está el sistema arrancando con claves custom?
  2. Prueba de Malloc: Ejecutar tests de stress de memoria.
  3. Banking Check: ¿Pasa Play Integrity con el Strong Keybox inyectado?
  4. SELinux Audit: Revisar logs de denied para asegurar que no hay fugas de permisos.

DragonBornOS Project - Security Team Fecha de Revisión: 2026-03-23

There aren't any published security advisories