Antes de que sigas leyendo, te aviso: si piensas que en este artículo vamos a aprovecharnos del incidente de CCleaner para darle ventaja a ESET, te vas a decepcionar. Sí, hablaremos de este incidente tan difundido en los últimos días, pero solo para ilustrar consideraciones e ideas subyacentes, más profundas, que permitirán entender el problema y cómo prevenirlo.
Hay muchas formas en las que Piriform pudo haber quedado expuesta al punto de que sus servidores distribuyeran versiones maliciosas de CCleaner (versión 5.33.6162) y CCleaner Cloud (versión 1.07.3191). Claro que todo es especulación hasta que se determine o se revele lo que realmente ocurrió.
Este artículo analiza algunos de los posibles escenarios que podrían haber derivado en este incidente, que tuvo impacto a nivel mundial. Cualquiera de los siguientes fallos de seguridad podría haberse producido (en ningún orden en particular):
- Un empleado descontento: desde que Avast adquirió Piriform, quizá alguien no se siente apreciado, alguien se tuvo que ir o simplemente no le gustaba trabajar para Avast y colocó un backdoor.
- Un atacante externo: un ciberataque haría que este sea otro caso de lo que denominamos "supply chain attack", como sucedió con M.E.Doc y la distribución de DiskCoder.C.
- Un ISP o un proxy comprometido: podría redirigir una descarga desde el sitio oficial usando una redirección HTTP hacia una ubicación temporal con la versión troyanizada, similar a lo que hacía FinFisher en sus nuevas campañas de espionaje. Este escenario es menos probable, ya que la versión alterada tenía firma digital, por lo que implicaría además una brecha.
- […]
Puede haber más (improbables) escenarios, incluso algunos en los que todavía ni siquiera pensamos.
por qué solo se troyanizó la versión de 32 bits es un misterio
Sin importar cómo se haya comprometido a Piriform, como CCleaner es una herramienta ampliamente utilizada, con una base de usuarios que alcanza los cientos de millones, el impacto será muy grande y a nivel global.
Sin embargo, hay un detalle bastante extraño, y es que solo la versión de 32 bits fue afectada; el efecto hubiese sido mucho más dramático si la versión de 64 bits también hubiese sido comprometida. Por qué sucedió esto es, por ahora, un misterio.
¿Fue que los cibercriminales solo pudieron firmar digitalmente esta versión? Quizá en el futuro cercano, la compañía descubra y publique los detalles del caso para que todos aprendamos y veamos si podría haber ocurrido lo mismo en cualquier otra empresa.
Esto último es importante, porque los ataques de este tipo, llamados supply chain attacks, todavía son raros pero se están incrementando. Podría pasarle a cualquiera, así que mejor aprender la lección de los ejemplos que ya ocurrieron para implementar mejores defensas. Dependiendo de la popularidad del software al que se apunte, el impacto puede ser significativo.
Mientras que el software contable M.E.Doc explotado en el caso de Diskcoder (Petya o No Petya) no es tan popular comparado con CCleaner, el impacto de aquel payload (DiskCoder.C) en las empresas afectadas fue alarmante. En el caso de la versión troyanizada de CCleaner, el impacto final y real todavía es desconocido, ya que el servidor de C&C se había dado de baja. Por lo tanto, no se sabe cuántas máquinas fueron afectadas.
Si observamos la telemetría de ESET, vemos que la versión troyanizada de CCleaner alcanzó las 338.000 detecciones, y el top 10 de países es:
- Rusia
- Alemania
- Perú
- Polonia
- Francia
- Ucrania
- Estados Unidos
- Los Países Bajos
- Italia
- España
De nuevo, esto aplica a la versión de 32 bits, mientras que la mayoría de los usuarios hoy en día tiene sistemas de 64 bits. Pero dado que estos países son bastante grandes, si asumimos que la aplicación CCleaner tiene una distribución geográfica normal, cada país tiene aproximadamente el mismo porcentaje de personas afectadas. Esto es preocupante, porque demuestra que el compromiso de un software popular puede tener un impacto mundial.
Afortunadamente, en seguridad tenemos un ecosistema diverso, pero piensa en lo que podría pasar si tuviéramos un ecosistema monolítico con un solo proveedor de seguridad. Quien quisiera troyanizar una versión de una aplicación popular solo tendría que evadir ese único producto de seguridad.
Por una cosa u otra, las personas sienten la necesidad de "limpiar" su registro, aunque raramente resulta en una mejora en el desempeño de su equipo. Microsoft no recomienda ni tiene soporte para utilidades de limpieza del registro; una importante razón por la que desalienta su uso es que pueden tener un impacto negativo en el sistema:
Un registro de Windows dañado puede exhibir una variedad de síntomas incluyendo excesivo uso de CPU, arranque y apagado más lento, mal funcionamiento de aplicaciones o que el equipo se tilde en ocasiones aleatorias. Estas interrupciones y suspensiones aleatorias pueden en última instancia conducir a la pérdida de datos debido a la incapacidad de los sistemas para guardar los datos en la ubicación de almacenamiento durante el evento.
Lo que es más interesante, el artículo también dice:
Algunos programas disponibles gratuitamente en Internet pueden contener spyware, adware o virus.
Este incidente debe servir como un recordatorio de que realmente no hay tal cosa como software gratuito: siempre que no te cueste dinero, tú y tus datos podrían ser la moneda de pago.
Sin embargo, el peligro subyacente de esta declaración es que está socavando la importancia de y la confianza en el software (gratuito), algo reseñado en el reciente artículo de Electronic Frontier Foundation (EFF), "Attack on CCleaner Highlights the Importance of Securing Downloads and Maintaining User Trust".
Por favor, mantén la fe en tu software, gratuito o lo que sea, y en las compañías que lo producen, y asegúrate de mantenerlo actualizado. Sí, el riesgo de un ataque de cadena de suministro siempre está ahí, y tal vez incluso es un riesgo creciente, pero no mantener el software actualizado aumenta significativamente el riesgo.
Para los desarrolladores de software, incluyendo ESET, esta es otra llamada de atención para mantener nuestros protocolos seguros y así evitar ataques a la cadena de suministro, para verificar cada paso, asegurándose de que el software adecuado está firmado digitalmente y puesto a disposición del usuario.
La industria de la seguridad ha estado (legítimamente) predicando sobre la adición de capas de seguridad utilizando técnicas como 2FA (doble factor de autenticación), pero por supuesto la industria en sí debería salvaguardar las líneas de suministro y de distribución, y los sistemas internos. 2PA (2 People Authentication), similar al mecanismo Two-Man rule, sería un buen comienzo.