Análisis estático de malware

Consiste en analizar un ejecutable para determinar si es malware o no y su posible comportamiento en un equipo, y en ocasiones el comportamiento en red. Todo esto sin ejecutarlo, solamente analizando su estructura.

Análisis con antivirus

La primer acción para poder reconocer un malware es analizarlo con un antivirus. Aunque solo servirá la firma del ejecutable se encuentra en la base de datos del antivirus, se puede obtener una pista. Para tal análisis existe una herramienta muy poderosa llamada virus total. Esta analizará el ejecutable con las firmas de diversos antivirus

Obtención de cadenas

Se pueden convertir el ejecutable en texto humanamente entendible(strings).Las cadenas pueden ayudar a identificar conexiones, instrucciones y comportamiento sospechoso. Esto es un análisis simple que puede realizarse con la herramienta Strings en Linux. Puede detectar codificación utf8 o Unicode.

Desensamblado

Es necesario para entender como funciona el malware. El lenguaje más común al desensamblar un código es el Ensamblador. Dada su naturaleza el análisis es complicado, ya que además de ser un lenguaje de bajo nivel sus instrucciones dependen de la arquitectura del procesador.
Esta última complicación está desapareciendo poco a poco. Cada vez es más común encontrar procesadores e 64 bits (x64).
Una de las herramientas más útiles para el análisis de código es el desensamblador IDA porque no solo muestra el código sino que también despliega un diagrama de flujo de la ejecución.

Descompilación

El código en Ensamblador puede ser analizado, pero es un proceso largo y difícil. Para facilitar en análisis de código puede recurrirse a un descompilador. Éste convertirá código de bajo nivel, como el ensamblador, a código de alto nivel para poder realizar un análisis más rápido.

Herramientas

Strings(comando de linux) para obtener cadenas de un ejecutable.
IDA Pro para el desensamblar código
OllyDBG para depurar el código en Ensamblador
VB Decompiler Para decompilar programas escritos en Visual Basic