Ir al contenido

¡Se acercan los certificados de 47 días! ¿Estás preparado?

Actúa ahora →

La nueva era de los ataques a la cadena de suministro: Desarrolladores de Python fueron hackeados en un sofisticado ataque a la cadena de suministro.

Ataques a la cadena de suministro

¿Sabías que, según el Informe de Investigación de Violaciones de Datos de Verizon de 2022 , los ataques a la cadena de suministro fueron responsables del 62% de los incidentes de intrusión en el sistema?

Los datos muestran que los ataques a la cadena de suministro pueden considerarse una de las formas más efectivas de comprometer a las organizaciones, ya que se dirigen a los eslabones más débiles de la cadena de seguridad. Estos ataques suelen comenzar comprometiendo a un socio de la cadena de suministro, como un distribuidor, un desarrollador o un proveedor.

Una vez dentro de la organización, los atacantes pueden robar datos confidenciales, dañar sistemas o incluso cerrar organizaciones enteras. En este blog, examinaremos uno de los eventos más recientes de un ataque a la cadena de suministro que afectó a varios desarrolladores de Python.

El ataque a la cadena de suministro: explicación

Ataque a la cadena de suministro de software

Varios desarrolladores de Python, entre ellos el responsable del mantenimiento de Top.gg , se infectaron con un programa malicioso que robaba información tras descargar un clon malicioso de una herramienta muy popular.

La herramienta se llama Colorama , una utilidad que permite que las secuencias de caracteres de escape ANSI (un estándar para la señalización en banda que controla la ubicación del cursor, el estilo de la fuente, el color y otras opciones en terminales de texto de vídeo y emuladores de terminal) funcionen en Windows y se ha descargado más de 150 millones de veces.

Los atacantes insertan software malicioso que luego se distribuye entre los usuarios. De esta forma, el malware infecta el sistema del usuario. Este proceso es similar a la creación de un producto falsificado que luce idéntico al original, pero que contiene componentes dañinos.

Configuración de un dominio espejo falso mediante typo squatting

Para ejecutar su ataque a la cadena de suministro, los piratas informáticos clonaron Colorama, insertaron código malicioso en él y colocaron la versión maliciosa en un dominio espejo falso, que se basaba en la ocupación de tipos (registro de un dominio que se parece mucho a un dominio legítimo) para engañar a los desarrolladores de Python y hacerlos confundir con el espejo legítimo "files.pythonhosted.org".

Por ejemplo, si el dominio legítimo es “ejemplo.com”, los atacantes podrían registrar “ejemplo1e.com” o simplemente “ejemplo.co”, aprovechándose de los usuarios que escriban mal la URL.

Secuestro de cuentas de alto perfil

Los intrusos crearon repositorios maliciosos en sus cuentas para distribuir el paquete de malware mientras secuestraban cuentas de alto perfil. Entre ellas, se encontraba la cuenta de GitHub "editor-syntax", que gestiona la plataforma de búsqueda y descubrimiento Top.gg para Discord, una comunidad con más de 1,700,000 miembros.

Utilizando la cuenta "editor-syntax", los intrusos realizaron una modificación maliciosa en el repositorio top-gg/python-sdk, añadiendo instrucciones para descargar el clon malicioso de Colorama e iniciando repositorios maliciosos de GitHub para aumentar su visibilidad.

La cuenta fue hackeada mediante cookies robadas, que los intrusos utilizaron para eludir la autenticación y realizar actividades maliciosas sin conocer la contraseña. Como resultado, varios miembros de la comunidad Top.gg se vieron comprometidos. Por ejemplo, pudieron alterar el repositorio de un popular proyecto de software para incluir una dependencia que descarga el código malicioso en lugar del paquete legítimo.

Ocultar código malicioso

Para ocultar el código malicioso en Colorama, los ciberatacantes añadieron numerosos espacios en blanco, desplazando el fragmento fuera de la pantalla para que no fuera visible durante las revisiones rápidas de los archivos fuente. Además, configuraron el código para que se ejecutara cada vez que se importaba Colorama. Esta técnica es similar a ocultar la letra pequeña de un contrato, desplazándola fuera de la página visible, con la esperanza de que nadie se desplace hacia abajo para leerla.

Procedimiento de infección

Una vez ejecutado el código malicioso, el procedimiento de infección continuó con varios pasos adicionales, como ejecutar y descargar código Python adicional y obtener las bibliotecas necesarias mientras se establecía la persistencia.

Finalmente, los sistemas de los desarrolladores se infectaron con malware capaz de registrar las pulsaciones de teclas y robar datos de múltiples navegadores, como Chrome, Edge, Brave, Opera, Vivaldi y Yandex, Discord, monederos de criptomonedas, sesiones de Telegram, archivos de ordenador e Instagram. Esto es similar a un ladrón que entra en una casa, registra las habitaciones (aplicaciones) y roba objetos valiosos (credenciales de datos).

