Una nueva herramienta de Linux tiene como objetivo protegerse contra los ataques a la cadena de suministro

En la estela de incidentes alarmantes como el ataque masivo de malware NotPetya de Rusia de 2017 y la campaña de ciberespionaje SolarWinds de 2020 del Kremlin, ambos llevados a cabo mediante el envenenamiento de pozos para la distribución de software, las organizaciones de todo el mundo han estado luchando para controlar la seguridad de la cadena de suministro de software. En general, y para el software de código abierto en particular, una defensa más fuerte se basa en saber qué software está ejecutando realmente, con un enfoque crucial en enumerar todas las pequeñas piezas que componen el todo y validar que son lo que deberían ser. De esa manera, cuando empaque una caja de reliquias de software y la guarde en un estante, sabrá que no habrá un micrófono en vivo o un Tupperware lleno de huevos rellenos en la caja durante años.

Crear un sistema para generar un manifiesto de lo que hay dentro de cada caja en cada sótano y garaje es un esfuerzo enorme, pero una nueva herramienta de la firma de seguridad Chainguard tiene como objetivo hacer precisamente eso para los “contenedores” de software que subyacen a casi todos los servicios digitales en la actualidad.

El jueves, Chainguard lanzó una distribución de Linux llamada Wolfi que está diseñada específicamente para la forma en que los sistemas digitales se construyen hoy en día en la nube. La mayoría de los consumidores no usan Linux, el famoso sistema operativo de fuente abierta, en sus computadoras personales. (Si lo saben, no necesariamente lo saben, como es el caso de Android, que se basa en una versión modificada de Linux). Pero el sistema operativo de código abierto se usa ampliamente en servidores e infraestructura en la nube en todo el mundo, en parte porque se puede implementar de maneras tan flexibles. A diferencia de los sistemas operativos de Microsoft y Apple, donde su única opción es cualquier sabor de helado que lancen, la naturaleza abierta de Linux permite a los desarrolladores crear todo tipo de sabores, conocidos como “distribuciones”, para satisfacer necesidades y antojos específicos. Pero los desarrolladores de Chainguard, que han estado trabajando en software de código abierto durante años, incluso en otras distribuciones de Linux, sintieron que faltaba un sabor clave.

“Lo que hemos hecho es crear una distribución que creemos que funcionará bien para las empresas que buscan abordar seriamente la seguridad de la cadena de suministro”, dice la ingeniera principal de Chainguard, Ariadne Conill. “Diferentes distribuciones tienen diferentes piezas de software que incluyen, son colecciones de software seleccionadas. Comenzar con una distribución de Linux que hace todo bien desde el principio, es una gran ventaja para que los desarrolladores de software hagan bien sus propias cosas”.

Piense en los contenedores de software como una casa construida a partir de un contenedor de envío. Todo lo que necesita para vivir está allí, pero puede recoger la casa contenedor y moverla a donde sea necesario. Si un sistema operativo es como los electrodomésticos, el cableado eléctrico, la plomería y otra infraestructura en la casa contenedor, eso es lo que Wolfi está investigando y detallando previamente para garantizar la seguridad de todo en su casa contenedor. Wolfi está diseñado para funcionar sin problemas con otras herramientas de Chainguard que ayudan a los desarrolladores a desarrollar y agregar software en su contenedor de manera segura. En otras palabras, es simple validar muebles y efectos personales y agregarlos al índice de inicio de su contenedor. De esa manera, si entran en su casa, es más fácil determinar qué sucedió y cómo. Y si alguna vez desea enviar su casa al extranjero, tiene un manifiesto detallado para mostrar la aduana.

“Es exactamente lo mismo con el software que con los bienes físicos: puede haber bienes de contrabando o falsificados que la gente trata de esconder y pasar sigilosamente”, dice Adolfo García, ingeniero de software de Chainguard. “Para el software, si no tiene la capacidad de recopilar la información en el momento de la compilación, se perderá mucho de lo que hay allí”.