Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste

23 views

Published on

RootedCON https://www.rootedcon.com
Marzo/March 5-7 2020 Madrid (Spain)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste

  1. 1. Evading Deep Learning Malware Detectors Javier Yuste Moure javier.yuste@protonmail.com UC3M Eduardo García Pardo eduardo.pardo@urjc.es URJC Rooted CON 2020, Madrid, 5-7 Marzo Evading Deep Learning malware detectors
  2. 2. Rooted CON 2020, Madrid, 5-7 Marzo 2/66 • Javier Yuste Moure ⁃ Ingeniero de Software (UPM) ⁃ Estudiante de Máster en Ciberseguridad (UC3M) ⁃ Analista de seguridad en Línea Directa • Interesado en análisis, anti-análisis y detección de malware Whoami @JavierYusteM
  3. 3. Resumen Los métodos tradicionales de detección de malware se han mostrado insuficientes para lidiar con el creciente número de muestras. Las técnicas de Aprendizaje Automático (ML, del inglés Machine Learning) han sido ampliamente adoptadas para solucionar este problema. En los últimos años, se han propuesto técnicas de ML que trabajan sobre los bytes en crudo para clasificar binarios. Sin embargo, estos métodos son vulnerables a distintos ataques. En este trabajo, se propone un mecanismo general, de caja negra, de creación de muestras de malware evasivas (AE, del inglés Adversarial Examples) para evaluar la robustez de métodos de detección basados en ML que operan sobre bytes en crudo. El mecanismo presentado ha sido evaluado contra una red conocida del Estado del Arte, MalConv, para la que alcanza hasta un 98.23% de evasión. Rooted CON 2020, Madrid, 5-7 Marzo 3/66
  4. 4. Motivación Rooted CON 2020, Madrid, 5-7 Marzo 4/66 No detectado !
  5. 5. Índice 1. Introducción 2. Objetivos y limitaciones 3. Propuesta algorítmica 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 5/66
  6. 6. Índice 1. Introducción ⁃ Redes Neuronales Artificiales ⁃ Ejemplos Adversarios 2. Objetivos y limitaciones 3. Propuesta algorítmica 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 6/66
  7. 7. Introducción • Software malicioso (malware) • Crecimiento del número de muestras (y variantes) • Incremento de la complejidad • Alto retorno de la inversión (ROI)1 Rooted CON 2020, Madrid, 5-7 Marzo 7/66 1 K. Huang, M. Siegel, S. Madnick, Systematically understanding the cyber attack business: A survey, ACM Computing Surveys 51 (4). doi:10.1145/3199674 Malware as a Service
  8. 8. Introducción Métodos tradicionales de detección Rooted CON 2020, Madrid, 5-7 Marzo 8/66 Firmas Red Heurísticas Muestra Equipo Estático Dinámico/ comportamiento
  9. 9. Aprendizaje automático Aprendizaje automático (ML, del inglés Machine Learning) ⁃ Basado en estadística ⁃ Aprende “por su cuenta” ⁃ Detecta malware nunca visto Rooted CON 2020, Madrid, 5-7 Marzo 9/66 Magia
  10. 10. Redes Neuronales Artificiales Rooted CON 2020, Madrid, 5-7 Marzo 10/66 AI ML ANN DL AI: Artificial Intelligence ML: Machine Learning ANN: Artificial Neural Network DL: Deep Learning
  11. 11. Redes Neuronales Artificiales Rooted CON 2020, Madrid, 5-7 Marzo 11/66 Entrada Capas ocultas Salida
  12. 12. Redes Neuronales Artificiales Rooted CON 2020, Madrid, 5-7 Marzo 12/66 y Parámetros entrenables
  13. 13. Redes Neuronales Artificiales • Entradas ⁃ Imports ⁃ API calls ⁃ Imagen ⁃ Bytes en crudo ⁃ Etc. • Salida ⁃ Frecuentemente, seguridad con que la entrada se considera perteneciente a la clase “malware” ⁃ Etc. Rooted CON 2020, Madrid, 5-7 Marzo 13/66
  14. 14. RNA: MalConv Rooted CON 2020, Madrid, 5-7 Marzo 14/66 PE Legítimo Malicioso 1 1 Adapted from E. Raff, J. Barker, J. Sylvester, R. Brandon, B. Catanzaro, C. Nicholas, Malware Detection by Eating a Whole EXE, in: Workshops at the Thirty-Second AAAI Conference on Artificial Intelligence, 2017. arXiv:1710.09435. URL http://arxiv.org/abs/1710.09435.
  15. 15. Aprendizaje automático Aprendizaje automático (ML) ⁃ No es la solución final ⁃ Puede ser evadido (de ahí este trabajo) ⁃ Otro método (útil) ⁃ Defensa en profundidad Rooted CON 2020, Madrid, 5-7 Marzo 15/66 MLHeurísticasFirmas
  16. 16. Adversarial Examples (AE) “Adversarial examples are inputs to machine learning models that an attacker has intentionally designed to cause the model to make a mistake; they’re like optical illusions for machines.” - OpenAI1 Rooted CON 2020, Madrid, 5-7 Marzo 16/66 1 https://openai.com/blog/adversarial-example-research/, Accessed on 02/02/2020
  17. 17. AE: aproximaciones1,2 • Caja blanca ⁃ Un atacante tiene acceso al modelo y a sus parámetros • Caja negra ⁃ Sin acceso al modelo, pero puede probarlo y obtener puntuaciones en respuesta ⁃ Solo puede probar el modelo y recibir etiquetas en respuesta (i.e., malware o no) Rooted CON 2020, Madrid, 5-7 Marzo 17/66 1 H. S. Anderson, A. Kharkar, B. Filar, P. Roth, Evading machine learning malware detection, Black Hat. 2 Únicamente teniendo en cuenta el conocimiento del modelo que tiene el atacante. Para una taxonomía más completa, véase Yuan, X., He, P., Zhu, Q., & Li, X. (2019). Adversarial Examples: Attacks and Defenses for Deep Learning. IEEE Transactions on Neural Networks and Learning Systems, 30(9), 2805–2824. https://doi.org/10.1109/TNNLS.2018.2886017.
  18. 18. AE: aproximaciones* Rooted CON 2020, Madrid, 5-7 Marzo 18/66 *Trend Micro Apex One
  19. 19. AE: limitaciones • Formato PE ⁃ Cabeceras ⁃ Tiempo de compilación ⁃ Imports ⁃ Exports ⁃ Secciones ⁃ Subsistema ⁃ Secciones ⁃ Código ⁃ Datos Rooted CON 2020, Madrid, 5-7 Marzo 19/66 Cabeceras Secciones Cabeceras .text .data .rdata
  20. 20. Desensamblado Rooted CON 2020, Madrid, 5-7 Marzo 20/66 1 Liang Xu, Fangqi Sun, and Zhendong Su. Constructing precise control flow graphs from binaries. 2009 1
  21. 21. • Retos en el desensamblado ⁃ Datos entre el código ⁃ Tamaño de instrucciones variable ⁃ Código auto-modificable o solapado ⁃ Control de flujo condicional ⁃ Llamadas a funciones indirectas ⁃ Código independiente de la posición (PIC) ⁃ Ensamblador escrito a mano • No hay abstracciones de alto nivel • El desensamblado es indecidible AE: limitaciones Rooted CON 2020, Madrid, 5-7 Marzo 21/66 1 Andriesse, D., Chen, X., van der Veen, V., Slowinska, A., & Bos, H. (2016). An in-depth analysis of disassembly on full-scale X86/x64 binaries. Proceedings of the 25th USENIX Security Symposium, 583–600. 2 https://www.usenix.org/legacy/publications/library/proceedings/usenix03/tech/full_papers/prasad/prasad_html/node5.html
  22. 22. AE: Estado del Arte Rooted CON 2020, Madrid, 5-7 Marzo 22/66 • Añade datos al final • Similar a añadir secciones Cabeceras Secciones Perturbaciones B. Kolosnjaji et al.1 : .text Cabeceras .data .rdata .text Cabeceras .data .rdata • Perturbaciones limitadas a una región (la menos importante) 1 Kolosnjaji, B., Demontis, A., Biggio, B., Maiorca, D., Giacinto, G., Eckert, C., & Roli, F. (2018). Adversarial Malware Binaries: Evading Deep Learning for Malware Detection in Executables.
  23. 23. AE: Estado del Arte Rooted CON 2020, Madrid, 5-7 Marzo 23/66 • Code caves2, alineamientos de secciones Cabeceras Secciones Perturbaciones F. Kreuk et al.1 : .text Cabeceras .data .rdata • Espacio muy limitado • No reconocible 1 F. Kreuk, A. Barak, S. Aviv-Reuven, M. Baruch, B. Pinkas, J. Keshet, Deceiving End-to-End Deep Learning Malware Detectors using Adversarial Examples (February). arXiv:1802.04528. URL http://arxiv.org/abs/1802.04528 2 P. Szor, The Art of Computer Virus Research and Defense, Addison-Wesley Professional, 2005. .text Cabeceras .data .rdata
  24. 24. AE: Estado del Arte Rooted CON 2020, Madrid, 5-7 Marzo 24/66 • Instrucciones semánticamente equivalentes Cabeceras Secciones Perturbaciones 1 Sharif, M., Lucas, K., Bauer, L., Reiter, M. K., & Shintre, S. (2019). Optimization-Guided Binary Diversification to Mislead Neural Networks for Malware Detection. Retrieved from http://arxiv.org/abs/1912.09064 M. Sharif et al.1 : .text Cabeceras .data .rdata Cabeceras .data .rdata • Espacio muy limitado • Asume desempaquetado • Difícil de detectar
  25. 25. Índice 1. Introducción 2. Objetivos y restricciones 3. Propuesta algorítmica 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 25/66
  26. 26. Objetivo Mejorar la eficacia de los detectores de malware basados en RNA Rooted CON 2020, Madrid, 5-7 Marzo 26/66
  27. 27. Objetivos y restricciones • Objetivos ⁃ Evaluar la robustez ante AE de detectores basados en RNA del Estado del Arte ⁃ Proponer un método de generación de AE para ⁃ Evaluación de la robustez ⁃ Reentrenamiento con muestras evasivas • Restricciones ⁃ Caja negra, independiente del modelo a evaluar (con acceso a las puntuaciones) ⁃ Binarios (Windows PE) sin acceso al código fuente ⁃ AE funcionales, con el mismo comportamiento que la muestra original Rooted CON 2020, Madrid, 5-7 Marzo 27/66
  28. 28. Objetivos y restricciones* • Entrada ⁃ Dado 𝒛 ∈ σ con una puntuación 𝑦 ∈ ℝ tal que 𝒚 > 𝜺, donde ⁃ σ es el conjunto de todas las posibles muestras de malware ⁃ 𝜀 es el límite de detección (i.e., 𝑦 > 𝜀 se considera malware) • Objetivo ⁃ Encontrar 𝒛′ ∈ σ con puntuación 𝑦′ ∈ ℝ tal que 𝒚′ < 𝜺 • Restricciones ⁃ 𝒛′ ∈ 𝐌, donde M es el conjunto de todas las muestras de malware que se comportan como 𝑧. ⁃ Sin acceso al modelo 𝝓 que devuelve puntuaciones (𝑦 = 𝜙 𝑧 ) Rooted CON 2020, Madrid, 5-7 Marzo 28/66 (*Semi-formal)
  29. 29. Índice 1. Introducción 2. Objetivos y limitaciones 3. Propuesta algorítmica ⁃ Perturbaciones ⁃ Optimización 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 29/66
  30. 30. Perturbaciones • El formato es muy sensible y propenso a la corrupción ante cambios • Si los binarios se ejecutan en memoria, podemos modificarlos sin afectar a su estructura en memoria? Rooted CON 2020, Madrid, 5-7 Marzo 30/66
  31. 31. Perturbaciones Proceso de carga Rooted CON 2020, Madrid, 5-7 Marzo 31/66 .text 0x1000 0x401000 0x402000 0x403000 .rdata .data 0x2000 0x3000 0x4000 0x404000 .text .rdata .data Disco Memoria
  32. 32. Manipulación de las cabeceras Rooted CON 2020, Madrid, 5-7 Marzo 32/66
  33. 33. Perturbaciones Rooted CON 2020, Madrid, 5-7 Marzo 33/66 0x0400 0x401000 0x40f000 0x418000 QCYiaatN .rsrc 0x1600 0x9C00 0xAC00 0x419000 cKrwgWRk QCYiaatN .rsrc Disco Memoria QCYiaatN .rsrc 0x0400 0x8A00 0x9400
  34. 34. Loader, mi amigo Rooted CON 2020, Madrid, 5-7 Marzo 34/66 • Code caves en esteroides?1 • Espacio ilimitado • Aumenta el tamaño • Diferentes secciones • Detectable (no es un problema realmente) Cabeceras Secciones Perturbaciones .text Cabeceras .data .rdata .text Cabeceras .data .rdata 1 K. Kaspersky, Hacker Debugging Uncovered (Uncovered Series), A-List Publishing, 2005.
  35. 35. Optimización • Somos capaces de introducir perturbaciones, ahora necesitamos optimizarlas • Limitaciones ⁃ No se conoce el número óptimo de bytes (ni cuáles se deben introducir) ⁃ Las perturbaciones ideales difieren para cada binario ⁃ La perturbación ideal difiere para cada bloque dentro del mismo fichero Rooted CON 2020, Madrid, 5-7 Marzo 35/66
  36. 36. Algoritmos Genéticos (GA) • Introducidos por John Holland • Basados en la teoría de la evolución • Un subcampo de los algoritmos metaheurísticos Rooted CON 2020, Madrid, 5-7 Marzo 36/66 Optimización Evolutivos Metaheurística GA
  37. 37. GA: esquema Rooted CON 2020, Madrid, 5-7 Marzo 37/66 Inicio Población inicial (Pop) Función objetivo Cruce Cond. parada Final Mutación Añadir a siguiente generación P2 tiene N ind. Pop = P2 Selección N S N S
  38. 38. GA: conceptos • Exploración vs explotación • Convergencia o estabilización • La velocidad de convergencia es proporcional a la presión • Mayor presión cuanta mayor probabilidad de seleccionar al individuo más fuerte para la reproducción • Óptimos locales Rooted CON 2020, Madrid, 5-7 Marzo 38/66
  39. 39. GA concepts Exploración vs explotación Rooted CON 2020, Madrid, 5-7 Marzo 39/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  40. 40. GA concepts Exploración vs explotación Rooted CON 2020, Madrid, 5-7 Marzo 40/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  41. 41. GA concepts Convergencia Rooted CON 2020, Madrid, 5-7 Marzo 41/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  42. 42. GA concepts Convergencia Rooted CON 2020, Madrid, 5-7 Marzo 42/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  43. 43. GA concepts Convergencia Rooted CON 2020, Madrid, 5-7 Marzo 43/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  44. 44. GA concepts Convergencia Rooted CON 2020, Madrid, 5-7 Marzo 44/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  45. 45. GA concepts Óptimos locales Rooted CON 2020, Madrid, 5-7 Marzo 45/66 y=1 y=0 𝜀 𝑧′ . 𝑧′ ∈ M Predicción
  46. 46. Modelado de la solución • Cada byte es representado por un gen • Una colección de genes es un cromosoma (~10-20000 bytes) • Una colección de cromosomas forma una población Rooted CON 2020, Madrid, 5-7 Marzo 46/66 55 8B EC 83 C4 F0 B8 D4 47 …
  47. 47. Cruce • Los bloques óptimos difieren por cada posición • Cruce por bloques (multi-crosspoint, ZX) Rooted CON 2020, Madrid, 5-7 Marzo 47/66 1E C2 45 2D 55 7B EB 40 55 C2 45 40 1E 7B EB 2D 1E C2 45 2D 55 7B EB 40 2D
  48. 48. Cruce Rooted CON 2020, Madrid, 5-7 Marzo 48/66 1 Reeves, C. R. (1993, June). Using Genetic Algorithms with Small Populations. In ICGA (Vol. 590, p. 92). • Soluciones grandes • Poblaciones pequeñas (50 soluciones) • No podemos alcanzar todos los puntos del espacio de soluciones mediante cruces1 ⁃ Si el bloque de mayor tamaño tiene 10 bytes, necesitamos más de 1024 soluciones ⁃ 10 bytes → 25610 = 1.208.925.819.614.629.174.706.176 = 1024 soluciones ⁃ 1000 bytes → 6*10240
  49. 49. Mutaciones • Alta mutación para reducir la convergencia • Reduce la presión y aumenta la exploración Rooted CON 2020, Madrid, 5-7 Marzo 49/66 1E C2 45 2D 55 7B EB 401E C2 45 2D 55 7B EB 40 1E C2 45 40 1E 7B EB 2D
  50. 50. Función objetivo Rooted CON 2020, Madrid, 5-7 Marzo 50/66 1. Escribir perturbaciones en el fichero 2. Obtener puntuación del modelo objetivo El objetivo es minimizar esa puntuación (i.e., cuanto menor es la puntuación, mejor es la solución) Minimizar 𝜙 𝑧 = 𝑦
  51. 51. Índice 1. Introducción 2. Objetivos y limitaciones 3. Propuesta algorítmica 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 51/66
  52. 52. Optimización Metodología Rooted CON 2020, Madrid, 5-7 Marzo 52/66 Perturbaciones tamaño X Aumentar X No detectado
  53. 53. 100% de detección • 2260 de 2260 muestras son detectadas • Predicciones ⁃ Media → 0.98 ⁃ Std Dev → 0.07 ⁃ Mediana → 0.99 Dataset Rooted CON 2020, Madrid, 5-7 Marzo 53/66 • Número de detecciones en Virus Total ⁃ Total (≥4) → 2245 ⁃ Media → 55.64 ⁃ Std Dev → 16.4 ⁃ Mediana → 61 • Tamaño ⁃ Media → 638.77 KB
  54. 54. Resultados: evasión Rooted CON 2020, Madrid, 5-7 Marzo 54/66 Antes Después 100% de detección • 2260 de 2260 muestras son detectadas • Predicciones ⁃ Media → 0.98 ⁃ Std Dev → 0.07 ⁃ Mediana → 0.99 1,67% de detección • 40 de 2260 muestras son detectadas • Predicciones ⁃ Media → 0.39 ⁃ Std Dev → 0.17 ⁃ Mediana → 0.47
  55. 55. Resultados: evasión Rooted CON 2020, Madrid, 5-7 Marzo 55/66 Evasión: 98,23% 2220 de 2260 muestras son evadidas
  56. 56. 1990 111 32 35 17 35 0 500 1000 1500 2000 2500 <10% <20% <30% <40% <50% >50% Númerodemuestras Tamaño introducido Tamaño Resultados: tamaño Rooted CON 2020, Madrid, 5-7 Marzo 56/66 ⁃ Media → 5.14 % ⁃ Std Dev → 10.81 % ⁃ Mediana → 0.98 %
  57. 57. 1335 0 70 316 15 24 135 6 2 87 0 200 400 600 800 1000 1200 1400 1600 <1% <2% <3% <4% <5% <6% <7% <8% <9% <10% Númerodemuestras Tamaño introducido Tamaño (<10%) Resultados: tamaño Rooted CON 2020, Madrid, 5-7 Marzo 57/66 ⁃ Media → 5.14 % ⁃ Std Dev → 10.81 % ⁃ Mediana → 0.98 %
  58. 58. Resultados: tamaño* •Tiempo ⁃ Total → 385.31 horas → 16 días ⁃ Media → 624.83 s → 10.41 min ⁃ Std Dev → 1608.87 s → 26.81 min ⁃ Mediana → 236.73 s → 3.95 min Rooted CON 2020, Madrid, 5-7 Marzo 58/66 * Intel i5, 8a generación, 16 GB RAM, SSD
  59. 59. Resultados: bytes Rooted CON 2020, Madrid, 5-7 Marzo 59/66 110000 115000 120000 125000 130000 135000 140000 145000 150000 155000 0 30 60 90 120 150 180 210 240 Apariciones Bytes Bytes introducidos
  60. 60. Demo Rooted CON 2020, Madrid, 5-7 Marzo 60/66 Vídeo Demo
  61. 61. Índice 1. Introducción 2. Objetivos y limitaciones 3. Propuesta algorítmica 4. Resultados experimentales 5. Conclusiones y trabajo futuro Rooted CON 2020, Madrid, 5-7 Marzo 61/66
  62. 62. Resumen • Mecanismo de generación de AE ⁃ Permite evaluar detectores de malware basados en RNA sobre bytes en crudo ⁃ Hasta un 98,23% de evasión sobre MalConv ⁃ Resultados funcionales ⁃ Incremento de tamaño despreciable ⁃ Tiempo de generación reducido ⁃ Permite utilizar las muestras evasivas para reentrenar la red ⁃ Difícilmente detectable si el atacante tiene acceso al código fuente y al proceso de compilación Rooted CON 2020, Madrid, 5-7 Marzo 62/66
  63. 63. Conclusiones • Los modelos de DL no son la solución final • Son útiles, siempre y cuando se tengan en consideración sus debilidades • Pueden ser evadidos • Se deberían exigir métricas de robustez (tal y como se proveen ratios de detección y falsos positivos) • Existen métodos para evaluar la robustez de estos modelos Rooted CON 2020, Madrid, 5-7 Marzo 63/66
  64. 64. Trabajo futuro • Mezclar diferentes aproximaciones (i.e., sustitución de instrucciones + manipulación de las cabeceras + code caves) • Apilar diferentes modelos • Evaluar la eficacia del reentrenamiento con AE • Publicar un artículo del trabajo Rooted CON 2020, Madrid, 5-7 Marzo 64/66
  65. 65. Evading Deep Learning Malware Detectors Javier Yuste Moure javier.yuste@protonmail.com @JavierYusteM UC3M Eduardo García Pardo eduardo.pardo@urjc.es URJC Rooted CON 2020, Madrid, 5-7 Marzo Evading Deep Learning malware detectors

×