Esteganografía

La esteganografía es el arte de la ocultación: su finalidad es pasar desapercibido un mensaje en otro mensaje. Se diferencia de la criptografía , "el arte del secreto", que busca hacer ininteligible un mensaje para cualquiera que no sea quien tiene derecho a él. Tomando una metáfora, la esteganografía consistiría en enterrar tu dinero en tu jardín donde la criptografía consistiría en encerrarlo en una caja fuerte - dicho esto, nada impide combinar las dos técnicas, así como puedes enterrar un cofre en su jardín.

Es una palabra del griego antiguo στεγανός / steganós (“impermeable”) y γραφή / graphế (“escritura”).

Historia

En sus Historias , el historiador griego Herodoto (484-445 aC) relata así una anécdota que tuvo lugar en la época de la Segunda Guerra Persa . En 484 a. C. BC , Jerjes I er , rey de los persas, decidió formar un gran ejército para invadir Grecia (Libro VII, 5-19). Cuatro años más tarde, cuando lanzó la ofensiva, los griegos conocían desde hacía mucho sus intenciones. Es porque Démarate , ex rey de Esparta que se refugió con Jerjes, se enteró de la existencia de este proyecto y decidió transmitir la información a Esparta (Libro VII, 239):

“Tomó una tablilla doble, raspó la cera y luego escribió los planos de Jerjes en la madera misma; luego cubrió su mensaje con cera: así el portador de una tablilla en blanco no se arriesgaba a tener problemas. "

Otro pasaje de la misma obra también se refiere a la esteganografía: en el párrafo 35 del libro V, Histiae incita a su hijo-en-ley Aristágoras , gobernador de Mileto , a la revuelta contra su rey, Darío, y para ello,

“Afeitó la cabeza de su esclavo más fiel, se tatuó su mensaje en la cabeza y esperó hasta que el cabello volvió a crecer; cuando el cabello volvió a la normalidad, envió al esclavo a Mileto. "

En China , el mensaje estaba escrito en seda, que luego se colocaba en una pequeña bola cubierta con cera. El mensajero luego se tragó esta bola.

Desde la I er  siglo  antes de Cristo. AD , Plinio el Viejo describe cómo hacer tinta invisible (o "tinta simpática"). Los niños de todo el mundo se divierten haciéndolo escribiendo con leche o jugo de limón: el paso de la hoja escrita debajo de una fuente termal (plancha caliente, llama de vela ...) revela el mensaje.

Durante la Segunda Guerra Mundial , los agentes alemanes utilizaron la técnica del micropunto de Zapp , de reducir la imagen de una página en un punto de un milímetro o menos. A continuación, este punto se coloca en texto normal. El proceso se evoca en una aventura de Blake y Mortimer , SOS Météores . También recibió una hermosa ilustración en la película de Claude Pinoteau , Le Silencieux .

Una pareja famosa de artistas de music hall de la década de 1960 , Myr y Myroska , se comunicaron con los ojos vendados, aparentemente mediante "transmisión de pensamientos" y, en realidad, mediante un inteligente proceso esteganográfico basado en frases codificadas (incluidas, en particular, variaciones de la oración: "Myroska , ¿estás conmigo?").

Métodos

Supongamos, para nuestro ejemplo, que durante la Segunda Guerra Mundial , una fuerte , Alice , enviara diariamente el número de barcos en el puerto de Marsella a su corresponsal en París, Bob . Están de acuerdo en que Alice le enviará a Bob los precios medios de varias frutas que se ven en el mercado de Marsella a diario. Por supuesto, un agente enemigo, Oscar , debe

Creación de contenido ad hoc

Alice puede enviar un mensaje que contenga:

Bob encontrará que hay 132 barcos ese día.

La técnica informática citada anteriormente como Codificación como apariencia de spam es similar a este método.

La ventaja del método es que Alice podrá enviarle a Bob una información muy extensa. Sin embargo, el método solo se puede usar una vez porque Oscar verá rápidamente el proceso.

Cambios menores al contenido existente

Alice puede enviar un mensaje que contenga:

