Esteganografía para evitar los sistemas de detección de intrusos

Os propongo hoy otro interesante weblog, llamado The Digital Voice, y cuya temática es la tecnología, la seguridad y la programación.

En una interesante entrada llamada Security/C#: Demonstration of Steganography Messages to Evade IDS Detection, el autor plantea un ejemplo práctico para que los botnets eviten los sistemas de detección de intrusos mediante técnicas esteganográficas.

Para ello, se trata de embeber en una imagen un protocolo de comandos muy simple que permita, una vez traspasado el IDS, ejecutar las acciones requeridas del atacante.

El programa está escrito en C#, y contempla estas librerías esteganográficas .NET. El protocolo de comandos es muy simple:

namespace Protocol
{
class protocol_class
{
const int POP_UP_WINDOWS = 1;
const int RUN_NOTEPAD = 2;

public void processCommand(int inCommand){
switch (inCommand)
{
case POP_UP_WINDOWS:
System.Windows.Forms.MessageBox.Show(«Command Recieved»);
break;
case RUN_NOTEPAD:
System.Diagnostics.Process.Start(«Notepad.exe»);
break;
}
}
}

Como se ven en los dos cases, una opción abre una ventana emergente en el sistema y la otra ejecuta el notepad. Mediante el código del handler completo, disponible en el artículo original, podemos asegurarnos la apertura de una imagen BMP, decodificar el mensaje esteganográfico y enviar el mensaje resultante al handler, con lo que muchos IDS ni se olerán que hemos pasado por ellos un protocolo malicioso.

Interesante e inquietante :)