El Arte de ocultar información: Esteganografía

Publicado en Artículos, Seguridad,


Tweet about this on TwitterShare on Google+2Share on Facebook0Share on LinkedIn0

La esteganografía —del griego steganos (oculto) y graphos (escritura)—, en términos informáticos, es la disciplina que estudia el conjunto de técnicas cuyo fin es la ocultación de información sensible, mensajes u objetos, dentro de otros denominados ficheros contenedores, normalmente multimedia: imágenes digitales, vídeos o archivos de audio, con el objetivo de que la información pueda pasar inadvertida a terceros y sólo pueda ser recuperada por un usuario legítimo.

A lo largo de la historia, se ha demostrado que la esteganografía ha estado presente desde antes del siglo XV y se encuentra en constante evolución. Ejemplos tales como la escritura con “tinta invisible” fabricada con vinagre, zumo de limón, leche, etc., o la ocultación de mensajes en libros como Sueño de Polífilo escrito por Francesco Colonna en el 1499, en el que se puede obtener la frase “Poliam frater Franciscus Columna peramavit” (“El hermano Francesco Colonna ama apasionadamente a Polia”) si se toma la primera letra de los treinta y ocho capítulos, ponen de manifiesto la presencia de la esteganografía en nuestro entorno desde tiempos antiguos.

Las técnicas esteganográficas han ido evolucionando de manera acorde al desarrollo tecnológico, y así por ejemplo durante la Segunda Guerra Mundial se utilizaban los periódicos para el envío de señales ocultas mediante la realización de marcas en ciertas letras, que aunque por si solas pasaban inadvertidas en conjunto trasmitían una información. Este ejemplo es una muestra de los sectores en los que habitualmente la esteganografía ha estado más presente, y que como se puede imaginar son el entorno militar, agencias de inteligencia o espionaje entre otros.

En la actualidad, cuando hablamos de esteganografía nos referimos principalmente a la ocultación de información dentro de un entorno de canales digitales: protocolos de comunicaciones, archivos ejecutables, documentos de texto, audio digital, imágenes, etc. En la mayoría de los casos, el fichero contenedor es conocido pero lo que se ignora es el algoritmo o técnica de inserción de la información en dicho objeto contenedor. En tiempos recientes, la esteganografia ha adquirido un gran interés porque ya no sólo se usa para enviar mensajes de amor ocultos en libros como Sueño de Polífilo, sino que dichas técnicas se presupone que han sido y son utilizadas con fines muy diferentes por organizaciones terroristas y criminales, y están muy relacionadas con técnicas de anonimato como el voto o el dinero electrónico entre otras. Según el diario USA Today, el FBI y la CIA descubrieron que Bin Laden empleaba imágenes esteganografiadas colgadas en páginas web públicas para comunicarse con sus oficiales.

En relación con este campo de estudio, podemos distinguir los siguientes actores implicados:

  • El objeto contenedor o encubridor, que en la mayoría de los casos suele ser una imagen y que es utilizado para ocultar la información,
  • el estego-objeto, que se trata del fichero contenedor más el mensaje encubierto,
  • el adversario, que serian todos aquellos entes sean pasivos, activos o maliciosos a los que se les quiere ocultar la información, y
  • el estegoanálisis, que es la ciencia que estudia la detección de información oculta.

Es importante no confundir criptografía con esteganografía, puesto que el objetivo de cada uno de estos dos campos es diferente. En el caso de la criptografía el objetivo es asegurar la confidencialidad de la información ante un interceptor que es capaz de ver el criptograma. En cambio, la esteganografia busca ocultar la presencia del mensaje en sí. Sin embargo, aunque persigan objetivos diversos, para que la esteganografía sea de mayor utilidad se debe combinar con la criptografía, de modo que el mensaje a ocultar debe cifrarse robustamente y luego ser introducido en el objeto contenedor. De este modo, aunque un interceptor descubriese el patrón esteganográfico, no podría llegar a conocer el mensaje intercambiado.

Estegoanálisis

