Trabajo de Fin de Máster: Detección de Malware en Android Mediante El Algoritmo SVM
Trabajo de Fin de Máster: Detección de Malware en Android Mediante El Algoritmo SVM
Trabajo de Fin de Máster: Detección de Malware en Android Mediante El Algoritmo SVM
Sumario
• Introducción
• Fundamento Teórico
• Taxonomía
• Métodos de detección
• Tipos de análisis
• Tipos de aprendizaje
• Algoritmo SVM
• Implementación
• Bajo Nivel
• Alto Nivel
• Pruebas
• Conclusiones
Introducción
700
600
500
400
300
200
100
0
Año (2010-2020)
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
[61]
3
Introducción
4
Introducción
5
Introducción
Objetivo:
(2020)
Fundamento Teórico: Taxonomía. Tipos de análisis (visión clásica)
Estático
De Código
Híbrido
Fundamento Teórico: Taxonomía. Tipos de análisis
• Rápido
• Extrae características sin ejecutarlo
• Llamadas al sistema
Estático • Flujo de control
• Flujo de datos
• Pocos falsos positivos
• Lento
• Extrae características en ejecución
Dinámico • Sandboxing
• Detecta malware desconocido
• Muchos falsos positivos
Tipos de •
Híbrido Estático + Dinámico
análisis
• Lento
• Extrae características en ejecución
Dinámico • Sandboxing
• Detecta malware desconocido
• Muchos falsos positivos
Tipos de •
Híbrido Estático + Dinámico
análisis
• Recopilación de comportamiento de un
ejecutable en entorno aislado
• Extracción de características
• Elaboración de un modelo de Comportamiento
aprendizaje
Métodos de
detección
• IoC
• Secuencias de bytes específicas
• Llamadas de API, hashes de archivos • Generación de reglas en base al análisis
• Dominios maliciosos estático o dinámico
• Patrones de ataques de red Firma Heurística • Automático (ML)
• No detecta malware desconocido • Manual (Operador humano)
Fundamento Teórico: Taxonomía. Métodos de detección (SVM)
• Recopilación de comportamiento de un
ejecutable en entorno aislado
• Extracción de características
• Elaboración de un modelo de Comportamiento
aprendizaje
Métodos de
detección
• IoC
• Secuencias de bytes específicas
• Llamadas de API, hashes de archivos • Generación de reglas en base al análisis
• Dominios maliciosos estático o dinámico
• Patrones de ataques de red Firma Heurística • Automático (ML)
• No detecta malware desconocido • Manual (Operador humano)
Fundamento Teórico: Taxonomía. (Dicotomía)
12
Fundamento Teórico: Taxonomía. Tipos de aprendizaje
Supervisado
Se proporciona a los modelos
información de salida conocida, para
que el modelo pueda aprender a hacer
predicciones o clasificar nuevos datos
basados en patrones identificados en
el entrenamiento.
Semi-supervisado No supervisado
Combina elementos del aprendizaje Busca patrones o estructuras ocultas
supervisado y no supervisado, en los datos de entrada, como
utilizando datos etiquetados y no agrupamientos o relaciones entre
datos, sin la necesidad de información
etiquetados en el proceso de
entrenamiento.
Aprendizaje previa de salida conocida.
Supervisado
Se proporciona a los modelos
información de salida conocida, para
que el modelo pueda aprender a hacer
predicciones o clasificar nuevos datos
basados en patrones identificados en
el entrenamiento.
Semi-supervisado No supervisado
Combina elementos del aprendizaje Busca patrones o estructuras ocultas
supervisado y no supervisado, en los datos de entrada, como
utilizando datos etiquetados y no agrupamientos o relaciones entre
datos, sin la necesidad de información
etiquetados en el proceso de
entrenamiento.
Aprendizaje previa de salida conocida.
Aprendizaje supervisado
Fundamento Teórico: Algoritmo SVM
T
𝑚𝑖𝑛 ሺa a = a21 +··· + a2𝑛 )
𝑠. 𝑎:
𝑦𝑖 𝑎𝑇 𝑢𝑖 + 𝑏 − 1 ≥ 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, … , 𝑚.
𝑚 𝑚 𝑚 Dual
1
𝐿 = αi − 𝑦𝑖 𝑦𝑗 αi αj 𝑢𝑖 𝑢𝑗𝑇 .
2
𝑖=1 𝑖=1 𝑗=1
Vladimir Vapnik
4º
5º
6º
1º
2º
3º
Almacenamiento
interno Configuración
40 % de certeza
según los IoCs
Pruebas (alto nivel)
Resultados propios
Precisión:
97,68 %
Precisión:
92.7 %
Pruebas (rendimiento I)
98,5
98
97,5
97
96,5
96
95,5
RF KNN DT SVM LDA
22
Pruebas (rendimiento II)
98,5
98
97,5
97
96,5
96
95,5
RF KNN DT SVM LDA
Comparativa de rendimiento [79]
23
CONCLUSIONES Y LÍNEAS DE AVANCE
• Los modelos implementados en el estudio son válidos y eficaces para la detección de malware.
• Los resultados obtenidos son coherentes con el modelo propuesto por los autores.
• El análisis basado en comportamiento con SVM es un método eficaz para detectar malware,
pero tiene algunos inconvenientes, como ser lento y costoso en el aprendizaje, y susceptible a
ataques de evasion.
• Se propone añadir análisis híbrido mediante herramientas como MobSF, Frida, Burp o Pidcat.
Detección de Malware en Android mediante el algoritmo SVM