Please enter CoinGecko Free Api Key to get this plugin works.

Bl0ckch41nnewsAtaques a la cadena de suministro explotan los puntos de entrada en Python, npm y los ecosistemas de código abierto

51


El ecosistema de código abierto, debido a su adopción generalizada, se ha
convertido en un objetivo principal para los ataques a la cadena de
suministro. Los actores maliciosos a menudo aprovechan las funciones
integradas de los paquetes de código abierto para distribuir y ejecutar
automáticamente código dañino. En particular, favorecen dos técnicas: scripts
automáticos de preinstalación que se ejecutan al instalar el paquete y
paquetes aparentemente inocentes que importan dependencias maliciosas.

Los puntos de entrada, una característica poderosa para exponer la
funcionalidad de los paquetes, son vulnerables a la explotación en varios
ecosistemas, incluidos PyPI (Python), npm (JavaScript), Ruby Gems, NuGet
(.NET), Dart Pub y Rust Crates.

Los atacantes pueden aprovechar estos puntos de entrada para ejecutar código
malicioso cuando se ejecutan comandos específicos, lo que representa un riesgo
generalizado en el panorama del código abierto.

Los métodos de ataque incluyen el secuestro de comandos (suplantar
herramientas populares de terceros y comandos del sistema) y apuntar a varias
etapas del proceso de desarrollo a través de complementos y extensiones
maliciosos. Cada enfoque conlleva distintos niveles de éxito potencial y
riesgo de detección.

Los ataques de punto de entrada, si bien requieren la interacción del usuario,
ofrecen a los atacantes un método más sigiloso y persistente para comprometer
los sistemas, evitando potencialmente los controles de seguridad
tradicionales.

Este vector de ataque plantea riesgos tanto para los desarrolladores
individuales como para las empresas, lo que destaca la necesidad de medidas de
seguridad más completas para los paquetes Python.

«Los atacantes pueden aprovechar estos puntos de entrada para ejecutar
código malicioso cuando se ejecutan comandos específicos, lo que representa
un riesgo generalizado en el panorama del código abierto»
, dijeron los investigadores de Checkmarx Yehuda Gelb y Elad Rapaport en
este informe.

Los puntos de entrada en un lenguaje de programación como Python se refieren a
un mecanismo de empaquetado que permite a los desarrolladores exponer cierta
funcionalidad como un contenedor de línea de comandos (también conocido como
console_scripts). Alternativamente, también pueden servir para cargar
complementos que aumenten las funciones de un paquete.

Checkmarx señaló que si bien los puntos de entrada son una forma poderosa de
mejorar la modularidad, se podría abusar de la misma característica para
distribuir código malicioso a usuarios desprevenidos. Algunas de las formas en
que esto podría suceder incluyen el secuestro de comandos y la creación de
complementos maliciosos para diversas herramientas y frameworks.

El secuestro de comandos ocurre cuando los paquetes falsificados utilizan
puntos de entrada que se hacen pasar por herramientas y comandos populares de
terceros (por ejemplo, aws y docker), recopilando así información confidencial
cuando los desarrolladores instalan el paquete, incluso en los casos en que se
distribuye como un Wheel Files (.whl).

Algunos de los comandos de terceros más utilizados que podrían ser objetivos
potenciales para el secuestro de comandos incluyen
npm, pip, git, kubectl, terraform, gcloud, heroku y dotnet.

Un segundo tipo de secuestro de comandos también puede manifestarse cuando los
actores de amenazas usan nombres de comandos legítimos del sistema (por
ejemplo, touch, curl, cd, ls y mkdir) como puntos de entrada para
secuestrar el flujo de ejecución.

El éxito de este enfoque depende principalmente del orden de PATH. Si el
directorio que contiene los puntos de entrada maliciosos aparece antes en el
PATH que los directorios del sistema, el comando malicioso se ejecutará en
lugar del comando del sistema. Es más probable que esto ocurra en entornos
de desarrollo donde se priorizan los directorios de paquetes locales.

La eficacia del secuestro de comandos se puede mejorar mediante una táctica más
sigilosa llamada envoltura de comandos, que implica crear un punto de entrada
que actúa como envoltorio alrededor del comando original, en lugar de
reemplazarlo por completo.

Lo que hace que este enfoque sea potente es que ejecuta silenciosamente el
código malicioso al mismo tiempo que invoca el comando legítimo original y
devuelve los resultados de la ejecución, lo que le permite pasar
desapercibido.

«Dado que el comando legítimo aún se ejecuta y su resultado y
comportamiento se conservan, no hay señales inmediatas de compromiso, lo que
hace que el ataque sea extremadamente difícil de detectar mediante el uso
normal»
, dijeron los investigadores.
«Este enfoque sigiloso permite a los atacantes mantener el acceso a largo
plazo y potencialmente filtrar información confidencial sin levantar
sospechas».

Otra táctica de ataque de punto de entrada implica la creación de complementos
y extensiones maliciosos para herramientas de desarrollo que tienen la
capacidad de obtener un amplio acceso al código base en sí, dando así a los
delincuentes la oportunidad de cambiar el comportamiento del programa o
alterar el proceso de prueba para que parezca el código. está funcionando
según lo previsto.

El desarrollo se produce cuando
Sonatype, en su informe anual
sobre el estado de la cadena de suministro de software, reveló que se han
descubierto más de 512.847 paquetes maliciosos en ecosistemas de código
abierto para Java, JavaScript, Python y .NET desde noviembre de 2023, un año
salto del 156% durante el año.

Fuente:
THN



Source link

Los comentarios están cerrados.