El estegoanálisis es la ciencia dedicada al estudio de la detección de mensajes ocultos usando esteganografía. Dichos mensajes pueden estar ocultos en diferentes tipos de medio, como pueden ser por ejemplo las imágenes digitales, los ficheros de vídeo, los ficheros de audio o incluso un simple texto plano. Como analogía, el estegoanálisis es a la esteganografía lo que el criptoanálisis es a la criptografía. Por otra parte, a diferencia del criptoanálisis donde es necesario descifrar el mensaje para considerar roto un criptosistema, en el caso del estegoanálisis basta con ser capaz de detectar la existencia de un mensaje oculto para considerar el sistema roto.

Vamos a dar un repaso general a las técnicas esteganográficas más utilizadas, enfocadas sobre todo a que nuestro objeto contenedor sea una imagen:

Enmascaramiento y filtrado

La información se oculta dentro de una imagen digital empleando marcas de agua. El watemarking o marca de agua digital tiene como objetivo poner de manifiesto el uso no legal de un cierto servicio digital por parte de un usuario no autorizado. Esta técnica consiste en insertar un mensaje (un grupo de bits que contiene información sobre el autor por propietario intelectual) en el interior de un objeto digital. Otra técnica relacionada es el fingerprinting o huella digital, donde se introduce en el mensaje no sólo información sobre el autor o propietario sino además información del usuario que ha adquirido los derechos de uso de ese objeto. Así se puede perseguir la distribución ilegal de servicios digitales.

Sustitución de bits del objeto contenedor

Consiste en sustituir ciertos bits del fichero contenedor por los de la información a ocultar. El tamaño del fichero no se ve alterado y, generalmente tampoco se ve mermada su calidad. En un fichero de sonido se podrían emplear los bits que no son audibles por el oído humano para ser reemplazados por los bits del mensaje a ocultar. Si se trabaja con imágenes, lo habitual seria sustituir los bits menos significativos (LSB), en una escala de color de 24 bits. Esto se traduce a que en un pixel con un tono rojo se ve un 1% mas oscuro, un cambio inapreciable para la vista humana.

Como hemos comentado antes, el contenedor más usado es el de las imágenes digitales, concretamente en formato BMP por su sencillez; es un formato estándar de imagen de mapa de bits en sistemas operativos DOS, Windows y válido para MAC y PC, que soporta imágenes de 24 bits y 8 bits, y puede trabajar en escala de grises, RGB y CMYK. Cada pixel de un archivo BMP de 24 bits está representado por tres bytes, cada uno de los cuales contiene la intensidad de color rojo, verde y azul (RGB). Combinando los valores en esas posiciones podemos obtener los más de 16 millones de colores que puede mostrar un pixel. A su vez, cada byte contiene un valor entre 0 y 255, es decir entre 00000000 y 11111111 en binario, siendo el dígito de la izquierda el de mayor peso, por lo que se pueden modificar los bits menos significativos de un pixel sin producir mayor alteración. El hecho es que cambiando un bit en cada componente de un pixel, se pueden meter tres bits de información oculta por cada pixel de una imagen sin producir cambios importantes en la imagen. Teniendo en cuenta que se necesitan ocho pixeles para ocultar tres bytes de información, en codificación ASCII esto son 3 letras de información oculta, por lo que en una imagen BMP de 502×126 pixeles se puede ocultar un mensaje de 23.719 carácteres ASCII.

Inserción de bits en el objeto contenedor

Se añaden los bits de información a partir de una determinada marca estructural del fichero (fin de fichero, espacios de padding o alineamiento, etc.). El problema de esta técnica es que se incrementa el tamaño del fichero contenedor, por lo que no es muy discreta.

Por ejemplo, en una imagen BMP los primeros 54 bytes contienen los metadatos de la imagen. Cuatro de esos bytes se destinan al offset, o distancia entra la cabecera y el primer pixel de la imagen. Así pues, la forma más fácil de ocultar datos consiste en introducirlos justo después de los metadatos y antes de los datos de la imagen en sí, y modificar el campo offset. De esta manera, se puede dejar espacio para todo el contenido adicional que se desee añadir.

Creación de un fichero contenedor propio partiendo de la información a ocultar

Consiste en crear un fichero contenedor con la propia información que se quiere ocultar. Por ejemplo, dado un algoritmo especifico de reordenamiento de los bytes de los datos a ocultar se puede generar una secuencia de pixeles de un archivo BMP que tenga cierto significado visual.

