¿Está Linux a salvo de un “ataque a la cadena de distribución”?

Una falsa actualización de CCleaner fue usada para infectar miles de computadoras mediante un “ataque a la cadena de distribución”.

La semana pasada se supo que miles de clientes de ASUS, y otras tres compañías no identificadas, habían recibido malware. Al menos en el caso de ASUS estaban disfrazados de actualizaciones de seguridad. Este tipo de ataques es conocido como “ataques a la cadena de distribución. ¿Estamos los usuarios de Linux a salvo?

Según la empresa de seguridad Kasperly, un grupo de delincuentes logró comprometer el servidor utilizado por el sistema de actualizaciones de ASUS. Esto les permitió la instalación de un archivo con malware, pero firmado con certificados digitales auténticos. La información también fue confirmada por Symantec.

¿Qué es un ataque a la cadena de distribución?

En un ataque a la cadena de distribución, el malware se inserta durante el proceso de ensamblado del hardware. También puede ocurrir durante la instalación del sistema operativo o actualizaciones posteriores. No olvidemos tampoco a los drivers o programas instalados posteriormente. Como indica el caso de ASUS, la comprobación de autenticidad mediante certificados digitales parece no dar resultado.

En 2017, CCleaner, un popular programa para Windows, sufrió un ataque a la cadena de distribución. Mediante una falsa actualización se infectaron más de dos millones de computadoras.

Tipos de ataques a la cadena de distribución

Ese mismo año se conocieron otros cuatro casos similares.  Los delincuentes se infiltraron en la infraestructura de servidores para distribuir falsas actualizaciones. Para realizar este tipo de ataques se compromete el equipo de algún empleado. Así logran acceder a la red interna y obtener las credenciales de acceso necesarias. Si trabajas en una empresa de software no abras presentaciones graciosas ni visites páginas porno en el trabajo.

Pero este no es la única forma de hacerlo.  Los atacantes pueden interceptar la descarga de un archivo, insertarle código malicioso y enviarlo al equipo de destino. Esto se conoce como interdicción de la cadena de distribución. Las empresas que no usan protocolos cifrados como HTTPS facilitan este tipo de ataques mediante redes Wi Fi y enrutadores comprometidos.

En el caso de empresas que no se tomen en serio las medidas de seguridad, los delincuentes pueden acceder a los servidores de descarga. Sin embargo, basta con que se usen certificados digitales y procedimientos de validación para neutralizarlos.

Otro foco de peligro son los programas que no descargan las actualizaciones como archivos independientes.  Las aplicaciones lo cargan y ejecutan directamente en la memoria.

Ningún programa se escribe desde cero. Muchos utilizan librerías, frameworks y kits de desarrollo provistos por terceros.  En caso de que alguno de ellos se vea comprometido, el problema se extenderá a las aplicaciones que lo utilicen.

Esa fue la forma en que se comprometió a 50 aplicaciones de la tienda de aplicaciones de Google.

Defensas contra los “ataques a la cadena de distribución”

¿Alguna vez compraste una tablet barata con Android? Muchas de ellas vienen con aplicaciones maliciosas precargadas en su firmware. Las aplicaciones preinstaladas a menudo tienen privilegios del sistema y no pueden ser desinstaladas. Los antivirus para móviles tienen los mismos privilegios que las aplicaciones normales, por lo que tampoco sirven.

El consejo es que no compres este tipo de hardware, aunque a veces no tienes opción. Otro camino posible es instalarle LineageOS o alguna otra variante de Android, aunque hacerlo requiere cierto nivel de conocimientos.

La única y mejor defensa que tienen los usuarios de Windows contra este tipo de ataque es un dispositivo de hardware. Prenderle velas al santo que se ocupe de este tipo de cosas y pedirle protección.

Sucede que ningún software de protección dedicado a los usuarios finales está en condiciones de prevenir este tipo de ataques.  O el firmware modificado los sabotea, o el ataque se hace en la RAM.

Es cuestión de confiar en que las empresas se hagan responsables de las medidas de seguridad.

Linux y el “ataque a la cadena de distribución”

Hace años creíamos que Linux era invulnerable a los problemas de seguridad. Los últimos años se demostró que no. Aunque siendo justos, esos problemas de seguridad fueron detectados y corregidos antes de que pudieran ser explotados.

Repositorios de software

En Linux podemos instalar dos tipos de software: libre y de código abierto o privativo. En el caso del primero, el código está a la vista de quien quiera revisarlo. Aunque esta es una protección más teórica que real dado que no hay las suficientes personas disponibles con el tiempo y los conocimientos para revisar todo el código.

Lo que si constituye una mejor protección es el sistema de repositorios. La mayoría de los programas que necesitas los puedes descargar desde los servidores de cada distribución. Y su contenido es cuidadosamente revisado antes de permitir la descarga.

Políticas de seguridad

El uso de un gestor de paquetes junto a los repositorios oficiales, reduce el riesgo de instalar software malicioso.

Algunas distribuciones como Debian se toman un largo tiempo para incluir un programa en su rama estable. En el caso de Ubuntu, además de la comunidad del código abierto, tiene empleados rentados verificando la integridad de cada paquete agregado. Muy pocas personas se ocupan de publicar actualizaciones. La distribución cifra los paquetes, y las firmas son comprobadas localmente por el Centro de Software de cada equipo antes de permitir la instalación.

Un enfoque interesante es el de Pop! OS, el sistema operativo basado en Linux incluido en los notebook de System76.

Las actualizaciones de firmware se entregan utilizando un servidor de compilación, que contiene el nuevo firmware, y un servidor de firma, que verifica que el nuevo firmware procede del interior de la empresa. Los dos servidores sólo se conectan a través de un cable serie. La falta de una red entre los dos significa que no se puede acceder a un servidor si la entrada se realiza a través del otro servidor

System76 configura varios servidores de compilación junto con el principal. Para que una actualización de firmware sea verificada, debe ser idéntica en todos los servidores.

Hoy en día, cada vez más programas se distribuyen en formatos autocontenidos llamados Flatpak y Snap. Dado que esos programas no interactúan con componentes del sistema, una actualización maliciosa no podrá causar daño.

De todas maneras, ni el sistema operativo más seguro está protegido de la imprudencia de los usuarios. La instalación de programas de origen desconocido, o una mala configuración de permisos puede causar exactamente los mismos problemas que en Windows.


Sé el primero en comentar