Vulnerabilidades de firma de código y medidas de mitigación

1. Robo de certificados

Los ciberdelincuentes atacan los certificados de firma digital mediante diversos métodos, como el phishing, la ingeniería social o el compromiso de las autoridades de certificación (CA) . Una vez que el atacante obtiene un certificado robado , puede firmar software malicioso, garantizando así su legitimidad ante usuarios desprevenidos.

Los desarrolladores deben adoptar prácticas sólidas de gestión de certificados para mitigar este riesgo de manera eficiente, lo que incluye el almacenamiento seguro, las auditorías de certificados y la autenticación de dos factores.

Supongamos que existe una organización llamada Fintech Innovations Inc.; el almacenamiento seguro de certificados impide el acceso no autorizado a sus certificados de firma de código. La organización también realiza auditorías periódicas de certificados para garantizar que cada uno se utilice correctamente. Además, utiliza autenticación de dos factores para el acceso a los certificados, lo que reduce significativamente el riesgo de acceso no autorizado mediante credenciales comprometidas.

2. Entorno de compilación comprometido

Los ataques a la cadena de suministro suelen tener como objetivo los entornos de desarrollo de software. Al comprometer estos sistemas, pueden inyectar código malicioso en el producto final. Por lo tanto, los desarrolladores deben adoptar medidas de seguridad sólidas para sus entornos, incluyendo la monitorización continua, controles de acceso seguros y evaluaciones de vulnerabilidad.

La organización mencionada implementa una solución de monitoreo continuo que rastrea las actividades en tiempo real dentro de sus entornos de desarrollo y construcción. También aplica estrictos controles de acceso a sus entornos de construcción. Fintech Innovations Inc. también realiza evaluaciones periódicas de vulnerabilidades en el entorno construido para remediar e identificar posibles debilidades.

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Mejores prácticas para la firma de código seguro

Para mitigar los riesgos de la firma de código y protegerse contra los ataques a la cadena de suministro, las empresas deben implementar las siguientes mejores prácticas :

  • Gestión segura de claves

    Las organizaciones deben proteger las claves privadas utilizadas para la firma de código , garantizando su almacenamiento seguro y el acceso del usuario autorizado. Deben emplear un cifrado robusto, módulos de seguridad de hardware (HSM) y rotación periódica de claves para minimizar el impacto de una clave comprometida. Por ejemplo, Google es una organización reconocida que utiliza una gestión segura de claves para la firma de código, lo que le ayuda a protegerse de los ciberataques.

  • CLM, o Gestión del ciclo de vida de los certificados

    Las organizaciones deben establecer una estructura sólida para los procedimientos de emisión, revocación y renovación de certificados. Deben implementar procesos de verificación rigurosos al renovar o solicitar certificados. Además, deben supervisar y auditar los certificados en uso y revocar con prontitud cualquier certificado vencido o comprometido.

  • Seguridad del sistema de compilación

    Las organizaciones también deben reforzar las medidas de seguridad en todo el entorno construido, incluyendo sistemas de detección de intrusiones, control de acceso seguro y monitorización continua. Necesitan actualizar y aplicar parches regularmente a las herramientas de compilación y sus dependencias para mitigar las vulnerabilidades conocidas.

  • Integridad de la cadena de suministro

    Las organizaciones deben implementar controles estrictos a lo largo de todo el ciclo de vida del desarrollo de software, incluyendo la integración y el despliegue continuos (CI/CD) , repositorios de código seguros y auditorías de seguridad periódicas. Asimismo, deben validar la integridad de las bibliotecas y componentes de terceros antes de incorporarlos a los proyectos de software.

  • Concientización y educación del usuario

    Deben educar a los usuarios sobre la importancia de la firma de código y cómo verificar la autenticación del software. También deben promover la concienciación sobre los posibles riesgos y los vectores de ataque comunes, como los intentos de phishing o la ingeniería social.

Conclusión

El reciente aumento de ataques a la cadena de suministro, como el sofisticado ataque a desarrolladores de Python, pone de relieve una vulnerabilidad crucial en nuestro ecosistema digital. Las organizaciones pueden implementar estrategias integrales para mitigar estos riesgos, desde el almacenamiento seguro de certificados y auditorías periódicas hasta la monitorización continua y controles de acceso estrictos en los entornos de desarrollo.

Además, adoptar las mejores prácticas en la firma segura de código es fundamental para reforzar las defensas contra estas amenazas insidiosas. CodeSign Secure garantiza que no haya manipulaciones por parte de terceros no autorizados y que el software publicado provenga del editor original. Asimismo, protege contra ataques a la cadena de suministro.