Detección y clasificación de software malicioso
Fecha
2018-06-14Registro en:
Reyes Torres, Jesús Javier. (2017). Detección y clasificación de software malicioso. (Maestría en Ciencias en Ingeniería de Cómputo). Instituto Politécnico Nacional, Sección de Estudios de Posgrado e Investigación, Centro de Investigación en Computación. México.
Autor
Reyes Torres, Jesús Javier
Institución
Resumen
RESUMEN:
El software malicioso actualmente representa un problema de seguridad debido a la gran cantidad que se propaga cada año y las técnicas utilizadas por sus autores para evadir los actuales mecanismos de detección. La minería de datos sobre este tipo de software, ha sido utilizada para generar características que permitan diferencia entre software benigno y malicioso, además de clasificar una muestra maliciosa dentro de una de las diferentes familias de la base de datos. Las características obtenidas, se utilizan junto con algo- ritmos de aprendizaje automático (machine learning) para generar modelos de clasificación para detectar de manera efectiva el software malicioso. El objetivo en este trabajo, es diseñar un sistema de detección utilizando análisis para generar características que utilizadas en algoritmos de aprendizaje se generen modelos de clasificación efectivos. Las características son obtenidas utilizando un método de procesamiento de lenguaje natural, llamado n-grams.
En este trabajo, se encontró que las características generadas con la representación hexadecimal permiten generar modelos con hasta 100 % de F1-score para detectar software malicioso, mientras que para asignar una muestra maliciosa a alguna familia, la representación en ensamblador mostro funcionar mejor obteniendo un máximo valor de F1-score de 98.5 %, en ambos casos los mejores resultados son obtenidos con el algoritmo Random Forest. Estos resultados muestran que con el análisis estático se pueden obtener modelos de clasificación efectivos para detectar y clasificar software malicioso, además de que, al tener software malicioso ofuscado en la base de datos, en todo momento se tomaron consideraciones para poder detectarlo, un análisis que en otros casos es hecho de manera independiente, pero que en este trabajo es considerado desde el principio.
ABSTRACT:
Malware is currently a security issue due to the large amount of malware spread each year and the techniques used by its authors to evade current detection mechanisms. Data mining on this type of software has been used to generate features that allow the difference between benign and malicious software, in addition to classifying a malicious sample within one of the different database families. The resulting features are used in conjunction with automatic learning algorithms (machine learning) to generate classification models for effective detection of malicious software. The objective in this work is to design a detection system using analysis to generate features that are used in learning algorithms to generate effective classification models. The features are obtained using a natural language processing method, called n-grams.
In this work, it was found that the features generated with hexadecimal re- presentation allow to generate models with up to 100 % of F1-score to detect malware, while to assign a malicious sample to some family, the representation in assembler showed to work better by obtaining a maximum value of F1-score of 98.5 %, in both cases the best results are obtained with the best results. These results show that with static analysis, effective classification models can be obtained to detect and classify malicious software, in addition to the fact that, having malicious software obfuscated in the database, at all times considerations were taken to be able to detect it, an analysis that in other cases is done independently, but that in this work is considered from the beginning.