Proceso para análisis de archivos ejecutables potencialmente maliciosos Juan Fernando Mejía C. Analista Forense Junior Diplomado en Peritaje Informático Tesista Magister en Seguridad, Peritaje y Auditoría Informática https://twitter.com/juanmejiacalle https://www.linkedin.com/in/juanmejiacalle www.fci.cl · [email protected] Prevención, Detección e Investigación de Delitos Informáticos Información personal EDUCACIÓN SUPERIOR • Universidad de Cuenca, Facultad de Ingeniería – – Ingeniero de Sistemas (Julio 2009) Tesis: Rediseño de la red de datos de la Universidad de Cuenca CUARTO NIVEL • Becario Senescyt • Universidad SanDago de Chile – – – Diplomado en Control, Seguridad y Auditoría (Junio 2015) Diplomado en Peritaje InformáDco (Junio 2015) Magister en Seguridad, Peritaje y Auditoría InformáDca (2016) CAPACITACIONES • Fundamentos de la gesDón de servicios tecnológicos IDl edición 2011 • CCNA2 • CCNA1 • Propiedad intelectual y transferencia tecnológica • Mobile Malware Threats • Cripto extorsión en móviles • InformáDca Forense • OpenSAM y seguridad en ciclo de desarrollo OWASP • Ethical Hacking AREAS DE EXPERIENCIA • InformáDca Forense • Respuesta a Incidentes • Peritaje • Diseño de Redes • Configuración de equipos de red, servidores y comunicaciones • AcDve Directory, GPO • Seguridad en redes • Call Manager Cisco y Telefonía IP • Instalación de enlaces radiales • Docencia Universitaria • Educación Virtual EXPERIENCIA PROFESIONAL • FCI LTDA (Chile), InvesDgador forense junior • UNIVERSIDAD DE CUENCA: Docente contratado • UNIVERSIDAD DE CUENCA: Ingeniero de sistemas • CESEL S.A.:Consultor • EDEN HOGAR: Consultor • ECUANET-­‐MEGADATOS: Técnico www.fci.cl · [email protected] www.fci.cl · [email protected] Tendencia actual En la actualidad los ataques de malware en cualquiera de sus definiciones, se han converDdo en un problema latente y que crece a pasos agigantados. Fuente: ESET LaDnoamérica 2012-­‐2013 www.fci.cl · [email protected] Algunos indicadores www.fci.cl · [email protected] Qué hacer?... www.fci.cl · [email protected] Marco teórico • Problema actual • Análisis de malware • Análisis estáCco • Análisis dinámico • Análisis de ensamblador • BibliograFa y estado del arte Proceso para análisis de malware • Fase preliminar • Análisis estáCco • Análisis dinámico • Análisis externo • Análisis pasivo • Análisis acCvo Demo • Aplicación del proceso www.fci.cl · [email protected] Problemática actual… • Empresas están tranquilas con implementar AnDvirus, IDS, IPS, pero no son completamente seguros • Existen ataques que no son reconocidos por los an#virus, IPS, IDS, conocidos como “ataques de día cero” • Problemas en empresas/insDtuciones: o o o o o Comprometer información importante y confidencial Poner en riesgo la conDnuidad del negocio Poner en riesgo su reputación frente a sus clientes Chantajear por el salvataje de información robada Vender bases de datos en el mercado negro. • Necesidad de conocer las caracterísDcas de un archivo ejecutable sospechoso para tomar decisiones • Presentar un marco de referencia para analizar archivos ejecutables (peritaje o invesDgación forense) www.fci.cl · [email protected] Definiciones Se puede definir a un “Malware” (que proviene de las palabras sokware y malicioso) como: un programa diseñado y distribuido para llevar a cabo acciones mal intencionadas. Microsok, Defining Malware: FAQ , 2003. Para conocer el funcionamiento de un archivo ejecutable es necesario realizar un análisis interno del mismo, a esto se le conoce como “análisis de malware”, definiéndolo como el arte de diseccionar un sokware malicioso con el propósito de entender cómo funciona y cómo idenDficarlo. Sikorsky & Honig, Praise for PracDcal Malware Analysis, 2012. La intención determinar exactamente lo que sucedió en una intrusión y asegurarse de que se haya encontrado todas las computadoras y archivos infectados. www.fci.cl · [email protected] Estructura de archivos PE IMAGE_DOS_HEADER y MS-­‐DOS Stub • Datos de funcionamiento cuando el archivo no se ejecuta en modo gráfico, sino que se ejecuta en modo consola. PE (PE Header) • PE Signature): firma del archivo • IMAGE FILE HEADER: metadatos del archivo, incluyendo, el Dempo y la fecha en que el archivo fue compilado/creado, la plataforma de desDno/procesador. • IMAGE_OPTIONAL_HEADER: conDene la versión usada para compilar el archivo ejecutable, DLLs, versión del sistema operaDvo, entre otros. IMAGE_SECTION_HEADER: iinformación acerca de cada sección del archivo PE como tamaño virtual y tamaño en disco. • .text conDene las instrucciones que la CPU ejecuta. Todas las demás secciones almacenan datos e información de apoyo. Generalmente, esta es la única sección que puede ejecutar. • .rdata conDene la información de recursos importados y exportados. A veces un archivo contendrá una sección .idata y .edata, que almacenan la información de importación y exportación. • .data conDene datos globales que son accesibles desde cualquier parte del programa. • .rsrc incluye los recursos uDlizados que no se consideran parte del ejecutable, como iconos, imágenes, menús y cadenas. www.fci.cl · [email protected] Tipos de análisis de malware Análisis EstáDco Análisis Dinámico Análisis Ensamblador www.fci.cl · [email protected] Análisis Estático El análisis estáCco implica examinar el malware sin ejecutarlo. Se puede tener un acercamiento de qué es lo que hace o cuáles son las consecuencias que generará si llegase a infectar un sistema. • • • • • • • • Información de su cabecera Tamaño virtual y en disco, Nombre Fecha de modificación y creación Versión Autor Librerías dlls Strings www.fci.cl · [email protected] Análisis Dinámico El análisis dinámico implica ejecutar el archivo para observar su comportamiento. • • • • Capacidad de abrir conexiones con el mundo exterior Las alteraciones del registro Modificaciones del sistema de archivos Procesos en ejecución www.fci.cl · [email protected] Análisis Ensamblador Este análisis Dene por objeDvo examinar las instrucciones que forman el archivo ejecutable en lenguaje ensamblador (lenguaje de bajo nivel para computadores, microprocesadores, circuitos integrados) con la finalidad de entender su lógica de funcionamiento. Se realiza un proceso de ingeniería inversa. Para realizar este análisis se requiere mayor esfuerzo y tener altos conocimientos de lenguaje ensamblador www.fci.cl · [email protected] Bibliografía MÉTODO 1 MÉTODO 3 MÉTODO 2 Sikorsky & Honig (2012). Praise for Prac#cal Malware Analysis Malin, Casey & Aquilina (2012). Malware Forensics Field Guide for Windows Systems MÉTODO 4 Aquilina, Casey & Malin (2008). Malware Forensics Inves#ga#ng and Analyzing Malicious Code. Harley & Vibert, R. (2007). AVIEN Malware Defense Guide for the Enterprise. Investigaciones científicas Análisis dinámico Análisis estáCco (Saini & otros, 2014) (Tian & otros, 2010) Integración de caracterísCcas (Santos, & otros, 2012) (Islama & otros, 2013) (Schultz & otros, 2001) (Xuv & otros, 2005) (Bailey, y otros, 2007) (Nari & Ghorbani, 2013) (Gandotra & otros, 2014) (Shijo & Salim, 2015) Shijo y Salim, 2015 www.fci.cl · [email protected] Marco teórico • Problema actual • Análisis de malware • Análisis estáCco • Análisis dinámico • Análisis de ensamblador • BibliograFa y estado del arte Proceso para análisis de malware • Fase preliminar • Análisis estáCco • Análisis dinámico • Análisis pasivo • Análisis acCvo • Análisis externo Demo • Aplicación del proceso www.fci.cl · [email protected] Caracterización Análisis EstáCco Comparación en repositorios online Búsqueda de strings Revisión de librerìas de funciones Revisión de archivos ofuscados Revisión de la cabecera Escaneo con anDvirus Visualización con histogramas IdenDficación de Dpo de archivo Secuencia de caracteres Método 1 Método 2 Método 3 Método 4 Arsculos Ciensficos x x x x x x x x x x x x x x x x x x x x x x x x x x x www.fci.cl · [email protected] Caracterización Análisis Dinámico Método 1 Método 2 Método 3 Método 4 Arsculos Ciensficos Configuración de máquinas virtuales Simulación DNS Simulación de servicios Análisis Sandbox Comparación de Snapshots Análisis de parámetros de inicio Monitoreo Integridad Monitoreo de Instalación Monitoreo de Procesos Monitoreo de Sistema de archivos Monitoreo de Registros Monitoreo de AcDvidad Red Monitoreo de Puertos Monitoreo de llamadas API Medios de ofuscación Análisis de Ensamblador Visualización de procesos Detección de paquetes x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x www.fci.cl · [email protected] Fases para análisis de archivos ejecutables Máquina a infectar Desempaquetadores Dependencias Máquina captura Máquinas virtuales Máquina simulador Ambiente Real Fase de análisis estático Fase Preliminar Tipo de archivo Pre Ejecución Virustotal Fase de análisis externo Fase de análisis pasivo Red y puertos Fase de análisis activo Instalación Sandbox Strings Post Ejecución Malwr www.fci.cl · [email protected] Registros Sistema de archivos Procesos Anubis Dlls y APIs Fase Preliminar Fase preliminar Entrada Equipo de infraestructura Equipo de Respuesta de Incidentes Direcciones IP v Inicio Instalación de máquinas virtuales Proceso Virtual Box Windows 7 Kali Linux Centos Configuración de red aislada Instalación de software especializado Instalación y configuración de simulación de servicios Salida Fin Ambiente Virtual Aislado www.fci.cl · [email protected] Fase análisis Estático Fase de Análisis Estático Equipo de Respuesta de Incidentes Entrada Equipo de Analistas Especializados Usuario Archivo ejecutable PE32 Inicio Identificación del tipo de archivo e información inherente Extracción de strings Determinación de dependencias Proceso Análisis dcon desempaquetadores Reporte Análisis de Reporte Fin Salida www.fci.cl · [email protected] Informe Fase análisis Externo Fase de Análisis Externo Entrada Equipo de Respuesta de Incidentes Equipo de Analistas Especializados Usuario Archivo ejecutable PE32 Inicio Subir archivo a Sandbox online Virustotal Malwr Anubis Proceso Configuración de la Máquina virtual a internet Reporte Salida Análisis de Reporte Fin Informe www.fci.cl · [email protected] Fase de Análisis Pasivo Entrada Equipo de Respuesta de Incidentes Equipo de Analistas Especializados Usuario Archivo ejecutable PE32 Inicio Captura de instantánea Pre-ejecución Ejecución del malware Proceso Captura de instantánea Post-ejecución Comparación de instantáneas Reporte Análisis de Reporte Salida Fase análisis Pasivo www.fci.cl · [email protected] Fin Informe Equipo de Respuesta de Incidentes Equipo de Analistas Especializados Archivo ejecutable PE32 Inicio Usuario Ejecución de malware con software especializado Análisis de monitoreo de Instalación Análisis de monitoreo de Procesos Análisis de monitoreo de sistema de archivos Proceso Análisis de monitoreo de Registros Análisis de monitoreo de red Análisis de monitoreo de puertos Análisis de monitoreo de llamadas API Reporte Análisis de reporte Salida Fase análisis Activo Entrada Fase de Análisis Activo www.fci.cl · [email protected] Fin Informe Marco teórico • Problema actual • Análisis de malware • Análisis estáCco • Análisis dinámico • Análisis de ensamblador • BibliograFa y estado del arte Proceso para análisis de malware • Fase preliminar • Análisis estáCco • Análisis dinámico • Análisis pasivo • Análisis acCvo • Análisis externo Demo • Aplicación del proceso www.fci.cl · [email protected] Aplicación del proceso Aplicación a un ransomware Demo… www.fci.cl · [email protected] Preguntas y Agradecimientos Ate., Juan Fernando Mejía C. Analista Forense Junior Diplomado en Peritaje Informático Magister en Seguridad, Peritaje y Auditoría Informática https://twitter.com/juanmejiacalle https://cl.linkedin.com/in/juan-fernando-mejía-calle-5067272b www.fci.cl · [email protected]