En vídeo suele utilizarse el método DCT (Transformada de coseno discreta) basada en la DFT (Transformada de Fourier discreta), pero haciendo uso únicamente de números reales. DCT funciona cambiando ligeramente cada uno de los fotogramas del vídeo, de manera que no sea perceptible por el ojo humano. Por ejemplo, en la completa presentación titulada Esteganografia, esteganalisis e Internet de Arturo Ribagorda, Juan M.Estevez-Tapiador y Julio César Hernández se muestra un procedimiento para ello, cuya extracción sería sencilla aplicando el procedimiento inverso:

1. Calcular la DCT de la imagen
2. Sustituir los coeficientes menores que un cierto valor umbral por bits de la información a ocultar
3. Calcular la inversa de la DCT de la imagen
4. Almacenar

Utilizando estas técnicas, existen múltiples escenarios en los cuales podría emplearse la esteganografia. Por un lado, empleando el protocolo TCP/IP, ya que éste es apropiado para crear canales encubiertos de comunicación enviando datos relevantes a través de las cabeceras entre dos entidades que hayan acordado un protocolo encubierto. De la misma manera, con la finalidad de fortalecer los canales de comunicación maliciosa, la esteganografia es de gran utilidad. De hecho, los creadores del gusano Waledac ya han empleado esteganografia para que éste tenga la capacidad de descargar e interpretar un archivo de imagen JPEG especialmente manipulado. Dicho archivo es una imagen JPEG normal a la que se le ha añadido un ejecutable tras la imagen en sí, después de un determinado marcador JPEG para ser coherente con el estándar. Por supuesto, no todas las aplicaciones de la esteganografia tienen que ser maliciosas. Estas técnicas se pueden usar para meter información de pacientes en radiografías , TACs, etc… pero seguramente no les parecerán tan interesantes.

Ocultando archivos: LSB

El método en cuestión es conocido como LSB (Least Significant Bit) y como su nombre indica consiste en aprovechar el bit menos significativo de cada byte para guardar información en él, para hacer más comprensible la técnica vamos utilizar un ejemplo basándonos en una imagen en formato png (llamada “A”) en la que queremos ocultar un documento de texto (llamado “B”), creando la imagen “A+B”.

Para utilizar esta técnica, lo que se debe hacer es almacenar todos los bits del documento B en los bits menos significativos de cada uno de los colores que componen los píxeles de la imagen A, sustituyendo los de la propia imagen por los del documento B y añadiendo 0s una vez se ha completado el documento B. Al ser los bits que proporcionan menos información de color al píxel, los cambios realizados en los colores de la imagen no serán apreciables por el ojo humano.

Tal y como se puede apreciar en la imagen anterior, vemos como los bits menos significativos de la imagen A+B contendrán todos los bits del documento B.

Sabiendo esto, podemos ver que un requisito que requiere este método (aplicado a imágenes) es que el archivo a ocultar tiene que ser tres veces más pequeño que el número total de píxeles de la imagen portadora (en la que ocultaremos el archivo). Esto es debido a que para cada 3 bits del documento B, necesitaremos un píxel de la imagen (suponiendo que el píxel está formado por los tres bytes de RGB).

Una vez se tiene la imagen A+B, para poder recuperar el archivo oculto, únicamente deberemos acceder a cada uno de los píxeles de la imagen y volcar el contenido del bit menos significativo de cada uno de ellos en un nuevo archivo, obteniendo así el documento B tal y como estaba antes de ser ocultado.

Por último comentar que para que este método sea efectivo una vez se ha ocultado el archivo en la imagen, esta no puede ser editada, ya que si se vuelve a codificar/comprimir, la información de los bits cambiaría y por tanto no se podría recuperar el archivo.

Para más información, se puede consultar la Wikipedia y el artículo en PDF escrito por INTECO: Esteganografía, el arte de ocultar información.


Fuentes consultadas: Wikipedia | Security Art Work

El Arte de ocultar información: Esteganografía
4 (80%) 1 voto

Etiquetas: ,


Deja un comentario

Cuanto es 8 + 25 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.

Newsletter

Redes sociales

Centro de soporte

Centro de recursos