99

2015-Q2 - Malware Analysis Fundamentals.pdf

Embed Size (px)

Citation preview

  • Parte 1

  • Caso de estudio: Ud. mismo 1. Suena el telfono y es su jefe

    indicando que los clientes no pueden acceder. La red est siendo atacada.

    2. Llegas al lugar del incidente. Formateas los equipos, instalas nuevos antivirus, actualizas todo y entras en operaciones otra vez en 3 das.

    3. Pasan 2 semanas y los problemas vuelven, esta vez ms intensos.

    4. No sabes qu hacer y hay que llamar a un especialista

  • Definicin de Malware Malware

    Abreviatura de malicious software

    Es cualquier software que cause detrimento al usuario o a los equipos.

    Es tambin cualquier software usado para generar ganancias al atacante sin autorizacin del propietario del equipo.

  • Historia del malware Hace 27 aos apareci el primer virus de computadora

    IBM (Brain.A). En 1986 los virus se hacan para demostrar que eran posibles.

    Desde finales de los aos 80 hasta el 2003, el propsito fue destructivo. Ejemplos: LoveLetter, Melissa, etc.

  • Historia del malware En el ao 2003, el malware empieza a convertirse en

    una cuestin de dinero. Ejemplo: Fiddler.

  • Historia del malware En el ao 2007, el malware empieza a ser tambin de

    espionaje gubernamental. Ejemplo: FinFisher, Bundestrojaner, Stuxnet, Flame, Red October, etc.

  • Fuen

    te: A

    V-T

    EST.

    org

  • Estadsticas del malware Muestras por mes (Fuente: Shadowserver Foundation)

  • Estadsticas del malware Crecimiento del malware mvil (Fuente: F-Secure Labs)

  • Impacto en los individuos Impacto psicolgico:

    Scareware: Software diseado para asustar.

  • Impacto en los individuos Impacto fsico:

    No se descarta la posibilidad (Caso: Stuxnet). Ataque MitM para espiar rebeldes (Caso: Diginotar).

  • Impacto en las compaas En el negocio electrnico.

    Causa mala reputacin: Cuando el AV captura un sitio web corporativo infectado.

  • Impacto en las compaas En el negocio electrnico.

    Causa desvos de ganancias: Los atacantes infectan el sitio web con banners que desvan los ingresos originales hacia ellos.

  • Impacto en las compaas En la estacin de trabajo:

    Impide el funcionamiento normal del equipo y afecta su productividad (Sabotaje).

    Habilita el robo de informacin confidencial (Espionaje).

  • Tipos de malware s/alcance Ataques masivos (mass malware).

    Estos ataques estn diseados para infectar la mayor cantidad de equipos posibles.

    No suelen ser ataques sofisticados. Generalmente son fciles de detectar.

    Ataques dirigidos (targeted malware). Estos ataques se disean especficamente para un grupo,

    organizacin o persona. Altamente sofisticados. Son desconocidos y difciles de detectar.

  • Tipos de malware s/propsito Malware con fines de lucro: Malware que se desarrolla

    para generar dinero con los equipos infectados.

  • Rol del malware en la economa Cmo los criminales hacen dinero con el malware?

    Desvo de ganancias: Al insertar/reemplazar banners publicitarios en sitios web.

    Venta de estadsticas de uso: Elaboran reportes de uso con informacin de los usuarios que se vende en el mercado negro.

    Venta de informacin confidencial: Extraen informacin confidencial y la venden en el mercado negro.

  • Rol del malware en la economa Cmo los criminales hacen dinero con el malware?

    Minera bitcoin: Utilizan los computadores para minar bitcoins, actividad muy rentable si se tienen muchos equipos.

    PPI: Pago por instalacin de software en los equipos infectados.

    Alquiler de botnets: Por un tiempo limitado, se concede acceso al mejor postor a que haga uso de los equipos infectados.

  • Ataque: Jackpotting Consiste en infectar un ATM para extraer el dinero de

    su bveda interna.

    En BlackHat USA 2010, Barnaby Jack demostr el ataque en vivo infectando un ATM.

    Sirvi de inspiracin para ataques actuales a bancos.

  • Tipos de malware s/propsito Malware con fines activistas: Malware que se desarrolla

    para enviar propaganda poltica.

  • Tipos de malware s/propsito Malware con fines gubernamentales: Malware que se

    desarrolla para la ciberguerra y espionaje ciudadano.

  • Ataque: FinFisher en Mxico

    Costo a la Procuradura General de la Repblica: 15.5 millones de dlares (2012)

  • Sntomas de un equipo infectado Lentitud en el sistema.

    Muchas aplicaciones de procedencia dudosa cargadas en el sistema son un posible signo de infeccin.

    Publicidad mientras navega, donde no debera estar. Ejemplo: YouTube solamente tiene publicidad dentro de

    los vdeos, no emplea banners o tcticas similares. Cuando el navegador tiene barras de herramientas

    extras (toolbars). No necesariamente daan el equipo, pero es publicidad.

    Prdida de informacin.

  • Vectores de infeccin Vulnerabilidades en aplicaciones:

    RCE (Remote Code Execution): Vulnerabilidad que permite ejecutar cdigo arbitrario en aplicaciones. Tambin puede suceder en sistemas operativos.

  • Vectores de infeccin Medios extrables:

    Contaminacin en el sistema de archivos: Malware que detecta la insercin de un pendrive y lo infecta.

  • Ejemplo: Memoria infectada

  • Evadiendo las infecciones

  • Vectores de infeccin Documentos descargados de Internet:

    Algunos tipos de archivos pueden llevar algn tipo de cdigo ejecutable, tales como las Macros en Excel, o el JavaScript en el formato PDF.

  • Vectores de infeccin Vulnerabilidades en el navegador (drive-by download):

    Hay formas de infectarse simplemente navegando la web, ya sea infectando el navegador o sus plugins (Flash, Java, ).

  • Vectores de infeccin Ingeniera social:

    A travs de dark patterns, se puede llevar a las vctimas a cometer acciones indebidas.

    Dark patterns: Es un tipo de interfaz de usuario que est diseada para engaar al usuario.

    Los dark patterns ms comunes son: Bait-and-switch: Haces click y llegas a

    donde no es. Disguised-ads: Publicidad disfrazada.

  • Domain Generation Algorithm Algoritmo de generacin de dominios: Se encarga de

    generar dominios web para establecer puntos de conexin con sus servidores de control.

    Los dominios parecen aleatorios, pero realmente estn calculados. Usualmente basndose en la fecha y hora actual.

  • Ejemplo de DGA def generate_domain(year, month, day): domain = "" for i in range(16): year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) > 25) ^ 16 * (month & 0xFFFFFFF8) day = ((day ^ (day > 19) ^ ((day & 0xFFFFFFFE)
  • Parte 2

  • Taxonoma del malware Virus Gusanos

    Infecta varios archivos en el disco duro, para valerse de la propagacin.

    Se propaga empleando el mejor esfuerzo.

    Muchas veces su propagacin empieza porque una persona lo activa accidentalmente.

    Principalmente se basa en archivos.

    Infecta los dispositivos de comunicacin, para valerse de la propagacin.

    Se propaga enumerando los dispositivos de la red.

    Sus mecanismos de propagacin pueden no necesitar de intervencin humana.

    Principalmente se basa en cdigo auto-contenido.

  • Taxonoma del malware Caballos de Troya (Trojan Horses)

    Software aparentemente benvolo/til,

    que oculta otro en s mismo. Ejemplo: Programa de antivirus que al

    abrirlo instala publicidad en el sistema.

    No hay que confundirlos con los

    Remote Administration Tools (RATs).

  • App binder + RAT

  • Distintos tipos de troyanos Backdoor Trojans Banking Trojans

    Su propsito es mantener el acceso en el sistema por parte del criminal/atacante, a travs de una herramienta de administracin remota (RAT).

    Su propsito es interceptar la comunicacin entre el cliente y el banco, para robar las credenciales de acceso y eventualmente, vaciar la cuenta del cliente.

    Trojan Downloader

    Su propsito es mantener los troyanos actualizados en el sistema.

  • Taxonoma del malware Botnets

    Software que convierte a tu equipo

    en miembro de una red zombie.

    Los botmasters controlan los bots en masa y tambin al detal.

    El acceso a las computadoras se vende en grupos de miles.

  • Caso de estudio: Storm Red zombie P2P. Para Septiembre 2007, haba infectado

    aproximadamente 45 millones de mquinas. Desaparece en Noviembre 2008. Actividad principal: Spam.

  • Taxonoma del malware Ransomware

    Cifra los archivos del equipo sin

    permiso del usuario, mantenindolos como rehenes.

    Para descifrarlos, es necesario pagar para liberarlos del secuestro.

  • Taxonoma del malware Rootkits

    Software que se encarga de ocultar otro en el sistema.

    Capturan y modifican los resultados de las instrucciones al sistema operativo.

    Se pueden posicionar en varios niveles: Modo usuario, modo kernel (ncleo), modo hypervisor, modo UEFI.

    Se caracterizan por ser herramientas post-penetracin.

  • Funcionamiento de un rootkit

  • Funcionamiento de un rootkit

    Modo kernel (ncleo OS)

    Drivers Hardware

    Rootkit

    Cdigo malicioso Valores modificados

    Modo usuario

    Aplicaciones Utilitarios

  • Funcionamiento de un rootkit Antes de activar el rootkit

  • Funcionamiento de un rootkit Despus de activar el rootkit

  • Funcionamiento de los AV Funcionamiento por firmas de archivos

    (virus signatures).

    Anlisis heurstico.

    Sistema de prevencin de intrusiones basado en el Host (Host-based Intrusion Prevention System).

    Antivirus en la nube (cloud).

  • Deteccin por firmas de archivo Se buscan pedazos de texto conocidos

    de archivos. Es una tcnica que est perdiendo

    vigencia, pero an se usa para detectar malware sencillo.

    Es efectivo cuando el malware no es polimrfico.

    YARA (http://plusvic.github.io/yara/)

  • Ejemplo de firma de malware rule silent_banker : banker { meta: description = "Esto es un ejemplo." thread_level = 3 in_the_wild = true strings: $a = {6A 40 68 00 30 00 00 6A 14 8D 91} $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9} $c = "UVODFRYSIHLNWPEJXQZAKCBGMT" condition: $a or $b or $c }

  • Anlisis heurstico En teora, es capaz de detectar malware

    an desconocido por el antivirus. Incluye una sandbox en el que asla el

    malware y lo ejecuta para registrar la actividad.

    Funciona tambin basado en ciertas reglas y estadsticas.

    Descompila el software para compararlo con otras muestras conocidas.

  • Ejemplo de anlisis heurstico Condiciones: Si hace uso de conexiones a un servidor externo,

    entonces: Analizar a qu servidor se conecta Es de una lista de

    servidores conocidos? Es un algoritmo DGA? Simular la conexin a ese servidor.

    Es capaz de sobreescribir archivos? Qu otras funciones tiene? Clasificar las funciones

    maliciosas y compararlas con las acciones positivas.

  • Caso Stuxnet (VirusBlokAda) Stuxnet fue un malware descubierto en Junio 2010.

    Atacaba las centrales elctricas nucleares de Irn para sabotear las centrfugas de enriquecimiento de uranio.

    Pas desapercibido gracias a que: Permaneca inactivo mientras no estuviera en su

    objetivo. Mantuvo gran cantidad de cdigo basura, engaando al

    sistema heurstico. Emplea aprox. 20 exploits zeroday. Estuvo firmado digitalmente por certificados robados de

    JMicron Technology y Realtek Semiconductor.

  • Deteccin HIPS El Sistema de prevencin de intrusiones

    basado en el Host (Host-based Instrusion Prevention System) funciona similar al anlisis heurstico, en el sentido de tener reglas de deteccin.

    Analiza trfico de red tambin (desde el host).

    Puede detener una aplicacin al detectar un comportamiento malicioso en progreso.

    Es parte del firewall del equipo.

  • Intrusion (Detection/Prevention) S. N-IDS (Network-based):

    Detecta las amenazas en red y alerta al administrador.

    H-IDS (Host-based): Detecta las amenazas en los equipos y alerta al administrador.

    Las firmas de deteccin son configurables.

    N-IPS (Network-based): Detiene las amenazas en red y alerta al administrador.

    H-IPS (Host-based): Detiene las amenazas en los equipos y alertan al administrador.

    Los eventos a ejecutar son configurables.

  • Honeypots

    Son equipos con vulnerabilidades aadidas a propsito.

    Equipos en DMZ, pero con registros de actividad detallados.

    Se usan con software de imagen de disco, para restaurarlas con facilidad.

  • Honeynets Son redes de honeypots. Se dedican los equipos a la

    actividad de registro de los atacantes.

  • Cifrado de una va Cualquier cambio en el input cambiar el valor final.

    Tamao fijo. Se puede usar para verificar contraseas, ya que es irreversible.

  • Ejemplo: SHA-1 Funcin criptogrfica de hash de 160 bits.

    Valor SHA-1(Valor) abcd1234 7ce0359f12857f2a90c7de465f40a95f01cb5da9 abdc1234 9c0f04357f03dda56d0d2a56404b7b786fa70bc8 1234abcd e7d537e128158790157ea057bb883e0292a84930 ABCD1234 e331b72617e2a02b6a8d9f24065d1a293b6f99bb

  • Colisiones en el cifrado de una va Las colisiones ocurren debido a que stos algoritmos

    son de tamao fijo. >>> from array import array >>> from hashlib import md5 >>> input1 = array('I', [0x6165300e,0x87a79a55,0xf7c60bd0,0x34febd0b,0x6503cf04, 0x854f709e,0xfb0fc034,0x874c9c65,0x2f94cc40,0x15a12deb,0x5c15f4a3,0x490786bb, 0x6d658673,0xa4341f7d,0x8fd75920,0xefd18d5a]) >>> input2 = array('I', [x^y for x,y in zip(input1, [0, 0, 0, 0, 0, 1>> md5(input1).hexdigest() 'cee9a457e790cf20d4bdaa6d69f01e41' >>> md5(input2).hexdigest() 'cee9a457e790cf20d4bdaa6d69f01e41'

  • Antivirus en la nube (cloud) No analiza los archivos localmente,

    sino que los pasa a una funcin hash y verifica la reputacin en lnea.

    Permite la inmediata deteccin de un malware sin tener que actualizar el antivirus, siempre que se tenga conexin a Internet.

    Por s sola esta tcnica no es til, debe combinarse con las dems para ser realmente efectiva.

  • Ejemplo de anlisis en la nube Archivo sospechoso: invoice-880.jar md5(ruta-del-archivo/invoice-880.jar) e8f164de859996f8059ec67056b8f12c Verificamos su estado (remotamente) NO_DATA

    http://hash.cymru.com/

  • Servicios de anlisis en lnea VirusTotal (https://www.virustotal.com/).

    Originalmente creado por Hispasec Sistemas. Aproximadamente 52 antivirus activos.

    JOTTI (http://virusscan.jotti.org/en). Aproximadamente 20 antivirus activos.

    COMODO (https://valkyrie.comodo.com/) Analiza usando la ltima tecnologa de COMODO.

    AVG (http://www.avgthreatlabs.com/website-safety-reports/) Analiza direcciones en lnea (URLs).

  • Parte 3

  • Ingeniera Inversa

    El es proceso de extraer conocimiento o informacin de diseo sobre cualquier creacin humana.

    Para analizar malware, hay dos enfoques de ingeniera inversa: Anlisis esttico Anlisis dinmico

  • Tipos de anlisis de malware Anlisis esttico (Static analysis).

    Es el anlisis de malware que se hace sin ejecutar la muestra sospechosa. Puede hacerse inspeccionando el cdigo fuente o desensamblado.

    Anlisis dinmico (Dynamic analysis):

    Es el anlisis de malware que se hace ejecutando la muestra en un entorno seguro de inspeccin.

  • Anlisis esttico (Static analysis) En su modalidad bsica:

    Observar los atributos de la muestra sospechosa. Basndonos en unas reglas simples podemos determinar si es confiable o no. Ej: Est firmado digitalmente? Cmo lleg a nuestro sistema?

    Ventaja: Escribir una firma de deteccin es

    relativamente rpido y sencillo. Desventaja:

    No funciona con malware avanzado.

  • Anlisis esttico (Static analysis) En su modalidad avanzada:

    Estudiar las instrucciones del ejecutable desensamblado sin ejecutarlo. Se ejecutan las instrucciones tal cual como se encuentran.

    Ventaja: Funciona con cualquier tipo de malware.

    Desventaja: Escribir una firma de deteccin puede

    complicarse, pero es efectiva. Requiere mucha prctica.

  • Anlisis dinmico (Dyn. analysis) En su modalidad bsica:

    Observar el comportamiento a simple vista del archivo sospechoso ejecutndolo en un entorno seguro, sandbox o mquina virtual.

    Ventaja: Escribir una firma de deteccin es

    relativamente rpido y sencillo. Desventaja:

    No funciona con malware avanzado. Puede haber material que est dejando de ver.

  • Anlisis dinmico (Dyn. analysis) En su modalidad avanzada:

    Observar el comportamiento de un ejecutable con un depurador corrindolo en un entorno seguro. Se pueden usar herramientas de fornsica digital.

    Ventaja: Es muy efectivo a la hora de analizar

    comportamiento. Desventaja:

    No siempre funciona con cualquier tipo de malware.

  • Malware Labs

    Un laboratorio de malware es el entorno seguro de inspeccin que el analista emplea para el estudio de la muestra sospechosa.

    Se puede configurar con sandboxes, mquinas virtuales, equipos reales con sistemas de registro, entre otros.

  • Sandbox vs. Mquina virtual Corre directamente en el

    equipo aisladamente. Utiliza el mismo sistema

    operativo en el que se encuentra.

    Con un equipo sencillo es suficiente.

    No tener se debe tener archivos personales en el sistema.

    Corre en un espacio aislado de la memoria.

    Es necesario que tenga un sistema operativo propio.

    Es necesario un equipo relativamente potente.

    No tener se debe tener archivos personales en el sistema.

  • NSLOOKUP de un Dominio Se usa para obtener los registros de direcciones IP. Tambin se argumenta que PING funciona para esta

    tarea, pero NSLOOKUP es la apropiada.

    > google.com Servidor: UnKnown Address: 192.168.1.1 Respuesta no autoritativa: Nombre: google.com Addresses: 190.142.193.59, 190.142.193.29, 190.142.193.24, 190.142.193.35 190.142.193.30, 190.142.193.25, 190.142.193.55, 190.142.193.20, 190.142.193.39 190.142.193.34, 190.142.193.50, 190.142.193.45, 190.142.193.49, 190.142.193.40 190.142.193.44, 190.142.193.54 >

  • WHOIS de un Dominio Funciona para averiguar el propietario de

    un dominio en Internet y recopilar informacin relevante.

    Websites: whois.domaintools.com/dominio.com

    Herramientas Linux: Comando whois Herramientas Windows: Sysinternals

    Suite (www.sysinternals.com) Incluye tambin un comando whois

  • Ejemplo: WHOIS Comando: whois google.com

  • DIG de un Dominio Domain Information Groper (DIG) es una

    herramienta para interrogar servidores de dominio.

    Capaz de obtener Registros de un dominio: Direcciones IP,

    Nameservers, Servidores de correo, entre otros.

    Subdominios. Transferencias de zonas.

  • Ejemplo: DIG Zone Transfer (AXFR) ; DiG 9.9.5-3-Ubuntu axfr @ns3.zoneedit.com blackhaul.com ; (1 server found) ;; global options: +cmd blackhaul.com. 7200 IN SOA ns3.zoneedit.com. soacontact.zoneedit.com. 2014006438 2400 360 1209600 300 blackhaul.com. 7200 IN NS ns4.zoneedit.com. blackhaul.com. 7200 IN NS ns3.zoneedit.com. blackhaul.com. 7200 IN A 64.150.183.118 blackhaul.com. 7200 IN MX 10 ALT1.ASPMX.L.GOOGLE.com. blackhaul.com. 7200 IN MX 10 ALT2.ASPMX.L.GOOGLE.com. blackhaul.com. 7200 IN MX 0 ASPMX.L.GOOGLE.com. blackhaul.com. 7200 IN MX 20 ASPMX2.GOOGLEMAIL.com. blackhaul.com. 7200 IN MX 20 ASPMX3.GOOGLEMAIL.com. mail.blackhaul.com. 7200 IN CNAME ghs.google.com. calendar.blackhaul.com. 7200 IN CNAME ghs.google.com. start.blackhaul.com. 7200 IN CNAME ghs.googlehosted.com. sites.blackhaul.com. 7200 IN CNAME ghs.google.com. docs.blackhaul.com. 7200 IN CNAME ghs.google.com. www.blackhaul.com. 7200 IN A 64.150.183.118 blackhaul.com. 7200 IN SOA ns3.zoneedit.com. soacontact.zoneedit.com. 2014006438 2400 360 1209600 300

  • Sandboxie y BSA

  • Fundamentos de Anlisis de MalwareMalware Analysis FundamentalsCaso de estudio: Ud. mismoDefinicin de MalwareHistoria del malwareHistoria del malwareHistoria del malwareSlide Number 8Estadsticas del malwareEstadsticas del malwareImpacto en los individuosImpacto en los individuosImpacto en las compaasImpacto en las compaasImpacto en las compaasTipos de malware s/alcanceTipos de malware s/propsitoRol del malware en la economaRol del malware en la economaAtaque: JackpottingTipos de malware s/propsitoTipos de malware s/propsitoAtaque: FinFisher en MxicoSntomas de un equipo infectadoSlide Number 25Slide Number 26Slide Number 27Slide Number 28Vectores de infeccinVectores de infeccinEjemplo: Memoria infectadaEvadiendo las infeccionesSlide Number 33Vectores de infeccinVectores de infeccinVectores de infeccinSlide Number 37Slide Number 38Domain Generation AlgorithmEjemplo de DGAMalware Analysis FundamentalsTaxonoma del malwareSlide Number 43Slide Number 44Taxonoma del malwareSlide Number 46App binder + RATDistintos tipos de troyanosSlide Number 49Slide Number 50Taxonoma del malwareSlide Number 52Caso de estudio: StormSlide Number 54Taxonoma del malwareSlide Number 56Taxonoma del malwareFuncionamiento de un rootkitFuncionamiento de un rootkitFuncionamiento de un rootkitFuncionamiento de un rootkitFuncionamiento de los AVDeteccin por firmas de archivoEjemplo de firma de malwareAnlisis heursticoEjemplo de anlisis heursticoSlide Number 67Caso Stuxnet (VirusBlokAda)Deteccin HIPSIntrusion (Detection/Prevention) S.HoneypotsHoneynetsCifrado de una vaEjemplo: SHA-1Colisiones en el cifrado de una vaAntivirus en la nube (cloud)Ejemplo de anlisis en la nubeServicios de anlisis en lneaFundamentos del Ing. InversaIngeniera InversaTipos de anlisis de malwareAnlisis esttico (Static analysis)Slide Number 83Slide Number 84Anlisis esttico (Static analysis)Slide Number 86Anlisis dinmico (Dyn. analysis)Anlisis dinmico (Dyn. analysis)Malware LabsSandbox vs. Mquina virtualSlide Number 91Slide Number 92Slide Number 93NSLOOKUP de un DominioWHOIS de un DominioEjemplo: WHOISDIG de un DominioEjemplo: DIG Zone Transfer (AXFR)Demostracin en vivoFundamentos de Anlisis de Malware