Está en la página 1de 8

SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.

PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...


1. Introduccin.
La esteganografa es el arte de escribir de forma oculta. Esta palabra, de origen griego,
proviene de los trminos esteganos (secreto, oculto) y graphos (escritura), es decir, escritura oculta.
La esteganografa y la criptografa persiguen el mismo fin: enviar mensajes de forma secreta, pero
ambas disciplinas son diferentes. En la criptografa se trata de ocultar el significado de un mensaje,
mientras que en la esteganografa se trata de ocultar el mensaje en s, que adems puede estar cifrado,
o no.
El uso de la esteganografa data de hace miles de aos, y ya Herodoto (485 a.c. - 425 a.c.)
narra cmo Demeratus, rey de Esparta utiliz la esteganografa para avisara a su ciudad de un
prximo ataque de Xerxes, rey de los persas. En aquellos tiempos se escriba sobre tablillas enceradas,
marcndolas con un punzn... Demeratus hizo grabar un mensaje directamente en la madera de las
tablillas y luego las hizo cubrir de cera, de manera que parecieran tablas en blanco sin utilizar...
Desde la antigedad hasta hoy, la esteganografa se ha utilizado constantemente, y el nico
lmite que ha tenido es el de la imaginacin humana... ejemplos por todos conocidos son la tinta
invisible, los mensajes escondidos en dobles fondos, o los microfilms escondidos en el tubo de pasta
de dientes de un super-espa...
Hoy, la esteganografa cobra sentido de nuevo, ya que es posible ocultar informacin relevante
en ficheros que aparentemente tienen slo otros contenidos, como los ficheros grficos o de sonido.
Pero no nos quedemos aqu, expliquemos por qu es esto posible, veamos cmo se puede hacer
tericamente y pongmoslo en la prctica...
2. Esteganografa digital.
Hay gran variedad de tipos de ficheros de ordenador, pero en el fondo, el contenido de todos
ellos es el mismo: una sucesin de bits (ceros y unos). Las diferencias que existen entre los ficheros
hay que verlas desde un punto de vista ms alto, desde un nivel de abstraccin mayor y radica en el
significado que contienen los bits.
Los distintos tipos de ficheros organizan su contenido de forma diferente, para poder
almacenar un tipo de informacin distinta... as tenemos ficheros que contienen texto, imgenes, datos
de contabilidad, documentos complejos, sonido, hojas de clculo, vdeo, planos, pginas de Internet,
etc... Hoy en da se puede guardar cualquier tipo de informacin en un fichero.
La esteganografa digital trata de esconder los datos de un fichero (bits) dentro de otro fichero
(que contiene ms bits). O sea, que de lo que trata esta disciplina es de esconder bits dentro de un
montn de bits. Pero claro, si modificamos un fichero aadindole ms bits escondidos... estaremos
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 1.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
modificando el contenido del fichero y la informacin que ste almacena... y ese cambio ser visible...
o quizs no?
La esteganografa moderna trata de esconder bits dentro de un fichero, pero sin que un
observador que disponga del fichero final pueda sospechar que dicho fichero, adems del significado
evidente que contiene, almacena otra informacin oculta...
3. Cmo se puede ocultar una serie de bits en otra serie de bits?
El tipo de fichero que se desea esconder no es relevante en absoluto, puede ser cualquiera. Nos
da igual que sea un pdf, un ejecutable, o un archivo de sonido... al fin y al cabo se escondern los bits
que lo componen! Otra cuestin muy diferente es de qu tipo es el fichero anfitrin, el que va a
guardar la informacin secreta... ya que al hacerlo no debemos destruir el contenido original del
fichero.
La cuestin es cmo podemos ocultar una serie de bits en un fichero? Tenemos dos opciones:
1. Aadir los bits del fichero a ocultar a un fichero ya existente. Esta opcin supone
aumentar el tamao del fichero ocultador, sumndole el tamao del fichero oculto.
Para hacerlo, si no queremos que el engao sea visible, debemos conseguir que el fichero
ocultador siga pareciendo normal. Por lo tanto, slo podremos insertar bits ocultos en
huecos del fichero ocultador. Los huecos pueden ser creados artificialmente... por
ejemplo, en un fichero ejecutable podemos abrir un hueco de 100 bytes y antes del hueco
colocar un salto incondicional al byte justamente posterior al hueco. Pero no todos los
tipos de ficheros admiten huecos...
Esta tcnica se usa sobre todo con ficheros ejecutables. Sin embargo, hay que tener
cuidado de que el porcentaje de huecos no sea muy elevado, ya que podra resultar
evidente que el tamao del fichero es demasiado grande para lo que hace el programa...
Este sistema tiene como gran desventaja que los huecos artificiales en el cdigo pueden ser
fcilmente descubiertos por un analizador de cdigo apropiado que los detecte, con lo que
el sistema no es muy seguro.
2. Modificar los bits de un fichero ya existente, en funcin de los bits a ocultar, de forma
que despus podamos recuperar los bits ocultos. En trminos teleco-frikis, podramos decir
que es como modular un fichero portador con un fichero de datos.
La desventaja de este sistema es obvia: modifica el contenido del fichero original. Pero si
lo pensamos bien, eso quizs no sea un problema...
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 2.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
Este sistema se utiliza con ficheros de imgenes (mapas de bits) o con ficheros de sonido.
En estos tipos de archivo, se almacenan digitalizados valores que en s son analgicos. De
tal manera, por ejemplo, que un fichero de mapa de bits almacena, para cada punto de la
pantalla, un valor numrico que representa una referencia del color exacto de dicho punto.
En el caso del sonido, almacenan, para cada instante, el valor numrico que representa el
tono exacto del sonido.
Como un fichero de imgenes puede codificar millones de colores, si variamos la
referencia del color de un pixel en una unidad, entre ms de 17 millones de valores, la
diferencia de color es inapreciable por el ojo humano. Lo mismo ocurre con los ficehros
de sonido: Si en un instante variamos la referencia del tono de sonido en una unidad, frente
a los millones de valores posibles, la diferencia del tono no ser apreciable por el odo
humano.
Es decir, por este sistema, se consigue que el fichero resultante aparentemente no tenga
nada raro, es un fichero perfectamente normal, sin nada destacable. Slo si un atacante
dispusiera de la imagen original, adems de la imagen con el archivo oculto, podra
detectar los cambios a nivel binario.
Pero una de las mximas de este sistema es que los ficheros ocultadores originales
NUNCA deben ser transmitidos y es mejor ni siquiera guardar copia de ellos. Si no se
tiene la imagen original para compararla con la imagen esteganografiada... Es casi
imposible detectar que esta ltima oculta algo!
La nica debilidad de este sistema radica en la posibilidad de que el atacante conozca el
algoritmo esteganogrfico. Si as fuera, podra ejecutar el algoritmo inverso sobre archivos
de imagen o de sonido, en busca de informacin secreta. Si bien este ataque es
estadsticamente muy complejo si el algoritmo esteganografiador es suficientemente
bueno, ya que las posibilidades de ocultacin son enormes.
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 3.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
Veamos un resumen de todo lo explicado en la siguiente tabla:
TIPOS DE ESTEGANOGRAFA DIGITAL.
Aadir los bits del fichero a ocultar a
un fichero ya existente.
Modificar los bits de un fichero ya
existente, en funcin de los bits a
ocultar.
Caractersticas
Se puede ocultar cualquier tipo de fichero.
Los ficheros a ocultar pueden ser previamente encriptados.
Es posible la esteganografa recursiva (un fichero oculto dentro de un fichero, que a su
vez est oculto dentro de un fichero, que a su vez est oculto dentro de un fichero...)
Como ficheros ocultadores se suelen
usar ejecutables.
Como ficheros ocultadores se suelen
usar imgenes y sonido.
Ventajas
No se modifica el contenido del
fichero ocultador
El fichero resultante es perfectamente
normal, lgico y coherente.
No se aumenta el tamao del fichero
ocultador.
Sin conocer el algoritmo
esteganografiador, es casi imposible ni
siquiera detectar que el fichero
resultante esconde algo.
Conociendo el algoritmo ocultador, es
estadsticamente muy difcil obtener el
fichero oculto. (Si el algoritmo est
bien diseado).
Es bastante resistente frente a ataques.
Inconvenientes
Si un atacante consiguiera el fichero ocultador original y el fichero ocultador con la
informacin aadida, podra obtener la informacin oculta fcilmente.
Hay que crear huecos artificiales
donde esconder la informacin
oculta.
Aumenta el tamao del fichero
ocultador.
Es fcilmente detectable. (Se pueden
encontrar los trozos de cdigo intil).
Es dbil frente a ataques.
Modifica el contenido original del
fichero ocultador.
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 4.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
4. La Esteganografa Digital en la prctica
Todo esto es muy bonito y muy interesante... pero cmo lo podemos aplicar? Evidentemente
hay dos maneras... Puedes implementar tus propios algoritmos esteganogrficos para ocultar la
informacin (pero este recurso est limitado a unos pocos...), o tambin puedes utilizar programas
esteganogrficos ya existentes.
Voy a explicar aqu la utilizacin de un programa de esteganografa sumamente sencillo. Se
llama steghide y funciona bajo linux. Hay otras aplicaciones para linux y para las plataformas
Windows... Al final encontrars enlaces a algunas de ellas.
Steghide es un paquete disponible en el repositorio de Debian Etch. Se instala con el comando:
prompt# apt-get install steghide
Una vez hecho esto, ya estar disponible como un comando ms del sistema.
Para hacer una demostracin, he escogido varios ficheros:
He elegido ocultar la hoja de datos tcnicos del punto de acceso Linksys WAP54G, en
formato pdf. Es el fichero WPA54G.pdf.
Como fichero ocultador, he elegido una preciosa foto de la escultura que hay en
Crodba en mitad del ro, llamada estatua.jpg.
He ocultado la hoja de clculo en la imagen, usando steghide, obteniendo el fichero
esteganografiado estatua2.jpg. Aparentemente contiene slo la fotografa de la estatua en
el ro, aunque internamente incluye tambin el fichero pdf.
Para esteganografiar, hay que ejecutar el comando steghide indicando el archivo a ocultar, el
archivo ocultador y el nombre del archivo esteganografiado resultante. Al ejecutar, el programa pide
una contrasea (a la que llama salvoconducto).
prompt$ steghide embed -ef WAP54G.pdf -cf estatua.jpg -sf
estatua2.jpg
Para invertir el proceso, hay que ejecutar el comando steghide, indicando el nombre del
archivo esteganografiado y un nombre del archivo para el secreto extrado. Al ejecutar, el programa
pide la contrasea. Si no es correcta, no extraer la informacin oculta.
prompt$ steghide extract -sf estatua2.jpg -xf WAP54G.pdf
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 5.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
A continuacin muestro las consolas relativas a los dos procesos:
Pantalla-1: Proceso de esteganografiar: oculta el fichero WPA54G.pdf dentro del fichero estatua.jpg,
produciendo el fichero estatua2.jpg. (Se us como contrasea estudiaenlinea).
Pantalla-2: Proceso de desesteganografiar: Obtiene el fichero WAP54G.pdf a partir del fichero estatua2.jpg. (Se
us como contrasea estudiaenlinea).
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 6.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
Y por si quedara duda, os muestro las dos imgenes, la original y la que tiene el fichero
oculto... Cul es cul?
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 7.
SEGURIDAD EN SISTEMAS LINUX. MDULO 4: CRIPTOGRAFA.
PRACTICANDO LA ESTEGANOGRAFA EN EL SIGLO XXI...
5. Archivos incluidos en esta prctica.
Adjunto a este documento incluyo los siguientes ficheros:
WAP54G.pdf. Es el fichero pdf que se oculta.
estatua.jpg. Es el fichero portador, antes de incluir la informacin oculta.
estatua2.jpg. Es el fichero esteganografiado, es decir es la imagen con el fichero oculto
incluido. A partir de l se puede obtener el fichero WAP54G.pdf ejecutando el comando
descrito anteriormente y usando como contrasea estudiaenlinea.
6. Enlaces interesantes sobre el tema.
http://steghide.sourceforge.net/ Pgina oficial de Seteghide. (In English).
http://steghide.sourceforge.net/documentation/manpage_es.php Documentacin de
Setghide. (En castellano).
http://www.fbi.gov/hq/lab/fsc/backissu/july2004/research/2004_03_research01.htm
Impresionante documento del FBI que explica la esteganografa en general y la digital en
particular. Muy bueno. (In English).
http://www.nakasoft.net/_about.htm Pgina oficial de NakaSoft, creadores de Xiao
Steganography, aplicacin esteganogrfica para Windows. Es Freeware. (En castellano).
http://www.nakasoft.net/xiao/esp/ Pgina de Xiao Steganography. Incluye el programa
y vdeos explicativos.
http://lifehacker.com/software/encryption/hide-files-in-jpeg-images-207905.php Explica
cmo hacer esteganografa con WinRar, si bien ,se consiguen ficheros muy dbiles frente
a ataques. (In English).
http://openstego.sourceforge.net/ Pgina principal de OpenStego, utilidad esteganogrfica
para Linux y Windows. Es Freeware. (In English).
http://www.dragonjar.org/openstego-solucion-libre-para-esteganografia.xhtml Tutorial
de OpenStego. (En castellano).
http://www.invisiblesecrets.com/ Pgina principal del software Invisible Secrets, para
plataformas Windows. Es de pago. (In English).
www.estudiaenlinea.es Joaqun J. Domnguez Torrecilla. Pgina 8.

También podría gustarte