Qué es y cómo detectar malware ofuscado en un servidor

Qué es y cómo detectar malware ofuscado en un servidor

Javier Jiménez

El malware es un problema muy presente en nuestro día a día y que pone en riesgo la seguridad de nuestros dispositivos y sistemas. Hay muchos tipos de amenazas que de una u otra forma pueden afectarnos y esto hace que debamos tomar siempre las precauciones necesarias. Debemos contar con herramientas de seguridad y los medios adecuados. En este artículo vamos a explicar qué es el malware ofuscado en un servidor y qué podemos hacer para detectarlo.

Qué es el malware ofuscado en un servidor

En primer lugar vamos a explicar qué es la ofuscación de malware en un servidor. De esta forma comprenderemos cómo puede ponernos en riesgo. Básicamente podemos decir que significa convertir un código limpio en uno nuevo. El código ofuscado dará exactamente el mismo resultado que el código original, sin embargo de esta manera el código fuente no será legible para los ojos humanos. Por lo general, se usa para códigos de salida, banca, licencias, etc.

Esto ya nos da una idea del peligro de la ofuscación en un servidor. Lo que hace es que un usuario no sepa realmente si ese código puede ser malicioso y ponernos en riesgo o en realidad se trata de algo legítimo. A fin de cuentas está en cierto modo oculto, sin que podamos leer realmente qué significa y cómo puede afectarnos.

Las herramientas de seguridad han ido perfeccionando la manera en la que logran detectar este tipo de malware. Sin embargo no siempre es eficaz, ya que es común toparnos con falsos positivos. Eso sí, con el paso del tiempo los programas y métodos que podemos utilizar cada vez son más adecuados y reducen la cifra de falsos positivos.

Malware ofuscado en un servidor

Cómo detectar malware ofuscado en un servidor

Hemos explicado qué es el malware ofuscado y ahora vamos a hablar de qué podemos hacer para detectarlo en un servidor. Ya sabemos que la seguridad es un factor fundamental y es algo que debemos cuidar a todos los niveles.

Como hemos indicado los métodos tradicionales, como puede ser un antivirus, no siempre son eficaces para encontrar este tipo de problemas. El código fuente en muchas ocasiones no es detectado como una amenaza real y eso supone una reducción de las detecciones.

Una opción son las técnicas de detección basadas en firmas de archivo. Lo que hace es rastrear el sistema de archivos que utilizan funciones de PHP que suelen ser utilizadas en malware. De esta forma podemos detectar listas de ofuscadores que puedan comprometer la seguridad.

También está la opción de la función hash, que fue creada como una mejora. Surgió ya que encontrar coincidencias exactas entre la recopilación de código limpio de malware y los archivos requiere muchos recursos. Por eso se creó una solución similar, pero más rápida. Con la función hash podríamos dar una cadena o un archivo y generará una cadena de longitud fija. Cada vez que el código sea el mismo, generará el mismo hash a partir de ese código. Las técnicas de hashing más conocidas son MD5 y SHAx.

Pero claro, el problema es que los piratas informáticos se dieron cuenta de que es bastante fácil encontrar las puertas traseras con estos métodos de detección. Es suficiente cambiar 1 byte, por ejemplo, agregar un espacio y el hash será completamente diferente para que las herramientas anti-malware no lo reconozcan.

Otra alternativa es la coincidencia de patrones. Esta técnica se basa en crear algunas cadenas e intentar hacer coincidirlas en el archivo. Sin embargo es fácil toparse con falsos positivos.

Para solucionar todos estos problemas es donde entra en juego BitNinja Server Security. Experimentó mucho con este tema y desarrolló un nuevo método de detección diferente a cualquier otra solución. Este nuevo método se basa en la estructura del código fuente. Cuando confiamos en la estructura del malware, podemos esperar una tasa muy baja de falsos positivos porque la estructura de un malware no puede ser la misma que la estructura de un archivo legítimo. De lo contrario, los códigos válidos podrían utilizarse con fines malicioso.

Básicamente lo que hace la técnica de BitNinja es detectar si el método de ofuscación se utilizó en un archivo. El siguiente paso se basa en el comportamiento al ejecutar el código en una sandbox. Podéis ver más información relacionada con BitNinja.