Las técnicas informáticas descritas a continuación en las secciones Uso de bits de bajo orden de una imagen (LSB) y Modulación fina de texto escrito corresponden a esta técnica.

La ventaja del método es que Alice podrá enviar a Bob información relativamente larga. Sin embargo, Oscar pudo comparar los precios transmitidos con los precios reales (en el caso del proceso LSB, haga una comparación bit a bit), podría sorprenderse de una precisión innecesaria, podría evitar una precisión demasiado grande (ver más abajo: esterilización ).

Ocultación en un elemento anexo al contenido

Alice puede enviar un mensaje el lunes que contenga:

y, el martes, en un orden diferente (Alice es caprichosa), pero con precios perfectamente exactos:

El contenido real del mensaje se oculta en la variación del orden de las frutas en comparación con el orden del día anterior.

La desventaja del método es que el mensaje tiene un tamaño relativamente limitado. Si Alice está limitada a 5 frutas, puede pasarle cada día a Bob un valor entre 1 y 120 ( factorial de 5). La ventaja radica en la dificultad de Oscar para identificar la existencia del proceso esteganográfico.

Una técnica informática correspondiente consiste en mantener una imagen intacta pero incorporando en ella una tabla o paleta de colores construida en un orden que parece arbitrario. El contenido oculto puede ser una clave que da acceso a un mensaje más largo. Además, el contenido debería incluir normalmente un proceso (normalmente una suma de comprobación ) para verificar su validez. La imagen que sirve de vector de contenido oculto puede ser un extracto de una imagen conocida pero nunca su reproducción exacta, a riesgo de permitir por comparación revelar el uso de una técnica esteganográfica.

Contramedidas

Esta técnica tiene un riesgo medido en la medida en que se aplique a la información. Por tanto, su punto débil radica en la transmisión y difusión de esta información.

Una sociedad que desee contrarrestar el uso de la esteganografía intentará prevenir, modificar o destruir la transmisión, la emisión o el mensaje en sí. Por ejemplo, al prohibir todo contenido arbitrario, abstracto, interpretable, matizado, fantasioso, caprichoso, poético, etc. Requerirá el cumplimiento de estrictos criterios formales. O, por el contrario, se esforzará, en secreto, por esterilizar toda la información (cf. párrafo sobre imágenes) en puntos clave de la transmisión de información (oficinas postales, etc.). Este riesgo de manipulación es aún mayor con las TI en la medida en que hay menos intervenciones humanas, lo que garantiza la discreción de las medidas coercitivas y mayores posibilidades de intervención (piratería, caballo de Troya , etc.). La destrucción sistemática de cualquier información o de emisores o receptores es sin duda el proceso más antiguo cuya fiabilidad no está garantizada (por no ser exhaustiva en la práctica; la información es humanamente vital).

En el ejemplo anterior, eliminará el uso de decimales, impondrá un orden alfabético, prohibirá mensajes cuyo contenido o idioma no sea entendido por un agente, etc.

Hoy en día, la esteganografía se puede utilizar para dos propósitos distintos: comunicaciones humanas (de humano a humano) y de máquina (de máquina a máquina). En ambos casos, debe haber al menos dos partes: un remitente y un receptor. Sin embargo, es posible que los dos no estén en el mismo "espacio-tiempo". En otras palabras, nada impide comunicar información a un tercero que aún no existe. Por lo tanto, no es improbable que encuentre mensajes previamente ocultos. La cuestión de las contramedidas que deben adoptarse adquiere entonces una dimensión completamente nueva.

Dado que la transmisión de información es natural y vital para cualquier sociedad humana, no es posible destruirla por completo (de ahí su eficacia intrínsecamente limitada). Por otro lado, en el caso de las comunicaciones mecánicas existen medios efectivos y terriblemente peligrosos (como la energía nuclear mediante la destrucción de cualquier dispositivo electrónico por ondas electromagnéticas, etc.). Esta contramedida extremista dañaría a toda la sociedad objetivo. La esteganografía se puede utilizar como medio de coerción en las comunicaciones de las máquinas. Por ejemplo, los virus informáticos y algunas técnicas de piratería pueden adoptar una forma. La técnica de los troyanos también es una.

