jueves, 13 de junio de 2013

Esteganografía, oculta mensajes dentro de un archivo


La esteganografía es una técnica que permite entregar mensajes camuflados dentro de un objeto (contenedor), de forma que no se detecte su presencia y pasen inadvertidos. La estenografía se conoce desde tiempos inmemoriales, teniendo los primeros referentes en la antigua Grecia.

El término proviene de la unión de dos palabras griegas: steganos, (oculto) y graphos (escritura). La esteganografía se ha empleado con éxito a lo largo de la Historia con distintos procedimientos y en particular durante la II Guerra Mundial.

Esteganografía moderna

La estenografía ha evolucionado con la aparición de los ordenadores, ahora no es necesario incluir en el “punto” de una “i” un microfilm, como llegó a hacerse. Actualmente es posible ocultar un texto dentro de ficheros de imagen, audio y vídeo. Algunos programas permiten incluso ocultar, entre otros tipos de archivos, ficheros PDF.

La ventaja de utilizar un ordenador para estos propósitos es que no sólo podemos incluir un mensaje, también podemos cifrar su contenido de forma sencilla. Con esto conseguimos dos mecanismos de seguridad.

Por un lado ocultamos la existencia del mensaje y por otro, en caso de ser descubiertos, el cifrado complicará su lectura en función del algoritmo empleado y la complejidad de la clave utilizada. La esteganografía es razonablemente segura para intercambiar información en la red.

Esteganografía, uso de Steghide

Para este artículo he buscado una herramienta multiplataforma. Existen muchos programas libres y de pago con este fin, pero he elegido Steghide por su sencillez. Steghide funciona desde la consola en Windows y GNU/Linux, y es un proyecto de código abierto.

Para la prueba, he empleado la imagen que encabeza el artículo para incluir dentro el primer capítulo íntegro de El Quijote, con los siguientes resultados:

La imagen original ocupa 81.575 bytes. La resultante de incluir el mensaje cifrado, con el algoritmo por defecto, (Rijndael con clave de 128 bits), ha crecido hasta los 87.742 bytes.

Puede parecer mucho a simple vista, pero piensa que el mensaje secreto tiene 1.878 palabras y 10.351 caracteres. Un mensaje de amor, una contraseña o el PIN del móvil pasan completamente inadvertidos. La esteganografía oculta el mensaje en los bits menos significativos.

La primera intención ha sido dejar la imagen con el mensaje en el artículo, para invitarte a que lo extrajeras con el programa, pero la aplicación que utilizamos en Genbeta modifica las imágenes subidas al servidor lo suficiente como para destruir el contenido cifrado. En cualquier caso, puedes realizar una prueba en tu máquina de la aplicación.

Otra de las razones para elegir Steghide es su portabilidad, ocupa muy poco (unos 3 MB descomprimido), puede transportarse en un dispositivo USB y no requiere instalación. Tras su descarga, extraemos en una carpeta el contenido. A partir de aquí trabajaremos desde la consola.

No entro en el detalle de todos los comandos y argumentos porque la documentación en PDF que acompaña el producto, traducida al español, es muy completa y está bien explicada. La sintaxis no es complicada. Para incluir un mensaje escribiremos:

steghide embed -cf nombre.imagen -ef fichero.texto

Para extraer el mensaje:

steghide extract -sf nombre.imagen

Steghide soporta un número razonable de formatos contenedores: JPEG, BMP, WAV y AU. No soporta ficheros de vídeo, pero si buscas en la red, existe software para ese propósito. Para los usuarios de GNU/Linux comentar que Steghide, en concreto, está disponible en formato RPM, aunque lo incluyen muchas distribuciones.

Asociada con cifrado de mensajes, la esteganografía puede ser útil para almacenar datos en la nube que queramos tener disponibles desde cualquier lugar, simplemente elige una buena contraseña y será difícil que nadie acceda a lo que deseas ocultar. Eso sí, comprueba antes que en el proceso de subida o bajada la imagen no quede alterada.

Vídeo Demostrativo.


(Fuente | Genbeta)

3 comentarios:

  1. Muchas gracias por la info me gusto mucho saber esto saludos

    ResponderEliminar
  2. no sabia que esto se podia hacer, claro que lo sospechaba es muy util esta informacion

    ResponderEliminar
  3. exelente tu blog . . . . no sabia que existia esta forma de ocultar informacion :D he estado leyendo sobre la esteganografia y me ha parecido fenomenal, quisiera aprender mas por eso estoy leyendo el manuales y todo . ... he visto tu video y he probado para solucionar el RETO, descargue STEGHIDE pero al momento de ejecutar los comandos que extraen la informacion oculta me sale esto :

    "steghide" no se reconoce con un comando interno o externo, programa o archivo por lotes ejecutables.

    No se que pueda ser esto :( me podras dar una mano ??

    ResponderEliminar