No description
Find a file
s1to d9919caafb Matizar la atestación: imitable por niveles, no a escala
La documentación cerraba el tema en "imposible". Es impreciso: la
imitación derrota comprobaciones de propiedades pero no de firma.

- Nueva subsección en capa_identidad.md que mapea cada veredicto de Play
  Integrity a imitable/no imitable y explica por qué: los niveles
  software se falsean, el de hardware no, y los keyboxes filtrados
  caducan porque Google los revoca. Redroid parte peor que un móvil
  rooteado por no tener TEE
- README: el cierre remite al matiz por niveles en vez de decir "no
  puede tenerla" a secas
- fuentes.md: Play Integrity, Key Attestation, Verified Boot y el paper
  de extracción de claves del Keymaster de Samsung
2026-08-08 20:15:50 +02:00
01_investigacion Matizar la atestación: imitable por niveles, no a escala 2026-08-08 20:15:50 +02:00
02_device_lab Ajustar al manual del M1000e, añadir diagramas y docs de operación 2026-08-08 20:04:00 +02:00
assets Ajustar al manual del M1000e, añadir diagramas y docs de operación 2026-08-08 20:04:00 +02:00
docs Ajustar al manual del M1000e, añadir diagramas y docs de operación 2026-08-08 20:04:00 +02:00
.gitignore Rebelión en la granja — investigación y laboratorio de dispositivos 2026-08-08 19:42:14 +02:00
GUIA.md Ajustar al manual del M1000e, añadir diagramas y docs de operación 2026-08-08 20:04:00 +02:00
README.md Matizar la atestación: imitable por niveles, no a escala 2026-08-08 20:15:50 +02:00

Rebelión en la granja

Laboratorio de dispositivos Android sobre un chasis de blades Dell PowerEdge M1000e, más la investigación sobre granjas de dispositivos que llevó a montarlo así.

Sin móviles físicos: cada dispositivo es un contenedor redroid — Android real sobre el kernel del blade.

Arquitectura

Arquitectura de la granja

Dell PowerEdge M1000e — 16 blades (8 arriba + 8 abajo)
│
├── blade-01 ................ coordinador: adb + fleet
│
└── blade-02 .. blade-16 .... nodos de carga
     └── Debian 12
          └── Docker
               └── N × redroid

     8 GB/blade  →  3 instancias  →   45 Android
    32 GB/blade  → 14 instancias  →  210 Android

Debian va directo sobre el hierro. Sin Proxmox, sin VMs, sin LXC anidado: con 8 GB por blade cada capa de hipervisor se come una instancia entera.

Hardware

Dell PowerEdge M1000e

Datos del manual del propietario del M1000e (Dell, modelo BMX01, rev. A06, oct. 2019). Dos exigencias del manual condicionan el proyecto entero: las seis fuentes y los nueve ventiladores son obligatorios, se usen 3 blades o 16. No se puede arrancar el chasis a medias.

Detalle en 02_device_lab/hardware_m1000e.md.

Software

Stack de software

Capa Tecnología
SO Debian 12 bookworm
Kernel binder_linux con devices binder,hwbinder,vndbinder (Debian no trae binderfs)
Contenedores Docker CE + Compose v2
Android redroid 13
Orquestación Ansible, solo ansible.builtin
Control adb sobre TCP + fleet
Red portmap (NAT) o macvlan (IP real de LAN por Fabric A)

Red

Los dos modos de red

Números

Capacidad 45 Android; 210 con la RAM ampliada
Chasis 10U · 44,0 × 44,7 × 75,5 cm · 200,5 kg cargado
Consumo 2,63,6 kW · 7085 dB · 6 fuentes C20 · 9 ventiladores
Térmico 1035 °C en continuo
Coste 24/7 ~360 €/mes
Coste por ventanas de 4 h/día ~59 €/mes
Coste por dispositivo 8,0 €/mes; 1,8 €/mes con la RAM ampliada

Arranque

git clone https://gitea.laenre.net/hacklab/REBELION_EN_LA_GRANJA.git
cd REBELION_EN_LA_GRANJA/02_device_lab/ansible

sudo apt install ansible
cp inventory/hosts.yml.example inventory/hosts.yml    # poner las IPs reales

ansible-playbook playbooks/preflight.yml   # solo lectura, no toca nada
ansible-playbook site.yml
ansible-playbook playbooks/status.yml

El preflight va primero. Identifica el modelo de blade leyéndolo del DMI, comprueba si esas CPUs sirven para Android x86_64 y calcula cuántas instancias caben.

Para probar sin encender el chasis, el inventario incluye un bloque de piloto de un nodo que levanta todo el pipeline en un sobremesa.

Contenido

GUIA.md Estado, qué está verificado y qué no, siguientes pasos
docs/requisitos.md Eléctrico, físico, red, tiempo. Checklist de bloqueantes
docs/costes.md Consumo y coste por escenario
docs/seguridad.md 11 hallazgos, uno crítico
docs/usabilidad.md Cómo se opera la flota
02_device_lab/ansible/ La automatización
02_device_lab/hardware_m1000e.md El chasis según el manual
01_investigacion/ Mercado, stack, capa de identidad, marco legal

Por qué esto no sirve para plataformas sociales

La atestación de dispositivo dejó de ser estadística y pasó a ser criptográfica. Un Android certificado lleva una clave privada grabada en el TEE de fábrica, con cadena de certificados hasta una raíz de Google. Un contenedor no la tiene, y el nivel de integridad respaldado por hardware verifica una firma, no una apariencia: no hay imitación que valga. Los niveles que solo inspeccionan propiedades sí se falsean por software, pero con recursos que caducan y nunca a escala — el matiz por niveles está en 01_investigacion/capa_identidad.md.

Por eso el mercado vende teléfonos físicos de 400 $ en lugar de software para racks, y por eso este laboratorio sirve para probar apps propias y no para otra cosa.

Este repositorio no contiene operativa de alta masiva de cuentas. Contexto legal en 01_investigacion/legal_ue.md.