Si ocultamos las posibilidades extremistas, el mejor medio coercitivo sigue siendo la modificación de cualquier información transmitida entre humanos o máquinas mediante intervenciones discretas o radicales y no su destrucción.

Contra las "contramedidas"

La coerción tiene el inconveniente de generar sistemáticamente medios para eludirla, sin ningún fin concebible (debido a la necesidad de información).

La redundancia de información, transmisión o radiodifusión sigue siendo el medio de lucha más sencillo.

La otra es no ocultar la información ni ahogarla. Por ejemplo, ocultar información inútil en un mensaje abierto útil: el reflejo es centrarse en la información oculta en lugar de admitir la obviedad del mensaje en forma clara.

Actualmente, en vista de la cantidad de flujo continuo de información que inunda nuestras sociedades modernas, es matemáticamente imposible evitar el uso de la esteganografía que tiene la ventaja de poder tomar innumerables formas acumulativas.

Técnicas hechas posibles por la computadora

Mensaje transmitido en una imagen

Usar los bits menos significativos de una imagen

La idea es tomar un mensaje y modificarlo de la forma más discreta posible para ocultar la información a transmitir. El mensaje original suele ser una imagen. La técnica básica --- conocida como LSB por bit menos significativo --- consiste en modificar el bit menos significativo de los píxeles que codifican la imagen: una imagen digital es una serie de puntos, que llamamos píxeles, y de los cuales codificamos el color utilizando un triplete de bytes, por ejemplo, para un color RGB de 24 bits. Cada byte indica la intensidad del color correspondiente --- rojo, verde o azul (rojo verde azul) --- en un nivel entre 256. Vaya del nivel n al nivel inmediatamente superior ( n + 1 ) o inferior ( n- 1 ) solo modifica ligeramente el tono del píxel , pero esto es lo que hacemos modificando el bit menos significativo del byte.

Ejemplo

Pongamos un ejemplo, consideremos la imagen.

000 000 000 000 000 001
0010000001 111111111

Cada entrada de esta matriz representa un píxel de color, por lo que tenemos una imagen muy pequeña de 2 × 2. Cada triplete de bits (0 o 1) codifica la cantidad de uno de los tres colores primarios del píxel (una imagen en color en casi todos los casos tendrá grupos de 8 bits, llamados bytes , pero solo se usan 3 bits para aclarar el ejemplo ). El bit más a la derecha de cada triplete es el famoso bit menos significativo: LSB. Si desea ocultar el mensaje 111 111 101 111, la imagen se modifica de la siguiente manera: el bit menos significativo del i- ésimo byte se pone al valor del i- ésimo bit del mensaje; aquí tenemos:

00 1 00 1 00 1 00 1 00 1 00 1
00 1 00 0 00 1 11 1 11 1 11 1

Son posibles otras técnicas similares. Por ejemplo, la codificación de mensajes se puede basar en el modo de coloración HSL (luminancia de saturación de tono) en lugar de RGB (rojo verde azul / rojo verde azul). Pero todas estas técnicas tienen el inconveniente de provocar una distorsión - o incluso una pérdida - de la información de la imagen y son fácilmente detectables ya sea por comparación con la imagen original, o por simple análisis lineal (¡de la paridad por ejemplo!).

Estas técnicas de esteganografía muy básicas se aplican más particularmente al formato de imagen BMP , un formato sin compresión destructiva, con codificación de los píxeles entrelazados en 3 bytes como se indicó anteriormente. Por el contrario, es probable que cualquier proceso de compresión-descompresión de imágenes con pérdida o de cambio de tamaño de imágenes destruya un mensaje esteganográfico codificado de esta manera. A esto se le llama esterilización . Un país totalitario podría esterilizar aleatoriamente cualquier imagen de BMP que entre o salga de su territorio, con los recursos técnicos necesarios.

Manipular la paleta de colores de una imagen

