miércoles, 1 de noviembre de 2017

Criptografía (LX): Esteganografía EOF (I)

En este post comentaré el método esteganográfico más sencillo para ocultar un mensaje en un archivo, me refiero al método de ocultación al final del fichero (EOF por sus siglas en inglés: End Of File).

Este método consiste en ocultar el mensaje al final de un archivo con una estructura definida, ya que el software especializado en leer los datos que contiene el archivo sólo reconocerá aquellos que se encuentran antes del fin de fichero que se indica en dicha estructura, descartando el resto de ellos que pudieran ubicarse después de él y que, por tanto, pasarán desapercibidos.

Voy a poner un ejemplo muy sencillo de este método sin utilizar ninguna herramienta específica para ello, simplemente utilizando la consola de comandos.

Supongamos que la cubierta o portador es el archivo Cervantes_sin_mensaje.bmp, que el mensaje a ocultar lo tenemos en un archivo de texto llamado mensaje.txt y que queremos obtener un archivo bmp (Cervantes_con_mensaje.bmp) que incluya a este último al final del primero.

Para ello, ejecutamos el siguiente comando:
Y ahora abrimos los archivos Cervantes_sin_mensaje.bmp y Cervantes_con_mensaje.bmp. Como se ve, a simple vista no se observa ninguna diferencia entre ambos y, por tanto, nada parece indicar que el segundo de ellos oculta un mensaje.
No obstante, suponiendo que nos hagamos con el fichero Cervantes_con_mensaje.bmp, si lo abrimos con un editor hexadecimal la primera pista de que puede esconder un mensaje nos la da el campo de tamaño del archivo de la cabecera:
Como se ve en la figura anterior el archivo Cervantes_con_mensaje.bmp tiene un tamaño mayor que el que debería tener conforme a lo indicado en su cabecera, exactamente tiene 59 Bytes más de los que debería tener (que, como se puede observar en la figura anterior a esta última, es exactamente la longitud del mensaje de texto que se pretende ocultar).

Finalmente, si vamos al final del fichero, vemos el mensaje secreto que esconde la imagen:
Tanto el archivo que hace de cubierta o portador como aquel que contiene el mensaje que se pretende ocultar pueden ser de multitud de tipos, pero, tal y como se ve, no es un método muy seguro precisamente, ya que puede bastar con hacer las validaciones oportunas de la estructura del fichero para que se pueda detectar fácilmente su uso.

No hay comentarios:

Publicar un comentario