«Aló, ¿es un hacker? No, es su televisor». OpenAI entrenó algoritmos para hackear dispositivos electrónicos

«Aló, ¿es un hacker? No, es su televisor». OpenAI entrenó algoritmos para hackear dispositivos electrónicos

Experimento: la rebelión de las máquinas en un televisor concreto.

image

El televisor se convirtió en un objetivo inesperado de un experimento con inteligencia artificial. Los desarrolladores dieron al sistema OpenAI Codex acceso limitado al navegador en un televisor Samsung Smart y propusieron comprobar si podía vulnerar el dispositivo por sí mismo y obtener el control total. Al final, el algoritmo no solo encontró una vulnerabilidad, sino que alcanzó el nivel root.

El experimento comenzó con el navegador ya comprometido. El código se ejecutaba dentro de su entorno restringido, y a partir de ahí todo dependía de las capacidades del sistema: había que explorar el dispositivo, entender qué interfaces estaban disponibles, encontrar un punto débil y eludir las protecciones. Los desarrolladores no indicaron dónde buscar la falla ni proporcionaron guiones de ataque prefabricados.

El algoritmo obtuvo acceso al código fuente del firmware y al propio televisor. Analizó registros, envió comandos al sistema y verificó los resultados. Cuando fue necesario, recopiló programas auxiliares y los ejecutó directamente en memoria, eludiendo la protección integrada de Tizen, que bloquea la ejecución de archivos no firmados.

Bastante pronto el sistema fijó su atención en los controladores llamados ntk*. Esos dispositivos resultaron accesibles para escritura por cualquier proceso, incluido el navegador. En el código fuente se encontró el problema clave: el controlador permitía especificar una dirección física de memoria arbitraria y mapearla en el espacio de usuario sin comprobar permisos.

En pocas palabras, el programa podía leer y modificar el contenido de la memoria RAM directamente. Ese tipo de acceso rara vez se deja sin restricciones, pero en este caso los desarrolladores del televisor lo dejaron abierto para todos. Para comprobar que el método funcionaba, el sistema primero obtuvo una dirección física válida mediante otro controlador y luego leyó y modificó con éxito los datos en esa dirección. Después quedó localizar en la memoria la estructura que gestiona los permisos del proceso.

El algoritmo escaneó la memoria, encontró los datos del proceso actual del navegador y cambió los valores de los identificadores de usuario y de grupo a cero. En sistemas basados en Linux esos valores representan privilegios máximos. Tras la sustitución de permisos, el navegador se convirtió de facto en el administrador del dispositivo.

La verificación final mostró el resultado esperado: el proceso obtuvo uid=0 y acceso total al sistema. Toda la cadena —desde el análisis del código fuente hasta la explotación— se realizó automáticamente, con algunas correcciones por parte de humanos cuando el sistema se desviaba o ejecutaba comandos de forma distinta a la esperada.

El autor subraya que no se trató de encontrar la vulnerabilidad inicial: el acceso al navegador ya se había obtenido previamente. La tarea era más sencilla: comprobar si la inteligencia artificial podía desarrollar el ataque hasta lograr la toma total del dispositivo. La respuesta fue concluyente.