Volver

La esteganografía, una técnica que a menudo se pasa por alto

Imagen del slider

25 de agosto de 2020

Por Adrien C. - Experto en ciberseguridad

Entre los numerosos ámbitos de la ciberseguridad, la esteganografía suele quedar relegada (injustamente) a un segundo plano frente a su ilustre prima: la criptografía.

Por eso, vamos a intentar devolverle el prestigio que se merece explicando sus principios básicos y su utilidad en el mundo digital actual.

Mientras que la criptografía (o el arte del secreto) consiste en hacer que un mensaje resulte ininteligible para cualquier persona que no sea el destinatario, la esteganografía consiste en ocultar el mensaje original dentro de otro mensaje.

Una metáfora que se utiliza a menudo para ilustrar su principio de funcionamiento consiste en decir que cifrar un mensaje equivaldría a guardar el dinero en una caja fuerte con un sistema de candado y llave, mientras que ocultarlo sería esconder el dinero directamente enterrándolo en el jardín.

Cabe señalar que es perfectamente posible utilizar estas dos técnicas de forma simultánea (e incluso muy recomendable, dependiendo de lo que esté en juego).

Un método milenario

Al igual que la criptografía, la esteganografía ha tenido numerosos usos a lo largo de la historia, siendo el más conocido el de la tinta simpática, que solo se revela al exponerla a una fuente de calor. La llegada de los microfilmes más tarde, durante la Segunda Guerra Mundial, cambiaría por completo el panorama.

He aquí algunos ejemplos a lo largo de la historia:

- En China, se escribía un mensaje en un pergamino de seda, que luego se recubría de cera antes de que el mensajero se lo tragara (para que, sin duda, lo expulsara por la vía «natural»)

- En Persia, se tatuaba un mensaje en la cabeza rapada de un esclavo antes de enviarlo a su destinatario una vez que le había vuelto a crecer el pelo: una técnica ciertamente bastante lenta, pero eficaz, ya que así se podía saber si el mensaje había sido leído durante el trayecto.

- Los espías alemanes utilizaban el «micro-punto» para transmitir información secreta de forma discreta. Se trataba, en realidad, de una fotografía del tamaño de un signo de puntuación que podía ocultarse hábilmente en un texto legítimo.

Este ejemplo aparece, por cierto, en el cómic de culto «Blake & Mortimer», de Edgar P. Jacobs, en el álbum «SOS Météore».

Stegano Squad

Un método digitalizado

Dado que la informática está hoy en día omnipresente en nuestras vidas y en la comunicación, la esteganografía ha evolucionado de forma natural hacia técnicas más modernas. Una de ellas, muy utilizada, se denomina LSB (Least Significant Bit), y es precisamente esta la que vamos a abordar ahora.

¿Cómo se puede ocultar información en una imagen?

Pensemos en cualquier imagen. En realidad, se trata de una matriz de píxeles. Para cada píxel, el color se codifica en 3 bytes, tal y como se muestra en el ejemplo siguiente:

Cada byte indica la intensidad del color correspondiente, en una escala que va de 0 a 255. El valor 255 corresponde al color original. Variar ligeramente el valor del byte apenas influye en el aspecto visual del color.

Así, si se modifica tan solo el último bit de cada color primario que compone el color de cada píxel (es decir, más sencillamente, el último dígito de cada uno de los tres números del código RGB que define el color, también denominado «bit de peso bajo») o incluso los dos últimos,el cambio sería imperceptible a simple vista: el matiz sería de 3 como máximo de los 255 matices posibles, lo que, por supuesto, sigue siendo lo suficientemente sutil como para que el ojo humano lo distinga.

Así es como se ocultan mensajes en una imagen:

Se convierte el mensaje a binario y, a continuación, se sustituyen los dos últimos bits del rojo del primer píxel por los dos primeros bits de la información que se quiere ocultar.
A continuación, se sustituyen los dos últimos bits del byte que codifica el color azul por los dos siguientes del texto. Este proceso se repite para el color verde y, después, con el píxel siguiente.

Al finalizar la operación, es prácticamente imposible apreciar ninguna diferencia entre la imagen inicial y la imagen que contiene la información.

Para ocultar una imagen dentro de otra, el principio es el mismo: en lugar de codificar los bits de un texto en los bits menos significativos de la imagen que sirve de soporte, basta con codificar los bits de los colores de cada píxel.

Existen dos métodos:

El primero consiste simplemente en elegir una imagen soporte mucho más grande que la imagen que se quiere ocultar, ya que el objetivo es separar un color primario de un píxel por cada píxel y un tercio de otro (lo que permite insertar 8 bits utilizando los dos últimos de cada color primario).

El segundo método consiste en utilizar más bits para cada color de cada píxel. En este caso, hay que tener cuidado de no alterar demasiado el color, ya que la imagen, una vez esteganizada, podría resultar visiblemente diferente de la imagen original.

Acabamos de abordar una técnica de esteganografía entre miles: esta tiene la ventaja de transmitir información (cifrada o no) de forma discreta, ya que dicha información se encuentra contenida en otra información convencional (textos, imágenes, tramas TCP, códigos fuente, fragmentos musicales, etc.). Su principal fortaleza reside en dos ideas sencillas: nuestros sentidos (vista, oído) no son capaces de detectar cambios minúsculos en una imagen o un sonido y, a priori, no sabemos de antemano que un archivo concreto contiene información oculta (aunque existen ciertas técnicas de análisis que permiten protegerse contra ello). La esteganografía, combinada con la criptografía, puede suponer un peligro, especialmente en el contexto de la filtración ilegal de datos.