La esteganografía es el arte de ocultar información a plena vista, y en este truco, le mostraré cómo usar Steghide, una herramienta de línea de comandos.
Steghide es una herramienta muy simple, configurable y que solo toma unos segundos para ocultar información en muchos tipos de archivos. ¡Venga, otro tip de seguridad!
Primero vamos a repasar algunos antecedentes conceptuales para ayudarte a entender lo que sucede detrás de las escenas.
1. ¿Qué es esteganografía?
A diferencia de la criptografía, donde es obvio que se oculta un mensaje, la esteganografía oculta los datos a plena vista, dentro de un archivo como una imagen. Para cualquiera que no sepa que contiene datos ocultos, parece una imagen normal e inocente. Esto es útil en situaciones donde enviar mensajes cifrados puede levantar sospechas, como en países donde se suprime la libertad de expresión. También se usa con frecuencia como marca de agua digital para encontrar cuándo se roban las imágenes o archivos de audio. Y en la práctica informática, es simplemente genial.
2. Cómo se implementa la esteganografía
Existen varias técnicas diferentes para ocultar datos dentro de archivos comunes, una de las más utilizadas y quizás la más simple de entender es la técnica de bit menos significativo, o LSB. Estas técnicas cambian los últimos bits de un byte para codificar un mensaje. Esto es especialmente útil en algo así como una imagen, donde los valores rojo, verde y azul de cada píxel están representados por ocho bits (un byte), que van de 0 a 255 en decimal, o de 00000000 a 11111111 en binario.
La técnica de bit menos significativo funciona bien para archivos multimedia, donde los valores de byte ligeramente cambiantes crean solo ligeros cambios imperceptibles, pero no tan bien para cosas como texto ASCII, donde un único bit fuera de lugar cambiará por completo el carácter. Eso sin mencionar el hecho de que los datos ocultos usando la esteganografía LSB también son fáciles de detectar si alguien lo está buscando.
Por esta razón, hay una gran cantidad de otras técnicas de esteganografía, cada una con sus propios beneficios y desventajas. Otro mucho menos detectable se llama técnica de coeficiente de transformada de coseno discreto (DCT) que cambia ligeramente los coeficientes de las ondas de coseno que se utilizan para reconstruir una imagen JPEG.
3. Cómo utilizar la esteganografía de manera efectiva
Teniendo en cuenta que ciertas técnicas de esteganografía digital son mejores que otras, generalmente, es mejor evitar la técnica LSB y buscar algo un poco más sofisticado. De hecho, diseñar su propio algoritmo de esteganografía no es terriblemente difícil si ya tiene una buena codificación y fundamentos matemáticos.
Otras dos cosas a considerar son el cifrado y la compresión. Cifrar datos antes de incrustarlos agrega una capa adicional de seguridad, mientras que la compresión de sus datos obviamente le permitirá encajar más en su archivo de portada. Ambos esquemas de encriptación y compresiones se pueden incluir como parámetros opcionales en Steghide, los trataremos a continuación.
4. Steghide para ocultar datos
Pasemos a la acción. Usar Steghide es muy fácil. Para instalarlo desde la terminal en Linux simplemente escriba lo siguiente.
apt-get install steghide
4.1. Ocultando Datos en Imagen
Una vez que está instalado, para insertar datos en un archivo, escriba el comando a continuación.
steghide embed -ef archivoSecreto -cf portadaArchivo -sf salidaArchivo -z nivelCompresion -e esquemaCifrado
Los argumentos se desglosan de la siguiente manera:
- –ef: especifica la ruta del archivo que desea ocultar. Puede incrustar cualquier tipo de archivo dentro del archivo de “portada”.
- -cf: es el archivo en el que están incrustados los datos (le llamamos “portada”), esto está restringido a archivos BMP, JPEG, WAV, AU.
- -sf: es un argumento opcional que especifica el archivo de salida; si se omite, el nuevo archivo esteganográfico sobrescribirá al archivo de portada original.
- -z: especifica el nivel de compresión, entre 1 y 9. Si prefiere no comprimir su archivo, utilice el argumento -Z en su lugar.
- -e: especifica el tipo de encriptación. Steghide admite una multitud de esquemas de cifrado, y si este argumento se omite por defecto, Steghide utilizará el cifrado AES de 128 bits. Si prefiere no usar cifrado, simplemente escriba -e none.
Este es un ejemplo de cómo usar Steghide desde la terminal. (Mi archivo de texto se llama Secreto.txt y en la imagen que lo ocultaré se llama cat.jpg)
steghide embed -ef Secreto.txt -cf cat.jpg -e none -Z
Una vez que haya ejecutado el comando Steghide, se le pedirá que ingrese una contraseña que le permitirá extraer los datos incrustados más adelante.
4.2. Extraer datos ocultos de un archivo
Extraer datos ocultos de una imagen esteganográfica es aún más fácil. El comando usa la sintaxis a continuación.
steghide extract -sf archivoOculto -xf salidaArchivo
Una vez que ejecuta este comando, se le pedirá que ingrese la misma contraseña que creó anteriormente para crear el archivo extraído.
¡Es así de simple!
- Te puede interesar: Cómo ocultar Archivos y Carpetas dentro de una Imagen
5. Tutorial de steghide
https://youtu.be/eQ9-H9hysTY
6. Puntos finales
La ventaja de la esteganografía es que puede ocultar datos a plena vista, pero realmente puede explotar si no sigue algunas reglas de sentido común. En primer lugar, las pequeñas diferencias que presenta la esteganografía son difíciles de detectar, a menos que tenga el original.
Espero que hayan disfrutado este tutorial y se hayan dado cuenta de lo fácil que es usar esteganografía. Literalmente, solo toma un momento esconder los mensajes secretos dentro de los archivos multimedia, y ya sea que lo estés haciendo para proteger los derechos de autor o simplemente por seguridad, la esteganografía tiene una multitud de aplicaciones. ¡Comparte con los demás! 😉