En los meses recientes y particularmente en los primeros meses de 2009 casi todos hemos escuchado hablar sobre el gusano Conficker a través de los medios de comunicación. Es probable también que muchas veces no quede totalmente claro por qué este gusano parece tan importante y por qué es distinto a otros. En este artículo se describe qué es conficker, su evolución y su impacto en redes de México.
El origen
El 20 de noviembre de 2008 se comenzó a propagar un gusano que aprovechaba la vulnerabilidad en el servicio de servidor de sistemas Windows documentada en el boletín de seguridad Microsoft MS08-067 que fue liberado de manera extraordinaria el 23 de octubre de 2008.
El nuevo gusano, sin embargo, no fue el primer “artefacto” conocido que aprovechaba la vulnerabilidad en el servicio de servidor y que permitía la ejecución de código de manera remota a través del envío de paquetes RPC diseñados especialmente al puerto 445/TCP de la máquina víctima. Desde septiembre de 2008 se distribuía un toolkit, que permitía explotar un nuevo hueco de seguridad en un componente de los sistemas Windows (llamado (RPC-DCOM), a un costo de 37 USD.
Los primeros intentos por vulnerar de forma masiva PCs a través del nuevo hueco de seguridad fueron relativamente infructuosos. Hasta el 23 de octubre de 2008 en que comenzó la propagación del gusano Conficker, o Downadup como también se le conoce.
La primera versión, conocida como Conficker.A, se propaga masivamente a través de la explotación de la vulnerabilidad documentada en el boletín MS08-067, buscando equipos vulnerables en la red.
Evolución
Conficker no es un gusano que únicamente busca propagarse e infectar otros equipos. Además del comportamiento de auto-propagación propia de un gusano, una vez que ha infectado un equipo, Conficker busca descargar archivos maliciosos adicionales o actualizaciones desde un conjunto de dominios que genera diariamente de manera aleatoria.
Este comportamiento permite conformar una botnet controlada de forma descentralizada con las instrucciones enviadas a los bots a través de la descarga de archivos desde los sitios web direccionados a través de dominios aleatorios.
Cada día, cada instancia de Conficker genera una nueva lista de dominios a los cuales buscará conectarse. Esta característica de operación se aprovechó también como elemento de mitigación, ya que a partir del análisis del binario, se descubrió el algoritmo de generación de los nombre de dominios y los responsables de los Top Level Domains (como NIC-MX en México) pudieron actuar de manera conjunta para registrar los nombres de dominio que usaría Conficker y redirigir el tráfico hacia sinkholes, que son instrumentos de mitigación y monitoreo. Los sinkholes han permitido “engañar” al gusano que busca actualizarse y, en lugar de conectarse a un sitio de actualización, se conecta a un equipo controlado en el que no se responde a sus peticiones de descarga de archivos y sólo se registran sus datos para identificar el equipo infectado.
Existen diversas variantes de Conficker que han ido surgiendo y cambiando desde la primera versión de Conficker.A. Desde noviembre de 2008 se han observado al menos 3 variantes de esta amenaza, de las cuales las versiones A y B han sido las de mayor impacto desde su aparición y hasta la actualidad. La variante B de Conficker agregó métodos de propagación que resultaron muy eficientes. Además de buscar la vulnerabilidad en el servicio de servidor de Windows, Conficker.B se propaga a través de recursos compartidos en red a través de NetBIOS. Busca recursos compartidos sin restricciones y si es necesario, realiza ataques de fuerza bruta para buscar vulnerar los objetivos. Además, implementa la propagación a través de dispositivos de almacenamiento USB, copiándose en el autorun.inf en los dispositivos removibles, lo que hace que el binario se ejecute cada vez que el dispositivo USB se conecta a un equipo.
Durante su evolución, Conficker también ha tenido vulnerabilidades significativas. Conficker.B implementó el uso del algoritmo hash MD6 para ofuscar la información que se transmitía entre las PCs infectadas y los sitios de control. El 15 de enero de 2009 el MIT publica una vulnerabilidad en MD6 y al mismo tiempo libera el parche. Esta vulnerabilidad “expone” la información transmitida entre sitios de control y bots. La ofuscación en los datos se implantó en Conficker para evitar que bandas rivales tomaran control de la botnet. La versión C de Conficker incluye el parche de la vulnerabilidad pero además incluye el intercambio de información a través de protocolos P2P entre bots, lo cual descentraliza totalmente el control de la botnet y complica su detección y monitoreo.
El siguiente gráfico muestra una línea de tiempo con la información más importante sobre la evolución de Conficker.
Gráfico 1. Evolución de Conficker
El impacto inicial y el potencial malicioso de Conficker hizo que muchas de las principales organizaciones relacionadas con la seguridad informática en el mundo canalizaran los esfuerzos de mitigación de esta amenaza a través de la creación del Conficker Working Group, desde donde han surgido muchas de las acciones de mitigación globales.
Conficker en México
En las redes de México hemos padecido y seguimos padeciendo el efecto de la propagación de Conficker en sus distintas versiones. A lo largo de estos meses hemos visto redes completas que en algún momento se vuelven prácticamente inoperantes debido a la actividad del gusano que, una vez habiendo infectado un equipo, se propaga rápidamente al resto de la red si en ella se encuentran equipos vulnerables o que comparten recursos sin ninguna restricción.
Desde finales de Marzo de 2008, UNAM-CERT realiza un monitoreo diario de la cantidad de equipos en redes de México que están infectados con alguna variante de Conficker. La evolución de la infección desde esa fecha se muestra en la gráfica 2.
Gráfica 2. Equipos afectados en México
De acuerdo a un censo realizado por SRI International, desde el inicio de la propagación de Conficker y hasta principios de marzo de este año, se había observado actividad del gusano en 151,861 direcciones IP distintas en redes de México. El país con mayor número de infecciones era China y en Latinoamérica Brasil, Argentina, Chile y Colombia superaban a México en número de direcciones IP infectadas.
Los países que se encuentran en los primeros 18 lugares en número de infecciones, de acuerdo a este censo, se listan en la siguiente tabla.
Conclusiones
Conficker y sus diversas variantes han mostrado el potencial malicioso que puede llegar a tener en la actualidad una amenaza informática que se propaga masivamente y cómo ésta puede evolucionar rápidamente para hacerse más eficiente en su operación. Algunas de las técnicas que usa Conficker para propagarse no son nuevas. Aprovecha de manera eficaz, una vez más, el eslabón más débil de la seguridad informática. La propagación inicial aprovechaba una vulnerabilidad conocida para la cual ya existía un parche. Otra forma muy eficiente de propagación de este gusano es a través del intercambio de dispositivos de almacenamiento USB, lo cual permite evadir la protección perimetral con que muchas organizaciones cuentan en la actualidad. Nos recuerda, por tanto, que la protección perimetral no es suficiente para asegurar los activos informáticos de una organización.
Por otro lado, la colaboración construida entre diversas organizaciones dedicadas a proveer productos y servicios de seguridad informática funcionó de manera notable para lograr contener el impacto de Conficker y representa una importante lección sobre la forma en que puede mitigarse una amenaza informática global de este tipo. En la contención de la amenaza participaron fabricantes de antivirus, organizaciones dedicadas al análisis de códigos maliciosos, analistas de amenazas informáticas, proveedores de Internet, proveedores de servicio de nombres, equipos de respuesta a incidentes, etc.