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 |
||
|---|---|---|
| 01_investigacion | ||
| 02_device_lab | ||
| assets | ||
| docs | ||
| .gitignore | ||
| GUIA.md | ||
| README.md | ||
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
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
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
| 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
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,6–3,6 kW · 70–85 dB · 6 fuentes C20 · 9 ventiladores |
| Térmico | 10–35 °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.