Monday, 14 September 2015

¿Cómo hacer ingeniería inversa de malware?

SOURCE: Noticias de seguridad informática http://noticiasseguridad.com/tecnologia/como-hacer-ingenieria-inversa-de-malware/
TAGS: análisis de malware, ingeniería inversa de malware





Software malicioso puede ser virus, gusano, Troyano, Rootkit, Bot, herramienta de DoS, Exploit Kit, spyware. El objetivo del análisis de malware es tener una comprensión de la forma de trabajo de piezas específicas de malware. Hay preguntas importantes que deben ser contestadas. Al igual que, ¿cómo se infecta máquina y qué hace exactamente malware? En este artículo vamos a tratar de entender con la ayuda de Bill Smith, experto de  soluciones de seguridad informática, los conceptos básicos de análisis de malware y cómo se puede empezar a hacer análisis de malware.

¿Quién analiza el malware?

Hay diferentes tipos de personas y organizaciones que hacen análisis de malware. Todos ellos caen bajo de estas categorías:
  • CSIRT

  • Desarrolladores de productos de seguridad

  • Los proveedores de servicios de seguridad

  • Investigadores de Anti-virus

  • Los desarrolladores de software

  • Agencias de seguridad del gobierno

¿Por qué hay una necesidad de analizar el malware?

Las siguientes son las razones detrás de análisis de malware.
  • Disponer un procedimiento de respuesta a incidentes de hacking.

  • Para hacer el desarrollo de productos y la mejora de productos como anti-virus.

  • Para la creación de firmas para la protección contra el malware.

  • Para crear soluciones de contramedidas.

  • Para hacer el análisis y resolución de vulnerabilidad.

  • Para rastrear y capturar a los delincuentes que crean el malware.

Métodos de análisis de malware

De acuerdo con expertos de formación de seguridad informática, para hacer análisis de malware tiene que seguir estos pasos:

1. Configuración del entorno

Configurar una máquina controlada que no está conectada a la red, también debe ser capaz de restaurar esta máquina en cualquier momento.

 

2. Colección del Malware

Para configurar el entorno es necesario descargar el archivo de malware primero, y entonces usted necesita cambiar extensión de archivo. De acuerdo con las sugerencias de expertos en curso de hacking ético, después de bajar el archivo se puede copiar el archivo en un disco protegido ya que esto puede ayudar a aislar el malware en algunos casos.

 

3. Análisis de superficie

Recuperar información de superficie de maquina con malware sin ejecución. Motivo de análisis de superficie es conseguir:
  • Valor Hash

  • Tipo de archivo

  • Strings

  • Los resultados de programas antivirus 


 

4. Análisis en tiempo de ejecución

En este paso se puede ejecutar malware y observar su comportamiento. Puede utilizar varios métodos de análisis automatizados o manuales. Puede utilizar las herramientas de observación en el sistema de sandbox para su análisis. Todo el ambiente se puede ser dedicado o aislado OS nativo o sistema virtual explica Mike Stevens, especialista del Mike Stevens, experto de formación de seguridad informática.

 

5. Análisis estático

En el análisis estático debe leer el código en el archivo binario y entender su funcionamiento. Usted necesitará el conocimiento del sistema operativo, básico de lenguaje ensamblador, técnicas de lectura eficientes y técnicas anti-análisis. Si está packed el código binario tendrá que hacer unpacking. Además para entender el binario, usted tendrá que descompilar o hacer disassemble/debug del binario.

 

Puede utilizar siguientes herramientas para el análisis estático:

 

Disassembler

IDA Interactive DisAssemble: Se desensamblar más de 50 arquitecturas

[caption id="attachment_6135" align="alignnone" width="800"]IDA-PRO IDA-PRO[/caption]

 

Decompiler

Hex-rays Decompiler: x86/ARM binario a codigo de C.

VB Decompiler: Binario de Visual Basic a código fuente de Visual Basic.

.NET Reflector: .NET binario a código fuente de .NET.

[caption id="attachment_6136" align="alignnone" width="800"]VB-Decompiler VB-Decompiler[/caption]

 

Debugger

OllyDbg: Muy famoso x86 debugger

Immunity Debugger: x86 debugger de Python



[caption id="attachment_6137" align="alignnone" width="800"]OllyDbg OllyDbg[/caption]



Para entender el código, puede comenzar con las API de Windows de MSDN Library y entender lo que hace el API. También puede comprobar que hacen argumentos y condiciones. Mientras se utiliza un Disassembler, se puede leer, cambiar el nombre y comentar instrucciones para entender el código. Usted puede aprender más sobre Disassembler en curso de formación de hacking ético.

 

6. Codificación (ofuscación) en Malware

A veces el programador de malware hace ofuscación del código para hacer que sea difícil para que usted pueda hacer el análisis del código.

Nombre de archivo, nombre de la entrada del registro, dirección del servidor almacenada en el binario se codifican como strings. Además paquetes de datos de HTTP pueden ser codificados utilizando diferentes métodos. Algunos de los métodos de codificación son
  • xor (exclusive or)

  • ror/rol (rotate right/left)

  • base64

  • RC4

  • AES


[caption id="attachment_6138" align="alignnone" width="800"]Obfuscation-in-Malware Obfuscation-in-Malware[/caption]

 

También todo los malwares estos días usan C&C servidor (servidor de comando y control) para obtener los comando, devolver los resultados y datos. Los hackers pueden crear servidores C&C utilizando servidores hackeados, sitios web o cuentas de correo electrónico. También se pueden utilizar Twitter y Facebook cuentas como servidor C&C, de manera que no podemos rastrearlos. Pueden aprender cómo crear servidor C&C utilizando cuentas de redes sociales durante la capacitación de la seguridad informática de iicybersecurity.

 

7. Prevenir análisis de Malware en tiempo de ejecución

Algunos tipos de malware son lo suficientemente inteligente como para detectar la actividad de análisis por lo tanto tienen una lógica para evitar el análisis por los analistas de malware explica experto soluciones de seguridad informática. Algunas de las técnicas utilizadas para detectar análisis de malware son:

Debugger: Para comprobar si hay debuggers, el malware revisa por puntos de interrupción, manejo de excepciones.

Máquina virtual: Para comprobar si hay máquina virtual, el malware revisa por la interfaz, el comportamiento de la CPU, Herramientas de soporte (como el Virtual box).

Herramientas de análisis: Para comprobar si hay herramienta de análisis de malware como IDA Pro, el malware revisa por el nombre de la ventana, el nombre del módulo.



[caption id="attachment_6139" align="alignnone" width="800"]Anti-Runtime-Malware-Analysis Anti-Runtime-Malware-Analysis[/caption]



 

El malware veces también puede comprobar el nombre del ordenador, el tamaño del disco, la posición del cursor para evitar el análisis de malware. Después de detectar que se realiza el análisis de malware, lo hace algo diferente o no hace nada. Vamos a cubrir más detalles en profundidad sobre análisis de malware en el próximo artículo con la ayuda de Mike Stevens, profesor de formación hacking ético.


Fuente:http://www.iicybersecurity.com/ingenieria-inversa-malware-basicos.html

 



Noticias de seguridad informática

No comments:

Post a Comment