Subido por Juan Villegas

Privacidad y ocultación de información digital. Esteganografía compressed

Anuncio
Descargado en: eybooks.com
Privacidad y ocultación
de información digital
Esteganografía
Protegiendo y atacando redes informáticas
Alfonso Muñoz Muñoz
Privacidad y ocultación
de información digital
Esteganografía
Protegiendo y atacando redes informáticas
Alfonso Muñoz Muñoz
La ley prohíbe
fotocopiar este libro
Privacidad y ocultación de información digital.
Esteganografía. Protegiendo y atacando redes informáticas
© Alfonso Muñoz Muñoz
© De la edición: Ra-Ma 2016
MARCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos (hardware,
software, sistemas operativos, etc.) suelen ser marcas registradas. RA-MAha intentado a lo largo de este libro distinguir
las marcas comerciales de los términos descriptivos, siguiendo el estilo que utiliza el fabricante, sin intención de
infringir la marca y solo en beneficio del propietario de la misma. Los datos de los ejemplos y pantallas son ficticios a
no ser que se especifique lo contrario.
RA-MA es marca comercial registrada.
Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa. Sin embargo, RA-MA
Editorial no asume ninguna responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni otros
derechos de terceras partes que pudieran ocurrir. Esta publicación tiene por objeto proporcionar unos conocimientos
precisos y acreditados sobre el tema tratado. Su venta no supone para el editor ninguna forma de asistencia legal,
administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra forma de ayuda experta, deben buscarse
los servicios de un profesional competente. d e s c a r g a do e n: e y b o oks. c o m
Reservados todos los derechos de publicación en cualquier idioma.
Según lo dispuesto en el Código Penal vigente, ninguna parte de este libro puede ser reproducida, grabada en sistema
de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico, mecánico,
reprográfico, magnético o cualquier otro sin autorización previa y por escrito de RA-MA; su contenido está protegido
por la ley vigente, que establece penas de prisión y/o multas a quienes, intencionadamente, reprodujeren o plagiaren, en
todo o en parte, una obra literaria, artística o científica.
Editado por:
RA-MA Editorial
Calle Jarama, 3A, Polígono Industrial Igarsa
28860 PARACUELLOS DE JARAMA, Madrid
Teléfono: 91 658 42 80
Fax: 91 662 81 39
Correo electrónico: [email protected]
Internet: www.ra-ma.es y www.ra-ma.com
ISBN: 978-84-9964-644-2
Depósito legal: M-10506-2016
Maquetación: Antonio García Tomé
Diseño de portada: Antonio García Tomé
Filmación e impresión: Copias Centro
Impreso en España en abril de 2016
Dedicado a todos aquellos que en los últimos meses
me han dado el cariño y la conanza
necesarios para terminar este y otros proyectos.
A los ángeles que me apartaron de la oscuridad.
ÍNDICE
ACERCA DEL AUTOR ..................................................................................................... 11
PRÓLOGO .......................................................................................................................... 13
CAPÍTULO 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES.
CRIPTOGRAFÍA Y ESTEGANOGRAFÍA .....................................................................15
1.1 ESPIONAJE MASIVO DE LAS COMUNICACIONES.
PRIVACIDAD Y FUGA DE INFORMACIÓN................................................... 15
1.2 PROTECCIÓN DE LA INFORMACIÓN MEDIANTE CRIPTOGRAFÍA.
LIMITACIONES Y RETOS FUTUROS ............................................................. 25
1.2.1 Desde la criptografía clásica a las máquinas de cifrado ......................... 25
1.2.2 De las máquinas de cifrado a la criptografía moderna ........................... 36
1.2.3 Superando a la criptografía. Limitaciones y retos futuros......................43
CAPÍTULO 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES
DIGITALES. ESTEGANOGRAFÍA.................................................................................47
2.1 ESTEGANOGRAFÍA EN LA ACTUALIDAD. DEFINICIÓN DE
CONCEPTOS ...................................................................................................... 47
2.2 ESTEGANOGRAFÍA CLÁSICA. HISTORIA DE LA OCULTACIÓN DE
COMUNICACIONES ......................................................................................... 51
2.3 CLASIFICACIÓN DE SISTEMAS ESTEGANOGRÁFICOS MODERNOS.
PORTADORES .................................................................................................... 66
2.4
TÉCNICAS ESTEGANOGRÁFICAS EN LA ACTUALIDAD......................... 71
2.4.1 El caso DeCSS. Anulando el sistema de protección de los DVD .......... 71
2.4.2 Negación plausible y chafng and winnowing.
Condencialidad sin cifrado...................................................................74
CAPÍTULO 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES ..77
3.1 PRINCIPIOS DE LA OCULTACIÓN DE INFORMACIÓN EN IMÁGENES
DIGITALES. LO QUE EL OJO NO VE ............................................................. 77
8 ESTEGANOGRAFÍA
3.2
3.3
3.4
3.5
3.6
© RA-MA
TÉCNICAS DE SUSTITUCIÓN LSB (LEAST SIGNIFICANT BIT)
REPLACEMENT/MATCHING .......................................................................... 79
3.2.1 Ocultación de información en el bit menos signicativo.
Herramientas y ejemplos ........................................................................ 79
TÉCNICAS ESTEGANOGRÁFICAS BASADAS EN PALETA DE
COLORES. ESTEGANOGRAFÍA EN FORMATO GIF .................................... 94
TÉCNICAS ESTEGANOGRÁFICAS BASADAS EN COEFICIENTES
CUANTIFICADOS. ESTEGANOGRAFÍA EN JPEG ....................................... 98
3.4.1 Herramienta esteganográca F5 ........................................................... 104
3.4.2 Stegosploit y polyglots. Malware en imágenes digitales ..................... 108
DETECCIÓN DE COMUNICACIONES OCULTAS.
ESTEGOANÁLISIS DE IMÁGENES DIGITALES ........................................ 112
3.5.1 Ataques estadísticos y estegoanálisis a ciegas. Machine learning ....... 112
TÉCNICAS AVANZADAS DE OCULTACIÓN DE INFORMACIÓN EN
IMÁGENES DIGITALES ................................................................................. 124
3.6.1 Reducción del impacto. Matrix embedding y wet paper codes ............ 124
3.6.2 Técnicas de ocultación avanzadas. Bordes y texturas .......................... 127
CAPÍTULO 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y
VÍDEO DIGITAL..............................................................................................................129
4.1 ESTEGANOGRAFÍA Y WATERMARKING EN EL AUDIO/VÍDEO
DIGITAL. ESTUDIANDO EL OJO Y OÍDO HUMANOS .............................. 129
4.2
OCULTACIÓN DE INFORMACIÓN EN FICHEROS DE AUDIO.
ESTUDIO DE DIFERENTES FORMATOS ..................................................... 131
4.2.1 Técnica LSB en muestras de audio. Esteganografía en chero .wav... 131
4.2.2 Ocultación en algoritmos de compresión. MP3 ................................... 134
4.2.3 Ocultación de comunicación en VoIP...................................................137
4.2.4 Ocultación de imágenes en el espectro de un audio ............................. 138
4.3
OCULTACIÓN DE INFORMACIÓN EN FICHEROS DE VÍDEO
DIGITAL. ESTUDIO DE DIFERENTES FORMATOS ................................... 140
CAPÍTULO 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS .... 143
5.1 ESTEGANOGRAFÍA EN SISTEMAS DE FICHEROS Y SISTEMAS
OPERATIVOS. OCULTANDO EL RASTRO .................................................. 144
5.1.1 Técnica de ocultación basada en la fragmentación interna de los
sistemas operativos. Slack space .......................................................... 144
5.1.2 Técnica de ocultación mediante borrado de cheros.
Unallocated File Space ......................................................................... 146
5.1.3 Técnica de ocultación ADS en sistema de cheros NTFS ................... 146
5.1.4 Sistema de cheros esteganograados. StegFS.................................... 149
5.1.5 Ocultación en la estructura lógico-física de los soportes de
almacenamiento.................................................................................... 153
© RA-MA
ÍNDICE 9
5.2
ESTEGANOGRAFÍA EN LA ESTRUCTURA DE LOS FORMATOS DE
FICHEROS ........................................................................................................ 156
5.2.1 Técnica EoF (End of File). Información al nal de la estructura
de un chero .........................................................................................156
5.2.2 Técnica de ocultación basada en cheros comprimidos.
Ocultación de malware ......................................................................... 160
ESTEGANOGRAFÍA EN CÓDIGO EJECUTABLE.
HERRAMIENTA HYDAN................................................................................165
ESTEGANOGRAFÍA EN CÓDIGO INTERPRETADO.
LENGUAJE HTML Y XML..............................................................................167
5.3
5.4
CAPÍTULO 6. ESTEGANOGRAFÍA LINGÜÍSTICA.
MARCADO DIGITAL DE INFORMACIÓN ................................................................ 173
6.1 OCULTACIÓN DE MENSAJES EN LENGUAJE NATURAL.
PRIVACIDAD Y MARCADO DIGITAL..........................................................173
6.2 ESTEGANOGRAFÍA TEXTUAL EN LA ANTIGÜEDAD.
CÓDIGOS ABIERTOS Y SEMAGRAMAS ..................................................... 174
6.2.1 Códigos abiertos ................................................................................... 174
6.2.2 Semagramas ......................................................................................... 180
6.3 ESTEGANOGRAFÍA LINGÜÍSTICA. DEFINICIÓN DE CONCEPTOS ...... 183
6.4 GENERACIÓN AUTOMÁTICA DE ESTEGOTEXTOS BASADA EN
ESTADÍSTICA E IMITACIÓN GRAMATICAL.............................................. 186
6.5 GENERACIÓN AUTOMÁTICA DE ESTEGOTEXTOS BASADA EN
MODIFICACIONES DE TEXTOS EXISTENTES .......................................... 196
6.5.1 Modicaciones léxico-semánticas........................................................ 197
6.5.2 Modicaciones sintáctico-semánticas .................................................. 199
6.5.3 Modicaciones basadas en el ruido de traducciones automáticas ........ 201
6.5.4 Modicaciones basadas en formato ..................................................... 203
6.5.5 Modicaciones basadas en errores, abreviaturas y símbolos de
puntuación ............................................................................................ 206
CAPÍTULO 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS.
EVASIÓN DE CORTAFUEGOS Y FUGA DE INFORMACIÓN EN REDES DE
ORDENADORES ............................................................................................................. 209
7.1 OCULTANDO INFORMACIÓN EN EL TRÁFICO DE RED. FUGA DE
INFORMACIÓN Y CONTROL REMOTO DE SISTEMAS INFECTADOS .. 209
7.2 CANALES ENCUBIERTOS EN PROTOCOLOS DE COMUNICACIÓN.
TORRE TCP/IP.................................................................................................. 211
7.2.1 Esteganografía en protocolos de red local. IEEE 802.3. CSMA/CD ... 212
7.2.2 Canales encubiertos en protocolos de red. Protocolo IPv4 .................. 213
7.2.3 Canales encubiertos en protocolos de gestión e ICMPv4 .................... 218
7.2.4 Canales encubiertos en protocolos de transporte.
Protocolo UDP/TCP .............................................................................221
7.2.5 Ocultación de información en protocolos de aplicación ...................... 229
10 ESTEGANOGRAFÍA
7.3
© RA-MA
HERRAMIENTAS PARA CREAR CANALES SUBLIMINALES.
NETWORK STEGANOGRAPHY....................................................................232
CAPÍTULO 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES
SOCIALES. UNIENDO CONOCIMIENTO ................................................................. 235
8.1 ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES.
UNIENDO CONOCIMIENTO ......................................................................... 235
8.1.1 Navegador web esteganográco. Camera/Shy..................................... 241
8.1.2 Extensiones esteganográcas para navegadores web........................... 245
8.2 DISEÑA TUS PROPIAS HERRAMIENTAS. ALGORITMOS
RESISTENTES A ATAQUES............................................................................ 247
CAPÍTULO 9. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES.
CONFIGURACIÓN PASO A PASO ............................................................................... 251
A.1 CIFRADO DE INFORMACIÓN ALMACENADA EN ORDENADOR.
HERRAMIENTA VERACRYPT.......................................................................253
A.2 CIFRADO DE CORREO ELECTRÓNICO. THUNDERBIRD Y
ENIGMAIL........................................................................................................ 261
CAPÍTULO 10. ESTEGOANÁLISIS. HERRAMIENTAS Y GUÍA DE USO............ 265
B.1 PRODUCTOS Y HERRAMIENTAS DE ESTEGOANÁLISIS
COMERCIALES ............................................................................................... 266
B.2 HERRAMIENTAS DE ESTEGOANÁLISIS OPEN SOURCE ....................... 267
CAPÍTULO 11. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES.
ANÁLISIS ESTRUCTURAL...........................................................................................275
C.1 WINDOWS BMP (BITMAP)............................................................................ 276
C.2 FORMATO GIF (GRAPHICS INTERCHANGE FORMAT) ........................... 280
C.3 FORMATO JPEG (JOINT PHOTOGRAPHIC EXPERTS GROUP) ............... 284
ÍNDICE ALFABÉTICO ...................................................................................................289
ACERCA DEL AUTOR
Doctor en Ingeniería de Telecomunicación por la
Universidad Politécnica de Madrid y posdoc por la
Universidad Carlos III de Madrid. Investigador sénior en
seguridad informática con más de 13 años de experiencia
en este sector. Ha trabajado en proyectos avanzados con
organismos europeos, multinacionales (Global 500) y
organismos públicos, entre ellos FCSE. Durante más de
una década ha prestado servicios avanzados en el diseño
de arquitecturas seguras, test de penetración, análisis forense, seguridad wireless y
móvil, protección de datos (criptografía y esteganografía), entre otros. Destaca su
producción cientíca en el campo de la seguridad informática publicando más de 60
artículos (IEEE, ACM, etc.), libros, guías y herramientas en este sector. Habitualmente
participa como ponente en conferencias de seguridad informática y hacking (STIC
CCN-CERT, DeepSec, HackInTheBox, Virus Bulletin, RootedCon, 8.8, No cON
Name, GSICKMinds, Cybercamp, etc.). Está certicado CISA (Certied Information
Systems Auditor), CEHv8 (Certied Ethical Hacker) y CHFIv8 (Computer Hacking
Forensic Investigator). Adicionalmente, es coeditor de la Red Temática de
Criptografía y Seguridad Informática, CRIPTORED (@criptored), la red más
longeva en lengua española en este sector, donde desarrolla y coordina proyectos de
ciberseguridad y formación avanzada.
Twitter: @mindcrypt
Correo: [email protected]
PRÓLOGO
En 2008, una visita guiada al Palacio Ducal, símbolo de la gloria y el poder
histórico de Venecia, hizo que una historia apasionante creara en mi mente un juego
de palabras que no me ha abandonado desde entonces: la paradoja del copista
analfabeto.
En esa apasionante historia surge la necesidad de mantener en secreto
unos manuscritos, pero a su vez surge también la necesidad de crear copias para
salvaguardar la información. La idea, aunque arriesgada, es brillante en su concepción.
Se utilizarían sujetos analfabetos que desarrollarían la capacidad de imitar la grafía
de un manuscrito para copiarla a otros. Al salir del palacio, el copista no podría
divulgar la información, ya que, con suerte, solo podría llegar a recordar unos pocos
símbolos. El ingenio humano es ilimitado a la hora de proteger nuestros más valiosos
secretos. Nadie guarda mejor un secreto que el que lo ignora.
Desde entonces he tenido la suerte de visitar diferentes países y apasionarme
por esas pequeñas o grandes historias donde la necesidad, muchas veces vinculada a
conictos militares y servicios secretos, forzó el ingenio humano para crear ilusiones
convenientes, que el necio acepta, pero de cuyo ingenio goza el estudioso, sin cegarse
ante el hecho de que tales ilusiones son otros tantos velos para ocultar las profundas
tinieblas de lo insondable.
Es precisamente en este entorno donde el ser humano ha desarrollado
procedimientos sosticados para mantener a buen recaudo sus secretos, utilizando
la ciencia de la esteganografía. Este libro pretende acercar al lector con un lenguaje
accesible el potencial de las múltiples técnicas modernas para proteger y compartir
sus secretos. Hoy día, su utilidad supera con creces sus orígenes dedicados a entornos
militares, diplomacia y servicios secretos.
14 ESTEGANOGRAFÍA
© RA-MA
El potencial de la esteganografía es enorme en nuestras comunicaciones
digitales, desde un simple chero a una red corporativa. Le recomiendo
encarecidamente que estudie con detalle este libro, es un viaje intenso, pero como
todo buen viaje con un destino apasionante. Este es solo un primer paso, pero un paso
necesario en la defensa de su privacidad y en la protección de sus comunicaciones y
sistemas digitales. Adicionalmente, si el contenido de este libro le ayuda a construir un
mundo mejor para todos, enhorabuena. Habrá encontrado el camino más provechoso
para utilizar la esteganografía con un buen n.
Dr. Alfonso Muñoz
Twitter: @mindcrypt
Correo: [email protected]
1
PROTECCIÓN DE LAS
COMUNICACIONES DIGITALES.
CRIPTOGRAFÍA Y ESTEGANOGRAFÍA
“En cada operación de espionaje existe lo que está por encima de la
letra y lo que está por debajo. Por encima de la letra está lo que uno
hace de acuerdo con las normas.
Por debajo está la forma en que uno debe hacer el trabajo”.
John Le Carré, Un espía perfecto
1.1 ESPIONAJE MASIVO DE LAS COMUNICACIONES.
PRIVACIDAD Y FUGA DE INFORMACIÓN
La comunicación es uno de los símbolos más brillantes del siglo XX. Su
ideal, acercar los valores y las culturas, ha liberado a los hombres de los obstáculos
ancestrales de tiempo y espacio, compensando los horrores y las barbaries de nuestra
época. Su avance ha acompañado a los combates por la libertad, los derechos
humanos y la democracia.
Hoy en día, la sociedad del conocimiento en la que estamos inmersos
extiende el potencial de las tecnologías de comunicación a todas las facetas de la
vida cotidiana. La idea clásica de que la religión es el opio del pueblo, hoy en día es
sustituida por la información; su adquisición supone poder, y se cree que conduce
a la libertad. El poder de la información es tal que numerosas entidades a lo largo
de la historia han deseado restringirla o manipularla. De hecho, el espionaje de las
comunicaciones ha constituido, en la guerra como en la paz, un valioso instrumento
16 ESTEGANOGRAFÍA
© RA-MA
para conocer las actividades e intenciones de otros grupos de personas. Hoy en día
no se circunscribe exclusivamente a un mundo de tejemanejes político-militar. El
espionaje de las comunicaciones es masivo tanto por parte de gobiernos como de
organizaciones industriales. Por desgracia, las capacidades técnicas para realizar
estas acciones son muy superiores a la moralidad de las personas que las emplean.
La población comienza a ser consciente de la problemática de la privacidad de las
comunicaciones, y como sus datos personales, de forma individual o agrupados,
pueden resultar de interés para organizaciones o grupos con intereses variados que
van desde el control social, a la rentabilización económica de esa información o la
monitorización y seguimiento de personas o grupos marcados de interés.
Aunque la historia del espionaje es tan antigua como la necesidad del ser
humano de conocer los secretos ajenos, y cualquier interesado en la materia habrá
leído decenas de libros de esta temática, un par de eventos concretos, a modo de fuga
de información o noticias en medios de comunicación, son los que han permitido a la
mayor parte de la población ser consciente de esta problemática. Sin duda, el primer
evento notorio fue comprender la capacidad de los gobiernos de diferentes países
para realizar escuchas masivas de las comunicaciones; un caso signicativo fue la
red global de espionaje norteamericana que inicialmente se conoció como Echelon.
En 1988, Duncan Campbell, 1 físico y periodista escocés, publicó en el
Reino Unido un reportaje titulado Someone’s listening que desveló públicamente la
existencia de un sistema global automatizado de interceptación de comunicaciones
(la red Echelon). Sus investigaciones, junto con las de otros autores como el
neozelandés Nicky Hager o los daneses Bo Elkjaer y Kenan Seeberg, fueron calando
en la población, lo que contribuyó a denunciar en los últimos años de la década de los
80 del siglo XX este gran hermano tecnológico. Bien es cierto que desde la década
de los años 70, al menos públicamente, se dispone de documentos que demuestran
como EE. UU. mediante sus distintas agencias de inteligencia, civiles y militares,
interceptaba masivamente comunicaciones privadas. De hecho, los inicios de este
sistema de escucha surgen a nales de la II Guerra Mundial con la rma de un tratado
secreto en 1948 conocido como pacto UKUSA (United Kingdom-United States of
America) fruto de su cooperación militar y de espionaje en los años anteriores. Su
auge y desarrollo sería en plena Guerra Fría, a partir de la década de los 50, como
un medio efectivo en su lucha contra la Unión Soviética (URSS) y las naciones del
pacto de Varsovia, contando posteriormente con la colaboración a lo largo del tiempo
de otras agencias y países, por ejemplo agencias de Canadá (CSE), Australia (DSD)
y Nueva Zelanda (GCSB). La situación geográca de estos países aliados no es
arbitraria, ya que permite mediante determinados mecanismos terrestres dar cobertura
1
http://www.duncancampbell.org/content/echelon.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 17
global al espionaje masivo de comunicaciones civiles, comerciales, diplomáticas y
militares del resto de países del mundo, aliados o no. En realidad, la actividad de las
agencias de inteligencia es imparable, especialmente, de las que disponen de más
recursos económicos y humanos como es el caso de la inteligencia norteamericana. La
totalidad de las tecnologías de comunicación pueden ser monitorizadas y procesadas,
todo es cuestión de tiempo y dinero. Los satélites y estaciones terrestres con antenas
de diverso tipo juegan un papel muy importante en esta tarea, cubriendo cielo y tierra.
Se puede monitorizar frecuencias de todo tipo (bandas HF, VHF, UHF, microondas,
etc.), monitorizar correos electrónicos, faxes, escuchar una conversación en un coche,
etc. En las últimas décadas los satélites han jugado un papel muy importante en la
observación terrestre de “amigos” o enemigos; o soluciones más “económicas” como
el uso de aviones espías no tripulados para determinadas operaciones. Es común el
uso de alguno de los siguientes términos vinculados a estos tipos de tecnologías:
SIGINT (Signals Intelligence), que hace referencia a la inteligencia derivada de la
interceptación de señales (a menudo implica el uso de criptoanálisis para desproteger
las comunicaciones), COMINT (Communications Intelligence) hace referencia a
la inteligencia derivada de la comunicación entre personas y ELINT (Electronic
Intelligence) a la información derivada de dispositivos, por ejemplo, la inteligencia
de radiaciones electromagnéticas inintencionadas (técnicas Tempest). Otros términos
interesantes para el lector que esté interesado en estos temas son: IMINT (Imagery
Intelligence), MASINT (Measurement and Signature Intelligence), ACOUSTINT
(Acoustical Intelligence), etc.
Tal es la gravedad para la privacidad de las comunicaciones que la Comisión
Europea publicó 2 en 2000/2001 su opinión sobre el sistema Echelon dejando de
maniesto el peligro de este sistema global de escuchas ya que supone una verdadera
vulneración de la privacidad de los ciudadanos, “no por consistir en un sistema de
interceptación especialmente poderoso, sino porque actúa en un ámbito carente, casi
por completo, de regulación jurídica”. La recomendación de la Unión Europea es
clara, Echelon extiende sus tentáculos para favorecer industrial y económicamente
a EE. UU., y los países miembros deben tener más precaución en sus sistemas de
información y, especialmente, proteger con algoritmos criptográcos robustos las
comunicaciones gubernamentales, diplomáticas y comerciales.
No obstante, no se debe ser ingenuo con este tipo de tecnologías. Cada país
avanzado dispone de sus propios sistemas de escucha con mayor o menor cobertura
internacional, con mayor o menor complejidad y precisión en función de los recursos
disponibles (Carnivore, DCS-1000, Sorm, Oseminti, Programa Santiago, Frechelon,
2
http://www.europarl.europa.eu/transl_es/plataforma/pagina/maletin/colecc/actual/echelon/
418508es.doc.
18 ESTEGANOGRAFÍA
© RA-MA
Evident X-Stream, 3 etc.). De hecho, no solo se debe centrar la atención en las
capacidades iniciales de la famosa red Echelon de captura de información mediante
el uso de satélites. Hoy en día, y desde el pasado, se explota a nivel gubernamental
cualquier tipo de capacidad para el espionaje de las comunicaciones terrestres, ya sea
por bra óptica, conexiones a grandes centros de interconexión (IPX), o cualquier
sistema que simplique la recopilación y síntesis de inteligencia.
Esto parece tan común que hoy en día solo es necesario leer la prensa para
observar como grandes instituciones realizan interceptaciones de gran envergadura.
Por ejemplo, el proyecto de vigilancia electrónica Tempora operado por el GCHQ
(British Government Communication Headquaters), en teoría activo al menos desde
2008/2009. Entre sus objetivos destaca interceptar los cables de bra óptica que
conguran el backbone de Internet. Esto facilitaría el acceso a enormes cantidades
de información de usuarios de Internet.
Figura 1.1. Comunicaciones por cables submarinos
El ejemplo anterior no es ni mucho menos anecdótico, las ltraciones de
Julian Assange (WikiLeaks) o las ltraciones recientes de Edward Snowden han
centrado la atención mediática en la problemática actual de la falta de privacidad en
nuestras comunicaciones digitales.
3
http://www.elcondencialdigital.com/seguridad/Mails-telefonicas-supersistema-vigilancia-Interior_0_2610338952 .html.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 19
Una muestra signicativa de esta problemática fue revelada en 2013. El
periódico alemán Der Spiegel publicó diversa información, escrita entre otros por
Jacob Appelbaum, Judith Horchert y Christian Stöcker, que puso al descubierto
cierta tecnología de monitorización utilizada por la NSA, concretamente el
denominado catálogo de tecnologías de espionaje de la división ANT. Aunque no
se especicó directamente la fuente de su información, todo estaba muy relacionado
con documentos que previamente el exanalista de la NSA Edward Snowden había
ltrado a periódicos como The Washington Post o The Guardian.
El conocido como catálogo NSA-ANT es un documento clasicado con
decenas de páginas, creado supuestamente en 2008 por miembros de la división
Advanced/Access Network Technology (ANT) de la NSA que facilitarían el trabajo 4
de Tailored Access Operations (TAO) mediante recursos software y hardware
variados.
La conocida como ocina de Tailored Access Operations es una unidad
de ciberinteligencia de la agencia de seguridad norteamericana, activa, al menos,
desde 1998, cuyo objetivo principal es identicar, monitorizar, inltrar y recopilar
información sobre sistemas informáticos utilizados por entidades extranjeras.
En términos de la NSA, actividades de Computer Network Exploitation (CNE).
En el catálogo NSA-ANT se puede encontrar tecnología de coste variado, desde
gratuita (software libre) hasta por valor de cientos de miles de dólares, para atacar
directamente a compañías y dispositivos de uso común. Fabricantes como Apple,
Cisco, Dell, Juniper Networks, Maxtor, Seagate, Western Digital o Huawei están
en el punto de mira. Entre los gadgets disponibles se puede observar tecnologías
para visualizar el contenido de pantallas de ordenador a distancia, pendrives con
transmisor radio para robar información por el aire, dispositivos para emular una
estación GSM (BTS) e interceptar llamadas móviles, intrusión en routers, switches,
cortafuegos, etc. 5
A continuación, a modo divulgativo, se va a listar cada uno de los proyectos
(en código) recogidos en este catálogo, resumiendo la información en grupo (no
por orden alfabético como se ha publicado en la prensa). Este breve resumen nos
permitirá comprender la gran cantidad de tecnologías diversas que se ponen en juego
cuando el objetivo nal es el espionaje de las comunicaciones.
4
http://www.washingtonpost.com/blogs/the-switch/wp/2013/08/29/the-nsa-has-its-own-team-ofelite-hackers/ ?tid=d_pulse.
5
Shopping for Spy Gear: Catalog Advertises NSA Toolbox. http://www.spiegel.de/international/
world/catalog-reveals-nsa-has-back-doors-for-numerous-devices-a-940994.html.
20 ESTEGANOGRAFÍA
© RA-MA
1. Proyectos relacionados con infección de la BIOS/MBR o ejecución
de código mediante dispositivos conectados a la placa base de un
dispositivo electrónico.
El objetivo principal de este tipo de tecnología es que el código malicioso
permanezca invisible y persista aunque un administrador de sistema
pudiera detectar y borrar un software malicioso existente en el sistema
operativo (virus/troyano/malware/…). Para conseguir este objetivo
es común modicar el código existente en la BIOS/UEFI 6 (código
que controla el funcionamiento inicial de un ordenador) o el código
existente en dispositivos conectados a la placa base del mismo. Este
código se ejecutará antes que el sistema operativo y entre otras cosas
podría contener malware que escribiera en zonas concretas del sistema
operativo. Con esta losofía se atacó por ejemplo a servidores de marca
Dell PowerEdge, al rmware de diferentes fabricantes de discos duros
(Maxtor, Samsung, Seagate o Western Digital) o la infección y control
remoto de cortafuegos marca Juniper.
Nombre en código de los proyectos: IRONCHEF, DEITIBOUNCE,
ANGRYMONK, GINSU, SWAP, IRATEMONK y SOUFFLETROUGH.
2. Proyectos relacionados con la infección o manipulación de routers
y cortafuegos. En este caso sería también aplicable el proyecto
SOUFFLETROUGH. Afectaban por ejemplo a cortafuegos/routers
Huawei, evadir cortafuegos Juniper Networks, rmware routers CISCO,
etc.
Nombre en código de los proyectos: HEADWATER, HALLUXWATER,
GOURMETTROUGH, FEEDTROUGH, MONTANA, JETPLOW.
3. Proyectos relacionados con la manipulación y monitorización de
comunicaciones telefónicas y terminales móviles. Se ha documentado
la posibilidad de localizar de forma precisa terminales móviles cercanos,
software malicioso para terminales con diferentes sistemas operativos
(subir y bajar cheros, consultar SMS, agenda, geolocalización, escucha
remota, etc.), software instalable en la SIM de un terminal que permite
enviar la localización del teléfono móvil mediante mensajes ocultos en
SMS o tecnología para falsicar una estación base GSM (BTS) y hacerse
pasar por una válida (por tanto, poder escuchar llamadas telefónicas,
falsicar números móviles, etc.).
6
https://es.wikipedia.org/wiki/Extensible_Firmware_Interface.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 21
Nombre en código de los proyectos: WATERWITCH, TOTEGHOSTLY,
GOPHERSET, DROPOUTJEEP, MONKEYCALENDAR, PICASSO,
CANDYGRAM, TOTECHASER.
Figura 1.2. Proyecto PICASSO. GSM handset
4. Proyectos relacionados con conexiones remotas y tecnologías
inalámbricas variadas.
● SOMBERKNAVE: software que habilita conexiones inalámbricas
en sistema operativo Windows XP. Permite que sistemas aislados
(no conectados a Internet) puedan ser controlados remotamente si
se encuentra forma de redirigir tráco TCP a través de esa conexión
inalámbrica.
● SPARROW II: pequeño “ordenador” para facilitar la interceptación
de comunicaciones WLAN. Hardware: IBM Power PC 405GPR
processor, 64 MB SDRAM, 16 MB of built-inash, 4 mini PCI slots,
CompactFlash slot, y 802.11 B/G hardware. Linux 2.4. Precio unidad
(2008): $6.000.
22 ESTEGANOGRAFÍA
© RA-MA
● NIGHTSTAND: sistema software y hardware para vulneración
de comunicaciones inalámbricas (802.11) e inyección de código
arbitrario. Objetivos principales: dispositivos con sistema operativo
Windows 2000, Windows XP, Windows XP SP1/SP2 y WinXPSP2.
Opera a una distancia de hasta 12 km.
Figura 1.3. Proyecto Nightstand. Interceptación de comunicaciones inalámbricas
● BULLDOZER: tecnología que crea una conexión wireless oculta
proporcionando acceso inalámbrico para controlar una backdoor. 7
● FIREWALK: dispositivo que imita la apariencia de un conector
RJ45 facilitando la monitorización e inyección de datos en el
conector mediante una conexión vía radio, basada en el transmisor
de radiofrecuencia HOWLERMONKEY. Sin duda tiene una utilidad
importante para la creación de una red privada virtual con la máquina
objetivo. El coste en 2008 era de $537.000 para 50 unidades. 8
7
http://arstechnica.com/information-technology/2013/12/inside-the-nsas-leaked-catalog-of-surveillance-magic/.
8
http://www.theregister.co.uk/Print/2013/12/31/nsa_weapons_catalogue_promises_pwnage_at_
the_speed_of_light/.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 23
● SURLYSPAWN: dispositivo para monitorizar remotamente el teclado
de un ordenador sin necesidad de que este esté conectado a Internet.
● HOWLERMONKEY: transmisor de radiofrecuencia para facilitar la
extracción de datos y el control remoto de un sistema.
● COTTONMOUTH: tecnología para crear conectores USB y Ethernet
modicados que pueden ser utilizados para instalar código malicioso
y facilitar conexión remota inalámbrica a la máquina objetivo. Por
ejemplo, COTTONMOUTH-I es un USB que usa como parte esencial
a TRINITY y a HOWLERMONKEY como radiotransmisor (en 2008
su coste era sobre $1M para 50 unidades).
5. Proyectos relacionados con la reconstrucción de imágenes a distancia
y localización. Proyectos: CTX4000, PHOTOANGLO, NIGHTWATCH,
RAGEMASTER, etc.
Como puede observar el lector, la variedad de tecnologías que pueden
utilizarse para el espionaje viene limitada exclusivamente por la capacidad
económica del “atacante”. En los ejemplos anteriores el “atacante” eran las agencias
de inteligencia, aunque perfectamente el mismo razonamiento podría ser aplicado a
grandes corporaciones con capacidad económica y técnica. No obstante, la privacidad
de las comunicaciones tiene muchos otros frentes que combatir, más probables y
cercanos a nuestro día a día. Por ejemplo, las decisiones políticas que afectan a
nuestra privacidad y tienen que ver con intereses económico-industriales, en algunos
casos con la excusa de una mayor seguridad para la ciudadanía. No se puede mirar
hacia otro lado cuando se aprueban legislaciones y directivas para la identicación
y retención de comunicaciones a lo largo y ancho del planeta sin una justicación
adecuada.
Winston Churchill armaba que “cada pueblo tiene el gobernante que
se merece” y quizás no estuviese muy equivocado. Cada sociedad se ha ido
constituyendo de forma distinta a lo largo de los siglos, sus sueños y sus miedos
se han ido entretejiendo con propósitos muy dispares. Los sistemas económicos,
las conductas sociales, la moralidad, la religión, los avances tecnológicos, las
guerras, etc., todo puede ser explicado balanceando las esperanzas y los miedos
de la ciudadanía de cada sociedad. Melvin Kranzberg sentenció en sus leyes de
la tecnología9 que la tecnología no es buena ni mala y mucho menos neutral.
Posiblemente esta armación podría aplicarse a la cúpula política de cada país y a
9
https://en.wikipedia.org/wiki/Melvin_Kranzberg.
24 ESTEGANOGRAFÍA
© RA-MA
su forma de inuir en el establecimiento de leyes con uno u otro propósito. En la
actualidad, en la mayoría de los países del mundo se opta por un sistema económico
capitalista, donde fuertes cantidades de dinero se mueven en unas y otras direcciones,
lo que provoca que poderes no emanados del pueblo inuyan de forma notoria sobre
la forma de legislar en una sociedad y, por tanto, aplicar la moralidad de unas pocas
personas sobre la moralidad de otras muchas. En la práctica, cada país establece
sus legislaciones según sus criterios, moralidad e inuencias externas/internas. A
menudo, el problema surge al establecer un equilibrio entre seguridad (véase por
ejemplo, seguridad nacional) y libertades civiles de toda índole. Cada país a este
respecto legisla de manera muy diferente en términos de protección de datos, poder
de servicios policiales y servicios de inteligencia, procedimientos de vigilancia,
etc. Posiblemente dentro de las “sociedades democráticas” el extremo se lo lleve la
legislación norteamericana. Un ejemplo fue la Patriot Act norteamericana (Uniting
and Strengthening America by Providing Appropriate Tools Required to Intercept
and Obstruct Terrorism), ley promulgada en 2001 por la Administración George W.
Bush que limitó una serie de derechos constitucionales a n de ampliar el poder del
Estado sin la intervención del poder judicial, con la excusa de garantizar la seguridad
nacional y combatir el terrorismo.
En Europa la legislación es más respetuosa con los derechos de la ciudadanía,
aunque no siempre el balance es el adecuado. Legislaciones de todo tipo se han
publicado, algunas con bastante controversia, por ejemplo, la Ley 25/2007, de 18 de
octubre, de conservación de datos relativos a las comunicaciones electrónicas y a las
redes públicas de comunicaciones; la Ley 56/2007, de 28 diciembre (LSSICE); la
Ley 34/2002, de 11 de julio (LISI); la Ley Orgánica 4/1997, de 4 de agosto, por la
que se regula la utilización de videocámaras por las fuerzas y cuerpos de seguridad
en lugares públicos; la Ley Orgánica 10/2007, de 8 de octubre, reguladora de la
base de datos policial sobre identicadores obtenidos a partir del ADN, etc. Leyes
que, de manera justicada o no, facilitan la monitorización legal de individuos,
sus relaciones y comportamientos. Por ejemplo, la retención de datos de carácter
personal relacionados con la telefonía ja (números de teléfono-origen destino de las
llamadas, llamadas recibidas, perdidas, lugar de procedencia, etc.), telefonía móvil,
comunicaciones en Internet (dirección IP, nombre y dirección de usuario, duración
de la conexión, identicación del tipo de comunicación), etc.
En resumen, hoy en día las comunicaciones personales e industriales
son monitorizadas por múltiples actores que tienen objetivos diversos: espionaje
gubernamental, robo de información industrial, control social, monitorización legal,
etc. Por tanto, la necesidad de proteger nuestros datos, almacenados o en tránsito,
es un tema esencial donde la criptografía y la esteganografía juegan un papel
fundamental. En los próximos apartados y capítulos el lector observará cómo pueden
utilizarse estas tecnologías para su benecio.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 25
1.2 PROTECCIÓN DE LA INFORMACIÓN MEDIANTE CRIPTOGRAFÍA.
LIMITACIONES Y RETOS FUTUROS
El ser humano siempre ha tenido secretos de muy diversa índole, y ha buscado
mecanismos para mantenerlos fuera del alcance de miradas indiscretas, especialmente
si la información se transmite por un canal inseguro, en el cual la información puede
ser curioseada y modicada. La evolución de todos los mecanismos y técnicas que
intentan solucionar este problema es lo que se conoce hoy en día como la ciencia de
la criptología, compuesta por dos ramas, criptografía y criptoanálisis. La criptografía
se encarga del diseño de algoritmos y procedimientos para garantizar principalmente
la condencialidad, integridad y autenticidad de nuestros datos y comunicaciones
digitales. Por otro lado, la ciencia del criptoanálisis analiza la robustez de los
algoritmos criptográcos intentando vulnerar su seguridad. El criptoanálisis es vital
para el diseño de algoritmos criptográcos robustos.
Para entender cómo opera y funciona la criptografía en nuestra vida diaria
es importante una visión global de esta ciencia. Es por ello que a menudo la ciencia
de la criptología (o solo criptografía si nos centramos en proteger comunicaciones/
datos) se estudia en dos grandes épocas: criptología clásica y criptología moderna.
Es necesario conocer la primera para entender cómo funcionan actualmente los
algoritmos y herramientas criptográcas modernas que protegen nuestra información
digital y la condencialidad, integridad y autenticidad de acciones tan comunes
como una llamada por teléfono móvil, la conexión a la página web de nuestro banco,
la compra en nuestro supermercado favorito por Internet, etc.
En los próximos apartados se describirá de forma resumida cómo ha
evolucionado esta ciencia hasta nuestros días para entender cómo funciona y sobre
todo cuáles son sus limitaciones.
1.2.1 Desde la criptografía clásica a las máquinas de cifrado
La criptología clásica comprende todas aquellas técnicas de escritura secreta
hasta mediados del siglo XX. Estas técnicas de cifra se agrupaban en métodos
de transposición y métodos de sustitución. La transposición consiste en colocarcombinar-reordenar la información de un mensaje de formas distintas a la original,
mientras que la sustitución establece mecanismos que consisten en la sustitución
de caracteres del alfabeto empleado por otros símbolos, típicamente mediante
sustitución monoalfabética o polialfabética. En la siguiente tabla se puede ver de
forma clasicada las grandes familias de algoritmos criptográcos clásicos.
26 ESTEGANOGRAFÍA
© RA-MA
Figura 1.4. Clasificación de los métodos clásicos de cifra
1.2.1.1 ALGORITMOS CRIPTOGRÁFICOS CLÁSICOS DE SUSTITUCIÓN
Los algoritmos de sustitución pueden clasicarse en función de cómo
operen con el mensaje a proteger, ya sea con caracteres individuales (sustitución
monográca), donde cada letra del texto en claro corresponde a una letra en el texto
cifrado, o con letras/caracteres en bloques (sustitución poligrámica). En nuestro
mundo digital actual, las letras o caracteres estarían representadas, por ejemplo, por
su codicación ASCII.
En el proceso de cifrado por sustitución es posible utilizar uno o más
alfabetos. La idea es sencilla, un único alfabeto quiere decir que una letra en claro
siempre se codicará en una misma letra en el texto cifrado. Utilizando más de un
alfabeto, una misma letra en el texto en claro puede dar lugar a una letra diferente en
el texto cifrado en función del alfabeto concreto utilizado con esa letra (se entenderá
mejor con ejemplos posteriores). De hecho, los criptosistemas monoalfabéticos (un
único alfabeto) por sustitución (y los de transposición o permutación) presentan
una gran debilidad al poder romperse en muchos casos los criptogramas aplicando
unas técnicas sencillas de estadísticas del lenguaje. Por ejemplo, la letra más
probable en el texto en claro coincidirá con la letra más probable en el texto cifrado.
Es aquí donde los cifradores por sustitución polialfabéticos (más de un alfabeto)
intentaron robustecer las comunicaciones con el paso de los siglos. Los algoritmos
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 27
© RA-MA
de sustitución polialfabética tienen por objeto producir una distribución plana de la
frecuencia relativa de los caracteres en el criptograma. Para ello utilizan sustituciones
múltiples de forma que en un texto largo se combinan las altas frecuencias de algunos
caracteres con otros de menor frecuencia. En otras palabras, si por ejemplo la letra
A, de alta frecuencia en el lenguaje castellano, se cifra algunas veces como la letra
O y otras veces como la letra J (una de alta frecuencia y otra de baja) y lo mismo
ocurre para la letra W, de baja frecuencia en el lenguaje, el efecto nal es suavizar la
mencionada distribución de frecuencia de todos los caracteres del criptograma, y por
tanto dicultar que un atacante descifre la información.
Veamos a continuación algunos ejemplos famosos de algoritmos de
sustitución a lo largo de la historia.
1.2.1.1.1 Cifrado por sustitución monoalfabética-monográfica. El cifrador del
César
El cifrador monoalfabético (monográco) por sustitución más famoso es
el denominado cifrador del César, uno de los cifradores más antiguos, atribuido al
emperador romano Julio César. Se trata de un criptosistema en el que se aplica un
desplazamiento constante igual de 3 caracteres sobre el texto en claro, obteniéndose
así el criptograma buscado. Para recuperar el texto solo debe restar 3 a cada letra. Por
ejemplo, la letra A (posición 0) en el texto en claro (M i) correspondería a la letra D
(posición 3) en el texto cifrado resultante (C i).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi
A B C D E F G H I
Ci
D E F G H I
J K L M N Ñ O P Q R S T U V W X Y Z
J K L M N Ñ O P Q R S T U V W X Y Z A B C
Tabla 1.1. Ejemplo de cifrado con el cifrador del César
Con la tabla anterior el mensaje M = CÉSAR EL EMPERADOR HA SIDO
ASESINADO quedaría como C = FHVDU HÑHOS HUDGR UKDVL GRDVH
VLPDG R.
El cifrador del César (cifradores monoalfabéticos por desplazamiento puro
o adición) es un caso particular de los conocidos como cifradores genéricos por
sustitución que pueden expresarse con la siguiente ecuación:
Ci = (a*Mi + b) mod n
28 ESTEGANOGRAFÍA
© RA-MA
La conguración con diferentes valores de a y b permite cifrar un mensaje
M dado de diferentes maneras. Por ejemplo, modicando el valor b se cifraría la
información desplazándose b posiciones en el alfabeto.
1.2.1.1.2 Cifrado por sustitución monoalfabética-poligrámica. Cifrador de
Playfair
Los cifradores poligrámicos, a diferencia de los monográmicos que cifraban
carácter a carácter, consideran un poligrama con n caracteres (n ≥ 2) del texto en claro
para proceder a su cifrado. De esta forma, el bloque de información a cifrar serán
digramas, trigramas o, en general, poligramas. De los cifradores poligrámicos, los
más conocidos son los de Playfair de mediados del siglo XIX, y el de Hill, que data
de comienzos del siglo XX, y que tiene una importancia especial en la criptografía
clásica por el hecho de utilizar la matemática de matrices para las operaciones de
cifrado y descifrado.
A modo introductorio vamos a ver un ejemplo de cómo utilizar uno de estos
cifradores para comprender una forma posible de realizar este tipo de cifrado.
Cifrador de Playfair
Este sistema consiste en separar el texto en claro en digramas y proceder a su
cifra de acuerdo a una matriz alfabética de dimensiones 5x5 en la cual se encuentran
representadas 25 de las 26 letras del alfabeto inglés. Para que este método de cifra
presente un mayor nivel de seguridad, se incluirá al comienzo de dicha matriz una
clave que se escribe a partir de la primera la omitiendo las letras repetidas. A
continuación de dicha clave, se distribuyen las restantes letras del alfabeto hasta
completar toda la matriz.
Veamos a continuación un ejemplo en lenguaje castellano con 27 caracteres;
supongamos que las letras I y J ocupan una única celda, al igual que la Ñ y la N.
A
B
C
D
E
F
G
H
I/J
K
L
M
N/Ñ
O
P
Q
R
S
T
U
V
W
X
Y
Z
Tabla 1.2. Matriz de cifra de Playfair
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 29
© RA-MA
V
E
R
A
N/Ñ
O
Z
U
L
B
C
D
F
G
H
I/J
K
M
P
Q
S
T
W
X
Y
Tabla 1.3. Matriz de cifrado de Playfair con clave de ejemplo VERANO AZUL
El método de Playfair cifrará pares de caracteres del texto en claro M 1M2
como C 1C2 de acuerdo a las siguientes reglas:
1. Si M 1 y M2 se encuentran en la misma la, se eligen los elementos del
criptograma C 1 y C2 como aquellos que están a la derecha de M 1 y M2,
respectivamente. Esta operación se realiza operando el módulo 5, de
forma que para la matriz se cumplen las siguientes transformaciones: EA
-> RN, LU -> BL, DH -> FC.
2. Si M 1 y M 2 se encuentran en la misma columna, se eligen C 1 y C2 como
los caracteres que están inmediatamente debajo de ellos, operando el
módulo 5. Para la matriz se cumplen las siguientes transformaciones: ED
-> ZK, FU -> MF, AX -> LA.
3. Si M 1 y M 2 se encuentran en las y columnas distintas, entonces forman
dos vértices de un rectángulo. Los elementos C 1 y C 2 se obtienen de
los dos vértices que faltan para completar dicha gura geométrica,
considerando siempre la la de M 1 como el elemento C 1. Esto es, en la
matriz se cumplen las siguientes transformaciones: OT -> ZS, YU ->
WB. Recuerde, además, que las letras I y J ocupan una misma celda, al
igual que la N y la Ñ, por lo que se cumplen por ejemplo también las
siguientes transformaciones en dicha matriz: MI = MJ → PK, EN = EÑ
→ RV. No obstante, si en la operación de descifrado se cae en la retícula
I/J, siempre se descifrará como la letra I.
4. Al representar el texto en claro como una cadena de digramas, pueden
aparecer caracteres repetidos con lo cual no podría aplicarse ninguna de
las tres opciones de cifrado anteriores. La solución a este problema está
en romper esta repetición antes del cifrado, incluyendo una letra nula
(relleno) que, de acuerdo al lenguaje castellano podría ser X, Z o Q por
ejemplo. Adicionalmente, es posible que el mensaje nal a cifrar, una vez
eliminados los digramas repetidos, tenga un número impar de caracteres.
En tal situación se añade un carácter nulo al nal de la cadena para poder
cifrar el último carácter del texto en claro.
30 ESTEGANOGRAFÍA
© RA-MA
Aplicando estos principios, un mensaje en claro M dada una clave K daría
lugar a un criptograma C. Por ejemplo:
M = Las sombras llaman a la puerta del castillo hoy
K = MIEDO.
M‘ = LA SX SO MB RA SL LA MA NA LA PU ER TA DE LC AS TI LX LO HO YX
C = HCXEUEIA QBXSHCAH HFHCUZIS QFODSLCQ RDSEPEPM ZY
M
I/J
E
D
O
A
B
C
F
G
H
K
L
N/Ñ
P
Q
R
S
T
U
V
W
X
Y
Z
Tabla 1.4. Matriz de cifrado de Playfair con clave MIEDO
Para descifrar un criptograma obtenido mediante Playfair, simplemente
puede utilizarse el algoritmo inverso, esto es:
1. Si los elementos C 1 y C2 están en la misma la, se eligen M 1 y M2 como
los caracteres inmediatamente a la izquierda, operando el módulo 5.
2. Si los elementos C 1 y C 2 se encuentran en la misma columna, se eligen M 1
y M2 como los caracteres inmediatamente arriba de aquellos, operando
el módulo 5.
3. Si los elementos C 1 y C2 están en las y columnas distintas, M 1 y M2 se
eligen como aquellos caracteres que forman los vértices que faltan del
recuadro, comenzando por la la del primer elemento C 1 .
1.2.1.1.3 Cifrado por sustitución polialfabética periódica y no periódica
Los sistemas por sustitución polialfabética (más de un alfabeto de cifrado)
tienen, por lo general, un período de repetición que vendrá dado por la longitud de
la clave de cifrado. 10 Un excelente ejemplo de este tipo de algoritmos de sustitución
polialfabética periódica es el cifrador de Vigenère. En general, para este tipo de
algoritmos en función del período (longitud de la clave) existen ataques, como
10 Si el texto a cifrar es más largo que la clave de cifrado, un número importante de caracteres del
mensaje en claro serán cifrados con el mismo alfabeto.
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 31
© RA-MA
el método Kasiski, 11 que permiten descifrar la información protegida. La única
excepción se encuentra en los denominados cifradores polialfabéticos de clave
continua, siendo un ejemplo característico el cifrador de Vernam. Los cifradores de
clave continua poseen una clave tanto o más larga que el texto en claro por lo que
serán cifradores no periódicos y permitirán, como se verá a continuación, algoritmos
matemáticamente imposibles de criptoanalizar.
Cifrador de Vigenère
El cifrador polialfabético (periódico) más conocido es el sistema de Vigenère,
así denominado en honor al criptólogo francés Blaise de Vigenère (1523-1596). El
sistema utiliza el mismo método que el cifrador del César, esto es, una sustitución
monográmica por desplazamiento de k caracteres en el texto, con la diferencia de
que dicho desplazamiento viene indicado por el valor numérico asociado a uno de los
caracteres de una clave que se escribe cíclicamente bajo el mensaje. En las siguientes
tablas puede verse un ejemplo de cómo funciona este cifrado considerando unos
valores determinados para cada letra. Por ejemplo, la letra E del mensaje en claro (se
codica como 4) más la letra C de la clave (se codica con el número 2) darían igual
a la letra G en el texto cifrado (4 + 2 = 6).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I
J K L M N Ñ O P Q R S T U V W X Y Z
Tabla 1.5. Ejemplo de codificación numérica de los caracteres
Mi
E
N
U
N
L
U
G
A
R
D
E
L
A M
A
N
C
H
A
Ki
C
E
R
V
A
N
T
E
S
C
E
R
V
A
N
T
E
S
C
Ci
G
Q
M
I
L
H
Z
E
K
F
I
C
V
M
N
G
G
Z
C
Tabla 1.6. Ejemplo de cifrado con algoritmo Vigenère
En 1710, Giovanni Sestri, basado en el método de cifra de Vigenère, propone
un algoritmo simétrico que sirve tanto para cifrar como para descifrar (con Vigenère
para cifrar se “suma la clave”, para descifrar “se resta”). El invento del cifrador
nalmente se le atribuye al inglés sir Francis Beaufort, amigo de Sestri, y recibe
11 https://www.youtube.com/watch?v=A7p2ydEPg1k.
32 ESTEGANOGRAFÍA
© RA-MA
precisamente el nombre de cifrador de Beaufort. La sustitución empleada en este
cifrador sigue la siguiente expresión:
C i = E ki(M i) = (ki - Mi) mod n
Cifradores no periódicos. Vernam y libretas de un solo uso
La debilidad de los cifradores por sustitución con más de un alfabeto está en
la periodicidad de la clave. Esto provoca posibles cadenas repetidas en el criptograma
que entrega una pista al criptoanalista, facilitando el ataque a estos cifrados. ¿Qué
sucede si se aumenta la longitud de la clave de forma que tenga un tamaño igual o
mayor que el texto en claro? ¿Se podría conseguir un secreto perfecto? 12 .
El cifrado Vernam, y su utilización con las libretas de un solo uso, 13 es el
único algoritmo criptográco conocido irrompible. El secreto perfecto es posible si
se dan una serie de condiciones.
] Claves criptográcas de un solo uso perfectamente aleatorias (libretas de
un solo uso).
] Distribución segura de la libreta entre emisor y receptor.
] La longitud de la clave tiene que ser al menos tan larga como el mensaje
y de un solo uso. La clave se debe destruir después de usarla con un
mensaje.
Con estas condiciones el algoritmo criptográco es muy sencillo y se basa
en las propiedades estadísticas de la operación or-exclusiva. Un mensaje cifrado se
obtendrá calculando la operación or-exclusiva entre el mensaje en claro y la clave
criptográca (representados ambos en bits). Para la recuperación del mensaje en
claro se repetirá la misma operación or-exclusiva pero en este caso entre el texto
cifrado y la clave.
Ci = Mi ⊕ ki
M = Ci ⊕ k i = (Mi ⊕ k i) ⊕ k i
Por desgracia, en la práctica, no es posible alcanzar las condiciones de secreto
perfecto para muchos de los sistemas de comunicaciones actuales que necesitan el
uso de criptografía. La principal dicultad es el problema de la distribución de la
12 https://es.wikipedia.org/wiki/Secreto_perfecto.
13 https://es.wikipedia.org/wiki/Libreta_de_un_solo_uso.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 33
clave del emisor al receptor. De hecho, hoy en día estas ideas se intentan llevar a la
práctica con menores restricciones mediante la denominada criptografía de ujo.
1.2.1.2 ALGORITMOS CRIPTOGRÁFICOS CLÁSICOS BASADOS EN TRANSPOSICIÓN
El segundo método clásico utilizado para cifrar mensajes es la transposición
o permutación de caracteres. Esto consiste en reordenar los caracteres del texto en
claro como si de una baraja de cartas se tratase. El resultado de tal acción es el de
difuminar la información del texto en claro.
1.2.1.2.1 Algoritmos criptográficos basados en transposición por grupos
En este tipo de cifra, los caracteres del texto en claro se reordenan por medio
de una permutación que indica dónde colocar cada carácter del texto en claro en el
texto cifrado. Por ejemplo, si utilizamos la permutación P M = 24531 con el texto M
= MANOS ARRIBA obtendríamos el siguiente criptograma C = AOSNM RIBRA.
Se puede observar como la letra A, de la palabra MANOS, que estaba en la segunda
posición se coloca donde indica la permutación. En este caso la letra que está en la
posición 2 se colocará en la posición 1, y así con el resto de letras.
Precisamente este método fue utilizado por los lacedemonios con el sistema
de cifra conocido como la escítala (siglo V). El sistema consistía en una cinta que
se enrollaba en un bastón sobre el cual se escribía el mensaje en forma longitudinal.
Figura 1.5. Ejemplo de escítala
Una vez escrito el mensaje, la cinta se desenrollaba y era entregada al
mensajero; si este era interceptado por cualquier enemigo, lo único que se conseguiría
sería un conjunto de caracteres o letras distribuidas al parecer de forma aleatoria
en dicha cinta. Incluso si el enemigo intentaba enrollar la cinta en un bastón con
diámetro diferente, el resultado obtenido era un conjunto de letras escritas una a
continuación de otra sin sentido alguno.
34 ESTEGANOGRAFÍA
© RA-MA
1.2.1.2.2 Algoritmos criptográficos basados en transposición por series
Esta técnica consiste en ordenar el mensaje como una cadena de submensajes,
de forma que el mensaje original se transmite como M‘ = M S1MS2MS3..., en donde cada
una de las cadenas sigue una función o serie; por ejemplo, M S1 puede corresponder a
los múltiplos de 3, M S2 a los números primos, M S3 a los números pares, etc. Suponga
entonces un mensaje M con un total de 25 caracteres. Si se utilizan las 3 series M S1,
MS2 y M S3 que se indican en ese mismo orden:
] MS1: relación de números primos
] MS2: relación de números pares
] MS3: relación de números impares
entonces la cifra se realizará como sigue:
] M = m1m 2 m3m4m5m 6m7m 8m 9m 10m 11m 12 m 13m 14 m15m 16m 17m18m 19m 20m 21 m
22 m23 m 24 m25
] M’ = MS1M S2MS3
] MS1 = 1, 2, 3, 5, 7, 11, 13, 17, 19, 23
] MS2 = 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
] MS3 = 9, 15, 21, 25
] C = m1 m2 m3 m 5m 7m 11m13m 17m19 m23m 4m6m 8m 10 m12m 14m 16m18m 20m 22m 24 m
9 m 15m21 m 25
Al no tener período, este algoritmo de cifrado posee una mayor fortaleza
pues diculta el criptoanálisis, residiendo su seguridad en el secreto de las series
utilizadas. Por ejemplo, utilizando las series anteriores (M S1MS2 MS3 ), un mensaje M
sería cifrado de la siguiente forma:
] M = ERRAR ES HUMANO, PERDONAR DIVINO
] MS1 = 1,2,3,5,7,11,13,17,19,23
] MS2 = 4,6,8,10,12,14,16,18,20,22,24,26
] MS3 = 9,15,21,25,27
] C = ERRRS AODNI AEHMN PROAD VNUER IO
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 35
© RA-MA
1.2.1.2.3 Algoritmos criptográficos basados en transposición por columnas
En este tipo de cifrados se reordenan los caracteres del texto en claro en N
columnas de forma que el mensaje así escrito se transmite luego por columnas (leyendo
los caracteres de forma vertical), obteniéndose de esta manera el criptograma. El
efecto, al igual que en los demás cifradores por permutación, es desplazar las letras
de las posiciones adyacentes. Por ejemplo, si N = 6, la columna de cifrados podría
quedar como se indica:
Columna de cifrados
C1
C7
C13
C19
C2
C8
C14
C20
C3
C9
C15
C21
C4
C10
C16
C22
C5
C11
C17
...
C6
C 12
C18
...
Luego, el criptograma resultante sería:
C = C 1 C7C13C 19 ... C2 C 8C14C 20 ... C3C 9C15 C 21 ... ... C6 C 12C 18 ...
Por ejemplo, el texto M se convertiría en el criptograma C aplicando la
transposición por columnas con N = 6 (en este ejemplo usaremos como carácter de
relleno la letra X).
M = NUNCA ES TARDE CUANDO LA DICHA ES BUENA
Mensaje M escrito en columnas:
N
S
C
L
A
N
U
T
U
A
E
A
N
A
A
D
S
X
C
R
N
I
B
X
A
D
D
C
U
X
E
E
O
H
E
X
C = NSCLA NUTUA EANAA DSXCR NIBXA DDCUX EEOHE X
1.2.1.2.4 Algoritmos criptográficos basados en transposición por filas
De forma similar al sistema de cifra por columnas, en esta operación de cifra
se escribe el mensaje M en forma vertical, por ejemplo de arriba hacia abajo, con
un cierto número de las N F que será la clave y luego se lee el criptograma en forma
horizontal. Por ejemplo, dado el mensaje M y un N F = 3 el criptograma resultante
puede observarse en C.
36 ESTEGANOGRAFÍA
© RA-MA
M = EL PRISIONERO SE ENTREGARÁ EN EL LUGAR YA INDICADO
Mensaje M escrito verticalmente en tres niveles (N F = 3):
ERIESNERNLAADA
LIORETGAEURIID
PSNOERAELGYNCO
C = ERIES NERNL AADAL IORET GAEUR IIDPS NOERA ELGYN CO
1.2.2 De las máquinas de cifrado a la criptografía moderna
En este punto el lector tiene una idea general del tipo de técnicas y
procedimientos que se utilizaban antes del siglo XX para proteger la información a
intercambiar, especialmente vinculada a un mundo militar, diplomático y de espionaje.
Los algoritmos basados en técnicas de sustitución o permutación (o combinaciones)
se fueron complicando cada vez más, para dicultar sobre todo ataques estadísticos
manuales. La complejidad de los algoritmos encontró su culmen con la aparición a
comienzos del siglo XX de las primeras máquinas de cifrado electromecánicas. Su
presencia en la protección de comunicaciones en la I y la II Guerra Mundial fue un
gran hito en la historia de la criptografía con máquinas complejas como Enigma,
Hagelin, Purple, etc. Por ejemplo, un uso histórico se puede ver en plena II Guerra
Mundial, concretamente el 7 de diciembre de 1941, la radio de la estación naval de
Bainbridge Island, cerca de Seattle en los Estados Unidos, interceptó un mensaje de
solamente 9 minutos desde Tokio a la embajada japonesa en los Estados Unidos. El
radiotelegrama estaba cifrado con una máquina que los norteamericanos llamaron
Purple, cuyo código fue roto por William Friedman, 14 uno de los criptólogos más
importantes de la historia, junto con un grupo de criptoanalistas. Si bien es cierto que
ello no pudo evitar el ataque de los japoneses a Pearl Harbor, el esfuerzo realizado
por todos en la destrucción de tales códigos jugó un papel fundamental, tiempo
después, y marcó la derrota del pueblo nipón, así como el n de la guerra.
En ese momento histórico los criptógrafos ya comenzaban a tener
conocimientos y dispositivos electrónicos para generar algoritmos criptográcos
realmente complejos de solventar manualmente. La industrialización de la
electrónica de consumo avanzaría en esta tendencia en pocas décadas. No obstante,
otros retos aguardaban a ser resueltos, el principal la distribución segura de las claves
14 Si usted es un apasionado de esta rama de la criptología se recomienda encarecidamente la lectura
de los textos clásicos de criptoanálisis militar de William F. Friedman: https://www.nsa.gov/public_info/declass/military_cryptanalysis.shtml.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 37
criptográcas necesarias entre un emisor y un receptor para cifrar una comunicación.
Por suerte, eso sería resuelto décadas más tarde con la criptografía moderna.
Con el paso de los siglos la ciencia de la criptología fue adquiriendo
consistencia. Se conocían multitud de algoritmos de cifrado y métodos de
criptoanálisis. Una nueva criptografía estaba a punto de saltar a escena, con los
mejores avances de los siglos anteriores, y con una idea revolucionaria, la planteada
en 1883 por el lingüista holandés Auguste Kerckhoffs von Nieuwenhof en su libro
La cryptographie militaire:15
“La seguridad de un criptosistema no debe depender de mantener secreto
el algoritmo de cifrado. La seguridad solo debe depender de mantener la clave de
cifrado en secreto”.
El camino hacia una nueva losofía criptográca ya había comenzado, y
se fue robusteciendo con una serie de artículos que establecieron denitivamente la
base de la nueva criptografía, la criptografía moderna, que se extiende hasta nuestros
días.
Existen dos momentos clave en el siglo XX para la evolución futura de la
criptografía y la protección de las comunicaciones. Uno de ellos fue en la década de
los 40 del siglo XX con la publicación de dos artículos fundamentales que sentarían
las bases de la teoría de la información: “A Mathematical Theory of Communication”,
en 1948, y “Communication Theory of Secrecy Systems”, en 1949, desarrollados
por Claude Shannon. Los artículos de Shannon propusieron dos técnicas de cifrado
en criptosistemas de clave secreta o simétrica 16 (los únicos que se conocían hasta la
época) a las que llamó difusión y confusión. Por un lado, la difusión es la técnica que
permite dispersar las propiedades estadísticas inherentes al lenguaje en el texto en
claro sobre el criptograma, por ejemplo, mediante permutaciones o transposiciones.
Por otro lado, la técnica de confusión permite generar confusión, caos, mezcla en
el resultado cifrado, de tal forma que la dependencia entre texto en claro, clave y
criptograma sería lo más compleja posible e impediría romper el algoritmo (propone
aplicar la técnica de sustitución). Ahora más que nunca la criptografía se convertiría
en el refugio de los matemáticos, el lugar perfecto en el cual aplicar numerosas
teorías, teniendo en cuenta los principios de Kerckhoffs. Todos estos avances
contribuirían al desarrollo en las siguientes décadas de los cifradores de ujo y los
cifradores de bloque (criptografía simétrica).
15 KERCKHOFFS, A.; “La cryptographie militaire”, Journal des sciences militaires, vol. IX, págs.
5-83, jan. 1883; págs. 161-191, feb. 1883. http://www.petitcolas.net/kerckhoffs/index.html.
16 Se conoce como criptografía simétrica a aquellos algoritmos que utilizan la misma clave para
cifrar (emisor) y descifrar (receptor) una información.
38 ESTEGANOGRAFÍA
© RA-MA
En la criptografía simétrica moderna existen dos tendencias: criptografía
simétrica de bloques y criptografía de ujo. En el primer caso, es la evolución de las
técnicas clásicas que en lugar de utilizar poligramas para cifrar utilizan bloques de
N bits. Por otro lado, la criptografía de ujo es un intento de llevar a la práctica el
cifrado de Vernam y el esquema OTP (libreta de un solo uso). El problema del cifrado
de Vernam es la distribución de la clave. Como recordará el lector de apartados
anteriores, para que este algoritmo criptográco fuera seguro se necesitaba una
clave de un solo uso del mismo tamaño que el mensaje a transmitir y esta debía ser
proporcionada a los interlocutores por un canal seguro. Esta condición ya de por sí
tiene una implicación graciosa, si la clave es del mismo tamaño que el mensaje y se
proporciona por un canal seguro, ¿por qué no proporcionar directamente el mensaje
por ese canal seguro? Para intentar solucionar este problema surgieron los cifradores
de ujo. Los cifradores de ujo pretenden, utilizando una clave pequeña conocida
exclusivamente por emisor y receptor generar una clave (con buenas propiedades
estadísticas) lo sucientemente larga para usarse en un cifrado de Vernam. En
esencia consisten en el diseño de polinomios matemáticos, 17 polinomios con una
serie de propiedades matemáticas que permiten garantizar propiedades estadísticas y
de periodicidad del resultado de dicha función, es decir, de los bits de salida que se
utilizarán como clave.
Figura 1.6. Esquema de un cifrador de flujo
Lógicamente al tratarse de un procedimiento determinista la secuencia clave
generada nalmente tendrá un período (que depende de la semilla-clave inicial),
pero en la práctica los cifradores de ujo se pueden diseñar para tener períodos
enormes, por ejemplo 10 38 bits. Es precisamente esta clave en binario generada la
que se utilizará para proteger la información en claro mediante una operación orexclusiva. En el ejemplo anterior se podría enviar hasta 10 29 Gb. Si suponemos una
conexión de 100 Gb/s la clave no se repetiría antes de ¡31.709.791.983.764.586.504
años!
17 De forma conceptual un polinomio matemático se puede ver como una función con diferentes variables a las que se les puede asignar valores iniciales (bits). Estos valores se conocen como semilla.
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 39
© RA-MA
En cuanto a la criptografía simétrica de bloques, es importante destacar una
serie de cuestiones que permitirán comprender al lector cómo funcionan este tipo de
algoritmos en la actualidad y dónde reside la seguridad de algoritmos como 3DES
o AES, si desea profundizar en su algoritmia. Algoritmos que se usan masivamente
para la protección de datos o comunicaciones en redes de ordenadores, sistemas
operativos e Internet.
Salvando las distancias, un algoritmo criptográco simétrico de bloques
puede verse como un algoritmo polialfabético poligrámico de N bits que combina
de manera estudiada procedimientos de sustitución y transposición para conseguir
difusión y confusión, es decir, para dicultar al máximo que un atacante pueda realizar
el proceso inverso y recuperar la información en claro. De hecho, estos algoritmos se
diseñan para tener seguridad condicional y computacional. Es decir, el algoritmo no
puede invertirse salvo ataque por fuerza bruta (probar todas las claves) y esta tarea
debería ser computacionalmente intratable con la capacidad tecnológica del momento
(por este motivo los algoritmos criptográcos modernos se van actualizando,
recomendando el uso de nuevos algoritmos). Adicionalmente, los algoritmos tienen
que tener seguridad condicional, es decir, un algoritmo criptográco será seguro
mientras que nadie demuestre lo contrario. Esto es importante no perderlo de vista
pues marcará la estructura de los algoritmos de cifrado, por ejemplo, en el actual
estándar de cifrado AES. Según esto, el lector puede observar fácilmente como en
la mayoría de algoritmos criptográcos simétricos de bloques es común el uso de:
1. Operación or-exclusiva.
2. Operación de desplazamiento o rotación.
3. Operaciones de no-linealidad. Por ejemplo, las cajas S de DES o los
procedimientos en AES.
4. Estructura de mezcla de las operaciones anteriores.
5. Número de vueltas o repeticiones del conjunto de operaciones.
Como puede deducir gran parte de esas operaciones son parecidas
conceptualmente a lo que se conocía a lo largo de la historia (como hemos ido
viendo). El único reto actual en el diseño de estos algoritmos criptográcos es cómo
seleccionar el menor número de operaciones y cómo combinarlas para garantizar el
mínimo conocimiento del atacante de las propiedades estadísticas del texto en claro
(difusión y confusión). Con este objetivo, la tendencia actual es diseñar pequeños
bloques de operaciones que mezclen funciones or-exclusivas (propiedades que se
mostraron interesantes en el cifrado de Vernam), operaciones de desplazamiento y
rotación, y operaciones de no-linealidad. Esos bloques se repiten una y otra vez, en
40 ESTEGANOGRAFÍA
© RA-MA
lo que se conoce como el número de vueltas de un algoritmo criptográco simétrico,
hasta que con los ataques actuales, por ejemplo criptoanálisis lineal o criptoanálisis
diferencial, se demuestra que un atacante no puede recuperar la información en
claro (seguridad condicional). En ocasiones, el número de vueltas de un algoritmo
criptográco puede, incluso, ser un poco subjetivo. Por ejemplo, el actual estándar de
cifrado AES para un tamaño de bloque de 128 bits y clave de 128 bits se demuestra
que es seguro frente a ataques como criptoanálisis diferencial o criptoanálisis lineal
mediante 6 vueltas. Los autores recomendaron que el algoritmo tuviera 10 vueltas,
4 más en lo que consideran un posible margen de seguridad. Por ejemplo, el antiguo
estándar de cifrado DES repetía la estructura de operaciones congurada, red Feistel,
16 veces, persiguiendo el mismo objetivo de seguridad condicional. Recuerde el
lector que una red Feistel trocea un bloque de N bits en dos partes. La parte derecha
sale como la nueva parte izquierda y la nueva parte derecha será el resultado de hacer
una operación or-exclusiva de la entrada izquierda con una serie de modicaciones,
función F (procedimientos no-lineales), de la entrada derecha.
Figura 1.7. Algoritmo criptográfico DES y la red Feistel
Sin estas breves aclaraciones del porqué de cada elemento en un algoritmo,
un lector novicio, que observe el esquema de este algoritmo por primera vez,
simplemente se quedaría sin palabras, sin entender nada de nada, y mucho menos
conar en que este tipo de algoritmo realmente en algún momento pueda proteger
su información.
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 41
En cualquier caso, si no se detectan fallos en el diseño actual de los
algoritmos criptográcos simétricos no es posible recuperar el texto en claro de un
criptograma sin la clave criptográca válida. El único ataque posible es la fuerza
bruta, probando todas las claves posibles, y los algoritmos se diseñan precisamente
para ser robustos frente a este tipo de ataques. El tiempo necesario para conseguir tal
hazaña es inviable.
Independientemente de lo anterior, todavía existía un problema que no tenía
solución, y es cómo poder intercambiar de forma segura las claves criptográcas,
actualmente de tamaño ínmo comparado con la información a proteger. Algunas
ideas se propusieron sin excesivo éxito, de hecho hoy en día existen propuestas,
bajo ciertas suposiciones, para intercambiar claves mediante el uso de protocolos
telemáticos que utilizan criptografía simétrica, por ejemplo los centros de distribución
de claves (KDC) o el protocolo Kerberos. 18
En la práctica, a nales de la década de los 70 y en la década de los 80 se
producirían los avances conceptuales más notorios que marcarían muchas de las
tendencias criptográcas en las décadas posteriores. Fue en esta época cuando se
abrió el camino al uso de funciones unidireccionales fáciles de computar en una
dirección pero muy complejas computacionalmente de invertir sin una trampa, una
pista a modo de clave de sistema (estos principios son los que permiten entre otras
cosas la rma digital hoy en día). Posiblemente, el salto cualitativo más importante en
la historia de la criptografía fue gracias al artículo “New directions in cryptography”,
publicado en 1976 por Whiteld Dife y Martin Hellman, que establecía el concepto
de criptografía asimétrica o clave pública, en la que cada participante en una
comunicación secreta disponía de dos claves, una pública y otra privada. Cualquier
emisor podía comunicarse con un destinatario conociendo exclusivamente su clave
pública, solo el destinatario podía descifrar la comunicación cifrada, dado que solo
él conocía su clave privada.
He de reconocer que sin estudiar la base matemática que sustenta este tipo
de criptografía asimétrica suena cuando menos extraño la existencia de dos tipos
de claves diferentes, una pública y otra privada. No obstante, puede comprenderse
su funcionamiento, sin necesidad de recurrir a las matemáticas, utilizando un símil
con candados y llaves. Imagine el lector que un usuario A desea comunicarse con un
usuario B introduciendo un secreto en un cofre que puede ser cerrado utilizando una
serie de candados. El usuario B envía a A un candado suyo abierto (su clave pública)
y conserva en privado la llave del candado. Un atacante que tenga acceso al candado
no podrá abrirlo si no dispone de la llave. El usuario A introduce su secreto en el cofre
18 https://es.wikipedia.org/wiki/Kerberos.
42 ESTEGANOGRAFÍA
© RA-MA
y lo protege cerrándolo con el candado de B. Solo el usuario B con su llave podrá
abrirlo y recuperar el secreto. Esta idea conceptualmente tan sencilla (criptografía
asimétrica) resolvió el problema de la distribución de claves criptográcas en redes
de comunicación insegura (Internet).
En este punto, se abrió la caja de Pandora, desde entonces múltiples algoritmos,
bajo el paraguas de la criptografía de clave pública, han permitido intercambiar
claves criptográcas para su uso con algoritmos criptográcos simétricos o de ujo.
Habitualmente se conoce a este tipo de claves intercambiadas para ser utilizadas
con algoritmos simétricos como claves de sesión, para remarcar la importancia de
que estas claves deberían ser utilizadas el menor número de veces posible y durante
la menor cantidad de tiempo posible (en la mente siempre está la idea de emular el
cifrador perfecto basado en la libreta de un solo uso).
Por tanto, la criptografía pública solucionó el problema de la distribución de
claves pero se debían añadir mecanismos para garantizar la identidad de las claves
públicas de las partes de una comunicación (¿la clave pública del usuario con el que
me comunico es realmente de él?). Sin recurrir a grandes infraestructuras, se puede
recurrir a mecanismos más o menos a medida que tienen varios inconvenientes, entre
ellos su falta de escalabilidad. Son muy famosas propuestas basadas en anillos de
conanza como, por ejemplo, las rmas PGP entre usuarios para generar anillos de
conanza. Imagine el siguiente escenario: Pepe se fía de Juan, luego certica la clave
pública de Juan. Tomás se fía de Pepe, luego se fía de lo que certica Pepe y por tanto
se fía de la identidad de la clave pública de Juan. Es lo que en lenguaje coloquial y
popular se representa por la frase “los amigos de tus amigos son mis amigos”, nada
aconsejable lógicamente en un entorno de documentos cifrados, secretos, etc. O al
menos, esa es mi opinión.
Independientemente de estas propuestas, en la actualidad no se puede
hablar de criptografía de clave pública sin mencionar las infraestructuras de clave
pública (PKI), las autoridades de certicación o tercera parte de conanza (CA)
y los certicados digitales. En pocas palabras, vericar la identidad de una clave
pública se soluciona incorporando el concepto de tercera parte de conanza. Una
tercera parte de conanza es un elemento intermedio que actúa como juez en esa
vericación gracias a que mediante el uso de criptografía pública la tercera parte
de conanza certicará/rmará la clave pública de cada comunicante. Un lector
aventajado observará rápidamente que una tercera parte de conanza no es suciente
para solucionar el problema ya que a su vez alguien podría suplantar a esa parte. Esto
se intenta solucionar mediante mecanismos administrativos (“cualquiera” no debería
ser una tercera parte de conanza de aceptación masiva) y mediante mecanismos
técnicos. Técnicamente el emisor y el receptor de una comunicación deben tener,
por defecto, la clave pública de la tercera parte de conanza para interactuar con
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 43
ella y vericar las claves públicas de posibles comunicaciones origen-destino. Un
ejemplo clásico de este funcionamiento en el mundo real son los navegadores web
y la comunicación vía protocolo https con servidores web. Los navegadores tienen
instaladas por defecto las claves públicas de las CA más famosas (terceras partes
de conanza), cuando recibe el certicado público del servidor (su clave pública)
rmado por una CA “famosa”, el navegador puede vericar que la clave pública
es de quien dice ser y, por tanto, iniciar un protocolo para el intercambio de una
clave de sesión para cifrar los datos en tránsito. Por desgracia, a día de hoy las
infraestructuras de clave pública y este sistema de vericación basado en CA están
puestos en cuarentena debido a multitud de escándalos de falsicación de CA y
certicados digitales.
En resumen, todos estos avances matemáticos facilitarían el desarrollo
de protocolos criptográcos en las redes de comunicación, y permitieron dar una
solución práctica al problema de la distribución de claves. En la década de los 80,
el avance en los principios de los algoritmos de curvas elípticas y en las ideas de
la actual criptografía cuántica marcarían los sistemas actuales de protección de
comunicaciones digitales.
En cualquier caso, por suerte, el lector puede proteger sus comunicaciones
en el día a día sin necesidad de bucear a bajo nivel en los algoritmos comentados.
En el Anexo A se ha visto conveniente recoger algunas herramientas de fácil uso
que utilizan diversos algoritmos criptográcos para proteger diferentes tipos de
información (correo electrónico, disco duro y USB, etc.). Si dispone de algo de
tiempo libre le recomiendo que las instale, congure y use.
1.2.3 Superando a la criptografía. Limitaciones y retos futuros
Sin entrar en detalles de bajo nivel para cada algoritmo criptográco
particular, existen muchos libros que le ayudarán en esa dirección; el lector en este
capítulo puede construirse una visión completa de la ciencia de la criptografía y
cómo hoy en día nos ayuda a proporcionar servicios de condencialidad, integridad
y autenticidad en el intercambio o almacenamiento de datos digitales. Por desgracia,
existen limitaciones y retos futuros que deben abordarse.
La criptografía actualmente tiene tres problemas intrínsecos a su naturaleza.
En primer lugar las comunicaciones cifradas son fáciles de detectar, aunque no por
ello seamos capaces de entender lo que se está transmitiendo. Una comunicación
cifrada, precisamente por utilizar inteligentemente operaciones para producir
confusión y difusión, se diferencia estadísticamente de las comunicaciones en claro,
por tanto un atacante puede detectar cuándo este tipo de comunicaciones tienen
lugar, localizar a la fuente (máquina o persona que las realiza) y emprender acciones
44 ESTEGANOGRAFÍA
© RA-MA
contra la fuente o simplemente inhibir la comunicación. En multitud de escenarios,
legítimos o no, el hecho de que un atacante conozca que nos estamos comunicando
supone un problema práctico, ya sea porque un malhechor está robando datos de
una organización (usando criptografía para que no detecten la fuga de información
sensible analizando el tráco en claro), defensores de libertades civiles están
intercambiando información en un país dictatorial o agentes inltrados en una
organización terrorista reciben órdenes desde el cuartel general. Por otro lado, está
el problema de las claves criptográcas. Su uso, su creación, su almacenamiento y
su destrucción suponen el mayor problema de la criptografía moderna. De hecho, en
la práctica la mayoría de ataques van destinados a conseguir la clave criptográca
utilizada en una comunicación de una y mil maneras, ya sea infectando el equipo que
opera con ella, realizando ataques de escucha física (criptoanálisis acústico, ataques
térmicos, estudio del consumo energético, etc.), ingeniería social, etc. Es famosa en
el mundo de la criptografía la siguiente frase: la criptografía no se ataca, se esquiva,
haciendo alusión clara a que los ataques prácticos en la actualidad van más en la
dirección de conseguir las claves en claro que a intentar romper los algoritmos, lo
cual, hasta lo que se conoce, no es posible con algoritmos modernos.
Figura 1.8. Criptoanálisis acústico y ataques térmicos
En último lugar tenemos el problema de mantener la cadena de privacidad
(condencialidad, integridad y autenticidad) en comunicaciones donde son
necesarios elementos intermedios de procesamiento de datos. El mayor ejemplo, y el
mayor problema, lo vemos hoy en día en la denominada cloud (nube) y en el cloud
computing. Si dos personas desean intercambiar información condencial pero
necesitan que un elemento tercero, por ejemplo, un servicio de Internet, opere sobre
sus datos, este servicio necesitará la clave criptográca para descifrar la información,
operar con ella y volver a cifrarla. Imagine el escenario en el que dos delegaciones
de un grupo empresarial contratan un servicio externo para hacer estadísticas sobre
datos contables que consideran sensibles. No podrán utilizar criptografía en este
caso, ya que la tercera parte necesitará la clave criptográca. Este es un problema
© RA-MA
Capítulo 1. PROTECCIÓN DE LAS COMUNICACIONES DIGITALES 45
que diculta la privacidad en Internet considerando el potencial de servicios que
ofrecen la nube y el cloud computing. Quizás en las próximas décadas este problema
sea resuelto con un tipo de criptografía, conocida como criptografía homomórca
completa, pero aún falta tiempo. Entender las matemáticas que hay detrás de ella
no es evidente para cualquier lector pero en esencia puede verse como aquel tipo de
criptografía que permite realizar operaciones matemáticas sobre datos cifrados sin
la necesidad de conocer qué información está protegida. La ventaja de este tipo de
algoritmos es que las operaciones realizadas sobre los datos cifrados repercutirán de
la misma manera que si los hubieran realizado en los datos en claro (con la ventaja de
que no conocen el texto en claro y por tanto la clave criptográca que lo descifra). Por
ejemplo, imagine una operación sencilla en la cual se quieren sumar dos números,
se desea que una empresa externa sume esos dos números pero que no sepa su valor
real. La criptografía homomórca solucionaría este problema, sumando los datos
cifrados y generando un resultado. Al descifrar la información recuperada será igual
a como si se hubieran sumado los valores en claro. 19
En este punto existen dos problemas evidentes de la criptografía que hay
que trabajar, dicultar la visibilidad de las comunicaciones cifradas y establecer
mecanismos para no permitir que las claves criptográcas pudieran ser accesibles.
En el interés de proteger mejor las comunicaciones, típicamente cifradas, surgió
históricamente el concepto de la esteganografía. Este arte, actualmente toda
una ciencia, se centra en todo tipo de procedimientos para crear comunicaciones
enmascaradas, comunicaciones que pasarían desapercibidas para un potencial
atacante. Ni mucho menos la esteganografía es una ciencia novedosa, como se verá
en el capítulo siguiente, sin embargo su aplicación a tantos escenarios variados de
nuestras comunicaciones digitales la convierten de facto en un aliado ideal junto
a la criptografía, con buenos o malos nes. En la práctica, las comunicaciones se
cifrarán y posteriormente se ocultarán, intentando garantizar tanto invisibilidad de
la comunicación como privacidad. En los siguientes capítulos el lector descubrirá el
potencial de esta ciencia renovada tanto para proteger sus comunicaciones y datos
como para aplicar ataques avanzados como ocultación de código malicioso, evasión
de seguridad perimetral, etc.
19 Si desea profundizar en esta nueva criptografía puede profundizar en: https://en.wikipedia.org/
wiki/Homomorphic_encryption.
2
OCULTACIÓN DE INFORMACIÓN EN
COMUNICACIONES DIGITALES.
ESTEGANOGRAFÍA
“Las tres cosas más difíciles en este mundo son: guardar un secreto,
perdonar un agravio y aprovechar el tiempo”.
Benjamin Franklin
2.1 ESTEGANOGRAFÍA EN LA ACTUALIDAD. DEFINICIÓN DE CONCEPTOS
El término esteganografía, cuyo origen etimológico proviene de las
palabras griegas steganos (oculto) y graphein (escribir), puede denirse como
escritura oculta. En general, se traduce del término inglés steganography, que
a su vez proviene del título del libro Steganographia, escrito por el abad alemán
Johannes Trithemius (1462-1516) en 1499. Este libro, compuesto por 3 volúmenes
escritos en latín, profundizaba en los dos primeros volúmenes en procedimientos
de escritura oculta, mientras que en el tercero se hacía referencia a temas mágicos,
como astrología o magia negra. Por ejemplo, documentando cómo crear un método
para comunicarse sin mensajeros ni códigos establecidos. Para comunicarse a largas
distancias Johannes indicaba que tan solo es necesario utilizar “espíritus”.
El libro Steganographia, que tiene una apariencia de texto mágico o de brujería,
tuvo una circulación reducida en el siglo XVI, concretamente en círculos privados,
hasta que se publicó nalmente en 1606. A nales del siglo XX dos investigadores,
Dr. Thomas Ernst y Dr. Jim Reeds, que trabajaban de forma independiente, llegan
a la conclusión de que el tercer volumen de esta obra escondía mensajes ocultos.
48 ESTEGANOGRAFÍA
© RA-MA
Curiosamente este volumen parece más un tratado de criptografía que de ciencias
ocultas. Si bien los mensajes descubiertos no tienen una relevancia especial, sí
muestra la utilización de ciertas técnicas de ocultación. Por ejemplo, Trithemius
denió una serie de esquemas para ocultar mensajes en las largas invocaciones de los
nombres de ángeles, los mensajes secretos aparecían como patrones de letras dentro
de las palabras. Un ejemplo de patrón es que de cada 2 palabras se elige la segunda
y de ella se elige una letra sí y otra no.
Figura 2.1. Portada del libro Steganographia
Independientemente de estas curiosidades, la ciencia de la esteganografía, en
sentido estricto, se divide en dos grandes áreas, la esteganografía y el estegoanálisis,
de una forma similar a lo que sucedía en la criptología (criptografía y criptoanálisis).
La ciencia de la esteganografía estudia diferentes procedimientos para ocultar
información almacenándola en algún soporte o transmitiéndola por algún canal,
mientras que la ciencia del estegoanálisis estudia la seguridad de los diferentes
algoritmos esteganográcos, aplicando diferentes procedimientos para detectar la
posible presencia de información oculta en un medio o bien para eliminarla, se tenga
certeza de que existe o no. Las personas que aplican la ciencia del estegoanálisis se
denominan estegoanalistas. La combinación de ambas es vital para el desarrollo de
algoritmos robustos.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 49
En general, se denomina estegomedio a aquel medio o soporte de
comunicación (por ejemplo, un chero informático) que se utiliza para enmascarar
la información a transmitir sin levantar sospecha. Habitualmente el resultado de
ocultar una información en un estegomedio da lugar a un estegoobjeto, sustitúyase
la palabra objeto por el medio correspondiente. Por ejemplo, si como estegomedio
se utilizan imágenes digitales para ocultar información, a la imagen resultante que
contenga la información oculta se le denominará estegoimagen. Otros ejemplos serían
estegoaudio, estegovídeo, etc. En los próximos apartados el lector comprenderá
perfectamente los diferentes tipos de estegomedios y cómo poder llegar a utilizarlos
en numerosas situaciones reales.
No obstante, para comprender el uso actual de la ciencia de la esteganografía
en el mundo real es importante recordar las ideas reejadas en el problema del
prisionero,20 formalizado por G. J. Simmons en 1983. La descripción de este
problema parte de la necesidad de comunicación entre dos entidades A y B, se
supone por simplicación que se habla de personas, que son arrestadas y connadas
en celdas separadas. El objetivo que se plantea consiste en desarrollar un plan de
fuga, intercambiando información a través de su guardián, dado que se les impide
una comunicación directa. Si el guardián es medianamente competente no permitirá
una comunicación cifrada, y si tiene la más mínima sospecha interrumpirá las
comunicaciones. De este modo, A y B deben comunicarse de manera invisible
usando algún tipo de esteganografía. Una forma de hacer esto es ocultar información
en un mensaje de apariencia inocua, por ejemplo, una imagen. B podría dibujar un
dibujo de una vaca azul en un pasto verde, y pedir al guardián que se lo pase a A.
Lógicamente el guardián observará el dibujo y al no alertar nada raro en él, si acaso
un dibujo de arte abstracto, lo transmitirá sin saber que los colores del dibujo ocultan
un mensaje. En este punto es importante analizar los comportamientos posibles del
guardián (atacante) ante la comunicación interceptada:
1. Ataque pasivo. El guardián puede analizar la información intercambiada,
dejando que la comunicación tenga lugar si no advierte nada raro. En un
entorno actual, telemático (redes de ordenadores), puede que el guardián
solo pueda analizar la información (en Internet) pero no interrumpirla.
2. Ataque activo. El guardián podría modicar la información,
accidentalmente o a propósito, e incluso dañándola signicativamente.
20 No confundir el problema del prisionero con el dilema del prisionero que se aplica en teoría de
juegos.
50 ESTEGANOGRAFÍA
© RA-MA
3. Ataque malicioso. El guardián puede modicar a su antojo la
información ocultada en una cubierta con la intención de provocar una
acción determinada en las entidades receptoras de dicha información. En
la práctica, este ataque no es realista en la mayoría de las situaciones ya
que en principio debería desconocer los procedimientos utilizados.
En resumen, el problema del prisionero introduce, y ejemplica de
manera excepcional, los problemas actuales en el campo de la esteganografía y el
estegoanálisis. Sin duda, el problema principal, que se ha intentado resolver a lo largo
de los años, es cuánta información necesitan conocer previamente dos entidades
que desean comunicarse de manera enmascarada siendo vigiladas por un guardián.
Cuanto mejor sea esa información más realista será el mecanismo de ocultación.
De hecho, hoy en día, las comunicaciones se realizan por Internet, un medio que
podemos considerar inseguro por defecto (espiable), por tanto en Internet existen
multitud de guardianes que podrán observar nuestras comunicaciones, y como
buenos estegoanalistas, aplicar ataques pasivos, activos o maliciosos.
Quizás ya en este punto el lector puede preguntarse si la esteganografía,
además de un uso evidente en la privacidad y anonimato de las comunicaciones,
tiene algún otro uso y sobre todo quién la usa.
En los próximos capítulos observaremos como la esteganografía ha
evolucionado al ritmo de las tecnologías actuales. En la antigüedad, su utilización
estaba restringida a una población reducida, típicamente con formación en escritura
y lectura, como militares, diplomacia, políticos o artistas. Hoy en día, su utilización
es generalizada y tiene un impacto en la sociedad civil, con resultados positivos y
negativos. Se han documentado usos para la defensa de libertades civiles (libertad
de expresión y comunicación), así como otros usos más nefastos como su utilización
para sincronizar planes terroristas o de espionaje gubernamental. Pero no queda ahí
su utilidad, como veremos a lo largo del libro la esteganografía y variantes se utilizan
en el día a día para vulnerar la seguridad de las redes de ordenadores, facilitando el
anonimato y la fuga de información (espionaje industrial), la creación de malware
invisible al software antivirus (al lector menos avezado en estos términos le sonará el
término más particular y coloquial de “virus”), mecanismos de protección intelectual
frente a copias ilegítimas, etc.
Antes de profundizar en este apasionante mundo es importante tener algo
más de visión global de lo que supuso la esteganografía en el pasado. En el siguiente
apartado revisaremos rápidamente algunos eventos interesantes de la historia de la
esteganografía. Este apartado no pretende retratar con exactitud todos los eventos
acontecidos en la historia, siendo su objetivo fundamental la comprensión de
cómo en la práctica lo único que limita la creación de nuevas formas de ocultar
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 51
información es la imaginación del creador de dichas técnicas. Para nalizar el
capítulo, analizaremos los sistemas esteganográcos existentes en la actualidad e
introduciremos las diferentes técnicas de ocultación que se analizarán en profundidad
en los siguientes capítulos.
2.2 ESTEGANOGRAFÍA CLÁSICA. HISTORIA DE LA OCULTACIÓN DE
COMUNICACIONES
Uno de los testimonios más antiguos de uso de esteganografía se remonta
al siglo V a.C., Las Historias del historiador griego Heródoto de Halicarnaso (484
a.C.-425 a.C.) recoge en sus crónicas los conictos entre Grecia y Persia, de especial
interés desde el punto de vista de la esteganografía. Según Heródoto, fue la escritura
oculta lo que permitió a los estados griegos evitar ser ocupados por una Persia
opresora. Este hecho queda reejado en la historia de Histieo.
Histieo, desde la corte de Persia quería alentar a su yerno Aristágoras de
Mileto para que se rebelara contra el rey de Persia. Para transmitir sus instrucciones
de forma segura, Histieo afeitó la cabeza de un mensajero, y tatuó el mensaje en
su cuero cabelludo esperando a continuación a que le volviera a crecer el pelo. El
mensajero pudo viajar sin levantar sospechas y hacer llegar la información que fue
revelada al afeitarse la cabeza. Esta “sutil” comunicación permitió a los griegos
percatarse de los planes persas para conquistarles.
Otra de las crónicas de Heródoto versa sobre la historia de Demerato. En
esta historia se describe el interés de Demerato de avisar a Esparta de que el rey
persa Jerjes estaba planeando invadir Grecia. Este aviso no fue sencillo. La dicultad
recaía en cómo enviar el mensaje sin que fuera interceptado por los vigías persas
ingeniando para ello un canal de comunicación encubierto. El mecanismo de
comunicación consistió en retirar la cera de un par de tablillas de madera, escribir
la alerta de la proliferación militar en Persia y luego cubrir el mensaje con cera.
Esta tabla, aparentemente en blanco, pasó completamente desapercibida, incluso
para sus receptores durante un tiempo, hasta que descubrieron el método tan sutil de
comunicación. Como resultado obvio de esta advertencia, los griegos comenzaron
a armarse.
52 ESTEGANOGRAFÍA
© RA-MA
Figura 2.2. Tableta romana de cera con punzón de espátula
Otra de las crónicas relata como el noble Harpagus transmitió una
información a Cyrus, rey de Persia, indicándole que recibiría ayuda desde “dentro”
para solucionar la opresión que sufría su país. Para ello vistió a un mensajero
de cazador y le proporcionó una liebre en cuyo vientre afeitado había escrito el
mensaje a transmitir, oculto tras crecer el vello. El cazador con la liebre pasaron
desapercibidos. Otros ejemplos similares se pueden ver en la cultura milenaria china
donde se escribían mensajes sobre seda na, que luego era aplastada hasta formar
una pelotita diminuta que se recubría de cera para facilitar que el mensajero ocultara
la información tragándose la bola.
Todo este tipo de técnicas siguieron utilizándose a lo largo de los siglos,
pero sin duda, siglos más tarde, durante los siglos XVI y XVII, y como culmen de la
cultura renacentista, aparecería una valiosa cantidad de información sobre literatura
esteganográca.
El célebre renacentista Girolamo Cardano (1501-1576), excelente matemático
y físico, puede ser recordado en este ámbito por su contribución a la esteganografía
al reinventar en 1550 un procedimiento cuyos orígenes se encuentran en la cultura
milenaria china, en lo que se conoce como la reja de Cardano o Cardan grille
en terminología inglesa. El sistema Cardan grille en sus orígenes funciona de la
siguiente manera: cada destinatario poseía un pedazo de papel o cartón con agujeros
cortados en él (la reja). Cuando esta plantilla se ponía encima de un mensaje inocente,
los agujeros dejaban ver letras especícas del mensaje, revelando el mensaje oculto.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 53
Figura 2.3. Ejemplo de reja de Cardano
El lector puede observar la enorme dicultad para descubrir la información
oculta si se desconoce la plantilla que actúa a modo de ltro. De hecho, existen
multitud de variantes basándose en este principio, en función de cómo se utilice
la plantilla, como por ejemplo, ir rotando 90 grados la plantilla cada vez que se
obtiene una letra del mensaje oculto (turning grille). En cualquier caso, aunque es
cierto que la idea de la reja de Cardano está considerada como una de las formas
más seguras para transmitir un mensaje, este mecanismo no resulta práctico para
transmitir grandes cantidades de información. Este mismo problema está presente en
otras alternativas ingeniosas, como el código en jerga o jargon code en terminología
inglesa.
Un código en jerga consiste en sustituir letras o palabras por otras (es habitual
generar un texto “con sentido”) o simplemente denir un lenguaje secreto. Suele ser
común su utilización en entornos militares, por ejemplo, en la II Guerra Mundial por
diplomáticos japoneses y espías alemanes. Un ejemplo famoso de código en jerga
fue: Tora! Tora! Tora! usado por la Armada japonesa para comunicar el ataque al
portaviones norteamericano Pearl Harbor en 1941. Tal fue el miedo a la aplicación
de estas técnicas tan difíciles de detectar que el servicio postal de los Estados Unidos
censuró después del ataque de Pearl Harbor diferentes cartas de correo, por miedo a
que ocultaran información peligrosa, por ejemplo, en juegos de ajedrez vía correo,
dibujos de niños, crucigramas, etc. Incluso los sellos de las cartas eran quitados y
sustituidos por otros de igual valor pero diferente forma.
Otro procedimiento ingenioso fue realizado utilizando un código especial
sobre periódicos (en terminología inglesa se conoce como newspaper code). Este
método desarrollado en la época victoriana (época de gran expansión económica y
54 ESTEGANOGRAFÍA
© RA-MA
social de Gran Bretaña entre 1837 y 1901) permitía a las clases pobres comunicarse
libremente. Para ello hacían pequeños agujeros encima de ciertas letras del periódico,
que una vez unidas forman el mensaje encubierto. Estos procedimientos encontraron
utilidad, por ejemplo, en la II Guerra Mundial y en la Guerra Fría entre EE. UU. y
la URSS.
El lector puede observar como, sin duda, la mayor parte de eventos en el
pasado relacionados con la esteganografía están relacionados con el mundo políticomilitar y la diplomacia. Otro caso conocido en este sentido fue el acontecido durante
el reinado de la reina María Estuardo, María I de Escocia (1542-1567). En este caso
la esteganografía tuvo una gran importancia en las conspiraciones urgidas entre los
nobles católicos ingleses que querían destronar a la reina protestante Elizabeth por
la católica María I de Escocia. La comunicación entre los conspiradores y la reina
María debía pasar lo más desapercibida posible ya que cualquier conocimiento de
esto implicaría ser acusados de alta traición y condenados a muerte. Por este motivo,
emplearon tanto criptografía como esteganografía para ocultar sus mensajes. Un
mecanismo recurrido fue la ocultación de mensajes en barriles de cerveza que se
transportaban sin llamar la atención. Por desgracia para los conspiradores, la reina
Elizabeth contaba con Francis Walsingham, un maestro del espionaje inglés. Sir
Francis Walsingham había creado una red muy efectiva de espías que seguía paso
a paso las acciones de los católicos. Sir Francis poseía información de los planes
conspirativos que querían acabar en último n con la vida de la reina Elizabeth y
trasladar su trono a la reina María. Para demostrar la relación entre María y los
conspiradores sir Francis consiguió numerosas cartas entre ambos, con el problema
adicional de que las cartas estaban codicadas. Lo que los conspiradores no sabían es
que el código criptográco utilizado había sido roto hacía años. Thomas Phelippes,
experto criptoanalista, llevaba años descifrando los mensajes interceptados entre
los que conspiraban contra la reina Elizabeth. Finalmente se demostró la traición
de la reina María hacia la Corona inglesa. Los conspiradores capturados fueron
asesinados, y poco después María también.
Un siglo después de estos acontecimientos, el cientíco alemán Gaspar
Schott (1608-1666) documentaría en su libro Schola Steganographica cómo ocultar
mensajes en partituras de música, haciendo equivaler una nota musical concreta con
una letra. En ningún momento se buscó que las notas musicales tuvieran alguna
coherencia y su resultado diera una melodía agradable, en cualquier caso, su
representación, por ejemplo, en papel, permitía perfectamente ocultar un mensaje.
Basados en estas ideas surgieron otros procedimientos de ocultación, como los
basados en el número de ocurrencias de las notas. Ni mucho menos la imaginación
esteganográca acabó aquí.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 55
Figura 2.4. Ocultación de información en notas musicales
John Wilkins (1614-1672), religioso y naturalista inglés, desarrolló
diversas obras relacionadas directamente con el mundo de la criptografía y la
esteganografía como Mercury, or The Secret and Swift Messenger en 1641. En ellas
es destacable el desarrollo de procedimientos para ocultar información utilizando
dibujos geométricos, es decir, usando puntos, líneas o triángulos de un dibujo para
enmascarar información. Posteriormente, esta característica se mostraría más útil
de lo que pudiera parecer en un principio. Por ejemplo, se ha documentado como
desde nales del siglo XVIII hasta por lo menos la guerra de la Independencia
estadounidense (siglo XIX) los esclavos afroamericanos habilitaron mecanismos
de comunicación enmascarada, aprovechando las tradiciones de su civilización,
cultura y religión. La obra Hidden in Plain View: A Secret Story of Quilts and the
Underground Railroad, de Jacqueline L. Tobin y Raymond G. Dobard, profundiza
en muchos aspectos de los diferentes medios y códigos secretos que permitieron a
los esclavos alcanzar su libertad. A lo largo de los años los esclavos afroamericanos
constituyeron una red encubierta (en terminología inglesa underground railroad)
apoyados por familias blancas comprometidas para asistir a los esclavos fugitivos.
Según esta obra se habilitaron casas seguras, estaciones y refugios para ocultarse,
así como diferentes códigos secretos de comunicación para facilitar a los esclavos el
viaje a la libertad. Uno de los códigos de comunicación oculto consistía en bordar en
colchas (en terminología inglesa quilt code) una serie de patrones que proporcionaban
determinada información. Los captores no verían nada raro en que las mujeres de los
esclavos colgaran las colchas al aire libre para airearlas, especialmente en primavera
y meses de verano. Lo que no sospechaban es que cada colcha facilitaba a los esclavos
que querían fugarse su camino a la libertad. Las colchas tenían bordados especiales
que facilitaban la huida de los esclavos. La simbología de los patrones bordados era
muy variada, por ejemplo, proporcionaban la dirección por donde escapar, indicaban
si era necesario preparar herramientas para el largo viaje, tomar mejor un camino
por la montaña, indicativos de que una persona era segura para hablar, no andar en
línea recta para evitar rastreos, etc. Un método muy sencillo, a la vez que ecaz, cuya
seguridad se basaba en el secreto compartido boca a boca entre los esclavos. Estas
ideas aparecerían una y otra vez a lo largo de la historia, aunque solo fueran a modo
de mensajes ocultos en la posición de un lazo en la cabeza.
56 ESTEGANOGRAFÍA
© RA-MA
Figura 2.5. Patrón “Bow Tie”. Este patrón indica a los esclavos que se deshagan de su ropa vieja y
busquen otra para encajar mejor en la nueva ciudad
Figura 2.6. Mensajes ocultos en los lazos del pelo. Revista LIFE Magazine, 1944
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 57
Sin duda, la idea de utilizar imágenes para ocultar información ha sido muy
socorrida en diferentes momentos históricos (en la actualidad estudiaremos métodos
para utilizarlas también). Por ejemplo, en los siglos XVI y XVII, aprovechando la
corriente renacentista de avances en arquitectura, escultura y pintura, se comienza a
utilizar imágenes anamórcas, como un mecanismo ideal para camuar información,
sobre todo política.
Una anamorfosis, como tal, es una deformación reversible de una imagen a
través de procedimientos matemáticos u ópticos, que se maniesta cuando se observa
de una manera especial. Existen multitud de artistas que han plasmado diferentes
ideas con imágenes anamórcas. Por ejemplo, Salvador Dalí.
Figura 2.7. Ejemplo de una imagen anamórfica y su significado real
Una imagen anamórca famosa es el Vexierbild creada por Erhard Schön
(1491-1542), estudiante del famoso artista alemán Albrecht Dürer. A primera vista
aparecen lugares, costas, barcos y ciudades, pero si se analiza la obra con más
cuidado se descubre la composición anamórca de Carlos V, Fernando I, el papa
Pablo III y Francisco I.
58 ESTEGANOGRAFÍA
© RA-MA
Figura 2.8. Imagen anamórfica de Carlos V, Fernando I, el papa Pablo III y Francisco I
Con el paso de los siglos se comienza a utilizar otro tipo de técnica muy
documentada a lo largo de los años, como son los procedimientos fotográcos
para miniaturizar, y por tanto ocultar, información. En 1857, Brewster sugirió
la posibilidad de ocultar mensajes secretos mediante reducción fotográca en un
espacio no mayor que un punto de tinta. En 1860, el fotógrafo francés Rene Dragon
la llevó a cabo después de solucionar una serie de problemas para conseguir imágenes
pequeñas. Los microlms hicieron su aparición. Un ejemplo de su utilización fue
durante la guerra franco-prusiana de 1870-1871. Mientras París y el emperador
Napoleón III se encontraban sitiados, y sus canales de comunicación interrumpidos,
se habilitaron una serie de mecanismos para enviar mensajes microfotograados
utilizando palomas mensajeras, aves con la capacidad de recorrer grandes distancias. 21
La utilización de palomas mensajeras a lo largo de los siglos ha sido muy
recurrida. Históricamente se puede comprobar como los persas ya entrenaban aves
para realizar diferentes transportes. Sus usos civiles han sido muchos, de hecho, antes
de la invención del telégrafo este mecanismo de comunicación solía ser utilizado con
bastante asiduidad, por ejemplo, por hombres de negocios. En un ámbito militar
este tipo de comunicaciones solían ser utilizadas de forma más o menos activa hasta
la II Guerra Mundial. En la actualidad, las mejoras de las telecomunicaciones han
desplazado este tipo de técnicas, no obstante, por ejemplo, no es raro encontrarse
21 La técnica de utilización de animales en conictos bélicos es muy común, por desgracia. Delnes
para detectar minas submarinas, aves para detectar gases en el aire, monos para explotar minas de
tierra, etc.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 59
en países europeos diferentes procedimientos de comunicación militar mediante
palomas mensajeras, como una vía alternativa que pueda ser utilizada en un momento
de necesidad, por ejemplo, porque sus comunicaciones estén interrumpidas. De
hecho, Internet también se hizo eco del uso de las palomas mensajeras para transmitir
mensajes a larga distancia, eso sí en tono de humor. La RFC 22 1149 (A Standard for
the Transmission of IP Datagrams on Avian Carriers) reeja cómo poder establecer
el protocolo de comunicación de Internet IP utilizando palomas que transporten
dicha información. La RFC 2549 dene incluso una versión mejorada con calidad
de servicio (IP over Avian Carriers with Quality of Service).
Figura 2.9. Soldados franceses comunicando información con palomas mensajeras
Independientemente de estas curiosidades, y retornando al concepto
de reducción fotográca, durante la guerra ruso-japonesa de 1905 los ociales
ocultaban imágenes microscópicas en lugares tan curiosos como los agujeros de la
nariz, los oídos o incluso debajo de las uñas. Esta tendencia hizo, por ejemplo, que
los alemanes en la I Guerra Mundial utilizaran la reducción fotográca para ocultar
páginas de información o fotografías en puntos colocados encima de letras de cartas o
periódicos. Era evidente que este tipo de técnicas se utilizaría con mil y una variantes
en los conictos militares. Por ejemplo, en la II Guerra Mundial apareció la técnica
de ocultación conocida como micropunto. Edgar Hoover (posiblemente el director
del FBI más conocido de la historia por su “caza de brujas”) la calicó como “la obra
22 RFC (Request For Comments): documento de carácter técnico que describe los estándares o recomendaciones en Internet.
60 ESTEGANOGRAFÍA
© RA-MA
maestra del espionaje enemigo”. La técnica del micropunto fue llevada a cabo por
agentes alemanes, por ejemplo, en Latinoamérica, donde reducían fotográcamente
una página de texto a un punto de menos de 1 milímetro de diámetro y luego escondían
este micropunto sobre un punto en un texto de una carta aparentemente inocua. La
primera vez que el FBI descubrió el micropunto fue en 1941, siguiendo un soplo que
decía que los norteamericanos debían buscar en la supercie de una carta un brillo
diminuto, indicativo de un minúsculo lm. Después de esto, los norteamericanos
pudieron leer el contenido de la mayoría de los micropuntos interceptados, salvo
cuando los agentes alemanes se tomaron la molestia de además cifrar la información.
Esta técnica tuvo gran uso durante la Guerra Fría y hasta hoy en día puede ser un
recurso más de los servicios de inteligencia actuales. Su versatilidad es enorme,
estos micropuntos podrían ocultarse y transmitirse de diversas maneras, por ejemplo,
en una carta de correo ocultada bajo un sello postal.
Figura 2.10. Ejemplo de micropunto en una carta
En cualquier caso, en toda esta evolución de ideas ingeniosas para
ocultar información uno de los mecanismos esteganográcos más tradicionales, y
posiblemente en su tiempo más efectivos, fueron las tintas invisibles. A lo largo de
los siglos se ha documentado el uso de tintas invisibles como procedimiento para
ocultar todo tipo de información. Clásicamente las tintas invisibles son líquidos
(aunque existen otras modalidades de aplicación como, por ejemplo, mediante
espray) que se aplican a una supercie concreta y al secarse permiten ocultar a la
vista la información escrita. En general, se requiere calor, luz (infrarrojos y/o luz
ultravioleta) o alguna mezcla química especial para cambiar su color y revelar la
información enmascarada.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 61
Una referencia clásica a la hora de hablar de tintas invisibles se encuentra
en el siglo I d.C. El naturalista, escritor y militar romano Plinio el Viejo reeja en
su obra Historia Natural como la leche de la planta Tithymalus podía usarse como
tinta invisible. Esta sustancia se vuelve transparente al secarse, pero calentándola
suavemente se chamusca y se pone marrón. Desde entonces es conocido como muchos
uidos orgánicos se comportan de manera similar, dado que son ricos en carbono.
En la práctica, es posible improvisar tinta invisible con leche, zumo de limón (en
general, zumos de frutas), vinagre, vino o azúcar diluida. Se ha documentado como
incluso sustancias generadas por el cuerpo humano podrían servir también como
tinta invisible como la propia orina o el semen. 23
Esto no debería sorprender al lector. En situaciones extremas el propio
cuerpo humano, o las sustancias generadas por él, pueden utilizarse con nes
esteganográcos. Por ejemplo, es famoso el uso de esteganografía por parte de los
tripulantes del buque estadounidense denominado Pueblo. Pueblo era un buque de
la Armada estadounidense que en 1968 realizaba misiones de inteligencia cerca de
la costa de Corea del Norte. El 23 de enero de 1968 el buque estadounidense fue
atacado por buques norcoreanos y cazas MiG. Los 82 supervivientes estuvieron
presos cerca de 11 meses. Una fotografía pasó a los anales de la historia, donde varios
de sus miembros supuestamente fueron liberados por sus captores para demostrar
su cooperación. Sin embargo, si la fotografía es observada con detenimiento se
contempla un mensaje esteganográco. La posición de las manos de los miembros
de la tripulación deletreaba la palabra snow job en lenguaje de signos. En inglés
americano coloquial un snow job signica mentira, engaño o apariencia no veraz.
Figura 2.11. Militares norteamericanos enviando un mensaje esteganografiado con sus manos
23 Agentes del MI6 usaron el semen como tinta invisible en la I Guerra Mundial. http://www.elmundo.es/elmundo/2010/09/21/internacional/1285079741.html.
62 ESTEGANOGRAFÍA
© RA-MA
Este ejemplo no es ni mucho menos único. Otra forma histórica de
comunicación encubierta se produjo durante la guerra de Vietnam, cuando el
comandante Jeremiah Denton fue capturado por las fuerzas norvietnamitas y
obligado a difundir propaganda sobre las bondades de sus captores a una serie de
medios. Mientras hablaba comunicó mediante pestañeo la palabra T-O-R-T-U-R-E,
utilizando código Morse.
Hecho este inciso, las tintas invisibles no dejaron de evolucionar. Una variación
curiosa del concepto de tinta invisible apareció en el siglo XVI, cuando el cientíco
italiano Giovanni Battista della Porta describió cómo esconder un mensaje dentro de
un huevo cocido. El proceso consistía en hacer una tinta con una mezcla de una onza
de alumbre y una pinta de vinagre, y escribir el mensaje utilizando esta tinta sobre la
cáscara. La solución penetra la cáscara porosa y deja un mensaje en la supercie de
la albúmina del huevo duro, que solo se puede leer si se pela el huevo. Pero esto no es
todo ni mucho menos en el apasionante mundo de las tintas invisibles. Los progresos
en química ayudaron a crear tintas invisibles más sosticadas para evitar al enemigo
descubrir la comunicación encubierta. Aplicando estas ideas, la mejor tinta invisible es
aquella que idealmente solo reacciona con un único compuesto químico. Este tipo de
tintas se conocen como tintas especícas, y es el máximo grado de seguridad que se
puede alcanzar, ya que como poco se necesita de un producto que invierta el proceso
para que el receptor legítimo de la información pueda recuperarla. Por ejemplo, los
espías nazis escribían mensajes en su pañuelo con una solución de sulfato de cobre, la
cual permanecía invisible hasta que se exponía a vapores de amoniaco. Para dicultar
un poco más la tarea de los analistas, la tinta invisible se podía escribir en la supercie
interna del material utilizado, evitando que la aplicación directa de ciertos compuestos
químicos a una supercie revelaran la información oculta. Por ejemplo, espías alemanes
escribían información en una hoja de papel y la unían herméticamente (la pegaban) a
otra. El problema claro de este mecanismo es que si la cantidad de la tinta invisible
utilizada “calcaba” a la supercie donde no se había escrito la información podría ser
detectada.
A principios del siglo XX Alemania comienza a incrementar de forma
considerable su poder militar, y la ebre del espionaje empieza a cobrar fuerza en
muchos países. En Gran Bretaña la histeria se hizo colectiva, la gente veía por todas
partes espías alemanes disfrazados de camareros, peluqueros, etc.; fue tal esa histeria
que el Gobierno (por este y otros motivos) tuvo que crear el primer servicio secreto
profesional del mundo: el MI6. Su primer director fue un capitán de la Armada, sir
George Manseld Smith-Cumming. Su “C inicial” se utilizó como nombre en código
utilizado por todos los directores siguientes del MI6. George Manseld es un buen
ejemplo de utilización de tintas invisibles en servicios secretos. Al primer director
del MI6 le gustaba toda la parafernalia relacionada con las tintas invisibles. Por ello,
creó un laboratorio especial para probar todas las técnicas existentes y la creación de
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 63
nuevas, que pudieran facilitar tanto la comunicación secreta como mecanismos de
detección para sus agentes. La historia demostraría su utilidad. De hecho durante la
I Guerra Mundial, los lugares para esconder materiales con tintas invisibles, como
el papel, eran muy variados. Por ejemplo, los alemanes escondían la información en
la suela de los zapatos, las bufandas o los calcetines. Durante la II Guerra Mundial,
alemanes y estadounidenses solían comprobar que las cartas que caían en sus manos
no contuvieran tinta invisible, lo cual era algo tedioso debido a la diversidad de
tipos de tintas y sustancias que debían aplicar para invertirlas. Por este motivo, para
mejorar su trabajo, las técnicas de detección basadas en luz ultravioleta fueron el
mecanismo más socorrido.
Independientemente de lo anterior, el uso de tintas invisibles no es viable
para transmitir grandes cantidades de información, por eso en la actualidad existen
mejores procedimientos esteganográcos para alcanzar este objetivo. No obstante,
siempre resulta interesante como un recurso más para situaciones límite, o quizás
como mecanismo ingenioso de identicación. En nuestros días, las ideas de las tintas
invisibles se encuentran en las marcas de agua presentes en billetes de papel moneda
o tintas ultravioletas, y en diversas tecnologías para facilitar la monitorización
(impresoras espías). Por desgracia, también tienen usos terroristas. 24
Impresoras espías
Imagine por un momento que cada vez que imprime un documento,
automáticamente se incluyera un código no visible que puede ser usado para identicar
la impresora y potencialmente a la persona o las circunstancias en las que la usó. Pues
esto precisamente lo realizan algunas de las impresoras láser de color del mercado,
tecnología que se incluye desde la aparición de estos dispositivos, y de cuya naturaleza
no se informa a los clientes. La EFF (Electronic Frontier Foundation), uno de los más
importantes grupos de defensa de derechos civiles, denunció este hecho, y mantiene
toda la información posible sobre “impresoras espías” en su Machine Identication
Code Technology Project.25 Por ejemplo, la tecnología, creada parece ser por la empresa
Xerox, imprime puntos microscópicos (puntos amarillos en impresoras a color láser
de la serie Xerox DocuColor) en diferentes zonas de cada folio que se imprime. Esta
información no es visible al ojo humano, codicando información que permite seguir
la pista del documento una vez impreso. Esta información puede ser apreciada, por
ejemplo, cuando el folio es analizado utilizando una lupa de gran resolución o un
microscopio. Empresas como Xerox o Canon justican este sistema como medida
24 http://www.dailymail.co.uk/news/article-1061190/British-Muslim-Al-Qaeda-contacts-book-terrorists-numbers-written-invisible-ink.html.
25 Secret Code in Color Printers Lets Government Track You. https://www.eff.org/press/archives/2005/10/16.
64 ESTEGANOGRAFÍA
© RA-MA
de protección para llegar a detectar posibles falsicaciones (billetes, documentos
ociales), debido a la gran calidad y potencial de las impresoras láser. Sin embargo, en
muchos sectores se piensa que es un ataque a la privacidad de los usuarios, y es factible
como tecnología de control y rastreo.
Esteganografía y la piedra de la discordia
En este punto, el lector ya tiene una visión de la evolución de la historia de
la esteganografía más clásica. Mecanismos que hoy en día (con variaciones) se
podrían utilizar en ámbitos comerciales, embajadas, servicios secretos, etc. Sin
embargo, por suerte o por desgracia, después de la II Guerra Mundial la evolución de
la teoría de códigos en las matemáticas, el avance de la física, química y biología, y el
imparable crecimiento de las telecomunicaciones dieron otro enfoque a los clásicos
procedimientos de ocultación de la información, creando mecanismos de ocultación
realmente complejos. Toda una nueva gama de técnicas aparecieron, un mundo nuevo
se abrió al gran público, y es precisamente por esa gran variedad por la que tiene sentido
este libro. La esteganografía, conocida por algunos como ese conjunto de trucos para
enmascarar la información, se convertiría, y se puede armar con rotundidad, en toda
una ciencia. Aunque no por ello se perdería ese modo ingenioso de inventar canales de
comunicación caseros de lo más variados (la piedra de la discordia).
A principios del año 2006, la televisión estatal rusa difundió un vídeo sobre
la presunta actividad de espionaje de algunos miembros de la embajada británica
en Moscú. Una piedra permitiría pasar de forma desapercibida un dispositivo de
espionaje. En dicho programa, personas que armaron pertenecer al servicio secreto
ruso interceptaron una operación británica para espiar en su territorio.
Agentes británicos colocaron un aparato en una piedra falsa en una calle de
Moscú, de la que descargaban información con la ayuda de un dispositivo portátil.
Según la televisión, se encargaban de esta operación cuatro miembros de la embajada
británica y un ciudadano ruso, reclutado por el servicio secreto del Reino Unido que
fue detenido posteriormente.
El supuesto problema es que el Gobierno británico apoyaba nancieramente
proyectos de las ONG rusas, que no necesariamente seguían la doctrina marcada por el
Gobierno. Según el programa, uno de los funcionarios de la embajada involucrado en la
operación autorizó pagos regulares a organizaciones rusas no gubernamentales (ONG).
“Estamos preocupados y sorprendidos (...), rechazamos cualquier armación
de conducta indebida en nuestro trato con las ONG de Rusia”, señaló un portavoz
de la Foreign Ofce. “Es bien conocido que el Gobierno británico ha apoyado
nancieramente proyectos implementados por las ONG rusas en materia de derechos
humanos y sociedad civil”, agregó.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 65
“Toda nuestra ayuda es facilitada de manera abierta y tiene el objetivo de
apoyar el desarrollo de una saludable sociedad civil en Rusia”, puntualizó el portavoz
de Exteriores.
Al poco tiempo la prensa demostraría que los británicos mentían.
Figura 2.12. Supuesto espía británico obteniendo información de una piedra falsa
Figura 2.13. Dispositivo electrónico de espionaje camuflado en una piedra
66 ESTEGANOGRAFÍA
© RA-MA
2.3 CLASIFICACIÓN DE SISTEMAS ESTEGANOGRÁFICOS MODERNOS.
PORTADORES
Desde nales de la Guerra Fría se puede armar que el uso de la ciencia de la
esteganografía es de gran espectro, no restringiéndose a los clásicos conictos bélicos
del pasado, sino cubriendo todas las facetas que requieran ocultar una información
a un grupo de individuos. Tiene aplicación directa en: política, comunicaciones
militares, diplomacia, mecanismos de protección de propiedad intelectual, defensa
de libertades civiles, secretos industriales, intrusión en sistemas informáticos (por
ejemplo, espionaje industrial), ocultación de virus, etc. Es en esta nueva época
cuando se empieza a hablar de la ciencia de la esteganografía moderna. Esta nueva
vertiente consiste en que la seguridad de los procedimientos esteganográcos no
depende de mantener en secreto el algoritmo o la técnica de ocultación (idea basada
en los principios de Kerckhoffs), e incluso tampoco del tipo de tapadera/cubierta
utilizada. 26 La seguridad recae exclusivamente en mantener una pequeña información
secreta entre los intervinientes de la comunicación enmascarada, típicamente una
clave, o al menos eso se supone hasta que un estegoanalista demuestre lo contrario.
Obviamente, no se debe ser excesivamente elitista con esta denición. El mejor
método esteganográco es aquel que funciona (no es detectado), esté basado
en esteganografía clásica o moderna. Lógicamente una técnica esteganográca
moderna, más robusta y que supone al atacante la capacidad de emplear ataques
avanzados, debería ser mejor técnica para hacer invisibles nuestras comunicaciones.
En este sentido, en las últimas dos décadas se han publicado multitud de
investigaciones sobre esta temática y se ha intentado formalizar matemáticamente
lo más rápido posible diferentes aspectos de esta ciencia. Por ejemplo, en 1998,
Cachin C. (An Information Theoratic Model for Steganography, in Proceedings
of the Second International Workshop on Information Hiding, 1998) publicó una
destacable denición formal de la seguridad de un estegosistema, 27 donde incluso
se formalizó la idea de la seguridad perfecta, el secreto perfecto (a semejanza del
cifrado Vernam y el one-time password en criptografía), si se da la condición de que
la probabilidad de distribución de estegocubiertas en un canal y la probabilidad de
distribución de las cubiertas sean iguales. La condición es que la probabilidad de
distribución de las cubiertas no se vea alterada durante el proceso de inserción del
26 Un atacante podría conocer el mecanismo por el que nos comunicamos, por ejemplo, con imágenes
digitales en formato JPEG, y no ser capaz de diferenciar una imagen JPEG con información oculta
de una imagen JPEG sin información oculta.
27 Estegosistema: en general puede entenderse como el sistema (algoritmos) completo que permite la
ocultación/descubrimiento de información.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 67
mensaje oculto. Si esto fuera posible se podría generar un mensaje oculto que no
podría ser detectado.
En la actualidad, existen tres tendencias de diseño de sistemas
esteganográcos:
1. Estegosistemas de clave simétrica
Es el esquema de estegosistema más común, el que se utiliza en la
gran mayoría de herramientas que se analizarán a lo largo del libro.
Emisor y receptor comparten una clave secreta (estegoclave) y toda la
seguridad del sistema se aposenta en ella. Lo normal es que el algoritmo
esteganográco y el tipo de tapadera utilizados sean públicos y así un
atacante no podrá detectar ni recuperar la información enmascarada sin
la estegoclave.
De la clave del sistema, estegoclave, pueden derivarse subclaves que se
utilizan para cifrar la información a ocultar y tiene utilidad en el proceso
de ocultación. Por ejemplo, si el algoritmo esteganográco modica bits
los píxeles de una imagen de manera pseudoaleatoria, es común que
subclaves derivadas de la estegoclave primaria alimenten un generador
de números pseudoaleatorios del cual se obtienen las posiciones de los
píxeles concretos a modicar.
Figura 2.14. Esquema de esteganografía simétrica
68 ESTEGANOGRAFÍA
© RA-MA
2. Estegosistemas de clave pública
Son aquellos sistemas que requieren el uso de dos claves. Una clave pública
para el proceso de ocultación y una clave privada para obtener el mensaje
oculto. Si el lector desea profundizar en este tipo de estegosistemas se
recomienda la lectura de los siguientes artículos:
● AHN, L. y HOPPER, N.; “Public Key Steganography”, Advances in
Cryptology, Eurocrypt, 2004, págs. 323-341.
● GUILLON, P. et al.; “Security and watermarking of multimedia
contents”, conference n.º 4, San Jose CA, ETATS-UNIS (21/01/2002),
vol. 4.675, págs. 38-49. ISBN: 0-8194-4415-4.
● BACKERS, M. y CACHIN, C.; “Public key steganography with
active attacks”, Springer Berlin/Heidelberg, LNCS, vol. 3.378/2005,
págs. 210-226. ISBN: 978-3-540-24573-5.
3. Estegosistemas cuánticos
Estos sistemas aprovechan los conocimientos sobre física cuántica para
diseñar sistemas que faciliten la ocultación de información. Existen varias
formas de realizar esto, por ejemplo, aprovechándose del ruido cuántico
o de los códigos correctores de errores cuánticos. Una introducción
recomendada a estos sistemas puede verse en los siguientes artículos:
● NATORI, S.; “Why Quantum Steganography Can Be Stronger Than
Classical Steganography”, Springer Berlin/Heidelberg, vol. 102/2006,
págs. 235-240. ISBN: 978-3-540-33132-2.
● DOBŠÍ, M. et al.; “A Theoretic-framework for Quantum
Steganography”, Proceedings of Workshop 2006, CTU, vol. A, págs.
124-125. ISBN: 80-01-03439-9.
● CONTI, R. et al.; “Quantum steganography”, Patent 10/849789, 2004.
Ideas parecidas se han utilizado en las últimas décadas para establecer
comunicaciones enmascaradas utilizando diversas características de la naturaleza
(comunicaciones atmosféricas con ciertas peculiaridades, ruido ambiente, etc.).
El lector menos avezado no debe preocuparse por esta clasicación, en
general, la mayoría de las herramientas disponibles hoy en día funcionan con un
sistema simétrico. Es decir, emisor y receptor necesitarán compartir una clave para
ocultar y detectar la información oculta, y típicamente también se deberán poner de
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 69
acuerdo sobre en qué tipo de tapadera ocultan la información. Por ejemplo, en una
imagen digital como un chero con extensión JPEG, una canción en formato MP3,
etc.
En la práctica el interés concreto de un sistema esteganográco dependerá
de 3 características: capacidad (cantidad de información que puede ser ocultada),
seguridad/invisibilidad (probabilidad de detección por un estegoanalista) y robustez
(cantidad de alteraciones dañinas que el medio puede soportar antes de que se
pierda la información oculta). Considerando estas características la búsqueda de
un procedimiento concreto de ocultación en un medio puede ayudarse teniendo en
cuenta 3 grandes líneas de creación de algoritmos esteganográcos:
1. La cubierta existe y la ocultación produce alteraciones
Este mecanismo de ocultación es el más habitual en las herramientas
que el lector puede utilizar o desarrollar. En esencia, consiste en
aprovechar alguna información disponible en una cubierta concreta
que puede ser sustituida por otra sin que el receptor de la información
advierta ese cambio. Es decir, la información que “machacaremos” puede
considerarse en principio como información redundante. A lo largo del
libro se observarán múltiples ejemplos de este funcionamiento. Sin duda,
el más famoso es la ocultación de información en imágenes digitales.
Este tipo de técnicas ocultarán información modicando la codicación
de los píxeles. Los bits modicados no introducirán variaciones visuales
notables en la imagen. A efectos prácticos el receptor no conocerá la
existencia de la información oculta a no ser que disponga de la estegoclave
y sepa qué cubierta concreta contiene información enmascarada. En
ulteriores capítulos se analizarán diferentes herramientas que siguen esta
losofía.
2. Generación automática de la cubierta ocultando información en ella
Este procedimiento, quizás no tan común como el anterior, tiene como
principio intentar evitar que un emisor utilice una cubierta existente
para ocultar información y que el atacante pudiera conseguir la cubierta
original, de tal forma que comparando la cubierta original con variaciones
de esta (por ejemplo, la creada al modicar la original al ocultar
información) se facilitará la detección de la información enmascarada.
La idea es sencilla, crear una cubierta nueva para cada comunicación y en
el proceso de creación ocultar la información a enmascarar. Por ejemplo,
crear una imagen nueva con formato BMP y en el proceso de creación
ocultar datos. Como observará el lector en próximos capítulos este tipo
70 ESTEGANOGRAFÍA
© RA-MA
de técnica ha sido particularmente útil en la creación de estegotextos,
textos en lenguaje natural que ocultan información.
3. La cubierta existe y la ocultación de información no la modica
Esta tendencia sin duda es la más particular de todas siendo poco
común en las herramientas que el lector conocerá. Tradicionalmente el
mecanismo favorito para implementar esta tendencia es la reordenación
de elementos. Imagine el siguiente ejemplo: un emisor y un receptor
desean intercambiar con esteganografía una clave, para ello disponen
de 32 imágenes (con 32 nombres de chero diferentes). La información
a transmitir se basa en el orden en el que se envíen las imágenes, por
ejemplo, en el orden imagen1, imagen7, imagen5, imagen4, imagen3,
imagen2, imagen6, etc. Si recuerda sus años de estudiante, las
matemáticas le indicarán que existen ¡32! (2,631308369336935301672
1801216e+35) combinaciones posibles con las que enviar las imágenes,
por tanto, podrá ocultar jugando con el orden de envío log 2(¡32!) =
117 bits. Información que podría utilizarse como una clave o semilla
criptográca. En la práctica, la seguridad de este tipo de propuestas recae
en mantener en secreto el procedimiento de ocultación y sinceramente
no parecen nada prácticas para el envío de cantidades razonables de
información (como poco miles de bits). Hoy en día, como verá el lector
en el capítulo dedicado a esteganografía en protocolos de comunicación,
su uso suele estar restringido a procedimientos de ocultación en el envío
de paquetes de información utilizando protocolos de comunicación, con
la denominada network steganography.
Independientemente de todo esto, el lector debe tener muy en cuenta un par
de los elementos más críticos en la ocultación de información: la tapadera/cubierta
utilizada y el medio de transmisión por donde enviar la información (limitarán las
capacidades de las técnicas esteganográcas y las capacidades de detección del
estegoanalista). En los próximos capítulos se profundizará con herramientas reales
en multitud de tapaderas diversas con propósitos dispares para la ocultación de datos
en sistemas informáticos actuales. Del mismo modo, razonaremos el interés de
utilizar tapaderas (estegomedio) de uso común (por ejemplo, formatos de imágenes
digitales habituales en Internet) para dicultar la tarea del estegoanalista de “separar
el grano de la paja”, es decir, de recolectar el mayor número posible de muestras
de ese estegomedio concreto y estegoanalizar todas esas muestras en busca de
información oculta.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 71
2.4 TÉCNICAS ESTEGANOGRÁFICAS EN LA ACTUALIDAD
La irrupción de las telecomunicaciones y la informática ha decantado los
procedimientos esteganográcos modernos hacia canales y formatos digitales.
Así, en los últimos años se han publicado propuestas de ocultación de información
utilizando imágenes, audio y vídeo digitales, tecnologías web como cabeceras http
o cookies, utilización de la redundancia de las instrucciones máquina en cheros
ejecutables, lenguajes de marcado web como HTML-XML (ocultación basada en
caracteres invisibles, modicación de los caracteres de las etiquetas alternando
mayúsculas y minúsculas al ser estas insensitive y ocultación basada en el orden de
los atributos de una etiqueta), utilización esteganográca de diferentes protocolos
de comunicación (SOAP, HTTP, TCP, UDP, IPv4, IPv6, DHCP, ICMP, IPSEC,
IGMP, FTP, DNS, 802.2, 802.3, redes inalámbricas, “accesorios” de mails, etc.) para
establecer canales encubiertos (network steganography) para saltarse protecciones
corporativas como, por ejemplo, cortafuegos (típicamente utilizando campos
reservados, campos redundantes o el reordenamiento de paquetes), ocultación de
información en sistemas de cheros y soportes de almacenamiento, malware oculto
en hardware y puertas traseras en microchips, etc. Una lista amplia de herramientas
y técnicas esteganográcas que desgranaremos en los siguientes capítulos.
A pesar de todo esto, no piense el lector que la esteganografía moderna, más
matemática y cuadriculada, ha desplazado completamente a la esteganografía más
ingeniosa. Esta es una de sus grandes cualidades y el motivo por el cual es tan esquiva
de detectar: puede presentarse en cualquier sitio donde el ingenio humano encuentre
la posibilidad de ocultar información. Para concluir este capítulo le dejo con un par de
eventos signicativos que le harán meditar seguro sobre el potencial de esta ciencia.
2.4.1 El caso DeCSS. Anulando el sistema de protección de los DVD
En octubre de 1999 el grupo de hackers denominado MoRE (Masters of Reverse
Engeneering) publicó en Internet el código fuente del programa DeCSS 28 (Decoder
Content Scramblins System), un software que anulaba el sistema de protección de los
DVD y facilitaba su reproducción, inicialmente, en sistemas GNU/Linux. Poco después,
la industria llevó a juicio al único miembro del grupo con identidad conocida.
El joven noruego Jon Johansen (de 15 años) fue acusado de robo de datos y del
desarrollo de software que facilitaría la piratería al ir en contra de las leyes de propiedad
intelectual. Al mismo tiempo, la MPAA (Motion Picture Association of America)
empezó a demandar a todo aquel sitio web que almacenara o enlazara a una copia de
dicho programa. Como forma de protesta contra el juicio al joven Jon Johansen, y
28 https://en.wikipedia.org/wiki/DeCSS.
72 ESTEGANOGRAFÍA
© RA-MA
para evidenciar las contradicciones de la legislación que prohibía la publicación del
programa DeCSS, se propuso representar el código fuente del programa ilegal bajo una
forma completamente legal. Se pensó en convertir la información binaria del programa
en un número, concretamente en un número primo. La ventaja fundamental de esta
elección fue la distribución (la facilidad para llegar a un mayor número de personas),
especialmente si se conseguía un primo de gran tamaño. Esta idea era magníca ya que
no existía jurisprudencia para prohibir la publicación de un número primo, 29 aunque en
la práctica se hizo todo lo posible para dicultar su difusión.
En cualquier caso, Phil Carmody generó en marzo de 2001 varios números
candidatos a número primo cuya representación binaria corresponde a una versión
comprimida (algoritmo gzip) del programa fuente DeCSS escrito en lenguaje de
programación C. Varios candidatos fueron identicados como “primos probables”, y
nalmente uno de ellos resultó ser primo, con la ventaja de ser el décimo primo más
grande conocido, un número de 1.401 dígitos. Este número podría ser distribuido y
decodicado mediante programas especiales. 30
4
8565078965 7397829309 8418946942 8613770744 2087351357 9240196520 7366869851
3401047237 4469687974 3992611751 0973777701 0274475280 4905883138 4037549709
9879096539 5522701171 2157025974 6669932402 2683459661 9606034851 7424977358
4685188556 7457025712 5474999648 2194184655 7100841190 8625971694 7970799152
0048667099 7592359606 1320725973 7979936188 6063169144 7358830024 5336972781
8139147979 5551339994 9394882899 8469178361 0018259789 0103160196 1835034344
8956870538 4520853804 5842415654 8248893338 0474758711 2833959896 8522325446
0840897111 9771276941 2079586244 0547161321 0050064598 2017696177 1809478113
6220027234 4827224932 3259547234 6880029277 7649790614 8129840428 3457201463
4896854716 9082354737 8356619721 8622496943 1622716663 9390554302 4156473292
4855248991 2257394665 4862714048 2117138124 3882177176 0298412552 4464744505
5834628144 8833563190 2725319590 4392838737 6407391689 1257924055 0156208897
8716337599 9107887084 9081590975 4801928576 8451988596 3053238234 9055809203
2999603234 4711407760 1984716353 1161713078 5760848622 3637028357 0104961259
5681846785 9653331007 7017991614 6744725492 7283348691 6000647585 9174627812
1269007351 8309241530 1063028932 9566584366 2000800476 7789679843 8209079761
9859493646 3093805863 3672146969 5975027968 7712057249 9666698056 1453382074
1203159337 7030994915 2746918356 5937621022 2006812679 8273445760 9380203044
7912277498 0917955938 3871210005 8876668925 8448700470 7725524970 6044465212
7130404321 1826101035 9118647666 2963858495 0874484973 7347686142 0880529443
Figura 2.15. Primo ilegal de 1.401 dígitos
29 https://en.wikipedia.org/wiki/Illegal_prime.
30 http://www.cs.cmu.edu/~dst/DeCSS/Gallery/Stego/mccarthy-prime-decoder.txt.
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 73
Después de esta experiencia, Phil Carmody creó también otro primo de 1.811
dígitos, el cual corresponde a un programa ejecutable, escrito en código máquina que
implementa la misma funcionalidad que el anterior.
49310 83597 02850 19002 75777 67239 07649 57284 90777 21502 08632 08075 01840
97926 27885 09765 88645 57802 01366 00732 86795 44734 11283 17353 67831 20155
75359 81978 54505 48115 71939 34587 73300 38009 93261 95058 76452 50238 20408
11018 98850 42615 17657 99417 04250 88903 70291 19015 87003 04794 32826 07382
14695 41570 33022 79875 57681 89560 16240 30064 11151 69008 72879 83819 42582
71674 56477 48166 84347 92846 45809 29131 53186 00700 10043 35318 93631 93439
12948 60445 03709 91980 04770 94629 21558 18071 11691 53031 87628 84778 78354
15759 32891 09329 54473 50881 88246 54950 60005 01900 62747 05305 38116 42782
94267 47485 34965 25745 36815 11706 55028 19055 52656 22135 31463 10421 00866
28679 71144 46706 36692 19825 86158 11125 15556 50481 34207 68673 23407 65505
48591 08269 56266 69306 62367 99702 10481 23965 62518 00681 83236 53959 34839
56753 57557 53246 19023 48106 47009 87753 02795 61868 92925 38069 33052 04238
14996 99454 56945 77413 83356 89906 00587 08321 81270 48611 33682 02651 59051
66351 87402 90181 97693 93767 78529 28722 10955 04129 25792 57381 86605 84501
50552 50274 99477 18831 29310 45769 80909 15304 61335 94190 30258 81320 59322
77444 38525 50466 77902 45186 97062 62778 88919 79580 42306 57506 15669 83469
56177 97879 65920 16440 51939 96071 69811 12615 19561 02762 83233 98257 91423
32172 69614 43744 38105 64855 29348 87634 92103 09887 02878 74532 33132 53212
26786 33283 70279 25099 74996 94887 75936 91591 76445 88032 71838 47402 35933
02037 48885 06755 70658 79194 61134 19323 07814 85443 64543 75113 20709 86063
90746 41756 41216 35042 38800 29678 08558 67037 03875 09410 76982 11837 65499
20520 43682 55854 64228 85024 29963 32268 53691 24648 55000 75591 66402 47292
40716 45072 53196 74499 95294 48434 74190 21077 29606 82055 81309 23626 83798
79519 66199 79828 55258 87161 09613 65617 80745 66159 24886 60889 81645 68541
72136 29208 46656 27913 14784 66791 55096 51543 10113 53858 62081 96875 83688
35955 77893 91454 53935 68199 60988 08540 47659 07358 97289 89834 25047 12891
84162 65878 96821 85380 87956 27903 99786 29449 39760 54675 34821 25675 01215
17082 73710 76462 70712 46753 21024 83678 15940 00875 05452 54353 7
Figura 2.16. Primer número primo ejecutable ilegal
El caso de DeCSS sin duda es uno de los ejemplos más claros de como
la imaginación puede evitar y saltar cualquier ley o grupo de presión convirtiendo
un “programa ilegal” en contenido legal: 31 números primos, camisetas, código de
barras, poemas, etc.
31 https://www.cs.cmu.edu/~dst/DeCSS/Gallery/Stego/.
74 ESTEGANOGRAFÍA
© RA-MA
Figura 2.17. Camiseta con código DeCSS
2.4.2 Negación plausible y chaffing and winnowing. Confidencialidad sin
cifrado
En Internet pueden encontrarse diferentes deniciones de lo que es la negación
plausible. En esencia, es una condición/procedimiento por el cual una persona puede,
con gran grado de credibilidad, negar el conocimiento de cualquier verdad particular
que pueda existir, porque dicha persona es “deliberadamente” inconsciente de la
verdad, para beneciarla o para blindarla de cualquier responsabilidad asociada
con el conocimiento de tal verdad. Históricamente ha sido una doctrina política que
facilita la creación de estructuras de poder y cadenas de mando lo sucientemente
informales como para, de ser necesario, negar su existencia. Es precisamente esta
idea la que en un mundo telemático/informático orientado a la seguridad informática
permitiría hacer “cosas ilegales” respetando las leyes. Se entenderá esta armación
fácilmente con la técnica de chafng and winnowing.
Chaffing and winnowing
La década de los 90 (siglo XX) fue un período de lo más interesante en la
defensa de libertades civiles centradas en la condencialidad de las comunicaciones.
Una época donde los gobiernos intentaron de todas las maneras posibles limitar el uso
de la criptografía en un entorno civil, intentando, en el caso extremo de la sociedad
norteamericana, que la ciudadanía utilizara dispositivos con chips diseñados por la
© RA-MA
Capítulo 2. OCULTACIÓN DE INFORMACIÓN EN COMUNICACIONES DIGITALES 75
Agencia de Seguridad Norteamericana (clipper chip) que teóricamente pudieran
proporcionar condencialidad pero visible para el Gobierno. Lógicamente esto
solo funcionaría si la ciudadanía no tenía acceso a otras tecnologías criptográcas.
Años más tarde, esta iniciativa fracasó estrepitosamente, propuestas como PGP 32 y
PGPfone contribuyeron sin duda a este éxito. Es precisamente en ese marco histórico
donde se engloba una propuesta interesante conocida como chafng and winnowing.
En 1998, el criptógrafo Ronald L. Rivest (uno de los creadores del algoritmo
RSA) propuso una técnica criptográca que permite condencialidad en un canal
inseguro sin usar cifrado (evitando así las leyes de exportaciones de algoritmos
criptográcos); esta técnica, denominada chafng and winnowing, puede ser
considerada como una forma intermedia entre criptografía y esteganografía. En su
funcionamiento básico, un emisor envía varios mensajes a un receptor. Cada uno
de los mensajes debe estar en claro (se respetan así las legislaciones nacionales que
aunque permitían la exportación de software de rmas digitales sin restricciones,
sí limitaban los algoritmos con capacidad de cifrado) pero adicionalmente se les
añade una información extra: un número de serie (para facilitar la recuperación
de la información y la detección de errores) y una información de autenticación,
concretamente un código de autenticación o MAC (Message Authentication Code).
Emisor y receptor comparten una clave secreta de autenticación que facilitará la
creación de dichos MAC. Para un mensaje válido, el emisor le añadirá al mensaje
un número de serie y un código de autenticación MAC, calculado como resultado
de aplicar todo el contenido anterior a un algoritmo generador MAC (por ejemplo,
HMAC-SHA1) usando para ello la clave secreta de autenticación.
Por cada mensaje real, se produce otro de pega (en terminología inglesa
chaff) con números de serie razonables y un código de autenticación no válido para la
clave empleada. La condencialidad en esta propuesta no está basada en la dicultad
de romper un esquema de cifrado, sino en la dicultad del atacante en diferenciar
los mensajes reales de los falsos. En recepción, se recalcula el MAC del paquete
utilizando el número de serie y el mensaje recibido, para ello se introduce esta
información en un algoritmo generador (por ejemplo, HMAC-SHA1) y se utiliza la
clave secreta de autenticación. Si el MAC calculado coincide con el recibido, quiere
decir que ese es el mensaje correcto, si no el mensaje se descarta. Este proceso es
denominado winnowing.
32 Pretty Good Privacy o PGP es un software desarrollado por Phil Zimmermann y cuya nalidad
es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a rmas digitales. https://
es.wikipedia.org/wiki/Pretty_Good_Privacy.
76 ESTEGANOGRAFÍA
© RA-MA
Independientemente de otros ataques, un “censor” no puede saber qué MAC
es correcto o cuál no (negación plausible), porque desconoce la clave utilizada para
calcularlos, luego aparentemente todos son válidos. De esta forma tan sencilla, se
cumplía y evitaba la ley.
3
OCULTACIÓN DE INFORMACIÓN EN
IMÁGENES DIGITALES
Guía: ... le apuesto a que no sabe por qué las cebras tienen rayas.
Kevin Ashton: por supuesto que lo sé.
Es un mecanismo de camuaje.
Guía: muy bien. Cebra. Rayas negras y blancas. África.
¿Ve algo blanco y negro por aquí?
La razón por la que la cebra tiene rayas es para que cuando todas
huyan en una manada, sea absolutamente imposible para el depredador
mantener el ojo puesto solo en una de ellas. Así que las rayas de la cebra
en realidad son una defensa contra la identicación.
Katherine Albrecht, Liz McIntyre, Sky Chips
3.1 PRINCIPIOS DE LA OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES.
LO QUE EL OJO NO VE
El crecimiento imparable de la potencia de los ordenadores y la evolución de
los dispositivos tecnológicos ha permitido aplicar teorías matemáticas y algoritmos
de tratamiento digital de la señal a una gran cantidad de medios interesantes para el
campo de la esteganografía. La automatización de estos procesos, hasta entonces
bastante tediosos o poco prácticos, es de gran utilidad para ocultar información en
un conjunto amplio de estegomedios, especialmente en medios contenedores de
información multimedia, típicamente, imágenes, audio y vídeo.
78 ESTEGANOGRAFÍA
© RA-MA
La sociedad actual reclama tecnologías y contenidos multimedia, y cada
vez más nuestra vida depende de ellos. Por tanto, si los contenidos multimedia son
tan abundantes y existe una enorme cantidad de ellos, ¿por qué no utilizarlos para
ocultar información de forma enmascarada?
El ejemplo más signicativo es la ocultación de información en imágenes
digitales. Las imágenes digitales son el estegomedio más utilizado para ocultar
información. Existen múltiples motivos para ello, entre los más interesantes destaca la
posibilidad de ocultar grandes volúmenes de información (en los próximos apartados
se verá en qué condiciones) y una “supuesta” invisibilidad, un estegoanalista no
podría detectar esa información enmascarada (en próximos apartados se verá en qué
condiciones).
En las últimas décadas se han documentado multitud de procedimientos
esteganográcos en imágenes digitales para formatos grácos diversos. En estas
técnicas se utilizan desde procedimientos informáticos triviales a complejos cálculos
matemáticos basados, por ejemplo, en la transformada de Fourier 33 o Wavelet. 34
Tal es así, que es común que en la literatura sobre estas técnicas ciertos autores
agrupen las técnicas en dos grandes grupos basados en técnicas matemáticas en el
dominio del estegomedio o en el dominio transformado. Por un lado, las técnicas
matemáticas basadas en el dominio del estegomedio consisten en la sustitución
directa de la información almacenada en un estegomedio, en nuestro caso en ciertos
cheros grácos; en lengua inglesa se suele hablar de herramientas bitplane tools o
noise insertion tools. Una técnica clásica de este tipo es la sustitución del bit menos
signicativo de la codicación de los píxeles almacenados en un chero gráco
o la modicación de formatos grácos que representan su información mediante
paleta de colores. Por otro lado, las técnicas basadas en un dominio transformado
del estegomedio se caracterizan porque se aprovechan de la utilización de diversos
algoritmos matemáticos, más o menos complejos, para transformar/procesar el
estegomedio elegido. El aprovechamiento de los diferentes algoritmos matemáticos
utilizados permite crear procedimientos esteganográcos más robustos y difíciles
de detectar. Por ejemplo, la utilización de los coecientes generados al procesar una
imagen digital con la transformada discreta del coseno (DCT) o la transformada
Wavelet. En próximos apartados se estudiará algún ejemplo de ellos en detalle.
Todas estas particularidades han hecho de las imágenes digitales el
estegomedio más utilizado a día de hoy y es uno de los motivos por los cuales se
dedica un espacio importante del libro a este estegomedio. Hoy en día, es común
33 https://es.wikipedia.org/wiki/Transformada_de_Fourier.
34 https://es.wikipedia.org/wiki/Ond%C3%ADcula.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 79
encontrarse esteganografía en imágenes digitales en entornos tan variados como
la protección de software, la protección de derechos de autor y marcas de agua,
su utilización para robar información en redes corporativas mediante canales
encubiertos, para la ocultación de malware, privacidad de las comunicaciones, etc.
Casi cualquier formato gráco permite algún procedimiento, más o menos
robusto, para enmascarar información. La mayoría de ellos se basan en la forma en
la que están codicados los píxeles de la imagen digital, ya sea directamente, como
sucede en el formato BMP o similares, o en formatos comprimidos como pueden ser
JPEG o GIF. En los siguientes apartados se va a destacar algunas de las técnicas más
difundidas y utilizadas en algunas de las herramientas más famosas para que el lector
experimente con este tipo de esteganografía. El lector descubrirá como la mayoría
de las técnicas esteganográcas intentan responder a dos preguntas básicas: ¿cómo
ocultar la información? y ¿dónde ocultar la información? De la primera pregunta ya
conocemos la respuesta, la ocultación (al menos con técnicas robustas) utilizará la
codicación de los píxeles de algún modo. La respuesta a la segunda pregunta es algo
más compleja, como se irá analizando, y tiene que ver con la invisibilidad deseada
para la información oculta y la cantidad de información a ocultar. Las técnicas de
ocultación publicadas más robustas analizan las diferentes partes de una imagen
digital para descubrir qué zonas son las más seguras para enmascarar información
sin levantar sospechas. Veamos todo esto paso a paso.
3.2 TÉCNICAS DE SUSTITUCIÓN LSB (LEAST SIGNIFICANT BIT) REPLACEMENT/
MATCHING
3.2.1 Ocultación de información en el bit menos significativo. Herramientas y
ejemplos
En las últimas décadas se han publicado multitud de técnicas para ocultar
información en imágenes digitales. 35 La técnica LSB (Least Signicant Bit) es el
mecanismo de ocultación más clásico utilizado en esteganografía con un grado
de seguridad adecuado, si se tienen en consideración una serie de factores que se
describirán en el último apartado de este capítulo. Su utilización es muy común, debido
35 Técnicas triviales basadas en la ocultación de información en las cabeceras de los formatos grácos o añadiendo información al nal del chero (técnica EoF) han sido muy socorridas como
técnicas de ocultación de fácil uso.
80 ESTEGANOGRAFÍA
© RA-MA
a su facilidad de aplicación, permitiendo ocultar grandes cantidades de información
con un pequeño impacto sobre el portador de la información, el estegomedio.
Para entender cómo funciona la técnica LSB es importante entender que
una imagen digital se construye en base a una serie de unidades de tamaño mínimo,
denominadas píxeles, que tienen unos determinados valores que reejan los
diferentes colores visibles para una imagen concreta. Dependiendo de la resolución
de la imagen y de la codicación empleada para un formato gráco concreto, los
píxeles se representarán con 1 o más octetos en dicho formato. Es habitual encontrarse
cheros grácos con diferentes codicaciones (resoluciones), típicamente 8, 16, 24
o 32 bits. Por ejemplo, una imagen BMP con una resolución de 24 bits por cada
píxel se representa con 3 octetos (8 bits x 3 = 24 bits). Si estos octetos representan un
modelo de color RGB (Red, Green, Blue), cada octeto, respectivamente, almacenará
información sobre el nivel de rojo, verde y azul que está presente en cada píxel. En
última instancia, esta información permite obtener el color real de dicho píxel. El
valor concreto que puede tomar cada octeto representa la intensidad de dicho color.
Este valor oscila desde el valor 0 (el nivel más oscuro) a 255 (el nivel más luminoso).
Por ejemplo, un píxel representado con los siguientes 3 octetos: 11111111 (rojo),
00000000 (verde) y 00000000 (azul) da como resultado un píxel de color rojo.
Siendo estrictos, la técnica LSB aplicada a imágenes es un procedimiento
de sustitución que permite modicar el bit menos signicativo de la codicación de
cada píxel de una imagen por el bit del mensaje a ocultar. La elección de los píxeles a
utilizar dependerá de la variante de la técnica LSB empleada. Las más utilizadas son:
Figura 3.1. Cubo de color RGB (Efford, 2000)
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 81
1. Técnica esteganográca basada en LSB secuencial
Se realiza una sustitución de forma secuencial de los bits en la
codicación de los píxeles de una imagen, ya sea partiendo de una
posición ja en el chero gráco o de una posición que se calcula a partir
de una información externa a modo de clave de usuario. La ocultación
de información utilizando una técnica LSB secuencial es trivial y puede
realizarse utilizando diferentes tipos de variantes, tradicionalmente LSBreplacement o LSB-matching. 36
Figura 3.2. Técnica de ocultación LSB-replacement en el bit menos significativo de un píxel
Por ejemplo, una vez conocidos los píxeles disponibles y su codicación
en binario se puede aplicar una técnica de inserción LSB-replacement 37
basada en extraer el bit menos signicativo (el de más a la derecha) de
cada píxel y compararlo, bit a bit, con el mensaje a ocultar, previamente
transformado en binario. Si se detecta una diferencia el bit menos
signicativo de ese píxel se modica. Si es un bit 0 se convierte a un bit
1 y si es un bit 1 a un bit 0.
36 La técnica LSB-matching o esteganografía ±1, en general esteganografía ±k, se presenta como un
procedimiento más difícil de detectar, en la práctica, que las técnicas basadas en LSB-replacement.
Esta técnica inserta un bit de información oculta sumando o restando 1 al valor del píxel (cuando el
valor del píxel es 0 solo podemos sumar, cuando es 255 solo restar). Este tipo de inserción se comporta como el ruido natural de las imágenes y se ha demostrado más robusto que técnicas basadas
en LSB-replacement.
37 Es la técnica esteganográca más común que se puede encontrar en las herramientas disponibles
en Internet. Esta técnica es, en general, menos “invisible” que las basadas en LSB-matching.
82 ESTEGANOGRAFÍA
© RA-MA
2. Técnica esteganográca basada en LSB pseudoaleatoria
Este mecanismo se suele implementar, en la práctica, utilizando
generadores pseudoaleatorios de números (PRNG) que al aplicar una
semilla (una información externa, por ejemplo, una clave de un usuario)
genera números que se pueden utilizar para ir eligiendo qué píxel de la
imagen ocultará la información. Se pueden utilizar las mismas técnicas y
procedimientos que en el caso de LSB secuencial.
3. Técnica esteganográca LSB basada en función de selección
La selección de los píxeles, individual o en grupo, se puede realizar en
función de diversos criterios de selección denidos por el creador de
la técnica. Un ejemplo común consistiría en dividir una imagen en un
conjunto de imágenes disjuntas (partirla en bloques) y aplicar a cada
una de ellas el procedimiento elegido. Esta idea es muy interesante para
procedimientos más robustos, ya que no todas las regiones de píxeles son
igual de interesantes desde el punto de vista esteganográco. Una técnica
de ocultación sencilla, basada en dividir una imagen en partes, consiste
en considerar una imagen como un conjunto de regiones donde es posible
almacenar un bit de información en una región entera, en lugar de ir píxel
a píxel. Este procedimiento consistiría en:
● Calculamos el bit de paridad de una región, calculando para ello el bit
de paridad de cada píxel que interviene en la región.
● Si el bit de paridad de la región es igual al bit del mensaje a ocultar
no se hace nada. Si el bit de paridad es diferente al bit del mensaje a
ocultar se modica el LSB de un píxel de la región.
● La recuperación del mensaje consiste en calcular simplemente los bits
de paridad de cada región.
Lógicamente uno de los factores importantes de la seguridad de esta técnica
depende de la elección de cada región. Una de las formas documentadas consiste
en seleccionar los píxeles de una imagen, que formarán una región concreta, de
forma pseudoaleatoria, a partir de una clave de usuario que se usa como semilla. Esto
impediría, en primera instancia, que un atacante pudiera predecir el orden en el cual
debe computar las regiones.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 83
El lector debe considerar que, aunque en principio esta variante no es mucho
más robusta que una simple sustitución de un bit de un píxel, puede aportar ciertas
ventajas adicionales. La selección de regiones donde las modicaciones alteren
en menor medida las propiedades de la imagen puede complicar la detección de
alteraciones por parte de un analista basándose en la búsqueda de patrones estadísticos
comunes en el estegomedio. La aplicación de esta técnica o variantes dependerá
del grado de seguridad que se desee obtener en contraposición a la capacidad de
almacenamiento de información oculta que se quiera conseguir. En primera instancia,
con una mentalidad clásica, a menor número de píxeles modicados menor será la
probabilidad de detectar la presencia de información oculta pero, a su vez, también
será menor la información que será posible ocultar.
Desde un punto de vista teórico, y olvidando de momento cómo se
seleccionan los píxeles a modicar, es importante destacar los factores en los que
basa su seguridad la técnica LSB:
1. La modicación de bits en los píxeles de una imagen no aporta
información adicional a un estegoanalista
Durante mucho tiempo se pensó que los valores presentes en los bits
menos signicativos de la codicación de los píxeles de una imagen
tenían un comportamiento más o menos aleatorio y, por tanto, podían ser
reemplazados, con la información a ocultar, sin proporcionar ningún tipo
de pista a un potencial analista sobre la manipulación de la imagen. Más
tarde se demostraría que esto no es cierto como se verá en el apartado de
estegoanálisis.
2. La modicación esteganográca de imágenes se apoya en la
incapacidad del ojo humano de percibir cambios muy pequeños en
una imagen
El sistema visual humano es posiblemente uno de los dispositivos
biológicos más complejos que existen en la naturaleza. A pesar de ello,
y como sucede con el resto de sentidos humanos, es posible engañarlo.
Por ejemplo, la modicación de los colores de una imagen en una región
donde hay presente gran variedad de colores es menos apreciable que si
se modica el color de ciertos píxeles en regiones uniformes con uno o
pocos colores. Otro ejemplo es como el ojo humano es muy sensitivo a
modicaciones en los bordes de una imagen (en el contorno). Esto implica,
en general, que para los procedimientos esteganográcos en imágenes,
no será lo mismo ocultar información en unas zonas que en otras de
una imagen. Este conocimiento lo tienen en cuenta procedimientos más
robustos basados, por ejemplo, en marcas de agua.
84 ESTEGANOGRAFÍA
© RA-MA
La modicación de los bits de la codicación de un píxel, como el lector
habrá deducido a estas alturas, altera nalmente la información de color a la
que hace referencia. Especialmente, es de interés el bit menos signicativo de
la información que representa cada píxel, esto es así porque el valor de dicho
bit tiene, en principio, poca inuencia en el valor del color del píxel, y su
modicación introduce poco “ruido” en la imagen nal (modicación no apreciable
visualmente). En realidad, es posible utilizar cualquiera de los bits (uno o más)
que representan la codicación de un píxel para ocultar información, 38 lo cual
depende del grado de seguridad que se quiera obtener. Dependiendo de los bits de
cada píxel que se utilicen, los cambios visuales serán más abruptos y apreciables
para un analista. Los cambios en los bits de mayor peso producen cambios más
notorios al modicar más información sobre el valor real del color del píxel. Es
decir, la modicación de ciertos bits puede cambiar completamente el color de un
píxel y producir cambios notorios visualmente.
Aunque hoy en día la aplicación directa de técnicas LSB está muy cuestionada,
es cierto que la mayoría de las herramientas esteganográcas, comerciales y de
libre disposición, hacen uso de ellas para ocultación de información, sobre todo,
en imágenes y audio. Este uso masivo se debe fundamentalmente a dos cuestiones
prácticas.
1. Son técnicas que permiten ocultar grandes cantidades de información.
Como mínimo 1 bit por cada píxel de la imagen, en la práctica, menos si
se consideran los ataques estegoanalíticos.
2. Facilidad de implementación. La programación de este tipo de técnicas
es realmente sencilla, lo que ha facilitado su difusión. Existen, por
ejemplo, muchas herramientas esteganográcas disponibles en Internet
que permiten aplicar estas técnicas a cheros grácos con formato BMP
(con resoluciones de 8, 16 y 24 bits), cheros grácos con formato GIF,
cheros de audio WAV, etc.
38 Un buen ejemplo serían las técnicas esteganográcas BPCS (Bit-Plane Segmentation Steganography). https://en.wikipedia.org/wiki/BPCS-Steganography.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 85
Figura 3.3. Impacto visual al modificar de más a menos los 6 bits más significativos de los píxeles de
una imagen. De izquierda a derecha y de arriba abajo
Tal es la facilidad para implementar ocultación con esteganografía que el
lector puede encontrar con facilidad unas cuantas decenas de aplicaciones con estos
principios.
3.2.1.1 OCULTANDO CON DIGITAL INVISIBLE INK TOOLKIT. CASO DE USO
Internet es un medio ideal para encontrar multitud de herramientas
esteganográcas. El investigador Neil F. Johnson recoge un buen número de ellas, más
de 100 aplicaciones, por si está interesado en experimentar con estas herramientas. 39
En este apartado se va a ver rápidamente cómo utilizar una de ellas. En
concreto, la herramienta multiplataforma Digital Invisible Ink Toolkit, 40 que incluye
diversas técnicas esteganográcas y una serie de ataques estadísticos para comprobar
cómo de segura está ocultada una información en una estegoimagen concreta. Esta
herramienta es una de las más completas para experimentar con técnicas LSB; no
es común encontrarse ataques estadísticos incluidos en la propia herramienta de
ocultación, lo cual es sin duda algo muy interesante.
39 Steganography Software. http://www.jjtc.com/Steganography/tools.html.
40 http://diit.sourceforge.net/.
86 ESTEGANOGRAFÍA
© RA-MA
Desde un punto de vista práctico, su uso es muy sencillo. Solo es necesario
descargar la aplicación de su página web 3 y hacer doble clic en el chero diit-1.5.jar
para poder interactuar con la aplicación en modo gráco.
Mediante diversas pestañas se puede seleccionar la opción de ocultar
(pestaña Encode) y desvelar una información enmascarada en un chero BMP
(pestaña Decode). Es posible seleccionar diversos algoritmos de ocultación, entre
ellos una técnica LSB secuencial y pseudoaleatoria. Adicionalmente, para cada
técnica de ocultación la herramienta permite seleccionar cuántos bits y cuáles
por píxel se desea modicar. Una vez creada la estegoimagen con la información
oculta es posible realizar una serie de análisis para analizar cómo de invisible es la
información enmascarada. En la pestaña Analysis se pueden elegir diversos ataques,
entre ellos, como se describirá posteriormente, los ataques RS y Sample Pairs.
Figura 3.4. Ocultación de información con la herramienta DIIT
Figura 3.5. Selección de los bits a modificar en cada píxel utilizando la herramienta DIIT
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 87
Figura 3.6. Recuperación de información oculta con la herramienta DIIT
Figura 3.7. Ataques estegoanalíticos utilizando la herramienta DIIT
88 ESTEGANOGRAFÍA
© RA-MA
Figura 3.8. Resultados del ataque RS utilizando la herramienta DIIT
3.2.1.2 PROGRAMANDO TU PROPIA HERRAMIENTA DE OCULTACIÓN. MALOS
USOS DE LA TÉCNICA DE SUSTITUCIÓN LSB
El lector, una vez haya leído este libro tendrá una serie de nociones de qué
propiedades debería tener una buena herramienta esteganográca y qué técnicas
de ocultación y bajo qué condiciones debería ser utilizada. Este conocimiento le
permitirá construir sus propias herramientas esteganográcas. En función del
lenguaje de programación en el cual se sienta más cómodo programando (Java, 41 , 42
Python, 43 etc.), y en el caso particular de esteganografía en imágenes digitales, existen
múltiples librerías que le facilitarán el trabajo de acceder a bajo nivel en los cheros
grácos más comunes (BMP, GIF, JPEG, PNG, 44 etc.) e interactuar con los píxeles.
En el peor de los casos, siempre podrá interpretar directamente el formato concreto
de una imagen digital siguiendo esquemas parecidos a los reejados en el Anexo C.
Independientemente de la forma en que implemente sus propias soluciones muchas
precauciones deben ser tenidas en cuenta, no vaya a ser que implemente técnicas
41 Java Advanced Imaging (JAI). http://www.oracle.com/technetwork/articles/javaee/jai-142803.html.
42 Javax.ImageIO. https://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html.
43 Scikit-Image. http://scikit-image.org/.
44 http://www.codeproject.com/Articles/581298/PNG-Image-Steganography-with-libpng.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 89
esteganográcas más o menos seguras de manera inapropiada. Por ejemplo, en
Internet existen multitud de herramientas que aparentemente confían su seguridad en
la utilización de una técnica LSB concreta. En ciertos casos, por desgracia, la seguridad
de una herramienta esteganográca concreta puede ser vulnerada sin necesidad de
utilizar complejos ataques estadísticos por una inadecuada implementación. Análisis
básicos basados en prueba-error destacarán los fallos de diseño en algunas de las
herramientas más famosas en Internet.
El caso de la herramienta InThePicture v2.2 45
La herramienta InThePicture (versión 2.2) permite ocultar información en
cheros con formato gráco BMP de 24 bits (es decir, 3 octetos para cada píxel
RGB) utilizando la técnica de ocultación LSB de una forma secuencial, ocultando 2
bits de información por cada 2 bits menos signicativos de cada octeto.
Cualquier información ocultada con esta herramienta deja un patrón
“traceable”, para ello solo basta comprobar una marca ja de la siguiente manera:
1. Posición inicial de lectura dentro del chero 36H (esta es la posición
dentro del formato BMP donde acaba la cabecera del chero y comienza
la zona de datos o de valores de los píxeles, si el chero no tiene paleta
de colores).
2. Se leen 32 octetos. De cada octeto se extraen los 2 bits menos signicativos.
3. De la operación anterior obtenemos 64 bits, es decir, 8 octetos. Estos se
forman de izquierda a derecha, es decir, dentro de cada octeto los primeros
bits que se leen son los de mayor peso y los últimos los de menor.
4. Estos 8 octetos tienen que coincidir con la marca que deja el programa en
hexadecimal: “C8 D4 EA 35 DF E2 83 5F”.
Si se detecta esta marca se puede razonar, con alta probabilidad, que existe
información oculta mediante la herramienta InThePicture en el estegochero BMP
sospechoso. Esta herramienta sirve de ejemplo para comprender como técnicas más
o menos complejas que requerirían algoritmos más complejos de detección pueden
ser incorrectamente implementadas, dejando rasgos distintivos que simpliquen
enormemente su detección.
45 http://www.intar.com/ITP/itpinfo.htm.
90 ESTEGANOGRAFÍA
© RA-MA
El caso de la herramienta InPlainView 46
Esta herramienta de ocultación también utiliza como estegomedio cheros
BMP de 24 bits y oculta la información utilizando el bit menos signicativo de cada
octeto de los datos que representan los valores de los píxeles. De nuevo analizando
diferentes cheros se puede deducir y detectar su presencia:
1. Posicionarse en la posición 36H del chero sospechoso (se supone un
chero BMP sin paleta de colores, que es lo habitual) y leer 16 octetos
(hasta la posición 45H).
2. Extrayendo el bit menos signicativo de esos 16 octetos da lugar a 16 bits
o 2 octetos. Estos octetos tienen que tener el valor “00 00”.
3. Leemos los 16 octetos siguientes (de la posición 46H a la 55H) y
obtenemos 16 bits o 2 octetos que representan el tamaño del chero
oculto. Si este valor es 0 es que no existe información oculta.
4. Leemos los 8 octetos siguientes (56H al 5DH) y obtenemos 8 bits o 1
octeto. Este campo indica si la información está protegida por una clave.
Puede valer 00h si no hay clave activa o 01h si hay clave activa. Cualquier
otro valor se considera erróneo, y por tanto no hay información oculta.
Como puede observarse del procedimiento anterior, en la mayoría de las
imágenes estos datos permitirán la detección correcta de información ocultada con
esta herramienta y su tamaño exacto. No obstante, en algún caso este procedimiento
podría producir algún falso positivo. En este caso, como en cualquier otro, esto
no supone un problema excesivo pues existen diferentes algoritmos para vericar
aún más si un chero sospechoso tiene información oculta o no (véase los ataques
estadísticos publicados posteriormente).
En cualquier caso, estos dos ejemplos son una buena muestra para reexionar
en la forma en la cual se implementa una técnica esteganográca. Si un programador
de este tipo de herramientas desea introducir una marca en la imagen digital, para
identicar con alta probabilidad si una imagen contiene información oculta con
su herramienta, se recomienda que este patrón no sea fácilmente deducible por el
atacante (las posiciones donde se encuentran y su orden no debería ser predecible)
ayudándose de procedimientos criptográcos. En el mejor de los casos, se recomienda
no introducir ningún tipo de marca. Generalmente, emisor y receptor saben que se
46 www.9-yards.com/software.html.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 91
están comunicando de manera esteganograada y sabrán sobre qué conjunto de
imágenes intentar recuperar la información oculta.
3.2.1.3 ESTEGANOGRAFÍA EN IMÁGENES DIGITALES EN INTERNET Y REDES
SOCIALES. CAPTCHA STEGANOGRAPHY
Hoy en día, Internet y las redes sociales son un medio ideal para intercambiar
y utilizar imágenes digitales que oculten información mediante esteganografía. En
el capítulo 8, una vez el lector haya conocido la mayor parte de las técnicas de
ocultación más famosas, se profundiza en esta cuestión centrando el foco en el
potencial esteganográco de Internet y en la dicultad de cualquier estegoanalista en
detectar información en la red de redes.
En este apartado, simplemente se quiere mostrar al lector como aun utilizando
técnicas tan clásicas como LSB se puede dicultar la detección de un estegoanalista
si no sabe bien dónde apuntar sus ataques de detección. En Internet hay multitud de
escenarios curiosos donde poder utilizar esteganografía en imágenes digitales.
Un ejemplo de ello, en principio puede que no útil, sería la posibilidad de
realizar esteganografía en las imágenes de los CAPTCHAS. Como posiblemente ya
conoce, un CAPTCHA (Completely Automated Public Turing test to tell Computers
and Humans Apart) se trata de una prueba desafío-respuesta utilizada en computación
para determinar cuándo el usuario es o no humano. Este test es controlado por una
máquina, en lugar de por un humano como en la prueba de Turing. Por ello, consiste
en una prueba de Turing inversa. Su funcionamiento principal en Internet consiste en
vericar si la interacción con un sistema informático es realizada por un humano o
por un software; esto permite evitar solicitudes automáticas indeseadas que pudieran
provocar algún tipo de problema de seguridad o estabilidad de los sistemas. Es común
su uso cuando se rellenan datos en un formulario en Internet o cuando se autentica
un usuario en un servicio web para minimizar ataques de fuerza bruta automatizados
intentando adivinar la clave de un usuario determinado.
Figura 3.9. Ejemplo de formato de CAPTCHA
Un CAPTCHA al nal es una imagen como otra cualquiera y por tanto
podría ocultarse información utilizando LSB, además esta imagen se renueva en
92 ESTEGANOGRAFÍA
© RA-MA
cada petición lo cual puede dar juego para seleccionar cuándo y de qué manera
una imagen de este tipo podría tener información oculta con una técnica tipo LSB
o variantes. Un estegoanalista debería analizar también este tipo de imágenes. De
hecho, ya existen herramientas para ocultar información aprovechándose de este tipo
de protección. 47 Es más, se podrían desarrollar otras tanto o más imaginativas que la
anterior. Imagine el siguiente escenario:
Figura 3.10. CAPTCHA steganography
1. Cada vez que un usuario se conecta a una página web se observa un
CAPTCHA.
2. Diferentes peticiones web a la misma página web dan lugar a diferentes
CAPTCHAS (imágenes digitales).
3. No todos los CAPTCHAS son igual de seguros. Existen multitud de ellos
en Internet cuyo texto puede ser recuperado automáticamente mediante
procesamiento digital de la señal. 48
47 http://www.hip.ir/CAPTCHASteganography/.
48 PWNtcha tool. http://caca.zoy.org/wiki/PWNtcha.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 93
4. Un cliente y un servidor se ponen de acuerdo para enmascarar información
en el texto del CAPTCHA vulnerable. El cliente realizará múltiples
consultas al servidor para obtener múltiples CAPTCHAS, de los cuales
extraerá la información a decodicar para obtener la información
enmascarada.
Figura 3.11. CAPTCHAS rotos por la herramienta PWNtcha
5. Cualquier otro usuario, y un potencial estegoanalista, es probable que solo
advierta una página web con un CAPTCHA vulnerable; un CAPTCHA
de las mismas propiedades que muchos otros que existen en cientos de
páginas web.
Como puede observar el lector, una vez más el límite de la esteganografía
está en la invención del usuario que la utilice.
94 ESTEGANOGRAFÍA
© RA-MA
3.3 TÉCNICAS ESTEGANOGRÁFICAS BASADAS EN PALETA DE COLORES.
ESTEGANOGRAFÍA EN FORMATO GIF
La evolución a lo largo de los años del tratamiento y almacenamiento de
imágenes dio lugar a la necesidad de representar las imágenes, clásicamente en
formatos de cheros grácos, de tal forma que su tamaño nal, en octetos, fuera no
excesivamente grande. Este hecho facilitaría no solo su almacenamiento sino sobre
todo su intercambio por las redes de telecomunicaciones.
Para solucionar este problema, se propusieron varias propuestas, entre ellas,
destacó la idea de crear imágenes con un número pequeño de colores. Si el número de
colores en una imagen es pequeño se puede codicar estos valores en una especie de
tabla, de tal forma que cada píxel en lugar de almacenar el color que le corresponda
apunte a su color presente en esa tabla. El tamaño con el cual se codica estos índices
que apuntan a la tabla es menor que la codicación con la que se almacena el color
para cada píxel, con lo que se consigue, nalmente, cheros grácos de tamaño
más pequeño. Esta ordenación especial de los octetos de la imagen permite reducir
bastante su tamaño. Esta información adicional, a modo de tabla, se conoce como
paleta de colores.
La literatura clásica siempre muestra como ejemplo la paleta de colores
presente en los cheros grácos con formato GIF (Graphics Interchange Format),
aunque también es posible encontrarla en otros formatos grácos, como por ejemplo,
en los cheros BMP (cuando esta está presente). La paleta de colores de los cheros
GIF permite representar hasta 256 colores diferentes, codicando el valor de cada
uno con 3 octetos, que indican su valor RGB. Los valores RGB de los píxeles de la
imagen no se almacenan directamente en el chero gráco sino que se almacenan
índices que enlazan a la paleta de colores. De esta forma, en un chero GIF, cada
píxel se puede representar con 8 bits (2 8 = 256 colores posibles de la paleta) pudiendo
servir de índice o entrada para indicar cuál es el color real del píxel que está en la
paleta. Gracias a este mecanismo, y debido al número limitado de colores, es posible
crear imágenes de tamaño realmente pequeño.
Una comparación rápida entre este formato y otros formatos grácos más
clásicos se puede ver con imágenes en formato BMP con una resolución de 24 bits.
Para esta resolución, cada píxel necesitaría 3 octetos para codicar el valor del
color que representa (su valor RGB). Partiendo de estas condiciones y si tuviéramos
que almacenar una imagen de N colores y M píxeles, la diferencia en tamaño sería
notoria, ya que se suele cumplir que M >> N, con lo que la diferencia iría de 3*N+M
octetos frente al valor más grande de 3*M octetos.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 95
Independientemente de la mejor conveniencia de utilizar uno u otro formato
gráco, es cierto que los formatos que se apoyan en la utilización de una paleta de
colores facilitan la creación de diferentes técnicas de ocultación de información.
Figura 3.12. Ejemplo de paleta de colores con 6 píxeles-índices y 3 colores
La técnica más utilizada y documentada para ocultar información en
imágenes que utilizan paleta de colores es la aplicación de una técnica LSB sobre los
índices de la imagen que apuntan a la paleta de colores, por ejemplo, en imágenes en
formato GIF. Sin embargo, a diferencia de otros formatos grácos, que no presentan
paleta de colores, debe tenerse en cuenta una serie de consideraciones al aplicar una
técnica LSB.
Al modicar el bit menos signicativo de un índice (ponerlo a 0 o 1), el
color actual que corresponde al píxel en cuestión cambia, ya que el nuevo índice
apuntará al color adyacente del actual, presente en la paleta de colores (véase la
gura anterior). Este hecho hace que si los colores adyacentes en la paleta no son
parecidos el “ruido” debido a la manipulación de los LSB será obvio, y producirá una
imagen cuyo resultado visual hará sospechar de posible ocultación de información.
Para intentar reducir este problema es común que antes de insertar la información a
ocultar se realice algún procesado u ordenación previa de los colores presentes en la
paleta de colores. Es habitual que los valores de la paleta de colores estén ordenados
del más usado al menos usado, para reducir tiempos de decodicación de la imagen,
o que los colores de esta no presenten cambios graduales (por ejemplo, de un bit),
salvo ciertas excepciones, como son las imágenes de grises.
Adicionalmente, es posible utilizar técnicas de ocultación centradas
exclusivamente en la información existente en la paleta de colores. Entre ellas,
aplicar una técnica LSB a los colores presentes en la paleta de colores (no a los
índices), con lo que se podría ocultar tantos bits como bits se modicarán de los
colores de la paleta (1 bit por cada octeto de la paleta), o reordenar los colores de
la paleta, cuyo orden codicaría una información. Veamos un poco en detalle esta
última técnica. Los colores presentes en la paleta de colores, en el caso de un formato
GIF un máximo de 256 colores, pueden ser reordenados en la forma que se desee
96 ESTEGANOGRAFÍA
© RA-MA
siempre y cuando cada índice que apunta a cada color apunte al color oportuno
una vez reordenada la paleta. Esto permitiría ocultar información (codicándola en
binario) aprovechándose de las diferentes combinaciones de colores en la paleta. Así,
por ejemplo, una paleta de un chero GIF con 256 colores permitiría realizar ¡256!
(8,5781777534284265411908227168123e+506) posibles permutaciones de estos
colores de la paleta que produciría la misma imagen nal. Es decir, se puede hacer
una técnica de ocultación sencilla que oculte hasta log 2(256!)≈1683 bits basándose
en el orden de los colores, transformando la información a ocultar en la permutación
(orden) correspondiente de los colores en la paleta. Un método sencillo que permite
ocultar una cantidad importante de bits. El lector puede experimentar con cualquiera
de las técnicas anteriores fácilmente al existir herramientas gratuitas disponibles
en Internet como son S-Tools, MandelSteg, Hide and Seek, EzStego, Gifshufe,
Empty-Pic, Git-It-Up o Hide4PGP.
En este punto, el lector se preguntará cómo de invisibles son estas técnicas.
¿Están seguros nuestros datos ocultos en cheros con formato GIF? La respuesta más
directa, por los ataques publicados, es que hoy en día las herramientas más famosas de
ocultación en cheros con formato GIF no son seguras, o al menos, deben tenerse en
cuenta diversas consideraciones que no hacen apto a cualquier iniciado para utilizarlas
para ocultar información sensible. 49 Los ataques publicados a estas herramientas son
principalmente estadísticos (Chi-square, Pair-Values, 50 estegoanálisis a ciegas, etc.),
para detectar la inserción de información oculta utilizando técnicas LSB secuencial
y pseudoaleatoria en los índices que enlazan a la paleta de colores, y la detección de
patrones inusuales, especialmente en la manipulación y reordenado de la paleta de
colores. Algunos ejemplos clásicos de detección de patrones son:
Herramienta S-Tools
La herramienta esteganográca S-Tools, creada por Andy Brown, permite la
ocultación de información en diferentes cubiertas, concretamente, en cheros BMP,
GIF y WAV, aplicando una técnica LSB seleccionando los bits a modicar de forma
pseudoaleatoria. La ocultación de información con esta herramienta en cheros GIF,
especialmente imágenes en color de 8 bit e imágenes de escala de grises, produce
un patrón inusual que no ocurre en imágenes típicas, a excepción de aquellas que
hayan sido alteradas por ciertas técnicas esteganográcas. En concreto, si se ordena
la paleta de colores por los valores de luminancia, se observa que los bloques de
49 Esto no quiere decir que si utiliza este tipo de principios en Internet, dado el volumen de información actual en la red de redes, un potencial estegoanalista le detecte.
50 http://www.ws.binghamton.edu/fridrich/publications.html#Steganography.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 97
color parecen ser el mismo, pero todos ellos varían en 1 bit. Esto es una rma única
de esta herramienta y facilitaría su detección automática.
Figura 3.13. Ejemplo de patrón detectable introducido por la herramienta S-Tools. Imagen original a la
izquierda y estegoimagen a la derecha
Este es un buen ejemplo de como en muchos casos, una excelente herramienta
estegoanalítica contra potenciales estegoimágenes es simple y llanamente una
herramienta de edición de imágenes, como por ejemplo, Adobe Photoshop o Gimp.
Herramienta MandelSteg
La ocultación con esta herramienta puede ser detectada apoyándose en
diferentes características. En primer lugar, esta herramienta es la única que genera
imágenes de fractales Mandelbrot como imagen para ocultar la información secreta.
Este hecho podría servir de sospecha, pero además, existe un patrón detectable ya
que la herramienta siempre genera una paleta de 256 colores (entradas), paleta que
tiene 128 colores únicos con dos entradas para cada color. Si se ordena la paleta por
los valores de luminancia se observa la aparición de los 128 colores duplicados.
Herramienta Hide and Seek
La detección de patrones jos con esta herramienta depende de la versión
que se esté utilizando. Por ejemplo, en las versiones 4.1 y 5.0 la paleta de imágenes
de 256 colores muestra en todas sus entradas valores divisibles por 4. Además de
toda una serie de patrones posibles, la herramienta deja un rastro relativamente
“ruidoso” en la estegoimagen destino, existe una información adicional que se puede
utilizar. Por ejemplo, las versiones 4.1 y 5.0 crean cheros de resoluciones jas, por
98 ESTEGANOGRAFÍA
© RA-MA
ejemplo, 320x400, 320x480, etc. Si la imagen original es más pequeña, el resto de la
estegoimagen se rellena con espacios en blanco.
Figura 3.14. Patrón detectable al ocultar con la herramienta Hide and Seek. Imagen original a la
izquierda (8 bits) y estegoimagen a la derecha
Herramienta EzStego
La inserción de un mensaje oculto mediante esta herramienta introduce
suciente ruido “visible” para levantar sospechas. Una técnica de ltrado, como
el ataque visual, que se verá posteriormente, permite delatar la ocultación de
información con esta herramienta.
3.4 TÉCNICAS ESTEGANOGRÁFICAS BASADAS EN COEFICIENTES
CUANTIFICADOS. ESTEGANOGRAFÍA EN JPEG
El procesamiento digital y el almacenamiento de imágenes a lo largo de los
últimos años ha hecho que se utilicen un sinfín de algoritmos y transformaciones
matemáticas, aplicables a las imágenes, con propósitos muy diversos.
Transformaciones clásicas, en estos últimos años, han sido algoritmos de compresión
(para reducir el tamaño de estas) y algoritmos de ltrado con nes muy variados:
ltrado de ruido, ensalce de contornos, etc.
Al igual que sucede en otros campos, ya analizados, se han publicado
diversas técnicas esteganográcas que se aprovechan de los diferentes dominios
de transformación matemáticos empleados para ocultar información. Un buen
ejemplo de este tipo de ideas consiste en la ocultación de información utilizando
los coecientes cuanticados presentes en un chero gráco con formato JPEG,
obtenidos al aplicar a una imagen original una transformada discreta del coseno
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 99
(DCT). Este tipo de técnica ha sido una de las más utilizadas en las herramientas 51
de ocultación en formato JPEG disponibles en Internet. Para entender en detalle
cómo funciona esta transformación y el formato JPEG le recomiendo la lectura del
Anexo C.3. Un análisis a simple vista puede ayudar al lector a comprender cuál es
el signicado real de estos coecientes cuanticados y por qué pueden utilizarse
en esteganografía. De hecho, los coecientes cuanticados, como tal, son números
que almacenan la información de la imagen a visualizar. Por tanto, ¿por qué no
modicarlos como hacíamos con los valores de los píxeles de otros formatos?
En las últimas dos décadas se han publicado diversas herramientas que
ocultan información en imágenes digitales, la mayoría de ellas basadas en los
coecientes cuanticados. Algunas de las herramientas más famosas son JSteg,
JPHide&Seek, OutGuess, F5, MB1, MB2, Steghide, 52 OpenStego, 53 OpenPuff, 54
Steg,55 PQ,56 YASS, 57 etc.58 Al igual que sucede con la modicación de píxeles en una
imagen, es posible crear variantes de técnicas de ocultación utilizando coecientes
de forma individualizada, en grupo o mezcla de ambos, ya sea mediante selección
secuencial o aleatoria. De la misma forma que con técnicas en otros formatos, casi
cualquier herramienta de las publicadas puede ser detectada si se dan determinadas
condiciones, típicamente si se oculta suciente información.
En los siguientes párrafos se va a describir el funcionamiento y diseño
de alguna de las herramientas mencionadas anteriormente. El lector comprenderá
fácilmente cómo funciona la esteganografía en JPEG basada en coecientes DCT
y cuál ha sido su evolución. Si desea profundizar en alguna otra herramienta no
descrita le recomiendo revisar las referencias adjuntadas en cada página de este libro.
En cualquier caso, comencemos desde el principio. Una de las primeras
herramientas que puso en práctica la idea de ocultación en chero JPEG usando los
51 Existen múltiples procedimientos matemáticos para ocultar información en chero JPEG. En este
capítulo nos centraremos especialmente en los basados en coecientes DCT por ser estos los utilizados por la mayoría de herramientas disponibles en Internet.
52 http://steghide.sourceforge.net/.
53 http://www.openstego.com/.
54 http://embeddedsw.net/OpenPuff_Steganography_Home.html.
55 http://steg.drupalgardens.com/.
56 Perturbed Quantization. http://dde.binghamton.edu/download/pq/.
57 http://www.ws.binghamton.edu/fridrich/Research/yass_attack.pdf.
58 LI, B. et al.; “A survey on Image Steganography and Steganalysis”, Journal of Information Hiding
and Multimedia Signal Processing.
100 ESTEGANOGRAFÍA
© RA-MA
coecientes DCT fue JSteg 59 de Derek Upham. Esta herramienta aplica una técnica
LSB de forma secuencial e individualizada a los coecientes cuanticados DCT de
la imagen, de modo que para ocultar un bit de información se modica el bit menos
signicativo del valor de un coeciente cuanticado. Esta herramienta, además
de llevar a la práctica procedimientos esteganográcos no triviales sobre cheros
JPEG, tiene la ventaja de proporcionar una alta capacidad de almacenamiento de
mensajes ocultos, así como resistencia frente a ataques publicados en ese momento,
ya clásicos, como los ataques visuales. Sin embargo, la modicación de los bits
LSB de los coecientes cuanticados introduce anomalías que son detectables por
estudios estadísticos, con lo que la seguridad de JSteg es muy cuestionable.
Figura 3.15. Histograma típico de los coeficientes JPEG después del proceso de cuantificación vs.
histograma resultante después de ocultar información con JSteg
Un ataque clásico consiste en un ataque Chi-square sobre los coecientes
cuanticados DCT de una imagen JPEG. Este ataque permite, en general, detectar
mensajes ocultos insertados de forma secuencial utilizando una técnica LSB, por
ejemplo, sobre dichos coecientes. La aplicación de esta técnica permite, por
ejemplo, la detección de información ocultada con la herramienta esteganográca
JSteg, siempre que esta no “sea muy pequeña” (centenas de octetos), y estimar su
tamaño. Este tipo de ataques estadísticos son efectivos contra esta herramienta,
a diferencia de otros ataques como los visuales, porque JSteg al reemplazar bits
introduce dependencias estadísticas entre la ocurrencia de las diferentes componentes
de frecuencia.
59 http://zooid.org/~paul/crypto/jsteg/.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 101
Figura 3.16. Imagen sin información oculta. El ataque Chi-square detecta una muy pequeña
probabilidad de presencia de información oculta
Figura 3.17. Detectando información ocultada (50%) con JSteg utilizando el ataque Chi-square
Otra herramienta esteganográca famosa es JPHide 60 de Allan Latham, que
incluye compresión previa de la información a ocultar y el cifrado con el algoritmo
criptográco Blowsh. Esta herramienta selecciona los coecientes cuanticados
DCT de manera no secuencial lo cual diculta, en teoría, su detección. Aplica
una técnica LSB sobre los coecientes DCT. No obstante,al igual que sucede con
JSteg es posible detectar la presencia de información oculta y estimar su tamaño
mediante estudios estadísticos, a pesar de que la herramienta intenta presentar
fortaleza ante estos ataques, por ejemplo, modicando los coecientes DCT -1, 0
y 1 en una forma especial para que su modicación no pueda ser detectada por
60 http://linux01.gwdg.de/~alatham/stego.html.
102 ESTEGANOGRAFÍA
© RA-MA
un ataque Chi-square. Un ejemplo de ataque estadístico que es posible utilizar, al
menos teóricamente, es la versión Chi-square generalizada para detectar información
insertada pseudoaleatoriamente en los coecientes cuanticados, así como estimar
su tamaño. También esto sería aplicable a JSteg si se modica para una inserción
pseudoaleatoria.
Otra herramienta esteganográca famosa es OutGuess (versiones 0.13b
y 0.2) desarrollada por Niels Provos, con la intención de mejorar la invisibilidad
proporcionada por una herramienta basada en la ocultación en los coecientes
DCT, especialmente protegida contra el ataque Chi-square. Su histograma global no
puede ser usado, en general, para distinguir diferencias estadísticas (está protegido
frente a ataques estadísticos de primer orden). A diferencia de JSteg utiliza un
procedimiento de elección pseudoaleatorio, basado en RC4, de los coecientes
DCT (salvo coecientes 0 s y 1s), empleando técnica LSB, a la vez que implementa
procedimientos para hacer que los cambios se repartan de forma equitativa entre
todos los coecientes disponibles, para hacer más difícil un ataque basado en
estudios estadísticos, especialmente de la versión OutGuess 0.2. El ataque Chisquare, por ejemplo, no muestra buenos resultados para la versión 0.2, aunque
puede ser extendido para detectar información para la versión 0.13b. Sin embargo,
a día de hoy existen diversos estudios estegoanalíticos que indican que es posible
realizar una detección able sobre imágenes que ocultan información, con cualquier
versión de OutGuess. Se puede ver, a modo de ejemplo, el estudio inicial de Jessica
Fridrich61 et al., en el artículo “Attacking the OutGuess” y en la investigación New
methodology for breaking steganographic techniques for JPEGs. Metodologías
que pueden ser aplicadas, en teoría, para todas las herramientas esteganográcas
actuales que modican los coecientes DCT en JPEG, detectando mensajes ocultos
y estimando su tamaño.
Lo interesante de estas metodologías es que proporcionan nuevas ideas de
estegoanálisis no centradas exclusivamente en el estudio de los histogramas. Por
ejemplo, mediante la denición de parámetros, distinguidores estadísticos, que
evolucionan de forma sensible con el tamaño de la información ocultada. En OutGuess,
a modo de particularización, se puede centrar la atención en la forma en la que se
sobrescriben los LSB. El proceso de inserción de información introduce “ruido” en
los coecientes DCT, incrementando las discontinuidades en el dominio espacial. Por
ejemplo, la reinserción de mensajes ocultos en una misma estegoimagen cancelará
parcialmente el contenido actual produciendo efectos diferentes en la misma. La
reinserción repetida en los LSB incrementa las discontinuidades espaciales de forma
más lenta que cuando lo hacemos en una imagen tapadera original. Este incremento,
61 http://www.ws.binghamton.edu/fridrich/publications.html#Steganography.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 103
por ejemplo, puede usarse de distinguidor estadístico. En realidad, la misma idea
puede extrapolarse para obtener distinguidores estadísticos mediante el procesado
de la supuesta estegoimagen, por ejemplo, mediante recortado o recompresión de su
información. Esta información distinguidora permitirá nalmente estimar el tamaño
de los mensajes ocultos. Estos ataques permiten observar unas nuevas conclusiones.
Por un lado, el desarrollo de procedimientos esteganográcos seguros basados en
DCT JPEG debería evitar los cambios predecibles que pueden ser estimados por
características del formato JPEG que son, en general, invariantes con respecto a
transformaciones de una estegoimagen, por ejemplo, recompresión. Por otro lado,
se debe abandonar el concepto de ocultación de información basado en sustitución
de LSB preriendo otras sustituciones, como por ejemplo, usar incrementos/
decrementos de los valores de los coecientes, como utiliza Andreas Westeld en su
herramienta esteganográca F5 (se analizará a continuación).
Independientemente del ataque concreto a una técnica de ocultación en
JPEG, el lector debe ser consciente, además, de que también se han documentado
ataques a la ocultación de información en imágenes convertidas desde un chero
JPEG. Un ejemplo signicativo es la investigación de Jessica Fridrich et al. en sus
ataques por compatibilidad JPEG.62 Este ataque se basa en el conocimiento de que
una imagen que previamente fue almacenada en formato JPEG actualmente está
almacenada en otro formato, por ejemplo, BMP. La compresión JPEG actúa como
una especie de marca de agua débil. El estudio de la nueva imagen (análisis de
bloques de píxeles), a la que se convirtió la imagen JPEG original, reeja muchas
características de la estructura creada por la compresión JPEG, e incluso es posible
recuperar los valores de la tabla de cuanticación de dicho formato. Lo curioso de
estos ataques es que si en la nueva imagen se oculta una información, la imagen
resultante, con una alta probabilidad, ya no será compatible con el formato JPEG,
lo que da potenciales sospechas de ocultación de información. Este método puede
aplicarse, en teoría, para cualquier algoritmo esteganográco y de watermarking.
De hecho, podría detectar cambios tan pequeños como la modicación del LSB de
un único píxel. Este método podría ser usado para estimar el tamaño del mensaje
secreto e identicar los píxeles que portan el mensaje oculto. Como es de suponer,
es altamente recomendable evitar utilizar imágenes con nes esteganográcos que
originalmente hayan estado almacenadas en un formato JPEG, por ejemplo obtenidas
con una cámara digital, y que posteriormente han sido convertidas a otros formatos.
62 http://www.ws.binghamton.edu/fridrich/Research/jpgstego01.pdf.
104 ESTEGANOGRAFÍA
© RA-MA
3.4.1 Herramienta esteganográfica F5
De las herramientas esteganográcas que permiten ocultar información en
cheros JPEG destaca la herramienta F5, una de las herramientas esteganográcas
más sosticadas disponibles para un público genérico. Tal es así, que es común ver su
presencia en la ocultación de malware, en la ocultación de comunicaciones, en CTF, 63
en ciberejercicios, 64 etc. Dado su impacto en Internet, es importante comprender su
funcionamiento interno.
El algoritmo F5 65 fue desarrollado por Andreas Westeld en 2001, como
resultado de la maduración de técnicas anteriores como F3 y F4. Su objetivo
fundamental reside en alcanzar una gran capacidad de ocultación de información
(en un ejemplo optimista hablaríamos de un 13% de ocultación del tamaño de un
chero JPEG), sin ceder por ello en invisibilidad frente a ataques conocidos en la
época como el ataque visual, Chi-square o Chi-square generalizado. Para alcanzar
este propósito la herramienta F5 utiliza también los coecientes DCT para ocultar
información pero los manipula con especial cuidado, para ello decrementa el valor
absoluto de los coecientes DCT, que son elegidos pseudoaleatoriamente, en lugar de
sobrescribir su LSB. Esta técnica combinada con el uso de matrices de codicación
y técnicas de permutación, presenta una resistencia alta a ataques estegoanalíticos
evitando dejar rastros predecibles del estudio de su histograma.
Figura 3.18. Algoritmo implementado en la herramienta F5
63 CTF (Capture the Flag) es una competición de seguridad informática (concurso de captura la
bandera) donde los participantes ponen a prueba sus conocimientos informáticos atacando y defendiendo sistemas. Son comunes pruebas basadas en ingeniería inversa, análisis de protocolos
telemáticos, programación, criptografía, esteganografía, etc.
64 Un ciberejercicio tradicionalmente hace referencia a la capacidad de los estados/organismos/ejércitos para evaluar el estado de preparación de los participantes frente un potencial ataque/crisis
derivando de ataques en el ciberespacio.
65 F5 - A Steganographic Algorithm. High Capacity Despite Better Steganalysis. https://www2.htwdresden.de/~westfeld/publikationen/21370289.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 105
La utilización de la herramienta F5 es muy sencilla. Después de descargar la
herramienta de su página web 66 pueden utilizarse diferentes parámetros para ocultar
y revelar la información ocultada en un chero JPEG.
Figura 3.19. Ocultación y recuperación de información utilizando la herramienta F5
Figura 3.20. Ocultación y recuperación de información con la herramienta F5 utilizando una clave
secreta
66 https://code.google.com/archive/p/f5-steganography/.
106 ESTEGANOGRAFÍA
© RA-MA
3.4.1.1 DISTRIBUCIÓN Y REDUCCIÓN DE LAS MODIFICACIONES EN LA IMAGEN.
ATACANDO F5
Una herramienta esteganográca robusta debería considerar que el proceso
de inserción de información fuera lo más regular posible en el estegomedio elegido.
La “densidad de datos ocultos” debería ser igual en todas partes del estegomedio, es
decir, todas las partes del estegomedio deberían tender a ser igual de probables para
almacenar información oculta, al menos con una mentalidad clásica (veremos en
el apartado de técnicas avanzadas que esto no tiene porqué ser así necesariamente,
siendo unas zonas de la imagen más interesantes esteganográcamente). En muchos
casos, especialmente si la inserción se produce de forma secuencial en el estegomedio,
es probable que el mensaje a ocultar no requiera de toda la capacidad disponible, por
tanto, parte del estegomedio se queda sin uso, y las modicaciones se centran en una
sola parte del estegomedio, lo que puede dar pistas a un estegoanalista. No parece la
mejor de las implementaciones.
Para evitar ataques, es conveniente no solo distribuir la información a lo
largo del estegomedio, sino intentar que las diferentes zonas puedan llegar a ser
equiprobables. La herramienta F5 implementa estas ideas utilizando una serie de
permutaciones que depende de una subclave generada de la clave (estegoclave) del
usuario. Estas permutaciones unidas a un generador pseudoaleatorio (que dependen
de la estegoclave del usuario) facilitan la correcta selección de los coecientes
cuanticados a modicar.
Adicionalmente, F5 aborda otro problema clásico en el mundo de la
esteganografía, cómo reducir las modicaciones que sufre un estegomedio, en nuestro
caso una imagen, cuando se aplican procedimientos de inserción de información,
sin por ello disminuir la capacidad de ocultación de información. Centrándonos en
imágenes, el pensamiento clásico reinante en esteganografía consiste en que cuanto
mayor sea el número de píxeles modicados mayor será la probabilidad de detección
de la información oculta. Si esto es así, es de suponer que un procedimiento que
modique menos píxeles es más seguro frente a ataques estegoanalíticos. Aunque
siempre es posible minimizar el número de modicaciones al insertar una
información troceando la información y enviándola en múltiples estegoimágenes, la
herramienta F5 implementa otro procedimiento para alcanzar este objetivo, quizás
más interesante, utilizando las denominadas matrices de codicación.
Ron Crandall 67 introdujo el término matriz de codicación como una nueva
técnica para mejorar la eciencia de los procesos de inserción esteganográcos.
67 CRANDALL, R.; Some Notes on Steganography, publicado en Steganography. Mailing List,
1998. http://os.inf.tu-dresden.de/ ̃
westfeld/crandall.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 107
Basándose en estas ideas, la herramienta F5 realizó, posiblemente, la primera
implementación útil de este tipo de matrices. Las matrices de codicación permiten
disminuir el número necesario de cambios en una imagen para un mismo tamaño de
información a ocultar. F5 calcula la matriz de codicación en función de la capacidad
de cada chero JPEG a utilizar y del tamaño del mensaje secreto a ocultar. Para ello
diseña un algoritmo mediante el cual solo necesita modicar 1 bit (de un píxel) de cada
n = 2K-1 bits (supongamos que por cada píxel solo se puede ocultar 1 bit) ocultando k
bits. Este procedimiento, aunque limitado por la cantidad de bits libres necesarios para
ocultar información, es excepcional para minimizar el impacto en una estegoimagen.
Figura 3.21. Ejemplos de uso de la matriz de codificación de la herramienta F5
Por desgracia, aunque todos los procedimientos anteriores son muy
prometedores, la información oculta con F5 puede ser detectada y puede predecirse
el tamaño del mensaje enmascarado en un chero JPEG. Uno de los primeros
ataques a esta herramienta fue realizado por Jessica Fridrich et al. en su investigación
Steganalysis of JPEG Images: Breaking the F5 Algorithm.68 En este trabajo se dene
un método para estimar el histograma de la imagen tapadera original de la información
de la supuesta estegoimagen. Para ello la estegoimagen JPEG es descomprimida,
recortada en bloques de 4 píxeles que rompen la estructura cuanticada de los
bloques de coecientes DCT, y nalmente recomprimida usando el mismo factor de
calidad que tiene la estegoimagen. Con esto, el número de cambios introducidos por
F5 en la imagen tapadera original puede ser determinado de la comparación de los
histogramas estimados, de los coecientes DCT seleccionados y de los mismos de
la estegoimagen. En las pruebas experimentales documentadas, modicaciones tan
pequeñas como el 10% de los coecientes DCT disponibles pueden ser detectadas de
forma able. Pero sin duda, lo más interesante son las publicaciones que reejan como
es posible la medida de ciertas características comunes del formato JPEG que permite
68 http://www.ws.binghamton.edu/fridrich/Research/f5.pdf.
108 ESTEGANOGRAFÍA
© RA-MA
incluso predecir el tamaño aproximado del mensaje ocultado con herramientas como
F5 u OutGuess. Una colección de ataques se han publicado para reducir aún más los
umbrales de detección del tamaño de posibles mensajes ocultos, algunos ejemplos
clásicos son: 69 New methodology for breaking steganographic techniques for JPEGs,
Blind Statistical Steganalysis of Additive Steganography Using Wavelet Higher Order
Statistics o Towards Multi-Class Blind Steganalyzer for JPEG Images.
Actualmente los esfuerzos están muy encaminados al estudio de propiedades
genéricas de este formato y a la aplicación de algoritmos de detección a ciegas, es decir,
detección independientemente del algoritmo utilizado. Ante todo esto, es posible que
el formato JPEG no sea, hoy en día, el más apropiado para ocultar información dado el
enorme interés en detectar información enmascarada por este medio.
3.4.2 Stegosploit y polyglots. Malware en imágenes digitales
El potencial de las técnicas esteganográcas es tan amplio que ha permitido
a diferentes investigadores utilizarlas con propósitos variados. Uno de los usos
potencialmente más peligrosos, especialmente en la utilización de esteganografía en
imágenes digitales, es su utilización para ocultar código malicioso, 70 especialmente
en cheros JPEG. Un código malicioso, malware en general, no deja de ser una
información binaria que puede ocultarse, como cualquier otra, en cualquier
estegomedio. El mayor problema sin duda viene de la mano de la capacidad del
atacante para poder ejecutar con facilidad ese malware oculto. Cómo ocultar o
intentar recuperar ese malware depende, de nuevo, de la creatividad del atacante que
desee introducir ese código malicioso a un usuario u organización. En este apartado
se van a destacar dos ejemplos de este potencial en dos escenarios muy comunes: la
reproducción de imágenes en un navegador web y las aplicaciones móviles.
Stegosploit. Infectando a un usuario a través de su navegador web
El investigador Saumil Shah publicó en la conferencia de seguridad
HackInTheBox 2015 celebrada en Ámsterdam 71 la herramienta Stegosploit 72 que
69 http://www.ws.binghamton.edu/fridrich/publications.html#Steganography.
70 Cada vez es más común el uso de esteganografía por parte del malware: Stegoloader, Luks downloader, ZeusVM, etc.
71 https://conference.hitb.org/hitbsecconf2015ams/wp-content/uploads/2015/02/D1T1-Saumil-Shah-Stegosploit-Hackin g-with-Pictures.pdf.
72 https://www.alchemistowl.org/pocorgtfo/pocorgtfo08.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 109
permite atacar a un usuario enmascarando exploits conocidos para navegadores
web usando imágenes digitales. Para ello, oculta el código del exploit en el LSB
de los píxeles de la imagen e introduce en la cabecera del chero gráco un código
JavaScript que permitirá extraer la información y ejecutarla. La pregunta importante
en este punto es ¿cómo un navegador web es capaz de ejecutar un código JavaScript
que está incrustado en la cabecera de una imagen digital? La respuesta viene de
la mano de los polyglots. 73 Mediante el estudio de los formatos de cheros es
posible hacer que un chero con un formato determinado, por ejemplo una imagen
digital, sea interpretado como otro formato diferente (por ejemplo, JavaScript,
HTML, PDF, etc.) por un reproductor concreto. Stegosploit hace uso de la forma
en la que interpretan los navegadores web las imágenes digitales para, partiendo de
una inofensiva imagen digital, interpretarlas como cheros con código JavaScript.
Una vez ejecutado el código JavaScript, se recuperará el exploit y si el navegador
web es vulnerable la seguridad del ordenador que lo ejecute se verá comprometida.
Piense por un momento en la cantidad de usuarios con versiones de navegador
no actualizadas y el potencial de ocultar estegomalware en múltiples imágenes,
presentes en redes sociales, para comprender la utilidad de este tipo de ataques. La
ventaja novedosa de esta herramienta es que el estegomalware se puede recuperar y
ejecutar automáticamente sin la interacción directa o indirecta del atacante.
Figura 3.22. Introducción de código JavaScript en cabecera JPEG
73 El investigador Ange Albertini es uno de los autores más prolijos en el uso de polyglots con utilidad informática. https://code.google.com/archive/p/corkami/.
110 ESTEGANOGRAFÍA
© RA-MA
Figura 3.23. Introducción de código JavaScript en la cabecera de una imagen PNG
Estegomalware en aplicaciones móviles
Entre los muchos lugares donde es posible ocultar información en
imágenes digitales con utilidad maliciosa se encuentran las aplicaciones móviles.
Tradicionalmente cuando un desarrollador intenta publicar una aplicación en su
market de aplicaciones favorito, típicamente Google (Android) o Apple (iOS), toda
una serie de procedimientos de detección son realizados para vericar que el código
ejecutable de la misma no contenga un comportamiento malicioso que pueda afectar
a la privacidad de los datos del usuario que se la descarga o a la propia seguridad
de su terminal móvil. Si un atacante desarrolla una aplicación 74 y oculta el código
malicioso en una imagen de la aplicación, los controles de seguridad no detectarán
esta información. Posteriormente, la aplicación cuando lo estime oportuno podrá
recuperar la información ocultada y ejecutarla. Entre las investigaciones más
signicativas destaca la publicada por Axelle Apvrille y Ange Albertini en la
conferencia de seguridad informática BlackHat Europe 2014 con título Hide Android
74 MUÑOZ, A.; Finding stegomalware in an ocean of apps, Rooted CON 2015. http://es.slideshare.
net/elevenpaths/buscando-stegomalware-en-un-oceano-de-apps.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 111
Applications in Images,75 en la que se muestra detalladamente cómo enmascarar
una aplicación Android en una imagen que podría ser ejecutada sin ser detectada,
o la investigación realizada por investigadores 76 de la Universidad Carlos III de
Madrid (España) en la que utilizando la herramienta F5 ocultan un código ejecutable
(.dex) en una imagen (likeimage.jpg). Este código ejecutable descarga un payload
inofensivo de la URL http://cosec-uc3m.appspot.com/likeimage. A día de hoy, la
aplicación, publicada el 9 de junio de 2014, sigue activa en el market de GooglePlay:
https://play.google.com/store/apps/details?id=es.uc3m.cosec.likeimage.
Figura 3.24. Ingeniería inversa al estegomalware para Android LikeImage
Estas ideas ya se están utilizando en el mundo móvil con nes dañinos.
Por ejemplo, a principios de 2016, y solo por citar un caso reciente, se detectó un
nuevo malware, Android.Xiny.19.origin, 77 que utilizaba técnicas esteganográcas
para recuperar una aplicación maliciosa desde una imagen descargada. 78 Una vez
recuperada la aplicación maliciosa era inyectada en memoria RAM utilizando la
clase DexClassLoader.
75 https://www.blackhat.com/docs/eu-14/materials/eu-14-Apvrille-Hide-Android-Applications-InImages-wp.pdf.
76 http://www.seg.inf.uc3m.es/~guillermo-suarez-tangil/papers/2014inscrypt-stegomalware.pdf.
77 Android.Xiny.19.origin. http://vms.drweb.com/virus/?i=7945694&lng=en.
78 Trojan targeted dozens of games on Google Play. https://news.drweb.com/show/?i=9803&lng=en.
112 ESTEGANOGRAFÍA
© RA-MA
3.5 DETECCIÓN DE COMUNICACIONES OCULTAS. ESTEGOANÁLISIS DE IMÁGENES
DIGITALES
La detección de comunicaciones ocultas es un tema que hace un par de
décadas se centraba exclusivamente en entornos militares y agencias de inteligencia.
En la actualidad, la existencia y uso de mecanismos de enmascarado de información
se ha popularizado siendo cualquier lugar aparentemente inofensivo un buen
candidato para ocultar una información. Existen multitud de situaciones reales en
las que, aparte de un entorno de inteligencia, resulta interesante detectar información
oculta. Por ejemplo, por parte de cuerpos policiales en una investigación electrónica,
útil para establecer políticas de seguridad que impidan el robo de información de una
entidad concreta, evitar que un servidor de contenidos se utilice para difundir una
información no deseada, etc.
Independientemente de la técnica de ocultación utilizada, LSB o no, los
procedimientos de detección tienen principios muy similares. Ya sea mediante
procedimientos clásicos de informática forense, detectando patrones evidentes, o
utilizando técnicas estadísticas sosticadas, el objetivo nal siempre es detectar
anomalías en un estegomedio dado, en nuestro caso, en imágenes digitales. Esas
anomalías podrían permitir detectar información oculta y estimar su tamaño. La
ciencia del estegoanálisis es un campo muy extenso y complejo matemáticamente. En
los siguientes apartados se va a mostrar algún ejemplo de algoritmo de detección para
visualizar cómo funciona este tipo de tecnología y despertar el espíritu crítico en el
lector. A día de hoy, la información ocultada con la gran mayoría de las herramientas
esteganográficas publicadas en Internet puede ser detectada en determinadas
circunstancias. La detección será más o menos fácil dependiendo del tamaño de la
información a ocultar y de la imagen seleccionada para ocultar los datos.
3.5.1 Ataques estadísticos y estegoanálisis a ciegas. Machine learning
Desde los terribles atentados del 11 de septiembre de 2001 en EE. UU., la
investigación en estegoanálisis, motivada por el supuesto uso con nes terroristas de
la esteganografía, ha crecido exponencialmente. En el Anexo B se recogen algunas
de las herramientas de estegoanálisis disponibles hoy en día para su uso en el mundo
real. Como observará rápidamente estas herramientas son escasas y limitadas en
sus capacidades. Por desgracia, no es posible en unos pocos folios desarrollar una
habilidad tal que le permita convertirse en un buen estegoanalista, esto es una tarea
bastante compleja. No obstante, se ve conveniente profundizar un poco en los
principios que constituyen los ataques de estegoanálisis modernos, estos permitirán
sin duda hacerse una idea de cómo funcionan y cómo poder llegar a diseñar mejores
herramientas esteganográcas. Aunque en las próximas líneas se centrará el esfuerzo
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 113
en la detección de información oculta en imágenes digitales, muchos de los principios
expuestos en este apartado pueden utilizarse para otros estegomedios.
En las últimas dos décadas se han publicado multitud de ataques
estegoanalíticos para detectar información oculta en los formatos grácos más
comunes (BMP, JPEG, PNG y GIF) 79. Cualquiera de los ataques publicados
(Chi-square, RS, SPA,80 SPAM, 81 PPD,82 Merged Features, 83 Rich Models, 84 etc.)
perfeccionan unos conceptos fáciles de entender, independientemente de la técnica
de ocultación empleada, tradicionalmente LSB-replacement o LSB-matching. La
mayoría de técnicas esteganográcas en imágenes digitales insertan información
perturbando la imagen original. Los algoritmos estegoanalíticos intentan detectar
dónde se localizan esas perturbaciones y cuántas perturbaciones se han detectado
(el algoritmo estima el tamaño de la información oculta). Todos los algoritmos
estegoanalíticos emplean diferentes procedimientos matemáticos para detectar esas
perturbaciones y poder contestar a una sencilla pregunta: ¿es el color de un píxel
raro comparado con sus vecinos?
En los siguientes subapartados se detallarán algunos ejemplos clásicos de
ataques estegoanalíticos para comprender con facilidad estos conceptos. Ataques
estegoanalíticos más sosticados se basan en estos principios, lógicamente con una
componente matemática no apta para todos los públicos. 85 Este tipo de ataques son
muy precisos frente a técnicas de ocultación especícas. Sin embargo, cuando el
atacante no conoce la técnica de ocultación concreta (lo cual es habitual si no se usan
directamente las herramientas esteganográcas publicadas en Internet) es conveniente
el desarrollo y la implementación de técnicas de detección adicionales basadas en
algoritmos de estegoanálisis a ciegas, blind steganography en terminología inglesa.
79 SERRA, J.; LERCH, D. y MUÑOZ, A.; Esteganografía y estegoanálisis, Edición 0xWORD 2014.
ISBN: 978-84-617-0021-9. Depósito Legal: M-15373-2014.
80 Detection of LSB steganography via Sample Pair Analysis. http://www.ece.mcmaster.ca/~sorina/
papers/ LSBnalTSP.pdf.
81 http://www.ws.binghamton.edu/fridrich/Research/mmsec29-pevny.pdf.
82 LSB matching steganalysis based on patterns of pixel differences and random embedding. http://
www.sciencedirect. com/science/article/pii/S0167404812001745.
83 Extractor of 274/548 Merged Features. http://dde.binghamton.edu/download/ccmerged/.
84 KODOVSKÝ, J.; “Rich Models for Steganalysis of Digital Images”, IEEE Trans. on Info. Forensics and Security, vol. 7(3), págs. 868-882, 2012. http://www.ws.binghamton.edu/fridrich/Research/TIFS2012-SRM.pdf.
85 Si desea profundizar en estos ataques le recomiendo la lectura de los diferentes artículos cientícos
enlazados en cada uno de los ataques sosticados que se referencian a lo largo de este capítulo.
114 ESTEGANOGRAFÍA
© RA-MA
El concepto de estegoanálisis a ciegas apareció por primera vez en el trabajo
propuesto por Avcibas, Memon y Sankur en 2001, 86 y consiste en realizar estegoanálisis
sin necesidad de conocer la técnica de ocultación empleada. La idea es clara: como
existe un número elevado de variantes posibles de cada técnica esteganográca
conocida y dado que la tendencia actual es utilizar portadores muy comunes, la idea
consiste en caracterizar el estegomedio potencial y extraer parámetros cuanticables
que permitan estimar variaciones entre un chero portador “normal” y el mismo chero
portador con información oculta. El trabajo teórico consiste en la cuanticación de
esos parámetros; una vez realizado esto pueden realizarse diversas implementaciones
prácticas mediante el uso de clasicadores que diferencien entre cubiertas originales
y potenciales estegomedios. En la última década los clasicadores SVM 87 (Support
Vector Machines) han tenido una importancia crucial en el estegoanálisis a ciegas; tanto
que es posible combinarlos para que no solo se detecte la presencia de información
oculta sino que, además, se puedan clasificar los estegomedios por técnicas
esteganográcas conocidas. En general, los ataques estegoanalíticos a medida sobre
algoritmos esteganográcos concretos darán mejores resultados que la detección
a ciegas, no obstante, si el algoritmo de detección a ciegas consigue clasicar un
estegomedio en una técnica esteganográca conocida será posible, posteriormente,
aplicar ataques a medida para intentar extraer la mayor cantidad posible de información
del estegomedio detectado, por ejemplo, el tamaño de la información oculta.
Si desea profundizar en esta temática le recomiendo para empezar las
publicaciones accesibles desde la página web de la estegoanalista Jessica Fridrich .88
Por ejemplo, su trabajo New Blind Steganalysis and its implications. 89
Aunque no es sencillo realizar una recomendación para protegerse frente a
estos ataques (véase el apartado de técnicas avanzadas de ocultación), hay un factor
que siempre estará en la mano del usuario que desee ocultar información en una imagen
digital, en un estegomedio en general, que es la cantidad de información a ocultar
entre el total disponible en una imagen dada. Si el porcentaje es bajo, típicamente
menor del 1%, los algoritmos estegoanalíticos más precisos presentarán cuantiosos
falsos positivos (no podrán diferenciar una estegoimagen real de perturbaciones
presentes por ruido natural en una imagen dada). Por tanto, es posible esquivar las
técnicas estegoanalíticas, pero si desea ocultar un mensaje de gran tamaño la tarea se
le complicará necesitando utilizar procedimientos matemáticos adicionales (matrices
de codicación) y distribución de la información en múltiples estegomedios.
86 AVCIBAS, I. et al.; “Steganalysis using image quality metrics”, Proceedings of SPIE Electronic
Imaging, Security and Watermarking of Multimedia Content III, vol. 4.314/2001, págs. 523-531.
87 https://en.wikipedia.org/wiki/Support_vector_machine.
88 http://www.ws.binghamton.edu/fridrich/publications.html#Steganography.
89 http://www.ws.binghamton.edu/fridrich/Research/EI06-6072-1.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 115
En cualquier caso, a modo conceptual se considera interesante detallar
algunos algoritmos estegoanalíticos clásicos para comprender cuál es la esencia
de este tipo de tecnología de detección facilitando la comprensión de ataques más
modernos si el lector desea profundizar en las referencias previamente indicadas.
3.5.1.1 ATAQUE VISUAL A UNA ESTEGOIMAGEN. ATACANDO LSB SECUENCIAL
El ataque visual90 fue uno de los primeros ataques que demostró de forma
rotunda que las consideraciones de ciertos autores, que defendían que el bit menos
signicativo de los valores de la luminancia en imágenes digitales tenía valores
completamente aleatorios y, por tanto, podría ser reemplazado sin problemas, eran
erróneas. El denominado ataque visual es un ejemplo de ltrado de la imagen que
muestra como es posible detectar la presencia de información oculta a simple vista.
Esta técnica demuestra algo que es considerado hoy en día por cualquier algoritmo
esteganográco moderno. No todas las zonas de píxeles en una imagen digital son igual
de aptas para ocultar información. Por ejemplo, si se dispone de una imagen que está
formada por áreas de color uniforme o áreas con colores “saturados” (0 o 255), un
analista puede deducir la presencia de información oculta mediante un simple ltrado
de la estegoimagen (es fácil detectar píxeles raros en una zona dada). Por ejemplo, un
ltrado de este tipo, para un chero BMP de 24 bits (es decir, 3 octetos representan cada
componente RGB del píxel), se puede hacer de la siguiente manera:
1. Se eliminan los 7 bits de mayor peso de cada componente (de cada byte),
es decir, se marcan a cero. Si el bit menos signicativo es 1 lo convertimos a 255, y
si es 0 lo dejamos como está.
2. Esta simple operación de mapeado, gracias al abrupto contraste, permite
hacer evidente información ocultada con técnica LSB.
Figura 3.25. Ataque visual a una potencial estegoimagen con 5 KB de información oculta con técnica
LSB secuencial. A la izquierda la imagen original, en el centro la imagen sin información oculta después
de aplicar un ataque visual, a la derecha el ataque visual a la imagen con la información oculta
90 Attacks on Steganographic Systems. Breaking the steganographic utilities EzStego, Jsteg, Steganos, and S-Tools – and some lessons learned. https://users.ece.cmu.edu/~adrian/487-s06/westfeldptzmann-ihw99.pdf.
116 ESTEGANOGRAFÍA
© RA-MA
En general, un ataque de tipo ltrado puede ser aplicado a estegomedios en
los que se haya ocultado información de forma secuencial o de forma pseudoaleatoria
en ciertas zonas. Aunque, como se puede razonar, se obtienen mejores resultados
cuando la información es insertada de forma secuencial, siendo los resultados
visuales más apreciables. El ataque visual también puede ser aplicado a imágenes
que poseen paleta de colores y cuyos índices se utilizan para ocultar información
mediante la modicación del LSB; clásicamente el formato gráco GIF, y también
el BMP cuando presenta paleta de colores. Sin embargo, este tipo de ataque presenta
una serie de limitaciones importantes, ya que no es posible aplicar este tipo de ataque
a imágenes “ruidosas” o imágenes de gran resolución de colores.
En el Anexo B podrá ver la forma de interactuar con este ataque utilizando la
herramienta de estegoanálisis StegSecret.
3.5.1.2 ATAQUE CHI-SQUARE. ATACANDO LSB SECUENCIAL
Los investigadores Andreas Ptzman y Andreas Westfeld publicaron un
interesante y potente ataque estadístico, 91 que puede ser aplicado a cualquier técnica
esteganográca, en el cual en un conjunto jo de parejas de valores (Pairs of Values
o PoV) se conmute de un valor al otro de la pareja cuando se insertan los bits del
mensaje oculto. Estas parejas se pueden formar, por ejemplo, cuando se aplica una
técnica LSB a los valores de píxeles, coecientes cuanticados DCT, índices a una
paleta de colores, etc. Por tanto, aplicable a múltiples técnicas de ocultación en
cheros grácos variados (BMP, JPEG, PNG, GIF, etc.).
En general, una pareja de valores (PoV) se puede ver como aquellos valores
que solo dieren en el último bit. Por ejemplo, si se considera como referencia un
octeto o 256 posibles valores, dispondremos de 128 (PoV) parejas diferentes.
Por ejemplo: 00000000-00000001, 00000010-00000011, 0000010000000101, 00000110-00000111,..., 11111110-11111111.
Se deduce fácilmente que, si se altera el bit menos signicativo, un octeto
de una pareja se convierte en el otro valor de la pareja. El ataque Chi-square se
aprovecha de esta circunstancia partiendo de los siguientes hechos que se pueden
comprobar.
91 Attacks on Steganographic Systems. Breaking the steganographic utilities EzStego, Jsteg, Steganos, and S-Tools – and some lessons learned. https://users.ece.cmu.edu/~adrian/487-s06/westfeldptzmann-ihw99.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 117
1. Antes de ocultar un mensaje en el bit menos signicativo las ocurrencias
de cada valor en la pareja se distribuyen de forma no equitativa.
2. Después de ocultar un mensaje las ocurrencias de valores de una misma
pareja tienden a igualarse. Esto depende del tamaño del mensaje oculto.
Este hecho puede ser aprovechado para utilizar esta información en un
test estadístico Chi-square que analice cómo de probable es que ambos
valores en la pareja sean iguales. Además, si la información se ha insertado
de forma secuencial (en píxel, coecientes DCT, índices, etc.) el analista
puede observar un cambio abrupto en los resultados estadísticos que
incluso pueden reejar el nal del mensaje oculto, delatando su tamaño.
Con esta información previa se puede comprender cómo funciona el
ataque Chi-square:
● Se calcula el número de ocurrencias de cada valor de la pareja.
● Se aplica un análisis estadístico de las muestras anteriores, en concreto
se calcula el test estadístico Chi-square con los valores de las parejas.
Este test presenta k-1 grados de libertad, donde k es el número de valores
a procesar, n i representa el número de ocurrencias para un valor de cada
pareja y n’i el valor teórico esperado. Si la información insertada es un
mensaje aleatorio, típicamente un mensaje cifrado, el valor esperado para
una pareja será la mitad de la suma de los valores que la forman. Por
ejemplo, si tenemos 500 valores, y aparece 100 veces el valor 01011100 y
400 veces el valor 01011101, la frecuencia esperada para cada valor si se
supone un mensaje aleatorio será del 50%, es decir, 250 para cada valor.
3. Finalmente se resuelve la expresión:
donde el valor p expresa la probabilidad de que las distribuciones n i y n’ i
sean iguales. Si la probabilidad es cercana a 1 entonces existirá información
118 ESTEGANOGRAFÍA
© RA-MA
oculta, si es cercana a 0 no. Si se analiza una imagen en el mismo sentido
en el que fue insertado de forma secuencial un mensaje se observa como
el valor de p es cercano a 1 y cae repentinamente a 0 cuando se llega al
nal del mensaje oculto. Si los píxeles de la estegoimagen son elegidos
de forma pseudoaleatoria en lugar de en forma secuencial, este ataque
pierde bastante precisión a no ser que se utilicen la gran mayoría de los
píxeles de la imagen, típicamente más de un 97%. Westfeld describe una
generalización de este ataque para el caso de inserción de información
de forma pseudoaleatoria, en lo que se conoce como ataque Chi-square
generalizado, en el que se aprovecha básicamente la misma idea pero
trabajando individualmente con píxeles o con un conjunto reducido
de píxeles vecinos. La generalización de este ataque presenta peores
resultados que los que permite el ataque RS que se verá posteriormente.
En cualquier caso, el ataque Chi-square (simple) es uno de los métodos
estadísticos más precisos para detectar la presencia de un mensaje
que ha sido ocultado de forma secuencial utilizando una técnica LSBreplacement. No obstante, dependiendo de la imagen analizada se puede
observar uctuaciones imprecisas del valor p. Por ejemplo, en imágenes
que no contienen información oculta presenta una pequeña uctuación
del valor p antes de caer a 0. Con lo cual un analista podría asumir que
una imagen que no contiene información posee una información oculta
muy pequeña, típicamente una centena de octetos. Este es el límite último
del algoritmo, y como sucede en la gran mayoría de los algoritmos de
detección analizados, supone el mínimo umbral de detección. Es decir,
ocultar una información de un tamaño menor al umbral de detección del
algoritmo de estegoanálisis hará “invisible” la información, en cuanto
el algoritmo no puede proporcionar la información suciente de si la
detección corresponde a una imagen real que tiene información oculta o
si es un falso positivo. En el Anexo B podrá ver la forma de interactuar
con este ataque utilizando la herramienta de estegoanálisis StegSecret.
3.5.1.3 ATAQUES RS Y PAIR VALUES. ATACANDO LSB PSEUDOALEATORIO
El ataque RS 92 (2001) permite la detección de información oculta que se
inserta de forma pseudoaleatoria, mediante una técnica LSB-replacement, sobre los
píxeles de una imagen de color o de escala de grises, por ejemplo, en un chero BMP
clásico (principios similares son aplicables a ocultación en coecientes DCT, índices
92 FRIDRICH, J. et al.; Reliable Detection of LSB Steganography in Color and Grayscale Images.
http://www.ws.binghamton.edu/fridrich/Research/acmwrkshp_version.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 119
a una paleta de colores, etc.). Este ataque proporciona un mecanismo preciso de
estimación del tamaño del mensaje oculto, así como una precisión de detección de
0,005 bits por píxel (según las pruebas realizadas para imágenes de alta resolución
obtenidas con cámaras digitales y escáneres). Es decir, si se supone una imagen de
grises en la que cada píxel se presenta con un octeto, este ataque podría detectar un
mensaje oculto que fuera ocultado utilizando como poco, de media, 5 bits por cada
1.000 píxeles (octetos), esto es, un 0,5% de la ocupación total posible.
La idea detrás de este ataque resulta sencilla de comprender. Si se considera
una imagen como áreas lo sucientemente pequeñas, para que una posible técnica de
ocultación pseudoaleatoria muestre un comportamiento cuasisecuencial, es posible
estudiar una serie de píxeles vecinos y analizar qué diferencias existen entre ellos,
detectando posibles anomalías o inserciones. Para comprender el ataque supongamos
que se tiene una imagen de MxN píxeles con valores que pertenecen al conjunto P,
por ejemplo, para una imagen de 8 bits de escala de grises, P = {0,...,255}. Según
estas condiciones el ataque opera de la siguiente manera:
1. El algoritmo se inicia dividiendo la imagen en grupos disjuntos de
n píxeles adyacentes (x 1,...,x n). Por ejemplo, grupos de n = 4 píxeles
consecutivos por la.
2. Se dene una función de discriminación f que asigna un número real
f(G) a cada grupo de píxeles G = (x 1 ,...,xn ). El propósito de esta función
es capturar la suavidad o regularidad del grupo de píxeles G. El grupo
de píxeles que presente más ruido será aquel cuyo valor de la función de
discriminación sea mayor. Por ejemplo, una función de discriminación
posible es:
aunque puede establecerse cualquier otra según las consideraciones
estadísticas que se impongan a la estegoimagen.
3. Se dene una operación invertible F en P denominada ipping. Al ser
invertible se cumple que F 2 es la identidad, es decir, F(F(x)) = x para ∀x
∈ P. Con esta función se denen tres tipos de permutaciones:
● F0 denida como la permutación identidad, F(x) = x para ∀x ∈P.
● F1 que corresponde a conmutar el LSB de cada valor x.
120 ESTEGANOGRAFÍA
© RA-MA
● F-1 que consiste en aplicar un desplazamiento al plano LSB.
Es decir, F -1 (x) = F1 (x+1)-1 para ∀x.
La función de discriminación f y las operaciones de ipping denen tres
tipos de grupos de píxeles: R, S y U (unused).
] Grupos Regulares: GeR ⇔ f(F(G)) > f(G)
] Grupos Singulares: GeS ⇔ f(F(G)) < f(G)
] Grupos sin Uso: GeU ⇔ f(F(G)) = f(G)
La función F(G) signica aplicar la función F (ipping) a las componentes
del vector G = (x1,...,x n). Es posible aplicar diferentes permutaciones (ipping) a
diferentes píxeles del grupo G según las necesidades, de hecho, es posible utilizar
una máscara M, que es una n-tupla con valores -1, 0 o 1. Por tanto, tendríamos que
F(G) es (FM(1) (x1),...,FM(n)(x n )). El propósito de la operación de ipping F es modicar
con una pequeña cantidad los valores de los píxeles de una forma invertible,
simulando la inserción de un ruido (invertible). En imágenes típicas, introducir una
pequeña cantidad de ruido permitirá un incremento en la función de discriminación
en lugar de un decremento. Por tanto, el número total de grupos regulares será más
grande que el número total de grupos singulares. Si denotamos el número de grupos
regulares para una máscara M como R M (en tanto por ciento de todos los grupos), y
SM al número de grupos singulares, sabemos que R M + SM ⊆ 1 y R -M + S-M ⊆ 1, para
la máscara negativa.
La hipótesis estadística en la que se basa este método estegoanalítico es que
en una imagen típica, el valor esperado de R M es aproximadamente igual al valor
de R-M, y lo mismo para S M y S-M. Esta condición sin embargo se modica cuando
se inserta información de forma aleatoria en los LSB. La aleatorización de los LSB
fuerza la diferencia entre R M y SM a cero, mayor aun si el tamaño del mensaje oculto
se incrementa. Después de la modicación del 50% de los píxeles, lo cual sucede al
ocultar un mensaje aleatorio en cada píxel, se obtiene que R M @ SM . Curiosamente
R-M y S-M sufren el efecto opuesto. Su diferencia se incrementa con el tamaño m del
mensaje oculto.
Descargado en: eybooks.co m
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 121
Figura 3.26. Diagrama RS
El principio de este procedimiento estegoanalítico se basa en resultados
experimentales de las propiedades anteriores. Si se analizan los grupos R y S de
una imagen variando el tamaño de los mensajes ocultos se observa que aparecen
una serie de curvas (diagrama RS) que lo representan y que reejan el tamaño del
mensaje oculto. La idea de este procedimiento consiste en estimar de la estegoimagen
las cuatro curvas del diagrama RS y calcular su intersección usando extrapolación.
La forma general de las cuatro curvas en el diagrama variará dependiendo de la
imagen original desde la más perfecta línea a una curva. Las pruebas experimentales
demuestran que R -M y S- M pueden ser modeladas con cierta precisión como una línea
recta, mientras que un polinomio de segundo grado aproxima las curvas R M y SM
razonablemente bien. La determinación de los parámetros de las curvas reejará el
tamaño p del mensaje oculto. Para obtenerlo es necesario seguir los siguientes pasos:
1. Se mide el número de grupos R y S presentes en la estegoimagen
sospechosa, para dos máscaras M y –M, obteniendo R M (p/2), SM(p/2),
R-M (p/2) y S -M(p/2). El término ½ es debido a asumir que el mensaje
oculto es un ujo de bits aleatorios, de media solo la mitad de los píxeles
serán modicados para insertar el mensaje.
122 ESTEGANOGRAFÍA
© RA-MA
2. Se conmuta el LSB de todos los píxeles de la estegoimagen y se calculan
los grupos R y S para dos máscaras M y –M, obteniendo los puntos
RM(1-p/2), S M(1-p/2), R-M(1-p/2) y S -M(1-p/2).
3. RM(1/2) y SM(1/2) se pueden calcular suponiendo que el punto de
intersección de las curvas R M y R -M tiene la misma coordenada x como
el punto de intersección para las curvas S M y S -M. Las curvas RM y S M se
cortan en m = 50% o R M(1/2) = SM(1/2).
Con estos puntos es posible construir las líneas rectas a partir de R -M(p/2),
R-M(1-p/2), S-M (p/2), S -M(1-p/2), y denir las dos parábolas a partir de R M(p/2),
RM(1/2), RM (1-p/2), SM (p/2), SM (1/2), SM(1-p/2). La intersección de las curvas
permitirá estimar el tamaño p del mensaje oculto. Operando con estas expresiones se
deduce una ecuación cuadrática:
2 (d1 +d0 ) x2 + (d -0-d-1-d1-3d 0) x + d 0-d-0 = 0
donde
d 0 = R M(p/2) - S M(p/2)
d -0 = R-M (p/2) - S-M (p/2)
d 1 = R M(1-p/2) - SM(1-p/2) d-1 = R-M (1-p/2) - S-M(1-p/2)
La raíz x cuyo valor absoluto es menor permitirá estimar el tamaño del
mensaje oculto. Calculando:
p=x/(x-½)
La precisión del algoritmo viene asociada a una serie de limitaciones del
algoritmo. Las condiciones iniciales de la imagen original, su nivel de ruido y el
lugar donde se oculte el mensaje de bits son tres factores principales que inuyen en
la precisión de la estimación del tamaño del mensaje:
Condiciones iniciales. Incluso las imágenes originales pueden indicar un
tamaño de mensaje distinto de cero debido a variaciones aleatorias. Estas condiciones
iniciales ponen un límite a la precisión teórica del método estegoanalítico. Si se
puede estimar el tamaño inicial del mensaje ml 0 (es decir, el que se mide en ausencia
de mensaje en la imagen original), se puede usar la siguiente fórmula para corregir
el tamaño del mensaje detectado ml det .
ml = ml det- ml 0 / 1 - ml 0
Ruido. Para imágenes ruidosas, la diferencia entre el número de grupos
regulares y singulares en la imagen original es pequeña. Consecuentemente, las
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 123
© RA-MA
líneas en el diagrama RS se cruzan en un ángulo más pequeño y la precisión del
ataque de estegoanálisis se decrementa.
Localización del mensaje. El estegoanálisis RS es más preciso para mensajes
que se ocultan de forma pseudoaleatoria en toda la imagen que para mensajes que se
centran en un área concreta, en este último caso se puede aplicar el mismo algoritmo
pero dividiendo la imagen por zonas. Para mensajes secuenciales, es aconsejable el
ataque Chi-square.
En este punto el lector comprenderá la complejidad del diseño de los ataques
estegoanalíticos. Sin duda, la comprensión del ataque RS le permitirá comprender
con mayor facilidad ataques estegoanalíticos más modernos. En cualquier caso,
si el lector desea experimentar con este ataque se recomienda leer el Anexo B y
experimentar con la herramienta de estegoanálisis StegSecret.
Ataque Pair Values
La confección de este ataque guarda muchas similitudes con el anterior.
Este método estegoanalítico es especialmente aconsejable para imágenes de 8 bits,
como imágenes GIF, donde los mensajes se insertan en el LSB de los índices que
apuntan a una paleta de colores. Los experimentos publicados reejan que es posible
la detección de un mensaje oculto de 0,1 bits por píxel, es decir, mensajes un 10%
menores que la capacidad total de ocultación en la imagen.
Se puede deducir que la raíz q más pequeña de la siguiente ecuación
cuadrática aproxima el tamaño del mensaje oculto.
4 D(1/2)q 2 + [D(1-q) - D(q) - 4D(1/2)]q + D(q) = 0
El ataque RS presenta mejores resultados para detección de información
oculta en cheros BMP de 8 y 24 bits, y ligeramente superior en imágenes de
escala de grises. El ataque Pair Values muestra unos resultados un poco más ables
para técnicas en las cuales se modican los LSB de los índices que enlazan a una
paleta preordenada. En cualquier caso, los dos métodos son de utilidad y pueden
ser utilizados conjuntamente para la detección. Si desea ampliar información sobre
este ataque le recomiendo la lectura de la investigación Higher-order statistical
steganalysis of palette images.93
93 FRIDRICH, J. et al. http://www.ws.binghamton.edu/fridrich/Research/pairs01.pdf.
124 ESTEGANOGRAFÍA
© RA-MA
Figura 3.27. Diagrama Pair Values
3.6 TÉCNICAS AVANZADAS DE OCULTACIÓN DE INFORMACIÓN EN IMÁGENES
DIGITALES
3.6.1 Reducción del impacto. Matrix embedding y wet paper codes
El lector ya conoce que la mayoría de ataques estegoanalíticos se basan, de
una manera u otra, en procedimientos estadísticos. Por tanto, a menor número de
modicaciones la precisión de estos ataques será menor. En el mejor de los casos un
atacante no podrá diferenciar el ruido natural presente en un estegomedio dado de un
estegomedio con información oculta. En la última década diferentes investigadores
han centrado su interés en desarrollar procedimientos matemáticos para minimizar
el impacto introducido en un estegomedio cuando se introduce una información que
se desea permanezca oculta. Estos esfuerzos han sido signicativos en el caso de las
imágenes digitales, aunque estos principios pueden ser aplicados a otros estegomedios.
Entre las técnicas más interesantes destacan las matrices de codicación, matrix
embedding en terminología inglesa, y los wet paper codes. A grandes rasgos, 94 las
matrices de codicación permiten mediante unos cálculos matemáticos que, de
media, las modicaciones realizadas en un estegomedio, en nuestros ejemplos sobre
una imagen digital, sean menores que la información a ocultar (obsérvese que la
94 En este libro no se cubre la descripción matemática de las diferentes propuestas por cuestión de
espacio. En cualquier caso, puede encontrar fácilmente información de esta temática en Internet
utilizando los términos matrix embedding steganography.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 125
información puede estar codicada a su vez como se desee). El funcionamiento de
este tipo de técnicas es fácil de entender con un pequeño ejemplo. 95 En la siguiente
imagen se adjuntan unas fórmulas basadas en la operación or-exclusiva que permiten
ocultar siempre 2 bits de información con una única modicación en la imagen, en
el peor de los casos. Es decir, con esta formulación tan sencilla somos capaces de
reducir como poco el número de inserciones en una imagen al 50%. Veamos por qué.
Figura 3.28. Ejemplo de matriz de codificación 2:3
En este ejemplo deseamos ocultar 2 bits (x 1 , x2 ) en el LSB de 3 píxeles
(a1 , a2, a 3) de una imagen, por tanto, en 3 bits. El proceso de inserción consiste en
calcular la operación or-exclusiva de los valores a 1-a3 y a 2-a 3. El valor a 3 sirve para
poder “enlazar” las dos operaciones. Si estas operaciones son igual al valor que se
desea insertar no se modica nada. Si una de ellas no se cumple se modica el valor
correspondiente (a 1 o a2 ), a no ser que no se verique ninguna de las dos ecuaciones
en cuyo caso se modica a 3 (se invierte el valor del bit). De esta forma tan sencilla
los valores (por ejemplo, coecientes, píxeles, índices de una paleta, etc.) a 1 , a2 y a3
almacenan 2 bits de información oculta mediante la modicación, como mucho, de 1
solo píxel. En realidad, se realizan modicaciones de 1 bit el 75% de las veces (3/4).
El proceso de recuperación de la información es muy sencillo a partir de los 3 valores
almacenados (a 1, a2, a3 ), ya que con la codicación empleada a 1 or-exclusiva a 3 indica
cuál es el valor del bit oculto x 1 y a2 or-exclusiva a 3 indica el valor del bit oculto x 2 .
Uno de los problemas fundamentales de las matrices de codicación
para reducir el número de inserciones es la necesidad de necesitar más bits en el
estegomedio de los necesarios para ocultar la información. En nuestro ejemplo, se
necesitan 3 bits por cada 2 bits a ocultar. Lo cual establece limitaciones al necesitarse
imágenes grandes para ocultar mayores volúmenes de información con mayor
invisibilidad. En el caso de la herramienta F5, como se describió anteriormente, se
necesitaban n = 2K-1 bits para poder ocultar k bits modicando solo un único bit de
la imagen. Como se puede observar, el crecimiento del tamaño que tendría que tener
la estegoimagen es exponencial según crece el número de k bits a ocultar. Este es
uno de los motivos, como en el ejemplo comentado, por el cual k suele tener un valor
95 Una generalización de esta técnica es utilizada por la herramienta F5, que fue descrita con anterioridad.
126 ESTEGANOGRAFÍA
© RA-MA
pequeño. Si bien el número de modicaciones será mayor, se consigue un equilibrio
adecuado entre el tamaño del estegomedio seleccionado y la invisibilidad deseada.
No obstante, los investigadores no tiran la toalla. Diferentes investigaciones
siguen trabajando en el desarrollo de matrices de codicación útiles para ocultar mensajes
de gran tamaño, aproximando el tamaño de la información a ocultar a la capacidad
efectiva de ocultación del estegomedio. Una investigación interesante en este sentido
fue publicada por Jessica Fridrich et al. en Matrix Embedding for Large Payloads. 96
Adicionalmente al problema de intentar reducir el número de inserciones en
un estegomedio para ocultar información se presenta otra problemática. No todas
las zonas o localizaciones de un estegomedio son igual de propicias para ocultar
una información. Por ejemplo, en una imagen digital es más conveniente, para
minimizar ataques estadísticos, no realizar modicaciones en zonas donde haya
mucha presencia de colores uniformes. Esta problemática es la que intentan cubrir
las técnicas de wet paper codes. Esta técnica esteganográca hace uso de la metáfora
de escribir en papel mojado. Imagine que la imagen donde se ocultará el mensaje
ha sido expuesta a la lluvia. El emisor solo puede modicar las partes secas, nunca
las partes mojadas. Durante la transmisión, la imagen se seca, de manera que el
receptor no sabe qué partes de la imagen ha usado el emisor para escribir. Por tanto,
el problema que intenta cubrir este tipo de esteganografía es cómo poder escribir en
ciertas zonas de la imagen de manera que el receptor, que no sabe dónde se ha escrito
esta información, sea capaz de leerla correctamente.
Para comprender estas propuestas son necesarios conocimientos importantes
de procedimientos matemáticos variados. El lector interesado puede iniciarse en
estas técnicas mediante las siguientes investigaciones:
] FRIDRICH, J.; GOLJAN, M.; LISONEK, P. y SOUKAL, D.; Writing on
Wet Paper.97
] FRIDRICH, J.; GOLJAN, M. y SOUKAL, D.; Efcient Wet Paper
Codes. 98
] FRIDRICH, J.; GOLJAN, M. y SOUKAL, D.; Wet Paper Codes with
Improved Embedding Efciency.99
96 http://www.ws.binghamton.edu/fridrich/Research/large_payloads-spie.pdf.
97 http://www.ws.binghamton.edu/fridrich/Research/WPC_TransactionsJournal1.pdf.
98 http://www.ws.binghamton.edu/fridrich/Research/WPC_IHW_nal.pdf.
99 http://www.ws.binghamton.edu/fridrich/Research/wpc_with_improved_embedding_efciencyieee.pdf.
© RA-MA
Capítulo 3. OCULTACIÓN DE INFORMACIÓN EN IMÁGENES DIGITALES 127
3.6.2 Técnicas de ocultación avanzadas. Bordes y texturas
El lector, en este punto, es posible que ya se haga una serie de preguntas
que serán incrementadas cuando lea los siguientes capítulos. Da la sensación de
que existen multitud de herramientas esteganográcas para ocultar información
en múltiples estegomedios, en este capítulo en concreto en diferentes formatos
grácos utilizando técnicas esteganográcas variadas. Da la sensación de que casi
cualquier herramienta o técnica esteganográca desarrollada puede ser detectada
por procedimientos estadísticos o estegoanálisis a ciegas si se oculta un volumen
importante de datos (esto dependerá del formato y de la imagen concreta elegida),
con la única protección de intentar minimizar el número de inserciones en las mejores
zonas del estegomedio para evitar una detección precisa. Alguna de las preguntas que
es posible que se esté haciendo son: ¿está la batalla perdida?, ¿cuál es el mecanismo
más robusto para ocultar la información en imágenes digitales?
Las investigaciones publicadas en la última década hacen evidente una
respuesta. Si el algoritmo esteganográco está disponible para el estegoanalista, a
diferencia de lo que sucede con la criptografía, tarde o temprano será posible detectar
la información oculta si se dan una serie de condiciones, típicamente ocultar una
información de gran tamaño en un estegomedio y las características particulares de
cada estegomedio elegido.
A pesar de esta aparente noticia negativa, la investigación pública en nuevas
técnicas de ocultación no está parada. En los últimos años, numerosos esfuerzos
se han destinado a la creación de algoritmos para modelar con precisión imágenes
digitales para detectar qué zonas de la misma son aptas para ocultar información de
manera más invisible. Basado en estas ideas se ha prestado un especial interés en
técnicas de ocultación en zonas donde estén presentes ejes o zonas con texturas. Este
tipo de zonas tienen la particularidad de que se producen grandes saltos en el valor
de los píxeles, debido a cambios de color o de tonalidad en esa parte de la imagen.
Estos saltos son difíciles de modelar para un atacante.
Siguiendo estos principios, nuevas técnicas de ocultación basadas en
esteganografía adaptativa permiten mejores resultados. Destacan, por ejemplo, el
sistema HUGO (Highly Undetectable Stego, 2010) 100 y WOW (Wavelet Obtained
Weights, 2012)101. Estos sistemas esteganográcos son algunos de los procedimientos
públicos más robustos que hoy en día puede encontrar el lector en herramientas
fácilmente accesibles.
La esteganografía con HUGO oculta información tanto en los ejes como en
las texturas. Su diseño parte de la idea de establecer y analizar diferentes funciones
100 Artículos y código fuente: http://agents.fel.cvut.cz/boss/index.php?mode=VIEW&tmpl=materials.
101 http://dde.binghamton.edu/download/stego_algorithms/download/WOW_linux_make_v10.tar.gz.
128 ESTEGANOGRAFÍA
© RA-MA
de distorsión, a medida, para no ser detectable por un sistema de estegoanálisis
concreto. En el momento en el que se publicó HUGO, el algoritmo de estegoanálisis
SPAM102 era la herramienta pública más potente para la detección de esteganografía.
Sus resultados eran excepcionales con LSB-matching, por lo que HUGO se diseñó
para ser indetectable por SPAM. Más tarde, ataques 103,104 demostrarían que una mayor
seguridad puede obtenerse considerando solo el modelado de las texturas. Es el caso
de la función de distorsión usada por el algoritmo WOW. La función de distorsión
usada por WOW busca texturas (zonas ruidosas) evitando ejes. Para ello, usa ltros
direccionales para asegurarse de que una zona es ruidosa en todas las direcciones y
que, en consecuencia, no es un eje fácil de modelar. Como consecuencia, los datos
insertados por WOW son incluso menos detectables que los insertados por HUGO.
Por desgracia, WOW también es atacable en determinadas circunstancias. 105
Ante todo esto, hay un par de conclusiones sobre las que reexionar. La
primera de todas, aunque los sistemas esteganográcos se diseñen para no estar
basados en oscuridad, es aconsejable que el estegoanalista disponga de la menor
información posible sobre el tipo de estegomedio elegido y el algoritmo desarrollado.
La historia demuestra que es cuestión de tiempo que el algoritmo se vulnere. La
segunda recomendación es minimizar el número de inserciones en zonas de calidad
y utilizar múltiples portadores, por ejemplo varias imágenes, para ocultar mensajes
de tamaño grande sin facilitar la tarea a ataques estadísticos. Aunque la cantidad a
ocultar depende de muchos factores, entre ellos la capacidad efectiva de ocultación de
la estegoimagen, 106 en la práctica, para imágenes de una centena de KB, la ocultación
de una centena de bits puede estar en un umbral razonable de invisibilidad (habría
que analizarlo para la técnica e imagen concreta).
En último lugar, por desgracia, tanto las técnicas de ocultación como de detección
más sosticadas suelen quedarse en ámbitos de investigación y pruebas conceptuales, no
existiendo herramientas de fácil uso para el usuario común. La única opción que le queda,
si de verdad desea utilizar los algoritmos esteganográcos más robustos, es analizar todos
los avances en estegoanálisis e implementar sus propias herramientas.
102 Steganalysis by Subtractive Pixel Adjacency Matrix. http://www.ws.binghamton.edu/fridrich/ Research/ paper_6_dc.pdf.
103 Steganalysis of Highly Undetectable Steganography Using Convolution Filtering. http://www.
scialert.net/qredirect.php?doi=itj.2014.2588.2592&linkid=pdf.
104 Breaking HUGO. The process Discovery. http://www.ws.binghamton.edu/fridrich/Research/ hugobreakers05.pdf.
105 Adaptive steganalysis against WOW embedding Algorithm. http://dl.acm.org/citation.cfm?id=2600935.
106 Recuerde, por ejemplo, que el antiguo ataque RS (2001) permitía detectar una información oculta
en LSB pseudoaleatorio cuando esta era superior a 0,005 bits por píxel (de media). Es decir, una
ocultación mayor al 0,5% de la capacidad total de ocultación permitida en una imagen.
4
OCULTACIÓN DE INFORMACIÓN EN AUDIO
Y VÍDEO DIGITAL
“La música puede dar nombre a lo innombrable
y comunicar lo desconocido”.
Leonard Bernstein
4.1 ESTEGANOGRAFÍA Y WATERMARKING EN EL AUDIO/VÍDEO DIGITAL.
ESTUDIANDO EL OJO Y OÍDO HUMANOS
Un medio excelente, a priori, para enmascarar información, al igual que
sucede con las imágenes digitales, es el audio o el vídeo (mezcla de las dos anteriores),
debido a su uso cotidiano y generalizado en la sociedad de entretenimiento actual. El
avance de la tecnología, en la última década, ha permitido la creación de dispositivos de
consumo cada vez más pequeños y autónomos, que facilitan la creación, reproducción,
replicación y distribución de audio y vídeo. La variedad de dispositivos para reproducir
y almacenar audio/vídeo, y la gran cantidad de herramientas disponibles para poder
tratarlos, hacen interesante la utilización de estos medios para ocultar información,
debido principalmente a la facilidad con la que una información enmascarada puede
pasar inadvertida, especialmente en Internet y las redes sociales.
La esteganografía, en el audio o en el vídeo, en la mayoría de los casos se
basa en aprovechar deciencias en nuestros sistemas receptores. Al igual que sucedía
con las modicaciones en imágenes, que podían producir cambios visuales notorios
apreciables mediante el sistema de visión humano si no se tomaban precauciones, es
vital, en un entorno multimedia, audio y vídeo, conocer también las propiedades del
sistema de audición humano.
130 ESTEGANOGRAFÍA
© RA-MA
En términos generales, el sistema de audición humano es bastante más difícil
de engañar que el sistema de visión. Presenta un rango dinámico mayor, percibiendo
sonidos para rangos grandes de potencia y frecuencia. Por ejemplo, el oído presenta
una sensibilidad alta a la presencia de un ruido blanco gausiano añadido a una señal
de audio. Esta detección puede ser incluso de unos 70 dB por debajo del nivel de ruido
ambiente. Sin embargo, a pesar de estas propiedades, existen diversas situaciones en
las que el sistema puede ser engañado, es impreciso en la detección. Un ejemplo
sencillo de comprender es como ante la presencia de “sonidos fuertes” y “sonidos
más débiles” los primeros tienden a enmascarar a los segundos. O, como el sistema
de audición humano es poco sensible a ciertos cambios de fase en una señal de audio
o a la supresión (modicación) de ciertas frecuencias en la señal de audio, como
por ejemplo, realiza el estándar MPEG-1 audio Layer III (MP3). El estudio de las
limitaciones del sistema de audición humano es el punto de partida para el diseño
correcto de un algoritmo esteganográco que oculte información en señales de audio
o vídeo, pero no es el único, al igual que sucede con otros estegomedios o algoritmos
comentados. La introducción de modicaciones puede crear patrones no comunes
que pueden ser detectados mediante estudios estadísticos de las propiedades de
la señal empleada. El lector puede comprobar esto en herramientas típicas que se
pueden descargar de Internet: MP3Stego, 107 MP3Stegz, 108 OpenPuff, 109 Silenteye, 110
Steghide, 111 StegoWav,112 S-Tools, 113 GiLBCSteg,114 Hide4PGP 115 o DeepSound. 116
Al igual que sucede con la esteganografía en imágenes digitales existen 3
parámetros que siempre se deberán considerar a la hora de ocultar información en
estos medios: la cantidad de información a ocultar, la invisibilidad y la robustez frente
a ataques que intenten eliminarla. Por los algoritmos publicados y difundidos, no es
posible obtener a la vez excelentes resultados en cada una de estas características.
Por ejemplo, es muy complicado obtener una alta robustez a la modicación de la
107 http://www.petitcolas.net/fabien/steganography/mp3stego.
108 http://sourceforge.net/projects/mp3stegz/.
109 http://embeddedsw.net/OpenPuff_Steganography_Home.html.
110 http://www.silenteye.org/.
111 http://steghide.sourceforge.net/.
112 https://packetstormsecurity.com/les/21655/stegowav.zip.html.
113 http://bit599.netai.net/s_tools_1.htm#demo.
114 https://github.com/Garrestotle/GiLBCSteg.
115 http://www.heinz-repp.onlinehome.de/Hide4PGP.htm.
116 http://jpinsoft.net/DeepSound/.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 131
información insertada en señales de audio y conseguir a la vez una capacidad de
ocultación alta, así como mezclar estos requisitos para obtener una calidad de audio
razonable que no advierta modicaciones en la señal. En función del escenario se
primará un parámetro sobre otro. Por ejemplo, para conseguir marcas de agua 117 en
audio digital se prioriza la robustez de la marca de agua (que sea difícil de eliminar)
a su invisibilidad o tamaño efectivo de información introducida en el contenido.
Para abordar esta problemática, en los últimos años se han documentado
diversas técnicas de ocultación que van desde colocar información en niveles
imperceptibles de ruido, manipulación de algoritmos de compresión, pequeños
retardos de las señales en forma de eco, manipulación de las propiedades de las señales
portadoras (por ejemplo, el oído no aprecia bien las altas frecuencias), técnicas en
espectro ensanchado (spread spectrum), etc. Un ejemplo clásico es la utilización
de medios de almacenamiento “ruidosos” para almacenar una información. Por
ejemplo, grabar un audio con información oculta a cintas de casete, cuya calidad
deja mucho que desear, y cuyo ruido inherente al dispositivo puede hacer pasar la
información oculta por desapercibida.
En cualquier caso, en las siguientes líneas se van a analizar algunas de las
técnicas esteganográcas más comunes en señales digitales de audio/vídeo. Muchas
de las cuales han sido y pueden ser utilizadas y evolucionadas para el diseño de
sistemas esteganográcos más robustos y de marcado digital. No obstante, el lector
debe ser consciente de que las propuestas cientícas (esteganográcas) en medios
multimedia exceden en tamaño el espacio destinado a cubrir estas materias en
este libro. Toda la información referente a esta cuestión en este libro le permitirá
fácilmente comprender la materia y analizar y probar las herramientas más comunes
disponibles en Internet. Para ampliar conocimientos estos resúmenes le servirán de
guía en su búsqueda en Internet.
4.2 OCULTACIÓN DE INFORMACIÓN EN FICHEROS DE AUDIO. ESTUDIO DE
DIFERENTES FORMATOS
4.2.1 Técnica LSB en muestras de audio. Esteganografía en fichero .wav
La técnica LSB es una de las técnicas de ocultación más antiguas que permite
ocultar información en muestras de audio. Al igual que sucede con los píxeles en
cheros grácos, es posible aplicar la técnica de sustitución del bit menos signicativo,
117 Una marca de agua introduce un mensaje (oculto o no) en el interior de un objeto digital (imágenes,
audio, vídeo, texto, software). Típicamente un grupo de bits que contiene información sobre el
autor o propietario intelectual del objeto digital tratado (copyright).
132 ESTEGANOGRAFÍA
© RA-MA
y sus variantes, a las muestras de audio, es decir, en un mundo digital, los octetos que
contienen la información real del audio almacenado. La incapacidad del oído humano
de apreciar pequeñas diferencias posibilita la utilización de este tipo de técnicas en
las muestras de audio, almacenadas, por ejemplo, en un chero digital de audio. Un
ejemplo típico de la aplicación de este tipo de técnicas se puede ver en la ocultación
de información en cheros digitales de audio, muy extendidos, con formato WAVE 118
(Waveform Audio Format), por ejemplo, los clásicos cheros de audio con extensión
WAV. Este tipo de chero con este formato de audio digital, normalmente sin
compresión de datos, facilita el acceso a la codicación digital de las muestras de audio
almacenadas en el mismo, típicamente codicadas con 8 o 16 bits. Las muestras son
almacenadas una detrás de otra, normalmente, con cuanticación uniforme.
La facilidad de acceso a las muestras que contienen la información de audio
hace de esta técnica una de las más sencillas y utilizadas con nes esteganográcos.
Una herramienta que demuestra estos conceptos es la utilidad StegoWav 119 .
Figura 4.1. Formato WAVE. Ficheros .wav
118 Hiding Data in Wave Audio Files. http://www.codeproject.com/Articles/6960/SteganographyVIII-Hiding-Data-in-Wave-Audio-Files.
119 https://packetstormsecurity.com/les/21655/stegowav.zip.html.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 133
Figura 4.2. Ejemplo de muestra de audio en el formato WAVE
Como se destacó para este tipo de técnica cuando se habló de esteganografía
en imágenes, se puede operar con muestras de audio individuales, en grupo,
seleccionarlas aleatoriamente, etc. De nuevo, dependiendo de este criterio se pueden
realizar diversas variantes de la técnica clásica LSB. Los principales inconvenientes
de la utilización de esta técnica están relacionados con el margen de seguridad que se
desee obtener y con cuál será la utilización práctica de esta técnica. La modicación
de los bits (bit LSB u otros bits) de las diferentes muestras de audio para insertar
información oculta provocará “alteraciones en la señal de audio” que hacen que se
añada una pequeña potencia de ruido (típicamente, blanco gausiano) a dicha señal.
El sistema de audición humano es sensible a este tipo de ruido, lo cual, en primera
instancia, limitará el número de bits y muestras que pueden ser modicados sin que
los cambios sean perceptibles (degradación de la calidad de la señal). En cualquier
caso, al producirse modicaciones, será posible aplicar algoritmos estegoanalíticos
conceptualmente parecidos al estegoanálisis en imágenes digitales para medir
anomalías estadísticas. Cuantas más modicaciones se realicen más información
tendrá el atacante para intentar detectar el mensaje oculto.
Figura 4.3. Ocultando información con la herramienta StegoWav
134 ESTEGANOGRAFÍA
© RA-MA
4.2.2 Ocultación en algoritmos de compresión. MP3
La ocultación de información y especialmente el marcado digital
(watermarking) en audio es una de las ciencias más estudiadas 120 en los últimos 20
años. Haciendo especial hincapié sobre todo en la robustez de las propuestas frente
a ataques activos que intenten borrar la información introducida en el audio. Entre
los procedimientos de ocultación documentados 121 se puede destacar las siguientes
técnicas (adicionalmente a las técnicas basadas en LSB):
1. Técnica de ocultación en la fase de una señal. El sistema de audición
humano, a pesar de sus buenas propiedades, es mucho menos sensible a
la modicación de las componentes de fase de una señal de audio. Este
hecho, que es utilizado por multitud de sistemas digitales de compresión
de audio, puede ser aprovechado para enmascarar información usando
modulación de la fase de una señal o la codicación en la fase (phase
coding).
2. Técnica de ocultación en el eco de una señal. Existen diferentes
procedimientos que facilitan la ocultación de información en señales
de audio mediante la introducción de un eco en la señal (echo hiding),
concretamente mediante la modicación de los parámetros que lo denen,
típicamente su amplitud y/o el retardo respecto a la señal original. Se han
publicado un número importante de algoritmos de marcado digital de
audio basados en estas ideas.
3. Ocultación aprovechando características estadísticas de las señales de
audio. Se han publicado ejemplos de algoritmos que utilizan propiedades
como “valores de pico de las señales”, la diferencia de energía entre
trozos (bloques) de una señal de audio, etc. La idea básica consiste en
clasicar la señal de audio en un número determinado de segmentos
de acuerdo a sus propiedades en el dominio del tiempo, e insertar
información en cada segmento utilizando el esquema de inserción más
adecuado para minimizar las alteraciones detectables. Los esquemas de
inserción tendrán muy en cuenta las características de los segmentos en el
dominio de la frecuencia. Otras ideas, más o menos ingeniosas, presentan
120 Techniques for data hiding. http://www.cs.utsa.edu/~jortiz/CS4953/Papers/Techniques%20for%20
Data%20Hiding-p.pdf.
121 A Survey on Audio Steganography Approaches. http://research.ijcaonline.org/volume95/number14/pxc3896640.pdf.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 135
algoritmos capaces de insertar información utilizando los períodos de
silencio en una señal, por ejemplo, mediante la expansión de la duración
de este tiempo por un valor predeterminado. Para facilitar la detección, el
receptor deberá conocer la duración original de los períodos de silencio
de la señal de audio original.
Por cuestión de espacio no se puede analizar cada una de las técnicas
destacadas anteriormente pero sí se puede dedicar algo de espacio a estudiar al menos
una de las herramientas más famosas que usando alguno de estos principios permite
ocultación de información en cheros de audio MP3 (MPEG-1 Audio Layer III).
El investigador Fabien A. P. Petitcolas, del laboratorio de seguridad de
Cambridge, en el año 2002, creó una herramienta esteganográca que demostró la
posibilidad de ocultar información aprovechándose de los algoritmos de compresión
de audio más difundidos. Petitcolas se centró en el formato de audio MP3, publicando
el software esteganográco denominado MP3Stego. 122 La herramienta MP3Stego
trabaja exclusivamente con archivos de audio WAVE (mono) de 16 bits codicados
a 44.100 Hz. Durante el proceso de compresión de este tipo de archivos se produce
la ocultación de información, mecanismo que dará como resultado un archivo en
formato MP3. MP3Stego primero comprime los datos a ocultar, luego los cifra con
el algoritmo criptográco 3DES (Data Encryption Standard) y nalmente los oculta
en el ujo de bits del archivo resultante MP3.
El uso de la herramienta es muy sencillo. Por ejemplo, con el siguiente
comando convertirá el chero svega.wav al chero svega_stego.mp3 con el contenido
del chero de texto oculto dentro (hidden_text.txt). El contenido será cifrado usando
como clave pass.
#encode -E hidden_text.txt -P pass svega.wav svega_stego.mp3
Para recuperar la información oculta bastaría con la ejecución del siguiente
comando:
#decode -X -P pass svega_stego.mp3
122 http://www.petitcolas.net/steganography/mp3stego/.
136 ESTEGANOGRAFÍA
© RA-MA
Figura 4.4. Ocultación de información con MP3Stego
¿Cómo funciona MP3Stego?
Para comprender cómo funciona la herramienta MP3Stego es necesario
conocer mínimamente cómo se transforma un chero .wav a un chero MP3, ya que en
ese proceso de compresión se producirá la ocultación de información. En este sentido,
en una primera pasada se analiza la señal de audio usando modelos perceptuales,
también conocidos como modelos psicoacústicos. La señal digital de entrada es
procesada mediante un banco de ltros de análisis, los cuales extraen y ordenan la
información espectral en un número de bandas de frecuencia. El modelo perceptual
determina qué frecuencias se descartarán y qué frecuencias serán codicadas. Se
descartan todos los contenidos no audibles para el ser humano, o al menos se hacen
compromisos aceptables. En una segunda pasada se aplica una codicación Huffman 123
para comprimir sin pérdidas el resultado redundante que sobreviva.
MP3Stego opera en el núcleo del proceso de codicación MPEG. Sin
profundizar en el estándar MPEG Audio Layer 3, en este proceso tienen lugar
dos iteraciones anidadas, en terminología inglesa rate loop (inner loop) y noise
control/distortion loop. El proceso inner_loop cuantica los datos de entrada y va
incrementando el paso de cuantización hasta que los datos cuanticados se pueden
codicar con la cantidad disponible de bits. Otro proceso verica que esta distorsión
introducida por la cuantización de los valores no sobrepasa un cierto umbral que el
123 https://es.wikipedia.org/wiki/Codicaci%C3%B3n_Huffman.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 137
modelo psicoacústico del oído humano detectaría. La ocultación de los valores se
obtiene mediante la selección pseudoaleatoria de los valores de la paridad de los
bits que conforman el código de Huffman de los valores cuanticados anteriormente
(variable part2_3_length). El proceso de ocultación es complejo, pero eso no asegura
que la ocultación de los datos sea segura, ya que al modicar valores de las paridades
de los códigos correctores cualquier modicación alterará el contenido. Por lo
tanto, tal y como argumenta el propio creador, si se decodica a WAV y se vuelve a
comprimir a MP3, se perderá por completo todo el mensaje oculto. Adicionalmente,
se conocen diversos estudios 124 estegoanalíticos 125 que demuestran como MP3Stego
podría provocar alteraciones estadísticas signicativas, dependiendo del tamaño de
la información a ocultar y de los cheros utilizados. Esta información podría permitir
detectar la presencia de un mensaje oculto y estimar su tamaño.
4.2.3 Ocultación de comunicación en VoIP
La voz sobre IP (VoIP) se dene como el conjunto de recursos que hacen
posible que la señal de voz viaje a través de Internet empleando el protocolo de red
IP. Esto signica que la señal de voz se envía en forma digital, en paquetes de datos,
en lugar de enviarla en forma analógica a través de circuitos utilizables solo por
telefonía convencional. Hoy en día, cualquier usuario, de forma directa o indirecta
hace uso de este tipo de tecnologías, aunque solo sea en aplicaciones tan famosas
como Skype 126 o Whatsapp.
Figura 4.5. Torre de protocolos TCP/IP y VoIP
124 Steganalysis for Mp3Stego using differential statistics of quantization step. http://www.sciencedirect.com/science/article/pii/S1051200413000365.
125 Blind Steganalysis of Mp3Stego. http://www.seg.inf.uc3m.es/papers/2010jise.pdf.
126 SkyDe: a Skype-based steganographic method. http://arxiv.org/ftp/arxiv/papers/1301/1301.3632.pdf.
138 ESTEGANOGRAFÍA
© RA-MA
Las comunicaciones por VoIP presentan una serie de características que
permiten ocultar información no solo en la forma en la que se codica el audio
(empleando técnicas similares a las documentadas anteriormente), sino también
aprovechándose de las particularidades de cada protocolo que transmite esa
información (en el capítulo 7 dedicado a canales encubiertos se profundiza con más
detalle en esta cuestión). Por ejemplo, en el protocolo de señalización SIP (Session
Initiation Protocol), el protocolo de transporte RTP 127 (Real-Time Transport Protocol)
o el protocolo de control RTCP (Real Time Control Protocol).
Figura 4.6. Ejemplo de ocultación de información en VoIP y protocolo RTP
En cualquier caso, un buen punto de partida, si desea profundizar en esta
temática y comprender su funcionamiento, se encuentra en el trabajo de Wojciech
Mazurczyk: VoIP Steganography and Its Detection – A Survey, 128 donde encontrará
resumidas muchas de las técnicas esteganográcas utilizadas en audio (documentadas
anteriormente) y las propuestas académicas de ocultación en protocolos de transporte
de audio.
4.2.4 Ocultación de imágenes en el espectro de un audio
Todas las técnicas esteganográcas en audio, más o menos seguras, intentan
conseguir su objetivo, enmascarar información de manera desapercibida. En esta
ciencia, si algo destaca sobre lo demás, es la creatividad para crear nuevas formas
de ocultación de información, en ocasiones basadas en seguridad por oscuridad (una
vez conocida la técnica de ocultación es viable detectar la información ocultada).
Un ejemplo signicativo, en este sentido, es lo que permite la herramienta Enscribe.
127 SteganRTP (RTP Covert Channel Tool). http://sourceforge.net/projects/steganrtp/.
128 VoIP Steganography and Its Detection – A Survey. http://arxiv.org/ftp/arxiv/papers/1203/1203.4374.
pdf.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 139
Esta herramienta permite crear un chero de audio digital WAV desde una
imagen digital en formato JPG, PNG o BMP. Este audio no tendrá ningún sentido
para los humanos, pero si se analiza espectralmente 129 es posible descubrir la imagen
que originó ese audio. Adicionalmente, la herramienta presenta ciertas propiedades
para que la imagen (el espectro) no se elimine aunque se convierta a ciertos formatos
o se aplique a ciertas técnicas de compresión y ltrado.
Figura 4.7. Ocultación de una imagen en el espectro de un audio con Enscribe y visualización con
Baudline
En la página del autor está publicado un completo manual
utilizar esta herramienta, con varios ejemplos de ocultación.
129 http://www.baudline.com/.
130 http://coppercloudmusic.com/enscribe/.
130
para instalar y
140 ESTEGANOGRAFÍA
© RA-MA
4.3 OCULTACIÓN DE INFORMACIÓN EN FICHEROS DE VÍDEO DIGITAL. ESTUDIO
DE DIFERENTES FORMATOS
Un vídeo digital puede denirse como un conjunto de frames individuales
formado por imágenes y/o audio (y en ocasiones también texto). Por tanto, los
procedimientos de ocultación de información en un vídeo se pueden aprovechar de
las distintas técnicas esteganográcas sobre cada uno de esos elementos individuales
(estegomedios) que conguran cada frame o bien combinando los frames. Esta
posibilidad hace del vídeo digital un estegomedio de gran interés por su posible
gran capacidad de ocultación y la dicultad de detectar el uso de técnicas variadas:
ocultación en coeciente DCT en frames individuales (LSB...), ocultación por
regiones de cada frame (o mezclando regiones de diferentes frames), ocultación en
comunicaciones de videoconferencia en tiempo real, videostreaming por Internet, 131
etc. Adicionalmente existen procedimientos especícos de ocultación en vídeo
basados en funcionamiento de cómo se crean y se combinan los distintos frames.
De esta forma se pueden desarrollar mecanismos de ocultación que codiquen
información a partir del cálculo de los vectores de movimiento entre una colección
de frames, técnicas basadas en corrección de errores, la compresión de vídeo (motion
vector steganography), etc. De hecho, tal es su potencial que en los últimos años
la prensa generalista se ha hecho eco de supuestos usos esteganográcos en vídeo
digital para propósitos variados, especialmente para usos terroristas.
Figura 4.8. Documentos ocultos en un vídeo pornográfico por Al-Qaeda132
131 Video steganography using Flash Video (FLV). http://ieeexplore.ieee.orgxplloginjsp?tp=
&arnumber= 5168563&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5159258%2F5168
393%2F05168563.pdf%3Farnumber%3D5168563.
132 http://arstechnica.com/business/2012/05/steganography-how-al-qaeda-hid-secret-documents-ina-porn-video/.
© RA-MA
Capítulo 4. OCULTACIÓN DE INFORMACIÓN EN AUDIO Y VÍDEO DIGITAL 141
Por suerte o por desgracia, depende de si nuestro interés es detectar u ocultar,
los algoritmos más robustos para ocultar/detectar información en vídeo digital están
desarrollados solo como prueba de concepto en ámbitos de investigación académica
(la mayor parte del código está desarrollado en Matlab, Maple o Mathematica) y no
están disponibles como herramientas seguras fáciles de utilizar para el usuario común.
Por el contrario, sí es común la existencia en Internet de una cantidad importante
de herramientas que ocultan información en vídeo digital de manera insegura, 133
típicamente utilizando una técnica de ocultación EoF (End of File). Entre ellas:
OurSecret (http://www.securekit.net/oursecret.htm), OmniHide Pro (http://omnihide.
com/), Masker (http://www.softpuls.com/masker/), StegoStick (http://stegostick.
sourceforge.net/), BDV DataHider (http://www.bdvnotepad.com/products/bdvdatahider/), Max File Encryption (http://www. softeza.com/leencryption/), etc.
Entre las excepciones, disponibles para el público en general, se encuentra
la herramienta MSU StegoVideo, 134 desarrollada por investigadores rusos. Esta
herramienta permite ocultar datos directamente en las secuencias de vídeo,
considerando los efectos de la compresión. Por desgracia, diversos estudios se han
publicado sobre su falta de seguridad. 135,136
133 Forensic analysis of video steganography tools. https://peerj.com/articles/cs-7.pdf.
134 http://compression.ru/video/stego_video/index_en.html.
135 Steganalysis of MSU Stego Video based on discontinuous coefcient. http://ieeexploreieee.org/
xpl/login.jsp? tp=& arnumber=5485297&url=http%3A%2F%2Fieeexploreieeeorg%2Fstamp%2F
stamp.jsp%3Ftp%3D%26arnumber%3D5485297.
136 Video steganalysis using motion estimation. http://ieeexplore.ieee.org/xpl/loginjsp?tp=&arnumb
er=5179032&url= http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5161636%2F51785572F05
179032.pdf%3Farnumber%3D5179032.
142 ESTEGANOGRAFÍA
© RA-MA
Figura 4.9. Ejemplo de ocultación en vídeo digital con la herramienta MSU StegoVideo
Figura 4.10. Recuperación de información oculta con MSU StegoVideo
5
OCULTACIÓN EN SISTEMAS DE
FICHEROS Y FORMATOS
“Más allá de lo cticio que proyectamos,
existe una realidad que ocultamos”.
Zule
En los últimos años los investigadores han centrado una cantidad importante
de esfuerzos en técnicas esteganográcas aplicables a un entorno más local
como podrían ser los sistemas operativos y las diferentes formas de representar y
almacenar la información en los diversos sistemas de cheros y soportes físicos.
Intereses hay múltiples, y aplicaciones, pero principalmente el uso de este tipo de
técnicas esteganográcas ha estado muy centrado en mecanismos de ocultación
de información con propósitos de integridad de software propietario (copyright y
licencias de instalación) y ocultación de código ejecutable, especialmente malicioso.
Recuerde el lector que una vez atacado un sistema una idea excelente (posexplotación)
es facilitar el acceso posterior ocultando y ejecutando herramientas o código en la
máquina/sistema a atacar, por ejemplo, con el uso de rootkits. 137
Todo esto hace que hoy en día la ciencia de la informática forense centre
cada vez más su atención en la detección de todos estos tipos de procedimientos
de ocultación y en la creación de herramientas lo más automatizadas posible para
detectar posibles vulneraciones de un sistema o dispositivo. Como se comprobará las
opciones son múltiples y variadas.
137 https://es.wikipedia.org/wiki/Rootkit.
144 ESTEGANOGRAFÍA
© RA-MA
5.1 ESTEGANOGRAFÍA EN SISTEMAS DE FICHEROS Y SISTEMAS OPERATIVOS.
OCULTANDO EL RASTRO
Hoy en día, cualquier sistema informático necesita de software de control
que facilite su utilización. Esta compleja tarea suele recaer en el sistema operativo.
Este a su vez implementará uno o varios sistemas de cheros para tratar y almacenar
información creando unidades lógicas llamadas cheros.
En los próximos apartados estudiaremos diversas técnicas esteganográcas
para ocultar información utilizando precisamente el formato de un sistema de
cheros, su organización e incluso su estructura interna.
5.1.1 Técnica de ocultación basada en la fragmentación interna de los
sistemas operativos. Slack space
Los sistemas operativos, y concretamente sus sistemas de cheros, trabajan
con estructuras lógicas (cheros) que permiten acceder de forma conjunta a una serie
de octetos guardados en un dispositivo. Desde un punto de vista físico, un chero
ocupa bloques de un elemento de almacenamiento, siendo un bloque (conjunto de
octetos) la unidad mínima que maneja un sistema de cheros concreto. El sistema
de cheros FAT16 utiliza, por ejemplo, bloques de 32 KB, y el sistema de cheros
ext2 utilizado en entornos GNU/Linux, bloques de 4 KB. 138 Dado que el tamaño de
un chero no es un múltiplo exacto del tamaño del bloque, siempre hay parte de un
bloque que no se usa, y está reservado para ese chero. Esto es lo que se conoce
como fragmentación interna del chero 139 o slack space.
Esto es fácil de comprobar con su sistema operativo favorito. Por ejemplo,
si en un sistema operativo Windows 8.1 se crea y se salva un chero de texto de
14 caracteres usando la aplicación Notepad (C:/Windows/notepad.exe), al editar
sus propiedades se comprueba que aunque el chero tiene 14 octetos de datos de
usuario, realmente en el disco duro ocupa 4*1.024 octetos (4 KB). Esto es debido a
que los sistemas operativos trabajan a nivel de bloque por motivos de simplicidad de
diseño, y este tamaño de bloque varía dependiendo de la balanza entre optimización
y complejidad. Partiendo de esta idea, es viable la utilización de la fragmentación
138 En realidad el tamaño de los bloques de un sistema de cheros ext2 se puede decidir en su creación
usando el mandato mkfs.
139 Estos mismos principios pueden aplicarse a diferentes formas de almacenar la información, como
por ejemplo en una memoria RAM (ram slack) o en un disco duro (disk slack).
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 145
interna de los cheros para ocultar información, ya sean cheros generados aposta
con fragmentación interna u otros ya existentes. 140
Ocultar datos en la fragmentación interna tiene una serie de ventajas a
destacar. Por un lado, resultan invisibles al sistema de cheros, a las aplicaciones y
a las herramientas de validación de archivos convencionales. Por otro lado, aunque
tiene inconvenientes de portabilidad, ya que si un chero con información oculta
se copia con herramientas estándar la información de la zona de fragmentación
interna se pierde, ya que solo se copian los datos de usuario, en ciertos contextos
esta desventaja podría ser una ventaja interesante, precisamente si interesa que el
chero copiado no se lleve la información encubierta.
Figura 5.1. Ejemplo de una posible ocultación de un mensaje utilizando fragmentación interna
En sistemas operativos Linux/Unix una herramienta clásica que utiliza esta
técnica de fragmentación interna es, por ejemplo, la herramienta Bmap. Combinando
unos pocos mandatos en una consola se puede ocultar información fácilmente en un
chero. Un ejemplo podría ser el siguiente (más detallado en la referencia a pie de
página):141
140 La herramienta removeSlack.exe facilita el borrado de los datos almacenados en el slack space
para evitar fugas de información: https://github.com/OpenSecurityResearch/slacker.
141 Hiding Data in Slack Space using bmap. https://www.computersecuritystudent.com/FORENSICS/
HIDING/lesson1/index.html.
146 ESTEGANOGRAFÍA
© RA-MA
# echo “evil data is here” | bmap --mode putslack /etc/passwd
# bmap --mode slack /etc/passwd
getting from block 887048
le size was: 9428
slack size: 2860
block size: 4096
evil data is here
5.1.2 Técnica de ocultación mediante borrado de ficheros. Unallocated File
Space
Habitualmente cuando un usuario utiliza las herramientas tradicionales para
eliminar un chero en un sistema operativo este no se elimina en sentido estricto.
Cuando se “borra” un chero en un sistema de cheros se “eliminan” los enlaces a los
diferentes bloques de octetos que constituyen ese chero, marcándose esos bloques
como libres. Mientras los bloques marcados como libres no se sobrescriban con una
nueva información, los datos previos permanecen inalterados y por tanto, en teoría,
pueden ser recuperados, por ejemplo, de un disco duro de un ordenador. Existen
multitud de herramientas para recuperar archivos borrados, tanto en plataformas
Windows como en GNU/Linux. Por ejemplo, en el mundo Linux los cheros
borrados con el mandato rm pueden ser recuperados con herramientas como e2undel
(http://e2undel.sourceforge.net/), extundelete (http://extundelete.sourceforge.net/),
etc. Por tanto, si en determinadas circunstancias es posible recuperar la información
borrada, este hecho se puede utilizar como un mecanismo trivial de ocultación de
información borrando cheros. Actualmente cualquier distribución seria de análisis
forense, con una o más herramientas, contempla la detección de estos casos (SIFT, 142
CAINE,143 Autospy,144 etc.). En cualquier caso la lista de herramientas gratuitas y
comerciales para la recuperación de archivos es enorme. 145
5.1.3 Técnica de ocultación ADS en sistema de ficheros NTFS
NTFS (New Technology File System) es un sistema de cheros propietario,
desarrollado en esencia a lo largo de la década de los 90, utilizado, en principio,
para sistemas operativos Windows NT, 2000 y XP. NTFS es un sistema de alto
rendimiento con soporte de seguridad con cifrado para proteger datos sensibles,
142 SANS Incident Forensic Toolkit (SIFT). http://digital-forensics.sans.org/community/downloads.
143 http://www.caine-live.net/.
144 http://www.sleuthkit.org/autopsy/.
145 File Recovery: https://en.wikipedia.org/wiki/List_of_data_recovery_software.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 147
compresión y auditoría. Permite gestión de discos duros de mayor tamaño y
soluciones para implementar tecnologías RAID. Adicionalmente implanta NTFS
ADS (NTFS Alternate Data Streams), ujos de datos alternativos, para proporcionar
(al menos así lo reeja la versión ocial) compatibilidad con el sistema de cheros
de Macintosh HFS (Hierarchical File System).
En el sistema de cheros NTFS un chero se constituye de diferentes ujos
de datos. Por ejemplo, un ujo almacena la información de seguridad como los
permisos del chero, otro almacena los datos reales del usuario, etc. Sin embargo,
el problema surge porque es posible la creación de ujos de datos ocultos. Es decir,
distintos ujos de datos en un chero que aparentemente no pueden ser accedidos.
La creación de ADS en un sistema de cheros NTFS permite en último
lugar la creación de técnicas esteganográcas y la ocultación de información en el
sistema de cheros. Para poder aplicar esta técnica de ocultación no es necesario
tener privilegios especiales de usuario, sino simplemente permiso de escritura
en el chero donde se desea almacenar la información a esconder. En el pasado
la ocultación de ADS ha sido útil no solo para ocultar información textual, sino
sobre todo código ejecutable, debido a la facilidad para crearlos. A continuación el
lector puede reproducir una de las diferentes formas posibles para crear un ADS. En
nuestro ejemplo en un sistema de cheros NTFS y Windows 8.1:
] Paso 1. Abrir una consola en Windows (Inicio à Ejecutar o área de
búsqueda à cmd).
] Paso 2. Reproducir los mandatos que se pueden ver en la siguiente gura.
En este paso se utiliza el ujo de datos oculto para almacenar nuestra
información deseada. Se observa que la edición normal del chero visible.txt no
permite el acceso a la información oculta, es más, en principio se necesita conocer
el nombre del ujo de datos creado. Además, se demuestra que es posible ocultar
múltiples ujos de datos ocultos dentro de un chero (oculto y oculto1).
Lo más interesante es que al comprobar el tamaño del chero este no varía.
Si se utiliza el comando dir (sin opciones) para listar el chero se comprueba que
su tamaño coincide exactamente con el mensaje “original” introducido. Del mismo
modo, si utiliza una herramienta de edición de cheros, como el conocido UltraEdit
o NotePad++ para una edición hexadecimal de los octetos que forman el chero,
observará que únicamente es posible editar la información “original”.
148 ESTEGANOGRAFÍA
© RA-MA
Figura 5.2. Ocultación de mensaje utilizando NTFS ADS
En el siguiente ejemplo puede observar cómo podríamos ocultar un chero
ejecutable 146 (en el ADS oculto.exe se oculta una consola nueva) y ejecutarlo (wmic
process call create):
Figura 5.3. Ejecución de un código ejecutable oculto en un ADS
146 Stealth Alternate Data Streams and Other ADS Weirdness. http://www.exploit-mondaycom/2011/
09/stealth-alternate-data-streams-and.html.
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 149
© RA-MA
La recuperación de la información enmascarada requiere del uso de
herramientas especiales para detectar y observar esta información, o comandos
presentes en el sistema operativo pero con ciertas opciones. Por ejemplo, el comando
dir /R permite ver los ujos de datos existentes. Otra herramienta de detección muy
famosa es LADS (List Alternate Data Streams) de Frank Heyne. 147 En cualquier caso
cualquier herramienta forense decente en la actualidad detecta la presencia de ADS.
Figura 5.4. Detección de NTFS ADS con comando dir
Una vez se detecta la presencia de un ADS y se observa su contenido resulta
trivial eliminarlo, incluso en ocasiones esto puede suceder sin que la persona que
oculta la información sea consciente. Por ejemplo, mover los cheros del sistema de
cheros NTFS a otro sistema de cheros, por ejemplo FAT, elimina los ADS. Efecto
parecido se obtiene si se copian exclusivamente los datos del chero a otro chero:
type visible.txt > sinADS.txt
del visible.txt
5.1.4 Sistema de ficheros esteganografiados. StegFS
En cualquier sistema operativo moderno se puede realizar toda una serie de
operaciones sobre cheros informáticos sin necesidad de conocer la ejecución exacta
de las tareas necesarias para realizar dicha operación. Por ejemplo, cuando se crea un
147 http://www.heysoft.de/en/software/lads.php?lang=EN.
150 ESTEGANOGRAFÍA
© RA-MA
chero, el sistema de cheros gobernado por el sistema operativo entra en juego. Su
tarea principal, en este caso, consiste en decidir una serie de bloques de octetos libres
para asignar como ocupados en los cuales se almacenará la información del usuario,
al mismo tiempo se establecen las uniones necesarias para que toda la información
esté enlazada y pueda ser accedida por el propietario del chero. Si se consigue
que el sistema de cheros cree una serie de bloques ocupados con datos pero que
en ningún momento se enlacen al árbol de directorios, esta información se presenta
invisible al propio sistema operativo y a las herramientas estándar de listado.
La idea de creación de bloques individuales de información permitiría
ocultar datos en la estructura de un sistema de cheros. Es decir, se podría utilizar la
estructura propia de un sistema de cheros como medio esteganográco, creándose
un sistema de cheros esteganograado.
Esta técnica tiene la ventaja de facilitar la ocultación de gran cantidad de
información, o al menos alcanzar un mayor almacenamiento para una seguridad
razonable. No obstante, entre sus inconvenientes destaca que no es una técnica
portable, es decir, no se puede transmitir, en principio, información a un usuario
remoto. Obviamente, herramientas especícas para detectar este tipo de esteganografía
intentarán detectar bloques que están ocupados y que son sospechosos por algún
motivo, por ejemplo, porque no están enlazados al directorio raíz.
En cualquier caso, en Internet se pueden encontrar múltiples herramientas
que presumen de ocultar la existencia de cheros o directamente de datos individuales
en sistemas NTFS, FAT, etc. En realidad, una simple búsqueda con su buscador
favorito dará como resultado multitud de herramientas en muy poco tiempo. Como
no es posible analizar cada particularidad de cada herramienta publicada en Internet
en este apartado se cree conveniente analizar un sistema bastante completo que aúna
las diferentes ideas comentadas. Un verdadero sistema de cheros esteganograado.
La idea de un sistema de cheros esteganograado no es para nada nueva,
se ha escrito mucho acerca de ellos. En las siguientes líneas comentaremos sus
características a través de diferentes artículos, y principalmente de “StegFS 148 : A
Steganographic File System” de los autores HweeHwa Pang, Kian-Lee Tan y Xuan
Zhou, sin olvidar estudios previos, como los realizados por A. Shamir, R. Anderson,
R. Needham, A. McDonald, M. Kuhn, etc. 149
La idea fundamental de esta herramienta (StegFS) surge al darse cuenta
los creadores del sistema de que ni la criptografía ni los controles de acceso de
148 https://albinoloverats.net/projects/stegfs.
149 http://www.mcdonald.org.uk/StegFS/.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 151
usuarios a determinados datos pueden al nal evitar la alerta de existencia de
datos y de posibles ataques para rebelarlos, especialmente si se tiene acceso físico
al sistema de cheros (a la máquina/disco duro). El control de acceso y el cifrado
son mecanismos estándar de protección de datos en los sistemas de cheros más
modernos, como el clásico EFS (Encrypting File System) presente ya en Windows
2000 y XP, o herramientas de cifrado de disco como el conocido PGPDisk. 150 Sin
embargo, el problema no surge solo porque alguien pueda detectar la existencia
de datos e intentar atacar las protecciones para obtenerlos, sino por casos peores
como pueden ser cuando un administrador intencionadamente, o no, da permiso a
información en contra del deseo del propietario, por ejemplo, al añadir un usuario
a una lista de control de acceso a un chero protegido. El sistema StegFS intenta
dicultar esta tarea ocultando información en el sistema de cheros, de tal forma
que un usuario sin la clave de acceso correspondiente a ese chero no es capaz de
deducir su existencia, aunque conozca la estructura interna del sistema de cheros
y tenga acceso total al mismo. Es decir, en una primera aproximación ni siquiera el
administrador de los equipos tendría la capacidad de localizar la información ya que
no dispone de la clave de acceso que permite localizarlos. Además, esta herramienta
se preocupa de que el sistema sea lo más práctico posible, asegurando la integridad
de los cheros ocultados y una utilización eciente tanto del espacio del disco duro
como de operaciones en el sistema de cheros. Quizás esto sea una de las ventajas
secundarias más destacables de este tipo de herramienta, ya que permite utilizarla de
forma práctica.
Implementación de StegFS
Sin profundizar en exceso en los sistemas de cheros comunes en GNU/
Linux, como ext2 o ext3, es importante recordar algunas nociones básicas de estos
sistemas de cheros para comprender cómo funciona el sistema StegFS. En general,
el espacio de almacenamiento se divide en bloques de tamaño estándar y en una
serie de vectores de bits (bitmap), que indica si un bloque está libre o reservado
(ocupado). Por ejemplo, un bit a cero en una posición determinada del bitmap indica
que el bloque con número esa posición está libre, mientras que un bit a 1 signica
bloque usado. La gracia de esta herramienta es que todos los cheros “normales”
(no ocultos) se acceden a través del directorio raíz (en sistemas UNIX “/”), acceso
que se realiza gracias a una estructura de enlaces con información sobre los distintos
cheros, los bloques de información que ocupan, etc. Esta estructura se conoce como
la tabla de i-nodos en un sistema tipo UNIX.
150 Una lista completa de software de cifrado de disco duro puede verse en la siguiente URL: http://
www.criptored.upm.es/crypt4you/temas/privacidad-proteccion/leccion2/leccion2.html.
152 ESTEGANOGRAFÍA
© RA-MA
Sin embargo, si los bloques que forman un chero no son enlazados a
la tabla de i-nodos, aparentemente desde el sistema de cheros esta información
permanece oculta, pues el sistema operativo no dispone de información para enlazar
los distintos bloques. Partiendo de esta idea, lo único que debe realizar la herramienta
es marcar en el bitmap los bloques de información como usados para prevenir que el
espacio reservado pueda volver a ser utilizado. No obstante, todavía un usuario con
conocimiento de la estructura del sistema de cheros y acceso completo al mismo
podría deducir qué bloques no están enlazados y poder inferir en qué bloques existe
información oculta, aunque no tendría porqué ser capaz de determinar qué bloques
pertenecen a qué chero concreto.
Para dicultar esta tarea StegFS crea bloques falsos de dos tipos (activa
en el bitmap el bit correspondiente), por un lado, reserva de forma aleatoria
algunos bloques que son abandonados (no tienen uso para ocultar información)
para contrarrestar un posible intento de localización de datos ocultos simplemente
mirando el bitmap. Sin embargo, esto implicaría efectos negativos en uso óptimo
del espacio de almacenamiento. Por esto, en la práctica este número de bloques
abandonados es aconsejable que no sea grande. Además de este tipo de información,
StegFS mantiene uno o más cheros ocultos dummy. Un chero dummy es un chero
falso que se actualiza periódicamente, simulando la existencia de cheros reales que
van cambiando, y que dicultaría un ataque basado en el estudio de alteración de los
distintos bloques marcados en el bitmap y no enlazados.
Conocido esto es importante resaltar que cada chero oculto se accede a
través de su propia cabecera, la cual contiene tres estructuras de datos:
1. Un enlace a una tabla de i-nodos que enlaza todos los bloques de datos
en un chero.
2. Una rma que identica de forma única el chero.
3. Una lista enlazada de punteros a bloques libres reservados por el chero.
Todos los componentes del chero, incluidos cabecera y datos, son cifrados
con una clave de acceso para hacerlos indistinguibles de los bloques abandonados
y cheros dummy para observadores desautorizados. Como se comentó, al no ser
enlazados los cheros en el directorio central la herramienta StegFS debe ser capaz
de localizar la cabecera del chero usando solo un nombre físico del chero y una
clave de acceso. Para permitir esto en la creación de un chero, StegFS marca el
chero con una rma hash calculada del nombre del chero y la clave de acceso.
Utiliza esta información como semilla (entrada) a un generador pseudoaleatorio de
número de bloque, es decir, calcula un número de bloque de forma pseudoaleatoria
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 153
y comprueba en el bitmap si está libre en cuyo caso procede a almacenar la cabecera
del chero. Una vez que esta está reservada, los bloques subsiguientes del chero
se asignan aleatoriamente consultando el bitmap, y almacenando el enlace entre los
bloques del chero. Para evitar situaciones de sobrescritura debidas a diferentes
usuarios trabajando con un mismo nombre de chero y clave de acceso, el nombre
físico del chero se deriva concatenándolo con el identicador de usuario en el
sistema operativo (que es único por usuario y sistema) y con la ruta completa del
chero.
La localización una vez conocido esto resulta semejante. StegFS utiliza el
nombre de chero y la clave de acceso para calcular el bloque a consultar, verica si
está asignado en el bitmap, y a continuación verica que tiene una rma de chero
igual al hash calculado (se emplean algoritmos criptográcos como SHA-1 y MD5).
Extendiendo esta idea se comprende que StegFS tiene más efectividad en un entorno
multiusuario, ya que al existir diferentes cheros ocultos de usuarios, se le complica
a un atacante determinar qué información corresponde a un usuario concreto.
De nuevo, este sistema demuestra la sosticación que puede presentar un
sistema real que mezcla criptografía y esteganografía para proteger la información. 151
5.1.5 Ocultación en la estructura lógico-física de los soportes de
almacenamiento
En las últimas décadas la estructura lógico-física de los soportes de
almacenamiento (disquete, CD-ROM, disco duro, tarjeta ash, chip, etc.) se ha
mostrado de gran utilidad para proteger u ocultar información. Un buen ejemplo de
esto lo fueron en el pasado los clásicos discos llaves.
Los discos llaves eran disquetes o CD normales que presentaban algún tipo
de problema en su estructura interna (lógica o física), anomalía que era buscada por
un determinado software antes de ejecutarse. La utilidad principal de esto era crear
discos anticopia, ya que si el programa se copiaba a otro disco, que en principio no
tenía estas anomalías, el programa de detección fallaría y la ejecución no tendría
lugar. 152 Lo importante de este ejemplo es alguna de las diversas técnicas para
producir esas anomalías, ya que han tenido utilidad con nes esteganográcos. Por
ejemplo, en los extinguidos disquetes el medio de almacenamiento se dividía en
151 Puede descargar StegFS desde: http://www.mcdonald.org.uk/StegFS/download.html.
152 Durante muchos años fueron muy comunes también las mochilas hardware como mecanismo ant
copia. https://es.wikipedia.org/wiki/Mochila_%28dispositivo%29.
154 ESTEGANOGRAFÍA
© RA-MA
pequeños bloques organizativos llamados sectores (almacenaban la información).
En los disquetes se podían aplicar diferentes técnicas para marcar ciertos sectores
válidos como corruptos, formatear sectores o pistas a un tamaño no estándar (con
lo cual eran invisibles para el sistema operativo), etc. Todas estas técnicas antiguas
de protección pueden ser usadas para ocultar información, ya que cualquier
procedimiento no estándar que se realice es habitual que pase desapercibido para
el sistema operativo. Aprovechándose, precisamente de la división de un disquete
en bloques lógicos llamados sectores (habitualmente de 512 bytes), la herramienta
S-Tools 153 (módulo FDD) es capaz de ocultar datos en los sectores libres de un
disquete con sistema operativo MS-DOS y sistema de cheros FAT (File Allocation
Table). Esta asignación se realiza por medio de un generador pseudoaleatorio y en
ningún caso los bloques se marcan como usados. Esto presenta la desventaja de que
si la información del disquete crece, es posible que se pierda la información oculta,
aunque tiene la ventaja de que un análisis de los bloques reservados no desvela su
utilización. Al nal, un analista tiene que decidir si la información que se encuentra
en los sectores libres puede o no ser información real del usuario.
Hoy en día, estas técnicas no se limitan a los dispositivos de almacenamiento
convencionales sino en general a cualquier dispositivo electrónico que tenga
algún tipo de memoria. En los últimos años ha sido signicativa la ocultación de
información (típicamente código malicioso) en la estructura (memoria) de la BIOS 154
o en dispositivos USB. Habitualmente la BIOS en una placa base de un PC, un
router u otro dispositivo se almacena en un chip de ash con suciente espacio
libre para añadir información adicional o código malicioso. La BIOS original se
modicará para ejecutar el código añadido adicionalmente y continuar ejecutando su
funcionamiento habitual. En los últimos años se han publicado multitud de ejemplos
de implementación de malware oculto en BIOS. 155 Especialmente signicativos han
sido los múltiples proyectos de espionaje elaborados por la NSA y revelados por
Edward Snowden (IRONCHEF, DEITIBOUNCE, ANGRYMONK, GINSU, SWAP,
IRATEMONK y SOUFFLETROUGH) para infectar BIOS/rmware de equipos,
cortafuegos, routers o discos duros.
Un caso signicativo en esta tendencia fue el malware BadBIOS. Las
atribuciones a este malware daban una vuelta de tuerca a la utilidad de ocultación de
código malicioso en una BIOS o rmware. Tradicionalmente una de las utilidades
153 http://www.jjtc.com/Security/stegtools.htm.
154 El propósito fundamental del BIOS es iniciar y probar el hardware del sistema y cargar un gestor
de arranque o un sistema operativo de un dispositivo de almacenamiento de datos.
155 BARROSO, D.; Infección en BIOS, UEFI y derivados, Rooted CON 2015. https://www.youtube.
com/watch?v=Za9rwt2RDsE.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 155
principales de un malware en la BIOS es generar persistencia de un malware (o
funcionalidad extra) que se instalaría en un sistema operativo. Las atribuciones a
BadBIOS156 indican que era capaz de infectar una BIOS con un malware que era capaz
de comunicarse con otro malware instalado en otra BIOS mediante comunicaciones
inalámbricas (por ejemplo, con sonidos imperceptibles por el ser humano). Esta idea
introduce una serie de problemas interesantes de destacar. Por ejemplo, un ordenador
no conectado a Internet cuya BIOS ha sido modicada por algún procedimiento
(por ejemplo, a través de la ejecución de un malware en una memoria USB) podría
comunicarse con otro ordenador próximo que sí está conectado a Internet (tendría
que tener la BIOS infectada también). Si esto se produce se producirían canales
de comunicación fuera de la red de comunicaciones interna tradicional (evitando
las medidas de seguridad clásicas) facilitando la fuga de información y el control
remoto de sistemas aislados. Por desgracia, existen tantas formas de ser infectado
que cualquiera de estas opciones podría llegar al usuario común. Incluso con algo
tan inofensivo como un cargador USB de un cigarrillo electrónico 157 o múltiples
accesorios USB. 158
Adicionalmente a lo anterior, el lector debe ser consciente de que existe otro
mundo más complejo y alejado del usuario medio que consiste en la posibilidad
de ocultar malware a nivel de hardware. Esto es un problema especialmente en
entornos que procesan información con un grado importante de condencialidad.
En los últimos años, se han publicado decenas de noticias periodísticas y artículos
académicos 159 destacando esta posibilidad, en la que actores como, por ejemplo,
el FBI 160 o el Departamento de Homeland Security de EE. UU. desconfían, 161 y
con razón, a todos los niveles de hardware fabricado en otros países para procesar
información sensible.
156 https://en.wikipedia.org/wiki/BadBIOS.
157 E-Cigarettes From China Spreading Malware Through USB Charger. http://www.ibtimes.co.uk/ecigarettes-china-spreading-malware-through-usb-charger-1476239.
158 BadUSB. http://www.welivesecurity.com/la-es/2014/08/11/analisis-badusb-nueva-amenaza-noes-apocalipsis/.
159 Designing and implementing malicious hardware. http://www.acoz.net/pubs/malicious_processor.
pdf.
160 F.B.I. Says the Military Had Bogus Computer Gear. http://www.nytimes.com/ 2008/05/09/
technology/09cisco.html?_r=0.
161 http://www.fastcompany.com/1765855/dhs-imported-consumer-tech-contains-hidden-hackerattack-tools.
156 ESTEGANOGRAFÍA
© RA-MA
5.2 ESTEGANOGRAFÍA EN LA ESTRUCTURA DE LOS FORMATOS DE FICHEROS
En este apartado se van a estudiar algunas ideas/técnicas que permiten ocultar
información aprovechándose de las redundancias o situaciones de imprecisión en la
validación de un formato de chero digital concreto. Veamos algunas de las más
conocidas.
5.2.1 Técnica EoF (End of File). Información al final de la estructura de un
fichero
Una técnica muy extendida en Internet, a la vez que insegura (puede
detectarse que la información existe), consiste en enmascarar datos directamente
añadiéndolos al nal de un chero electrónico. En muchos formatos electrónicos,
sobre todo aquellos cuyo contenido de algún modo es ejecutable (tiene estructura),
añadir información al nal del chero es inocuo al comportamiento y ejecución
habitual de ese formato. Esto es así porque la mayoría de los formatos de archivos no
comprueban la longitud total del chero que lo contiene. En su lugar, se van leyendo
las diferentes informaciones de las estructuras que conforman el formato especíco
del chero y una vez que terminan no siguen leyendo. En ningún momento verican
si hay información más allá.
Puede probar esta técnica fácilmente desde su sistema operativo favorito.
Por ejemplo, desde la consola MS-DOS de Windows 8.1:
1.
2.
3.
4.
5.
6.
Abrir una consola/terminal: tecla Windows+cmd+Intro.
Mkdir c:\EoF.
Seleccionamos una imagen. Por ejemplo, descargamos el logo del buscador Google.
https://www.google.es/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
c:\EOF > echo "Esteganograa" > oculto.txt.
c:\EOF > copy /b googlelogo_color_272x92dp.png+oculto.txt googleModicado.png.
En el ejemplo anterior creamos una nueva imagen concatenando una
imagen original y un chero a “ocultar”. Se utiliza el mandato copy con la opción
/b para realizar una copia binaria. Las dos imágenes son visualmente idénticas pero
“googleModicado.png” introduce al nal del chero información extra.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 157
Figura 5.5. Ocultación del texto “Esteganografía” en una imagen utilizando una técnica EoF
Posiblemente esta sea una de las técnicas esteganográcas más difundida
en Internet, sobre todo para contenido multimedia (imágenes, audio y vídeo).
No obstante, su seguridad es realmente baja, y una inspección directa del chero
sospechoso puede delatarla. La ventaja principal es que permite almacenar una
enorme cantidad de información ¿oculta?
Entre las herramientas esteganográcas más difundidas en Internet se
encuentran algunas como: Camouage 1.2.1, Data Stash v1.5, AppendX, DataStealh
v1.0, PGE v1.0, JPEGX Ver 2.1.1, etc. Todas estas herramientas utilizan una técnica
EoF para ocultar la información en cualquier chero, siendo su detección realmente
simple y automatizable. En la sección de herramientas de estegoanálisis se verá
cómo realizarlo con la herramienta de detección StegSecret.
Ejemplo: la herramienta Camouflage 1.2.1
Si es de interés el lector puede buscar y ejecutar las herramientas
esteganográcas anteriores y probar cómo funciona la técnica EoF de una manera
transparente. Un excelente ejemplo es la herramienta Camouage, 162 masivamente
utilizada en Internet. En estas líneas me gustaría describir brevemente el proceso
que realizaría un analista para invertir su seguridad y posteriormente automatizar
su detección en una herramienta de estegoanálisis (como hace, por ejemplo, la
herramienta StegSecret que desarrollé hace años). El lector comprenderá lo sencillo
que es “romper” una protección basada en EoF o variantes.
162 http://camouage.unction.com/.
158 ESTEGANOGRAFÍA
© RA-MA
Figura 5.6. Ejemplo de uso de la herramienta Camouflage
1. La herramienta esteganográca Camouage permite la ocultación de
cualquier chero de información en cualquier otro chero de información.
Para ello, utiliza la técnica de ocultación al nal de chero (EoF), es decir,
pega la información a ocultar detrás del último octeto del chero que se
utilizará como estegomedio o cubierta. Permite además la codicación de
la información a ocultar mediante un algoritmo propietario y una clave
elegida por el usuario.
2. El análisis con cualquier comparador hexadecimal de diferentes cheros
con información oculta y de los mismos sin ella permite extraer patrones
jos para detectar cualquier otro chero con información enmascarada
en un futuro. Analizando la estructura con la que se ocultan los datos se
puede describir un procedimiento de detección.
● Posicionarse en el último octeto del estegochero y restar a esta
posición 11 Ch.
● Leyendo en la nueva posición del chero permite obtener un número
de 4 bytes, que llamaremos N.ºBytes, que corresponde con el tamaño
de la información útil oculta.
● Calculamos el número (854 + N.ºBytes), y su resultado se lo restamos
a la posición que ocupa el último octeto en el estegochero. El
número 854 es el número de bytes de información ja que añade la
herramienta.
● Situados en esta nueva posición dentro del estegochero, se debe leer
la marca de dos bytes “20 00” (hexadecimal).
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 159
© RA-MA
● A continuación se le suma a la posición actual del chero 24 posiciones
más.
● En esta nueva posición se leen 4 bytes. Este número debe coincidir
con el valor N.ºBytes leído anteriormente.
Si todo el proceso es correcto, el chero sospechoso incluye información
ocultada con la herramienta Camouage v1.2.1 e incluso es posible determinar el
tamaño exacto de esta información. En el proceso de inversión de esta herramienta
concreta, no solo se puede recuperar la información original, sino que además se
puede decodicar fácilmente si esta estuviera codicada con el algoritmo de cifrado
de la herramienta, incluso recuperar la clave utilizada por el usuario. Por motivos
de espacio no se desarrolla como invertir este algoritmo, pero básicamente su
funcionamiento consiste en realizar una operación or-exclusiva de los datos a cifrar
con una clave prejada de la herramienta. Esta clave prejada no depende de la
clave del usuario, por tanto, además de que la implementación del algoritmo de
cifrado no es segura, es posible recuperar una clave maestra para descifrar cualquier
estegochero. 163
Independientemente de lo fácil que resulta detectar este tipo de técnicas,
su uso es masivo especialmente combinado con otras técnicas/herramientas
(Hacha,164 Kamaleon, 165 etc.) en Internet. Herramientas clásicas que permiten esto
son varias como, por ejemplo, la herramienta Camuaweb. 166 Esta herramienta
oculta información en las imágenes (EoF) de un sitio web y su utilidad a menudo
está destinada a distribuir material protegido con derechos de autor por redes de
intercambio (p2p, 167 p2m, 168 etc.).
163 (easily) Breaking a (very weak) steganography software. http://www.guillermito2.net/stegano/camouage/.
164 http://hacha.softonic.com/.
165 http://kamaleon.softonic.com/.
166 Descargable de http://es.rockybytes.com/camuaweb.
167 https://es.wikipedia.org/wiki/Peer-to-peer.
168 https://es.wikipedia.org/wiki/P2M_%28software%29.
160 ESTEGANOGRAFÍA
© RA-MA
5.2.2 Técnica de ocultación basada en ficheros comprimidos. Ocultación de
malware
En las últimas décadas los algoritmos y formatos que se utilizan para
comprimir información se han utilizado para realizar diversos ataques prácticos
sobre redes y sistemas informáticos. Especialmente, es signicativo su uso para la
ocultación de código malicioso o malware.
Un ejemplo mítico de este tipo de ideas eran las bombas de descompresión,
o más popularmente las bombas zip. Las bombas de descompresión consistían en
un chero cuidadosamente elaborado para al descomprimirlo requerir grandes
cantidades de tiempo, espacio en disco o memoria, con la intención principal de
bloquear un sistema o, por ejemplo, deshabilitar un software antivirus (y así permitir
ejecutar otro malware después que pasaría desapercibido). Un ejemplo de bomba
zip es el archivo 42.zip 169 (42 KB) que utilizando diferentes niveles anidados de
compresión está diseñado para descomprimir hasta 4,5 petabytes. 170 Por suerte,
muchas de las soluciones antivirus actuales pueden prevenir este tipo de ataques
evitando un cierto nivel de recursividad, consumo de memoria o exceso de tiempo
de ejecución.
Donde los antivirus tienen el trabajo un poco más complicado es con otro tipo
de técnicas bastante más interesantes. Entre estas, destaca la investigación publicada
en BlackHat Europe 2010 por los investigadores Mario Vuksan, Tomislav Pericin y
Brian Karney titulada: Hiding in the Familiar: Steganography and Vulnerabilities
in Popular Archives Formats 171 - (ZIP, 7ZIP, RAR, CAB y GZIP). En esencia en
este trabajo se analizan diferentes algoritmos de compresión para detectar la manera
de ocultar información utilizando la estructura de los cheros comprimidos. Es un
trabajo que merece la pena leer.
A modo de ejemplo se va a analizar un caso con el cual sería posible
introducir un malware (ocultar un código malicioso) en un chero comprimido y
pasar desapercibido a las tecnologías antivirus actuales basadas en análisis estático.
Lógicamente esta misma técnica podría ser utilizada para ocultar cualquier otro tipo
de información.
169 Se puede obtener en: http://www.unforgettable.dk/.
170 https://en.wikipedia.org/wiki/Zip_bomb.
171 BlackHat Europe 2010 - Hiding in the Familiar: Steganography and Vulnerabilities in Popular
Archives Formats. https://vimeo.com/11340346.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 161
Ocultación de malware en ficheros comprimidos con el algoritmo RAR
Se va a simular la introducción de un malware en una organización que
posee medidas de seguridad perimetral basadas en tecnologías de antivirus. Para
ello se va a utilizar el algoritmo de compresión RAR 172 y la estructura de los datos
comprimidos con este algoritmo.
El ejemplo es muy sencillo de entender. En esencia un chero .rar (el resultado
de comprimir información) es un contenedor que almacena uno o más cheros
comprimidos (los concatena). En la estructura del chero .rar se denen diferentes
cabeceras para indicar los cheros que existen y qué información comprimida
corresponde a cada chero. Por ejemplo, se puede observar las siguientes cabeceras
(byte en hexadecimal) para indicar si estamos hablando del contenedor global de la
información comprimida o de un chero concreto comprimido:
HEAD_TYPE=0x73 (contenedor)
HEAD_TYPE=0x74 (archivo)
Por ejemplo, el chero 2cheros.rar comprime (almacena) dos cheros: un
chero PDF y una copia de un virus muy antiguo (Barrotes 1310).
Figura 5.7. Fichero PDF y virus comprimidos con RAR
172 RAR (Rosal ARchive) es un algoritmo de compresión sin pérdidas desarrollado por el ingeniero de
software ruso Eugene Roshal que destaca por su tasa de compresión. https://en.wikipedia.org/wiki/
RAR_%28le_format%29.
162 ESTEGANOGRAFÍA
© RA-MA
Figura 5.8. Virus Barrotes 1310 comprimido con el algoritmo RAR
Si se edita hexadecimalmente 173 el chero 2cheros.rar, se puede localizar
dónde inicia cada chero comprimido, observando su nombre y los datos comprimidos.
En este escenario, ¿qué sucedería si se modica el byte 0x74 que indica dónde leer
el chero BARROTES.EXE.txt creando un nuevo chero 2cherosModicado.rar?
173 Puede utilizar, por ejemplo, la herramienta gratuita HxD (editor hexadecimal): http://mh-nexus.de/
en/hxd/.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 163
Figura 5.9. Estructura de un fichero RAR modificada (HEAD_TYPE=0x74->0x00) para que no se
encuentre un fichero comprimido almacenado en el fichero contenedor (2ficherosModificados.rar)
Una vez creado el chero 2cherosModicados.rar al descomprimirlo se
puede observar solo un único chero (el chero PDF). ¿Dónde está el otro chero (el
virus)? La herramienta de descompresión no ha sido capaz de localizarlo al no estar
la estructura del chero .rar correctamente codicada. 174
Figura 5.10. Fichero oculto en la estructura del fichero .rar
¿El virus ha desaparecido? ¿Qué pasaría si analizamos los cheros 2cheros.
rar y 2cherosModicados.rar con diferentes soluciones antivirus?
Precisamente para analizar los siguientes resultados se comprimió en
2cheros.rar un virus muy antiguo (Barrotes 1310) y, en principio, detectable
por los motores antivirus. Para comprobar este hecho se utilizó el servicio online
VirusTotal,175 observando que 40 de 55 soluciones antivirus detectan la presencia
del virus en el chero comprimido. Si analizamos el chero 2cherosModicados.
rar ninguna de las soluciones antivirus (al menos sin recurrir a otro tipo de técnicas
que se desplegarían cuando el virus fuera a ejecutarse) detectaría su presencia. Este
174 El lector puede comprimir cualquier otro tipo de cheros y modicar las cabeceras de la misma
forma para ocultar la información.
175 VirusTotal es un servicio gratuito que analiza archivos y URL sospechosos facilitando la rápida
detección de virus, gusanos, troyanos y todo tipo de malware utilizando para ello la mayor parte de
los motores antivirus existentes: https://www.virustotal.com/es/about/.
164 ESTEGANOGRAFÍA
© RA-MA
hecho es bastante signicativo, ya que permitiría, por ejemplo, ocultar malware.
Dependiendo del escenario esto puede ser grave.
Imagine el lector un escenario como el siguiente:
1. Un usuario malicioso de una organización desea introducir un malware
en una organización.
2. La única opción es por correo electrónico.
3. La organización cuenta con diversas medidas de seguridad perimetral
basadas en tecnologías antivirus.
4. El usuario malicioso prueba su malware, lo oculta en un chero .rar y
lo testea con VirusTotal 176 (ya que es un escenario real de tecnologías de
detección).
5. Se envía el malware por correo. Una vez recibido localiza la posición del
virus y con un editor cambia el byte de 0x00 a 0x74 pudiendo recuperar
el virus.
6. Lo ejecuta.
Figura 5.11. Detección con VirusTotal del virus Barrotes 1310 comprimido con RAR
176 El lector debe ser consciente de que al testear un nuevo malware con VirusTotal se deja un rastro
que podría ser utilizado para localizarlo más tarde.
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 165
© RA-MA
Figura 5.12. Virus Barrotes 1310 no detectado por VirusTotal al modificar la estructura del contenedor
RAR
5.3 ESTEGANOGRAFÍA EN CÓDIGO EJECUTABLE. HERRAMIENTA HYDAN
Una tendencia interesante en la ocultación de datos reside en la posibilidad
de modicar código ejecutable para enmascarar información conservando la
funcionalidad lógica del ejecutable. Es decir, se modicarían las instrucciones 177
máquina codicadas en un chero ejecutable y adicionalmente el chero ejecutable
funcionaría sin ningún problema. Esta idea tiene varias aplicaciones prácticas. La
primera obviamente la ocultación de información y la segunda, quizás más sutil,
facilita el marcado digital de un ejecutable, permitiendo introducir una marca a
modo de copyright.
Uno de los mejores exponentes de este tipo de esteganografía es la herramienta
Hydan, desarrollada por Rakan El-Khalil de la Universidad de Columbia. La
investigación de Rakan se centró en el estudio de la redundancia del conjunto de
instrucciones en la familia de microprocesadores x86, por ejemplo, procesadores
Intel. Su estudio, de forma concisa, concluyó que existen diferentes instrucciones
que pueden realizar el mismo trabajo en un programa ejecutable, y por tanto, se
178
177 https://es.wikipedia.org/wiki/Instrucción_(informática).
178 http://www.crazyboy.com/hydan/.
166 ESTEGANOGRAFÍA
© RA-MA
puede sustituir una instrucción por otra equivalente (estas ideas, no tan estudiadas
como otros procedimientos, se pueden utilizar para representar bits de datos ocultos).
Un ejemplo sencillo de esta equivalencia se puede ver en la instrucción suma.
Matemáticamente una instrucción que sume 50 a otro valor puede ser reemplazada
por otra instrucción que reste –50 a ese valor. En este simple ejemplo, sustituyendo
sumas por restas (y viceversa) se podría ocultar un bit por cada operación de suma o
resta, sin cambiar el funcionamiento del programa ni aumentar su tamaño. Esta
idea se puede generalizar para ocultar mayores volúmenes de información. En la
siguiente gura se puede ver cómo ocultar la información binaria “00, 01 o 11” en un
programa ejecutable de tal forma que en el ejecutable esteganograado la operación
suma equivalga a un bit oculto a 0 y la operación resta a un bit a 1.
Figura 5.13. Esteganografía con Hydan en programa ejecutable
Es decir, en este sencillo y reducido ejemplo, si se desea ocultar un bit 0 y la
operación que se encuentra en el programa original es una suma se deja como está,
y si es una resta se convierte en una suma. Por otro lado, si se desea ocultar un 1 y
la operación que se encuentra es una suma se convertiría a su equivalente en resta.
El proceso inverso consistiría en leer el ejecutable esteganograado y extraer la
información en función de las operaciones de suma y resta que se vayan encontrando.
En términos generales, Hydan presenta un ratio de ocultación aproximado
de 1/110, es decir, permite almacenar un octeto de información oculta por cada
110 octetos de código máquina (bytes de las instrucciones). Hydan permite ocultar
datos en un chero ejecutable para diferentes plataformas (NetBSD y FreeBSD i386
ELF, Linux i386 ELF, Windows XP PE/COFF) sin modicar su tamaño, dando la
posibilidad de cifrar dicha información con el algoritmo criptográco Blowsh.
Al igual que otras propuestas esteganográcas Hydan, o técnicas similares,
pueden ser atacadas desde múltiples frentes. Por ejemplo, técnicas de estegoanálisis
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 167
podrían considerar que la distribución de la información a ocultar en un ejecutable
dependerá en última instancia de cómo sea el ejecutable (las instrucciones que
contiene) y de la cantidad de información a ocultar. Si la sustitución se realiza
únicamente utilizando un par de instrucciones, como el ejemplo anterior de suma/
resta, la detección de la información a ocultar es más que probable. Aunque la
herramienta está diseñada para intentar que la distribución de las instrucciones
resultantes en el ejecutable esteganograado sea parecida a un ejecutable típico, es
cierto que un análisis concienzudo, en función del tamaño ocultado, puede levantar
sospechas de la presencia de información enmascarada. En esta dirección se han
publicado diferentes procedimientos de detección. 179
En cualquier caso, además de esto, se debe considerar los problemas clásicos
ya planteados en otras técnicas esteganográcas al utilizar estegomedios. En el caso
de Hydan es recomendable evitar ejecutables comunes y preferiblemente usarlos solo
una vez. Por ejemplo, si para la ocultación de información se utilizara un ejecutable
típico del sistema operativo Windows 10/8/XP, un analista lo podría comparar con
una versión original de este chero y alertar cambios que levanten sospechas. Estos
procedimientos se pueden aplicar de diferentes formas, un mecanismo habitual es
utilizar ideas de la informática forense utilizando base de datos donde se almacena
el resultado de aplicar diversos algoritmos criptográcos de hash a cada chero del
sistema operativo, calculando posteriormente los hashes para los cheros a analizar
y comparándolos. En un entorno local, controlado, la utilización de herramientas
que permitan revisar periódicamente la integridad de los cheros, como el software
Tripwire (http://sourceforge.net/projects/tripwire/), facilitará detectar la ocultación
de código oculto (modicación de programas) en un sistema y ponerlo en cuarentena.
5.4 ESTEGANOGRAFÍA EN CÓDIGO INTERPRETADO. LENGUAJE HTML Y XML
En general, cualquier lenguaje de programación, por su propia estructura,
permite la posibilidad de ocultar información. Especialmente signicativos han sido
los esfuerzos en el desarrollo de técnicas y herramientas de ocultación aprovechándose
de la estructura de los lenguajes de marcado de uso masivo, como HTML o XML. La
idea de estos procedimientos esteganográcos consiste en introducir información,
por ejemplo en una página web en HTML, de forma que no sea visible por un
usuario que visualice esa página web. La información oculta solo podrá recuperarse
utilizando una herramienta de recuperación concreta.
179 Steganalysis of Hydan - Emerging Challenges for Security, Privacy and Trust, vol. 297 de la serie IFIP Advances in Information and Communication Technology, págs. 132-142. Investigación:
http://goo.gl/0k2gmu.
168 ESTEGANOGRAFÍA
© RA-MA
Entre las técnicas de ocultación más famosas en HTML (las ideas son
extensibles a lenguajes similares como XML 180 o al protocolo SOAP) son: 181
1. Ocultación basada en caracteres invisibles
Técnicas triviales de ocultación en páginas web consisten en la utilización
de caracteres invisibles para enmascarar información. Por ejemplo,
codicar información en un texto del mismo color que el fondo de la
página web, codicar la información oculta usando espacios-tabuladores
entre etiquetas HTML o al nal de cada línea (recuérdese que al
visualizar páginas HTML se suele ignorar si existe más de un espacio
entre palabras), etc.
Herramientas que permiten hacer esto son: wbStego
Secret. 183
182
o Invisible
2. Ocultación mediante codicación en caracteres. Modicación
insensitive de etiquetas
En multitud de lenguajes de marcado el software (navegador web) que
interpreta el código fuente (páginas web) no diferencia etiquetas en
mayúscula o minúscula, es decir, se dice que son insensitive. Por ejemplo,
HTML 4.0. Esta característica permite ocultar información binaria y, por
tanto, cualquier tipo de información.
Un ejemplo sencillo de cómo funciona esta técnica se puede ver con una
etiqueta concreta, por ejemplo, la etiqueta HTML <br> (salto de línea).
Esta etiqueta tiene 2 letras y se interpreta exactamente igual en cualquiera
de sus variantes mayúscula-minúscula: <br>, <bR>, <Br> o <BR>. En
total existen 4 combinaciones, luego se podría ocultar hasta log 2(4) = 2
bits en esta etiqueta, asignando 00, 01, 10 o 11 en binario a cada una de
las combinaciones respectivamente. Aplicando este tipo de técnica para
cada etiqueta especíca en toda la página web se ocultaría la información
deseada.
180 Ofce XML Steganography Tool. http://www.irongeek.com/i.php?page=security/ms-ofce-stegocode.
181 Sending hidden data through WWW pages: detection and prevention. http://turing.tele.pw.edu.
pl/~zkotulsk/ Engng_Trans_58_1_2_75_89.pdf.
182 http://www.aptrio.com/Utilities/Security-Encryption/wbstego-686.html.
183 http://www.invisiblesecrets.com/invsecr4.html.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 169
Como puede deducir el lector esta técnica de ocultación debería ser fácil
de detectar dado que lo habitual es que las etiquetas se encuentren en
minúsculas o mayúsculas. En cualquier caso, siempre se podrá utilizar
como un procedimiento para incrustar una rma digital en el código (en
lugar de información oculta). La información (la rma) será visible (al
chequear el código) y su existencia permitirá vericar la autoría de una
información.
Figura 5.14. Ejemplo de ocultación de información en un mensaje del protocolo SOAP que
podría utilizarse para incluir una firma criptográfica que autentique el contenido
170 ESTEGANOGRAFÍA
© RA-MA
3. Ocultación basada en el orden de los atributos de una etiqueta
En una forma parecida a la técnica anterior, es posible utilizar el orden
de los atributos de un lenguaje de marcado para ocultar información,
siempre y cuando su orden no inuya en la adecuada visualización de la
información que representa, como en el caso de HTML.
Un ejemplo de herramienta que implementa esta técnica es Deogol, 184
desarrollada por Stephen Forrest. Deogol es una herramienta escrita en
Perl que permite la ocultación de información en cheros HTML, sin
cambiar el tamaño del chero ni modicar cualquier dato que no sea
una etiqueta. En general, un chero HTML consiste en un conjunto de
etiquetas que deberán ser interpretadas, con el formato:
<tagname attribute1=value1 attribute2=value2 ....>
Así, por ejemplo, las dos instrucciones siguientes se interpretan del
mismo modo por un navegador:
<IMG SRC=“picture.jpg” ALT= “A picture”>
<IMG ALT= “A picture” SRC=“picture.jpg” >
Por lo tanto, podríamos codicar con una instrucción un bit 0 y con
otra un bit 1, dando la posibilidad de ocultar una información binaria.
Partiendo de este principio, se puede generalizar la idea a otro tipo de
etiquetas. Por ejemplo:
<TD NOWRAP ROWSPAN=1 COLSPAN=4 ALIGN=left VALIGN=top
HEIGHT=40 WIDTH=40 id=col1>
Esta etiqueta contiene 8 atributos. Si se hacen unas pequeñas cuentas se
observa que el número posible de permutaciones de estos atributos es
¡8! = 40320. Es decir, para esta etiqueta en particular, podemos elegir
entre 40.320 etiquetas equivalentes, simplemente cambiando el orden de
sus atributos. Es decir, podemos ocultar log 2 (¡8!) = 15,3 bits, casi dos
octetos de información. En general, la capacidad de ocultación de esta
herramienta por etiqueta dependerá del número de atributos (1 o más)
y es log 2 (¡n.ºatributos!). Ideas similares se pueden razonar en otros
lenguajes de marcado como XML. 185
184 http://hord.ca/projects/deogol/.
185 A Proposal on Information Hiding Methods using XML. http://takizawa.ne.jp/nlp_xml.pdf.
© RA-MA
Capítulo 5. OCULTACIÓN EN SISTEMAS DE FICHEROS Y FORMATOS 171
Figura 5.15. Ocultación de información en XML modificando la estructura de los mensajes
6
ESTEGANOGRAFÍA LINGÜÍSTICA.
MARCADO DIGITAL DE INFORMACIÓN
“Ciencia es el arte de crear ilusiones convenientes, que el necio
acepta o disputa, pero de cuyo ingenio goza el estudioso, sin cegarse
ante el hecho de que tales ilusiones son otros tantos velos para ocultar
las profundas tinieblas de lo insondable”.
Carl Gustav Jung
6.1 OCULTACIÓN DE MENSAJES EN LENGUAJE NATURAL. PRIVACIDAD Y
MARCADO DIGITAL
El advenimiento de los sistemas informáticos y especialmente de la
interconexión de las redes de telecomunicaciones ha dado a la información textual
un protagonismo notorio. Aunque vivimos en un mundo multimedia, es cierto que
la información textual está presente en todas partes, especialmente en Internet:
periódicos online, páginas web, correos electrónicos, mensajería instantánea, blogs,
redes sociales, SMS, voz transcrita automáticamente a texto, etc. Esta circunstancia
convierte a los mensajes (textos) en lenguaje natural en excelentes portadores
(estegomedios) de información oculta. Los motivos son claros:
1. Un potencial estegoanalista tendrá grandes problemas en procesar
la inmensidad de textos disponibles en Internet (por ejemplo) para
discriminar cuáles tienen información oculta. Existe por tanto un
problema de cantidad.
2. Flexibilidad del estegomedio. La ventaja de ocultar información en el
lenguaje natural es que su distribución es muy exible. Por ejemplo,
un mensaje con información oculta podría ser enviado en un correo
electrónico, publicado en un post o, quizás, narrado en una conversación
telefónica.
174 ESTEGANOGRAFÍA
© RA-MA
Por estos motivos, y dado el enorme potencial de este estegomedio, en este
capítulo se va a profundizar en la posibilidad de utilizar textos en lenguaje natural,
perfectamente legibles por un humano, para enmascarar información. A continuación,
se describirá la evolución de dichas técnicas que nos permitirá diferenciar entre
procedimientos algo más clásicos (denidos bajo el paraguas de la esteganografía
textual) y procedimientos esteganográcos más robustos y actuales (esteganografía
lingüística).
6.2 ESTEGANOGRAFÍA TEXTUAL EN LA ANTIGÜEDAD. CÓDIGOS ABIERTOS Y
SEMAGRAMAS
En 1997, Friedrich L. Bauer (Decrypted Secrets. Methods and Maxims of
Cryptology)186 realizó una clasicación de los procedimientos de esteganografía
textual que puede resumir muy bien las tendencias en procedimientos de ocultación
en textos antes de la última década del siglo XX. Según esta, la esteganografía textual
puede explicarse en dos grandes ramas: códigos abiertos y semagramas (open codes
y semagrams, en terminología inglesa).
6.2.1 Códigos abiertos
Los códigos abiertos (en inglés, open codes) son textos de apariencia
inocente, que ocultan información recuperable utilizando ciertas letras, palabras,
frases del texto o comunicación. Por ejemplo, ciertas letras situadas en determinadas
posiciones de una carta, de la letra de una canción, etc. Procedimientos basados en
estas ideas son las pistas o señales, cifradores nulos, código en jerga y las rejillas.
1. Señales o pistas (en inglés, cues)
El término cues hace referencia a la transmisión de ciertas palabras, que
aparecen en un texto o medio genérico de comunicación, que se utilizan
como señal para avisar al receptor de que realice una serie de acciones.
Un uso interesante se puede observar en situaciones de guerra para
retransmitir instrucciones a los soldados, agentes o grupos de resistencia
ubicados en un país enemigo. En la actualidad, un ejemplo muy simple
de esta idea consistiría, por ejemplo, en que un agente escuchara un
programa de radio de emisión nocturna que permite la participación del
público, por ejemplo, por teléfono. En función de si se usa una serie de
186 https://www.iacr.org/books/2009_sp_Bauer_DecryptedSecrets.pdf.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 175
palabras o no, se siguen una serie de instrucciones u otras. Este método
de comunicación es muy exible y efectivo, sin embargo, requiere de
cierta preparación y comunicación previa. No es idóneo para transmitir
grandes cantidades de información.
Figura 6.1. Clasificación de mecanismos de esteganografía textual según Friedrich L.
Bauer
2. Cifradores nulos (en inglés, null ciphers)
En general, el término null ciphers hace referencia a aquellos
procedimientos esteganográcos que permiten ocultar información en un
texto tapadera cuya recuperación se obtiene al seleccionar ciertas letras
o palabras del mismo. La distribución de la información ocultada en el
mensaje inofensivo, que se usa como tapadera, depende del algoritmo
desarrollado. Por ejemplo, ocultar información en sentido vertical u
horizontal del mismo, cierto número de letras por línea, etc. David Kahn
en su excepcional obra The CodeBreakers 187 relata algunos ejemplos de
su uso en la historia. Por ejemplo, un mensaje enviado por los alemanes
en la I Guerra Mundial, en forma de nota de prensa, decía:
PRESIDENT’S EMBARGO RULING SHOULD HAVE INMEDIATE
NOTICE. GRAVE SITUATION AFFECTING INTERNATIONAL
LAW. STATEMENT FORESHADOWS RUIN OF MANY NEUTRALS.
YELLOW JOURNALS UNIFYING NATIONAL EXCITEMENT
INMENSELY.
Las letras iniciales reejan el mensaje: Pershing sails from N.Y. June I.
187 https://en.wikipedia.org/wiki/The_Codebreakers.
176 ESTEGANOGRAFÍA
© RA-MA
Durante la II Guerra Mundial este tipo de procedimientos encontraron
su uso para comunicar información enmascarada entre soldados
norteamericanos y sus familiares. Tal fue el extremo que la Armada
norteamericana, en la década de los 40, impuso penas severas a los
marineros que intentaban comunicarse de forma encubierta con este tipo
de código familiar que, en general, era fácilmente detectable, y podía
poner en peligro sus vidas y las de los mensajeros, al revelar en esas
comunicaciones información táctica (su posición) a sus familiares.
Avanzando en estas ideas, es interesante destacar uno de los procedimientos
más usados en la historia que utiliza estos principios. Son los denominados
acrósticos. Un acróstico, del griego akros (extremo) y stikhos (verso), en
sentido estricto, es un poema cuyas letras iniciales, medias o nales de
cada verso, leídas en sentido vertical, forman un vocablo o expresión. Por
simplicación, se suele llamar también acróstico a la expresión formada
con dichas letras, siendo en la actualidad de aplicación a cualquier texto
de cualquier naturaleza, no exclusivamente a poemas. Este recurso fue
muy utilizado por los poetas italianos del Renacimiento. El siguiente
poema, de autor desconocido, es un ejemplo de un acróstico doble en el
que las letras iniciales y nales de los versos construyen la palabra Sonia.
SONIA
Supiste una vez más
ocultar tu rostro,
negar al mundo ese don
impreciso pero dulce, así,
así amante: tu boca.
Uno de los acrósticos más famosos de la lengua española está constituido
por los versos que conforman el prólogo de la obra La Celestina del autor
Fernando de Rojas (1470-1541). La selección de la primera letra de cada
línea del prólogo permite observar la siguiente oración en castellano: El
bachiller Fernando de Rojas acabó la comedia de Calisto y Melibea y
fue nacido en la Puebla de Montalbán.
Los nes y uso de este tipo de técnicas son tan variados como personas
hay interesadas en utilizarlas. Un caso destacable por su notoriedad fue el
del Yak-42. En mayo de 2003, tuvo lugar un desgraciado accidente en el
cual un avión Yakolev 42 se estrelló en Turquía, cerca del aeropuerto de
Trebisonda, cuando transportaba de vuelta a casa a 62 militares españoles
tras cumplir cuatro meses de misión en Afganistán. Todos perdieron la
vida. La versión inicial del aparente accidente por error humano se fue
modicando tras las denuncias de los familiares acerca del mal estado de
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 177
esta y otras aeronaves utilizadas por el Ejército español. Meses después de
este lamentable suceso, la cadena radiofónica SER (Sociedad Española de
Radiodifusión perteneciente al grupo de comunicación PRISA) publicó que
el entonces ministro de Defensa, Federico Trillo, había responsabilizado
del suceso, de forma encubierta, al Estado Mayor de la Defensa. Para ello,
Trillo utilizó el editorial de la Revista Española de Defensa para ocultar
esta información a través de un acróstico. Posiblemente, dada la sencillez
del procedimiento, con la intención de que lo detectaran.
Figura 6.2. Acróstico sobre el Yak-42 en la Revista Española de Defensa
3. Código en jerga (en inglés, jargon code)
Un código en jerga consiste en sustituir símbolos o expresiones (por
ejemplo, palabras), por otras no tan comunes (o inventadas) para un
uso concreto. En sentido práctico, consiste en la creación y utilización
de un lenguaje secreto de comunicación, normalmente, sencillo y
versátil, conocido por un grupo de personas y desconocido por el resto.
Conceptualmente se encuentra en un punto intermedio entre criptografía
y esteganografía. Un ejemplo famoso de código en jerga fue el Tora!
Tora! Tora! usado por la Armada japonesa para comunicar el ataque a
Pearl Harbor en 1941. Tal fue el miedo de la aplicación de estas técnicas
tan difíciles de detectar que el servicio postal de los Estados Unidos
censuró después del ataque de Pearl Harbor diferentes cartas de correo,
por miedo a que ocultaran información peligrosa, por ejemplo, juegos de
ajedrez vía correo, dibujos de niños, crucigramas, etc. Incluso los sellos
de las cartas eran quitados y sustituidos por otros de igual valor pero
diferente forma.
178 ESTEGANOGRAFÍA
© RA-MA
En la actualidad esta modalidad ha tenido una variante pictórica muy
importante. Un ejemplo reciente de código en jerga en el mundo
informático es el denominado warchalking.
Figura 6.3. Algunos de los símbolos del lenguaje warchalking
Se conoce como warchalking al lenguaje de símbolos, que escritos con tiza
en paredes y suelo de las calles, informa a los posibles interesados de la
existencia de una red inalámbrica con cobertura en ese punto. Está inspirado
en otros procedimientos de marcado más antiguos, como el hobochalking,
sistema de marcado que utilizan los vagabundos para señalar casas que son
amables, donde dan comida, etc. La relativa sencillez de los símbolos y su
característica de no perdurabilidad durante grandes períodos de tiempo
hacen que este código sea muy dinámico y se adapte a las características
cambiantes de las redes de las cuales informa. Este es uno de los factores
que han hecho posible su proliferación por las grandes ciudades.
4. Rejillas (en inglés, grilles)
Estos procedimientos esteganográcos 188 consisten en la selección
de ciertas letras o palabras de un documento utilizando para ello un
conocimiento adicional que a modo de plantilla facilita la selección de
dicha información. En la terminología habitual esta plantilla se conoce
como grille o, en español, rejilla, en cuanto deja ver solo lo que interesa.
El mejor procedimiento para entender estas ideas lo encontramos en el
Renacimiento y es conocido como la reja de Cardano, Cardan grille
en terminología inglesa, en honor a su creador el célebre renacentista
Girolamo Cardano (1501-1576) que reinventó en 1550 un procedimiento
cuyos orígenes se encuentran en la cultura milenaria china. El sistema
Cardan grille en sus orígenes funciona de la siguiente manera: cada
destinatario posee un pedazo de papel o cartón con agujeros cortados
188 Conceptualmente la diferencia sutil respecto de los null ciphers consiste en que estos últimos funcionan mediante un conjunto de reglas preestablecidas mientras que en el caso de las rejillas ese
patrón de conducta lo establece la propia rejilla.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 179
en él, la reja. Cuando esta plantilla se pone encima de un mensaje
inocente, los agujeros dejan ver letras especícas del mensaje, revelando
el mensaje oculto. Este tipo de técnicas son muy difíciles de detectar en
cuanto la plantilla que actúa a modo de ltro, a efectos prácticos como
si habláramos de la clave del sistema, se mantenga en secreto. El mayor
inconveniente de este procedimiento es que tanto emisor como receptor
deben distribuir de forma segura la plantilla y la información oculta de
un texto inofensivo debe ajustarse a esa plantilla. En la práctica, podría
resultar complejo crear mensajes de una forma rápida reutilizando una
misma plantilla; si esto no fuera posible el emisor tendría que transmitir
de forma segura, en el caso extremo, una plantilla por mensaje oculto que
quisiera que el receptor recibiera, lo cual unido a la baja capacidad de
ocultación de información, al ser un procedimiento manual que requiere
un texto grande para no facilitar la detección, hace de este procedimiento
poco práctico hoy en día.
Basándose en los mismos principios, se han publicado diferentes variantes
en función de cómo se utilice la plantilla. Así, por ejemplo, ir rotando 90
grados la plantilla cada vez que se obtiene una letra del mensaje oculto
(turning grille), etc. A lo largo de la historia se han documentado múltiples
usos de estas variantes e incluso han tenido su repercusión en la literatura,
léase por ejemplo la obra Mathias Sandorf de Julio Verne (1828-1905).
Figura 6.4. Spy letters of American Revolution. Carta de Henry Clinton a John Burgoyne
(1777). http://clements.umich.edu/exhibits/online/spies/gallery.html
180 ESTEGANOGRAFÍA
© RA-MA
Otro procedimiento ingenioso fue utilizar un código especial sobre periódicos,
en terminología inglesa se conoce como newspaper code. Este método desarrollado
en la época victoriana, época de gran expansión económica y social de Gran Bretaña
entre 1837 y 1901, permitía a las clases pobres comunicarse libremente. Para ello
hacían pequeños agujeros encima de ciertas letras del periódico, que una vez unidas
formaban el mensaje encubierto. Aunque es un procedimiento más práctico que el
anterior, adolece de mayor visibilidad.
6.2.2 Semagramas
Los semagramas (en inglés, semagrams) consisten en la utilización de la
estructura, formato y conguración de símbolos y objetos para establecer un medio
de comunicación para ocultar una información. En general, reriéndose a textos,
consisten en pequeñas variaciones de la estructura normal de un documento, que
aunque visibles, no por ello son fáciles de detectar. Un ejemplo clásico es ocultar
información utilizando más o menos espacios entre las palabras de un documento
o modicar grácamente los caracteres del mismo. Su utilización no se limita a
textos, puede verse en fotografías, dibujos, música, etc. Por ejemplo, un dibujo con
un determinado número de manzanas en un árbol puede contener una información
secreta. Como puede aventurar el lector la imaginación es el único límite para crear
sistemas de este tipo.
En general, se pueden distinguir dos tipos: semagramas visuales y semagramas
textuales (visual semagrams y text semagrams, en terminología inglesa).
1. Semagramas visuales
Los semagramas visuales (en inglés, visual semagrams) consisten
en utilizar todo tipo de símbolos y señales para ocultar un mensaje.
Habitualmente objetos físicos, como por ejemplo, objetos de uso
cotidiano, ya que por ser comunes no se les presta excesiva atención.
Por ejemplo, ocultar información utilizando un garabato de una hoja, la
distribución de ciertos objetos en un escritorio, las manecillas paradas de
un reloj (que podría indicar la hora de un hecho), etc.
Figura 6.5. Mensaje secreto solucionado por Sherlock Holmes (AM HERE ABLE SLANEY) en
la obra The Adventure of the Dancing Men de Arthur Conan Doyle
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 181
Hoy en día estos procedimientos se pueden extrapolar al mundo digital
de manera sencilla, por ejemplo utilizando juegos en red multijugador.
Múltiples noticias 189 y desmentidos se han publicado de cómo usar
juegos como Call of Duty (por ejemplo, utilizando una serie de disparos
en una pared), Mario Bros o en general videoconsolas para enmascarar
información y posible uso terrorista. 190,191
Figura 6.6. Diseñando un nivel del videojuego Super Mario Bros con un “mensaje” escrito
con monedas y bloques
2. Semagramas textuales
Los semagramas textuales (en inglés, text semagrams) se aprovechan de
la estructura, formato y conguración de un documento para enmascarar
una información. La estructura natural de un texto puede facilitar la
utilización de ciertas técnicas esteganográcas: inserción de espacios,
uso de caracteres no visibles, tipografía, etc. El uso del formato particular
de un documento y de sus atributos posibles permiten la implementación
de procedimientos de enmascarado de información. En la actualidad, una
evolución de estos principios consistiría en utilizar los atributos de un texto
digital como el color del texto, el atributo de negrita, cursiva, subrayado,
la fuente del tipo de letra elegido, el tamaño del carácter, etc. Todos estos
atributos permiten la creación de códigos que permiten la ocultación de
189 http://www.xataka.com/seguridad/juegos-de-guerra-o-como-los-terroristas-pueden-estar-usandola-consola-ps4-para-planear-atentados.
190 http://www.politico.eu/article/why-terrorists-love-playstation-4/.
191 http://www.theverge.com/2015/11/16/9745216/playstation-4-paris-attacks-reporting-error.
182 ESTEGANOGRAFÍA
© RA-MA
información sensible, clásicamente, codicaciones binarias. Por ejemplo,
el texto: “este mensaje almacena un octeto de información
01010101b” almacena la información binaria 01010101. Para ello, para
las palabras impares se utiliza un tipo de letra Courier y para las palabras
pares Courier New. En este ejemplo, se aprovecha la similitud de ambos
tipos de letras para establecer una codicación binaria, equivaliendo una
palabra en Courier a un bit 0 y una palabra en Courier New a un bit
1, por ejemplo. Como puede observar el lector aunque es una técnica
trivial puede ser lo sucientemente sutil para enmascarar información en
documentos y pasar desapercibida.
Otro ejemplo notorio de este tipo de técnicas consiste en enmascarar
información secreta, crear sistemas de codicación binaria, mediante
modicaciones horizontales y verticales. Los procedimientos
esteganográcos más documentados sobre modicaciones horizontales
están relacionados con el uso de espacios en blanco en un documento.
Las técnicas de ocultación basadas en esta idea son: la modicación del
espaciado entre las palabras de una frase, codicar información añadiendo
uno o más espacios al nal de una línea, utilizar los espacios después de
los signos de puntuación (comas, puntos...), etc. La introducción de más
o menos espacios depende de si estos son de un tamaño prejado o si
dicho tamaño puede modicarse.
Habitualmente, el tamaño de los “espacios” en un documento depende de la
herramienta de edición utilizada para la creación del texto, y por tanto, del grado de
modicación que permita la herramienta de edición. Por ejemplo, si se utiliza una
herramienta de edición de textos, aunque sea un procesador de texto algo primitivo,
en el cual los espacios tienen un tamaño jo, una técnica muy sencilla de codicación
puede ser añadir al nal de cada línea un espacio o dos espacios. Esta sencilla
técnica permitiría, por ejemplo, establecer un código binario (un espacio equivale
a un bit a 0, dos espacios a un bit a 1), y la ocultación de una información genérica.
Este método tan sencillo no es una técnica recomendable para ocultar información
sensible, además esta información se pierde al imprimir el texto, y dependiendo de
qué procesador trabaje con el documento es posible que se eliminen los espacios
extra. Una técnica algo diferente consiste en utilizar más de un espacio entre las
palabras.
Figura 6.7. Técnica esteganográfica basada en espaciado
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 183
Técnicas de este estilo se han utilizado a lo largo de la historia. Un caso
interesante sucedió en la década de los 80. Margaret Thatcher (primera ministra
británica) ordenó el uso de un método de marcado invisible de documentos, después
de que varios documentos privados fueran revelados a la prensa. Para ello, ordenó
que se modicaran los procesadores de textos que usaban los empleados del
Gobierno para que codicaran su identidad utilizando los espacios entre las palabras
del documento. Este procedimiento permitió rápidamente encontrar a los empleados
que realizaban fugas de información. Adicionalmente, estos procedimientos de
ocultación se pueden realizar mediante modicaciones verticales, es decir, jugar
con la distancia vertical, ja o variable, entre elementos de un texto para codicar
una información binaria.
Independientemente del procedimiento elegido, el tamaño de los “espacios”
en un documento, si no se realiza de forma manual, depende de la herramienta
de edición utilizada para la creación del texto. Una buena herramienta para este
propósito es el sistema de tipografía desarrollado por Donald E. Knuth, denominado
TEX.192 TEX, y LaTeX, permiten la creación de documentos profesionales de gran
calidad, permitiendo un control muy preciso sobre todos los aspectos del texto, por
ejemplo, su estructura, tamaño de las letras, etc. En este sentido, permite un control
muy preciso sobre el tamaño del espaciado entre palabras o el tamaño de los espacios
que siguen a ciertos signos de puntuación. Aunque este no fue el objetivo para el
cual se creó, ni principalmente el uso que se le da, es cierto que es una excelente
herramienta que facilita la ocultación de información en textos (en los documentos
generados mediante “compilación”). Por ejemplo, permite añadir espacios de tamaño
tan reducido entre palabras o entre los caracteres de una palabra que un lector no será
capaz de apreciarlos.
Todas estas técnicas documentadas sirven de referencia para profundizar en
procedimientos más robustos y modernos en el siglo XXI.
6.3 ESTEGANOGRAFÍA LINGÜÍSTICA. DEFINICIÓN DE CONCEPTOS
En la última década el auge del procesamiento del lenguaje natural, lo que
denominaremos de aquí en adelante lingüística computacional, viene motivado por
su enorme utilidad en tecnologías tan dispares como son los sistemas de traducción
automática, los algoritmos de reconocimiento del habla, algoritmos de análisis
ortográcos, sistemas de data mining, algoritmos para el resumen automático de
192 Hoy en día, paquetes de macros para TEX como LaTeX se utilizan con gran éxito. https://www.
latex-project.org/.
184 ESTEGANOGRAFÍA
© RA-MA
textos, compresión de datos, recopilación de inteligencia, 193 etc. Además, a todas
estas aplicaciones, desde hace bastante tiempo, se les une su utilidad en la protección
y anonimato de comunicaciones. Por ejemplo, en procedimientos criptográcos
clásicos para estudiar la frecuencia de aparición de digramas, trigramas, etc.,
permitía hacer más seguros (o atacar) sistemas de cifra utilizados en comunicaciones
diplomáticas y militares, como vimos en capítulos anteriores.
Hoy en día, nuevas propuestas permiten vislumbrar aplicaciones más
claras del procesamiento del lenguaje natural y la protección de comunicaciones
digitales. Un artículo que permite acotar esta cuestión fue publicado por Atallah
et al.194 en el año 2000 donde se resumía la utilidad de estos avances en tareas de
inteligencia, recopilación y síntesis de información, y más interesante para nosotros,
en aplicaciones concretas de uso como son: los sistemas de memorización de claves
aleatorias o los sistemas de marcado digital de textos.
Es precisamente en el marcado digital de textos donde la aplicación de la
lingüística computacional, especialmente en estos últimos 15 años, ha permitido
unos resultados notables y ha facilitado la posibilidad de ocultar información en
lenguaje natural de manera sosticada utilizando la ciencia de la esteganografía
lingüística. Ciencia que aglutina los conocimientos previos en esteganografía textual
destacados en párrafos anteriores.
¿Qué es la esteganografía lingüística?
A falta de una denición más completa, se puede denir la esteganografía
lingüística como aquel conjunto de algoritmos robustos que permiten ocultar una
información, típicamente binaria, utilizando como tapadera información en lenguaje
natural. En la actualidad, la esteganografía lingüística intenta mezclar principios de
la ciencia de la esteganografía y la lingüística computacional (análisis automático
del contenido textual, generación textual, análisis morfosintáctico, lexicografía
computacional, descripciones ontológicas, etc.) para crear procedimientos públicos no
triviales según los principios de Kerckhoffs. 195 La seguridad de estos procedimientos
193 Una muestra de ello es el Open Source Center, creado en 2005. El OSC es un organismo de la
inteligencia estadounidense encargado de analizar las comunicaciones e información en la red,
especialmente de los medios sociales, blogs, wikis, foros y redes sociales de todo el mundo. https://
en.wikipedia.org/wiki/Open_Source_Center.
194 ATALLAH, M., et al.; Natural Language Processing for Information Assurance and Security: An
Overview and Implementations, Proceedings 9th ACM/SIGSAC New Security Paradigms Workshop, págs. 51-65, septiembre, 2000.
195 https://es.wikipedia.org/wiki/Principios_de_Kerckhoffs.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 185
dependerá exclusivamente de una información adicional conocida exclusivamente
por el emisor y el receptor a modo de clave. Al igual que sucede con otro tipo de
cubierta, en función de la cantidad de información a ocultar, el estegotexto generado
introducirá más o menos pistas que podrían facilitar la vida a un estegoanalista.
En la actualidad, la ciencia de la esteganografía lingüística intenta solventar
las dos problemáticas siguientes:
1. Anonimato y privacidad. La posibilidad de ocultar información en textos
en lenguaje natural permitiría intercambiar información dicultando su
detección por parte de personas y sistemas de monitorización automáticos.
A la dicultad de invertir los mecanismos de protección se le une la
complejidad de procesar el volumen de información textual intercambiado
en las redes de telecomunicación, haciendo inviable la recopilación y el
análisis por un potencial estegoanalista, mejorando, o eso se espera, la
privacidad e incluso el anonimato de dichas comunicaciones. Por tanto,
tiene interés en términos de libertad de expresión.
2. Marcado digital de textos. En la actualidad, la integridad y la autenticidad
de una información pueden ser garantizadas mediante la utilización de
la denominada rma digital. En general, se trata de procedimientos que
generan unos datos extras basados en la información que se quiere proteger
y que se adjuntan a esa misma información. Estos procedimientos tienen
el inconveniente de que la información generada no está autocontenida
en la información que se quiere proteger y por tanto puede ser separada,
con los problemas en términos de vericación que esto puede suponer.
La posibilidad de ocultar información en un texto en lenguaje natural,
si esta modicación no supusiera “alteraciones notorias” del texto
utilizado como portador, facilitaría la inclusión autocontenida de rmas
que podrían tener utilidad en autenticidad e integridad de escritos en una
lengua concreta. Una rma autocontenida permite garantizar que la rma
de un autor presente en un artículo corresponde precisamente al texto
que escribió y se puede, además, demostrar que él es el autor de dicho
documento (authorship proof) así como “realizar un seguimiento” del
mismo, por ejemplo, para medir la difusión de una obra.
Existen dos grandes líneas de investigación para proporcionar soluciones
a las dos problemáticas indicadas: la generación automática de estegotextos y la
modicación de textos existentes. Vinculadas a estas dos grandes líneas de trabajo es
donde se circunscriben la mayoría de herramientas de esteganografía, publicadas en
Internet, que trabajan con información textual.
186 ESTEGANOGRAFÍA
© RA-MA
6.4 GENERACIÓN AUTOMÁTICA DE ESTEGOTEXTOS BASADA EN ESTADÍSTICA E
IMITACIÓN GRAMATICAL
La generación automática de estegotextos es una rama dentro de la ciencia
de la esteganografía lingüística cuyo objetivo consiste en crear textos en lenguaje
natural en función de la información que se desee ocultar. En la antigüedad, y
actualmente en otra rama importante de investigación en esteganografía lingüística, la
modicación de textos existentes fue la principal tendencia para ocultar información
en textos en lenguaje natural. Esta tendencia, al margen de otras cuestiones
lingüísticas y estadísticas, tiene la problemática de tener que mantener en secreto
(o destruir) el texto original/portador en el cual se realizarán las modicaciones y
mediante el cual se creará el estegotexto resultante con la información enmascarada.
Debe minimizarse al máximo la posibilidad de que un potencial estegoanalista
pudiera realizar comparaciones entre el texto original y el estegotexto creado que
le simplicará la tarea de detección. Por estos motivos, la generación automática
de estegotextos muestra interés. En primer lugar, el estegotexto generado, que
depende de la información a ocultar, puede ser mejor modelado realizando todo tipo
de consideraciones lingüísticas y estadísticas en el proceso automático de creación.
Por otro lado, esta tendencia facilita la creación de un estegotexto único por cada
comunicación enmascarada a realizar, lo que complica el trabajo de un potencial
estegoanalista.
Los algoritmos de generación automática de textos deben considerar
la calidad léxica, sintáctica y semántica, así como la cohesión y coherencia del
estegotexto resultante. Para aproximarse a este problema, desde nales del siglo XX,
dos grandes líneas de generación, que se pueden entremezclar, se han propuesto:
unas basadas en imitación gramatical y otras basadas en imitación estadística de un
texto “típico” en una lengua concreta.
1. Ocultando información mediante imitación estadística de textos de
entrenamiento
La generación de textos en lenguaje natural podría partir de la idea
de que las palabras y las expresiones presentes en un lenguaje siguen
un determinado orden. Un modelado estadístico del lenguaje natural
permitiría cuanticar diferentes aspectos sobre textos en una lengua
concreta que tendría utilidad para la creación de textos con validez
lingüística que no solo no levanten sospechas a un software automatizado
(máquina) sino tampoco a un lector humano. En general, puede ser muy
complejo realizar un modelado estadístico preciso sobre un lenguaje.
Por ello, en determinados entornos, como pueda ser la esteganografía,
modelados estadísticos más sencillos son, en principio, prácticos para
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 187
© RA-MA
propuestas reales. Esta idea no es ni mucho menos nueva, Peter Wayner en
1992196 ya propuso diferentes herramientas aplicadas a la lengua inglesa.
En cualquier caso, la mejor manera de comprender cómo funciona este
tipo de procedimientos y sus limitaciones es jugando con una herramienta
real, en nuestro caso en lengua castellana.
Herramienta Stelin
La herramienta con la que vamos a realizar las pruebas, Stelin, puede
descargarse gratuitamente de Internet (http://stelin.sourceforge.net). La desarrollé en
2009 precisamente para probar la utilidad de la generación automática de estegotextos
basada en imitación estadística en lengua castellana (el lector rápidamente observará
como los mismos principios podrían utilizarse con otras lenguas). ¿Por qué esta
herramienta y no otra? La respuesta es clara, no se conocen otras herramientas que
hayan estudiado esta posibilidad en nuestra lengua.
Figura 6.8. Algoritmo esteganográfico utilizado en la herramienta Stelin
Stelin utiliza un algoritmo de generación automática de estegotextos
basado en un modelo estadístico N-gram. 197 Esta herramienta utiliza uno o más
textos de entrenamiento para simular (aprender) el comportamiento de un lenguaje
(los textos de entrenamiento son compartidos entre emisor y receptor). Dados
estos textos se anotan las ocurrencias de las palabras presentes en los mismos y
se contabiliza la repetición de cada una, es decir, se anota qué palabras van detrás
196 WAYNER, P.; “Mimic functions”, Cryptologia XVI, págs. 193-214, julio, 1992.
197 Un modelo estadístico N-gram hace referencia a aquel modelo que permite contabilizar las ocurrencias y la posición de posibles elementos en una secuencia de n elementos consecutivos, en
nuestro caso palabras de un texto.
188 ESTEGANOGRAFÍA
© RA-MA
de qué otra y con qué probabilidad. Imitando la estadística de esos textos de
entrenamiento es probable que un estegotexto resultante, que está basado en textos
de entrenamiento con validez léxica y sintáctica, tenga a su vez validez léxica y
sintáctica. Los textos resultantes deberían tener la suciente calidad lingüística
para no ser detectados por un software automatizado y en la medida de lo posible
tampoco por lectores humanos.
El proceso de ocultación es sencillo. Se anota después de cada palabra (a
lo largo del texto) qué palabras le siguen y así sucesivamente hasta un orden de
complejidad n (este es un parámetro de la herramienta). Por ejemplo, un orden n = 8
signica que analizaremos la estadística de hasta 8 palabras consecutivas. Conocido
esto, a cada palabra disponible en cada nivel (orden) se le asigna una codicación
binaria. A continuación, el mensaje a ocultar se codica en binario, se elige una
palabra de la tabla raíz y se va enlazando palabra tras palabra hasta alcanzar el
orden n. Las palabras que se irán eligiendo serán aquellas cuya codicación binaria
coincida con los bits a ocultar de manera consecutiva. Una vez llegados a la última
palabra en el orden n, se enlazará con la tabla raíz para continuar con el proceso hasta
ocultar toda la información deseada.
planeta por donde cruza errante la sombra de Caín criminal. ¡Gloria a Caín! Hoy sólo
quedan lágrimas para llorar. No hay camino, sino estelas en la mar. ¡Fugitiva ilusión
de ojos guerreros, que el polvo barre y la ceniza avienta. ¿Qué has hecho? La muerte
no hay camino, se hace camino al andar. El que espera desespera, dice la mano viril
que la blandiera, no por los salones de sal-si-puedes suena el rebato de la tarde en la
arboleda! Mientras el corazón pesado […]
Figura 6.9. Estegotexto que oculta 126 bits. Texto fuente de entrenamiento versión digital de Poesías
Completas de Antonio Machado. 0,7636 bits/palabra estegotexto. Orden de complejidad n = 9
La calidad del texto de entrenamiento, como lo es también el orden de
complejidad, es vital en la generación de los estegotextos. Entendemos por calidad
no solo el tamaño del mismo, sino también su validez léxica, sintáctica, su género
literario, su estilo, etc. Ante este condicionante una pregunta interesante a resolver
sería qué texto de entrenamiento, si es que hay alguna preferencia, es más adecuado
por su uso esteganográco. En principio, diferentes tipos de textos podrían ser
considerados como fuente para ocultar información: poemas, novelas, artículos
periodísticos, código de programación, etc. Desde un punto de vista lingüístico, y
al trabajar con secuencias de n palabras consecutivas, sería interesante ltrar zonas
del texto que pudieran afectar claramente a la coherencia del estegotexto resultante
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 189
como resultado de concatenar diversas secuencias de palabras. Por ejemplo,
descartar índices, títulos, numeraciones (a), b), c), I, II, III), fechas, referencias, etc.
En la práctica, los textos de entrenamiento recomendados, según las investigaciones
actuales, serían libros y novelas (narrativa) con decenas de miles de palabras. También
una obra de poesía podría ser una buena candidata como fuente de entrenamiento ya
que, en general, la coherencia entre las frases en este tipo de textos no es tan estricta
como en otros tipos de textos de entrenamiento. De hecho, es frecuente en este tipo
de textos que frases adyacentes hablen de cosas muy diferentes.
En cualquier caso la herramienta Stelin presenta dos ventajas adicionales
para conseguir estegotextos de mejor calidad lingüística. Por un lado, incorpora una
opción mode satanic para generar todos los estegotextos posibles, es decir, genera
cada uno de los estegotextos para cada una de las palabras de la tabla raíz. Esta
opción facilitará al emisor elegir el estegotexto más adecuado, según sus criterios,
si no desea que la herramienta lo realice automáticamente en función de la clave
elegida por el emisor. Por ejemplo, algunos de los posibles estegotextos 198 para la
ocultación199 de una pequeña información de 72 bits, que contiene la dirección IP
81.10.49.51, son:
-_STEGOTEXT_-5
Y, a propósito de matrimonio, pero que la mitad de sus tierras se creían en la obligación,
porque soy el padre.» En medio del clamor general, a quien homenajeamos y a sus hijosdijo con su voz fuerte, grave, lleno de títulos: el puente de Enns, sino con los caballos.
Era una noche. Momentos después, la emoción, que le ahogaba, al ver una enorme
masa fuera de la puerta abierta.
-_STEGOTEXT_-13
Este corpulento muchacho era hijo natural de la escolta, al corpulento ocial de servicio -,
y el Príncipe -. Ve, Macha! Y, quitándose el abrigo, que, según la moda, como aún no se
habían visto en Moscú, y unas cuantas palabras agradables antes de retirarse sin perder
bagajes. Había habido un duro encuentro, se veían ante ellos. - Sí,, sí. Tikhon no oía el
más que un hombre civil y rico les dejará alguna cosa. «Vaya por Dios», pensó Pedro. No
te enardezcas. No desees nada. Haz por ignorar el príncipe Andrés.
198 En este ejemplo utilizamos como fuente de entrenamiento la versión digital de Guerra y Paz de
León Tolstoi, cuyo tamaño en texto plano es 396 KB con 69.344 palabras, con un orden n = 7,
generando 9.291 estegotextos diferentes.
199 Stelin representa cada carácter a ocultar con 6 bits y después 6 bits de código de n.
190 ESTEGANOGRAFÍA
© RA-MA
-_STEGOTEXT_-153
nueva ciencia - la estrategia -, pero el príncipe Bagration no le miró con gozo, inclinando
la mano, cosa que todavía no le ha llamado ni una sola en el campo. -No olvides que
estarás con mi padre y la hija de la visitante, con la túnica de las tres días de armisticio.
Bagration contestó. - ¿No quieres...? - preguntó. - A la habitación de
-_STEGOTEXT_-160
había hecho un esfuerzo extraordinario para decir que no respondería de sí misma frase
-. No se pueden vivir sin guerras. ¿Por la noche, cuando, después de la ausencia, a las
piernas. Sus mejillas se contraían violentamente, y cuando se encogió de hombros y
abrió los brazos separados del cuerpo, presentaba su marido con el mismo tono de la
Princesa, como si ésta se fue a dormir a casa del conde Bezukhov. III En el momento
-_STEGOTEXT_-5229
Viva Su Excelencia! Y de nuevo a reír, con risa sonora que incluso todos, hasta la mano,
como a una extraña para los rusos. Los cosacos conducían a pie. Uno de la Princesa
y suspiró. - ¡Dios sea loado! -, y la hija de la habitación con paso rápido. Mademoiselle
Bourienne miraba también a la Princesa no entendía un problema de aritmética. Se
alejaba de ella y, en general, las mujeres, la conversación era regular, no te
Por otro lado, Stelin aborda el mayor problema en la ocultación de información
mediante esteganografía lingüística, ya sea en textos existentes o generados, que
consiste en conseguir que el estegotexto resultante presente cohesión y coherencia
global, es decir, que no sea una secuencia de frases “más o menos ordenadas”, y por
tanto, tenga “sentido” para un ser humano.
Para minimizar este problema, se introduce de manera original el concepto
de maquillaje manual. 200 La herramienta permite al emisor modicar el estegotexto
resultante con cierta libertad, introduciendo nuevas palabras, construyendo un
estegotexto completamente humano, con la ventaja adicional de que el receptor
no necesita saber qué palabras ha introducido el emisor para poder recuperar
la información enmascarada. Aunque es un proceso algo tedioso, la calidad del
estegotexto creado y la invisibilidad de los datos ocultos son signicativas.
200 En la herramienta StegoSense, que desarrollé posteriormente, se lleva este principio al extremo
generando estegotextos “difícilmente detectables”. http://www.securitybydefault.com/2010/11/
herramienta-stegosense-automatizando-la.html.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 191
Por ejemplo, si se ocultan 54 bits (una coordenada GPS: 42.08.36 à 42º 08’
36’’) utilizando como fuente de entrenamiento una versión digital de Cien años de
soledad y un orden 3, se obtiene un estegotexto como el siguiente (hay 17.070 posibles):
método de exterminio, desde entonces hasta la hora de que se le dio la muerte
del mundo. El coronel Aureliano Buendía
Figura 6.10. Ejemplo de estegotexto generado automáticamente en lengua española. [stegotext-540].
Ocultación 54 bits. Texto fuente versión digital de Cien años de soledad de Gabriel García Márquez. 2,5714
bits/palabra. Tamaño fuente: 809 KB texto plano, 137.649 palabras. Orden de complejidad 3. Expansión 1:14
Este estegotexto podría ser corregido manualmente y generar un estegotexto
con apariencia próxima a uno generado por un ser humano.
método de exterminio de esclavos, desde entonces hasta la hora de su sublevación.
Muerte que se le dio sin piedad, la muerte del mundo menos afortunado. El coronel
Aureliano Buendía pagaría años después por sus atrocidades.
6.11. Corrección manual del estegotexto anterior, mejorando cohesión y coherencia global. Ocultación de
54 bits. Capacidad de ocultación final 1,5 bits/palabra
Si el lector está interesado puede consultar los detalles del algoritmo, 201 no
obstante en la página web del proyecto existe un manual sencillo para el uso práctico
de la herramienta Stelin (http://stelin.sourceforge.net).
2. Ocultando información mediante imitación gramatical del lenguaje
natural. Gramáticas libres de contexto
Los textos en lenguaje natural pueden verse como un conjunto de
léxico (palabras) que mediante uniones (reglas gramaticales) permiten
construir fragmentos con semántica cuya unión (coherencia) aporta un
valor concreto al lector. Dado que de una forma simplista un texto puede
verse como un conjunto de oraciones unidas, tiene sentido analizar la
posibilidad de imitar la estructura gramatical de una lengua concreta y
analizar si en esa imitación para generar texto válido es posible ocultar
201 MUÑOZ, A.; Generating Spanish Stegotext for fun and prot. http://stelin.sourceforge.net/rooted.
pdf.
192 ESTEGANOGRAFÍA
© RA-MA
información. Una excelente manera de realizar esto es mediante el uso
de gramáticas libres de contexto. Para comprender su uso es necesario
remontarse a los años 60 del siglo XX.
En la década de los 60 el excepcional lingüista A. Noam Chomsky
postuló la gramática generativa. Esta gramática se denió como el
conjunto de reglas innatas que permiten traducir combinaciones de ideas
a combinaciones de palabras y en este sentido, la gramática se convertía
en un sistema combinatorio discreto que permite construir innitas
frases a partir de un número nito de elementos mediante reglas diversas
que pueden formalizarse mediante una gramática formal gobernada por
normas de transformación. Según esta teoría de lenguaje formal una CFG
(Context-Free Grammar) se dene como una gramática en la que cada
regla de producción es de la forma v::=w, donde v es una variable y w
es una cadena de símbolos terminales y no terminales. Se entiende por
terminal la información última de cada regla, por ejemplo, una palabra
determinada. Por tanto, en general, una CFG se compondrá de terminales,
variables y producciones. Las CFG han jugado un papel nuclear en el
diseño de lenguajes de programación y compiladores, así como en el
análisis de la sintaxis del lenguaje natural.
En la década de los 90, Peter Wayner vinculó la posibilidad de utilizar
las construcciones CFG en la generación de estegotextos de forma
automática. 202 Esta idea facilitaría la creación de estegotextos que, al
menos, tendrían validez gramatical-sintáctica. Estos estudios los realizó
en su aplicación a la lengua inglesa. A continuación, para facilitar su
comprensión se añade un ejemplo en lengua española.
Variable_Inicio S ::= AB (.5) | AC (.5)
A ::= “Buenos días,”(.25) | “Buenas tardes,”(.25) | “Buenas noches,” (.25) | “Hola”(.25)
B ::= “estimado amigo” C (.5) | “estimado compañero” C (.5)
C ::= “Juan,” D (.25) | “Pedro,” D (.25) | “Lucas,” D (.25) | “Tomás,” D (.25)
D ::= “quedamos algún día para” E (.5) | “dame tu número de teléfono para” E (.5)
E ::= “hablar” F (.5) | “charlar” F (.5)
F ::= Un saludo (1.0).
Figura 6.12. Ejemplo de PCFG en lengua española en formato BNG actuando a modo de plantilla.
Ocultación máxima de 8 bits
202 WAYNER, P.; Disappearing Cryptography, Second Edition: Information Hiding: Steganography &
Watermarking, Morgan Kaufmann, 2ª edición, May 13, 2002. ISBN-13: 978-1558607699.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 193
La ocultación de información se realiza mediante la selección de elementos
concretos dentro de una regla especíca, regla que es elegida mediante algún
algoritmo de selección concreto. En el ejemplo anterior, una posible oración extraída
de las reglas denidas podría ser: “Buenos días, estimado compañero Tomás, dame tu
número de teléfono para charlar. Un saludo”, la cual ocultaría 8 bits (1+2+1+2+1+1).
Esta información oculta se produciría de la siguiente manera:
1. El primer bit a ocultar (0 o 1) permite seleccionar la regla inicial AB o
AC. Supongamos que ocultamos un bit 0. Seleccionamos la regla AB.
2. Regla A: existen 4 términos posibles, luego 4 opciones para elegir (00,
01, 10, 11) o lo que es lo mismo 2 bits de ocultación (log 24). Supongamos
que ocultamos 2 bits con valor 00. Seleccionamos “Buenos días”. Dado
que el término seleccionado no enlaza a ninguna otra regla seguimos con
la regla pendiente, la regla B.
3. Regla B: existen 2 términos, luego 2 opciones para elegir (0 o 1) o lo
que es lo mismo 1 bit de ocultación. Supongamos que ocultamos un
bit con valor 0. Seleccionamos “estimado amigo”. Como en el término
seleccionado se enlaza a la regla C continuamos con esa regla.
4. Continuando con este razonamiento y en función de la información a
ocultar se elegiría una regla u otra, ocultando toda la información deseada.
Si se llega a la última regla y quedara información por ocultar se iniciaría
de nuevo desde la Variable_Inicio.
Wayner desarrolló varios ejemplos interesantes aplicando estas ideas,
uno muy curioso es la ocultación de información en un mensaje con estructura de
correo de spam (¿quién pensaría que un correo de spam puede tener información
oculta?). Una herramienta con la que el lector puede simular este comportamiento
es spammimic. 203 Esta herramienta es insegura 204 pero es un buen ejemplo de uso de
gramáticas CFG con utilidad esteganográca.
203 http://www.spammimic.com/encode.shtml.
204 Adicionalmente a otros ataques, el lector puede observar como a los signos de puntuación siempre
les antecede un espacio, estableciendo un patrón muy característico de esta herramienta.
194 ESTEGANOGRAFÍA
© RA-MA
Figura 6.13. Ocultación de un mensaje con la herramienta spammimic
Figura 6.14. Mensaje de spam con información ocultada con spammimic
A primera vista la ocultación basada en imitación gramatical aparenta ser
robusta y producir textos de gran calidad que ni incluso un ser humano distinguiría
como falsos, sin embargo existen problemas que es importante resaltar. El primer
problema es que la gramática debe permanecer privada, emisor y receptor la deben
conocer, ya que si no es así un atacante podría inferir fácilmente la información
oculta. Este problema es mayor si la gramática es estática-manual. Si esta gramática
fuera conocida por el atacante forzaría al emisor y al receptor un nuevo proceso
tedioso (en función de la herramienta, manual) y costoso de generación de una
nueva gramática. La calidad del estegotexto depende claramente de la gramática y
si esta tiene pocas reglas es más que probable la repetición de frases y términos en
el estegotexto, facilitando a los estegoanalistas su trabajo. Aunque la gramática sea
generada automáticamente de uno o más textos de referencia, conocidos por emisor
y receptor, deben considerarse otros análisis al generar algoritmos esteganográcos
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 195
basados en CFG, por ejemplo, las palabras (términos) en una CFG se relacionan con
sus vecinos en formas jas. Aunque se añadan modelos estadísticos a las gramáticas
como son las Probabilistic Context Free Grammars, PCFG, para dicultar ataques
de análisis, siempre existirán correlaciones mutuas si se quiere que el texto sea
coherente para un humano. Por otro lado, deben considerarse los ataques basados
en estudio de terminales, información última de cada regla, ya que aunque las
variaciones de textos creados puedan crecer sustancialmente con el tamaño de una
gramática dada, el número de terminales está limitado por el tamaño de la gramática,
lo cual signica que forzosamente, si el texto es lo sucientemente grande, se tienen
que producir, y por tanto repetir, combinaciones lineales de terminales.
En los últimos años se han publicado múltiples herramientas que utilizan de
algún modo las gramáticas libres de contexto para ocultación de información, entre las
más conocidas destacan NICETEXT 205 para lengua inglesa (con un funcionamiento
parecido al descrito en el ejemplo anterior), la herramienta TEXTO 206 que transforma
información a sentencias en inglés, las herramientas C2txt2c 207 y Csteg 208 que ocultan
código fuente de lenguajes de programación en oraciones en lenguaje natural, etc.
Aunque la esteganografía lingüística basada en imitación gramatical no sea
tan utilizada como otro tipo de esteganografía analizada en este libro no por ello
el lector debe asumir que no se han estudiado formas de atacarla. De hecho, desde
2008 se pueden observar trabajos cientícos de la comunidad china detectando con
precisión 209, 210,211 estegotextos creados por la mayor parte de herramientas disponibles
205 CHAPMAN, M.; Hiding the hidden: A software system for concealing ciphertext as innocuous
text, master’s thesis, University of Wisconsin-Milwaukee, May 1997.
206 Texto. Texto tool. ftp://ftp.funet./pub/crypt/steganography (Finlandia).
207 BLASCO, J. et al.; Csteg: Talking in C code, INSTiCC, 2008, Proceedings of SECRYPT International Conference, págs. 399-406.
208 ZUXU, D. et al.; Text Information Hiding Based on Part of Speech Grammar, IEEE Computer
Society, Proceedings of the 2007 International Conference on Computational Intelligence and Security Workshops, págs. 632-635. ISBN:0-7695-3073-7.
209 ZHILI, C. et al.; Linguistic Steganography Detection Using Statistical Characteristics of Correlations, Information Hiding: 10th International Workshop, IH 2008, Revised Selected, LNCS, págs.
224-235. Doi: 10.1007/978-3-540-88961-8_16.
210 ZHILI, C. et al.; A Statistical Algorithm for Linguistic Steganography Detection Based on Distribution of Words, IEEE Computer Society, 2008, Proceedings of the Third International Conference on Availability, Reliability and Security, págs. 558-563. ISBN: 978-0-7695-3102-1.
211 MENG, P. et al.; Linguistic Steganography Detection Algorithm Using Statistical Language Model, International Conference on Information Technology and Computer Science, 2009. ISBN:
978-0-7695-3688-0.
196 ESTEGANOGRAFÍA
© RA-MA
en Internet que trabajan con lengua inglesa como NICETEXT, TEXTO o similares.
En estas publicaciones pueden observarse porcentajes de detección cercanos al 100%
para tamaños de textos sospechosos (estegotextos) de pocos miles de caracteres, y
los ataques, no quepa la menor duda, irán mejorándose. Para más información visite
el buscador académico de Google (https://scholar.google.com) e introduzca los
términos steganalysis linguistic steganography. Rápidamente observará la enorme
cantidad de investigaciones que se han publicado en esta temática.
En resumen, mecanismos a tener en cuenta y, en función de quién sea nuestro
potencial “atacante”, entendiendo por atacante la persona o entidad y los recursos
invertidos en detectar una comunicación enmascarada, tener precaución a la hora de
utilizar las herramientas libremente accesibles para enmascarar información.
6.5 GENERACIÓN AUTOMÁTICA DE ESTEGOTEXTOS BASADA EN MODIFICACIONES
DE TEXTOS EXISTENTES
El mecanismo más tradicional de ocultación de información consiste
en utilizar un texto existente para enmascarar información basándose en algunos
elementos del texto o modicaciones del mismo. En el pasado la información textual
fue un portador muy socorrido para implementar procedimientos esteganográcos,
en general sencillos y que ocultaban poca información, basados habitualmente en
la modicación del formato del texto o de la posición especíca de unas letras
en el mismo (null ciphers y text semagrams). En la actualidad, mucho de este
conocimiento ha derivado en una línea de investigación más amplia intentando aunar
los conocimientos en el procesamiento del lenguaje natural y la criptografía para
alcanzar propuestas más robustas y que permitan ocultar un mayor volumen de datos.
Esta línea de investigación consiste en la posibilidad de ocultar información
realizando modicaciones en un texto existente o un texto que se genera
automáticamente para ser modicado. En general, el receptor no necesitará el texto
original, al que se le han realizado las modicaciones, para recuperar la información
oculta. En los siguientes apartados se verá como es posible, además, establecer
procedimientos esteganográcos basados en que emisor y receptor posean el texto
original al que se realizan las modicaciones, lo que da lugar al estegotexto. En
general, esta idea no es tan interesante ya que supone una limitación más a considerar
en el sistema esteganográco. Debe tenerse en cuenta que si el estegoanalista fuera
capaz de conseguir el texto original el procedimiento de detección se simplicaría
bastante (comparando uno y otro), luego emisor y receptor deberían salvaguardar o
destruir la cubierta original. Aunque los procedimientos clasicados en esta línea de
ocultación pueden ser utilizados como procedimientos esteganográcos, su utilidad
actual va más destinada al marcado digital de textos, posiblemente por su aplicación
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 197
práctica. Por este motivo, la ciencia del marcado digital de textos (en inglés, Natural
Language Watermarking o NLW), está tomando un auge signicativo en los últimos
diez años en lenguajes tan dispares como el inglés, el mandarín, el árabe, etc.
6.5.1 Modificaciones léxico-semánticas
Esta línea de investigación se centra en la posibilidad de utilizar el léxico
presente en un texto con utilidad esteganográca. La gran mayoría de las propuestas
actuales están destinadas a la sustitución de palabras, y más concretamente a la
sustitución de palabras por palabras parecidas, es decir, por sinónimos. Cualquier
algoritmo moderno de sustitución de palabras por sus sinónimos puede verse
básicamente de la siguiente manera:
H(T, s, D, k) = T’
E(T’, D, k) = s
Siendo T el texto a modicar, s la información a insertar, D el diccionario
de sinónimos y k una clave secreta. H es la función que realiza la inserción de la
información a ocultar y E la función que permite recuperarla. Con esta idea en mente,
es sencillo establecer un algoritmo esteganográco. Por ejemplo, en un texto donde
deseamos ocultar información y se encuentra la palabra “atadura” podríamos elegir
entre 8 sinónimos: vínculo, conexión, enlace, ligadura, unión, nudo, grillete,
yugo. Con estos 8 sinónimos se podría codicar hasta tres bits de información oculta
(log2 8 = 3 bits), para ello cada sinónimo representaría una información binaria del
tipo: vínculo = 000, conexión = 001, enlace = 010, ligadura = 011, unión = 100,
nudo = 101, grillete = 110, yugo = 111. Por tanto, la palabra original sería sustituida
por el sinónimo que represente los 3 bits de información a ocultar.
Entre los sistemas puros más antiguos que utilizan este tipo de procedimientos
podemos encontrarnos la herramienta T-LEX, 212 publicada en 1999 por Winstein. Un
software que permitía realizar sustituciones léxicas en textos en inglés basadas en un
diccionario de un conjunto de sinónimos construido con aproximadamente 20.000
palabras y haciendo uso de la base de datos Wordnet. 213 En función de la información
a ocultar se utilizará un sinónimo u otro.
212 T-LEX. Lexical Steganography. web.mit.edu/keithw/tlex/.
213 La base de datos Wordnet es una voluminosa base de datos léxica en inglés, desarrollada en la Universidad de Princeton, que agrupa nombres, verbos, adjetivos y adverbios en conjuntos de sinónimos (synsets). Estos conjuntos están relacionados mediante relaciones semánticas y conceptuales,
estableciendo una estructura de gran utilidad para la lingüística computacional y el procesamiento
del lenguaje natural.
198 ESTEGANOGRAFÍA
© RA-MA
Figura 6.15. Ejemplo de sustitución de sinónimos en el sistema T-LEX
Desde ese año multitud de publicaciones cientícas se han publicado
intentando proponer mejoras que eviten potenciales ataques. Si el lector se para a
pensar un momento en este tipo de sistemas observará su principal problema. En
realidad existen muy pocos sinónimos “puros” o absolutos en una lengua, sinónimos
válidos en cualquier contexto 214 de palabras, lo que implica que la modicación de una
palabra inserta necesariamente un ruido visual. Es decir, no podemos elegir cualquier
sinónimo de los aparentemente disponibles en función de la información a ocultar.
Intentar resolver esta cuestión ha dado lugar a multitud de técnicas y procedimientos
variados en los últimos 15 años. Como por ejemplo, intentar medir la distorsión
introducida o utilizar modelos N-GRAM para conocer cómo de probable es una
palabra dada en un contexto de palabras. En general, solucionar esta problemática
requiere sosticados procedimientos de desambiguación del sentido de las palabras
o aproximaciones estadísticas.
Por ejemplo, si tenemos la oración “voy al banco a sacar dinero” y tenemos
sinónimos de la palabra banco que puede tener múltiples signicados (banco =
entidad nanciera, banco = conjunto de peces, banco = objeto para sentarme, etc.),
solo ciertas palabras serán más probables junto al resto “voy al SINONIMO_
NUEVO a sacar dinero”. En este punto el lector observará que para minimizar errores
lingüísticos en el estegotexto resultante adicionalmente debe analizarse el lenguaje
de las palabras en su contexto cercano ya que es posible que se tenga que modicar
el género o número de alguna palabra o sustituirla por una nueva. Por ejemplo, si
banco = entidad nanciera, la frase nal podría ser algo como “voy a la entidad
nanciera a sacar dinero”. En este sentido, en 2014, desarrollé la única herramienta
de ocultación conocida basada en sinónimos (más de 23.198 sinónimos únicos),
herramienta Jano, considerando todas estas cuestiones planteadas, minimizando la
distorsión introducida en el estegotexto nal (no se conocen ataques efectivos contra
esta herramienta) y maximizando la capacidad de ocultación en lengua española (22
bits por cada 100 palabras de texto en claro). Si desea conocer más de este tipo de
herramientas consulte la información al pie de página. 215
214 Existen contextos donde incluso palabras que no son sinónimas harían esa función. Por ejemplo, “the
sleuth” es sinónimo de “Sherlock Holmes” en muchas de las obras de Arthur Conan Doyle, así como
es un sinónimo de “Hercules Poirot” or “Miss Marple” en algunas novelas de Agatha Christie.
215 Ocultación de comunicaciones en lenguaje natural, Rooted CON 2014. https://www.youtube.com/
watch?v=KZakb7WBBmY.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 199
Independientemente de la herramienta concreta otro inconveniente de las
sustituciones léxicas, adicional a la falta de sinónimos absolutos, es la facilidad,
en mayor o menor medida, con la que un atacante podría invertir/anular gran parte
de las inserciones, realizando cambios de palabras con los sinónimos disponibles,
aunque introduzcan errores. Por tanto, estas propuestas no son resistentes a ataques
activos.
No obstante lo anterior no debe desanimarnos, todavía existe un gran camino
para la investigación en este tipo de ocultación y variantes. Aunque es cierto que
la mayoría de propuestas léxicas se centran en el uso de sinónimos, existen otras
técnicas que intentan conseguir el mismo objetivo sin utilizar sinónimos. Por ejemplo,
las propuestas léxicas basadas en sistemas de codicación que se apoyan en el valor
semántico de las palabras. En esta dirección se orienta, por ejemplo, el trabajo de
Niimi et al.,216 en 2003, en el cual se desarrolla un modelo para cuanticar el valor
semántico de una información. Según este modelo se le asigna una puntuación a
conceptos (palabras), otra a modicadores (adjetivos), a conectores de conceptos (por
ejemplo, conjunciones), a delimitadores (paréntesis y corchetes), etc. El proceso de
ocultación reside en la comparación de la puntuación semántica de una información
con un umbral. Si está por debajo ocultará un bit 0 y si no un bit 1. Algunas de las
técnicas empleadas para incrementar o decrementar el valor semántico y así poder
enmascarar información binaria son: remover modicadores, remover conectores (y
algunos elementos que conectan), transformaciones sintácticas, etc.
6.5.2 Modificaciones sintáctico-semánticas
En teoría, la manipulación sintáctica de una frase con nes esteganográcos
se basa en el hecho de que las frases son combinaciones de sintaxis y semántica, y
la semántica de una frase podría ser expresada por más de una estructura sintáctica.
Conocido esto es posible articular procedimientos que aprovechen esta situación con
utilidad esteganográca y de marcado digital de textos. La idea es poder modicar
una frase sintácticamente sin que la semántica de la frase ni la coherencia global del
texto se vean afectadas. Si existe más de una posibilidad de expresar “lo mismo”
puede elegirse entre las opciones disponibles, y la decisión de una u otra opción es
lo que permitirá ocultar información. El esquema más documentado consiste en que
el emisor envíe un texto modicado al receptor. Otro esquema posible, que tiene
más restricciones, permitiría ocultar información mediante el conocimiento tanto
por el emisor como por el receptor del texto origen sobre el que se va a realizar
216 NIIMI, M. et al.; “A framework of text-based steganography using sd-form semantics model”.
IPSJ Journal 44, agosto, 2003.
200 ESTEGANOGRAFÍA
© RA-MA
la modicación. Todos estos procedimientos se fundamentan principalmente en la
posibilidad de mover estructuras o palabras dentro de una sentencia, eliminar/añadir
palabras “semánticamente vacías” o procedimientos similares.
Habitualmente, la modicación de estructuras sintácticas requiere de
procedimientos más sosticados que las sustituciones léxicas. No obstante,
actualmente la investigación en sistemas de etiquetado (taggers 217) y en
procedimientos de desambiguación 218 permite construir propuestas reales aunque
no sean perfectas. Su ventaja reside en mostrar una seguridad intrínseca frente a
ataques léxicos, es decir, a procedimientos de ataque que únicamente sustituyan unas
palabras por otras para intentar anular la información ocultada. Si la ocultación se
basa en la estructura de los textos este tipo de ataque no tiene utilidad.
En general, el movimiento de palabras dentro de una estructura es detectable
por el receptor sin conocimiento del texto original. Los procedimientos de
ocultación basados en la elisión o inserción de palabras requerirán del conocimiento
del texto original por parte del receptor para detectar la información oculta. Este
tipo de técnicas dependen claramente del idioma del texto donde se desee aplicar
esteganografía. Existen publicaciones que indican su interés en utilizarlas en idiomas
tan diversos como el ruso, mandarín, turco, japonés o coreano. Por ejemplo, en
2001 Murphy 219 realizó un amplio estudio de las posibilidades de la lengua inglesa
con utilidad esteganográca, estudio que sería complementado por investigadores
posteriores en los últimos 15 años y que nos hace pensar en posibles estructuras
que podrían tener cierta libertad a ser modicadas y por tanto facilitar la ocultación
de información: sustitución de which/who/whom por that dependiendo del
contexto, reordenación de argumentos unidos por conjunción, movimiento
de complementos, transformación activa-pasiva, la inserción de elementos
semánticamente vacíos del estilo de “generally speaking”, “basically”, “it seems
that”, etc.
En lengua castellana existen pocas investigaciones que analicen la utilidad o
no de este tipo de técnicas en español. Por este motivo, entre 2009 y 2011 realicé una
serie de investigaciones cuyos resultados pueden consultarse libremente en:
217 https://en.wikipedia.org/wiki/Part-of-speech_tagging.
218 En lingüística computacional, la desambiguación del signicado de la palabra es un problema
abierto de procesamiento de lenguaje natural, que incluye el proceso de identicar con qué sentido
una palabra está usada en los términos de una oración, cuando la palabra en cuestión tiene polisemia, es decir, pluralidad de signicados.
219 MURPHY, B.; Syntactic information hiding in plain text, M.S. Thesis, CLCS, Trinity College,
2001.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 201
] MUÑOZ, A. et al.; “Modicaciones sintácticas en lengua española
con utilidad en esteganografía lingüística”, RAEL: Revista Electrónica
de Lingüística Aplicada, ISSN 1885-9089, n.º 8, 2009, págs. 229-247.
http://dialnet.unirioja.es/descarga/articulo/3143010.pdf.
] MUÑOZ, A. et al.; “Modicaciones sintácticas basadas en la
reordenación de complementos del verbo con utilidad en esteganografía
lingüística”, RAEL: Revista Electrónica de Lingüística Aplicada, ISSN
1885-9089, n.º 10, 2011, págs. 31-54. http://dialnet.unirioja.es/descarga/
articulo/3882607.pdf.
Estas investigaciones demuestran que existen ciertas modicaciones sintácticas
en lengua castellana que permiten, al menos en teoría, ocultar información binaria
jugando con el orden de las palabras en una oración (modicaciones sintácticas). Entre
ellas, el cambio de activa-pasiva de una oración (por ejemplo, el atracador golpeó a
Luis/Luis fue golpeado por el atracador), transformaciones basadas en movimientos de
los adjetivos y otros complementos dentro del sintagma nominal (sustantivo + adjetivo
vs. adjetivo + sustantivo, nombre + adjetivo1 + adjetivo2 vs. nombre + adjetivo2 +
adjetivo1) o transformaciones basadas en la reordenación de complementos del verbo 220
(verbo + adverbio vs. adverbio + verbo, adverbio al principio de la frase vs. adverbio
al nal de la frase) como, por ejemplo, “Lamentablemente, él fue despedido” (oculto
un bit 0) o “Él fue despedido, lamentablemente” (oculto un bit 1).
Por desgracia, su utilidad real y la capacidad de ocultación para enmascarar
mensajes depende mucho del tipo del texto utilizado, del canal por donde se transmita
(la estadística de la fuente) y de su tamaño. A día de hoy, por la investigación publicada,
en lenguaje castellano estas técnicas podrían ser utilizadas para ocultar poca cantidad
de información, de decenas a pocas centenas de bits, en textos de tamaño mediano
(centenas de palabras) o como técnicas esteganográcas complementarias a otras
para hacer el proceso de ocultación más robusto.
6.5.3 Modificaciones basadas en el ruido de traducciones automáticas
La idea de estos procedimientos consiste en ocultar información basándose
en la posibilidad de traducir una sentencia, de un lenguaje concreto, en varias
sentencias “equivalentes” en un lenguaje destino, entre las cuales se puede elegir
220 En general, la presencia en la oración de adverbios y otros complementos no subcategorizados por
el verbo, como complementos circunstanciales externos al sintagma verbal, no es obligatoria y por
lo tanto se puede predecir que podrían gozar de mayor movilidad y aceptabilidad ante la manipulación en general.
202 ESTEGANOGRAFÍA
© RA-MA
estableciendo un sistema binario de ocultación de información. Esta curiosa idea
fue adelantada en 2005 por Grothoff et al., 221 y mejorada posteriormente por
Stutsman et al. 222 Este mecanismo analiza la posibilidad de ocultar información
en el “ruido” creado en las traducciones automáticas de documentos en lenguaje
natural. La traducción de fragmentos de texto de un lenguaje a otro crea sucientes
alternativas para considerarlas seriamente en un proceso de ocultación. Los errores/
imprecisiones introducidos en las traducciones podrían ser utilizados. Es decir, la
traducción automática es adecuada para aplicaciones esteganográcas. Los autores
analizaron diferentes tipos de errores generados por varios sistemas de traducción
automática e incluso algunos de estos errores son razonables en traducciones por
humanos. Estas limitaciones fueron explotadas en un sistema de ocultación práctico
publicado en http://www.scs.stanford.edu/~stutsman/stego. Algunos de los errores
considerados, en terminología inglesa, son: functional words, blatant word choice
errors, translations between typologically dissimilar languages, etc.
Un ejemplo de error sin destruir el signicado de las oraciones a traducir
consiste en la traducción incorrecta de palabras (functional words) como artículos,
pronombres y preposiciones. Por ejemplo, muchos lenguajes no usan artículos
delante de todos los nombres. Así por ejemplo, la traducción del francés al inglés de
“La vie est paralysée” se traduce como “Life is paralyzed”. La máquina de traducción
cometería un error si produjera “The life is paralyzed” dado que el sentido de “life”
en general no tiene artículo en inglés, lo mismo que nombres comunes como water
o money. Errores parecidos suceden con la traducción de preposiciones que depende
fuertemente del contexto de la oración. Por ejemplo, la frase en francés “J’habite à
100 mètres de lui” signica “I live 100 meters from him” en inglés, pero traducciones
erróneas podrían traducirla como “I live with 100 meters of him” o “I live in 100
meters of him”, en ambos casos la traducción de à como with/in son inapropiadas
en el contexto. Otros errores más sosticados podrían hacer uso de las diferencias
estructurales (sintácticas, semánticas y morfológicas) entre idiomas tan distintos
como el chino y el inglés, el inglés y el árabe, etc.
Como puede deducirse un ataque a un sistema esteganográco de este tipo
depende claramente de cómo evolucione la caracterización de un lenguaje determinado.
Este mismo conocimiento y sus limitaciones podrían ser explotados nuevamente por un
sistema de este tipo. Por tanto, la seguridad de este sistema recae en la clásica carrera
entre el ratón y el gato (protector y atacante). Los autores justican que dado que
221 GROTHOFF, C. et al.; “Translation-based steganography”, Tech. Rep. TR 2005-39, Purdue CERIAS, 2005.
222 STUTSMAN, R. et al.; Lost in just the translation, Proceedings of the 21st Annual ACM Symposium on Applied Computing (SAC 2006).
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 203
generar un modelo de análisis por parte de un atacante no es ni mucho menos trivial y es
sencillo adaptar el sistema para eliminar posibles excepciones que faciliten la tarea al
analista, este tipo de sistemas, por tanto, establece un “nivel razonable” de protección.
6.5.4 Modificaciones basadas en formato
En apartados anteriores se describieron procedimientos tradicionales de
esteganografía textual en los siglos pasados. Uno de esos procedimientos consistía
en la posibilidad de utilizar la estructura (formato y posición de las palabras, frases
o elementos en un documento) con nes esteganográcos. Sus ventajas residen en
un ancho de banda esteganográco grande y en la imperceptibilidad visual (depende
del método). Desde nales del siglo XX hasta nuestros días, gracias al auge de los
contenidos digitales, se han documentado diferentes procedimientos esteganográcos
aplicados a todo tipo de documentos que contienen información textual, típicamente
documentos omáticos creados con Microsoft Word, OpenOfce, Latex, etc. Este
empuje ha ido de la mano de todo tipo de propuestas basadas en estas ideas para
facilitar sistemas de marcado digital de texto para vericación de autor o contenido.
Un buen resumen de muchas de estas ideas fue publicado en 1994, donde Brassil et
al.223 proponen tres métodos de ocultación con utilidad en marcado de textos: lineshift coding (desplazamiento vertical, de tamaño jo o variable, de elementos de un
texto, típicamente desplazamiento entre líneas, entre grupo de caracteres, etc.), wordshift coding (desplazamiento horizontal, de tamaño jo o variable, de elementos de
un texto, típicamente desplazamiento entre caracteres o entre palabras) y character
coding (procedimientos de inserción de información basados en modicaciones de
la tipografía de los caracteres y de los atributos asociados a ellos, por ejemplo, brillo,
color, etc.), en terminología inglesa. Desde entonces otros autores teorizarían sobre
la posibilidad real de utilizar estos métodos en el marcado de textos.
Hoy en día, en la primera década del siglo XXI, la tendencia es hacer más
robustas esas ideas iniciales, aunque las pocas ideas medianamente novedosas son
adaptaciones de esos principios a nuevos formatos digitales que contienen información
textual. Ejemplos, a modo de artículos cientícos se encuentran a decenas:
] MEI, Q. et al.; Data Hiding in Binary Text Documents. Security and
watermarking of multimedia contents, Conference n.º 3, San Jose CA, ETATSUNIS (22/01/2001), vol. 4.314, págs. 369-375. ISBN 0-8194-3992-4.
223 BRASSIL, J. et al.; Marking text features of document images to deter illicit dissemination, Proc.
of the 12th IAPR International Conference on Computer Vision and Image Processing, vol. 2/1994,
págs. 315-319.
204 ESTEGANOGRAFÍA
© RA-MA
] HYON-GON, C. y WHOI-YUL, K.; “Data-Hiding Capacity Improvement
for Text Watermarking Using Space Coding Method”, LNCS, vol.
2939/2004, págs. 593-599. ISBN: 978-3-540-21061-0.
] AWAN, I. et al.; Utilization of Maximum Data Hiding Capacity in ObjectBased Text Document Authentication, 2006 International Conference on
Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP’06).
] KHAIRULLAH, M. A.; Novel Text Steganography System Using Font
Color of the Invisible Characters in Microsoft Word Documents, Second
International Conference on Computer and Electrical Engineering, 2009.
ISBN: 978-0-7695-3925-6.
Por suerte, de vez en cuando surge alguna idea curiosa, por ejemplo, la
creación de mensajes ocultos mediante ASCII Art. Un ejemplo de ello es la aplicación
online que puede verse en http://pictureworthsthousandwords.appspot.com. Estas
herramientas permiten construir una imagen mediante caracteres ASCII. Dado que
es posible combinarlos de diferentes maneras es posible ocultar información en un
texto ASCII que represente una imagen.
Figura 6.16. Mensaje oculto en una imagen codificada en ASCII Art
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 205
En la primera década del siglo XXI diferentes investigaciones han mostrado
interés en utilizar sistemas de escritura sosticados como el sistema tipográco
TEX para generar estegotextos con modicaciones basadas en formato 224 dado su
versatilidad225 y su capacidad de ocultación. 226 Por ejemplo, en 2006 Chao et al. 227
utilizaron el sistema TEX para ocultar información en ligeras modicaciones del
interespaciado entre las palabras, siendo el resultado del estegotexto un chero PDF.
Muchas otras propuestas se han publicado para diferentes idiomas basadas en los
tres métodos de ocultación citados anteriormente, en algunos idiomas tan “exóticos”
como el bengalí, el tailandés o el hindi.
A todo lo anterior hay que añadir, sin duda, un avance muy signicativo
en el siglo XXI en ataques lingüísticos a estas propuestas, siendo especialmente
signicativas las publicaciones de la comunidad cientíca china. Por ejemplo, en
2007, Lingjun et al.228 publicaron un algoritmo para detectar variaciones en los
atributos del formato de un texto que podrían tener uso esteganográco. Su algoritmo
mide las diferencias de atributos entre caracteres adyacentes y con esa información,
utilizando inteligencia articial, entrenaron un SVM 229 (Support Vector Machine)
que le permite clasicar textos inocuos y estegotextos. La precisión de su algoritmo,
bajo las condiciones establecidas, es de un 99,3% cuando el tamaño ocultado es de
al menos 16 bits. En 2008, Lingjun et al. 230 presentaron un ataque estegoanalítico
frente a esteganografía textual en documentos PDF basados en introducción de
224 CHEN, C. et al.; “Data Hiding in Text File Using TeX and Extraction of Hidden Data from Document Image”, Journal of Applied Sciences, vol. 24/2006, págs. 115-119.
225 LIN, S.; New Methods of Data Hiding in TeX Documents, Masters Thesis, National Kaohsiung
First University of Science and Technology, Taiwan, June 2004.
226 ARAVIND, K. et al.; “High-capacity data hiding in text documents. Media Forensics and Security”, publicado por DELP, E. J. III; DITTMANN, J.; MEMON, N. D. y WONG, P. W.; Proceedings
of the SPIE, vol. 7254/2009. Doi: 10.1117/12.805960.
227 CHAO, C. et al.; Information hiding in text using typesetting tools with stegoencoding, IEEE
Computer Society, 2006, Proceedings of the First International Conference on Innovative Computing, Information and Control, págs. 459-462.
228 LINGJUN, X. et al.; Research on Steganalysis fort text steganography based on font format, IAS
2007, págs. 490-495. ISBN: 0-7695-2876-7.
229 Las máquinas de soporte vectorial o máquinas de vectores de soporte (Support Vector Machines,
SVM) son un conjunto de algoritmos de aprendizaje supervisado que intentan abordar problemas
de clasicación y regresión. Dado un conjunto de ejemplos de entrenamiento (de muestras) podemos etiquetar las clases y entrenar una SVM para construir un modelo que prediga la clase de una
nueva muestra.
230 LINGJUN, L., et al.; A statistical attack on Kind of Word-Shift Text-Steganography, IIH-MSP
2008, págs. 1503-1507. ISBN:978-0-7695-3278-3.
206 ESTEGANOGRAFÍA
© RA-MA
espacios variables entre palabras. Si, según las condiciones establecidas, se utiliza
más de un 5% de la capacidad de ocultación, el porcentaje de clasicación es de un
98% de éxito. Por cuestión de espacio no podemos profundizar en todos los ataques
publicados hasta la fecha, no obstante el lector puede hacerse una idea del interés
en detectar estas técnicas de ocultación tan esquivas y de la precaución a la hora
de utilizar herramientas o técnicas concretas para enmascarar información sensible.
Las herramientas más famosas disponibles en Internet están siendo investigadas con
resultados de detección notorios.
6.5.5 Modificaciones basadas en errores, abreviaturas y símbolos de
puntuación
La presencia de errores ortográcos o tipográcos en los textos presentes en
un canal de comunicación permitiría, teóricamente, su uso con nes esteganográcos.
La utilidad real de un procedimiento esteganográco de estas características
depende mucho del canal donde se transmita y de qué habilidades se le consideren
a un atacante. Por ejemplo, un lector humano delataría rápidamente la presencia de
muchas de esas faltas, y si su presencia es elevada podría incluso hacer sospechar
de la naturaleza del texto analizado. Quizás, no pensaría lo mismo si encuentra esas
faltas de ortografía en foros de Internet.
Aunque en la práctica no es sencillo articular una propuesta pública, no basada
en oscuridad, considerando estos principios para un volumen de ocultación medio,
en 2007 Topkara et al.231 articularon una aproximación interesante y razonablemente
seria. 232 Si el atacante fuera un sistema clasicador automatizado, suposición realista
dado el volumen de información que se intercambia en las redes de telecomunicación,
la pregunta clave a resolver es ¿cómo sabe un programa automático que existe una
falta de ortografía en un texto? La respuesta a esta pregunta permite clasicar tres
tipos diferentes de sistemas de ocultación:
1. Sistemas que usan procedimientos para producir palabras que no
existen en un diccionario. El ataque a estas propuestas se simplica
utilizando diccionarios grandes y modelos estadísticos de la lengua bajo
estudio que indiquen cómo se relacionan las palabras entre sí.
231 TOPKARA, M., et al.; Information Hiding through Errors: A Confusing Approach, Proceedings of
the SPIE International Conference on Security, Steganography, and Watermarking of Multimedia
Contents, 2007, San Jose.
232 No se conoce ninguna otra publicación cientíca “seria” de esta temática.
© RA-MA
Capítulo 6. ESTEGANOGRAFÍA LINGÜÍSTICA. MARCADO DIGITAL DE INFORMACIÓN 207
2. Sistemas basados en errores tipográcos, uso de acrónimos y
abreviaturas. La detección de estos procedimientos queda supeditada
a algoritmos similares a los utilizados en la corrección de textos, por
ejemplo, en los programas omáticos. Algunas de las técnicas que se
emplean en su detección pueden estar basadas en la mínima distancia de
edición (mínima diferencia en letras entre una palabra con errores y una
palabra válida en un diccionario), modelos estadísticos N-Gram (estudio
de la probabilidad de aparición de esa palabra respecto de sus vecinas),
etc. En general, estos procedimientos de ocultación, sustituciones léxicas,
podrían ser procedimientos adecuados en combinación con otros, ya que
resulta complejo denir una propuesta robusta pública con estas ideas de
forma individual. Estos procedimientos podrían tener mayor aplicación en
entornos muy determinados como esteganografía en SMS, 233 codicación
de información en emoticonos, 234 etc.
Tabla 6.1. Lista de acrónimos de palabras en inglés utilizadas en mensajes SMS
3. Sistemas que usan procedimientos para transformar una palabra
válida en otra palabra válida. Por ejemplo, vaca-baca, toro-loro, etc.
Dentro de este tipo de sistemas también se pueden considerar otros
procedimientos basados en la separación de palabras compuestas (saca
puntas-sacapuntas) y en la creación de errores gramaticales. La detección
de estos procedimientos requiere de técnicas avanzadas de reconocimiento
lingüístico, etiquetadores precisos, técnicas de desambiguación y
comprensión semántica.
233 SHIRALI-SHAHREZA, M.; Text Steganography in SMS, Proceedings of the International Conference on Convergence Information Technology (ICCIT 2007), págs. 2.260-2.265.
234 CHANG, C.; Emoticon-based Text Steganography in Chat. http://msn.iecs.fcu.edu.tw/ courses/
talk/slides/data/2009-11-17/1_Emoticonbased%20Text%20Steganography %20in%20Chat.ppt.
208 ESTEGANOGRAFÍA
© RA-MA
En último lugar, existe otro tipo de procedimiento esteganográco que
estaría basado en la posibilidad de alterar símbolos de puntuación para
ocultar información. Al igual que sucedía en los dos procedimientos
anteriores no se conocen propuestas serias basadas en estos principios.
En 2006, Meral et al.235 realizaron una serie de consideraciones a este
respecto en turco. Estas armaciones no dejan de ser anecdóticas, poco
justicadas y difícilmente extrapolables a otros idiomas.
En conclusión, esta es una rama de investigación basada en errores que
podría ser interesante exclusivamente en canales muy concretos, como pudieran
ser las redes sociales, si se demuestra la presencia masiva de faltas de ortografía.
Queda por determinar cuestiones prácticas como la capacidad de ocultación y la
invisibilidad de este procedimiento para evaluar si es interesante considerarlo para el
desarrollo de una propuesta esteganográca útil y segura.
235 MERAL, H. et al.; Syntactic tools for natural language watermarking, Proceedings of the SPIE
International Conference on Security, Steganography, and Watermarking of Multimedia Contents,
January 2007.
7
NETWORK STEGANOGRAPHY Y COVERT
CHANNELS. EVASIÓN DE CORTAFUEGOS
Y FUGA DE INFORMACIÓN EN REDES DE
ORDENADORES
7.1 OCULTANDO INFORMACIÓN EN EL TRÁFICO DE RED. FUGA DE INFORMACIÓN
Y CONTROL REMOTO DE SISTEMAS INFECTADOS
Las redes de comunicaciones aumentan nuestra capacidad de libertad y
colaboración, o por lo menos se quiere creer que es así. Para que todas las redes
funcionen adecuadamente y se puedan establecer conexiones entre ellas, es necesario
habilitar mecanismos estrictos formalizados de comunicación con los denominados
protocolos telemáticos. En la red Internet es habitual el uso de la torre de protocolos
TCP/IP, cuando desde un navegador web se realiza una consulta al buscador favorito
de un usuario. Estos mecanismos formalizados establecen procedimientos para
poder encapsular adecuadamente la información a enviar y que pueda ser recuperada
por el receptor con éxito.
Para facilitar este hecho, se utiliza una información adicional, junto con el
mensaje del usuario a comunicar, para facilitar el correcto envío de dicho mensaje.
Dependiendo del protocolo (más bien de su nivel en la torre de protocolos a la que
pertenezca) todo este conjunto de información puede recibir diferentes nombres,
como paquete, segmento, datagrama, trama, etc. En cualquier caso, a partir de ahora
entiéndase que estos nombres se reeren siempre a la unión de información útil e
información de control. Por ejemplo, es interesante que a la información a enviar se
le indique con una información adicional quién es el destinatario de la misma.
210 ESTEGANOGRAFÍA
© RA-MA
En general, y desde un punto de vista esteganográco, en la mayoría de
protocolos existen ciertas debilidades o consideraciones no estrictamente denidas
en diseño que permiten a un individuo crear canales ocultos de información, que
pasarán inadvertidos entre una conexión de datos más o menos común. Esto permite
comunicarse sin molestia de un posible censor.
El concepto de canal oculto fue formalizado, entre otros, por Butler W.
Lampson en 1973 y se describe como aquel canal de comunicación que viola una o
más políticas de seguridad del sistema donde se aplica. En sentido práctico, consiste
en procedimientos de comunicación que no forman parte del sistema original u
organización, pero que se pueden utilizar para transferir información a un sistema
o usuario que, en principio, no estaría autorizado a acceder a dicha información. La
creación de canales ocultos, en la mayoría de los protocolos de comunicaciones,
es viable ya que existen campos no utilizados en la estructura del formato de los
paquetes enviados o simplemente campos a los que se les puede proporcionar una
funcionalidad diferente a la establecida en la correspondiente especicación que
dene el protocolo en cuestión.
Un mecanismo habitual de ocultación consiste en utilizar campos reservados,
para un futuro, sin utilidad actual en una determinada versión de un protocolo. No
obstante, se debería vericar para casos concretos que la información ocultada no es
modicada o comprobada por ningún elemento de la red informática donde se desee
aplicar dicho canal, como un router o un cortafuegos. Lógicamente, como sucede en
otros ámbitos de la informática, los datos, en un canal encubierto, pueden ser cifrados
convenientemente para uso exclusivo de los miembros que actúan en la comunicación;
también se pueden utilizar múltiples técnicas esteganográcas (múltiples protocolos
telemáticos) para ocultar más información y dicultar la detección.
A día de hoy, los canales encubiertos tienen dos objetivos fundamentales:
fuga de información y control remoto de equipos/software. Su objetivo fundamental
es intentar evadir cualquier tipo de tecnología DLP 236 (Data Loss Prevention) o de
seguridad perimetral (antivirus, cortafuegos, IDS, etc.) que pudiera detectarlos.
Desde hace décadas numerosos esfuerzos 237 están destinados al análisis y
detección de este tipo de canales encubiertos, quizás menos esquivos que otras
técnicas esteganográcas descritas en este libro. De hecho, en la última década
es especialmente signicativa la caracterización de protocolos (comportamiento)
utilizando algoritmos de aprendizaje automático (inteligencia articial). 238
236 https://en.wikipedia.org/wiki/Data_loss_prevention_software.
237 National Computer Security Center, A guide to Understanding Covert Channel Analysis of Trusted
Systems.https://fas.org/irp/nsa/rainbow/tg030.htm.
238 A novel comprehensive steganalysis of transmission control protocol/Internet protocol covert
channels based on protocol behaviors and support vector machine. http://onlinelibrary.wiley.com/
doi/10.1002/sec.1081/abstract.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 211
7.2 CANALES ENCUBIERTOS EN PROTOCOLOS DE COMUNICACIÓN. TORRE TCP/IP
Algunos de los protocolos de comunicación típicos para crear canales
encubiertos son: HTTP, TCP, UDP, IPv4, IPv6, ICMP, IPSEC, IGMP, FTP, DNS, los
protocolos usados en redes de área local (802.2, 802.3), en redes inalámbricas, 239 etc.
En general, los protocolos típicos vinculados a las comunicaciones en Internet y a la
torre de protocolos TCP/IP.
Figura 7.1. Torre de protocolos TCP/IP
La creación de canales ocultos utilizando los protocolos estándar de
comunicación en Internet es posible mediante técnicas muy diversas basadas en la
manipulación de la cabecera de los paquetes (donde se encuentra la información de
control), la reordenación de los paquetes a enviar (el orden en que se reciban los
paquetes permite ocultar información), la creación de canales en función del tiempo
que se tarda en enviar una serie de mensajes (timing channels, 240 en nomenclatura
inglesa), etc.
En los siguientes apartados se van a estudiar algunas técnicas esteganográcas
para los protocolos más utilizados en Internet. El lector debe ser consciente de que
en función de dónde se localicen emisor o receptor (en qué red) la ocultación de
239 WLAN steganography. http://stegano.net/our-papers.html.
240 IP Covert Timing Channels: Design and Detection. http://www.cs.jhu.edu/~fabian/courses/
CS600.624/covert.pdf.
212 ESTEGANOGRAFÍA
© RA-MA
información podría ser mayor combinando varias técnicas y varios protocolos,
por ejemplo, si un emisor y un receptor están en una misma red local corporativa.
Obviamente, un escenario posible de comunicación podría ser en el cual el emisor
es el atacante y el receptor el sistema controlado remotamente utilizando canales
ocultos. Recuérdese, especialmente para los lectores que no estén habituados a la
utilización de torres de protocolos, que la información de los protocolos superiores en
la torre (información de control e información de usuario) se encapsula en el campo
de datos del protocolo inferior, y así sucesivamente. En una red local un canal oculto
entre un emisor y un receptor utilizando Internet podría usar, por ejemplo, protocolos
de nivel de enlace, nivel de red y nivel de transporte para ocultar información. Si
desea profundizar en esta cuestión le recomiendo consultar los siguientes términos:
inter-protocol steganography y multi-level steganography (MLS).
En cualquier caso, la mejor forma de entender cómo combinar técnicas o
protocolos es con casos concretos.
7.2.1 Esteganografía en protocolos de red local. IEEE 802.3. CSMA/CD
En toda torre de protocolos de comunicación existe un nivel que permite
acceder directamente al medio físico de transmisión mediante el cual se va a poder
enviar la información, por ejemplo, a través del aire. Un protocolo muy común
utilizado por las tarjetas de red Ethernet, especialmente en redes de área local
(conexión a Internet), es el protocolo IEEE 802.3 CSMA/CD, el cual es interesante
desde un punto de vista esteganográco. Por denición este protocolo puede utilizar
un acceso al medio, múltiple, con escucha de portadora y detección de colisión
(Carrier Sense Múltiple Access/Collision Detect, CSMA/CD), en principio, para una
topología lógica de red en bus y varios medios físicos de transmisión.
El mecanismo básico de transmisión mediante este protocolo es el siguiente:
1. Cuando una estación desea transmitir una trama (unidad de información,
información de control e información útil, a nivel 2 de la torre de
protocolos), escucha previamente el medio físico; si se detecta que otra
estación está transmitiendo continúa a la escucha (carrier sense).
2. Cuando el medio se queda libre comienza a transmitir la trama. Si dos
o más estaciones intentan transmitir una trama al mismo tiempo se
producirá una “colisión”, que será detectada (collision detect) por las
estaciones. Si una estación detecta una colisión durante la transmisión de
una trama, interrumpe la transmisión de esa trama y transmite una señal
jam de reiniciación, y de aviso.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 213
Después de una colisión, y para evitar la repetición de este suceso, las
estaciones que han colisionado esperan un tiempo aleatorio, backoff, antes de poder
volver a transmitir una trama. En general, el algoritmo de espera considera un tiempo
de espera que es un múltiplo entero del slot-time (tiempo máximo entre que una
estación comienza a transmitir y detecta la colisión):
T BACKOFF = r . TSLOT TIME
Siendo “r” un entero aleatorio, seleccionado dentro del rango 0 ≤ r < 2 K,
donde K depende del número “n” de intentos de transmisión, es decir, típicamente
K = Min(n,10).
Después de un número de intentos (normalmente 16) la entidad MAC
asume que existe algún problema en la transmisión y lo reporta al protocolo de nivel
superior.
Un mecanismo sencillo de ocultación esteganográca utilizando el
funcionamiento de este protocolo consiste en utilizar el tiempo backoff para crear un
canal oculto de información (manipulación de backoff). Los canales se crean en base
a diferencias temporales (timing channels). En este sentido, en una conguración
muy sencilla, es posible ocultar un bit de información por trama. Veamos cómo.
Una técnica de ocultación viable consiste en jugar con el tiempo de
retransmisión después de una colisión. Así, por ejemplo, se podría utilizar dos
valores jos de tiempo, uno para representar el “0” binario y otro el “1” binario, en
lugar del valor aleatorio que especica la norma. Por ejemplo, en una red local si
nuestra implementación nada más colisionar envía el paquete de información, sin
esperar, esto podría denotar un bit “0” oculto para el receptor. Puede pensarse que
esta idea, en principio, aumentaría el número de colisiones, sin embargo, si el resto
de equipos cumple la normativa de retransmisión al colisionar, se observa como
se puede establecer canales ocultos, e intercambiar información sin una latencia
excesiva.
7.2.2 Canales encubiertos en protocolos de red. Protocolo IPv4
El protocolo de comunicación de red más extendido y utilizado es el protocolo
IP versión 4 (Internet Protocol), descrito en la norma RFC 791. El protocolo IP
pertenece al nivel de red de la torre de protocolos TCP/IP, cuyo objetivo es facilitar
la interconexión de redes heterogéneas y la transmisión de información.
Este protocolo permite el intercambio de información mediante paquetes
autocontenidos, denominados datagramas, independientes de otros paquetes, que poseen
214 ESTEGANOGRAFÍA
© RA-MA
toda la información necesaria para su encaminamiento por la red y la comunicación
entre sistemas nales. Al ser un protocolo no orientado a la conexión no requiere
establecimiento de conexión entre los diferentes pares que actúan en una comunicación.
Para comprender algunas de las técnicas esteganográcas descritas utilizando este
protocolo es necesario conocer el formato del datagrama IPv4, y en concreto, su
cabecera. La información de usuario concreta que se envía en cada comunicación, en
estos momentos, no es relevante desde un punto de vista esteganográco.
Figura 7.2. Estructura de la cabecera de un datagrama IPv4
A modo de resumen veamos el signicado de cada campo de esta cabecera:
] Versión (4 bits). Identica la versión del protocolo IP con la que ha sido
generado el datagrama IP.
] Longitud de la cabecera (4 bits). Especica la longitud total de la
cabecera del datagrama IP, incluidas las opciones y los bits de relleno,
en unidades de 4 octetos (32 bits). El valor por defecto de este campo es
5 (cabecera IP, sin opciones ni relleno, lo que equivale a 20 octetos). El
valor máximo de este campo es de 15 (cabecera IP de 60 octetos).
] Tipo de servicio (8 bits). Denido en la RFC 1349, proporciona un
servicio de priorización de datos IP.
] Longitud total (16 bits). Longitud total del datagrama IP (cabecera y
datos), medida en octetos.
] Identicación (16 bits). Se utiliza para identicar unívocamente todos
los fragmentos en los que se puede dividir un datagrama IP.
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 215
© RA-MA
] Flags (3 bits). Está formado por 3 ags con el siguiente signicado:
● Bit 1 (reservado).
● Bit 2 (Don’t Fragment, DF). Se utiliza para indicar si un router puede
(DF = “0”) o no fragmentar (DF = “1”) un datagrama IP.
● Bit 3 (More Fragment, MF). Este bit se activa en la máquina del usuario
o router que realiza la fragmentación. Se utiliza, además, en la máquina
destino para concatenar los fragmentos del datagrama IP. MF = “1”
indica que hay más fragmentos pertenecientes al mismo datagrama IP.
MF = “0” indica que es el último fragmento del datagrama IP.
] Desplazamiento del fragmento (13 bits). Indica la posición que ocupa el
primer octeto de datos del fragmento en el campo de datos del datagrama
IP original, medido en unidades de 8 octetos (64 bits). Se utiliza para
concatenar los fragmentos del datagrama IP en la máquina destino (orden
de los fragmentos).
] Tiempo de vida (8 bits). Tiempo que el datagrama IP puede permanecer
en la red, evitando su circulación indenida. La máquina origen pone el
valor inicial y cada router por el que pasa el datagrama IP lo disminuye
en una unidad antes de retransmitir dicho datagrama IP. Si el valor de
ese campo es “cero” antes de que el datagrama IP llegue a su destino,
dicho datagrama IP se descarta y se envía a la máquina origen un mensaje
ICMP de “tiempo excedido en tránsito”.
] Protocolo (8 bits). Identica el protocolo que gestiona el campo de datos
de usuario del datagrama IP, por ejemplo: 1 = ICMP, 6 = TCP, 17 = UDP.
] Checksum cabecera (16 bits). Campo con información de vericación
de cabecera, generado por la máquina origen y recalculado por cada
router por el que pasa el datagrama IP.
] Dirección IP origen y destino (32 y 32 bits). Dirección origen y destino
de los comunicantes.
] Opciones: campo opcional, donde se indican facilidades adicionales
solicitadas por la máquina origen, por ejemplo, identicar el tiempo en el
que un router procesa un datagrama IP.
] Relleno: al ser el campo opciones de tamaño variable, y no necesariamente
múltiplo de 32 bits, es necesaria una información de relleno para que la
longitud de la cabecera del datagrama IPv4 sea múltiplo de 32 bits.
216 ESTEGANOGRAFÍA
© RA-MA
Partiendo de la información anterior ahora es posible comprender algunos de
los mecanismos más comunes para crear canales ocultos utilizando el protocolo IPv4.
Entre las técnicas publicadas se puede destacar, por ejemplo, algunos procedimientos
para ocultar información utilizando los siguientes campos del datagrama.
] Campo “Identicación IP”: 16 bits ocultos por datagrama.
] Campos no utilizados. Por ejemplo, ag DF (Don´t Fragment) cuando
no hay segmentación de datagrama.
] Utilizar el campo “dirección IP origen” para ocultar información. Con
este procedimiento se puede ocultar 32 bits por datagrama.
] Uso del campo Relleno, consiguiendo hasta 31 bits por datagrama.
Unos procedimientos permiten ocultar más información que otros. En
cualquier caso, siempre es posible combinarlos para conseguir una mejor tasa de
información oculta. A continuación se analizan algunos de estos a modo de ejemplo.
7.2.2.1 MANIPULACIÓN DEL BIT DF EN EL DATAGRAMA IPV4
El diseño del protocolo IPv4 consideró diversas situaciones para facilitar la
interconexión de redes heterogéneas, en este caso el acceso entre diferentes redes
físicas. Es importante el concepto de la Unidad Máxima de Transmisión o MTU. La
MTU es un parámetro que depende de una red física concreta, e indica el tamaño
máximo de datos de una trama en el nivel de enlace (nivel por debajo del protocolo
IPv4 que encapsula los datagramas y los envía por el medio físico). En consecuencia,
cada interfaz física tiene una MTU, cuyo valor es función de la red a la que está
conectada. Por ejemplo, DIX-Ethernet 1.500 octetos, IEEE 802.5 4.464 octetos, etc.
Siempre que el nivel IPv4 tiene un datagrama que enviar, determina la interfaz
física por la que va a efectuar el envío y comprueba la MTU de dicha interfaz. Una
vez realizados estos pasos si el datagrama IPv4 a enviar tiene un tamaño menor o
igual que el valor de la MTU, el datagrama IPv4 se encapsula en una única trama del
nivel de enlace. Por el contrario, si el datagrama IPv4 tiene un tamaño mayor que el
valor de la MTU, el nivel IPv4 ejecuta la fragmentación, rompiendo el datagrama
IPv4 en varios fragmentos, cada uno de los cuales se encapsula en una trama del nivel
de enlace diferente; dicha fragmentación puede producirse en la máquina origen o en
un router intermedio.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 217
A todos los efectos, cada fragmento se comporta como un datagrama nuevo,
tiene su propia cabecera IPv4 y se puede encaminar de forma independiente al
resto de los fragmentos. Para evitar problemas en la red, el ensamblado solo tiene
lugar en el destino nal, siempre y cuando reciba todos los fragmentos. Si esto no
es posible el equipo nal descarta todos los fragmentos recibidos transcurrido un
tiempo. Para permitir el mecanismo de fragmentación y ensamblado se habilitan en
cada datagrama IPv4 dos ags (2 bits): bit DF (Don´t Fragment) y bit MF (More
Fragment).
Un datagrama sin fragmentar tiene MF = 0 y el campo Desplazamiento de
fragmentación a 0, esto permite que DF, teóricamente, pueda tener indistintamente
un valor de 0 o 1, considerando el tamaño máximo del datagrama. Teniendo en
cuenta esto, se puede realizar un algoritmo de empaquetado que usando la estrategia
de fragmentación del protocolo IPv4, use el bit DF para enviar información oculta.
La idea consiste en que mientras que no se supere la MTU, ningún datagrama será
fragmentado, aunque se indique explícitamente lo contrario en el bit DF.
Así, por ejemplo, dadas dos estaciones en la misma red (con conocimiento
previo de la MTU) se puede establecer un canal encubierto entre una comunicación
de datos ordinaria, para intercambiar datos ocultos. Utilizando únicamente esta
técnica se consigue poca capacidad efectiva por datagrama para el canal encubierto
ya que solo se puede ocultar un bit por datagrama IP enviado. La cantidad total de
información posible a enviar por segundo dependerá claramente de las propiedades
y velocidad de la red (datagramas/segundo).
7.2.2.2 MANIPULACIÓN DEL CAMPO DE IDENTIFICACIÓN EN EL DATAGRAMA IPV4
La cabecera IPv4 incluye un campo de 16 bits denominado “Identicación”.
Este campo se utiliza para identicar unívocamente todos los fragmentos de un
datagrama IPv4, por ejemplo, cuando un datagrama se segmenta en varios trozos
estos tienen el mismo identicador. La entidad origen lo rellena, garantizando que
no se repita este valor durante el tiempo de vida del datagrama IPv4, para la misma
dirección IPv4 origen, dirección IPv4 destino y tipo de protocolo. Este campo
permanece inalterable a lo largo de todo el camino hasta llegar al destino.
Dadas estas características sería interesante utilizar este campo para crear un canal
oculto de información. Para ello sería necesario generar un algoritmo que ocultara
la información en el campo cumpliendo las condiciones anteriores. A modo de
ejemplo, se puede desarrollar un algoritmo intuitivo para un entorno de red local
para comprender el procedimiento, aunque algo ineciente e inseguro.
218 ESTEGANOGRAFÍA
© RA-MA
Un usuario A que conoce el procedimiento decide utilizar una implementación
que utiliza de los 16 bits 4 bits para transmitir información útil. Los 12 bits restantes
(212 = 4.096) se utilizan para añadir un número único que se incrementa en una
unidad cada vez que se envía un paquete. De esta manera podemos numerar 4.096
paquetes con identicador diferente en la red, y suponer que esta medida impide
que se duplique el valor del identicador en dos datagramas en la red para la misma
IPv4 origen, IPv4 destino y tipo de protocolo. En general, el valor del identicador
es cíclico, y por tanto, cuando llega al valor máximo retorna a 0. Hasta retornar al
valor 0 el receptor debe haber recibido el datagrama anterior numerado con este
identicador. Con este simple procedimiento un usuario A podría comunicar 4 bits
de información oculta a un usuario B por datagrama IPv4.
7.2.2.3 MANIPULACIÓN DEL CAMPO DE DIRECCIÓN ORIGEN EN UN DATAGRAMA
IPV4
En el mundo de la seguridad informática es conocida la técnica de IPspoong por ser un procedimiento que permite falsear la dirección IP origen de un
datagrama enviado a un cierto destino. Esta técnica se puede utilizar, clásicamente,
bien para ocultar la identidad del emisor o para falsicar la identidad de otro usuario
utilizando su IP.
Desde el punto de vista de la esteganografía, y para todos aquellos entornos
en los cuales la información de la dirección IP origen no repercute en el adecuado
progreso de la comunicación (en la mayoría), este campo puede ser utilizado para
ocultar 32 bits por datagrama. La información a ocultar debe estar codicada con
formato de dirección IPv4 real (recordar que una dirección IPv4 está formada
por 4 octetos, cada uno de ellos con valores de 0 a 255), vericando si elementos
intermedios limitan el uso de ciertos valores en el campo origen (la dirección destino
es la que se utiliza para el encaminamiento).
7.2.3 Canales encubiertos en protocolos de gestión e ICMPv4
El protocolo ICMP (Internet Control Message Protocol) es un protocolo de
control de nivel de red denido en la RFC 792. La utilidad de este protocolo es
diversa, una de sus características es que permite a los routers intermedios o a la
máquina destino enviar mensajes ICMP de error, destinados a la máquina origen o
a otros routers, cuando ha ocurrido un problema de entrega del datagrama IP. Por
ejemplo, esta circunstancia se da cuando un router descarta un datagrama porque
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 219
tiene su memoria llena. 241 Otro uso permite a una máquina origen enviar mensajes
ICMP de consulta (query) de forma que un router o máquina destino responda con
otro mensaje ICMP de respuesta a esa consulta. Estos mensajes facilitan la detección,
por ejemplo, de si una máquina sigue funcionando en una determinada red. 242
Para facilitar todo el intercambio de información, se dene la unidad de datos
de este protocolo, denominado mensaje ICMP, y se encapsula como datos de usuario
en los datagramas del protocolo IP (en su cabecera con el campo “Protocolo=1”).
El formato del mensaje ICMP se puede ver como:
Figura 7.3. Encapsulación de un mensaje ICMP en un datagrama IP
] Tipo (8 bits): identica el tipo de mensaje ICMP.
] Código (8 bits): especica un mensaje dentro de un tipo dado.
] Suma de vericación (checksum) (16 bits): verica el contenido del
mensaje ICMP. Utiliza el mismo algoritmo de vericación de errores que
el protocolo IP. En el receptor ICMP se calcula la suma de vericación
ICMP y se compara con la suma de vericación ICMP recibida; de forma
que, si no coinciden, se descarta el mensaje ICMP.
241 Es interesante recordar que el protocolo IP es un protocolo no orientado a la conexión y sin conrmación de entrega; en este aspecto el protocolo ICMP complementa las deciencias de IP.
242 Existen propuestas en las que también se aprovechan IPv6 e ICMPv6 para la ocultación de información: Covert Channel Using ICMPv6 and IPv6 Addressing. http://worldcomp-proceedings.
com/proc/p2015/SAM7036.pdf.
220 ESTEGANOGRAFÍA
© RA-MA
Existen muchos mensajes ICMP, algunos de ellos son:
Tipo
Código
0
0
3
Descripción
Echo reply (ping replay)
Destination unreachable
0
Network unreachable
1
Host unreachable
2
Protocol unreachable
3
Port unreachable
8
0
Echo request (ping request)
17
0
Address mask request
18
0
Address mask reply
Tabla 7.1. Algunos mensajes ICMP posibles
Una vez conocido el funcionamiento de este protocolo se puede comprender
algunas de las técnicas de ocultación publicadas. Algunos de los procedimientos
documentados permiten, por ejemplo, ocultación de información mediante mensajes
ICMP address mask request y mensajes ICMP echo request/response. Por ejemplo, en
este último caso cuando se quiere comprobar que una estación está accesible se suele
utilizar la aplicación “ping”, que en último lugar envía un mensaje de solicitud ICMP Eco
Request y queda a la espera de un mensaje de respuesta ICMP Eco Reply. El tamaño del
campo de datos de estos mensajes (que básicamente contienen un campo de identicación
del proceso que envía el mensaje y un número de secuencia, ya que se pueden enviar
varios mensajes ICMP de solicitud de eco) es variable lo cual permite añadir información
adicional que no suele ser analizada y permite crear canales encubiertos.
Una herramienta mítica para probar esta técnica es la herramienta ptunnel, que
permite crear canales encubiertos con conexiones TCP utilizando paquetes ICMP echo
request/response. La herramienta está disponible para varios sistemas operativos. Una
copia para el sistema operativo Microsoft Windows y un tutorial pueden encontrarse en:
http://neophob.com/2007/10/pingtunnel-for-windows-icmp-tunnel/.
Otra técnica posible (router solicitation) es cuando una máquina envía
una solicitud después del arranque para solicitar que los routers en la red local
respondan inmediatamente con un mensaje ICMP message router advertisement. En
esta solicitud se observa una palabra de 32 bits de uso reservado. Estos bits pueden
usarse para un canal encubierto.
La variedad de técnicas de ocultación posibles con este protocolo ha
permitido la creación de numerosas herramientas para crear canales ocultos que,
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 221
si bien pueden evitarse, pueden ser más o menos difíciles de detectar. Mecanismos
tan sencillos como estos son utilizados por troyanos, como en el pasado lo fue el
conocido BO2K 243 (Back Orice 2000), que una vez instalados en la máquina víctima,
utilizando un túnel ICMP, permiten establecer un control remoto completo del PC
infectado. Las intenciones de este tipo de troyanos dependen de las intenciones del
atacante, desde el robo de datos o la utilización de la máquina zombi para lanzar
ataques DoS (Denial or Service) a otras máquinas hasta como tapadera para ataques
informáticos a otros equipos. La utilización de cortafuegos no soluciona estos
problemas, a no ser que se bloquee explícitamente el tráco ICMP.
7.2.4 Canales encubiertos en protocolos de transporte. Protocolo UDP/TCP
7.2.4.1 ESTEGANOGRAFÍA EN EL PROTOCOLO UDP
El protocolo UDP (User Datagram Protocol) es un protocolo de nivel de
transporte, denido en la RFC 768. UDP es un protocolo no orientado a conexión,
es decir, para transferir datos entre dos entidades del nivel UDP no es necesario
que, de forma previa, se establezca una conexión entre ellas. Cada paquete UDP es
independiente de los demás.
UDP es un protocolo no able porque no garantiza la entrega de datos al
destino, los datos pueden perderse, duplicarse o entregarse desordenados. No
obstante, la rapidez en el establecimiento de la comunicación (requisitos de retardo) y
la reducida sobrecarga en información de control enviada convierten a este protocolo
en un candidato ideal para la transmisión de audio y vídeo en tiempo real, y su
utilidad en otros protocolos como DNS, SNMP, NFS, TFTP, DHCP, etc.
Un paquete UDP se puede ver de la siguiente manera:
Figura 7.4. Cabecera de un paquete UDP
243 https://en.wikipedia.org/wiki/Back_Orice.
222 ESTEGANOGRAFÍA
© RA-MA
] Puerto origen/destino (16 bits-16 bits): indica el puerto que usa la
aplicación para enviar-recibir el paquete UDP. Este protocolo maneja el
concepto de puerto UDP que permite identicar distintas aplicaciones
dentro de una máquina.
] Longitud total (16 bits): especica la longitud total del paquete UDP
(cabecera+datos) en octetos. Este campo es redundante, ya que se puede
obtener también de los campos de la cabecera IP (protocolo sobre el que
se encapsula).
] Suma de vericación (16 bits): analiza que la información recibida en
el receptor coincide con la suma de vericación calculada en el emisor.
Conocida esta información, y al igual que en otros protocolos, es posible la
creación de canales encubiertos. Entre las técnicas publicadas destacan, por ejemplo,
la utilización del campo “Puerto origen” y/o el campo “Suma de vericación” con
nes esteganográcos.
1. Manipulación del puerto origen UDP
El campo “Puerto origen UDP” permite indicar al receptor el puerto por
el cual el emisor está transmitiendo información al receptor. Este campo
puede ser utilizado para ocultar 16 bits por paquete UDP enviado. Hay
multitud de situaciones en las cuales el receptor no necesita conocer el
puerto origen de transmisión, por ejemplo, en el establecimiento de una
comunicación unidireccional de transmisor a receptor.
2. Manipulación de la suma de vericación
La intención de este campo es que el receptor de una comunicación
UDP pueda detectar errores en el paquete UDP recibido. Sin embargo,
esta es una información redundante, y puede ser utilizada para ocultar
información. Un receptor previamente congurado podría recibir
paquetes UDP con información oculta en este campo, al recalcular la
suma de vericación del segmento recibido y compararlo con el presente
en el campo “Suma de vericación” comprobaría que se ha producido
un error, en este caso, en lugar de descartar la información la daría como
buena.
Esta técnica tiene el inconveniente de que si se produce un cambio de
información en el paquete durante el tránsito de origen a destino se daría
por buena, ya sea en la información de usuario o en la propia suma de
vericación creada ad hoc. De cara a un canal encubierto esto se podría
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 223
solucionar parcialmente considerando que actualmente los medios de
transmisión son muy buenos, lo que minimiza los fallos, y que la propia
información ocultada podría contener información de vericación para
los datos ocultos. En principio, esto dependerá del entorno práctico
donde se aplique, los datos enviados en el campo de datos de usuario,
no importa que pudieran tener errores, porque no van a ser utilizados
por los usuarios que intercambian información por el canal encubierto.
Simplemente actúan de señuelo, aunque se puede diseñar otra estrategia.
7.2.4.2 ESTEGANOGRAFÍA EN EL PROTOCOLO TCP
Uno de los protocolos esenciales en la torre de protocolos TCP/IP y que
se ha impuesto como protocolo estándar en las comunicaciones en Internet es el
protocolo TCP (Transmission Control Protocol). Este es un protocolo de nivel de
transporte denido en la norma RFC 793.
Entre sus características principales destacan:
] TCP es orientado a conexión. Es necesario el establecimiento previo de
una conexión entre estaciones que deseen comunicarse. Finalmente debe
ser liberada.
] Conexión extremo a extremo.
] Proporciona transferencia bidireccional simultánea e independiente.
] Protocolo able y control de ujo. Envío de octetos de datos numerados
secuencialmente en cada dirección, recibiendo conrmaciones (acks) de
los octetos desde la dirección destino. Garantizan entrega ordenada, sin
duplicación y sin pérdidas. Permiten variar el número de octetos a enviar
en función de la ocupación del buffer (memoria) del receptor, evitando
saturarlo y que se produzcan pérdidas.
] Temporizador de retransmisión. El envío de octetos de datos
provoca la activación de un temporizador de retransmisión, si vence
dicho temporizador sin conrmación de los octetos enviados, estos se
retransmiten.
] Soporta varias conexiones sobre el mismo puerto (bien porque cambia
el valor de la dirección IP o el puerto origen del emisor).
224 ESTEGANOGRAFÍA
© RA-MA
La unidad de datos del protocolo a nivel TCP es el segmento TCP, que
se encapsula en datagramas IP (clásicamente IPv4), con el campo “Protocolo del
datagrama IPv4 = 6”. En esencia, una conexión TCP está formada por dos puntos
extremos, que se comunican a través de direcciones TCP (clásicamente, dirección
IPv4 más puerto TCP de la aplicación).
Un segmento TCP se estructura de la siguiente manera:
Figura 7.5. Estructura de un segmento TCP
] Puerto origen (16 bits): identica el puerto que utiliza la aplicación que
envía el segmento TCP.
] Puerto destino (16 bits): identica el puerto que utiliza la aplicación que
debe recibir el segmento TCP.
] Número de secuencia (32 bits) y Número de conrmación (32 bits):
facilitan al protocolo TCP la tarea de numeración y conrmación de los
octetos enviados (acuse de recibo).
] Longitud de la cabecera (4 bits): longitud total de la cabecera del
segmento TCP, incluidos las opciones y los bits de relleno, representada
en unidades de 4 octetos. El valor por defecto de este campo es 5 (cabecera
TCP, sin opciones ni relleno, de 20 octetos).
] Reservado (6 bits): reservado para uso futuro.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 225
] Flags (6 bits): campo con 6 bits que determinan el propósito y contenido
de un segmento TCP.
● URG: envío de datos en modo urgente. El contenido del campo
“Puntero de datos urgentes” es válido.
● ACK: conrmación de octetos de datos. El contenido del campo
“Número de conrmación” es válido.
● PSH: indica al receptor TCP que entregue inmediatamente los datos
del segmento a la aplicación.
● RST: indica la terminación de la conexión TCP, de forma “brusca”,
por parte del nivel TCP.
● SYN: en el establecimiento de la conexión TCP, para sincronizar los
números iniciales de secuencia, en cada extremo de la conexión.
● FIN: indica la terminación de la conexión TCP, de forma ordenada,
por parte de la aplicación (usuario).
] Tamaño de ventana (16 bits): número máximo de octetos de datos que
el extremo emisor del segmento está dispuesto a aceptar, a partir del
último octeto de datos recibido y conrmado.
] Suma de vericación (16 bits): útil para la comprobación en el receptor
de la vericación del segmento recibido.
] Puntero de datos urgentes (16 bits): este campo tiene sentido si el ag
URG está a “1” (en caso contrario, se ignora) e identica el número
de secuencia del último octeto de datos urgentes que se encuentra en
el segmento TCP. Cuando se recibe un segmento TCP con el ag URG
= “1”, el receptor TCP envía inmediatamente los datos urgentes a la
aplicación.
] Opciones (variable): es un campo opcional, donde se indican facilidades
adicionales proporcionadas por el protocolo TCP.
] Relleno (variable): conjunto de bits de relleno para que la longitud de la
cabecera del segmento TCP sea múltiplo de 32 bits.
Complementando a esta información, la fase de establecimiento de la
conexión de este protocolo es una de sus características más interesantes. Precisamente
durante la fase de conexión entre dos extremos se puede negociar el tamaño máximo
del campo de datos del segmento TCP (MSS, Maximun Segment Size) cuyo objetivo
es evitar la fragmentación de segmentos TCP por limitación de los niveles inferiores
(MTU, Maximum Transmission Unit). La negociación básica para establecer una
226 ESTEGANOGRAFÍA
© RA-MA
conexión con un protocolo TCP, negociación en tres sentidos (three way handshake),
se puede ver como:
1. Primero uno de los extremos de la comunicación envía un segmento de
sincronización (ag SYN) con un número inicial de secuencia (ISN), que
posteriormente le permite numerar los octetos intercambiados en ese
sentido de la comunicación, y el puerto del otro extremo con el que desea
conectar. Este segmento SYN a efectos de conrmación equivale a enviar
un byte de datos.
2. El otro extremo responde conrmando la solicitud, empleando un
segmento con los ags activados SYN y ACK.
3. Finalmente la negociación concluye con el envío de un último segmento
de conrmación (ag ACK) por parte del equipo que inicia la negociación.
Figura 7.6. Negociación three way handshake en TCP
Partiendo de toda esta información previa, se puede comprender algunas
de las diversas formas de ocultación de información publicadas utilizando este
protocolo; entre las técnicas más conocidas se pueden destacar las basadas en: el
campo Número inicial de secuencia (32 bits por conexión), el campo Relleno
(hasta 31 bits por segmento), el campo Puntero de datos urgentes (16 bits por
segmento) y el campo de bits Reservados (6 bits por segmento). Veamos a
continuación algunas de ellas.
1. Técnica de ocultación mediante el campo “Número inicial de
secuencia”
El protocolo TCP utiliza el campo “Número inicial de secuencia”
para permitir un funcionamiento able del protocolo, permitiendo
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 227
conrmación a nivel de octeto de los datos enviados. Este valor también
puede ser negociado durante el establecimiento de la conexión. Una vez
comprendido el funcionamiento del establecimiento de conexión TCP,
se puede comprobar que este campo es un medio idóneo para ocultar
información proporcionando 32 bits por segmento.
Existen diversos procedimientos para utilizar con éxito este campo, pero
uno de los más habituales consiste en ocultar directamente la información
en él. La idea es que una máquina origen oculte su información en este
campo y mediante sucesivos establecimientos de conexión, que nunca
completa, el receptor sea capaz de ir almacenando esa información
recibida en cada segmento con ag SYN. De esta forma tan simple se
puede crear un canal encubierto con TCP. Una herramienta que permite
esta funcionalidad es por ejemplo la herramienta gratuita Covert_TCP
para plataformas UNIX.
El uso de este tipo de herramientas es muy sencillo. Simplemente es
necesario descargarla y seguir los pasos denidos en su manual. 244
Figura 7.7. Ejemplo de uso de Covert_TCP para enviar un mensaje oculto “Hello there.”
244 Covert_TCP File Transfer for Dummies using Linux. http://dunnesec.com/category/tools/covert_
tcp/.
228 ESTEGANOGRAFÍA
© RA-MA
Figura 7.8. Ejemplo de uso de Covert_TCP esperando recibir un mensaje oculto de una
dirección IP destino
Otra técnica posible consiste en establecer una conexión TCP con
un extremo, utilizar el campo “Número inicial de secuencia” en el
establecimiento de la conexión para ocultar información, y una vez
establecida, por ejemplo, establecer un canal encubierto utilizando el
protocolo IP sobre el que se encapsula TCP. Mientras tanto el campo de
datos de usuario de TCP podría contener la información deseada, ya fuera
información de pega o útil para otro tipo de aplicación.
Independientemente de la técnica de ocultación creada debe recordarse
que el número inicial de secuencia se utiliza para ir numerando y
conrmando los octetos enviados en la conexión con un extremo. Se
debe prestar especial atención a que si se utilizan números iniciales de
secuencia personalizados y se establece una conexión, estos números no
deberían ser fácilmente predecibles por un atacante externo. 245 El ataque
conocido como TCP Hijacking (ataque de hombre en el medio), se puede
aprovechar del conocimiento de los números iniciales de secuencia y
del número de octetos transmitidos para suplantar la identidad bien del
emisor o del receptor, con los posibles inconvenientes que supone esto.
245 ZALEWSKI, M.; Strange Attractors and TCP/IP Sequence Number Analysis - One Year Later.
http://lcamtuf.coredump.cx/newtcp/.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 229
2. Técnica de ocultación mediante el campo “Puntero de datos urgentes”
Una técnica de creación de canales encubiertos en TCP se puede apoyar
en el bit URG. Este ag indica si hay envío de datos en modo urgente, es
decir, datos que se envían y que el receptor debe entregar inmediatamente
a la aplicación en el receptor. Para facilitar esta tarea el segmento TCP
contiene un campo denominado “Puntero de datos urgentes”. Cuando
este ag está activado (URG = 1) indica dónde comienza la parte de
datos urgentes.
Esta característica permite la creación de canales de información ocultos.
El campo “Puntero de datos urgentes” solo es válido cuando URG = 1,
si URG = 0 este campo es ignorado. Este hecho permite la capacidad de
enviar 16 bits por segmento de forma oculta en todo segmento que tenga
URG = 0.
En cualquier caso, esta u otras técnicas podrían ser evitadas validando
que los campos no utilizados tengan siempre un valor prejado en los protocolos
telemáticos.
7.2.5 Ocultación de información en protocolos de aplicación
En los apartados anteriores, se han analizado algunos ejemplos muy famosos
de ocultación de información en protocolos de comunicación utilizados, en nuestro
día a día, en las comunicaciones en Internet. Hoy en día, quizás por su facilidad
de utilización en redes heterogéneas, multitud de propuestas esteganográcas
se desarrollan en protocolos de aplicación. Protocolos de comunicación que
intercambian información apoyándose en protocolos de transporte e interconexión
como TCP/IP. De esta forma, es sencillo ver como protocolos tan famosos como
HTTP, DNS,246, 247 IRC248 o incluso protocolos P2P 249 tienen uso esteganográco. De
nuevo, el límite de uso esteganográco de cada protocolo depende de la imaginación
de los diseñadores y de los atacantes.
246 Detecting DNS Tunneling. https://www.sans.org/reading-room/whitepapers/dns/detecting-dnstunneling-34152.
247 Malware Turns to DNS and Steganography to Hide C&C Communications. http://news.softpedia.
com/news/ malware-turns-to-dns-and-steganography-to-hide-c-c-communications-496437.shtml.
248 Covert channels within IRC. http://www.dtic.mil/dtic/tr/fulltext/u2/a540273.pdf.
249 StegTorrent: a Steganographic Method for the P2P File Sharing Service. http://www.ieee-security.
org/TC/SPW2013/papers/data/5017a151.pdf.
230 ESTEGANOGRAFÍA
© RA-MA
La utilización de protocolos de aplicación para enmascarar información
tiene todo el sentido del mundo. Habitualmente si se desea controlar remotamente
equipos infectados o fuga de información sensible se necesita que los protocolos a
utilizar no estén bloqueados por las medidas de seguridad perimetral (típicamente,
cortafuegos). Un ejemplo clásico es el protocolo HTTP o DNS, 250,251 necesario
en la mayoría de las organizaciones para la búsqueda de información en Internet.
Estos protocolos son los mejores candidatos para establecer canales encubiertos. De
hecho, los creadores de malware se dieron cuenta hace años del potencial de estos
protocolos y los usan masivamente para crear canales encubiertos que les permitan
controlar y robar información de las máquinas infectadas sin levantar sospechas.
7.2.5.1 ESTEGANOGRAFÍA EN EL PROTOCOLO HTTP
El protocolo HTTP (Hyper Text Transfer Protocol, RFC 2616), o protocolo
de transferencia de hipertexto, es un protocolo sin estado (no guarda ninguna
información sobre conexiones anteriores) vital para la comunicación en Internet,
especialmente para la web. Grosso modo, si se entiende por hipertexto el contenido
de las páginas web, el protocolo de transferencia es un sistema mediante el cual se
envían peticiones para acceder al contenido concreto de una página web, se produce
la recepción de las respuestas del servidor que proporciona la información, así
como el intercambio de información útil en ambos sentidos. Dicho de otra forma, el
protocolo HTTP gestiona las peticiones y respuestas cuando, por ejemplo, un usuario
se conecta e interactúa con su página web favorita desde un navegador.
El tráco HTTP tiene una forma similar al siguiente ejemplo, donde se puede
ver la petición que haría un navegador web a un dominio web y la respuesta para
visualizar una página web concreta.
GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml+xml,application/
xml;q=0.9,*/*;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
250 GÓMEZ, F. J. y DÍAZ, C. J.; Cloud Malware distribution: DNS will be your friend, Rooted CON
2011. https://vimeo.com/23057707.
251 DÍAZ, C. J. y GÓMEZ, F. J.; CMD: Look who’s talking too, Rooted CON 2012. https://vimeo.
com/43984556.
© RA-MA
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 231
Connection: keep-alive
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.es/?gfe_rd=cr&ei=l8icVpuFAo6t8wf_
qoOoBQ
Content-Length: 258
Date: Mon, 18 Jan 2016 11:12:23 GMT
Server: GFE/2.0
¿Qué pasaría si las cabeceras del protocolo HTTP fueran utilizadas de
diferente forma a como establece el estándar? La respuesta es sencilla, en los
últimos años el protocolo HTTP se ha utilizado principalmente para encapsular
otros protocolos no necesarios en la comunicación web, creando túneles
esteganográcos. Esta funcionalidad es realmente interesante, sobre todo si
se piensa que la enorme utilidad de los contenidos web ha hecho que muchas
organizaciones se sientan obligadas a permitir este tipo de tráco en sus redes
(este protocolo no suele estar bloqueado en los cortafuegos). Esta “circunstancia”
permite saltarse ciertas políticas de seguridad establecidas en una organización o
red informática. Por ejemplo, se puede encapsular el protocolo de transferencia
de cheros FTP (File Transfer Protocol) a través de HTTP, lo que permitiría, por
ejemplo, atravesar las reglas de ltrado de los cortafuegos corporativos, y robar o
introducir información no permitida en la organización. En general, se puede llegar
a encapsular casi cualquier información o protocolo de comunicación por HTTP.
Muchas de las herramientas publicadas para ocultar información en protocolo
HTTP (se adjuntan en el siguiente apartado) hacen uso de los métodos GET y
POST (obtener o enviar información de/hacia una web) para el establecimiento
de dichos canales encubiertos, facilitando canales de comunicación de otros
protocolos como TCP o UDP a través de HTTP.
Adicionalmente, existen otro tipo de técnicas interesantes basadas en el
protocolo HTTP que facilitan la creación de canales de información subrepticios. 252
Por ejemplo, se ha publicado que es posible la creación de canales de información
entre servidores web a través de los navegadores de los clientes, sin que estos
últimos se den cuenta. Es un mecanismo muy curioso que transporta datos de
manera indirecta. Esto se puede realizar mediante transmisión de datos utilizando
252 Por ejemplo, el troyano bancario VBKlip intercambia información con el servidor C&C (Command and Control) utilizando el protocolo HTTP. http://blog.trendmicro.com/trendlabs-securityintelligence/steganography-and-malware-why-and-how/.
232 ESTEGANOGRAFÍA
© RA-MA
redirecciones, cookies253, 254 y referer headers. En el caso de las redirecciones
(redirects, RFC 2616) en páginas web, que se utilizan para trasladar al cliente a otra
localización, se pueden utilizar con nes esteganográcos. La nueva localización
(donde apunta la redirección) podría ser la URL de un script CGI ( Common
Gateway Interface), que recibe parámetros a través de la variable de entorno
QUERY_STRING. Este script CGI puede enviar datos aprovechándose de estos
parámetros a través de los navegadores que navegan por Internet inocentemente.
La capacidad de este canal estaría limitada al tamaño de los parámetros, es decir,
1.024 bytes/petición.
7.3 HERRAMIENTAS PARA CREAR CANALES SUBLIMINALES. NETWORK
STEGANOGRAPHY
Las técnicas analizadas en este capítulo corresponden a una rama de la
creación de canales encubiertos en la que se ha publicado una gran variedad de
documentación. No es posible, por el espacio reservado a esta temática profundizar
mucho más. No obstante, el lector ya posee el conocimiento y las referencias
adecuadas para profundizar todo lo que desee en esta cuestión.
En último lugar, nalizamos este capítulo con una lista de algunas de las
aplicaciones disponibles en Internet para la creación de canales encubiertos con
protocolos telemáticos. Algunas de ellas con las técnicas descritas anteriormente.
Si le interesa esta rama en concreto de la esteganografía le recomiendo que se tome
su tiempo para probar y comprender cada una de ellas. Si está interesado en un
protocolo en concreto, su buscador favorito le servirá de guía para localizar la mejor
herramienta.
] Protocolo IPv4: StegTunnel 255 (campo “Identicación datagramas IP”).
] Protocolo TCP: Covert_TCP, 256 StegTunnel (campo “Número de
secuencia”).
253 How to cook a covert channel with HTTP cookies. http://www.gray-world.net/projects/cooking_
channels/hakin9_cooking_channels_en.pdf.
254 www.gray-world.net/projects/cooking_channels/cooking_channels-1.1.tar.gz.
255 https://packetstormsecurity.com/les/31731/stegtunnel-0.4.tar.gz.html.
256 http://www.securityfocus.com/tools/1475.
Capítulo 7. NETWORK STEGANOGRAPHY Y COVERT CHANNELS 233
© RA-MA
] Protocolo ICMP: troyano Loki 257 (ICMP echo Reply/ICMP echo
request), IcmpShell, 258 Pingtunnel, 259 Timeshifter (intervalos de
tiempo), 260 ICMPStegano. 261
] Protocolo IPv6: VoodooNet (voodoon3t) 262 ,263 (IPv6 sobre IPv4), IPv6steganography. 264
] Protocolo DNS: dnssteganography, 265 Netcross 266 (denise, dns2tcp,
dnscapy, dnscat, heyoka, iodine, psudp, squeeza, TUNS). 267
] Protocolo HTTP: HttpTunnel, 268 Firepass 269 (transferencia de datos
TCP/UDP en mensajes HTTP POST), HCovert, 270 Cctt. 271
] Protocolo Aplicación: MailTunnel, 272 MsnShell 273 (shell remoto Linux a
través del protocolo MSN), StegTorrent, 274 g00gle Crewbots.275
257 https://en.wikipedia.org/wiki/Loki_%28computer%29.
258 http://icmpshell.sourceforge.net/.
259 http://www.mit.edu/afs.new/sipb/user/golem/tmp/ptunnel-0.61.orig/web/.
260 Transmissions of data through time based covert channels across a network. https://www.anfractuosity.com/projects/timeshifter/.
261 https://github.com/pshanoop/ICMPStegano.
262 Covert channel tool hides data in IPv6. http://www.securityfocus.com/news/11406.
263 IPv6/ICMPv6 Covert channels. https://www.defcon.org/images/defcon-14/dc-14-presentations/
DC-14-Murphy.pdf.
264 https://github.com/bpafoshizle/IPv6-Steganography.
265 https://code.google.com/p/dnssteganography/.
266 https://www.primianotucci.com/os/netcross-ip-over-dns-tunneling.
267 https://www.sans.org/reading-room/whitepapers/dns/detecting-dns-tunneling-34152.
268 http://http-tunnel.sourceforge.net/.
269 http://www.gray-world.net/pr_repass.shtml.
270 http://sourceforge.net/projects/hcovert/.
271 http://gray-world.net/projects/cctt/win32_cctt/.
272 http://www.securityfocus.com/tools/1309.
273 http://www.gray-world.net/es/pr_msnshell.shtml.
274 http://stegtorrent.sourceforge.net/.
275 http://www.gray-world.net/pr_gbot.shtml.
234 ESTEGANOGRAFÍA
© RA-MA
Adicionalmente, si desea inventar sus propias técnicas de ocultación
existen lenguajes, herramientas y sistemas operativos que le facilitarán la creación
de sus propias herramientas para manipular e interactuar a bajo nivel con paquetes
de protocolos de comunicación, permitiendo la creación de canales ocultos entre
un cliente y un servidor. Un ejemplo actual para realizar esto es la utilización de
Scapy 276, 277 usando el lenguaje de programación Python. 278
276 http://www.secdev.org/projects/scapy/.
277 http://bt3gl.github.io/black-hat-python-innite-possibilities-with-the-scapy-module.html.
278 Ejemplo sencillo de ocultación en ICMP con Scapy. http://danteslab.blogspot.com.es/2008/10/
esteganografa-de-red.html.
8
ESTEGANOGRAFÍA EN INTERNET
Y EN LAS REDES SOCIALES.
UNIENDO CONOCIMIENTO
8.1 ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES. UNIENDO
CONOCIMIENTO
Internet y las demás redes telemáticas constituyen un escenario de
comunicación por el que uyen de forma constante y permanente ingentes cantidades
de datos. Son estas redes, por tanto, un medio idóneo para introducir información
esteganograada debido al hecho de que, en principio, no es sencillo averiguar en
cuales de los múltiples mensajes que uyen hay información oculta. Esta armación no
es baladí. Si se centra el interés en la información que hoy en día circula exclusivamente
por Internet la cifra es abrumadora. En 2010, 279 y han pasado unos años desde entonces,
se enviaron más de 107 billones de correos electrónicos, 294.000 millones diarios
(89,1% de los mails enviados eran spam). A nales de ese año había más de 255 millones
de sitios web activos en todo el mundo, con un crecimiento de 21 millones anuales. Pero
sin duda, lo más interesante fue la cantidad dinámica de información que se generó
en blogs y redes sociales. En 2010 existían más de 152 millones de blogs. Se crearon
25.000 millones de tweets en Twitter. 280 En Facebook se instalaron al día 20 millones
279 Se utiliza esta fecha por el detalle de la información obtenida. No siendo signicativos, dado el
volumen de datos observado, valores más actuales para justicar el razonamiento en curso.
280 How use twitter to control botnet. http://www.wired.com/2009/08/botnet-tweets/.
236 ESTEGANOGRAFÍA
© RA-MA
de aplicaciones. Cada día se visionaron 2.000 millones de vídeos en YouTube, cada
minuto se añadieron 35 horas de vídeos. El número de fotografías de Flickr aumentó
más de 5.000 millones. En Facebook se subieron 36.000 millones de imágenes al año,
etc. Aunque estas cifras a día de hoy son antiguas, y sin destacar la información que se
podría generar en países asiáticos, el lector comprenderá rápidamente los volúmenes de
información de los que estamos hablando.
Figura 8.1. Distribución de usuarios de Internet en el mundo
Por tanto, Internet es un medio ideal para ocultar información de múltiples
formas como se adelantó en los apartados anteriores. Solo hay que pensar en la posible
ocultación de información en cheros de vídeo, audio, imagen, texto o mediante el
uso de tecnologías web masivas (HTML, XML, HTTP, etc.) para comprender la
magnitud del asunto. 281
En este punto surge una problemática que es importante resaltar. El uso de la
esteganografía podría tener nes legítimos o ilegítimos, que pueden ser beneciosos
para proteger la privacidad de las comunicaciones o ser vehículos, en el peor de los
casos, para perpetrar actos criminales. La esteganografía, al igual que la criptografía,
es una tecnología con doble uso y las agencias gubernamentales son conscientes de
ello. Por ejemplo, el uso de herramientas criptográcas con usos terroristas 282 como
281 Un buen número de muestras de malware usan técnicas esteganográcas variadas, “caseras”, para
establecer canales ocultos de información: SK Banker (comentarios en Pinterest), Janicab (comentarios en YouTube), Hammertoss (Twitter), etc.
282 ¿Qué es y cómo funciona el Mujahideen Secrets 2? http://www.segurpress.com/index.php/colaboradores/ editoriales/121-moyahidin.html.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 237
el Mujahideen Secrets 283 o herramientas de cifrado de la organización terrorista,
autonombrada, Estado Islámico (ISIS). 284
Figura 8.2. Herramienta criptográfica Mujahideen Secrets
Figura 8.3. Herramientas criptográficas de grupos terroristas
283 Mujahideen Secrets 2. https://www.schneier.com/blog/archives/2008/02/mujahideen_secr_1.html.
284 How Al-Qaeda Uses Encryption Post-Snowden (Part 2). https://www.recordedfuture.com/al-qaeda-encryption-technology-part-2/.
238 ESTEGANOGRAFÍA
© RA-MA
Por tanto, sería esperable, dado el potencial de estas técnicas de ocultación,
que agencias gubernamentales dentro de su tarea de recopilación de inteligencia
prestaran especial atención al uso y desarrollo de herramientas de estegoanálisis.
Lo cierto es que, aun presuponiendo grandes infraestructuras de interceptación y
procesamiento de telecomunicaciones e incluso colaborando (forzadas por la ley
o no) con proveedores de contenidos (empresas propietarias de redes sociales,
buscadores, etc.), la tarea de detectar esteganografía en Internet es buscar una
aguja en un pajar. Además el lector no debe olvidar que siempre es posible ocultar
información distribuyéndola en múltiples tapaderas y en múltiples proveedores, lo
que hace que en la práctica la detección de esteganografía en Internet si se tienen
en cuenta unas consideraciones mínimas de seguridad no pueda ser detectada. En
terminología inglesa es común referirse a estas posibilidades como steganogram
scattering285 (SGS), steganogram hopping286 (SGH) y multi-level steganography287
(MLS).
Quizás, para algún lector, esta última armación puede parecer poco
precavida, si algo sabemos en seguridad informática es que es mejor ser prudente
en la manera en la que se arma la seguridad de un sistema. No obstante, en el caso
que nos ocupa el uso de algoritmos esteganográcos con ciertas consideraciones de
seguridad y su uso de forma distribuida y multiportador dan garantías de privacidad
(invisibilidad) no conocidas hasta ahora (ver apéndice de estegoanálisis).
En cualquier caso, sin necesidad de hilar tan no, en esta misma dirección
es interesante abordar como la industria podría hacer frente al mal uso de las páginas
web, Internet o redes sociales con este tipo de tecnología “invisible”. Es reseñable la
aparición de herramientas automatizadas que simplican más, si cabe, el uso de la
esteganografía, no centrándose exclusivamente en la ocultación de información en
una tapadera concreta sino centrándose además en el modo o en el medio en el que
esa tapadera (un estegotexto, una estegoimagen, etc.) es distribuida. Facilitando en
gran medida su creación, distribución y consulta por parte de usuarios que deseen
usar esteganografía en Internet, en redes sociales, u otro tipo de redes.
Un ejemplo muy sencillo para entender esto es el que se ha utilizado
durante años para la distribución de material protegido por derechos de autor y
285 Consiste en la posibilidad de trocear una información y ocultar información con diferentes técnicas
esteganográcas en cada fragmento.
286 Utilizar múltiples técnicas esteganográcas que podrían ir variando periódicamente, incluso para
un mismo canal encubierto.
287 Combinar todas las posibilidades del medio de transmisión para ocultar información a diferentes
niveles.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 239
pornografía adulta utilizando servicios gratuitos en Internet como redes sociales o
cuentas de correo electrónico. Un ejemplo sencillo son las tecnologías peer2mail 288
y herramientas como camuaweb o kamaleon. Era común, con este tipo de
herramientas, coger la información a ocultar y a distribuir, típicamente películas,
y trocearla en bloques de información, información que se enviaría de manera
distribuida a diversas cuentas de correo electrónico. Era habitual que esta información
en vez de ser enviada en un correo electrónico “normal” se “ocultara” en diversas
imágenes digitales con una técnica EoF (copiar la información a ocultar al nal del
chero). La persona que deseara obtener una película solo necesitaba conocer los
proveedores (Gmail, Yahoo!, etc.) y las cuentas de correo gratuitas especícas para
recuperar la información automáticamente. El servidor de correo servía de almacén
y los correos electrónicos y sus adjuntos camuados la información a descargar.
En este caso concreto, los proveedores (en nuestro ejemplo Google) se defendieron
de este “ataque” bloqueando cuentas de correo electrónico que tuvieran muchos
accesos desde direcciones IP muy diferentes. Aunque esta política era útil a corto
plazo, en poco tiempo se creaban nuevas cuentas y se distribuía el contenido “ilegal”
automáticamente de nuevo. El lector debe darse cuenta de que en ningún momento
los proveedores (Google en nuestro caso) eran conscientes realmente de qué tipo de
información estaban alojando ni de quién poseía el resto de información para tener
la totalidad de ella.
¿Qué puede hacer un proveedor de servicios para evitar que usen sus redes
mediante el uso de tecnologías esteganográcas? ¿Evitar ocultar contenido ilegal?
¿Malware? Bueno, en la práctica lo único que pueden hacer es realizar ataques
activos a la información que almacenen. Con una alta probabilidad un proveedor
de servicios no sabrá que tiene información en sus sistemas con datos ocultos.
La mejor estrategia, dado que no puede saber si una información tiene o no datos
enmascarados, es considerar que toda información que pase por sus sistemas tiene
datos ocultos e intentar eliminarlos. Esa política de actuación, aunque funciona en
determinados escenarios, tiene una serie de inconvenientes claros.
Tradicionalmente un ataque activo implica modicar el contenido enviado
por un usuario, en determinados escenarios esa modicación es posible sin afectar al
resultado nal pero en otras ocasiones es peligroso y desaconsejable. Veámoslo con
un par de ejemplos, olvidando por un momento el coste que implicaría realizar estas
tareas y el posible retardo introducido en la comunicación/almacenamiento.
288 https://es.wikipedia.org/wiki/P2M_%28software%29.
240 ESTEGANOGRAFÍA
© RA-MA
] Ejemplo 1: si un usuario sube una imagen en formato JPEG con datos
ocultos a una red social, esta podría reformatear la imagen (por ejemplo,
cambiando la resolución de la misma) para generar una nueva imagen
que desde un punto de vista visual es igual pero que ha cambiado su
codicación binaria lo suciente para eliminar cualquier presencia
de información oculta, al menos para las técnicas más simples (LSB).
Procedimiento común en redes sociales.
] Ejemplo 2: un proveedor de servicio accede a todas las imágenes que
gestiona en formato BMP y machaca con información aleatoria el bit
menos signicativo de la codicación de cada píxel. Si existen datos
ocultos estos desaparecerán y en principio la imagen se verá exactamente
igual.
Por desgracia, existen inconvenientes claros que desaconsejan este tipo
de políticas de una forma generalizada. En primer lugar si un proveedor modica
el contenido del usuario es probable que el usuario sea consciente de ese cambio
e intente/evite el proveedor o intente saltarse esa medida de protección particular
(veremos esto a continuación en el caso particular de la red social Facebook). Pero
sobre todo el mayor problema tiene que ver con la integridad y autoría de los datos
del usuario. Imagínese que envía un contenido (una imagen digital, un vídeo, un
PDF, etc.) con una rma digital adjunta para facilitar la vericación del origen de esa
información (el usuario que la rma es quien dice ser) y la integridad de la misma (los
datos son los que precisamente el usuario que rma creó). La modicación automática
del contenido provocaría que la rma digital al ser validada en el destino no fuera
válida y por tanto rápidamente emisor y receptor (personas que probablemente ni
hayan oído hablar en su vida de lo que es la ciencia de la esteganografía) dejarían
de usar ese proveedor de servicios por no ser “conable en el envío de sus datos”.
En resumen, aunque suene atractiva esta idea en la práctica no es factible activarla
(para cualquier servicio). Lo cual es una pena porque la aparición herramientas de
ocultación versátiles y fáciles de utilizar no deja de crecer.
Existen varias herramientas más que son buen ejemplo de este tipo de
funcionalidad. Quizás una de las más conocidas sea StegPage. 289 Esta herramienta
combina ocultación en imágenes digitales y distribución. Para ello, selecciona todas
las imágenes disponibles en una página web y oculta la información en ellas. El
proceso de ocultación consiste en trocear la información a ocultar introduciéndola
equitativamente en cada imagen disponible usando la herramienta esteganográca
289 http://stegpage.sourceforge.net/downloads.php.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 241
Steghide 290 . Por tanto, ya no es una cuestión exclusiva de cómo de seguro 291, 292
es el procedimiento de ocultación, en este caso la herramienta Steghide, sino más
bien de si un atacante será capaz de aplicar estegoanálisis y detectar las múltiples
imágenes que contienen esos trozos de información (en una o más páginas web).
Adicionalmente, el atacante debería conocer la forma en la que reordenar esos trozos
para recuperar la información enmascarada.
Con estas ideas en mente creo que es interesante destacar en los siguientes
apartados una serie de herramientas esteganográcas orientadas a la ocultación de
información en páginas web y redes sociales que permitirán al lector comprender que
la ciencia de la esteganografía solo está limitada, una y mil veces, por la imaginación
del diseñador de algoritmos y herramientas.
Figura 8.4. Ejemplo de uso de la herramienta Steghide. Más ejemplos en su web oficial: http://steghide.
sourceforge.net/
8.1.1 Navegador web esteganográfico. Camera/Shy
Una herramienta conceptualmente interesante es la herramienta Camera/
Shy publicada en 2002 por el grupo de hackers cDc (cult of the dead cow)
supuestamente para ayudar a activistas en países dictatoriales a comunicarse sin
censura. Esta herramienta permite mediante un pseudonavegador web, basado en
Internet Explorer, observar en una web, según se navega, qué imágenes GIF presentes
293
290 http://steghide.sourceforge.net/.
291 Steganalysis of audio: Attacking the Steghide. http://ieeexplore.ieee.org/xpl/login.
jsp?tp=&arnumber=1527626& url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.
jsp%3Farnumber%3D1527626.
292 JPEG steganography and steganalysis – a review. https://link.springer.com/chapter/10.1007%
2F978-3-319-12012-6_20.
293 http://www.hacktivismo.com/public/pr/camerashy.php.
242 ESTEGANOGRAFÍA
© RA-MA
en esa página pudieran tener información ocultada previamente con esa misma
herramienta. Su uso es muy sencillo una vez descargada la herramienta (spanishrelease0.2.23.1.bin).294
Una vez se realiza doble clic sobre el ejecutable spanish-release0.2.23.1.bin
descargado se observa la siguiente pantalla principal:
Figura 8.5. Pantalla principal de la herramienta esteganográfica Camera/Shy
Para ocultar información en una imagen GIF con esta herramienta se debe
deshabilitar la opción No mostrar la ventana de los contenidos ocultos en GIF
del menú Ver. Una vez realizado esto podrá ver la siguiente pantalla. Si además
deshabilita la opción Ocultar contraseñas en el menú Seguridad observará la
contraseña con la que se protegerá la información a ocultar en el chero GIF elegido
y la marca que se incrustará para identicar a dichos cheros.
Para ocultar una información solo es necesario seleccionar una imagen con
formato .gif y abrir el chero pulsando la echa azul que se indica en la gura
siguiente. Una vez cargada puede introducir el texto que desee en el cuadro inferior
a la derecha. Presionando el icono con el candado amarillo y después la echa azul
de la derecha se modica la imagen con formato .gif creando una estegoimagen con
los datos ocultos.
294 http://sourceforge.net/projects/camerashy/files/Spanish/Spanish%20CameraShy.exe/spanishrelease0.2.23.1.bin.exe/ download.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 243
Figura 8.6. Abrir o guardar una estegoimagen con Camera/Shy
Figura 8.7. Ocultando información con Camera/Shy
244 ESTEGANOGRAFÍA
© RA-MA
Una vez realizado esto ya solo tendría que publicar la imagen en alguna
página web de su interés. Navegando con normalidad la herramienta, dadas una
contraseña y marca concretas, le avisará en qué imágenes de la página web se
encuentra información oculta. Por ejemplo, el lector puede observar como en http://
stegsecret.sourceforge.net/ lleva oculta durante años una información en el chero
ojo.gif. Para ver su contenido solo es necesario pinchar en el enlace que indica la
herramienta Camera/Shy.
Figura 8.8. Página web visualizada con Camera/Shy
Figura 8.9. Recuperando información oculta con Camera/Shy
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 245
Figura 8.10. Información ocultada en una red social con Camera/Shy
Esta herramienta reeja claramente como la esteganografía puede convertirse
en algo completamente usable y fácil de manejar para cualquier usuario. No
obstante, esta herramienta debe utilizarse exclusivamente para nes educativos, ya
que dependiendo de la cantidad de información a ocultar es insegura. Si se realizan
estudios de ingeniería inversa se observa que utiliza una técnica LSB secuencial
sobre la codicación de cada píxel del chero GIF; estas técnicas son detectables
por los estudios estegoanalíticos actuales (depende del tamaño ocultado). Además,
la información ocultada en los LSB secuenciales después de cifrada es convertida a
base64, lo cual establece un patrón de detección. No es común que al recuperar los
bits LSB secuenciales de un chero GIF la información tenga un formato en base64.
Dado el interés en este tipo de herramientas es posible desarrollar utilidades
parecidas con menos desarrollo y con mayor exibilidad utilizando extensiones para
los navegadores web actuales.
8.1.2 Extensiones esteganográficas para navegadores web
Las extensiones con capacidad esteganográca son una excelente opción
para interactuar en Internet con información ocultada en diversos medios utilizando
nuestro navegador actual. Por ejemplo, para el navegador Firefox podemos encontrar
extensiones como Simple Steganography, 295 FireSteg296 o Hide in Plain Sight, 297
295 https://addons.mozilla.org/es/refox/addon/simple-steganography/.
296 https://addons.mozilla.org/en-US/refox/addon/resteg/.
297 https://addons.mozilla.org/es/refox/addon/hide-in-plain-sight/.
246 ESTEGANOGRAFÍA
© RA-MA
mientras que para otros navegadores como Chrome podemos encontrar extensiones
(add-ons) como Secretbook. 298 Esta última extensión requiere un poco más de
atención por presentar unas características interesantes.
Si el lector recuerda de párrafos anteriores, un proveedor de contenidos,
por ejemplo una red social, podría eliminar potencial información ocultada con
esteganografía realizando ataques activos, es decir, transformando la imagen en otra
lo más parecida posible para eliminar la información oculta. Muchos proveedores
de servicios y contenidos en Internet realizan ataques activos sin saberlo. Un buen
ejemplo es cuando se sube una fotografía a la red social Facebook y esta la reformatea
(reescala) según sus criterios para adaptarla más adecuadamente a la forma en que
Facebook muestra los contenidos. De esta forma tan sencilla cualquier tipo de
información ocultada en una imagen mediante una técnica tradicional de LSB será
eliminada. Sin quererlo, Facebook está realizando en la práctica un ataque activo
que evita cierto tipo de esteganografía. Lógicamente, solo era cuestión de tiempo
que algún investigador encontrara la manera de enmascarar datos en Facebook de
manera sencilla. Este es el objetivo de la extensión Secretbook desarrollada en la
Universidad de Oxford que permite no solo ocultar información en imágenes JPEG
sino, lo más interesante, ser resistente a la recodicación que realiza Facebook
cuando publicamos una imagen, no perdiéndose la información oculta.
Figura 8.11. Extensión esteganográfica Secretbook
298 https://chrome.google.com/webstore/detail/secretbook/plglajddgpenmohgiemalpcfgjjbph?hl=
en-GB.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 247
Esta extensión es solo un ejemplo del potencial en la creación de técnicas
esteganográcas especícas para redes sociales (Twitter, Facebook, etc.). No obstante,
no debe olvidarse tampoco el potencial de las redes sociales más difundidas para
facilitar canales encubiertos que faciliten comunicaciones entre emisor y receptor en
tiempo real (o casi). Un excelente ejemplo en Facebook es la herramienta Facecat
del investigador español José Selvi. Esta herramienta permite establecer un canal
encubierto a través del chat de Facebook, facilitando (command&control) el control
remoto de sistemas atacados, leyendo las instrucciones “invisibles” enviadas por
un atacante a una cuenta especíca de Facebook. En los siguientes enlaces puede
consultar cómo utilizar esta herramienta y su código fuente. 299, 300,301
8.2 DISEÑA TUS PROPIAS HERRAMIENTAS. ALGORITMOS RESISTENTES A ATAQUES
Si ha llegado a este apartado después de procesar todo el conocimiento
reejado en este libro, enhorabuena. A partir de este momento comprenderá de
verdad el potencial que tiene la ciencia de la esteganografía en las comunicaciones
de hoy en día para propósitos variados. Poco más se puede reejar en estos folios,
quizás unas últimas reexiones por si se aventura a desarrollar sus propios algoritmos
y herramientas esteganográcas. Unos consejos para hacer su trabajo más fácil y,
quizás, sus herramientas más seguras frente a potenciales estegoanalistas.
1. ¿Cuál es la mejor técnica esteganográca que puedo utilizar o
implementar?
Esta sin duda es la mejor y la primera pregunta cuando uno desea
trabajar con esteganografía. Por desgracia, no hay una respuesta fácil.
La respuesta genérica indicaría que depende del canal de transmisión por
donde deseemos enviar la información que contendrá los datos ocultos,
el tamaño deseado de información oculta y la tapadera elegida. A lo largo
del libro el lector puede observar como en función del tipo de tapadera
que utilicemos (puede venir impuesto por el canal de transmisión) la
capacidad de ocultación será una u otra y esto afectará a la seguridad del
mismo. Adicionalmente, dentro de un mismo tipo de tapadera, no todas
las tapaderas son igual de útiles desde un punto de vista esteganográco.
Por ejemplo, una imagen de alta resolución es más adecuada que una
299 http://www.pentester.es/2013/04/covert-channels-over-social-networks-y.html.
300 http://tools.pentester.es/facecat.
301 https://www.sans.org/reading-room/whitepapers/threats/covert-channels-social-networks-33960.
248 ESTEGANOGRAFÍA
© RA-MA
imagen con zonas de colores uniformes (el motivo se comprende
fácilmente leyendo el capítulo 3).
Gran parte de las técnicas mostradas en este libro, especialmente las de
contenido multimedia, pueden utilizarse sin problemas para mensajes
ocultos de pocas centenas de bits; recuérdese que en esencia los ataques
estegoanalíticos son estadísticos, si existen pocas perturbaciones en un
medio, estas técnicas no serán capaces de diferenciar una estegoimagen
de una imagen real con su ruido natural.
2. ¿Es posible utilizar las técnicas estudiadas para ocultar grandes
volúmenes de información? ¿Necesito conocer todas las técnicas de
estegoanálisis?
En un mundo ideal sí, pero lo más probable es que no sea así, y aunque
lo fuera no todas las técnicas de detección son o se harán públicas, por
tanto se debe asumir que en algún momento, aun poniendo interés, solo
se conocerá un número parcial de ellas (véase los anexos del libro).
En este sentido la recomendación sería la siguiente, intentar conocer el
mayor número de ataques posibles para ver cómo de segura es la técnica
que se implementa (facilitará ocultar más cantidad de información de
manera invisible); una vez hecho eso analizar cuál es la mayor cantidad
de información que se puede ocultar por tapadera intentando minimizar el
número de modicaciones (matrices de codicación). Si este paso no es
suciente para ocultar toda la información deseada es necesario utilizar
múltiples tapaderas, del mismo tipo o diferente, para ocultar los datos
deseados (distribución de la información). Si se decide ocultar los datos en
Internet una excelente idea sería dicultar al atacante localizar la información,
ya no solo al utilizar múltiples portadores almacenados en proveedores
diversos, sino también utilizando trucos que eviten escaneos automáticos,
por ejemplo, publicando la información en foros que tengan algún tipo de
impedimento en el acceso como login-password, CAPTCHAS, etc.
Obviamente, independientemente de la técnica de ocultación que utilice, es
necesario evitar seleccionar cubiertas disponibles fácilmente en Internet. Por
ejemplo, si desea ocultar una información en una imagen digital, no es buena
idea utilizar una imagen de un repositorio público. Si un atacante encuentra
la imagen original que se ha utilizado para insertar información, dando
lugar a la estegoimagen, podría hacer simples comparaciones entre ellas,
simplicando el trabajo de estegoanálisis. Un atacante utilizará buscadores
inversos, como Google Images o TinEye, para localizar imágenes similares
a una sospechosa y ver si puede realizar este tipo de ataques.
© RA-MA
Capítulo 8. ESTEGANOGRAFÍA EN INTERNET Y EN LAS REDES SOCIALES 249
Figura 8.12. Google Images permite localizar imágenes similares a una dada
Figura 8.13. Buscador inverso de imágenes TinEye
3. ¿Necesito cifrar mis datos previamente?
En teoría no, en la práctica sí. La seguridad, en nuestro caso privacidad
y anonimato, es un proceso que se enriquece con un mayor número de
procedimientos y técnicas que se acumulan para hacer más difícil la
tarea del atacante. Es una buena práctica cifrar la información antes de
ocultarla en una tapadera.
En capítulos anteriores se destacó el proceso habitual seguido por un
atacante para intentar detectar la información enmascarada por una
técnica esteganográca. En primer lugar intentará detectar la presencia
de información oculta. En segundo lugar intentará estimar el tamaño de
los datos enmascarados. En tercer lugar intentará extraer la información
de la tapadera y en último lugar recomponer la información recuperada e
intentar extraer el mensaje oculto.
250 ESTEGANOGRAFÍA
© RA-MA
Si el algoritmo de ocultación no es trivial, en el mejor de los casos el
atacante solo podrá llegar al paso dos, esto es así gracias al uso de la
criptografía. Habitualmente, como se ha visto a lo largo del libro, los
algoritmos esteganográcos se apoyan en generadores de números
pseudoaleatorios para recomendarles qué posiciones del chero (en
general o de una zona en particular) modicar. Por tanto, sin conocer la
clave criptográca utilizada para generar esos números este paso no es
factible. No obstante, supongamos que por algún mecanismo el atacante
consiguiera detectar exactamente qué posiciones del chero han sido
modicadas. En ese caso, al desconocer la clave utilizada para generar los
números aleatorios, no se conocería la forma (orden) en la que se deben
colocar los bits recuperados para intentar extraer el mensaje oculto. Aún
más, si suponemos que fuera capaz de hacer esto se encontraría con un
mensaje cifrado que no podría descifrar. En resumen, desde un punto de
vista práctico el atacante lo que intentará será detectar exclusivamente la
presencia de información oculta y si la encuentra atacar a la fuente que
emite los datos de otra manera.
4. Negación plausible
En el peor de los casos, que un atacante detecte la presencia de
esteganografía en una tapadera enviada por nosotros, siempre nos
quedará la opción de utilizar los principios de la negación plausible. Es
decir, habilitar procedimientos que permitan crear una duda razonable
sobre la no existencia de esteganografía, ya sea porque la propia técnica
de ocultación lo habilite o porque generemos información adicional
(dummy) para confundir al atacante. El uso de los principios de la
negación plausible está presente en múltiples herramientas y protocolos
criptográcos/esteganográcos para ocultar la presencia de su uso.
Al nal, será posible negar de modo convincente que los datos están
cifrados u ocultos, o ser capaz de descifrarlos/recuperarlos. La negación,
aunque falsa, no puede ser vericada por el atacante sin la cooperación
del usuario, que podría realmente no ser capaz de descifrar/recuperar
los datos. La negación plausible 302 sirve para socavar la conanza del
atacante y su duda se convierte en otra forma de protección.
Un ejemplo signicativo de esta idea se puede ver en el uso de volúmenes
ocultos de datos en herramientas de cifrado como Truecrypt (entre
muchos otros ejemplos). 303
302 https://es.wikipedia.org/wiki/Cifrado_negable.
303 http://www.howtogeek.com/109210/the-htg-guide-to-hiding-your-data-in-a-truecrypt-hidden-volume/?PageSpeed= noscript.
Anexo A
HERRAMIENTAS CRIPTOGRÁFICAS MÁS
COMUNES. CONFIGURACIÓN PASO A
PASO
En el presente libro se dedica un esfuerzo importante en la descripción y uso
de técnicas esteganográcas en diferentes escenarios reales. Hoy en día, una sabia
decisión es combinar la esteganografía con algoritmos criptográcos para garantizar
la privacidad e indetectabilidad de las comunicaciones digitales. En el primer capítulo
del libro, por no ser este el objetivo de este texto, se realiza un rápido resumen de
la ciencia de la criptografía, destacando sus virtudes y defectos, recomendando al
lector la lectura de textos especializados en profundidad si desea adquirir mayor
conocimiento y destreza en esa ciencia. Obviamente, la criptografía es útil y necesaria
en multitud de escenarios no solo para proteger nuestras comunicaciones ocultas
sino, sobre todo, para proteger nuestros datos o sistemas si estos son vulnerados.
Por ejemplo, si se produce una fuga de información utilizando un canal encubierto.
Por este motivo, creo que es importante dedicar unas cuantas líneas al uso práctico
de la criptografía en su día a día, algo que sin duda el lector menos experimentado
agradecerá.
En los siguientes párrafos se va a describir, de forma resumida, algunas
herramientas criptográcas famosas, de fácil uso, para proteger las diferentes
formas, las más comunes, que un usuario tiene para comunicarse o almacenar datos.
Se describirá brevemente la conguración y uso de herramientas exclusivamente de
software libre para cifrado completo de información en un disco duro y dispositivo
de almacenamiento externo (por ejemplo, USB) y el cifrado de correo electrónico. El
lector observará como es posible incrementar la protección de sus comunicaciones
digitales con software disponible gratuitamente.
252 ESTEGANOGRAFÍA
© RA-MA
En cualquier caso el lector debe ser consciente de que cualquier herramienta
de protección, aunque su código fuente esté disponible, tiene una complejidad muy
superior a los algoritmos de protección que implementa, y por tanto, aunque los
algoritmos criptográcos utilizados sean seguros (según los ataques publicados)
la herramienta podría introducir fallos que podrían debilitarlos. Por este motivo,
siempre es un buen consejo estar atento a la publicación de posibles vulnerabilidades
y nuevas actualizaciones de las herramientas.
Adicionalmente a este anexo, le recomiendo encarecidamente que visite el
proyecto prism-break.304 Este proyecto aglutina una enorme cantidad de herramientas
de protección para múltiples sistemas y mecanismos de comunicación. Del mismo
modo, localice tutoriales que le simpliquen la instalación y conguración de estas
herramientas. Por ejemplo, instalar el cifrado de mensajería instantánea con las
herramientas Pidgin y OTR. 305
Figura A.1. Lista de tecnologías para mitigar las interceptaciones digitales
304 https://prism-break.org/en/all/.
305 https://info.securityinabox.org/es/usar_pidgin.
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 253
A.1 CIFRADO DE INFORMACIÓN ALMACENADA EN ORDENADOR. HERRAMIENTA
VERACRYPT
En la actualidad existen múltiples herramientas, 306 comerciales y gratuitas,
para garantizar, o al menos intentar, la privacidad de nuestros datos. Hay gustos
variados en función del sistema operativo que se desee utilizar. Pero sin duda, una
buena herramienta para iniciarse en este tipo de tecnologías es Veracrypt 307 (surgida
del proyecto Truecrypt 308, 309).
En Internet encontrará diversos tutoriales de cómo instalar o utilizar esta
herramienta multiplataforma para su sistema operativo favorito. A continuación,
una vez instalada la aplicación, se muestra una serie de imágenes que le mostrarán lo
sencillo que es cifrar un disco duro en un sistema operativo Microsoft Windows. En los
ejemplos adjuntos se utiliza la última versión de Veracrypt (1.14) al escribir este libro.
En las guras siguientes se destaca cómo crear un volumen cifrado de datos.
Una unidad de datos en la que el lector podrá escribir y leer sus archivos de datos
o ejecutar sus aplicaciones con normalidad. De forma transparente los datos serán
cifrados y descifrados.
Figura A.2. Proceso para crear un volumen cifrado con Veracrypt
306 Cifrado de discos: proteger tu privacidad de forma sencilla y efectiva. http://www.criptored.upm.
es/crypt4you/temas/privacidad-proteccion/leccion2/leccion2.html.
307 https://veracrypt.codeplex.com/.
308 http://truecrypt.sourceforge.net/.
309 https://opencryptoaudit.org/.
254 ESTEGANOGRAFÍA
© RA-MA
Figura A.3. Creación de un volumen cifrado estándar con Veracrypt
Figura A.4. Selección de los algoritmos criptográficos con los que se desea proteger el volumen de
información cifrado
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 255
Figura A.5. Se selecciona el tamaño del volumen que almacenará los datos cifrados
Figura A.6. Selección de clave criptográfica y preparación del volumen cifrado
Figura A.7. Volumen de datos cifrado creado con éxito con Veracrypt
256 ESTEGANOGRAFÍA
Figura A.8. Montamos (abrimos) un volumen de datos cifrados con Veracrypt
Figura A.9. Introducción de clave criptográfica y apertura del volumen cifrado
Figura A.10. Visualización de volumen cifrado con Explorador de Windows
© RA-MA
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 257
En este punto el lector puede utilizar la unidad como otra unidad más de
datos del sistema operativo Windows. Cuando desmonte la unidad (botón Dismount)
los datos permanecerán cifrados y nadie podrá acceder a ellos en claro sin la clave
criptográca. A todos los efectos el volumen cifrado es un chero que se almacenará
en nuestro sistema de cheros protegido con criptografía.
Un procedimiento similar se puede realizar para proteger la información
almacenada en un dispositivo de almacenamiento externo, como por ejemplo un USB.
Figura A.11. Seleccionamos la partición o dispositivo a cifrar
Figura A.12. Seleccionamos el dispositivo USB a cifrar
258 ESTEGANOGRAFÍA
© RA-MA
Figura A.13. Requisitos para el cifrado de un dispositivo USB en Microsoft Windows
Figura A.14. Selección de los algoritmos criptográficos y la clave utilizada para proteger la información
de un USB
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 259
Figura A.15. Mecanismo de borrado de datos previo al cifrado de información en USB
Figura A.16. Dispositivo USB preparado para almacenar datos cifrados
260 ESTEGANOGRAFÍA
© RA-MA
Una vez el dispositivo USB está preparado para cifrar transparentemente la
información almacenada en él, el único paso necesario para utilizarlo es seleccionar
el dispositivo y utilizar la unidad de datos (el USB) con normalidad. Una vez
desmontado el dispositivo los datos almacenados en él estarán cifrados y no podrán
ser accedidos sin la clave criptográca.
Figura A.17. Selección y “apertura” del USB cifrado con Veracrypt
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 261
A.2 CIFRADO DE CORREO ELECTRÓNICO. THUNDERBIRD Y ENIGMAIL
En este apartado se va a describir brevemente cómo poder congurar un cliente
de correo electrónico (software libre) como el software Mozilla Thunderbird para el
cifrado y rmado de correos electrónicos, garantizando privacidad, autenticidad e
integridad de los mismos. El lector observará lo sencillo que es congurar hoy en
día un cliente de correo electrónico para soportar criptografía. Al mismo tiempo
observará uno de los principales motivos por los cuales hoy en día la mayor parte de
la población no cifra sus correos electrónicos. Aunque el proceso de conguración
es muy sencillo, no es un mecanismo transparente. Si deseamos comunicarnos de
manera cifrada con otro interlocutor el receptor necesitará instalar un software
similar, especíco para su cliente de correo, para descifrar la información.
Para la correcta conguración del software de cifrado primero es necesaria
la instalación del cliente de correo Thunderbird. 310 Este cliente de correo puede
descargarse desde su página web. 311 Una vez instalado el cliente de correo es
necesario instalar y congurar el software de cifrado para este cliente de correo. Para
ello, es necesario descargar la extensión Enigmail 312 e instalarla a través del menú
Herramientas à Complementos (Instalar complemento desde archivo). 313
310 https://info.securityinabox.org/es/como_instalar_thunderbird.
311 https://www.mozilla.org/es-ES/thunderbird/.
312 https://www.enigmail.net/home/index.php.
313 https://info.securityinabox.org/es/thunderbird_usarenigmail.
262 ESTEGANOGRAFÍA
© RA-MA
Figura A.18. Instalación de la extensión Enigmail314
Una vez instalada la extensión Enigmail es necesaria una breve conguración
para poder cifrar y rmar nuestros correos electrónicos. Las diferentes opciones de
conguración se encuentran en el menú Enigmail, siendo recomendado para usuarios
inexpertos Asistente de conguración à Preero una conguración estándar.
Figura A.19. Menú de configuración de extensión Enigmail
314 https://www.enigmail.net/download/release/1.8/enigmail-1.8.2-tb+sm.xpi.
© RA-MA
Anexo A. HERRAMIENTAS CRIPTOGRÁFICAS MÁS COMUNES. CONFIGURACIÓN PASO A PASO 263
Figura A.20. Creación de claves pública y privada para el cifrado de correos electrónicos
con Enigmail
Una vez creadas las claves criptográcas podrá crear nuevos correos
electrónicos y activar (icono candado, icono lápiz) el cifrado y la rma digital de
los mismos. El lector debe recordar que para poder enviar información cifrada a otro
usuario deberá haber recibido previamente su clave pública. Del mismo modo, si
desea que un usuario verique su rma digital (autenticidad) deberá adjuntar en un
correo (o por algún otro medio) la clave pública generada.
264 ESTEGANOGRAFÍA
© RA-MA
Figura A.21. Cifrado y firmado de correos electrónicos mediante Enigmail-Thunderbird
A través del menú Enigmail à Administración de claves, el lector podrá
realizar todo tipo de operaciones con las claves reconocidas en su cliente de correo.
Claves que le permitirán comunicarse de manera cifrada con otros usuarios y vericar
la autenticidad de los correos de otros usuarios.
Figura A.22. Administración de claves criptográficas con Enigmail
Anexo B
ESTEGOANÁLISIS. HERRAMIENTAS Y
GUÍA DE USO
El lector ha podido observar a lo largo de este libro como se ha centrado
el esfuerzo principalmente en destacar múltiples técnicas y procedimientos para
ocultar información. Sin embargo, se han dejado un poco de lado los procedimientos
de detección (estegoanálisis), aunque se han destacado ciertas técnicas y algunas
herramientas especícas. Los motivos de esta decisión son múltiples.
La detección de información oculta es un tema realmente complejo (si no
se utilizan técnicas triviales de ocultación, como la técnica EoF) y los algoritmos
propuestos, los más modernos y sosticados, son difíciles de encontrar en herramientas
de libre acceso que el lector pueda probar. A grandes rasgos, independientemente de
las técnicas o el medio utilizados para ocultar información, cualquier propuesta de
detección estegoanalítica se basará en la utilización de procedimientos matemáticos
para detectar anomalías (test estadísticos, machine learning, etc.). Algunos más
sencillos y otros mucho más complejos que no son sencillos de comprender para
cualquier lector sin una base importante de matemáticas. Ninguna técnica de
ocultación es 100% efectiva si no prestamos especial cuidado en el tamaño de la
información a ocultar y en el medio que la transporta. En la última década multitud
de estudios han detectado patrones (información oculta) en todas las técnicas
documentadas en este libro.
Es cierto que, aunque con limitaciones, un usuario común puede detectar
ciertas técnicas de ocultación con herramientas gratuitas o comerciales. Por desgracia,
la variedad de estas herramientas es reducida, al menos públicamente, y pueden ser
engañadas (ocultar información que no será detectada). Salvo que el lector opte por
desarrollar sus propios algoritmos de detección o implementar alguno propuesto en
artículos cientícos, la utilización de este tipo de herramientas es la única opción
266 ESTEGANOGRAFÍA
© RA-MA
real para intentar proteger sus sistemas o redes de información de fugas de datos o
uso indebido de la esteganografía. Veamos en detalle algunas de estas herramientas
de detección.
B.1 PRODUCTOS Y HERRAMIENTAS DE ESTEGOANÁLISIS COMERCIALES
Parecería razonable que el número de empresas y productos comerciales
para cubrir la problemática de la detección de comunicaciones ocultas fuera extenso,
dada su criticidad. Sin embargo, al menos públicamente, 315 no hay una gran oferta en
este sentido. Posiblemente por la dicultad de hacer un producto able.
Un ejemplo de empresa y productos de estegoanálisis lo realiza BackBone
Security con SARC. 316 Sus esfuerzos se centran en el desarrollo de herramientas
software y hardware para la detección en tiempo real de información ocultada con
ciertas herramientas y la presencia de dichas herramientas en sistemas y redes
informáticas. Según su publicidad son capaces de detectar más de 1.225 aplicaciones
esteganográcas (cheros relacionados con estas aplicaciones) utilizando su
Steganography Application Fingerprint Database (SAFDB). Para ello, identican
cada chero con algoritmos de hash (CRC-32, MD5, SHA-1, SHA-224, SHA-256,
SHA-384 y SHA-512), con la ventaja adicional de que puede ser utilizada con la
mayoría de las herramientas forenses más importantes como EnCase, Forensic
Toolkit (FTK), Ilook, ProDiscover, etc. El precio de sus diferentes soluciones no
está disponible para todos los bolsillos: Steganography Analyzer Artifact Scanner
(1.095 dólares), StegAlyzerFS (395 dólares), StegAlyzerSS (1.595 dólares) o
StegAlyzerRTS (9.995 o 24.995 dólares).
En esta línea se encuentra también la empresa norteamericana WetStone
Technologies con la herramienta StegoSuite 317 que incluye diversos productos
destinados a detección (StegoHunter, StegoWatch y StegoAnalyst) y recuperación
de la información (StegoBreak) realizando incluso ataques a posibles contraseñas
utilizadas para ocultar información con herramientas esteganográcas típicas como
F5 o JPHide&Seek.
315 StegKit. https://www.sbir.gov/sbirsearch/detail/151266.
316 https://www.sarc-wv.com/.
317 https://www.wetstonetech.com/product/stego-suite/.
© RA-MA
Anexo B. ESTEGOANÁLISIS. HERRAMIENTAS Y GUÍA DE USO 267
Figura B.1. Herramienta de estegoanálisis StegoAnalyst
B.2 HERRAMIENTAS DE ESTEGOANÁLISIS OPEN SOURCE
En los últimos años se han publicado diversas herramientas de estegoanálisis
de software libre y open source disponibles para el público en general. En la
mayoría de los casos son herramientas de espectro limitado, detectando unas pocas
herramientas de ocultación e implementando unos pocos algoritmos estegoanalíticos.
En cualquier caso, este tipo de herramientas son la única opción si su presupuesto es
limitado o si desea implementar alguna medida ad hoc (adaptándolas) en su sistema
o red corporativa.
] Herramienta StegSpy (http://www.spy-hunter.com/stegspydownload.
htm), publicada en la BlackHat 2004: permite la detección de información
ocultada con las herramientas Hiderman, JPHide&Seek, Masker, JPegX
e Invisible Secrets.
] Herramienta
StegExpose
(http://www.darknet.org.uk/2014/09/
stegexpose-steganalysis-tool-detecting-steganography-images/).
Centrada en detección de técnica LSB en imágenes digitales con formato
PNG y BMP. Implementa diversos ataques estadísticos y estegoanalíticos
conocidos (Sample Pairs, RS, Chi-square y Primary Sets) para detectar
la ocultación con herramientas como OpenStego, OpenPuff o SilentEye.
268 ESTEGANOGRAFÍA
© RA-MA
] VLS (Virtual Steganographic Laboratory for digital images), 318
stegolab, 319 digital invisible ink toolkit, 320 simple-steganalysis suite, 321 o
steganalysis 322 de Jessica Fridrich.
] Herramienta Stegdetect.
Stegdetect 323 es una herramienta gratuita (licencia BSD) desarrollada por
el investigador Niels Provos a partir de sus estudios, que permite la detección
automática de ciertos algoritmos esteganográcos. En concreto, se centra en
imágenes JPEG. Actualmente, es capaz de detectar ocultación de mensajes con JSteg,
Jphide, OutGuess 01.3b, F5 (header analysis), AppendX y Camouage. Junto a esta
herramienta proporciona otra denominada Stegbreak, que permite realizar ataques de
diccionario contra los mecanismos criptográcos de JSteg-Shell, JPHide y OutGuess
0.13b. Stegdetect (versión 0.6) muestra alguna idea interesante, como es el análisis
mediante una función de discriminación lineal. La herramienta, dados un conjunto
de imágenes normales y un conjunto de imágenes que contienen información oculta
con una nueva aplicación esteganográca, es capaz de determinar una función de
detección lineal que se puede utilizar en un futuro para clasicar nuevas imágenes
producidas por esa nueva técnica esteganográca.
Figura B.2. Discriminador lineal Stegdetect
318 http://vsl.sourceforge.net/.
319 https://github.com/daniellerch/stegolab.
320 http://sourceforge.net/projects/diit/les/dirt/1.0/.
321 https://code.google.com/p/simple-steganalysis-suite/.
322 http://dde.binghamton.edu/download/.
323 https://github.com/abeluck/stegdetect.
© RA-MA
Anexo B. ESTEGOANÁLISIS. HERRAMIENTAS Y GUÍA DE USO 269
Lógicamente una clasicación lineal tiene la limitación de esperar un
comportamiento lineal de las técnicas esteganográcas utilizadas, hecho que no
coincide con muchas de las herramientas en la realidad. Sin embargo, supuso un buen
reejo del interés de los investigadores en buscar procedimientos estegoanalíticos
más o menos genéricos independientemente de la técnica esteganográca empleada.
Es un excelente ejemplo para comprender cómo evolucionaron las técnicas de
detección hacia mecanismos sosticados utilizando técnicas de machine learning.
Públicamente la herramienta Stegdetect obtuvo notoriedad al ser utilizada
por su creador para analizar más de 2 millones de imágenes de eBay, sin encontrar
ningún mensaje oculto. Estos resultados reejaron que, al menos para los algoritmos
soportados, la presencia de información oculta en medios de comunicación masivos
no era tan común. Posteriormente procedió a analizar 1 millón de imágenes de la
red USENET.324 Como resultado, se encontró, en una primera fase, 20.000 imágenes
sospechosas. Para las imágenes que presentaban cierta probabilidad de que se
hubiera ocultado información, concretamente para las herramientas JSteg y JPHide,
se lanzó un ataque de diccionario (diccionario con 1.800.000 palabras y frases) que
ayudase a proporcionar más datos sobre la supuesta información ocultada. El ataque
se distribuyó de tal forma que se consiguieron picos de computación de 87 gigaops.
No obstante, no se encontró ningún mensaje oculto. 325
Independientemente de la importancia que se quiera otorgar a estos resultados
estegoanalíticos. Es cierto que estas publicaciones destacaron como el uso escalable
de herramientas de detección de este tipo podrían tener una gran utilidad, y por
qué no (al igual que con la criptografía), un mercado creciente, especialmente para
agencias de inteligencia y cuerpos policiales. Esto desde el punto de vista del usuario
que desea ocultar y distribuir información de forma enmascarada debe recordarle de
nuevo la importancia de elegir buenas técnicas de ocultación.
Herramienta StegSecret
La herramienta de código libre StegSecret, 326 desarrollada por el autor de
este libro en 2005, permite realizar algunos ataques de manera simplicada mediante
una interfaz gráca. StegSecret permite detectar información ocultada con los
siguientes programas: Camouage V1.2.1, inThePicture v2.2, JPEGXv2.1.1, Pretty
324 Scanning USENET for Steganography. http://niels.xtdnet.nl/stego/usenet.php.
325 Resultados conceptualmente similares fueron obtenidos por el investigador Alfonso Muñoz, en
2015, analizando potenciales estegoimágenes en el market Google Play. https://www.youtube.
com/watch?v=Xn38Y7puq-g.
326 http://stegsecret.sourceforge.net.
270 ESTEGANOGRAFÍA
© RA-MA
Good Envelope v1.0, appendX v<=4, steganography v1.6.5, inPlainView, DataStash
v1.5 y dataStealth v1.0. Adicionalmente, StegSecret comprueba la estructura del
formato gráco de imágenes BMP, GIF y JPEG (este análisis permite detectar
información oculta al nal de chero, técnica EoF) y detecta la presencia de más de
40 herramientas esteganográcas.
Utilizar las funcionalidades anteriores es muy sencillo desde la interfaz
gráca:
1. Descargar y descomprimir: http://stegsecret.sourceforge.net/XStegSecret.
Beta.v0.1.zip.
2. Ejecutar xstegsecret.exe
(multiplataforma).
(Windows)
o
#java
–jar
xstegsecret
3. Seleccionar el menú Detección à Herramienta de Detección.
4. Seleccionar la ruta de cheros a analizar.
5. Hacer clic en el icono de la lupa.
Con estos simples pasos la herramienta detectará la presencia de información
oculta con las herramientas detectadas, la presencia de herramientas esteganográcas
en la ruta seleccionada y el chequeo de la estructura del formato de chero de
imágenes BMP, JPEG y GIF (detección técnica EoF). Todo a golpe de un único clic.
Figura B.3. Menú Herramienta de Detección de StegSecret
© RA-MA
Anexo B. ESTEGOANÁLISIS. HERRAMIENTAS Y GUÍA DE USO 271
Figura B.4. Detección automática con StegSecret
Una de las particularidades de StegSecret es que permite aplicar una serie de
test estadísticos y visuales de manera sencilla desde la interfaz gráca. En la versión
actual solo con cheros digitales BMP.
Para ello se debe ir al menú Análisis de Imágenes à Analizar StegoImágenes, posicionar el puntero del ratón en el cuadro de la derecha o izquierda,
dar al botón derecho y Abrir chero (la imagen deseada). En las siguientes guras
se muestran diversos ejemplos realizando ataques visual, Chi-square y RS a dos
imágenes, la imagen de la izquierda es una imagen sin información oculta y la
imagen de la derecha con información oculta.
Figura B.5. Análisis de estegoimágenes con StegSecret
272 ESTEGANOGRAFÍA
© RA-MA
Figura B.6. Ataque visual al LSB de cada píxel con StegSecret
Figura B.7. Información oculta detectada con StegSecret. LSB secuencial (imagen de la derecha)
© RA-MA
Anexo B. ESTEGOANÁLISIS. HERRAMIENTAS Y GUÍA DE USO 273
Figura B.8. Información oculta detectada con ataque Chi-square (imagen derecha)
Figura B.9. Ataques visual y Chi-square no funcionan de forma precisa con ocultación basada en LSB
pseudoaleatorio (imagen de la izquierda y derecha con información oculta)
274 ESTEGANOGRAFÍA
© RA-MA
Figura B.10. Detección de información ocultada con LSB pseudoaleatorio utilizando ataque RS. La
información real ocultada es de 4 KB (en la imagen derecha). Es posible observar, en la imagen
izquierda, la detección de una pequeña información oculta (ruido natural) no presente. En la imagen
derecha se detecta más información de la oculta (véase la diferencia con el ruido natural)
Anexo C
FORMATO DE ESTEGOMEDIOS GRÁFICOS
COMUNES. ANÁLISIS ESTRUCTURAL
En el presente libro se ha dedicado un esfuerzo especial a la esteganografía
en imágenes digitales, por ser esta una de las técnicas más difundidas y estudiadas.
En las siguientes páginas se ve interesante facilitar al lector algo de información
adicional sobre la estructura de algunos de los formatos de imágenes digitales más
utilizados en las herramientas esteganográcas disponibles en Internet, entre ellos
BMP, GIF y JPEG. Un vistazo a esta estructura le facilitará comprender qué octetos
se deben modicar para ocultar información en el bit menos signicativo de la
codicación de un píxel, en octetos de la cabecera, en comentarios, etc. En cualquier
caso, una búsqueda con su buscador favorito le facilitará encontrar los detalles a bajo
nivel del tipo de imagen digital que desea utilizar para implementar un mecanismo
esteganográco concreto. Por ejemplo, para el formato PNG. 327
Por suerte para el lector no es necesario bajar a bajo nivel en la mayoría de
los casos para implementar sus propias herramientas esteganográcas. En la mayoría
de lenguajes de programación de alto nivel se dispone de librerías que le ayudarán
en esta tarea. Por ejemplo, en Java (Java Advanced Imaging, Java Image I/O, Java
Media Framework, etc.) o en Python (Python Imaging Library, scikit-image, etc.).
327 PNG (Portable Network Graphics) Specication Version 1.0. https://tools.ietf.org/html/rfc2083.
276 ESTEGANOGRAFÍA
© RA-MA
C.1 WINDOWS BMP (BITMAP)
El formato de imagen a describir es uno de los formatos grácos más sencillos
que existen en la actualidad. El formato BMP es un formato estándar de imagen
creado por la empresa norteamericana Microsoft y popularizado a través de sus
múltiples sistemas operativos Microsoft Windows. Aunque existen otros formatos
BMP, como el de OS/2, el formato de Microsoft es el más utilizado (Windows BMP
versión 3). Por tanto, a partir de ahora se centra el estudio exclusivamente en este
formato.
El formato BMP (también conocido como Windows DIB) admite una serie
de modos de color: RGB, indexación de colores, escala de grises y mapa de bits.
Permite resoluciones de 1, 4, 8, 16, 24 y 32 bits por píxel, aunque no es frecuente
encontrarse con cheros BMP de 16 o 32 bits por píxel. El formato BMP permite
compresión sin pérdidas RLE (algoritmos RLE4 y RLE8) aunque no se suele utilizar
normalmente.
La principal ventaja de este formato frente a otros se centra en la facilidad de
uso y de procesado, así como en garantizar que cuando una imagen se almacena en
este formato es idéntica a la original, armación que no es cierta en otros formatos
(con pérdidas) como JPEG.
La estructura de los cheros BMP es muy simple. Para leer adecuadamente la
información de esta estructura es necesario recordar que en este formato los octetos
menos signicativos se almacenan primero en los campos.
La estructura interna de este tipo de chero gráco se compone de una serie
de bloques, denominados: cabecera del chero, cabecera de la imagen, paleta de
colores (opcional) y datos de la imagen.
Cabecera del fichero
La cabecera del chero BMP (estructura BITMAPFILEHEADER según
Microsoft) consta de 14 octetos divididos en los siguientes campos:
] Tipo de chero (2 octetos). Contiene dos caracteres ASCII con valor
“BM” (0x424D) indicando el tipo de chero (BMP).
] Tamaño del chero (4 octetos). Contiene el tamaño total del chero
BMP en octetos, valor que debe coincidir con el proporcionado por el
sistema operativo.
© RA-MA
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 277
] Reservado (4 octetos). El valor esperado en este campo es 0x00000000.
] Desplazamiento a la imagen (4 octetos). Es la posición donde se
encuentran los datos de la imagen (valores de los píxeles).
Figura C.1. Cabecera del fichero gráfico BMP
La principal función de esta cabecera es permitir la correcta identicación
de un chero con este formato. Analizando esta cabecera se puede realizar tres
comprobaciones para observar si el chero tiene o no un formato BMP.
] Los primeros 2 octetos deben ser los caracteres ASCII “BM”.
] Si es posible determinar el tamaño exacto del chero en octetos en el
sistema de cheros utilizado, este valor debe coincidir con el indicado en
la cabecera.
] El campo reservado debe estar a cero.
Cabecera de la imagen
La cabecera de la imagen es una estructura con información que va
inmediatamente después de la cabecera del chero. Esta estructura varía dependiendo
del formato de BMP, ya sea el de OS/2 o el Windows BMP que está más extendido.
Desafortunadamente, no hay un campo de versión en la denición del formato
BMP, así que la única forma de determinar el tipo de la estructura de imagen usada
en un chero concreto es examinando el tamaño de esta cabecera. A continuación, se
muestra la estructura de datos para cheros BMP Windows.
] Tamaño de la cabecera (4 octetos). El valor de este campo es 40 octetos
para Windows, y 12 para los BMP de OS/2.
] Ancho (4 octetos). Anchura de la imagen en píxeles.
] Alto (4 octetos). Indica la altura de la imagen en píxeles. Si es un número
positivo indica que la imagen es bottom-up con el origen en la esquina
278 ESTEGANOGRAFÍA
© RA-MA
inferior izquierda. Si, por el contrario es un número negativo será topdown con el origen en la esquina superior izquierda.
] Planos (2 octetos). Número de planos de color utilizados para representar
la imagen. Los archivos BMP solo tienen un plano de color, con lo que
este campo siempre es 1.
] Bits por píxel (2 octetos). Bits utilizados para representar el color de
cada píxel. Los valores válidos para este campo son: 1, 4, 8, 16, 24 y 32.
] Compresión (4 octetos). Indica el método de codicación utilizado para
comprimir la información del mapa de bits. 0 indica que la información
está sin comprimir, 1 indica que se utiliza el algoritmo RLE8, y 2 indica
que se utiliza el algoritmo RLE4.
] Tamaño del mapa de bits (4 octetos). Es el tamaño del mapa de bits
almacenado. Normalmente este valor es cero cuando la información del
mapa de bits está sin comprimir; en ese caso, el decodicador calcula el
tamaño según las dimensiones de la imagen.
] Resolución horizontal (4 octetos). Indica la resolución horizontal en
píxeles por metro.
] Resolución vertical (4 octetos). Indica la resolución vertical en píxeles
por metro. Este valor junto con el de resolución horizontal se utilizan
para ayudar a dar una resolución adecuada cuando se imprime o muestra
por pantalla el BMP.
] Colores usados (4 octetos). Número de colores usados en la paleta (en
caso de que exista esta).
] Colores importantes (4 octetos). Es el número de colores importantes
en la paleta, lo cual se determina por la frecuencia de aparición de los
mismos en el mapa de bits; cuanto más aparezca un color en los datos,
más importante es el mismo. Este campo se utiliza para proporcionar
una representación lo más el posible cuando el hardware soporta menos
colores de los que están denidos para la imagen.
El formato BMP soporta imágenes con codicación run-length (RLE) de 4 y
8 bits por píxel. La codicación run-length es una de las técnicas de compresión más
simples. En ella los datos que están almacenados de forma repetitiva con el mismo
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 279
© RA-MA
valor se reemplazan por un contador que indica qué valor aparece repetido y cuántas
veces. Este tipo de compresión está disponible solo para imágenes que tengan
muchos valores repetidos, como caricaturas y dibujos animados. Para la mayoría de
las imágenes, la codicación run-length producirá un chero más grande, lo que se
conoce como compresión negativa.
Paleta de color
La paleta de color es una información opcional utilizada en otros formatos
para reducir el tamaño de las imágenes al tener que representar solo unos pocos
colores diferentes. Existen diferentes posibilidades según la resolución del chero:
] Para 24 bits/píxel. No existe este campo, y el valor de los píxeles sigue
el orden B, G y R, con 8 bits por componente.
] Para 1, 4 u 8 bits/píxel. La paleta está presente, y para cada color de la
paleta hay 4 octetos que siguen un orden de B, R y G y relleno (“0”).
] Para 16 o 32 bits/píxel. La paleta indica cómo irán a continuación los
datos mediante la utilización de máscaras. Se denen tres grupos (de 16 o
32 bits), uno para cada componente R, G y B, respectivamente. En estos
grupos se marca con un “1” los bits que en los datos serán asignados a
ese componente de color.
Datos de la imagen
La mayoría de las aplicaciones colocan los valores de los píxeles después
de las estructuras de las cabeceras o de la paleta, si esta existe. En cualquier caso,
es más adecuado posicionarse según lo establecido en el campo de desplazamiento
de la cabecera del chero. Normalmente esta información se almacena siguiendo un
orden de izquierda a derecha y de abajo arriba. Según la resolución empleada (y por
tanto si la paleta existe o no) los datos se pueden almacenar de la siguiente forma:
] Para 24 bits/píxel. Cada píxel está representado por 3 octetos
consecutivos que especican los valores de los componentes B, G y R,
respectivamente. Destacar que este orden es el inverso del que se usa en
la mayoría de los cheros de formato gráco.
] Para 1 y 4 bits/píxel. Cada byte está subdividido en 8 o 2 campos,
respectivamente, cuyos valores representan un índice a la paleta de color.
280 ESTEGANOGRAFÍA
© RA-MA
] Para 8 bits/píxel. Cada píxel en cada la está representado por 1 byte
que es un índice a la paleta de colores.
] Para 16 bits/píxel. Cada píxel es representado por un valor entero
de 2 octetos. Si no existe compresión, la intensidad de cada color es
representada por 5 bits, con el bit más signicativo sin uso. Bit 15: Sin
uso, bit 14-bit 10: Red, bit 9-bit 5: Blue, bit 4-bit 0: Green.
] Para 32 bits/píxel. Cada píxel es representado por un entero de 4 octetos.
Si no existe compresión, el formato es como el de 24 bits con un byte
desechado al nal.
C.2 FORMATO GIF (GRAPHICS INTERCHANGE FORMAT)
En 1987, CompuServe publicó la primera especicación del formato gráco
GIF (Graphics Interchange Format) denominada GIF87a. Esta especicación se
distribuyó gratuitamente, y el formato fue adoptado prácticamente por toda aplicación
de procesamiento de imágenes. CompuServe más tarde publicaría una actualización
compatible de este estándar, con una serie de mejoras, bajo la norma GIF89a, aunque
la mayoría de las imágenes GIF suelen usar las características fundamentales de la
norma anterior.
Debido a que el conocimiento de este formato facilitará la comprensión
de ciertos temas esteganográcos, se detalla aquí un resumen del formato de la
especicación GIF87a. El uso de este formato, en la actualidad, es cada vez más
restringido debido a que solo puede trabajar con 256 colores como mucho. Cada vez
es más común su sustitución por el formato gráco JPEG o el formato PNG. 328
Al igual que sucede en otros formatos grácos, el formato de un chero GIF
se estructura en una serie de componentes, en concreto, en un área ja de información
al comienzo del chero, seguida por un número variable de bloques y, nalmente un
bloque de n de formato. Toda esta información permitirá identicar correctamente
el formato de un chero GIF, así como de toda la información necesaria para mostrar
de forma adecuada las imágenes almacenadas.
328 PNG (Portable Network Graphics) Specication Version 1.0. https://tools.ietf.org/html/rfc2083.
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 281
© RA-MA
Figura C.2. Estructura del fichero GIF
Cabecera GIF
La cabecera GIF es la primera información que encontramos en un chero
con formato GIF y permite identicar un chero con este formato concreto. Para
permitir esta identicación esta cabecera consta de 6 caracteres ASCII que indican:
] Firma (3 octetos). Debe ser una cadena ASCII de valor “GIF”.
] Versión (3 octetos). Debe ser una cadena ASCII de valor “87a” o “89b”.
Descriptor global
Proporciona información sobre el área de pantalla lógica en la cual mostrar
las imágenes individuales que forma el chero GIF. Consta de 7 octetos con
información sobre las imágenes individuales.
282 ESTEGANOGRAFÍA
© RA-MA
] Ancho y alto de la pantalla lógica (2 octetos/2 octetos).
] Campo de bits (1 byte):
● Tamaño del mapa global de color (bits 0-2). 2N+1 da el número de
entrada en el mapa.
● Flag de ordenación del mapa de color (bit 3). Activo cuando los
colores en el mapa global de colores están ordenados por orden de
importancia.
● Bits por píxel (bits 4-6). Bits por píxel menos 1.
● Flag de Mapa global de color (bit 7). Activo cuando hay un mapa
global de color.
] Color de fondo (1 byte).
] Relación entre píxel (1 byte).
Mapa global de color
Esta información puede estar o no presente (en cuyo caso, se generará una por
defecto) según lo indicado en el ag de activación correspondiente en el descriptor
global. Las imágenes dentro de un chero pueden usar este mapa global o denir su
mapa de color propio. Lógicamente el uso de un mapa global reduce el tamaño del
chero nal y facilita la decodicación del formato. Este mapa (paleta de colores)
consiste en un array de entradas de 3 octetos con valores de las componentes rojo,
verde y azul. Siendo el número total de entradas el especicado en el descriptor
global.
Después de esta área de información ja, aparece la información variable
del formato. El chero contiene una secuencia de bloques que están identicados
al comienzo del bloque por un código de 1 byte. Este código indica si se trata de un
bloque de extensión (21h), un bloque de imagen (2Ch) o un terminador GIF
(3Bh). El terminador se utiliza para nalizar cualquier bloque, y por tanto, como
terminador del último bloque, será también el indicador de nal de chero.
Bloque de imagen
Un bloque de imagen dene una imagen dentro de un chero GIF. La
información asociada a esta imagen se estructura en diferentes campos. En primer
lugar, aparece una cabecera de la imagen que indica su tamaño y su posición. Esta
estructura es la siguiente:
© RA-MA
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 283
] Posición horizontal (2 octetos). Comienzo de la imagen en píxeles desde
el lado izquierdo de la pantalla lógica.
] Posición vertical (2 octetos). Comienzo de la imagen en píxeles desde la
parte superior de la pantalla.
] Ancho y alto de la imagen (4 octetos).
Con esta información una imagen puede indicar si utilizar el mapa de color
local en lugar del denido de forma global. Al igual que el mapa global de color, el
mapa local es un array de entradas de 3 octetos con las componentes de color.
A continuación de la tabla de color local o de la cabecera de la imagen se
añade un byte que contiene el tamaño del código inicial utilizado en la compresión de
los datos almacenados en el chero. Este valor suele ser 8. A continuación, le sigue
una serie de bloques de datos que contienen los datos de la imagen comprimidos. Son
los denominados bloques de datos y consisten en un byte que actúa como contador
(indica el número de octetos que siguen), seguido de 1 a 255 valores de octetos de
datos.
La cadena de bloques de datos para una imagen siempre termina con un
bloque de datos con un contador de 0 octetos de datos. Los datos de la imagen
en el formato GIF están comprimidos usando el algoritmo denominado LZW. 329
LZW es un esquema de compresión basado en diccionario. Es decir, un mecanismo
que aprovechando la entropía de la fuente (la redundancia de los datos de la
imagen) sustituye las cadenas repetidas por índices a un diccionario que almacena
precisamente esa cadena que se repite continuamente.
De esta forma, se produce el fenómeno de la compresión ya que ocupa menos
tamaño almacenar un índice (desplazamiento) a una posición de un diccionario, con
las informaciones más frecuentes de la fuente, que almacenar la información tal
cual. La mayoría de los esquemas de compresión basados en diccionario usan como
base las ideas de Abraham Lempel y Jacob Zivv (1977 y 1978) con sus algoritmos
LZ77 y LZ78. LZ77 usa una ventana deslizante en los datos sin comprimir para
crear el diccionario. LZ78 construye un diccionario dinámicamente desde los datos
sin comprimir. LZW es una variante del LZ78 diseñado por Terry Welsh en 1984 y
adoptada por CompuServe para el formato GIF. Este algoritmo está patentado, lo
que impidió su distribución en aplicaciones libres, lo que junto a otros problemas ha
hecho que este formato esté cada vez más en desuso.
329 https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch.
284 ESTEGANOGRAFÍA
© RA-MA
Aunque no se va a profundizar en la más moderna especicación GIF89a, 330
para nalizar con este formato, es importante destacar alguna de las aportaciones de
este nuevo estándar, como es la denición de los bloques de extensión. Extensiones
a las funcionalidades básicas, y que permiten, por ejemplo, un control más exible
de los frames individuales que constituyen una animación GIF. Su estructura es
similar a la de un bloque de imagen, en cuanto a que posee una cierta información de
cabecera, una serie de bloques de datos y un terminador.
C.3 FORMATO JPEG (JOINT PHOTOGRAPHIC EXPERTS GROUP)
En 1987 se creó un grupo de trabajo formado por expertos en tratamiento de
imágenes, con la intención de desarrollar un formato estándar para la compresión de
imágenes jas, tanto monocromas como en color. Los estudios y experimentos de este
grupo de trabajo, que ocialmente fue denominado JTC1/SC2/WG10 (auspiciado
por ISO, ITU-T e IEC), se plasmaron en una serie de publicaciones, entre ellas la
especicación JPEG.
El formato gráco JPEG tiene la cualidad principal de que es capaz de
proporcionar una calidad de imagen variable, dependiendo del grado de compresión
que se desee (a mayor nivel de compresión, disminuye la calidad de la imagen). A
continuación, vamos a comentar algunas características de este formato. Debido a
la gran extensión de su especicación, y que para el propósito que nos ocupa no es
necesario profundizar excesivamente, se verá un breve resumen de su funcionamiento.
Codificación JPEG
Para que una imagen pueda ser convertida a formato JPEG debe sufrir una
serie de operaciones que se describen a continuación.
] La imagen a codicar se divide en grupos de 64 píxeles, denominados
bloques, con un formato cuadrado de 8x8 píxeles. Si la imagen es en color,
de la imagen original se obtendrán tres imágenes (componentes de color
R, G y B), de forma que cada una de ellas será tratada independientemente
(aunque luego se junten para formar un único archivo). Por eso, de forma
genérica se puede establecer que todo el conjunto se encuentra formado
por un conjunto de bloques, cada uno de ellos congurado por 64 píxeles.
“En una imagen en color cada píxel se desdobla en tres valores (las tres
330 https://www.w3.org/Graphics/GIF/spec-gif89a.txt.
© RA-MA
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 285
componentes de color) que se pueden considerar como el brillo de cada
componente utilizado en la confección de la imagen original, por lo que
una imagen en color podría ser codicada como una sucesión de tres
imágenes monocromas en las que solo importa el brillo de cada píxel,
puesto que sus características cromáticas ya vienen jadas al establecer
los colores primarios. Si se codicasen directamente estas tres imágenes
RGB, habría que codicar cada una de ellas con la misma calidad y
además con la calidad máxima. Para conseguir un importante ahorro en
el número de muestras, se preere utilizar otros tres valores, deducidos
de estos tres valores iniciales, a través de unas ecuaciones perfectamente
establecidas. Y, Cb, Cr (luminancia y crominancia).”.
] A cada uno de los bloques por separado se le aplica la transformada
discreta del coseno y después de su aplicación, se obtienen 64 coecientes
para cada uno de los bloques. A cada bloque de coecientes se le somete a
un proceso de cuanticación (en este punto es posible regular la calidad
de la imagen y por tanto el grado de compresión elegido), de manera que
el escalón cuántico será diferente para cada uno de los coecientes dentro
del bloque.
] Del resultado de la cuanticación se obtienen unos coecientes
cuanticados, que ya no adoptan innitas posiciones, sino solo unas
pocas, siendo nulos la gran mayoría de ellos. Es decir, el proceso
de cuanticación consiste en forzar que todos los coecientes que
se encuentren con valores muy cercanos entre sí, se refundan en un
único coeciente a la salida del proceso de cuanticación. Después de
este proceso, los datos correspondientes a cada bloque se encuentran
ubicados sobre una matriz formada por ocho las y ocho columnas. El
índice de la esquina superior izquierda corresponde al valor medio del
bloque, componente continua o también llamada DC en inglés, Direct
Current, y según se avanza, tanto en vertical como en horizontal, va
correspondiendo a frecuencias superiores, hasta llegar al índice 64. Estos
son los denominados coecientes AC.
El coeciente DC presenta una distribución uniforme, puesto que tiene la
misma probabilidad de tomar uno u otro valor, y posee la mayor información visual.
El resto de los coecientes presentan una distribución laplaciana, lo que da a entender
que tienen más probabilidad de ser pequeños que de ser grandes. Lo normal es que a
partir de determinadas posiciones de frecuencias, los valores de los coecientes sean
cero, por lo que los valores signicativos se encontrarán en los coecientes puestos
en las posiciones de más baja frecuencia.
286 ESTEGANOGRAFÍA
© RA-MA
] A los coecientes ya cuanticados, es necesario codicarlos de forma
binaria, utilizándose codicaciones entrópicas (por ejemplo, Huffman)
que asocian códigos cortos a valores que aparecen frecuentemente y
códigos largos a valores que apenas aparecen. Dado que aparecerán
muchos ceros, se utilizan además codicaciones del tipo RLE (RunLength Encoding).
Se debe considerar que para codicar los coecientes hay que ponerlos
en serie, unos detrás de otros y para ello no hay otra posibilidad que extraerlos de
las posiciones que ocupan dentro de la matriz y formar con ellos una secuencia
unidimensional de 64 valores. Teniendo en cuenta que por la posterior forma de
codicación, interesa que existan muchos ceros seguidos, una buena forma de
explorar la matriz para conseguir muchos ceros seguidos es una exploración en
zigzag del bloque de 8x8 octetos.
Figura C.3. Exploración zigzag JPEG
De todo esto, se puede extraer que la especicación JPEG utiliza una
serie de mecanismos para eliminar la información de alta frecuencia de la imagen,
frecuencias a las que el ojo humano no percibe los cambios, y por tanto no es capaz
de observar cómo se degrada la imagen, consiguiendo cheros de menor tamaño.
Según vaya subiendo la compresión esta degradación comenzará a ser percibida.
Estructura de un archivo JPEG
Un archivo JPEG se puede estructurar en dos partes: una cabecera con
información sobre parámetros especícos de la imagen almacenada, y un campo de
datos con los valores de la imagen. Como son muchos los parámetros que habrá que
© RA-MA
Anexo C. FORMATO DE ESTEGOMEDIOS GRÁFICOS COMUNES. ANÁLISIS ESTRUCTURAL 287
indicar, es necesario considerar la cabecera como un conjunto de pequeños bloques
de información. En cada uno de esos bloques, conocidos como marcadores, se indica
una característica especíca del archivo. Para que sean perfectamente identicados,
cada uno de ellos deberá ir precedido por uno de los códigos que se denominan
“inicio de marcador”. Otro aspecto también importante a tener en cuenta es el de
que los datos (o carga útil) no se suelen organizar en un único bloque, en su lugar se
dividen en intervalos (restart intervals), de manera que cada uno de ellos se puede
decodicar independientemente.
La longitud de cada uno de estos intervalos no es ja, sino que es indicada
al principio del intervalo. Cuando la información se estructura en intervalos, entre
unos y otros también es posible la colocación de marcadores. Su presencia está
totalmente identicada, porque sus códigos de inicio no dejan lugar a ninguna duda.
Cada intervalo de datos deberá llevar forzosamente un marcador a su comienzo, para
indicar el tipo de información que contiene y cómo está estructurada. Entendiendo
por un marcador un conjunto de información autocontenida, que especica algunos
parámetros relativos a la codicación de la imagen o informaciones interesantes para
los decodicadores.
Cada marcador siempre comienza con un código de inicio, que a su vez
está formado por un prejo, común para todos los marcadores, y una especicación
diferente para cada uno de ellos, que es lo que realmente lo identica. El código
de inicio es algo así como la rma identicativa o el nombre propio del marcador
indicando el contenido de lo que viene a continuación. Siempre que acaba un
segmento, tanto en la cabecera como en los datos, a continuación forzosamente
deberá venir un nuevo marcador para indicar lo que viene a continuación, ya que en
principio puede ser cualquier cosa y el decodicador necesita saber lo que es. Incluso
al nal del archivo, existe un marcador indicando que ha nalizado completamente
el archivo (código: FFD9, longitud: nula).
Esta breve introducción al formato JPEG quizás le permita comprender
algunas técnicas esteganográcas (basadas en coecientes DC) realizadas sobre este
formato gráco concreto, así como la posibilidad de detectar información oculta en
este tipo de chero validando la estructura interna del mismo, por ejemplo, recorriendo
su estructura a través de los marcadores. Si observa técnicas esteganográcas que
hagan uso de una versión más moderna de este estándar, por ejemplo, utilizando la
transformada Wavelet en JPEG2000, 331 le recomiendo encarecidamente seguir un
proceso similar al publicado en este anexo para profundizar en su comprensión.
331 https://es.wikipedia.org/wiki/JPEG_2000.
ÍNDICE ALFABÉTICO
Símbolos
3DES, 39, 135
A
ACOUSTINT, 17
ADS, 146, 147, 148, 149
AES, 39, 40
Anonimato, 185
ANT, 19
Ataque activo, 49
Ataque malicioso, 50
Ataque pasivo, 49
Ataques por compatibilidad jpeg, 103
Ataque visual, 98, 104, 115, 116, 271
Autoridades de certicación, 42
B
BIOS, 20, 154
Bit menos signicativo, 78, 79, 80,
81, 84, 90, 95, 100, 115, 116, 117,
131, 240, 275
BPCS, 84
BTS, 19, 20
C
CA, 42, 68, 203
Camera/Shy, 241, 242, 243, 244, 245
Canales encubiertos, 71, 79, 138,
210, 211, 220, 222, 229, 230, 231,
232, 247
CAPTCHA, 91, 92, 93
Carnivore, 17
CFGs, 192, 195
Chafng and Winnowing, 74, 75
Chi-square, 96, 100, 101, 102, 113,
116, 117, 118, 123, 273
Cifrador del César, 27, 31
Cifrador de Vigenère, 31
Cifradores monoalfabéticos por desplazamiento puro o adición, 27
Cifradores nulos, 175
Clave pública, 41, 42, 68, 75, 263
Código en jerga, 53, 174, 177, 178
Códigos abiertos, 174
Coecientes cuanticados, 98, 99,
100, 101, 106, 116, 285
COMINT, 17
Criptografía asimétrica, 41
Criptografía cuántica, 43
Criptografía de ujo, 33, 38
Criptografía homomórca, 45
Curvas elípticas, 43
290 ESTEGANOGRAFÍA
© RA-MA
D
DCT, 78, 99, 100, 116, 140
DeCSS, 71, 72, 73, 74
Deogol, 170
DES, 39, 40
Desambiguación, 198, 200, 207
Digital Invisible Ink Toolkit, 85
Duncam Campbell, 16
E
Echelon, 16, 17, 18
Edward Snowden, 18, 19, 154
ELINT, 17
End of File, 141, 156
Enscribe, 138, 139
Escítala, 33
Esteganografía clásica, 51
Esteganografía lingüística, 174, 184,
185, 186, 190, 195, 201
Estegoanálisis, 48, 50, 83, 96, 102,
112, 113, 114, 116, 118, 123, 127,
128, 133, 157, 166, 238, 241, 248,
265, 266, 267
Estegoanálisis a ciegas, 96, 112, 113,
114, 127
Estegomalware, 110
Estegomedio, 49, 70, 78, 80, 83, 90,
106, 108, 112, 114, 124, 125, 126,
127, 128, 140, 158, 173, 174
Estegosistemas cuánticos, 68
Estegosistemas de clave simétrica,
67
Evident X-Stream, 18
EzStego, 96, 98, 115, 116
F
F5, 99, 103, 104, 105, 106, 107, 111,
125, 266, 268
Fragmentación interna, 144, 145
G
GCHQ, 18
GIF, 79, 84, 88, 94, 95, 96, 113, 116,
123, 241, 242, 245, 270, 275, 280,
281, 282, 283, 284
Gramáticas libres de contexto, 192, 195
H
Herramienta, 85, 86, 87, 88, 89, 90, 93,
96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 111, 116,
118, 123, 125, 127, 128, 132, 133,
135, 136, 138, 139, 141, 142, 145,
147, 149, 150, 151, 152, 154, 157,
158, 159, 162, 163, 165, 167, 170,
182, 183, 187, 188, 189, 190, 191,
193, 194, 195, 197, 198, 199, 220,
227, 232, 240, 241, 242, 244, 245,
247, 252, 253, 266, 268, 269, 270
Hide&Seek, 97, 98
Hill, 28
HTML, 71, 109, 167, 168, 170, 236
HUGO, 127, 128
Hydan, 165, 166, 167
I
Imágenes anamórcas, 57
IMINT, 17
Impresoras espías, 63
Inter-protocol steganography, 212
J
Jano, 198
JPHide, 99, 101, 268, 269
Jsteg, 99, 100, 101, 102, 115, 116,
268, 269
Julian Assange, 18
K
Kasiski, 31
Kerberos, 41
Kerckhoffs, 37, 66, 184
ÍNDICE ALFABÉTICO 291
© RA-MA
L
Leyes de la tecnología, 23
Libretas de un solo uso, 32
LISI, 24
LSB, 79, 80, 81, 82, 84, 85, 88, 89,
91, 95, 96, 100, 103, 104, 109,
112, 113, 115, 116, 118, 119, 122,
123, 125, 128, 131, 133, 134, 140,
240, 245, 246, 272, 273, 274
LSB-matching, 81, 113
LSB-replacement, 81, 113, 118
LSSICE, 24
M
Machine learning, 112
Malware, 20, 50, 71, 79, 104, 108,
111, 154, 155, 160, 161, 163, 164,
229, 230, 231, 236
MandelSteg, 96, 97
Maquillaje manual, 190
Máquinas de cifrado, 25, 36
Marcado digital de textos, 185
MASINT, 17
Matrices de codicación, 104, 106,
107, 114, 124, 125, 126, 248
Matrix embedding, 124
Matriz de codicación, 106, 107, 125
Merged Features, 113
Micropunto, 59, 60
MP3, 69, 134, 135, 137
MP3Stego, 135, 136
Muestras de audio, 131, 133
Multi-level steganography, 212, 238
N
Negación plausible, 74, 76, 250
Nicetext, 195, 196
NLW, 197
O
OpenPuff, 99, 130, 267
OpenStego, 99, 267
OTP, 38
Outguess, 99, 102, 108, 268
P
Pacto UKUSA, 16
Pair-Values, 96, 123
Paleta de colores, 78, 89, 90, 94, 95,
96, 116, 119, 123, 276, 280, 282
Patriot Act, 24
Peer2mail, 239
PKIs, 42
Playfair, 28, 29, 30
Polyglots, 108, 109
PPD, 113
PQ, 99
Privacidad, 16, 17, 18, 23, 44, 45, 50,
64, 79, 110, 151, 185, 236, 238,
249, 251, 253, 261
Problema del prisionero, 49, 50
R
Red Feistel, 40
Reja de Cardano, 52, 53, 178
Rich Models, 113
RS, 86, 88, 113, 118, 121, 123, 128,
267, 271, 274
S
Seguridad perimetral, 45, 161, 164,
210, 230
Semagramas textuales, 180, 181
Semagramas visuales, 180
Shannon, 37
SIGINT, 17
Sinónimos, 197, 198, 199
SOAP, 71, 168, 169
SPA, 113
SPAM, 113, 128, 194
292 ESTEGANOGRAFÍA
© RA-MA
Steganogram hopping, 238
Steganogram scattering, 238
StegFS, 150, 151, 152, 153
Steghide, 99, 130, 241
Stegosploit, 108
StegoVideo, 141, 142
Stelin, 187, 189, 190, 191
S-Tools, 96, 97, 115, 116, 154
Sustitución, 25, 26, 27, 28, 30, 31,
32, 36, 37, 39, 78, 79, 80, 81, 83,
88, 103, 131, 167, 197, 198, 200,
280
SVM, 114, 205
T
Técnica lsb, 79, 80, 81, 83, 86, 89,
95, 96, 100, 101, 102, 115, 116,
118, 131, 245, 267
Tempora, 18
Terroristas, 50, 63, 112, 140, 181,
236, 237
TEX, 183, 205
Thunderbird, 261, 264
Timing channels, 211, 213
Tintas invisibles, 60, 61, 62, 63
T-LEX, 197, 198
Transposición, 25, 26, 33, 34, 35, 39
Transposición por columnas, 35
Transposición por las, 35
Transposición por grupos, 33
Transposición por series, 34
Trithemius, 47, 48
U
UEFI, 20, 154
V
Veracrypt, 253, 254, 255, 256, 260
Vernam, 31, 32, 38, 39, 66
VoIP, 137, 138
W
WAVE, 132, 133, 135
Wet paper codes, 124, 126
William Friedman, 36
WOW, 127, 128
X
XML, 71, 167, 168, 170, 171, 236
Y
YASS, 99
Descargado en: eybooks.co m
Descargar