Algunos formatos gráficos como GIF o PNG permiten el almacenamiento de colores de imagen por referencia a una paleta de colores insertada en el mismo archivo.

Así, en lugar de almacenar azul, blanco, rojo en una imagen de la bandera francesa, encontramos en un formato de archivo la descripción del objeto siguiendo color1, color2, color3 así como una paleta que define que color1 es azul, color2 blanco y color3 rojo.

La misma imagen se puede almacenar de la siguiente manera: color2, color3, color1 con una paleta que define que color2 es azul, color3 es blanco y color1 es rojo.

Estas dos imágenes son visualmente idénticas, pero su almacenamiento es diferente. Para una imagen que contiene 256 colores únicos en su paleta, tenemos 256 formas factoriales ( ) de almacenar esta imagen. Mediante el uso de un código conocido entre el emisor y el receptor de la imagen, es posible por tanto comunicar un mensaje de pequeño tamaño , es decir un poco menos de 1.684 bits ocultos en la permutación de los colores de la paleta de la imagen.

Mensaje oculto en las opciones de compresión de una imagen

Dado que necesariamente hay que dar menos espacio al mensaje que a la portada, es natural pensar que la esteganografía es incompatible con las compresiones con pérdida. En realidad, es mucho más ventajoso utilizar el formato JPEG , que se usa mucho más y permite más discreción, incluso si esto se hace a expensas de la capacidad de inserción.

De hecho, los algoritmos de compresión con pérdida requerirán una serie de opciones, que pueden resultar en la degradación de la imagen original. Puede utilizar estas opciones para ocultar la información que desea transmitir.

El formato JPEG implica dos compresiones. La primera es cortar la imagen en bloques de 8 por 8 píxeles y aplicarles la transformada de coseno discreta (DCT). Esto permite, en particular, separar los componentes más importantes de la imagen de los menos visibles. Luego eliminamos más o menos detalles, según el lugar que queramos ganar. Esta compresión introduce pérdidas y la DCT induce errores de redondeo, pero estos a menudo serán difíciles de percibir por el ojo humano. Una vez transformados todos los bloques, podemos insertar la información que queramos ocultar, por ejemplo en el caso del método Jsteg, con el método LSB explicado anteriormente. Luego se aplican varios métodos de compresión sin pérdida (RLE, código Huffmann, etc.) para reducir aún más el espacio requerido para almacenar la imagen.

El resultado es una imagen que puede tener algunos artefactos , pero para un oponente, no está claro si estos se deben a la esteganografía o las opciones de compresión.

Mensaje transportado en un texto

Modulación fina de un texto escrito

Cambiar una letra unos pocos píxeles no es un problema en una impresora láser y es prácticamente invisible a simple vista. Jugando con el espaciado de letras de un texto muy extenso y a razón de dos valores de espaciado correspondientes a 1 y 0, es posible transmitir un mensaje en papel, que solo revelará su verdadero significado una vez que haya sido analizado. por un escáner con buena precisión.

Históricamente, el proceso se usó como la década de 1970 que no utilizan impresoras láser, pero Diablo impresoras margarita , lo que permitió espaciado entre caracteres para ser ajustado dentro de 1/120 º de una pulgada.

Marcado de caracteres

Una técnica similar, pero más fácilmente detectable, es marcar ciertos caracteres en un documento. Por ejemplo, se pueden colocar puntos debajo de las letras de un texto para ocultar un mensaje. Repartidas en un texto de varias páginas, estas marcas pueden resultar relativamente eficaces frente al ojo inexperto. Una computadora no es imprescindible para implementar esta técnica.

Codificación como apariencia de spam

Cualquier texto de spam se puede utilizar como base para la esteganografía, basada en una codificación binaria simple de casi sinónimos. Por ejemplo jackpot = 1, fortuna = 0; riqueza = 1, facilidad = 0; éxito = 1, éxito = 0; etc. Como curiosidad existen sitios en la Web que ofrecen este tipo de codificación y decodificación. Los textos escritos en lenguaje de madera o en estilo administrativo se prestan particularmente bien al ejercicio.

Mensaje transmitido en un sonido

