0Pricing
Cyber Security Academy · Lección

Esteganografía de imágenes y audio

Incruste datos en archivos multimedia.

Esteganografía de imágenes y audio es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

Cómo almacenan píxeles las imágenes

Para ocultar datos en una imagen, primero debe saber cómo almacenan el color las imágenes. Un píxel de una imagen RGB tiene tres canales: rojo, verde y azul; cada uno suele ser un número de 8 bits entre 0 y 255.

Por tanto, un píxel ocupa tres bytes. Una imagen pequeña de 800x600 tiene 480.000 píxeles y 1,44 millones de bytes de color. La esteganografía aprovecha esa redundancia: hay muchos más bytes de los que el ojo puede examinar minuciosamente.

La idea clave es que el sistema visual humano no puede distinguir un valor de color de 200 de uno de 201. Ese margen imperceptible es donde residen los datos ocultos.

Inserción mediante el bit menos significativo

La inserción mediante LSB reemplaza el bit de menor peso de cada byte de color por un bit del secreto. Como el bit menos significativo solo cambia el valor en 1, el cambio visual es imperceptible.

Considere ocultar el bit 1 en un valor de 200 del canal rojo (binario 11001000). Al reemplazar el último bit por 1 se obtiene 11001001 = 201, un cambio que ningún ser humano puede percibir.

En miles de píxeles, la carga útil se reconstruye leyendo esos LSB en orden.

# Embed: keep top 7 bits, set LSB to the secret bit
# value 200 = 1100100 0  -> hide 1 -> 1100100 1 = 201
#
# In Python terms (read-only illustration):
# new_byte = (color_byte & 0xFE) | secret_bit   # 0xFE clears the LSB

Codificación de un mensaje completo

Un mensaje es una secuencia de bytes, cada uno de 8 bits. Para ocultar la palabra junto con una cabecera de longitud, se aplana la carga útil en un flujo de bits y se escribe un bit por cada canal de color.

Un insertador práctico también guarda un prefijo de longitud o una secuencia terminadora única para que el extractor sepa cuándo dejar de leer; de lo contrario, no puede distinguir la carga útil del ruido del portador.

Eso es exactamente lo que automatizan herramientas como steghide, zsteg y stegano, a menudo añadiendo una contraseña y una capa de cifrado.

# Embed a secret into a PNG with the open-source 'stegano' tool
stegano-lsb hide -i cover.png -m 'meet at noon' -o stego.png

# steghide with a passphrase (encrypts then embeds)
steghide embed -cf cover.jpg -ef secret.txt -p 'p@ss'

Elegir el formato de imagen adecuado

El formato es de gran importancia debido a la compresión:

  • Formatos sin pérdida (PNG, BMP): conservan cada píxel exactamente. Los datos LSB sobreviven intactos, por lo que son portadores ideales.
  • Formatos con pérdida (JPEG): descartan detalles finos durante la compresión, lo que destruye los datos LSB ingenuos.

En JPEG, la inserción debe realizarse en los coeficientes DCT, los valores del dominio de frecuencia utilizados durante la compresión, en lugar de hacerlo en los píxeles sin procesar. Herramientas como steghide y las clásicas JSteg/OutGuess operan en ese dominio para que la carga útil sobreviva al paso de compresión.

La fragilidad del LSB ingenuo

La inserción ingenua mediante LSB en píxeles es frágil. Cualquier operación que cambie los valores de los píxeles destruye los bits ocultos:

  • Volver a guardar como JPEG: la compresión con pérdida reescribe los bytes.
  • Cambiar el tamaño o recortar: el remuestreo modifica todos los valores.
  • Ajustar el color: se desplazan el brillo y el contraste.
  • Subir la imagen a redes sociales: las plataformas vuelven a codificar las imágenes automáticamente.

Este es el extremo de la robustez del triángulo. Si una carga útil debe sobrevivir a la edición (por ejemplo, una marca de agua), se inserta en el dominio de frecuencia (DCT/DWT) y se acepta una capacidad menor a cambio.

Aumentar la discreción: ubicación inteligente

El LSB ingenuo escribe en los píxeles secuencialmente desde la esquina superior izquierda, lo que crea una firma estadística detectable. Los métodos más discretos distribuyen la carga útil para evitar el análisis:

  • Ubicación pseudoaleatoria: una clave estego inicializa un PRNG que selecciona los píxeles que transportarán los bits, de modo que el patrón parezca aleatorio.
  • Regiones ruidosas: se insertan datos en áreas con textura (hierba, cabello), donde ya existe variación, en lugar de hacerlo en cielos uniformes.
  • Inserción adaptativa: los algoritmos modernos minimizan una función de coste de detectabilidad.

La clave estego también actúa como contraseña: sin ella, un analista no puede reconstruir el orden de los bits aunque sospeche que hay datos ocultos.

Fundamentos de la esteganografía de audio

El audio funciona según el mismo principio que las imágenes, pero en el dominio temporal o de frecuencia. Un archivo WAV almacena muestras, normalmente números de 16 bits que representan la amplitud miles de veces por segundo.

La inserción mediante LSB en audio sobrescribe el bit menos significativo de cada muestra. Un cambio de 1 unidad en una amplitud de 16 bits está muy por debajo del umbral de audición humana, por lo que el audio suena idéntico.

