
Los proyectos de código abierto comprometidos y utilizados para difundir malware pueden ser cosa del pasado. La iniciativa de firma de software de la Fundación Linux está destinada a ser un Let's Encrypt para las versiones de software.
El problema
La amplia difusión del código abierto es sorprendente. El software, las herramientas y las bibliotecas de código abierto se encuentran en casi todos los desarrollos de software no triviales en curso. Desafortunadamente, lo que hace atractivo el código abierto (usted tiene acceso al código fuente del software y cualquiera puede enviar correcciones de errores y nuevas funciones) presenta un vector de ataque que puede ser explotado por los actores de amenazas.
Los ciberdelincuentes han inyectado código malicioso en proyectos de código abierto que utilizan la popularidad del producto de código abierto como método de distribución para su propio malware. Por lo general, proporcionará a los atacantes una puerta trasera a las computadoras de la víctima. También puede ejecutar un registrador de teclas o descargar el software malicioso real de los servidores del ciberdelincuente.
Este tipo de ataque es una forma de ataque a la cadena de suministro. En un ataque a la cadena de suministro, las víctimas no se ven directamente comprometidas. La carga útil maliciosa se inyecta en algo en uno de los proveedores de la víctima. Cuando la víctima obtiene el objeto contaminado, la carga útil maliciosa se activa y la víctima se ve comprometida. El ejemplo más famoso de un ataque a la cadena de suministro fue el que se utilizó en Stuxnet ataque a una planta de enriquecimiento de uranio en Natanz, Irán.
El software de código abierto es una plataforma obvia para que los ciberdelincuentes la utilicen para este tipo de ataque. En respuesta, el Fundación Linux está lanzando sigstore. sigstore es un servicio gratuito—Desarrollado conjuntamente con Google, sombrero rojo, es Universidad de Purdue—Que los desarrolladores de software pueden usar para firmar digitalmente sus versiones de software.
sigstore protege a los consumidores de código abierto de ataques como ataques de confusión de dependencia. Estos ataques llevan a los administradores de paquetes a instalar una versión alojada remotamente de forma maliciosa de un recurso disponible localmente, como un archivo de biblioteca. Se le dice al administrador de paquetes que existe una dependencia en el software que se está instalando y que el archivo de la biblioteca local debe actualizarse. La versión contaminada alojada de forma remota tiene un número de versión más alto que satisface la dependencia falsa. Se realiza la "actualización" y el sistema se ve comprometido.
¿Cómo sigstore
Como todos los esquemas de firma y certificación, el valor de la firma o certificado está relacionado con el grado de confianza que las personas tienen en el emisor. sigstore usa la extensión Fundación OpenID Conexión OpenID que se basa en el estándar de la industria X.509 esquema para la definición y gestión de certificados. sigstore utiliza el protocolo de autenticación OpenID para vincular certificados a la identidad del desarrollador. Por lo general, esta es su dirección de correo electrónico u otro identificador de cuenta.
El cliente sigstore crea un par de claves de corta duración. Pregunta a la sigstore Infraestructura de Clave Pública (PKI) que verifica una verificación de OpenID Connect válida y emite un certificado si todo va bien. El certificado se crea utilizando los valores del par de claves que se utilizarán para firmar el software.
Se mantiene una pista de auditoría de certificados y firmas como un registro público inmutable. El registro se puede utilizar para verificar versiones de software y certificados. Proporciona una prueba de firma de acceso público en un archivo. Las firmas posteriores serán únicas porque también se registran la fecha y la hora. Esto proporciona una serie de garantías sobre el origen y la procedencia de los archivos de código abierto y permite que las políticas de seguridad basadas en firmas intercepten archivos que no pueden ser verificados ni confiables.
Si se inyecta código malicioso en un proyecto de código abierto y no es detectado por la administración de fusiones o los procesos de revisión de código y por pares, podría compilarse en un archivo binario. Si el binario se firma digitalmente, sigstore no será consciente de esa amenaza incrustada y, en teoría, podría certificar una versión maliciosa.
En esa circunstancia, el registro público de firmas podría ser un recurso para investigar el ataque y como medio de alerta temprana a otros sobre una pista comprometida. Se podrían construir sistemas que compararían los certificados binarios con una base de datos de versiones válidas comprobadas y no válidas.
Esto podría funcionar de manera similar a Sitio web ¿He sido Pwned?. Puede buscar manualmente su correo electrónico a través de su sitio web. Si se encuentra su correo electrónico, significa que se incluyó en una violación de datos. Se le informa qué violación de datos por qué sitio ha expuesto sus datos personales.
No es difícil imaginar sistemas que verifiquen el número de versión y la autenticidad de la firma con una base de datos de referencia que envió una decisión de aprobar o no aprobar con respecto a una versión de software firmada. Además, los desarrolladores pueden recibir una notificación cada vez que se utilice su dirección de correo electrónico o ID de OpenID Connect en un evento de firma. Si no han iniciado ese evento, debes investigar.
Encriptamos, pero por el software
en un Entrada de blog de marzo de 2021, Google describe sigstore como similar Vamos a cifrar, pero para las versiones de software. Let's Encrypt es una autoridad de certificación abierta y gratuita que genera Certificados SSL / TLS para sitios web HTTPS. Permite que dichos sitios web se autentiquen positivamente para que los visitantes puedan estar seguros de que el sitio web es realmente lo que dice ser. Una vez que se establece la identidad del sitio web, el navegador del visitante utiliza la información de clave pública en el certificado para cifrar las comunicaciones entre su computadora y el sitio web El proceso de obtención de un certificado de Let's Encrypt es automático.
El blog de Google continúa: "Al igual que la forma en que Let's Encrypt proporciona certificados gratuitos y herramientas de automatización para HTTPS, sigstore proporciona certificados y herramientas gratuitos para automatizar y verificar firmas de código fuente. Sigstore también tiene la ventaja adicional de ser compatible con registros de transparencia, lo que significa que todos los certificados y reclamaciones son visibles, detectables y verificables a nivel mundial ".
Domando el salvaje oeste
La forma en que se usa el software de código abierto hoy en día era inimaginable hace solo 10 años. La adopción del código abierto en el mundo más amplio del desarrollo se debe a algo más que la accesibilidad del código fuente, la calidad del código y los tiempos de respuesta para las correcciones de errores y parches.
El código abierto fue considerado con sospecha. Pero organizaciones obtener código abierto ahora. Se reconoce que el modelo de código abierto tiene más que ver con el marketing y la publicación que con la devoción a las muchas variaciones de Licencia pública general GNU (GLP).
Principalmente, es una forma de obtener su código o producto allí afuera. Obtener una GitHub cuenta, escriba su horario y dígale a la gente que está disponible. Ojalá crezca y esperemos que se formen bolas de nieve. ¿Quieres involucrarte en un proyecto de código abierto? Sencillo. Enviar una solicitud de fusión a su archivo Idiota repositorio u oferta para ayudar con su documentación.
El código abierto ha sido disruptivo de la manera más positiva. Pero también fue gratis para todos. El ecosistema de código abierto ha estado clamando por algo que pueda proporcionar transparencia, verificación y control a la cadena de suministro de software.
sigstore muestra todo el potencial para satisfacer esta necesidad con un sistema gratuito, fácil y escalable.
Descubre más contenido