domingo, 3 de octubre de 2010

StuxNet: Atacando el Mundo Real.


Salen tantos gusanos tan seguido que la mayoría no llegan a ser noticia fuera de algunos foros de seguridad, pero algunos llegan a los titulares por su peligrosidad. StuxNet es uno de ellos.

Hace unos cuatro meses, se descubrió la existencia de StuxNet, un gusano muy peculiar. Su objetivo no es tan “mundano” como el malware actual orientado a robar dinero de las víctimas. StuxNet quiere tomar control de sistemas Siemens tipo industrial llamados SCADA (Supervisory Control and Data Acquisition).

A mí antes de StuxNet no me decía nada eso de SCADA, así es que seamos más específicos. Todo apunta aparentemente a que el gusano StuxNet quería dañar plantas nucleares donde se usa SCADA. Más específico: la planta nuclear de Irán llamada Bushehr.

Ok. Ahora vayamos a unos cuantos detalles técnicos. El funcionamiento de StuxNet es complejo, tanto, que se ha manejado que un gobierno podría estar detrás de la creación de este gusano. Explotó en su momento tres debilidades de día cero de Windows (sin solución) y una debilidad zero-day del software SIMATIC de Siemens. Se propaga por ejemplo vía USB o recursos compartidos (network shares), contiene tecnología rootkit y usa certificados digitales -que al parecer fueron robados sólo para este propósito- para instalar sus propios drivers dentro de Windows. Tiene un tamaño de 1.5 MB, muy inusual para un gusano, lo cual –en este caso- significa que es altamente complejo.

StuxNet está diseñado para pegarle a sistemas industriales, por lo que se sospecha que el o los creadores del gusano saben manejar estos sistemas SCADA de Siemens y entienden su funcionamiento (por ejemplo aprovecharon una contraseña de SCADA que no se puede cambiar –hard coded-); de hecho es probable que hayan tenido acceso a un sistema industrial de “pruebas” donde hayan ensayado su “creación” para corregir posibles fallas o verificar el buen funcionamiento del bicho. Por otro lado, desgraciadamente, StuxNet también infecta equipos Windows de compañías y usuarios (esto último yo lo veo como un error del creador ya que un objetivo de este tipo de malware es permanecer en el anonimato); sin embargo no hay una aparente afectación (McAfee lo cataloga con criticidad Low) salvo que tu sistema estuviera controlando una planta nuclear.

Hay muchos más detalles técnicos en la red que no estaremos analizando aquí, como los de Symantec o el FAQ de FSecure, sin olvidar el de McAfee. Ya hasta hay video en YouTube donde se hace una pequeña demostración de las capacidades de StuxNet.

¿Qué significa StuxNet? Que tal vez no sea el primero de su tipo pero sí es el primero de su clase que se descubre y discute públicamente. Otra característica es que se aprovecha el software para “brincar” al mundo físico: un pedazo de código con el potencial de manipular los controles de una planta nuclear. No estamos hablando del robo del usuario/contraseña para entrar a la banca en línea ni de un Blaster que reinicia equipos; estamos hablando de plantas nucleares que por cierto se controlan con software (de Siemens u otros). ¿Sí ven la relación software-bug-gusano-planta nuclear?

No por nada la OTAN ha tomado recientemente cartas en el asunto: “Pero además de los ataques militares, Rasmussen menciona otras amenazas que podrían motivar la defensa en conjunto. Entre estas amenazas se habla de los ataques cibernéticos a los sistemas informáticos de los países miembro de la OTAN”.

StuxNet es un ejemplo de lo que se podría llegar a hacer. No sabemos de un impacto que de hecho haya logrado llevar a cabo (no se ha “volado” ninguna planta nuclear recientemente, cierto?), no sabemos quién lo creó ni quién es a ciencia cierta el objetivo de StuxNet; Siemens ha comentado que lo detectó en 15 clientes de SCADA y a nivel mundial se estima que 45,000 equipos Windows se infectaron (recordemos que estos últimos no son el objetivo de StuxNet).

Inclusive en algunos sitios se ha calificado a StuxNet como un arma. ¿Era el objetivo de StuxNet volar la planta nuclear de Irán? ¿Tenía otros objetivos? ¿Los cumplió? ¿Quién está detrás de StuxNet: EUA, Israel o algún país árabe tal vez? ¿Qué sucedió con la noticia de que arrestaron a algunas personas en Irán involucradas con StuxNet?

¿Es posible destruir una planta nuclear, dañar instalaciones eléctricas, manipular compuertas de una presa o impedir el flujo de agua potable con un malware programado para lograrlo? La respuesta es que es posible hacer todo lo que el software a cargo de estas plantas y sistemas de infraestructura puedan hacer. Si los sistemas de una planta nuclear no la pueden llevar al límite, tampoco lo podrá hacer un gusano (a menos, claro, que el gusano aprovechara un error o debilidad en el sistema de control que lo obligara a llevar a cabo acciones no previstas…pero bueno, dejémoslo hasta aquí).

Se cree que StuxNet empezó a operar desde el año pasado. ¿Cuántos otros malware de este tipo andan por ahí ahora o anduvieron antes de StuxNet? Lo que sí puedo decir es que veremos noticias de software bélico en el futuro que causará más que robo de dinero o inconveniencias. Desgraciadamente, esto no se ha acabado y a penas inicia dado que cada vez más software controla sistemas e infraestructura crítica y que –mucha de- la gente a cargo de ello no hace lo suficiente para controlar ese riesgo (se cree que StuxNet entró a la planta de Irán vía USB: ¿no pudieron prohibir estos dispositivos sabiendo que son un claro vector de ataque informático? ¿y si decidieron tener Windows, no lo pudieron endurecer? Por favor).

2 comentarios:

JuanCar dijo...

Sólo un apunte. Un sistema SCADA, no tiene porque ser SIEMENS, es como decir que un PC tiene que ser HP o lo que sea. Si es cierto que los ataques se han centrado en Siemens, pero no los del DQ, a través de cuatro vulnerabilidades.

Gracias por tu info!!!!

Fausto Cepeda dijo...

Cierto, pero no dije que SCADA=Siemens, y de hecho comento que hay otros: "estamos hablando de plantas nucleares que por cierto se controlan con software (de Siemens u otros)".
Hablo de Siemens porque Stuxnet explota una debilidad en este SW:SIMATIC.
Gracias x tu comentario!