Como muchos lectores sabrán, en VULNEX llevamos tiempo trabajando en nuestro proyecto BinSecSweeper, cuyo desarrollo comenzó en el 2013 gracias a una beca de I+D ofrecida por el DARPA dentro de su programa piloto Cyber Fast Track (CFT), y además fuimos la única startup española en ganar una de estas becas. En mayo del año pasado fui invitado al Pentágono por el DARPA para presentar mi proyecto junto a los otros participantes del CFT. ¡Toda una experiencia!
Desde entonces BinSecSweeper ha cambiado en todos los sentidos gracias a una fuerte apuesta en ingeniería durante este último año. Con la aparición de tantos APT últimamente, he pensado que sería interesante analizar un APT reciente que ha dado mucho que hablar utilizando técnicas de Data Science: Equation APT Group.
Para este análisis he conseguido 419 ejecutables Windows que vamos a proceder a examinar con BinSecSweeper, ¡veamos los resultados del análisis!
En la Fig. 1 tenemos el panel del proyecto y podemos ver de forma rápida un sumario del análisis. BinSecSweeper, al identificar malware y vulnerabilidades de carácter elevado, ha establecido el nivel de alerta en severo (basado en el sistema de seguridad de EE.UU. Homeland). También nos llaman la atención diferentes características como Packers, Información Identificable y similitudes entre binarios.
En Métricas (Fig. 2) vemos más detalle sobre el análisis. La métrica que más nos interesa, por lo menos a mi, son los riegos identificados y el número de ficheros afectados. BinSecSweeper ha identificado riesgos muy interesantes en este APT.
En BinSecSweeper podemos profundizar en el análisis de uno, varios o todos los ficheros, pero para este análisis rápido, nuestro objetivo es obtener la panorámica completa. Para ello observemos la analítica de datos, una poderosa herramienta (ver Fig. 3)
BinSecSweeper ofrece impresionantes gráficas que nos ayudan a entender los datos de forma rápida y visual. En la Fig. 4 vemos una visualización de la entropía de los binarios, “medida del desorden”. La mayoría de binarios están alrededor de 0.80 con algunos binarios en los extremos 0.65 y 1.00.
En la Fig. 5 vemos los diferentes tipos de binarios y llama la atención que la mayoría son DLL y luego tenemos un Driver, sin duda un fichero para analizar más en detalle.
En la Fig. 6 vemos una métrica muy interesante, el nombre de las secciones de un ejecutable. Nos ayuda a identificar packers y secciones sospechosas.
La Fig. 7 se relaciona con la métrica anterior, en este caso tenemos el número de secciones de los ejecutables. Destaca un fichero con diez secciones.
La siguiente métrica (Fig. 8) tenemos el número de librerías importadas por los ejecutables.
Las funciones que importan los ejecutables son interesantes para entender la funcionalidad. En la Fig. 9 tenemos esta métrica, específicamente las funciones Top 15.
También podemos ver las funciones que exportan las ejecutables (Fig. 10).
En la Fig. 11 vemos los diferentes compiladores identificados. Interesante para entender las herramientas que utilizan los autores del APT.
La última métrica que vamos a ver es la fecha de compilación de los ejecutables organizada por años. Claramente en el 2008 los autores estuvieron muy ocupados.
De forma sencilla y rápida hemos obtenido una buena panorámica de este APT sin entrar en complejos/costosos análisis o ingeniería inversa, que sería nuestro siguiente paso. Para que luego digan que en España no se hace nada interesante 😉
Hoy en día dados los millones de malware que circulan y la complejidad de cualquier software es necesario contar en nuestro arsenal con poderosas herramientas de análisis como BinSecSweeper, que utiliza técnicas avanzadas de Data Science para analizar la seguridad y privacidad del software.
Quizá sería interesante pasar todos los antivirus por BinSecSweeper 😉
Sayonara baby, pronto volveré con más análisis
Para mas información sobre BinSecSweeper puedes contactarnos en BinSecSweeper@vulnex.com
¿Tu organización utiliza Security Data Science? ¿Qué te gustaría analizar?
— Simon Roses Femerling / @simonroses