top of page

Clasificación de malware: humanos vs máquinas

Actualizado: 21 jun 2023

Una de las últimas tendencias en ciberseguridad ha sido el uso creciente de algoritmos de inteligencia artificial (IA) para detectar y prevenir ataques cibernéticos. La IA ha demostrado ser efectiva en la detección de amenazas y en la prevención de ataques, gracias a su capacidad para analizar grandes cantidades de datos y patrones de comportamiento. Los algoritmos de IA también pueden detectar patrones de actividad maliciosa y alertar a los expertos en seguridad para que puedan tomar medidas preventivas antes de que ocurra un ataque.


Entre estos modelos de clasificación, encontramos cierto tipo de modelos que tienen como objetivo clasificar si un archivo o programa es o no malicioso.


Para lograr esto, los algoritmos discriminan las características fundamentales y las no tan importante para detectar si un archivo es malicioso o no; una gran cantidad de investigación se ha realizado sobre modelos de clasificación para malware con resultados muy prometedores como 2 y 3.


Sin embargo, uno de los principales problemas que se han detectado en el momento de clasificar malware con respecto a otras aplicaciones como reconocimiento de lenguaje o de texto, es que mientras que el texto se mantiene relativamente constante a lo largo del tiempo y tiene una estructura similar, el malware continua variando de manera significativa a lo largo del tiempo por lo que resulta interesante realizar la comparación entre el desempeño de los algoritmos de clasificación de malware y expertos humanos.


Comparación entre clasificación por humanos y modelos de clasificación


En Blake Anderson Anderson, se realizó un estudio para identificar la diferencia sobre las características en las que se basan los expertos humanos para clasificar un archivo que tenga el potencial de ser malware, contra las características que tienen mayor peso en modelos de clasificación. Esto con el objetivo de entender las diferencias en las decisiones que toman los expertos y las máquinas, y poder comparar si las decisiones de los expertos o las decisiones de las máquinas son más acertadas. Para lograr esto, pidieron a 110 humanos que clasificaran distintos tipos de malware (72 novatos y 32 expertos) y lo compararon contra varios de los algoritmos en estado del arte de clasificación. Además, a cada uno de los integrantes les pidieron que clasificaran 20 archivos sospechosos basados en ciertos reportes y que especificaran que características habían utilizado para ofrecer su veredicto.


Las características a considerar para detectar si un archivo es malware se dividen en estáticas y dinámicas. Entre las estáticas encontramos las siguientes: la firma de integridad del archivo (que en este caso se realizó con authenticode), los metadatos y el header del archivo, el análisis de los archivos que se encuentran en el ejecutable y las funciones que llama, los recursos que utiliza el programa, las subcadenas de strings que se encuentran dentro de los programas y los resultados de escaneos de diferentes herramientas de antivirus. Por otro lado, entre las características dinámicas se encuentran características que consisten en el resultado de la ejecución de estos programas en entornos controlados; entre estas características tenemos los resúmenes del tráfico UDP, TCP, HTTP; después de ejecutar el programa, los procesos que se crearon y que se modificaron y las operaciones que se realizaron dentro del sistema de archivos.


A partir de estas características los expertos y los algoritmos de clasificación debían poder clasificar un archivo como malicioso o no malicioso. Entre el malware que se utilizó para este experimento se encuentran familias de malware como hermalite, kryptic, zbot, doomjuice entre otros que contienen spyware, troyanos, ransomware, gusanos, entre otros.



Resultados


Entre los resultados que se pudieron observar, los algoritmos de clasificación tuvieron un desempeño muy similar al de los expertos. Los expertos tuvieron un promedio de 16 correctas sobre 20, mientras que el modelo de clasificación basado en Random Forest tuvo el mismo promedio de respuestas correctas (16/20) y el modelo basado en redes neuronales convolucionales tuvo un promedio de 17 respuestas correctas. Sin embargo, se observó que los errores cometidos por el modelo de redes convolucionales fueron muy diferentes a los errores cometidos por los candidatos humanos.


Por otro lado, los candidatos humanos clasifican los archivos utilizando menos de 1/3 de las características disponibles teniendo una clara preferencia por los atributos dinámicos. Esto es, ya que recientemente hay una tendencia a analizar los atributos de comportamiento en lugar de los atributos estáticos, ya que los atributos dinámicos nos permiten detectar ejemplos de malware que aún no han sido documentados. Además de esto, los candidatos humanos pueden consolidar su decisión investigando más información que no está incluida en las características, cosa que los modelos de clasificación no pueden hacer. Profundizando, se reintentó clasificar los mismos archivos con los modelos de clasificación utilizando solo las características que habían escogido los candidatos humanos y el resultado fue mucho peor (4/8 con random forest y 3/8 con redes neuronales), lo que quiere decir que los algoritmos de clasificación si necesitan todas las características para obtener una buena precisión, características que no siempre se tienen en un entorno real.


Por último, es importante notar que los candidatos humanos cometieron más errores con Falsos Positivos, mientras que ninguno de los expertos cometió un error clasificando un archivo como un Falso Negativo. En el caso del malware, esto es más deseable, ya que es preferible rechazar un archivo que no tiene problemas a admitir un archivo que puede contener malware.


Figura 1: características priorizadas por los expertos y los algoritmos de clasificación


Conclusión


Gracias a este estudio podemos evidenciar cuales son las características principales que priorizan los expertos para analizar malware contra las categorías que priorizan los algoritmos de clasificación. Por otro lado, este estudio nos ayuda a entender que estos modelos de inteligencia artificial no se deben tomar como un reemplazo a los conocimientos del usuario experto, sino que deben dar un apoyo para que una persona pueda tomar una decisión.





Si deseas tener siempre a la mano el artículo escrito por nuestro ingeniero José Darío Flórez, te invitamos a descargarlo, compartirlo y comentarnos qué opinas al respecto.


Clasificacion_de_malware_humano_vs_maquina
.pdf
Download PDF • 409KB




Referencias:


[1] https://www.usenix.org/conference/usenixsecurity23/presentation/aonzo

[2] Mansour Ahmadi, Dmitry Ulyanov, Stanislav Semenov, Mikhail Trofimov, and Giorgio Giacinto. Novel feature extraction, selection and fusion for effective malware family classification. In Proceedings of the Sixth ACM Conference on Data and Application Security and Privacy, CODASPY ’16, page 183–194. Association for Computing Machinery, 2016.

[3] Blake Anderson Anderson, Daniel Quist, Joshua Neil, Curtis Storlie, and Terran Lane. Graph-based malware detection using dynamic analysis. Journal in Computer Virology, 7:247–258, 2011.


47 visualizaciones0 comentarios
bottom of page