En los formatos de sonido, existen aproximadamente las mismas posibilidades de ocultar mensajes que en las imágenes. En un archivo de sonido en formato MIDI, no hay paleta de colores, sino diferentes pistas que se pueden intercambiar.

En un archivo de sonido con compresión sin pérdidas, la información se puede ocultar en variaciones imperceptibles del sonido, bits débilmente significativos. Sin embargo, la caída en la calidad puede ser más notoria en un archivo de audio que en una imagen.

En un archivo de sonido de compresión con pérdida, la información se puede ocultar en las opciones de compresión.

Puede codificar un mensaje como imagen y convertir la imagen en sonido. Al analizar el sonido mediante un espectrograma , se puede visualizar el mensaje.

Algunas empresas utilizan sonidos emitidos en frecuencias inaudibles para el oído humano ( ultrasonido ) para rastrear a los usuarios de sus productos. La empresa india Silverpush instaló así un sistema en el que cada vez que se visualizaba un anuncio de la marca en una computadora, se emitía un ultrasonido. Estos sonidos, capturados por una aplicación en el teléfono móvil del internauta, permiten rastrear con precisión los usos y hábitos de esta persona sin que se dé cuenta. De manera más general, es posible transmitir datos (una imagen, un documento, un archivo de audio, etc.) convirtiéndolos en una señal de audio en frecuencias inaudibles y mezclándolos en un archivo de audio aparentemente inocuo (una canción, por ejemplo). .


Otras posibilidades

También es posible ocultar información en muchos otros tipos de archivos que se intercambian comúnmente en redes como video o en textos (esta fue una de las primeras formas de esteganografía) o en áreas de un disco duro no utilizadas por el sistema de archivos .

La información también puede estar oculta en medios distintos a los medios informáticos.

Además de la información, también es posible ocultar archivos maliciosos (virus, malware) en otro tipo de archivos. En 2019, aparecieron virus ocultos en archivos de audio de tipo .wav.

Ejemplo

Usar

La esteganografía se puede utilizar en muchos campos. Así, encuentra como aplicación comercial la filigrana (colocación de filigranas electrónicas), técnica que permite “tatuar” un archivo electrónico (para introducir en particular información útil para la gestión de las regalías).

La marca de agua , que es esencialmente invisible, no debe confundirse con el hecho de que ciertos formatos de archivo ofrecen la posibilidad de incluir metainformación.

Si la criptografía, que permite proteger la privacidad y la actividad industrial sin ocultar esta protección, es a menudo maltratada por estados totalitarios y sociedades democráticas con tendencia a la seguridad, no necesariamente ocurre lo mismo con la esteganografía , que es, sin embargo, una técnica mucho más adecuada para una posible actividad delictiva.

Notas y referencias

  1. O 1024 en varios sistemas de visualización profesionales
  2. Ejemplo visual de ocultar una imagen dentro de otra utilizando la técnica de bits de bajo orden
  3. Por ejemplo, http://www.spammimic.com/
  4. (en) Adam Dachis , "  Cómo ocultar códigos y mensajes secretos en archivos de audio  " , Lifehacker.com (consultado el 16 de septiembre de 2019 ) .
  5. (in) "  SilverPush dice que está usando" balizas de audio "para un enfoque inusual de la orientación de anuncios entre dispositivos  " , TechCrunch (consultado el 17 de septiembre de 2019 ) .
  6. (en) Sumit Kumar Arora , "  Esteganografía de audio: el arte de ocultar secretos al alcance del oído (parte 2 de 2)  " , Medium.com,24 de junio de 2018(consultado el 17 de septiembre de 2019 ) .
  7. "Los archivos de audio WAV ahora se utilizan para ocultar códigos maliciosos" , Zdnet , 18 de octubre de 2019

Apéndices

Bibliografía

  • Jacques Perry-Salkow y Frédéric Schmitter, Secret Love Words: 100 Letters to Decode for Prank Lovers , Points edition , 2010 ( ISBN  978-2-7578-1644-8 ) .

Artículos relacionados

enlaces externos