-[ 0x0A ]-------------------------------------------------------------------- -[ Esteganografia, el poder oculto ]----------------------------------------- -[ GRRL ]------------------------------------------------------------SET-26-- ESTEGANOGRAFIA, EL PODER OCULTO ------------------------------- Oppps!!! que bien suena el titulo!, ya me siento realizado... bueno, aqui estamos un articulo mas, para hablar de un tema realmente interesante que en muchos casos no ha tenido la atencion suficiente, pero es un tema que tiene una gran relevancia, mas aun con la llegada de la Info-sociedad. No!, esteganografia no es una ciencia que estudia la grafia de Estegosaurio, es una ciencia de ocultacion... No!! no son ciencias ocultas, de lo que se trata es de ocultar mensajes, pero no basandose en hacerlos irreconocibles como en la criptografia, sino en hacerlos pasar desapercibidos. Para entrar en materia, vamos a dar tres definiciones diferentes de la esteganografia desde el punto de vista etimologico, el informatico y el punto de vista cientifico. Etimologicamente hablando, esteganografia viene de la palabra griega stegos que no significa otra cosa que "cubierta", por lo tanto, el significado de la palabra es "escritura cubierta". Desde el punto de vista cientifico, esteganografia es el conjunto de metodos y tecnicas para hacer pasar desapercibido o camuflar un mensaje. Desde luego, informaticamente hablando, no dista mucho de la definicion cientifica, pero desde el punto de vista tecnico, esteganografica electronica consite en incluir un texto en un archivo de tal manera que... bla bla bla A lo largo de este documento veremos que la esteganografia puede ser mucho mas que las definiciones que se pueden ver en muchos sitios en internet de embedir un fichero en otro. PRACTICAS DE EMBEDIDO. A.K.A: COMO SE HACE? --------------------------------------------- Existen miles de maneras de incluir un mensaje, sonido o imagen dentro de un fichero, pero los metodos cabian mucho en funcion del tipo de archivo que nos servira de cubierta. Hoy en dia existen algoritmos para hacer esteganografia en muy diversos formatos de fichero (y mas cosas que veremos). gif, bmp, jpeg mp3, wav, mpeg... y un largo ecetera. Todas ellas utilizan algoritmos mas o menos parecidos, pero en casi todos los casos bastante limitados, no penseis que podeis ocultar una biblia entera en una foto de vuestra familia... de esas cosas hablaremos en el proximo apartado. Desde luego no es el objeto de este articulo explicar como se incluyen mensajes, ni evaluar los algoritmos, ni testear el software a nuestra disposicion en internet, si no una mera introduccion a este bonito tema.. haw! Veamos un ejemplo basico de inclusion de un mensaje en un archivo BMP, para ello necesitaremos una foto de nuestra suegra (la mia no, cada uno la suya! y el que no tenga, que utilize otra cosa igualmente amado) y un mensaje. Supongamos que la foto es de 200 x 400 pixels. Tal y como exige el formato cada pixel es un byte, es decir una ristra de 8 bits algo como (00110101), la imagen se construye con una matriz con todos estos pixels (recordemos que este formato no contempla compresion de datos). Con lo cual nos podemos imaginar que una porcion del codigo podria ser algo asi: ... 00010101 10100101 01010101 00110101 01110101 01000010 01010011 01101010 00001011 01010101 10100101 01010111 11010111 10000101 01010010 01010010 10101001 10101011 00001001 10100100 00010001 10100101 00010101 10100101 ... Cada byte es un color, y donde esta el truco?... todos sabemos que si "retocamos" ligeramente los colores (o sea con colores parecidos), la imagen final no se vera afectada, y tambien sabemos que el bit menos significativo (el que esta mas a la derecha de cada byte) apenas alterara el resultado final de la imagen, o sea que cogeremos de cada byte el LSB (less significant bit), o sea el que esta a la derecha... No lo dije antes, pero el mensaje que vamos a incluir es "SET", como minimo para incluirlo, necesitaremos tres octetos, uno por cada letra. los caracteres que necesito para repesentarlo en binario son estos tres: 73 65 74 que en binario corresponden con estos tres bytes: 01001001 01000001 01001010 Por lo tanto, retoco mi imagen tal y como hemos contado (retocando el ultimo bit de cada byte): 00010100 10100101 01010100 00110100 01110101 01000010 01010010 01101011 - - - - - - - - 00001010 01010101 10100100 01010110 11010110 10000100 01010010 01010011 - - - - - - - - 10101000 10101011 00001000 10100100 00010001 10100100 00010101 10100100 - - - - - - - - ... Como podeis ver los bits que he subrayado, han sido modificados, sin alterarse demasiado el resultado final de la imagen. divertido no?. Desde luego, este que acabamos de ver es un ejemplo de lo mas basico, la complicacion del algoritmo se puede llevar a limites insospechados, pero ahora vamos a explicar eso que escribi antes sobre que hay muchas maneras diferentes de incluir mensajes: Sobre este mismo ejemplo, que hubiera pasado si en vez de un mensaje de tres letras necesitara guardar seis? Facil!, podria haber utilizado los dos bits menos significatvos, esto nos hubiera llevado a tener una imagen con mas distorsion, pero el mensaje valdria igual... Tambien podriamos haber metido el mensaje en la cabeceza del fichero, o despues de la marca de final... O podriamos haber "secuestrado" un byte entero de cada X... esto haria que la imagen tuviera puntos que no tuvieran que ver con la imagen (o si)... eso dependera de el y de la imagen que sea, hay muchas maneras diferentes de incluir archivos, y basicamente el ejemplo que vimos se utiliza en otros muchos formatos de fichero. Otro ejemplo que podria dar pero que no doy (jesus! que vagancia), es el incluir una marca en un fichero mp3, para luego compartirlo por internet, esto pretende utilizar (o ya utiliza) la SGAE, pero de eso hablaremos mas adelante. El caso es que las marcas son casi imperfectibles y se denotan como "ruido de fondo", si quereis hacer la prueba, lo que teneis que hacer es casi lo mismo que en el ejemplo antes dado. LIMITACIONES DE LA ESTEGANOGRAFIA A.K.A: HASTA DONDE LLEGA? ----------------------------------------------------------- Hasta aqui todo ha sido muy bonito, casi podemos guardar lo que nos de la gana en muchos ficheros, nuestras comunicaciones son realmente seguras, y sentimos que aunque alguien husmee en nuestras maquinas no encontrará nada demasiado importante, fuimos felices y comimos perdices... Pues realmente no, realmente, la esteganografia es una tecnica que realmente apenas esta desarollada, estamos en la edad de piedra de la esteganografia. Realmente, para utilizar de manera efectiva la estaganografia dependes totalmente del tamaño del mensaje, de la imagen, de la paleta de color y lo que yo creo mas importante, el factor humano: De poco vale ocultar algo si luego resalta en su ambiente... Por ejemplo, de nada vale una foto de un paisaje con una calidad altisima en medio de un directorio lleno archivos de otro tipo, el archivo contenedor no debe llamar la atencion. Como antes he comentado, no es el objeto de este articulo evaluar las aplicaciones de esteganografia. Personalmente, todas las aplicaciones de esteganografia estan severamente limitadas, muchas solo trabajan con unos pocos tipos de archivo o exigen un tipo muy determinado de imagen, aparte que casi todas trabajan exclusivamente con imagnes... y no con otros tipos de archivos. En definitiva, en esteganografia no existe ningun tipo de programa referente y definitivo como puede existir en criptologia -el PGP-, aunque entre todas las aplicaciones cubren un amplio abanico de posibilidades, todas ellas estan bastante sesgadas y se necesita tener un monton de aplicaciones y tiempo para tener un poco de libertad a la hora de incluir mensajes. Tambien hay que tener en cuenta que muchos algoritmos de esteganografia no "sobreviven" a modificaciones de los archivos de portada que es otro dato muy importante a la hora de escoger un metodo u otro. Otra limitacion grave de la esteganografia, es sin duda los algoritmos, porque realmente son siempre los mismos, el programa "X" siempre incluye tal dato en la cabecera, y utiliza tantos bytes para "bla bla bla"... y siempre por poco que sea siempre dejan marcas de su paso por una imagen o archivo de portada. esto hace fragil a la esteganografia cuando alquien esta buscando mensajes, por supuesto, la esteganografia es util cuando no te estan buscando... pero eso es otra historia y la cuento mas adelante. APLICACIONES EN LA VIDA REAL A.K.A: QUIEN Y DONDE SE UTILIZA? ------------------------------------------------------------- Los que nunca hayais oido hablar de estas tecnicas, a estas alturas estareis pensando que los chicos de SET os estan contando una pelicula, nada mas lejos de la realidad, la esteganografia se utiliza en la vida real y con mejores o peores resultados, Veremos algunos de sus usos reales, como pueden ser las marcas de agua, transmision de mensajes terroristas, deteccion de copyrigths y algun que otro uso. Marcas de agua -------------- Sabiamente, corporaciones como la RIAA o la SGAE en Espanya rebautizaron la fea palabra de "esteganografia" por "marcas de agua", evitando mancharse al utilizar una palabra muy fea que solo los chicos malos muy malos utilizan. En la realidad, las marcas de agua y la esteganografia, aunque no son exactamente iguales (realmente las marcas de agua no son comunicacion, son datos) todos sabemos que en la practica son lo mismo, y las intenciones pueden ser igual de "aviesas" tanto en el usuario de la esteganografia como en las sociedades de autores. Las sociedades de autores pretenden incluir marcas de agua en todos sus archivos para luego soltar sus "spiders" (programas que buscan patrones) buscando mp3 con sus marcas de agua, cuando las encuentran, se quedan con la direccion de la pagina web para ponerse en contacto con sus administradores y enviarles un mensaje muy poco amistoso sobre abogados, juicios y cosas "mu malas". Hace poco he leido (creo que en www.barrapunto.com), que la RIAA pretende hacer un nuevo tipo de marca de agua que solo permita la ejecucion del archivo de sonido un numero determinado de veces y despues no funcione. Personalmente creo que este tipo de medidas deberian ir acompanyadas de mas medidas: Prohibir la entrada de alcohol a las reuniones o presentarse a la RIAA en estado de embriagez o sobredosis... ¿una marca de agua que evite la ejecucion de un archivo? ¿cuantos litros de alcohol hacen falta para llegar a esa determinacion? Reconozco que cosas mas raras se han hecho y hace mucho que ya no voy a clases de informatica (gracias a dios) y que yo recuerde y siempre segun la teoria, un mp3 es la entrada y/o la salida del programa, y como tal, poco tienen que hacer o decidir en la ejecucion del programa. Para esto, hace falta una serie de infraestructuras muy faciles de construir y muy dificil de imponer... - Necesitariamos un programa que lea el mp3 y que en algun momento de la ejecucion a parte de leer el programa, lea en algun sitio del archivo el numero de ejecuciones que lleva y le sume una ejecucion. - Cuando llege al numero de ejecuciones maximo, no solo no lo lea sino que destruya el archivo. Esto romperia por todas partes, calculo que cualquier "avispado" que circula por internet tardaria 5 dias (y estadisticamente me quedo corto, recordemos el DVD) en romper el algoritmo de encriptacion del numero ejecuciones (suponiendo que exista), y ponerlo a 0. En el supuesto de que nuestro "avispado" no aparezca, rapidamente apareceran players que se pasen por el "forro" contadores o demas historias... En el peor de los casos, cambiamos el formato mp3 a mp3 encriptado, imagino que para desencriptarlo seria en base al numero de ejecuciones, para que no se evite... para esto necesitarian el un monopolio de players de mp3... Ese dia, los piratas empezaran a grabar al vuelo, sobre un original en una cadena de musica enchufando la salida al micro del ordenador... pero esto es otro tema, y se deberia hablar aparte, sigamos con otras funciones... La funcion inicial: mensajes ocultos ------------------------------------ Todos sabemos que sobre el atentado terrorista del 11 de septiembre circulan miles de mitos, uno de ellos es el sistema que Bin Laden y sus amigos utilizaron para comunicarse atraves de todo el planeta pasandose por los.... a Echelon, sistemas de deteccion y contraespionaje: Creo que ya sabeis la respuesta: Esteganografia. Si los rumores que circulan por Internet son ciertos, la manera de utilizar la esteganografia por parte de al quaeda, dista mucho de la de un novato recien sentado delante de un ordenador que solo ha leido el coran en su vida. No cabe duda que se hizo un uso inteligente de la tecnica, para empezar, no se limitaronn a incluir mensajes dentro de archivos, si no que los mensajes venian encriptados por si las moscas. Otro gran detalle de su uso muy inteligente, fue el metodo de transmision. No todo el mundo es administrador de un sitio web, aunque lo tenian realmente facil para eso, solo tenian que crearse una web, que lo puede hacer cualquiera. Eso podria levantar sospechas, por eso necesitaban un sitio con el que no tuvieran nada que ver, pero a la vez pudieran anyadir imagenes al sitio. Por otra parte, su comprensible mania de "trabajar" en lugares muy concurridos da un target muy claro del tipo de web que necesitaban (o necesitan, nunca se sabe) para enviar sus mensjaes: web de venta de segunda mano, sitios como ebay (este es el que citan los rumores), segundamano.com. Tambien existen rumores que utilizaron sitios porno, estos me parecen menos creibles, dado que para eso necesitarian ser administradores, pero sea lo que sea y cuando el rio suena agua lleva, denota un buen conocimiento de la red de redes, el suficiente para reirse a la cara de las infraestructuras de espionaje que costaron miles de millones. Deteccion de copyrights ----------------------- Este caso es muy parecido al primero, las marcas de agua. Muchas empresas de software (y no voy a citar nombres... bueno, si, por ejemplo Microsoft) incluyen la licencia del producto, e incluso en algunos caso datos personales de la persona que creo el archivo. Las utilidades de esto son muy amplias y parecidas a las del primer caso, no voy a decir nada sobre incluir el numero de licencia en un archivo, entiendo que la industria puede y debe defenderse... pero lo que ya no me parece de recibo es la absoluta violacion de la intimidad guardando datos extras que el usuario inocente cede con toda su buena voluntad mas aun cuando estos estan ocultos y solo un cierto tipo de personas pueden leerlo. Una cosa es que cuando utilizas un programa shareware te ponga una etiqueta en la pantalla, o un aviso y otra es que publique tus datos. Existen otras utilidades, pero en todo caso menores y que no citaremos en este articulo. ESTEGANOGRAFIA MANUAL --------------------- Ya he comentado antes, que no creo demasiado en las aplicaciones de esteganografia, por si tienes la mente olvidadiza, la razon es que estas son bastante limitadas. Sin embargo, si creo en otro tipo de esteganografia, por llamarla de alguna manera la esteganografia "manual", la esteganografia hecha a mano, existen muchos sistemas para ocultar informacion, y no tiene porque ser en los archivos tipicos de sonido imagen o video, puedes esconder mensajes, claves o lo que quieras en otros documentos como .exe, .xls, txt y un largo etc, solo necesitas conocer a conciencia el formato del archivo. para hacer un uso efectivo de estas tecnicas lo que necesitas es ser creativo, y hacerlo en los sitios mas insospechados de todos. por ejemplo Tengo un amigo que le da por guardar claves en la zona de "X" del archivo msdos.sys con todo su morro y sin encriptar, a mi la verdad, me parece efectivo. No creo que haga falta grandes seudocodigos para encriptar, porque realmente su valor no esta en su calidad de ocultacion, si no en la capacidad del "cazador" para encontar. Un codigo de ocultacion deja de ser efectivo cuando es conocido, y esta es de las pocas excepciones a la seguridad basada en la ocultacion, o al menos esta es mi opinion, se que torres mas altas han caido... pero a modo chapuza, es mas que efectivo, a menos claro, que te esten buscando las cosquillas a conciencia. Tampoco creo que haga falta ser un genio para lograr incluir un archivo dentro de otro, durante algun tiempo, he utilizado una imagen de photoshop para guardar "cosillas", al fondo de todas las capas, puse una transparente, con unos textos que deseaba salvaguardar de los demas. Otra forma, un tanto estupida, todo hay que decirlo, es interpretando palabras, veamos un ejemplo. "yo te quiero, tu me odias, tu me quieres, yo te odio. Realmente tu no entiendes lo que yo siento, y creo que yo me siento dolido por lo que tu sientes, el dolor que tu sientes a mi me parece una mierda al lado del que yo siento". Veamos, hasta aqui vemos algo parecido a una carta de amor un tanto boba, nada anormal. Ahora, vamos a sacar de este texto los "yo" y los "tu", Algo asi: yo tu tu yo tu yo yo tu tu yo Y si ahora interpretamos los yo como un 1 y los tu como un 0 nos quedaria: 1 0 0 1 0 1 1 0 0 1 De esto a un mensaje cifrado ya hay poco. Desde luego tal y como esta redactada la carta, el cazador solo puede pensar dos cosas una es que su victima es idiota, y la otra es que algo huele mal, para hacerlo mas disimulado (vuelvo a repetir que la creatividad es lo que importa), el texto deberia ser mucho mas largo y que su redaccion pueda ser lo suficientemente implicita en el contexto, como para no llamar la atencion. Saliendonos del tema informatico, y por si alguno cree que esto es algo muy moderno, nada mas lejos de la realidad, la esteganografia, ya era utilizada por los Griegos, se utilizo durante la edad media, e incluso los Alemanes utilizaron intensivamente tinta invisibe durante la segunda guerra mundial ... BUENAS PRATICAS EN EL USO DE LA ESTEGANOGRAFIA. ----------------------------------------------- Si alguno ha decidido que a partir de ahora va a hacer pasar "despercibido" alguno de sus ficheros, estos pueden ser algunos buenos consejos a tener en cuenta: - Evita que tu archivo de cubierta resalte en el contexto, es decir, no pongas tu imagen en un directorio de documentos, porque aunque para ti lo sea, para otros no. Este consejo que parece tan obvio, no lo es tanto. - La esteganografia electronica es mucho mejor para ocultar cosas a la vista de otros que como metodo de transmision, ademas corres el riesgo que te confundan con una celula de al caeda :-) - Hazte tu propio sistema, evita programas demasiado conocidos. Realmente no sabes a que nivel esta el que busca mensajes, no sabes si los que controlan Echelon tienen mil herramientas funcionando, la manera efectiva es no utilizar nada conocido, nadie conoce el software utilizado por redes de espionaje. - Si trasmites estaganografia, nunca esta de mas que de paso encriptes tu mensaje. - Recuerda, que en el caso de no ser legal (dudo que en muchos paises exista ningun tipo de legislacion sobre esto) siempre se puede apelar a la casualidad y al desconocimiento. :-) ALGUNOS LINKS ------------- Para los que os apetezca seguir tirando del hilo sobre este tema, aqui teneis unos cuantos links sobre el tema, aunque ya os advierto que la informacion que circula esta muy difusa y casi toda en ingles. http://www.jjtc.com/Steganography/ --> Un sitio bastante bueno. http://www.StegoArchive.com --> Bastante completa. http://steganography.com/ --> Para ir de compras. http://www.privacyexposed.com/resources/steganog.htm --> Muchos links. Tambien podeis probar las muchas respuestas que da google sobre este tema. GRRL web@set-ezine.org *EOF*