¿Qué es la esteganografía?
La esteganografía trata el estudio y aplicación de técnicas que permiten ocultar mensajes u objetos, dentro de otros, llamados portadores, para que no se perciba su existencia.
La anterior definición extraída de
Wikipedia define formalmente lo que es la Esteganografía, pero si es cierto que si no estamos acostumbrados puede resultar un poco difícil de entender. Cojamos un ejemplo!
Imaginemos que tenemos una imagen, cualquier, una foto que hemos sacado con el móvil, una imagen de Internet, lo que sea. Bien, pues a esa imagen es posible inyectar un mensaje sin alterar a nivel visual absolutamente nada de la original.
Imaginemos un sobre. Dentro de este sobre podemos meter un folio con un mensaje. Este folio lo tendremos tratar antes, doblándolo y adaptándolo al sobre. Pero al final, lo meteremos y en apariencia no sabremos si el sobre tiene un folio dentro o no. Algo parecido es la esteganografía en el mundo digital.
¿Como funciona la esteganografía?
Ahora que ya sabemos en que consiste la esteganografía, vamos a ver como funciona todo esto. Para explicarlo nos centraremos en el activo que mas es utilizado en este campo como son las imágenes, aunque puede ser aplicable a otros archivos.
En las imágenes es posible encontrar campos vacíos que no son de utilidad, es decir, que su alteración no va a implicar que la imagen sea alterada. De esta forma, es posible incrustar información en estos campos.
Por darle una orientación más “técnica”. Una imagen no es más que una agrupación de píxeles con un determinado color, brillo, etc. Por lo tanto, escojamos unicamente 1 pixel para jugar. En determinados casos como las páginas web, para la representación del color (RGB) se utilizan tres pares de dos hexadecimales (base-16). Por ejemplo, si tenemos un color gris, los colores rojo, verde y azul tienen la misma configuración, en este caso, alterando de forma proporcional los bits menos significativos de cada color, no se apreciaría nada para el ojo humano y se estaría inyectando información.
¡Ponlo en práctica!
Puede parecer algo muy complejo de realizar pero con la utilización de diferentes herramientas resulta un proceso trivial. Para esta entrada nos centraremos en dos herramientas bajo linux,
Steghide y
Stegosuite.
En primer lugar, nos tenemos que hacer con una imagen portadora que será la que utilicemos para ocultar el mensaje. Elegimos una cualquiera, por ejemplo, el logo de
Sysbeards 🙂
En segundo lugar, creamos un archivo de texto con el mensaje que vamos a inyectar, por ejemplo, “Hola mundo”.
Mediante la herramienta steghide, de forma sencilla podemos inyectar este mensaje en la imagen, protegiéndolo con una contraseña:
# steghide embed -cf Imagen.jpg -ef mensaje.txt
Con la siguiente instrucción es posible extraer el mensaje de la imagen:
# steghide extract -sf Imagen.jpg -xf mensajeOculto.txt
Por otro lado, tenemos la herramienta Stegosuite. Esta herramienta puede resultar algo más sencilla por contar con entorno gráfico. Además, nos permite conocer la capacidad que tiene la imagen portadora para contener mensajes.
Igual que se están inyectando mensajes de texto pueden incluirse audios u otras imágenes con los mismos comandos, al final son secuencias de 0s y 1s. Esto os lo dejo a vosotros 🙂
¡Ya sabéis si queréis dejarnos cualquier comentario o idea siempre es bien recibida!