PackageDNA, nuestro framework de análisis de paquetes de desarrollo que debutó en BlackHatDiego Samuel Espitia 30 agosto, 2021 Tras varios meses de investigación y desarrollo, durante el evento BlackHat USA 2021 Arsenal, presentamos nuestra herramienta de análisis profundo de paquetes de desarrollo que llamamos PackageDNA. Se pudo ver durante la charla “Scanning DNA to detect malicious packages in your code”, cuyo objetivo era mostrar el framework de análisis de librerías que se programó para ayudar a los desarrolladores y empresas a validar la seguridad de los paquetes que se están usando en sus códigos. Esta herramienta surgió cuando nos planteamos, en el equipo de Innovación y Laboratorio, analizar el malware que se oculta dentro de las librerías para desarrolladores. Cada cierto tiempo se hacía público que algunas de ellas suplantaban a las originales, como a finales de 2018, cuando se alertó de un par de librerías en PyPi. La historia se repetiría a menudo desde entonces, ¿pero cómo hacer la investigación sin una herramienta que nos facilitara la búsqueda? Nuestra idea inicial era tomar los paquetes de PyPi únicamente, pero nos propusimos un reto mayor y la idea evolucionó hasta tomar las librerías de los principales lenguajes de programación. Así se convirtió en un framework, que debería mostrar cada paquete que analizaba en PyPi, RubyGems, NPM y Go, los siguientes datos: Metadatos del paqueteHASH de todos los archivos que contieneDetección de posibles IoC, como son IP’s, Hash, URL’s y correos electrónicosAnálisis estático del código, con una herramienta open source para cada lenguajeAnálisis usando AppInspector, la herramienta open source de Microsoft para identificación de componentes maliciososValidación de archivos sospechosos contra VirustotalValidación de reporte de CVE en GitHub, teniendo en cuenta la versión específica del paqueteValidación de paquetes generados por el mismo usuario dentro de la librería y en otros lenguajes de programaciónComprobar los posibles typosquatting del paquete en la misma librería Todo esto terminó en un poderoso framework que permite un análisis profundo de las librerías que se están usando en el código que se analiza o que se está creando, pero que además entrega a los analistas de seguridad una visión estática de la seguridad del código, una visión del comportamiento de atacante y datos para inteligencia de amenazas. ¿Cómo utilizar PackageDNA? El framework está desarrollado en Python3 con una consola interactiva que le permite al usuario ir seleccionando de forma simple lo que desea hacer. La primera pantalla que ve el usuario es la siguiente: Desde aquí se debe iniciar con la opción 7 la configuración de todas las herramientas externas que se tienen asociadas al uso del framework (todas son de uso libre o desarrollos de código abierto). Como se puede ver en la siguiente imagen es solo cargar correctamente cada valor. Una vez se tiene todo configurado, el usuario puede realizar sobre las librerías PyPI, RubyGems, NPM y Go, lo siguiente: Analizar la última versión de un paqueteAnalizar todas las versiones de un paquete y comparar resultados entre las versionesCargar una lista de paquetes con versiones específicasCargar un paquete local para su análisis Para el análisis de inteligencia de amenazas, el usuario selecciona la opción 4 en el panel inicial y le permite entrar a otro panel donde puede realizar: Búsquedas de los paquetes generados en cada una de las librerías y desarrollos cargados en github usando el nombre de usuario que desee investigar.Analizar los «typosquatting» y «brandsquiatting» que se encuentren en una librería especifica de un paquete.Hacer búsquedas de segmentos de código dentro de un paquete especifico. Aunque la herramienta está diseñada sin una base de datos que almacene todas las búsquedas, se dispone de una opción que permite revisar los resultados de los análisis realizados y almacenados localmente en la máquina. Teniendo la información inicialmente en la consola, pero con la opción de verlo en el navegador a través de Flask, como se ve en las siguientes imágenes. Ataques a la cadena de suministro, el mejor banco de pruebas Durante el desarrollo, los ataques a la cadena de suministro de software tomaron una gran relevancia en el mundo, llegando reportes de varios paquetes que se habían detectado como maliciosos en muchas librerías que estaban dentro de nuestro alcance. No podíamos tener mejor escenario de pruebas. De hecho, logramos poder analizar las versiones de maratlib, un paquete de PyPI que se desplegó para hacer minería de criptomonedas de forma maliciosa y que suplantaba a un paquete comúnmente usado en matemáticas llamado matplotlib. Al ejecutar la herramienta y usar la comparación en las dos versiones, pudimos ver claramente el segmento de código malicioso que es detectado por AppInspector y que está presente en una sola de las versiones cargadas en la librería. Pero además, podemos observar los otros paquetes que aparecen el reporte y que son generados usando técnicas de typosquatting. Así que, con este framework, esperamos poder aportar a la comunidad de desarrolladores y de analistas de seguridad en código, un mecanismo simple pero muy poderoso para cumplir con sus objetivos. Lo pueden descargar de forma libre en https://github.com/telefonica/packagedna y quedamos abiertos a sus comentarios y aportes para mejorar la herramienta. Boletín semanal de ciberseguridad 14-27 agostoLo que nos enseña Caperucita Roja de ciberseguridad
Telefónica Tech Boletín semanal de ciberseguridad, 8 — 19 de agosto Google informa del mayor ataque DDoS de la historia Investigadores de Google han informado acerca del mayor ataque de DDoS jamás registrado hasta el momento. En concreto, el pasado 1...
AI of Things Digital twin: ¿qué es y para qué sirve? Una de las claves del éxito empresarial es tener la capacidad de anticipar el impacto que eventuales cambios pueden tener en un producto o servicio. Eso es, básicamente, lo...
Telefónica Tech Los 4 posts más leídos sobre ciberseguridad de este año En nuestro recopilatorio semanal del verano con los contenidos más relevantes y más leídos del blog de Telefónica Tech desde principios de este año, en esta ocasión os traemos...
Marta Nieto Gómez-Elegido «Estamos evolucionando hacia profesiones sin género», María Martínez Es una mañana fría de noviembre en Madrid y María Martínez Martín, Jefa del equipo de Threats Intelligence Operations de Telefónica Tech, nos recibe en el edificio de Telefónica...
Telefónica Tech Los 5 posts sobre Blockchain que tienes que leer Siguiendo con nuestra serie de posts sobre los contenidos más leídos por cada tecnología, esta semana hacemos parada en el Blockchain para conocer, juntos a nuestros expertos de Telefónica...
José Vicente Catalán Tú te vas de vacaciones, pero tu ciberseguridad no: 5 consejos para protegerte este verano Las vacaciones son una necesidad, está claro. Todo el mundo necesita relajarse, pasar tiempo de calidad con la familia y amigos, desconectar. Pero, irónicamente, para desconectar acabamos conectando (el...