Cualquier persona que haya seguido las noticias mundiales a principios de la década de 2010, y los informes sobre tecnología en particular, probablemente haya oído hablar de Stuxnet. Ese malware generó una gran cantidad de teorías de conspiración, con el detalle sorprendente de que algunas de ellas eran ciertas. El malware atacó las instalaciones nucleares iraníes y se cree que es el primer gusano digital que causó daños físicos directos en el mundo real. Un investigador de seguridad desconocido ha publicado ahora una ingeniería inversa del código fuente de Stuxnet en todo su esplendor.
El objetivo final del gusano, supuestamente alcanzado con éxito, eran los controladores industriales de Siemens que, según se informa, se utilizaban en la planta de enriquecimiento nuclear de Natanz en Irán. Una vez que llegó al objetivo, el payload de Stuxnet manipuló los convertidores de frecuencia en las centrifugadoras industriales, en un intento por dañar sutilmente los rotores, todo ello mientras mantenía al personal de la planta en la oscuridad al informar de un funcionamiento normal.
El repositorio contiene instrucciones de compilación para que los técnicos interesados puedan probarlo por sí mismos y aprender todo sobre su funcionamiento interno. Necesitarás una máquina virtual con Windows XP o Windows 7 y, por razones obvias, no deberías configurar ninguna conexión de red para ella. Para presenciar los efectos completos del payload en lugar de solo los mecanismos de propagación, necesitarás el software de Siemens apropiado y, idealmente, el hardware, aunque suponemos que las centrifugadoras a escala industrial no son exactamente comunes en los cajones de cables de los técnicos.

En su apogeo, Stuxnet se propagó a través de tres mecanismos. El principal vector de infección fueron los pendrives USB con accesos directos de Windows y archivos autorun.inf. Al conectar uno de esos pendrives, el simple hecho de ver el contenido de la unidad activaba inmediatamente la infección gracias a una vulnerabilidad de día cero.

Los sistemas infectados intentaban autónomamente propagar el gusano a través de la red utilizando una vulnerabilidad de día cero en el Print Spooler de Windows que permitía a un atacante escribir archivos del sistema en cualquier máquina que compartiera una impresora. También se copiaba en recursos compartidos de red accesibles. Para evadir las comprobaciones de firma de controladores de Windows, Stuxnet utilizó dos certificados digitales robados a Realtek y JMicron.
El gusano también tenía código para inyectarse en el software de Siemens, a través de la base de datos SQL Server de WinCC, e incrustar su código en archivos de proyecto de Step 7 que se ejecutaban automáticamente cuando los ingenieros los abrían. Dado que estaba casi garantizado que esos archivos se compartirían entre más de un ingeniero, resultó ser un excelente vector de infección interna que no dependía de tener control sobre los recursos compartidos de la red.
El paso final consistía en tomar el control de la DLL que se comunicaba con las centrifugadoras reales e inyectar código malicioso en los PLC (Controladores Lógicos Programables) de esas máquinas para manipular sigilosamente los rotores.
Stuxnet fue parte de la Operación Olympic Games, un supuesto esfuerzo coordinado entre Estados Unidos e Israel para tratar de frenar el progreso de Irán en la creación de armas nucleares en sus instalaciones de Natanz. La iniciativa aparentemente se ejecutó bajo las administraciones de Bush y Obama, y supuestamente fue una forma de disuadir a Israel de lanzar su propio ataque preventivo contra Irán. El software fue desarrollado presuntamente tanto por el Pentágono como por la Unidad 8200 de Israel, y se informó que logró desactivar alrededor del 10% de las centrifugadoras de Natanz al dañar gravemente sus rotores.
Sin embargo, el gusano tenía un error grave: no tenía suficientes comprobaciones sobre el entorno en el que se encontraba y no logró notar que ya no estaba en un entorno de red local. Cuando los ingenieros llevaron sus computadoras portátiles a casa, se escapó a Internet en general, momento en el cual los investigadores de seguridad de todo el mundo lanzaron un colectivo "vaya, eso es extraño" y procedieron a investigar. Afortunadamente, el gusano contenía una fecha de autodestrucción codificada fijada para el 24 de junio de 2012.
Vía Tom's Hardware.




