Introducción a la Esteganografía

En el artículo de hoy vamos a hablar de algo que me parece bastante atractivo y es el uso de canales de comunicación encubiertos para almacenar datos sin levantar sospechas. Hablaremos de esteganografía.
Empezaremos hablando sobre qué es la esteganografía (a nivel conceptual), mencionaremos algo sobre su historia, antecedentes y tipos. En artículos posteriores hablaremos de cosas más concretas (herramientas de esteganografía) y herramientas para detectar este mecanismo.
¿Qué es la esteganografía?
La palabra esteganografía -steganography en inglés- procede del griego y se divide en dos conceptos:
- Steganos: significa escondido o secreto
- Grafo: significa escritura o dibujo
Literalmente, significa escritura oculta. Pero como verás más adelante esta ciencia es algo más que ocultar mensajes en imágenes o audios. Dependiendo del método / herramienta que usemos, podemos ocultar casi de todo -texto, imágenes, ejecutables, otros archivos, etc- y de diferentes formas.
Formatos populares para uso esteganográfico
Podemos aplicar una gran variedad de formatos de archivos portadores de nuestros secretos. Algunos de los más comunes son:
- Imágenes: GIF, BMP, JPEG, PNG
- Audio: WAV, MP3
- Vídeo: MP4, AVI
- Otros: HTML
Esteganografía vs Criptografía
No es lo mismo. Ambos mecanismos tienen el objetivo común de proteger nuestros archivos o mensajes -en general, nuestra información residente o en tránsito- para que un tercero no conozca los detalles.
La esteganografía esconde la existencia de un mensaje y para ello utiliza diferentes vehículos de transmisión (carriers). Su objetivo final es evitar que se sepa que existe un mensaje y, si esto no es posible, que al menos no sea legible para el destinatario equivocado.
La esteganografía puede además incorporar mecanismos criptográficos como capa adicional de protección.
Sin embargo esto no es algo que la criptografía contemple. A un sistema de cifrado no le importa si el continente es o no visible para el resto, solamente pretende garantizar que el contenido es inaccesible.
Historia y usos de la esteganografía
Resulta interesante ver hasta qué punto las técnicas basadas en el stegos griego no son en absoluto algo revolucionario.
Todos utilizamos algún tipo de esteganografía a diario, aunque solo sea poner la radio o TV cuando mantenemos una conversación, como hacían los espías a comienzos de la Guerra Fría. Las técnicas más primitivas tienen lugar hace 2500 años o más.
Historia
- Se conocen casos de tatuajes en la cabeza que escondían información y que, una vez crecido de nuevo el cabello, permitían al mensajero entregar un mensaje pasando desapercibido.
- Los griegos primitivos utilizaron diferentes métodos de escritura encubierta (el más conocido de ellos implicaba el uso de la escítala).
- Los alemanes utilizaron los “null ciphers” en la 1ª GM. Consiste en esconder el texto del mensaje entre otros muchos caracteres que deberán descartarse antes de que este pueda ser visualizado.
- Se han utilizado diferentes tipos de tintas invisibles. En principio realizadas con materiales naturales (incluso orina) fueron evolucionando hasta convertirse en algo más sofisticado (por ejemplo, reaccionando a cierto tipo de luz)
Actualmente la esteganografía utiliza principalmente medios digitales: audio, vídeo, imágenes. Es muy utilizada en ataques y seguridad informática.
Usos de la esteganografía
La esteganografía ha sido utilizada desde un tiempo inmemorial por parte de militares, agencias de inteligencia, cibercriminales (más recientemente) y por supuesto civiles.
Tiene multitud de usos como puede ser:
- Garantizar un medio de comunicación libre en condiciones de censura o cuando el sujeto es monitorizado.
- Proteger las comunicaciones privadas en aquellos casos en que la criptografía no está permitida o podría levantar sospechas.
- Para proteger la propiedad intelectual. Gracias a las marcas de agua, se introduce una información “firma” invisible para la gente corriente que, sin embargo, su creador podrá encontrar si está presente.
Antecedentes y cibercriminales
Los terroristas y otras fuerzas maliciosas también emplean la esteganografía para comunicarse entre ellos. Se hallaron pruebas de que fueron usados canales encubiertos para perpetrar los ataques del 11/S por parte del grupo Al-Qaeda dirigido por Bin Laden. También es y ha sido utilizado por otros grupos terroristas más recientes.
También se emplean esos métodos en casos de espionaje corporativo, donde un empleado puede utilizar esteganografía para filtrar secretos de empresa o estatales, evadiendo las medidas de protección como IDS o antivirus.
Por otro lado, el malware encuentra un sitio muy cómodo en los archivos manipulados con este mecanismo, dado que engaña al ojo/oído humano y a muchos sistemas de seguridad. El malware Zeus, por ejemplo, se coló en múltiples bancos de todo el mundo difundiendo imágenes en apariencia inocentes de gatos y puestas de sol.
La esteganografía puede ser utilizada por los cibercriminales para infectarnos, espiarnos o manipularnos de diversas formas
Esteganografía digital
Partes de un medio esteganográfico
Los métodos esteganográficos sirven para crear canales de comunicación encubiertos que normalmente tienen una estructura de 3 partes:
- Medio de transporte / archivo anfitrión (carrier)
- Información oculta (comúnmente llamado payload)
- Clave
Todo ello conformaría un medio esteganográfico (stego-medium) encubierto.
¿Por qué tiene éxito?
Porque engaña la percepción de los sentidos del ser humano, muy limitados:
- La vista humana es pobre cuando se trata de identificar colores y espacios del tamaño de píxeles.
- El oído humano es débil a la hora de reconocer los cambios de fase y la amplitud de las ondas acústicas
En definitiva, al ser idéntico al original que espera recibir esa persona nunca pensaré por defecto que el mensaje puede haber sido modificado.
Métodos esteganográficos
Podemos hablar de 4 métodos diferentes para conseguir una comunicación secreta siguiendo los principios de la esteganografía:
- Inyección: Se añade un contenido al archivo de transporte. La calidad del mismo no varía / empeora pero esto hace que aumente el tamaño del archivo modificado. (por ejemplo Camouflage). En estos casos se añade el contenido del archivo tras el marcador/footer “end-of-file” del archivo. Es fácil de usar pero también de detectar.
- Sustitución: Implica reemplazar parte de los datos del archivo transporte con el contenido encubierto, algo que se consigue eliminando el contenido menos visible o necesario (Least Significant Bit o Bit más insignificante). Esto puede significar una pérdida de calidad respecto al original, dependiendo del tamaño del archivo «transportador» y el archivo oculto. El tamaño del archivo producido será normalmente similar al original, incluso menor si se aplica una compresión adicional.
LSB (least significant bit): La información digital se almacena en formato binario y este siempre tiene los datos menos importantes en la parte derecha. Modificando las partes con menor impacto en el resultado final (como una imagen) se puede conseguir cierto espacio para otros usos).
- Generación al vuelo / spam: se trata de una técnica diferente, que elimina la necesidad de contar previamente con un archivo de transporte. Este tipo de programas suelen utilizarse para ocultar un texto deseado entre un gran número de caracteres aleatorios, espacios o u otro tipo de textos de forma dinámica (por ejemplo, SpamMimic).
- Canales encubiertos: este método emplea paquetes TCP para incluir mensajes ocultos en sus cabeceras y enviarlos entre unas máquinas y otras. Se aprovechan los espacios reservados o sin utilizar de las cabeceras TCP. Ejemplo: si queremos ocultar el carácter “a”, asignaremos el número de secuencia inicial obtenido del resultado de multiplicar el valor ASCII de “a” y el valor constante “k”. Enviaremos después un paquete TCP con este número inicial de secuencia. El receptor dividirá el número de secuencia recibido por la constante “k” en ASCII y podrá ver el carácter “a”. Este método tiene como principal ventaja que es difícil de detectar y como principal inconveniente que permite almacenar poca información.
Palabras finales
Hemos llegado al final del artículo tras haber descrito en qué consiste la esteganografía, sus principales métodos, los usos posibles y algunos antecedentes. En próximas entregas hablaremos dejaremos los conceptos atrás y nos podremos manos a la obra con herramientas, como Invisible Secrets.
Referencias externas
- https://es.wikipedia.org/wiki/Esteganografía
- https://www.sans.org
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.
¡Qué interesante Alejandro!
Espero próximas entregas, con lo peliculera que soy…
Saludos.
Es muy interesante la verdad, sober todo porque no es algo del último siglo, como se suele pensar de la informática. Hablamos de técnicas que tienen su origen mucho más atrás.
Gracias por pasarte 😉
que articulo tan interesante, y existe alguna herramienta para ocultar mensajes de texto en fotos. por ejemplo.
Hola José, hay bastantes, te recomiendo invisible secrets u openstego. Saludos
Hola Alejandro, gracias por el articulo. Conoces y puedes recomendar a una empresa que haga esto para la industria del packaging, como en latas o empaques de alimentos? Saludos
Lo siento, pero no entiendo lo que me estás pidiendo. ¿Puedes ser más concreto?