Logotipo de Zephyrnet

Los requisitos 2FA de PyPI no van lo suficientemente lejos, dicen los investigadores

Fecha:

El repositorio oficial de código fuente abierto para el lenguaje de programación Python, Python Package Index (PyPI), requerirá que todas las cuentas de usuario habiliten la autenticación de dos factores (2FA) para fines de 2023.

El movimiento de seguridad puede ayudar a evitar que los atacantes cibernéticos comprometan las cuentas de mantenimiento e inyecten código malicioso en proyectos legítimos existentes, pero no es una panacea cuando se trata de reforzar la seguridad general de la cadena de suministro de software, advierten los investigadores.

"Entre ahora y el final del año, PyPI comenzará a obtener acceso a ciertas funciones del sitio en función del uso de 2FA", explicó el administrador y mantenedor de PyPI, Donald Stufft, en un comunicado. publicación de blog reciente. “Además, podemos comenzar a seleccionar ciertos usuarios o proyectos para una aplicación temprana”.

Para implementar 2FA, los mantenedores de paquetes tienen la opción de usar un token de seguridad u otro dispositivo de hardware, o una aplicación de autenticación; y Stufft dijo que se alienta a los usuarios a cambiar al uso de Editores de confianza de PyPI función o tokens de API para cargar código en PyPI.

Detener la actividad de paquetes maliciosos de PyPI

El anuncio se produce en medio de una serie de ataques de ciberdelincuentes que buscan infiltrarse en varios programas y aplicaciones de software con malware que luego puede diseminarse ampliamente. Desde PyPI y otros repositorios como npm y GitHub albergan los componentes básicos que los desarrolladores usan para crear esas ofertas, comprometer sus contenidos es una excelente manera de hacerlo.

Los investigadores dicen que 2FA en particular (que GitHub también se implementó recientemente) ayudará a evitar la toma de control de la cuenta del desarrollador, que es una forma en que los malos actores se enganchan en las aplicaciones.

"Hemos visto ataques de phishing lanzados contra los mantenedores de proyectos de paquetes PyPI de uso común que están destinados a comprometer esas cuentas”, dice Ashlee Benge, directora de defensa de inteligencia de amenazas en ReversingLabs. “Una vez comprometidas, esas cuentas se pueden usar fácilmente para enviar código malicioso al proyecto PyPI en cuestión”.

Uno de los escenarios más probables de infección inicial sería que un desarrollador instalara accidentalmente un paquete malicioso, por ejemplo, escribiendo un comando de instalación de Python por error, dice Dave Truman, vicepresidente de riesgo cibernético de Kroll.

“Muchos de los paquetes maliciosos contienen funciones para robar credenciales o cookies de sesión del navegador y están codificados para ejecutarse en el paquete malicioso que se está instalando”, explica. “En este punto, el malware robaría sus credenciales y sesiones que posiblemente podrían incluir inicios de sesión utilizables con PyPI. En otras palabras... un desarrollador podría permitir que el actor cambie a un gran ataque a la cadena de suministro dependiendo de a qué tenga acceso ese desarrollador, 2FA en PyPI ayudaría a evitar que el actor se aproveche de [eso]”.

Más trabajo de seguridad de la cadena de suministro de software para hacer

Benge de ReversingLabs señala que si bien los requisitos 2FA de PyPI son un paso en la dirección correcta, se necesitan más capas de seguridad para realmente bloquear la cadena de suministro de software. Esto se debe a que una de las formas más comunes en que los ciberdelincuentes aprovechan los repositorios de software es mediante cargando sus propios paquetes maliciosos con la esperanza de engañar a los desarrolladores para que los introduzcan en su software.

Después de todo, cualquiera puede registrarse para obtener una cuenta PyPI, sin hacer preguntas.

Estos esfuerzos generalmente involucran tácticas mundanas de ingeniería social, dice: “Typosquatting es común — por ejemplo, nombrar un paquete 'djanga' (que contiene código malicioso) en lugar de 'django' (la biblioteca legítima y de uso común)".

Otra táctica es buscar proyectos abandonados para revivirlos. “Un proyecto anteriormente benigno se abandona, elimina y luego se reutiliza para alojar malware, como con termcolor," ella explica. Este enfoque de reciclaje ofrece a los actores maliciosos el beneficio de utilizar la reputación legítima del proyecto anterior para atraer a los desarrolladores.

“Los adversarios están continuamente descubriendo múltiples formas de hacer que los desarrolladores usen paquetes maliciosos, por lo que es fundamental que Python y otros lenguajes de programación con repositorios de software como PyPi tengan un enfoque integral de seguridad de la cadena de suministro de software”, dice Javed Hasan, director ejecutivo y cofundador de Lineaje.

Además, hay varias formas de derrotar a 2FA, señala Benge, que incluyen Intercambio de SIM, explotación de OIDC y secuestro de sesiones. Si bien estos tienden a requerir mucho trabajo, los atacantes motivados aún se tomarán la molestia de tratar de evitar MFA y, ciertamente, 2FA, dice.

“Tales ataques requieren niveles mucho más altos de compromiso por parte de los atacantes y muchos pasos adicionales que disuadirán a los actores de amenazas menos motivados, pero comprometer la cadena de suministro de una organización ofrece una recompensa potencialmente enorme para los actores de amenazas, y muchos pueden decidir que el esfuerzo adicional vale la pena. " ella dice.

Si bien los repositorios toman medidas para hacer que sus entornos sean más seguros, las organizaciones y los desarrolladores deben tomar sus propias precauciones, aconseja Hasan.

“Las organizaciones necesitan herramientas modernas de detección de manipulaciones en la cadena de suministro que ayuden a las empresas a desglosar el contenido de su software y evitar la implementación de componentes desconocidos y peligrosos”, dice. Además, esfuerzos como listas de materiales de software (SBOM) y gestión de superficie de ataque va a ayudar.

punto_img

Información más reciente

punto_img