Octopus Scanner. Analiza si tu proyecto está afectado

Análisis de un proyecto mediante Octopus Scanner

Octopus Scanner compromete más de 26 proyectos OSS en GitHub.

En el momento de preparar una ensalada para el almuerzo o la cena, ¿qué ingredientes usas?, ¿lechuga, zanahorias, cebollas, tomates, aderezo?. 

Si solo revisas la lista de ingredientes, sabrás lo que has usado, pero no la calidad de los ingredientes en sí.

En el ámbito del análisis de componentes de software (SCA), la diferencia entre evaluar una lista de ingredientes por nombre (el manifiesto) y una evaluación completa de los binarios utilizados (técnica conocida como: Advanced Binary Fingerprinting), puede proporcionar resultados muy diferentes.

Y cuando se trata de prácticas de DevSecOps, estos resultados pueden significar la diferencia entre generar código seguro, y por lo tanto aplicaciones seguras y de alta calidad, o tener un incidente grave de seguridad en producción el día de mañana.

Están surgiendo informes sobre una nueva forma de ataque a la cadena de suministro de software que apunta a proyectos de software de código abierto en GitHub.

Hasta ahora, 26 proyectos de código abierto han sido impactados por los ataques, dejando a los desarrolladores que utilizan dichos proyectos susceptibles al malware que ha sido inyectado en el código.

¿Qué está ocurriendo con Octopus Scanner y qué solución ofrece Hopla! Software?

Gracias al partnetship entre Hopla Software y Sonatype, hemos dispuesto una web para que podáis evaluar de forma gratuita si alguna de vuestras aplicaciones ha sido afectada por este malware: https://www.sonatype.com/hopla-nvs.

Historia de este malware

Según el laboratorio de seguridad de GitHub :

“El 9 de marzo, recibimos un mensaje de un investigador de seguridad. Este nos informaba sobre un conjunto de repositorios alojados en GitHub que presumiblemente estaban sirviendo malware de manera no intencional.

Después de un análisis profundo del malware en sí, descubrimos algo que nunca antes habíamos visto en nuestra plataforma:

  • Malware diseñado para enumerar y bloquear proyectos de NetBeans
  • Que utiliza el proceso de compilación y sus artefactos resultantes para propagarse

El malware se conoce como Octopus Scanner

Durante varios años, varios informes sobre seguridad en el ciclo de desarrollo software, como el “Software Supply Chain Report” realizado por Sonatype, han detallado varias formas de ataques sobre proyectos de Software Open Source (OSS):

  • La inyección de código malicioso
  • El robo de credenciales de proyectos
  • La suplantación de identidad

Ahora Octopus Scanner adopta un nuevo enfoque:

En lugar de apuntar al código del proyecto OSS en sí, este ataque se centra en las herramientas que los desarrolladores están usando para construir su código.

El malware Octopus Scanner puede inyectar su código malicioso en cualquier archivo JAR de nueva compilación.

Si bien el manifiesto no se vería diferente, el código subyacente si que habría cambiado. Ahora cualquier persona que use ese componente OSS dentro de sus compilaciones de aplicaciones estaría en riesgo.

Nexus Sonatype es la única solución de análisis de componentes software (SCA: Software Composition Analysis) en el mercado que ofrece la funcionalidad de Advanced Binary Fingerprinting (ABF).

Este software incluye una funcionalidad poco conocida a la que nos referiremos como «coincidencia parcial».

La coincidencia parcial permite a los usuarios de la plataforma Nexus Sonatype ver cuándo se ha cambiado algún aspecto de un componente. Un componente puede tener el mismo nombre y número de versión, de acuerdo con un análisis del manifiesto del paquete, pero la base del código subyacente podría haber cambiado.

A menudo vemos esta forma de cambio a nivel de binarios cuando los desarrolladores se intentan saltar las políticas de seguridad OSS impuestas por su organización.

Digamos por ejemplo, que un desarrollador le gusta usar jquery 3.2 pero su política de OSS solo permite el uso de jquery 3.4 o superior. ¿Por qué no simplemente cambiar el nombre del binario 3.2 para mostrar 3.5 y evitar de esta manera las políticas de seguridad corporativa?

Sí, hemos visto a los desarrolladores hacer esto varias veces. Esa sustitución podría no ser tan mala como un binario inyectado con malware, pero la coincidencia parcial lo detectaría de todos modos.

Volviendo al tema del Octopus Scanner

Los usuarios de la plataforma Nexus no necesitan preocuparse demasiado por ataques de este tipo. Los productos (Nexus Firewall y Nexus Lifecycle) son capaces de detectar con una alta precisión componentes  potencialmente maliciosos, gracias al análisis continuo de sus archivos binarios en todo el ciclo de desarrollo.

Nexus lo marcará como una coincidencia parcial y alertará a sus desarrolladores y al equipo de seguridad del problema. Además, no se limita solo a la detección y alertado, sino que también ayudará al equipo de desarrollo a seleccionar versiones alternativas más seguras de ese componente disponibles para su uso.

El malware Octopus Scanner válida la best-practice que indica que es necesario analizar los archivos binarios generados dentro del ciclo desarrollo y no fiarse ciegamente en lo que está declarado en el manifiesto.

Los hackers son conscientes del uso desenfrenado de componentes de código abierto por parte de todos los desarrolladores de todo el mundo. Si bien el código abierto es increíble y acelera todas nuestras innovaciones, conlleva la responsabilidad de utilizar los mejores, más altos niveles de calidad y los componentes más seguros disponibles.

La misión de Hopla!

Desde Hopla Software ha sido y seguirá siendo nuestra misión apoyar a los desarrolladores en esa responsabilidad y ayudar a nuestros clientes a estar un paso por delante de sus potenciales atacantes.

Si quieres conocer más detalles de la plataforma Nexus puedes consultar la información en nuestra Web o en la Web de Sonatype.  

Contenido original: https://blog.sonatype.com/octopus-scanner-compromises-26-oss-projects-on-github

Javier Ramírez, arquitecto de soluciones en Hopla! Software

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *