Cómo uno de los grupos de hackers más preciados de Vladimir Putin fue saboteado por el FBI
Los funcionarios del FBI anunciaron una sorprendente noticia el martes: después de pasar años monitoreando un malware excepcionalmente sigiloso que uno de los grupos de hackers más avanzados del Kremlin había instalado en cientos de computadoras en todo el mundo, los agentes descargaron un payload que provocó que el malware se desactivara solo.
El contraataque apuntó a Snake, el nombre de un malware multiplataforma en expansión que durante más de dos décadas se ha utilizado para espionaje y sabotaje. Snake es desarrollado y operado por Turla, una de las APTs más sofisticadas del mundo. APT es la abreviatura de Amenazas Persistentes Avanzadas, un término para equipos de hackers de larga duración patrocinados por estados-nación.
Bromas internas, burlas y dragones míticos
Si el hacking patrocinado por estados fuera béisbol, entonces Turla no sería solo un equipo de Grandes Ligas, sería un contendiente perenne de los playoffs. Los investigadores de varias empresas de seguridad coinciden en gran medida en que Turla estuvo detrás de las infracciones del Departamento de Defensa de Estados Unidos en 2008 y, más recientemente, del Ministerio de Relaciones Exteriores de Alemania y del ejército de Francia. El grupo también ha sido conocido por liberar malware sigiloso para Linux y usar enlaces de Internet basados en satélites para mantener el sigilo de sus operaciones.
Una de las herramientas más poderosas del arsenal de Turla es Snake, una especie de navaja suiza digital que se ejecuta en Windows, macOS y Linux. Escrito en el lenguaje de programación C, Snake se presenta como una serie de piezas altamente modulares que se construyen sobre una red masiva de igual a igual que vincula de manera encubierta una computadora infectada con otra. Snake, según el FBI, hasta la fecha se ha propagado a más de 50 países e infectado computadoras pertenecientes a gobiernos miembros de la OTAN, un periodista estadounidense que ha cubierto Rusia y sectores relacionados con infraestructura crítica, comunicaciones y educación.
Una breve lista de capacidades de Snake incluye una puerta trasera que permite a Turla instalar o desinstalar malware en computadoras infectadas, enviar comandos y filtrar datos de interés para el Kremlin. Snake, una pieza de software diseñada profesionalmente, utiliza varias capas de cifrado personalizado para encriptar comandos y datos exfiltrados. En la red P2P, los comandos y datos cifrados viajan a través de una cadena de puntos de salto formada por otras máquinas infectadas de una manera que dificulta la detección o el seguimiento de la actividad.
Orígenes del malware
Los orígenes de Snake se remontan al menos a 2003, con la creación de un precursor llamado “Uroburos”. Uroburos es una variante de ouroboros, un símbolo antiguo que representa a una serpiente o un dragón que se muerde la cola. Una imagen de baja resolución del filósofo y teólogo alemán Jakob Böhme, que aparece a continuación, en un momento sirvió como clave para una puerta trasera redundante que Turla instaló en algunos puntos finales hackeados.
El nombre de Uroburos se mantuvo en las primeras versiones del malware, incluso después de que se le cambió el nombre a Snake, por ejemplo, en la cadena “Ur0bUr()sGoTyOu#
“. En 2014, la cadena se reemplazó con “gLASs D1cK”. Otras cadenas aluden a bromas internas, intereses personales de los desarrolladores y burlas dirigidas a los investigadores de seguridad que analizan o contrarrestan su código.
El orgullo va antes de la destrucción
A pesar de la valentía de sus desarrolladores, Snake se encuentra entre las piezas de malware más sofisticadas jamás encontradas. El diseño modular, las capas de cifrado personalizadas y la calidad de alto calibre del código base han hecho que sea difícil, sino imposible, que el software antivirus lo detecte. Sin embargo, mientras los agentes del FBI continuaban monitoreando a Snake, descubrieron lentamente algunas debilidades sorprendentes. Por un lado, había una clave criptográfica crítica con una longitud principal de solo 128 bits, lo que la hacía vulnerable a los ataques de factorización que exponen la clave secreta. Esta clave débil se usó en los intercambios de claves Diffie-Hellman que permitieron que cada máquina infectada tuviera una clave única cuando se comunicaba con otra máquina.
En otro desliz, los desarrolladores de Snake se olvidaron de limpiar el código terminado para obtener una nueva versión de los artefactos de programación. La falla proporcionó información nueva e importante sobre cómo funcionaba el malware porque expuso los nombres de las funciones, las cadenas en texto plano y los comentarios de los desarrolladores. Algunos de los nombres de funciones y comandos no eliminados aparecen en la siguiente imagen:
Los investigadores finalmente descubrieron que el diseño HTTP personalizado utilizado por Snake para implementar el mantenimiento de la sesión permitía que el malware tratara varios paquetes HTTP como parte de una única sesión cifrada con la clave débil. El descubrimiento permitió a los investigadores tomar las huellas digitales de los datos enviados desde una máquina infectada con Snake a otra.
Contraataque
“La implementación única de HTTP de Turla funciona como una especie de firma, con el componente de metadatos de 8 bytes del paquete Snake-HTTP incrementándose de manera predecible”. En consecuencia, al observar tan solo dos o tres paquetes de HTTP, el FBI ha aprendido a identificar las computadoras que se comunican utilizando el Snake-HTTP de Turla y puede inferir a partir de este comportamiento que los implantes de Snake en las dos computadoras se han autenticado como malware Snake.”
Taylor Forry, agente especial del FBI
Utilizando los conocimientos adquiridos a lo largo de los años, los agentes del FBI finalmente desarrollaron Perseus, una aplicación que podía detectar cuándo dos máquinas se comunicaban entre sí mediante el HTTP personalizado de Snake. Perseus funciona imitando el comienzo del protocolo de autenticación de la sesión de Snake para “provocar un supuesto implante de Snake en otra computadora para proporcionar una respuesta que es única para las comunicaciones de la red de Snake”, explicó Forry. El intercambio es similar a una computadora que envía un “ping” a otra computadora para probar la conectividad de la red.
Sesiones de Snake
El FBI pasó a crear funciones que permitieron a Perseus neutralizarse a sí mismo. Como Forry escribió:
El FBI ha desarrollado la capacidad, utilizando PERSEUS, para suplantar a los operadores Turla de Snake y emitir comandos al malware Snake que lo desactivarán de manera efectiva y permanente.
Específicamente, el FBI ha desarrollado una técnica que explota algunos de los comandos incorporados de Snake.
El FBI ha probado exhaustivamente esta técnica y ha confirmado que es eficaz para deshabilitar el malware Snake y que la computadora que aloja el malware Snake no se ve afectada negativamente por esta técnica.
Los documentos judiciales brindan un relato intrigante, pero en última instancia incompleto, de cómo funcionó el contraataque contra Turla. Un aviso conjunto de seguridad cibernética emitido por las autoridades de todo el mundo proporciona algunos detalles adicionales.
El desliz de Turla no es la primera vez que un equipo de hackers respaldado por un estado-nación sufre un revés importante como resultado de un descuido involuntario o la falta de atención a los detalles. En 2010, un gusano informático agresivo conocido como Stuxnet infectó miles de computadoras y desató una novela policíaca que duró años. Resultó que era obra de la Agencia de Seguridad Nacional y sus homólogos de Israel. Se suponía que debía colarse en las instalaciones nucleares de Natanz en Irán sin ser detectado, sabotear centrífugas de uranio y desaparecer silenciosamente.
En 2015, la NSA fue golpeada nuevamente cuando salió a la luz una operación de la NSA abandonada en ese momento después de haber estado oculta durante más de 14 años.