La amenaza del secuestro de cuentas: riesgos en las cadenas de suministro de software

Como ha sido recientemente expuesto por Cisco Talos, los ataques a la cadena de suministro de software han ganado popularidad entre todo tipo de ciberdelincuentes. Anteriormente utilizados exclusivamente por actores de amenazas de ciberespionaje, estos ataques ahora también han resultado atractivos para cualquier tipo de ciberdelincuente, que ve en esta amenaza una forma de comprometer cientos o miles de computadoras con una sola operación.

La amenaza del secuestro de cuentas: riesgos en las cadenas de suministro de software - Seguridad | Imagen 1 Newsmatic

Esto explica por qué la amenaza de los ataques a la cadena de suministro de software se ha triplicado en 2021 en comparación con 2020, según informan los investigadores.

Índice de Contenido
  1. ¿Qué son los ataques a la cadena de suministro de software?
  2. Riesgos de apropiación de cuenta en los repositorios de código actuales
    1. NPM
    2. PyPI
    3. CPAN
    4. NuGet
    5. RubyGems
  3. ¿Qué se puede hacer contra esta amenaza?

¿Qué son los ataques a la cadena de suministro de software?

Un ataque a la cadena de suministro de software consiste en dirigirse a repositorios de software o ubicaciones de descarga, con el fin de propagar malware en lugar de o además de software legítimo. Los atacantes pueden utilizar diversas formas para comprometer una cadena de suministro de software.

Una forma sería encontrar vulnerabilidades para comprometer el almacenamiento del software descargable, especialmente cuando se almacena en un sitio web de terceros. Sin embargo, es posible que no tenga éxito en los repositorios de código que almacenan fragmentos de software.

Otro método consiste en atacar las cuentas de los desarrolladores y obtener acceso a ellas o acceder a una cuenta de mantenimiento de software o sitio web. Una vez que se compromete el acceso, el atacante puede publicar actualizaciones maliciosas del software, afectando a cada usuario y empresa que descargue la nueva actualización e instale.

Protección antivirus en línea: McAfee Clinic lleva la seguridad de tu PC al siguiente nivel

Esto puede ser particularmente desastroso en el caso de una biblioteca comprometida y modificada, que podría ser utilizada por cientos de diferentes piezas de software en todo el mundo. Esto podría suceder tanto en paquetes de software reales como en paquetes antiguos que de repente empujan nuevas actualizaciones después de años de inactividad.

La mayoría de los desarrolladores aspiran a ganar eficiencia y, por lo tanto, utilizan mucho código de terceros, generalmente bibliotecas, para evitar tener que volver a desarrollar algo que ya está hecho y disponible de forma gratuita. Sin embargo, el software de terceros casi nunca es revisado por los desarrolladores y se les confía totalmente.

Riesgos de apropiación de cuenta en los repositorios de código actuales

Los investigadores de Talos han analizado los repositorios de código más utilizados, con un ojo atento a la dificultad que tendría un atacante para comprometer con éxito una cuenta de desarrollador. Los investigadores también han trabajado con estos repositorios para resolver los principales problemas cuando se encuentran.

NPM

NPM, o Node Package Manager, es un repositorio de código específico para el lenguaje de programación JavaScript que proporciona más de dos millones de paquetes. Estos paquetes contienen metadatos como una descripción, un enlace al archivo de archivo del paquete y una lista de los mantenedores del paquete, incluidos el nombre de usuario y la dirección de correo electrónico del desarrollador (Figura A).

Figura A

La amenaza del secuestro de cuentas: riesgos en las cadenas de suministro de software - Seguridad | Imagen 2 Newsmatic

Cómo proteger tu computadora de los virus: métodos y consejos

El repositorio de NPM ha sido auditado recientemente de forma independiente y parece que no es propenso a ataques a las direcciones de correo electrónico de los desarrolladores. Las cuentas de desarrolladores caducadas no se pueden recuperar, gracias a las medidas de seguridad adoptadas por NPM.

PyPI

Python Package Index almacena casi 400,000 proyectos diferentes escritos en el lenguaje de programación Python. Las direcciones de correo electrónico de los desarrolladores no se exponen públicamente de forma predeterminada en ese repositorio. Sin embargo, muchos desarrolladores habilitan esa función, ya que necesitan o desean interactuar con otras personas que ejecutan su código por diversas razones, como comentarios sobre la funcionalidad, sugerencias de mejora y reportes de errores.

