Search Results for: esteganografia

Introducción a la esteganografía (II)

Tras la introducción a la esteganografía de la entrada anterior, 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, son las siguientes:

  • 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 mas 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 (aquí en PDF) 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.

En la siguiente entrada finalizaremos con un vistazo al estegoanálisis, pero como les decíamos en el artículo anterior, pueden encontrar información en la Wikipedia, en el artículo que el Inteco le dedicó, y en la excelente presentación que les señalábamos arriba. Por supuesto, siempre tendrán los innumerables recursos que aporta Internet.

Introducción a la esteganografía (I)

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 podéis 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 electronico entre otras. Según el diario USA Today, el FBI y la CIA descubrieron que Bin Laden empleaba imágenes esteganografiadas colgadas en paginas 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 mas 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.

En la siguiente entrada daremos un vistazo a las técnicas de esteganografía, pero pueden encontrar información en la Wikipedia y en el artículo que el Inteco le dedicó, aparte de los numerosos recursos que existen en Internet.

(El estereograma en tamaño real se encuentra en el Blog AFT Escuela Básica “Los Navíos”)