Con 44.100 muestras por segundo y por canal, el audio ofrece una gran capacidad, aunque los formatos con pérdida como MP3 destruyen los LSB de las muestras sin procesar del mismo modo que JPEG destruye los LSB de los píxeles.

# Hide a file in a WAV using the open-source steghide
steghide embed -cf song.wav -ef secret.txt -p 'p@ss'

# WAV is lossless (raw PCM samples) - LSB survives.
# MP3 is lossy - embed in the encoded domain or it is destroyed.

Técnicas avanzadas de audio

Además del LSB, la esteganografía de audio utiliza trucos perceptuales basados en el funcionamiento de la audición:

  • Codificación de fase: altera la fase de los componentes de audio; el oído es insensible a la fase absoluta.
  • Ocultación mediante eco: introduce pequeños ecos imperceptibles cuyo retraso codifica bits.
  • Espectro ensanchado: distribuye la carga útil por una banda de frecuencias amplia como ruido de bajo nivel resistente a la edición.
  • Inserción de tonos: oculta datos mediante tonos enmascarados por sonidos cercanos más intensos (enmascaramiento psicoacústico).

Estas técnicas intercambian capacidad por robustez y discreción, de forma similar a los métodos de imagen en el dominio de frecuencia.

Dominio espacial frente al dominio de frecuencia

Una idea común a todos los medios es la elección del dominio:

  • Dominio espacial/temporal: inserta los datos directamente en píxeles o muestras. Es sencillo y ofrece una gran capacidad, pero es frágil frente a la compresión.
  • Dominio de frecuencia: transforma la señal (DCT para JPEG, DWT para wavelets, FFT para audio), inserta los datos en los coeficientes y después vuelve a transformarla. Es más robusto y discreto, pero ofrece menor capacidad y es más complejo.

La regla es la siguiente: si el portador se va a comprimir, redimensionar o compartir, inserte los datos en el dominio de frecuencia. Para portadores sin pérdida e intactos, el LSB espacial es adecuado.

Planificación de la capacidad

Antes de insertar datos, estime cuánto puede ocultar de forma segura. Una pauta útil es la tasa de inserción: los bits ocultos por cada bit del portador.

  • 1 bit por canal (LSB completo): máxima capacidad, pero también mayor detectabilidad.
  • Tasas fraccionarias: utilizar solo una fracción de los píxeles reduce la capacidad, pero mejora considerablemente la imperceptibilidad.

Una imagen RGB de 1920x1080 tiene unos 6,2 millones de bytes de color, aproximadamente 777 KB con LSB completo. Sin embargo, la inserción orientada a la seguridad utiliza solo una fracción de esa capacidad, porque llenar todos los LSB produce anomalías estadísticas que las herramientas de estegoanálisis detectan fácilmente.

# Rough capacity at 1 bit/channel full LSB:
# width x height x channels / 8 bytes
# 1920 x 1080 x 3 / 8  =  ~777,600 bytes (~759 KB)
# In practice use a fraction to stay below detection thresholds.

Conclusiones para los defensores

Desde la perspectiva de un defensor, comprender la inserción de datos le indica qué debe vigilar:

  • Desajustes de formato: un PNG/BMP donde se espera un JPEG puede indicar que se ha elegido un portador sin pérdida para utilizar LSB.
  • Anomalías de tamaño: un archivo más grande de lo que justificaría su contenido visible.
  • Volver a codificar como defensa: las plataformas que vuelven a comprimir todas las cargas destruyen las cargas útiles LSB ingenuas; es una medida de mitigación económica.
  • Análisis estadístico: la inserción mediante LSB completo aplana la distribución natural de los valores de los bits, algo que el estegoanálisis puede detectar.

Estas firmas sirven de puente hacia la siguiente lección: la detección de datos ocultos.

Comprobación rápida

Compruebe su comprensión de la elección del formato.

Resumen: esteganografía de imágenes y audio

Ha aprendido cómo se insertan realmente los datos en archivos multimedia.

  • La inserción mediante LSB sobrescribe el bit menos significativo de cada muestra de color o audio; el cambio de 1 unidad es imperceptible.
  • Un prefijo de longitud o un terminador marca dónde termina la carga útil; herramientas como steghide y stegano automatizan este proceso con cifrado opcional.
  • Los formatos sin pérdida (PNG, BMP, WAV) conservan los datos LSB; los formatos con pérdida (JPEG, MP3) requieren la inserción en el dominio de frecuencia (DCT/eco/espectro ensanchado).
  • La discreción mejora mediante la ubicación pseudoaleatoria, la inserción en regiones ruidosas y algoritmos adaptativos controlados por una clave estego.
  • La elección entre el dominio espacial y el dominio de frecuencia intercambia capacidad por robustez.
  • Los defensores vigilan los desajustes de formato, las anomalías de tamaño y las firmas estadísticas, y utilizan la recodificación para destruir las cargas útiles ingenuas.

A continuación, aprenderemos a detectar datos ocultos mediante el estegoanálisis.

Preguntas frecuentes

¿La lección «Esteganografía de imágenes y audio» es gratis?

Sí — el texto completo de «Esteganografía de imágenes y audio» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Esteganografía de imágenes y audio»?

Incruste datos en archivos multimedia. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Esteganografía de imágenes y audio»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué es la esteganografía
  2. Esteganografía de imágenes y audio
  3. Detección de datos ocultos (esteganálisis)
  4. Canales encubiertos y exfiltración
← Volver a Cyber Security Academy