La autenticación multifactor no está habilitada de forma predeterminada para la mayor parte del repositorio. Solo es obligatorio en "proyectos críticos", que representan el 1% superior de los proyectos de PyPI, basado en el número de descargas. PyPI ha distribuido 4,000 llaves de seguridad de hardware para MFA para esos proyectos críticos.

La apropiación de cuentas en PyPI ya ha ocurrido, pero los cambios realizados por los administradores recientemente parecen estar llevando la seguridad de las cuentas en la dirección correcta, según los investigadores de Talos.

CPAN

En la Comprehensive Perl Archive Network se almacenan más de 200,000 módulos del lenguaje de programación Perl. Los desarrolladores de módulos tienen su propia página de inicio que enumera sus contribuciones y su dirección de correo electrónico (Figura B).

Figura B

¡Defiéndete! Protege tu seguridad en línea contra amenazas críticas

La amenaza del secuestro de cuentas: riesgos en las cadenas de suministro de software - Seguridad | Imagen 3 Newsmatic

Es posible en ese repositorio obtener acceso a las direcciones de correo electrónico abandonadas de los desarrolladores, en el caso de que hayan utilizado un dominio que ya no existe. Un atacante puede registrar el dominio, configurar el correo electrónico y solicitar un restablecimiento de contraseña.

Talos se puso en contacto con CPAN y les proporcionó una lista de cuentas vulnerables, que CPAN desactivó.

NuGet

NuGet es un repositorio de software .NET, con más de 317,000 paquetes. Las direcciones de correo electrónico de los desarrolladores están ocultas de forma predeterminada en la plataforma. En cambio, NuGet ofrece un formulario en el sitio web para comunicarse con los desarrolladores sin revelar su dirección de correo electrónico. Se proporciona una opción para que los desarrolladores agreguen su nombre de usuario de Twitter, pero no se puede considerar como una forma directa de intentar comprometer a un desarrollador.

RubyGems

Los desarrolladores de Ruby pueden utilizar el repositorio RubyGems, compuesto por aproximadamente 172,000 paquetes (también llamados gemas). Las direcciones de correo electrónico de los desarrolladores están ocultas de forma predeterminada. Sin embargo, algunas gemas contienen un archivo de mantenimiento que indica una dirección de correo electrónico de contacto para el desarrollador. Aunque no es consistente en todas las gemas.

RubyGems anunció recientemente la implementación de MFA para las cuentas de los desarrolladores principales para combatir los robos de cuentas.

Protege tus contraseñas con PAM: Tu aliado para la seguridad

¿Qué se puede hacer contra esta amenaza?

En primer lugar, se deben proteger las cuentas de los desarrolladores y mantenedores contra el robo de cuentas. Esto se puede lograr haciendo que todos los repositorios de código habiliten MFA y lo hagan obligatorio para acceder al código. Varios repositorios ya han implementado esta política, pero principalmente para sus principales desarrolladores.

En segundo lugar, los repositorios de código no deben revelar las direcciones de correo electrónico de los desarrolladores o mantenedores. Ofrecer un formulario para comunicarse con los desarrolladores es un método más seguro.

También se deben implementar claves de firma de código, para asegurarse de que un dominio caducado de un desarrollador no pueda ser utilizado por un atacante, ya que no poseerían la clave de firma del código.

A nivel de consumidor, las organizaciones deben analizar cuidadosamente el software que utilizan y segmentar un grupo de sistemas que ejecutan piezas de software específicas del resto de la red interna. Sin embargo, esto también tiene limitaciones.

Idealmente, las nuevas actualizaciones de cualquier software deben ser revisadas antes de su implementación, comparando las diferencias de código entre el código antiguo y el nuevo. Si bien es ideal, esta técnica seguramente requeriría una gran cantidad de recursos dentro de la empresa.

Divulgación: Trabajo para Trend Micro, pero las opiniones expresadas en este artículo son mías.

Cómo configurar un servidor VPN para hacer conexiones a través de firewalls

Da el paso para convertirte en un experto en seguridad con estos recursos de Newsmatic Academy:

  • The Complete Information Security Certification Bundle
  • The 2022 Premium CompTIA CyberSecurity & Security+ Exam Prep Bundle
  • The Advanced Cyber Security Career Advancement Bundle
  • The A to Z Cyber Security & IT Certification Training Bundle

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a La amenaza del secuestro de cuentas: riesgos en las cadenas de suministro de software , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.