Вы находитесь на странице: 1из 17

ARBOR Ciencia, Pensamiento y Cultura

Vol. 190-768, julio-agosto 2014, a160 | ISSN-L: 0210-1963


doi: http://dx.doi.org/10.3989/arbor.2014.768n4014

VARIA / VARIA

ESTEGANOGRAFÍA LINGÜÍSTICA SPANISH LINGUISTIC


EN LENGUA ESPAÑOLA BASADA EN STEGANOGRAPHY BASED ON
MODELO N-GRAM Y LEY DE ZIPF N-GRAM MODEL AND ZIPF LAW

Alfonso Muñoz Muñoz


amunoz@diatel.upm.es
Universidad Politécnica de Madrid

Irina Argüelles Álvarez


irina@euitt.upm.es
Universidad Politécnica de Madrid

Cómo citar este artículo/Citation: Muñoz Muñoz, A. y Copyright: © 2014 CSIC. Este es un artículo de acceso abierto
Argüelles Álvarez, I. (2014). “Esteganografía lingüística en distribuido bajo los términos de la licencia Creative Commons
lengua española basada en modelo N-gram y ley de Zipf”. Attribution-Non Commercial (by-nc) Spain 3.0.
Arbor, 190 (768): a160. doi: http://dx.doi.org/10.3989/
arbor.2014.768n4014

Recibido: 8 diciembre 2012. Aceptado: 9 julio 2014.

RESUMEN: La esteganografía lingüística es una ciencia que se ABSTRACT: Linguistic Steganography is a science that utilises
aprovecha de la lingüística computacional para diseñar siste- computational linguistics to design systems that can be used
mas útiles en la protección y la privacidad de las comunicacio- to protect and ensure the privacy of digital communications
nes digitales y en el marcado digital de textos. En los últimos and for the digital marking of texts. Various proposed ways
años se han documentado múltiples formas de alcanzar este of achieving this goal have been documented in recent
objetivo. En este artículo se analiza la posibilidad de generar years. This paper analyses the possibility of generating
automáticamente textos en lenguaje natural en lengua es- natural language texts in Spanish that conceal information
pañola que oculten una información dada. Se proponen una automatically. A number of hypotheses are put forward and
serie de hipótesis y se experimenta mediante la implementa- tested using an algorithm. Experimental evidence suggests
ción de un algoritmo. Las pruebas realizadas indican que es that it is feasible to use N-gram models and specific features
factible utilizar modelos N-Gram y peculiaridades derivadas of the Zipf law to generate stegotexts with a good linguistic
de la ley de Zipf para generar estegotextos con una calidad quality where human readers could not differentiate the
lingüística tal que un lector humano podría no diferenciarlo stegotext from authentic texts. The stegotexts obtained allow
de otro texto auténtico. Los estegotextos obtenidos permiti- the concealment of at least 0.5 bits per word generated.
rán la ocultación de al menos 0,5 bits por palabra generada.

PALABRAS CLAVE: Esteganografía lingüística; generación KEYWORDS: Linguistic steganography; automatic generation
automática de estegotextos; N-Gram; algoritmo. of stegotexts; N-gram; algorithm.
1. ESTEGANOGRAFÍA LINGÜÍSTICA. LA OCULTACIÓN el formato de un texto (Bergmair, 2007). Con respecto
DE INFORMACIÓN EN LENGUAJE NATURAL a estas técnicas basadas en la modificación de textos
La esteganografía lingüística es una ciencia, varian- existentes y, al margen de otras cuestiones lingüísticas
a160
te de la esteganografía1, que se define como aquel y estadísticas, existe el problema de mantener en se-
conjunto de algoritmos robustos que permiten la creto o de destruir el texto original o portador en el cual
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

ocultación de información, típicamente binaria, utili- se realizarán las modificaciones y mediante el cual se
zando textos en lenguaje natural como tapadera, los creará el estegotexto resultante con la información en-
denominados estegotextos. Esta ciencia utiliza prin- mascarada. Es una cuestión importante debido a que
cipios de la ciencia de la esteganografía e incorpora si un potencial estego-analista pudiera realizar compa-
recursos y métodos de la lingüística computacional raciones entre el texto original y el estegotexto creado
como el análisis automático del contenido textual, la se le simplificaría la tarea de detección. Por estos moti-
generación automática de textos, el análisis morfosin- vos, el método alternativo basado en la generación au-
táctico, la lexicografía computacional, las descripcio- tomática de estegotextos centra aquí nuestro interés.
nes ontológicas, etc., para crear procedimientos pú- En primer lugar, el estegotexto generado, que depende
blicos no triviales según los principios de Kerckhoffs de la información que se va a ocultar, puede mejorar-
(Kerckhoffs, 1883). Es decir, la seguridad de estos se teniendo en cuenta todo tipo de consideraciones
algoritmos dependerá exclusivamente de una peque- lingüísticas y estadísticas en el proceso automático de
ña información secreta, una clave, compartida por el creación. Por otro lado, este método facilita la crea-
emisor y el receptor. El algoritmo de ocultación será ción de un estegotexto único por cada comunicación
público, es decir, conocido por todos, incluso por el enmascarada que se quiera realizar, lo que complica el
potencial analista, y los estegotextos resultantes de- trabajo de un potencial estegoanalista. Esta idea, que
berán ser resistentes a ataques estadísticos y lingüísti- podría sonar apasionante, en la práctica resulta de una
cos (coherencia, estructura gramatical, etc.) tanto por enorme complejidad, ya que, si bien es viable generar
software automatizado como por analistas humanos. textos con validez léxica y sintáctica, la semántica y la
coherencia global son a día de hoy temas sin una solu-
El interés en la última década en esta ciencia se ción clara para textos de una longitud media de cente-
debe a que puede dar solución a dos problemas co- nas de palabras y temática variada.
munes: la privacidad y el anonimato y el marcado digi-
tal de textos. Para ello se utilizan dos grandes familias Partiendo de las ventajas que ofrece un sistema
de algoritmos clasificados en técnicas de modificación frente a otro y conscientes de sus posibles limitacio-
de textos existentes y en técnicas de generación auto- nes, en este trabajo se analiza la posibilidad de generar
mática de estegotextos. estegotextos automáticamente en lengua española
utilizando modelos N-Gram y se proporciona un con-
Las primeras son las técnicas más tradicionales de cepto novedoso de edición manual de estegotextos a
ocultación de información que consisten en utilizar posteriori que facilita la producción de estegotextos
un texto existente y ocultar la información mediante de apariencia similar a aquellos escritos por humanos.
la modificación de elementos del mismo. En la última
década se han propuesto multitud de técnicas de este En lo que sigue, para facilitar la comprensión del
tipo (Bergmair, 2007), no exentas de problemas, para lector, la propuesta se estructura de la siguiente ma-
diversas lenguas: inglés, español, japonés, chino, ára- nera: En el apartado 2 se incluye una recopilación de
be, ruso, etc. Aunque estas técnicas se pueden utilizar las investigaciones más significativas sobre la genera-
para la protección y el anonimato de comunicaciones, ción automática de estegotextos; en el apartado 3 se
la comunidad científica tiene más interés en su aplica- enumeran nuestras hipótesis y se describe la experi-
ción para el marcado digital de textos, Natural Langua- mentación con el algoritmo propuesto; finalmente,
ge Watermarking (NLW). Entre las múltiples variantes en el apartado 4 se sintetizan las conclusiones de la
de estas técnicas encontramos algoritmos basados en investigación realizada y se proponen líneas para po-
modificaciones léxicas (Chapman y Davida, 1997), mo- sibles trabajos futuros.
dificaciones sintáctico-semánticas (Muñoz, Argüelles
y Carracedo, 2009; Muñoz y Argüelles, 2012), oculta- 2. GENERACIÓN AUTOMÁTICA DE ESTEGOTEXTOS:
ción basada en la traducción entre lenguas (Grothoff ESTADO DE LA CUESTIÓN
et al., 2005; Meng et al., 2010), ocultación basada en Los algoritmos de generación automática de tex-
errores ortográficos y tipográficos (Topkara, Topkara tos deben considerar la calidad léxica, sintáctica y
y Atalla, 2007) u ocultación basada en la estructura y semántica, así como la cohesión y la coherencia del

2
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
estegotexto resultante. Para aproximarse a este pro- 2. Elegir una de ellas aleatoriamente que actuará
blema, desde finales del siglo XX se han propuesto dos de semilla inicial. Esto generará las primeras n
grandes líneas de generación, que se pueden aplicar letras de T (el estegotexto).
a160
conjuntamente: unas basadas en imitación gramatical
3. Repetir esta acción hasta que se genere todo el
y otras basadas en imitación estadística de un texto
texto deseado.

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


“típico” en una lengua concreta.
a. Coger las n-1 letras siguientes de T.
a) Modelado estadístico del lenguaje natural e imi-
tación estadística de textos de entrenamiento b. Buscar en la tabla estadística creada todas
las combinaciones de letras que comienzan
Para la generación de textos en lenguaje natural se
con esas n-1 letras.
parte de la idea de que las palabras y las expresiones
presentes en una lengua siguen patrones concretos. c. La última letra de esas combinaciones for-
Un modelado estadístico del lenguaje natural permiti- ma el conjunto de posibles elecciones para la
ría cuantificar diferentes aspectos sobre textos en una siguiente letra que será añadida a T.
lengua concreta que tendría utilidad para la creación
d. Elegir entre esas letras y usar la frecuencia
de textos con validez lingüística que no sólo no levan-
de sus ocurrencias en S para “evaluar” cuál es
ten las sospechas de un software automatizado (una
la mejor elección.
máquina) sino tampoco de un lector humano. En ge-
neral, puede ser muy complejo realizar un modelado e. Añadirla a T.
estadístico preciso sobre una lengua. Por ello, en deter- Según este algoritmo, un primer orden de imitado
minados entornos, como pueda ser la esteganografía, genera caracteres aleatorios de acuerdo a su distri-
modelados estadísticos más sencillos serían, en prin- bución estadística. En un segundo orden se imita la
cipio, prácticos para propuestas reales. Por ejemplo, distribución de parejas de caracteres de los textos S
analizar la estadística de unos textos de entrenamiento de entrenamiento, y así sucesivamente para mayor
que se toman como referencia. Si el modelo estadístico orden. Se supone, por la información publicada (Way-
estuviera basado en textos de entrenamiento, los este- ner, 1992), que en su aplicación a la lengua inglesa,
gotextos generados basados en ellos reproducirían de dependiendo del texto y del orden en textos de al
una manera u otra su estructura. De hecho, esta idea menos decenas de KB y orden mayor que 6, pueden
es recurrente en algunas de las propuestas conceptual- obtenerse estegotextos con validez léxica y sintáctica
mente más interesantes de generación automática de e incluso, algunos, aunque no exento de errores, con
estegotextos basada en imitación estadística. apariencia semántica-estructural.
Un ejemplo significativo es la propuesta de Peter El proceso de ocultación de información se realiza
Wayner en 1992 (Wayner, 1992) analizada en su apli- mediante la selección de las opciones de la próxima
cación a la lengua inglesa. La propuesta de Wayner se letra a mostrar. Wayner justificó cómo esto se podría
centra en la generación automática de estegotextos hacer, entre otras opciones, utilizando un árbol de
basada en la imitación estadística de uno o más textos Huffman. El algoritmo esteganográfico, basándose
fuente (S). La idea conceptual es sencilla: Cójase una en las frecuencias de aparición de la próxima letra a
función de imitado f que modifique un fichero A de mostrar, crea un árbol Huffman con ellas, asignándo-
forma que asuma las propiedades estadísticas de otro les un código binario a cada una, este código es el co-
fichero B. Es decir, si p(t,A) es la probabilidad de que rrespondiente a la información binaria necesaria para
una cadena t suceda en A, entonces una función de alcanzar el nodo en el cual está presente la letra en el
imitado f, hace que la p(t,f(A)) sea aproximadamen- árbol Huffman. La ocultación de información consisti-
te p(t,B) para toda cadena t de tamaño menor que n. ría en ir eligiendo nodos del árbol, cuyo código–rama
La complejidad del modelo estadístico de imitado, el coincidan con la información a ocultar. Si la selección
análisis de frecuencia, depende, precisamente del or- de las ramas de este árbol, que imita la estadística de
den estadístico n que es el orden de complejidad del la fuente, es aleatoria, el texto resultante imitará o se
algoritmo. Según esta idea, Wayner definió el siguien- aproximará mejor a la distribución estadística del tex-
te algoritmo de imitado: to fuente. Si imita la estadística es razonable que imite
1. Construir una tabla con todas las diferentes com- la sintaxis y gramática del texto de entrenamiento.
binaciones de n letras que ocurran en S y conta- Conceptualmente no se han propuesto alternativas
bilizar el número de veces que ocurren en S. al sistema de Wayner. Quizás una posible variante esté

3
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
basada en cadenas de Markov. Una cadena de Markov gas en 2009 (Meng et al., 2009), la elección de los can-
puede describirse como un modelo estocástico en el didatos que suceden a una palabra o expresión deben
cual la probabilidad de que suceda un evento depende considerar su estadística de aparición y no ser elegi-
a160
exclusivamente del evento anterior. Esto tiene aplica- dos como si se produjesen con la misma probabilidad
ción en esteganografía lingüística y estegoanálisis. En porque, en este caso, los ataques estegoanalíticos se
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

2003, Shu-feng investigaría sobre (Shu-feng y Huang, simplifican notablemente. Aunque, por desgracia, el
2003) la posibilidad de generar estegotextos median- estudio no se realizó con profundidad, en 2009, Dai
te una señal procedente de una fuente de señales ba- et al. introdujeron la novedad de generación de este-
sadas en un modelo de Markov. En esta propuesta la gotextos utilizando cadenas de Markov pero esta vez
sucesión entre elementos, y por tanto los elementos a considerando en todo momento la probabilidad de
elegir, se seleccionan con la misma probabilidad. Pero las palabras a seleccionar en función de las palabras
esta investigación no es especialmente útil para nues- antecesoras y de las que se encontraban en su mismo
tros fines, ya que como concluyeron Meng y sus cole- “nivel/estado” del proceso.

Figura 1. Cadena de Markov con probabilidades entre palabras

b) Modelado gramatical del lenguaje natural y naciones de palabras y en este sentido, la gramática
gramáticas libres de contexto se convertía en un sistema combinatorio discreto que
permite construir infinitas frases a partir de un núme-
Los textos en lenguaje natural pueden verse como
ro finito de elementos mediante reglas diversas que
un conjunto de léxico (palabras) que mediante uniones
pueden formalizarse mediante una gramática formal
(reglas gramaticales) permiten construir fragmentos
gobernada por normas de transformación. Según esta
con significado (semántica) cuya unión (coherencia)
teoría de lenguaje formal una CFG (Context-Free Gram-
aporta un valor concreto al lector. Dado que de una for-
mar) se define como una gramática en la que cada re-
ma simplista un texto puede verse como un conjunto
gla de producción es de la forma v::=w, donde v es una
de oraciones unidas, tiene sentido analizar la posibili-
variable y w es una cadena de símbolos terminales y
dad de imitar la estructura gramatical de una lengua
no terminales. Se entiende por terminal la información
concreta y analizar si en esa imitación para generar un
última de cada regla, por ejemplo, una palabra deter-
texto válido es posible ocultar información. Una exce-
minada. Por tanto, en general, una CFG se compondrá
lente manera de realizar esto es mediante el uso de
de terminales, variables y producciones. Las CFGs han
gramáticas libres de contexto. Para comprender su uso
jugado un papel nuclear en el diseño de lenguajes de
es necesario remontarse a los años 60 del siglo XX. En
programación y compiladores, así como en el análisis
la década de los 60 el excepcional lingüista A. Noam
de la sintaxis del lenguaje natural.
Chomsky postuló la gramática generativa (1965). Esta
gramática se definió como el conjunto de reglas innatas En la década de los 90, Peter Wayner vinculó la po-
que permite traducir combinaciones de ideas a combi- sibilidad de utilizar las construcciones CFGs (Wayner,

4
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
1995) en la generación de estegotextos de forma auto- El investigador centró sus estudios en su aplicación a
mática. Esta idea facilitaría la creación de estegotextos la lengua inglesa. A continuación, para facilitar su com-
que, al menos, tendrían validez gramatical-sintáctica. presión se añade un ejemplo en lengua española:
a160

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


Figura 2. Ejemplo de Probabilistic CFG en lengua española en formato BNG. Ocultación máxima de 8 bits.

La ocultación de información se realiza mediante sados en CFGs, por ejemplo, las palabras (términos)
la selección de elementos concretos dentro de una en una CFG se relacionan con sus vecinos en formas
regla específica, regla que es elegida mediante algún fijas. Aunque se añadan modelos estadísticos a las
algoritmo de selección concreto. En el ejemplo an- gramáticas como son las Probabilistic Context Free
terior, una posible oración extraída (selección de la Grammars, PCFG, para dificultar ataques de análisis,
regla AB) de las reglas definidas podría ser: “Buenos siempre existirán correlaciones mutuas si se quie-
días, estimado compañero Tomás, dame tu número re que el texto sea coherente para un humano. Por
de teléfono para charlar. Un saludo” la cual ocultaría último, deben considerarse los ataques basados en
8 bits (1+2+1+2+1+1). estudio de terminales, información última de cada
Wayner desarrolló varios ejemplos interesantes regla, ya que aunque las variaciones de los textos
aplicando estas ideas: spammimic (ocultación en un creados puedan crecer sustancialmente con el tama-
mensaje con estructura de correo de spam), baseball ño de una gramática dada, el número de terminales
game, etc. Aunque Wayner se esforzó en formalizar está limitado por el tamaño de la gramática, lo cual
la construcción de CFGs seguras con utilidad estega- significa que forzosamente, si el texto es lo suficien-
nográfica (Wayner 1995), es cierto que su utilidad temente grande, se tienen que producir, y por tanto
esteganográfica debe ser muy matizada. El primer repetir, combinaciones lineales de terminales.
problema es que la gramática debe permanecer pri- En la práctica, resulta realmente complejo utilizar
vada, emisor y receptor la tienen que conocer, ya CFGs en herramientas públicas de manera robusta
que si no es así un atacante podría inferir fácilmen- en la concepción actual. Un intento relevante de los
te la información oculta. Este problema es mayor si pocos destacables, fue el sistema NICETEXT, del que
la gramática es estática-manual. El segundo proble- se pueden extraer ideas para nuevos diseños.
ma es que si esta gramática fuera conocida por el
En 1997, Chapman y Davida en diversas investiga-
atacante forzaría al emisor y al receptor a un nuevo
ciones (Chapman y Davida, 1997; Chapman, Davida y
proceso tedioso (manual) y costoso de generación
Rennhard, 2001) desarrollaron un sistema software,
de una nueva gramática. El tercer problema es que
NICETEXT, que permite generar modelos gramatica-
la calidad del estegotexto depende claramente de la
les basados en la posibilidad de imitar la gramática
gramática y si esta tiene pocas reglas es más que pro-
de uno o varios textos de entrenamiento. Estas re-
bable la repetición de frases y términos en el este-
glas gramaticales, a modo de elementos etiquetados
gotexto, facilitando a los estegoanalistas su trabajo.
de una oración, permiten la generación de frases del
Además, aunque la gramática sea generada automá-
estegotexto resultante.
ticamente de uno o más textos de referencia, conoci-
dos por emisor y receptor, deben considerarse otros NICETEXT permite la generación dinámica de las
análisis al generar algoritmos esteganográficos ba- reglas gramaticales basada en la imitación gramati-

5
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
cal de textos de entrenamiento, es decir, habilita los léxicos, etiquetadores, etc. Al fin y al cabo, si la imi-
procedimientos necesarios para identificar reglas tación estadística es la adecuada, se debería imitar la
sintácticas y mediante un etiquetador PoS (Part of estructura gramatical de la lengua o textos de entre-
a160
Speech), pckimmo, permite definir qué tipo de pala- namiento seleccionados.
bra (categoría lingüística) forma cada elemento de
En el siguiente apartado se proponen una serie de
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

la regla sintáctica generada (verbo, nombre, adje-


hipótesis acerca de la posibilidad de utilizar mode-
tivo, etc.). La novedad de esta herramienta reside
los N-Gram para generar automáticamente estego-
en la forma de ocultación y en la recuperación de
textos en lengua española. Seguidamente, se llevan
la información ocultada, ya que el receptor no ne-
a cabo diversas medidas para corroborar las afirma-
cesita conocer la gramática utilizada por el emisor.
ciones realizadas.
La herramienta está basada en la sustitución de los
elementos etiquetados en cada regla por palabras
3.1. Hipótesis lingüísticas, estadísticas y definición
categorizadas por contenido semántico. Este es-
del algoritmo
quema tiene dos ventajas importantes: La primera,
dado que la información se oculta independiente- Nuestra investigación se centra en la posibilidad
mente de la gramática, el emisor, en el peor de los de adaptar el algoritmo de Wayner para la imitación
casos, podría utilizar una gramática única por co- estadística de la relación entre palabras en un texto
municación y de la riqueza que desee; la segunda, de entrenamiento dado. Como adelantábamos, la
que la ocultación de información se realiza median- propuesta de Wayner hacía hincapié en la posibilidad
te la selección de una palabra dentro de una cate- de imitar estadísticamente la aparición de caracteres
goría de un diccionario categorizado, este dicciona- en un texto en lengua inglesa. Esta imitación, consi-
rio es compartido por el emisor y el receptor y debe derando secuencias de 6 o más caracteres consecuti-
permanecer secreto. vos, permitía generar estegotextos con validez léxica
y sintáctica, e incluso, en ocasiones, con apariencia
Adicionalmente a las características mencionadas,
de texto con coherencia global. Esta propuesta, no
es importante añadir que NICETEXT todavía produce
exenta de pequeños fallos, producía, debido a su di-
estegotextos con defectos derivados de sustituciones
seño, errores léxicos. Las palabras se troceaban en un
no válidas en contexto y anomalías entre el estilo de
número determinado de caracteres y era posible, por
escritura seleccionado y el vocabulario empleado. No
ejemplo, al seleccionar el primer conjunto de letras
obstante, pocas innovaciones se han dado en esta línea
de la tabla raíz que al juntarse no produjeran palabras
de investigación desde las ventajas conceptuales apor-
válidas. Ante esta situación se plantean las siguientes
tadas por NICETEXT, aunque es cierto que se han publi-
hipótesis:
cado otras propuestas basadas en gramáticas libres de
contexto, como por ejemplo la herramienta TEXTO que Hipótesis 1. Parece más lógico imitar textos de en-
transforma información a sentencias en inglés (disponi- trenamiento a nivel de palabra en lugar de a nivel de
ble en ftp://ftp.funet.fi/pub/crypt/steganography), las carácter. Así, se propone que la palabra sea la unidad
herramientas C2txt2c (Zuxu et al., 2007) y Csteg (Blasco mínima en la que se divida un texto a imitar, y de este
et al., 2008) que ocultan código fuente de lenguajes de modo se eviten de raíz las inconsistencias léxicas.
programación en oraciones en lenguaje natural o el sis-
Hipótesis 2. Un modelo estadístico N-Gram permiti-
tema Lunabel (Chand y Orgun, 2006).
ría generar automáticamente estegotextos de calidad;
un modelo estadístico N-gram que permita contabili-
3. PROPUESTA DE ALGORITMO DE GENERACIÓN AU- zar las ocurrencias y la posición de posibles palabras
TOMÁTICA DE ESTEGOTEXTOS BASADO EN MODELO
en una secuencia de n palabras consecutivas.
N-GRAM Y LEY DE ZIPF
Dado uno o más textos de entrenamiento, sería po-
El estudio de las propuestas publicadas de gene-
sible anotar las ocurrencias de las palabras presentes
ración automática de estegotextos hace que centre-
en los mismos y contabilizar la repetición de cada una,
mos nuestro interés en la posibilidad de generación
es decir, anotar qué palabras van detrás de qué otra
basada en imitación estadística. El principal motivo
y con qué probabilidad. Un algoritmo de generación
reside en evitar posibles restricciones o limitaciones
automática de estegotextos podría aprovecharse de
del uso de todos los recursos necesarios para llevar
esa información para imitar la estructura de un tex-
a la práctica una generación basada en imitación
to en lenguaje natural seleccionando palabras. De
gramatical: analizadores morfosintácticos, recursos
hecho, si la selección de las palabras fuera aleatoria

6
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
sería más probable que las palabras más probables se Basado en lo anterior, el algoritmo de generación de
seleccionaran y menos el resto, es decir, se imitaría la estegotextos funcionaría, en general, de la siguiente
estadística de la fuente de entrenamiento. Si se imi- manera:
a160
ta la estadística de la fuente, es más probable que el
a) Se selecciona una “palabra” aleatoriamente de
estegotexto resultante, que está basado en textos de
la tabla raíz, aunque podría considerarse otro

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


entrenamiento con validez léxica y sintáctica, tenga a
criterio con fines sintácticos, como por ejemplo
su vez validez léxica y sintáctica. La ocultación de in-
hacer que el estegotexto empezase por un artí-
formación se realizaría mediante la selección concreta
culo o por mayúscula. Esta selección desenca-
de unas palabras u otras. Los textos resultantes de-
denará el resto del estegotexto resultante, por
berían tener la suficiente calidad lingüística para no
lo que para un mismo texto de entrenamiento
ser detectados por un software automatizado y en la
es posible obtener diferentes estegotextos se-
medida de lo posible tampoco por lectores humanos.
leccionando diferentes palabras de la tabla raíz.
Hipótesis 3. De la experiencia probando el algorit-
b) Si esta palabra no tiene sucesores, es decir, no
mo de Wayner se consideran los signos de puntuación
como palabras individuales: . , ; : ¡ ? , ) ] ¡ ¿ ( [. La jus- apunta a otro nodo, se elije otro término de la
tificación de que esto sea así se debe principalmente tabla raíz (paso a). Si el nodo sucesor solo tiene
a dos razones: la primera, está relacionada con la po- una palabra, esta palabra se añade al estego-
sibilidad de utilizar técnicas correctoras en el texto re- texto, lo que significa que no es posible ocultar
sultante (esto se verá en próximos apartados) y con el información en este paso, y se elige el siguiente
tamaño del estegotexto final. La segunda, si se separa nodo disponible. Si el nodo sucesor tiene va-
una palabra de un signo de puntuación determinado rias palabras posibles entre las que elegir esta
será más probable que existan más palabras que le selección permitirá ocultar información. Para
sucedan que si esto no se hubiese hecho: a más suce- intentar que la imitación estadística sea lo más
sores será posible ocultar más información generando adecuada posible, lo que afecta a la calidad lin-
menos palabras. Por ejemplo, es más probable que la güística del estegotexto, se decide que con las
palabra “mi” tenga varias sucesoras que la palabra palabras de cada nodo y las frecuencias con las
“¿mi”. Estas dos mejoras facilitarán obtener estego- que aparecen (después de la palabra del nodo
textos con mayor validez léxica y sintáctica. El imitado anterior) se construya un árbol de Huffman. La
a nivel de palabra facilitará a su vez el uso de técnicas palabra seleccionada será aquella cuyo código
correctoras, como se verá posteriormente, mediante binario (información binaria para acceder a ella
la edición manual, para generar estegotextos de una a través de las ramas del árbol) coincida con la
elevada calidad lingüística. información binaria que se quiere ocultar.
Considerando estas hipótesis se formula la imple- c) Si se llega al último nodo (si el orden n=8 se-
mentación del siguiente algoritmo: rían 8 palabras consecutivas) se elige la última
1. El proceso de generación se basa en el análi- palabra seleccionada para el estegotexto y se
sis de bloques de n palabras, extraídas de uno vuelve al paso b). Este proceso se repite hasta
o más textos de entrenamiento, mediante una que se genere el estegotexto que oculta la in-
ventana deslizante que se desplaza una posi- formación deseada.
ción para cada nuevo bloque. Es decir, el primer d) El receptor necesita construir la tabla de fre-
bloque tendrá las palabras de 0 a n-1, el segun- cuencias del texto de entrenamiento selec-
do bloque de 1 a n, y así sucesivamente. cionado e invertir el proceso para conocer los
2. N define el orden de complejidad del algoritmo bits que ocultan cada palabra del estegotexto
(N-gram), lo que significa el número de palabras recibido.
a considerar consecutivamente. Por ejemplo, el algoritmo principal podría elegir de
3. Las palabras se relacionan mediante nodos la tabla raíz la palabra “La” seguidamente la palabra
enlazados en los que se contabiliza el número “habitación” y finalmente, el orden n-ésimo, la pala-
de veces que se han repetido en el texto de en- bra “Juan”. De esta forma se construiría el estegotexto
trenamiento. Según esto, existirá una tabla raíz con la información a ocultar. El receptor reconstruiría
que almacenará todas las “palabras diferentes” la tabla de frecuencias utilizando los textos de entre-
que existan en el texto fuente. namiento y recuperaría la información enmascarada.

7
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Figura 3. Ejemplo de implementación del algoritmo propuesto en Stelin

a160
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

3.2. Medidas y experimentación imitación es adecuada los estegotextos resultantes


imitarán de mejor manera la estructura gramatical de
Con el objetivo de cuantificar la calidad de la pro-
los textos de entrenamiento. Analizando diferentes
puesta algorítmica de generación automática de es-
fuentes/textos de entrenamiento puede cuantificarse
tegotextos basada en modelo N-Gram se implementa
como es cierta esta aproximación estadística. Al me-
este algoritmo en lenguaje JAVA y se realizan una serie
nos lo es comparando la estadística de caracteres y de
de medidas, estudiando propiedades estadísticas, el
palabras en fuentes de entrenamiento y estegotextos
tamaño y la calidad del estegotexto resultante.
generados para órdenes n mayores de 7.
En primer lugar es interesante comprobar si un
A continuación, por brevedad, se adjuntan algunos
modelo N-Gram imita, se aproxima, correctamente
ejemplos de estas medidas, véase Figura 4, 5 y 6.
a la estadística de textos de entrenamiento. Si esta

Figura 4. Ejemplo de comparación de la distribución de frecuencias de caracteres de una fuente de texto de en-
trenamiento (los 13 primeros capítulos del Quijote con un total de 29.805 Palabras) y un estegotexto generado de
ocultar 256 octetos (2048 bits) de información oculta a partir de dicha fuente (como nivel de atomicidad la palabra)

8
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Figura 5. Comparación de frecuencias de las palabras más probables en un estegotexto que oculta 16 octetos (128
bits) mediante un orden 10. Texto Fuente: RIMAS (42 KB) de Gustavo Adolfo Bécquer. Factor expansión 1:144
a160

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


Figura 6. Ejemplo de comparación de frecuencias de las palabras más probables en un estegotexto que oculta 256
(2048 bits) octetos mediante un orden 10. Texto Fuente: RIMAS (42 KB) de Gustavo Adolfo Bécquer. Factor expan-
sión 1:166. Tamaño de estegotexto generado comparable al tamaño de la fuente

El algoritmo desarrollado produce estegotextos más fácil que existan varias palabras sucesoras en
cuyo tamaño depende del orden n y de los textos el texto de entrenamiento que si el orden es ma-
de entrenamiento (factor de expansión). Cuan- yor. Esto es fácil de entender con un ejemplo: es
to mayor sea el número de palabras presentes en más fácil encontrar varias palabras que sucedan a
un texto de entrenamiento más probable será que “la casa”, por ejemplo “la casa es”, “la casa blanca”,
existan múltiples alternativas de palabras a conti- “la casa está”, etc., que palabras que sucedan a “yo
nuación de otra dada, por tanto, habrá más opcio- vivo en la calle Carretas situada en”. Un orden pe-
nes entre las que elegir y se conseguirá ocultar más queño generará estegotextos más pequeños pero
información por palabra generada, lo cual reducirá de peor calidad lingüística, mientras que un orden
el tamaño final del estegotexto resultante. Por otro grande generará estegotextos más grandes pero de
lado, el orden de imitado también afectará direc- mejor calidad. Por tanto, la elección del orden es
tamente al tamaño final. Si el orden es pequeño, una cuestión arbitraria que debe considerar el emi-
por ejemplo n=3 (tres palabras consecutivas), es sor en función del texto de entrenamiento.

9
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
En la práctica, las pruebas realizadas indican, que en - La probabilidad de las palabras en el texto de
general un orden entre 7 y 9 proporciona unos resul- referencia. Cuanto mayor sea el número de
tados léxicos y sintácticos que no son mejorados con palabras con probabilidad de ocurrencia alta
a160
un orden superior. En la medida de lo posible, debe en un lenguaje dado existirá un mayor nú-
evitarse el uso de órdenes mayores de 9 ya que pro- mero de palabras a continuación de las mis-
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

vocaría un estegotexto de mayor tamaño. El impacto mas y por tanto se podrá ocultar más canti-
final de los elementos en juego (orden n, texto de en- dad de información reduciendo el factor de
trenamiento e información a ocultar) influirán en el expansión (al que le afecta en gran medida
factor de expansión. Se conoce como factor de expan- las palabras seleccionadas que no ocultan
sión a la relación: información).
Una vez observados aspectos estadísticos y de
tamaño derivados de la aplicación de un modelo N-
Gram en la generación de estegotextos es el momen-
to de analizar la calidad de los textos generados.
En la Figura 7 y a modo aclaratorio se puede obser- A continuación se presentan varios ejemplos de
var el crecimiento cuasi-lineal que experimenta el ta- estegotextos generados para diferentes órdenes y
maño del estegotexto resultante para diferentes órde- textos de entrenamiento, con el objetivo de apreciar
nes y diferentes volúmenes de información a ocultar algunas de las afirmaciones vertidas en los párra-
para un texto de referencia de concreto. Por ejemplo, fos anteriores (Figura 8 y Figura 9). Los estegotex-
si se desea ocultar 32 bytes (256 bits) con un orden tos que se muestran a continuación poseen diver-
n=9 el factor de expansión será de 95, es decir, el re- sas imperfecciones que levantarían la sospecha de
sultado final será 32*95 = 3040 bytes (1:95). un lector humano aunque estadísticamente fueran
“parecidos” a un texto escrito por un humano. Estos
Por tanto, en la cuantificación de que texto de refe-
ejemplos se muestran sin aplicar ningún tipo de pro-
rencia será mejor para reducir el factor de expansión
cedimiento de mejora a los mismos para observar
debe considerarse:
ejemplos “en bruto” del resultado de un algoritmo
- El orden de entrenamiento. A menor orden me- de imitado N-gram. Como se puede observar, las in-
nor factor de expansión por la explicación refle- consistencias son más detectables cuando el estego-
jada en párrafos anteriores. texto es de mayor longitud.

Figura 7. Relación orden de complejidad y factor de expansión (mensaje a ocultar-estegotexto creado) para diferen-
tes mensajes a ocultar de pequeño tamaño. Texto original: versión digital de Poesías Completas (290KB) de Antonio
Machado (51.531 palabras)

10
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Figura 8. Ejemplo de estegotexto generado automáticamente en lengua española. Ocultación 132 bits. Texto fuente
versión digital de “100 años de Soledad” de Gabriel García Márquez. 0,9230 bits/palabra estegotexto. Tamaño fuen-
te: 809KB texto plano, 137.649 palabras. Orden de complejidad 9. Expansión 1:43
a160

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


Figura 9. Ejemplo de estegotexto generado automáticamente en lengua española. Ocultación 132 bits. Texto fuen-
te versión digital de “Poesías Completas” de Antonio Machado. 0,7292 bits/palabra estegotexto. Tamaño fuente:
290KB texto plano, 51.461 palabras. Orden de complejidad 9. Expansión 1:45

En los ejemplos anteriores, en los que, de momen- para su uso esteganográfico. En principio, diferen-
to, ignoramos inconsistencias y problemas de cohe- tes tipos de textos podrían ser considerados como
sión y coherencia global, puede observarse que los fuente para ocultar información: poemas, novelas,
estegotextos generados no finalizan necesariamen- artículos periodísticos, código de programación, etc.
te con una estructura puramente sintáctica. Esto no Desde un punto de vista lingüístico, y al trabajar con
es un problema excesivo ya que se pueden finalizar secuencias de n palabras consecutivas, sería intere-
manualmente o mediante algún procedimiento auto- sante filtrar zonas del texto que pudieran afectar cla-
mático. El algoritmo puede insertar en la información ramente a la coherencia del estegotexto resultante
ocultada un marcador de fin de forma que no impli- como resultado de concatenar diversas secuencias
que problemas de desincronización en el receptor al de palabras. Por ejemplo, descartar índices, títulos,
recuperar la información. El receptor sabe hasta qué numeraciones ( a), b), c), I, II, III ), fechas, referencias,
palabra el estegotexto contiene información útil y etc. En la práctica los textos de entrenamiento re-
después de cuál es simplemente relleno. comendados, según las investigaciones actuales, se-
La calidad del texto de entrenamiento, como lo es rían libros y novelas (narrativa) con decenas de miles
también el orden de complejidad, es vital en la gene- de palabras. También una obra de poesía podría ser
ración de los estegotextos. Entendemos por calidad una buena candidata como fuente de entrenamien-
no sólo el tamaño del mismo, sino también su va- to ya que, en general, la coherencia entre las frases
lidez léxica, sintáctica, su género literario, su estilo, en este tipo de textos puede entenderse como más
etc. Ante este condicionante una pregunta intere- flexible que en otros tipos de textos de entrenamien-
sante a resolver sería qué texto de entrenamiento, to. De hecho, es frecuente en este tipo de textos que
si es que hay alguna preferencia, es más adecuado frases adyacentes hablen de cosas muy diferentes.

11
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Como se justificó en apartados anteriores, el algo- existentes o generados, es conseguir que el estego-
ritmo permite la creación de diferentes estegotextos texto resultante presente cohesión y coherencia glo-
para una misma información a ocultar, texto de entre- bal, es decir, que no sea una secuencia de frases “más
a160 namiento y orden n. Esto depende de la primera pa- o menos ordenadas”.
labra seleccionada en la tabla raíz. Será posible crear
tantos estegotextos diferentes como palabras diferen- El algoritmo de generación automática basado en
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

tes existan en el texto de entrenamiento y muchos de un modelo N-Gram produce todavía pequeños erro-
estos estegotextos tendrán similitudes. res gramaticales, por ejemplo, signos de puntuación
que se abren y no se cierran, así como posibles pro-
Mediante el software implementado es posible
blemas de coherencia global cuando el estegotexto
generar todos los estegotextos posibles, es decir, ge-
nerar cada uno de los estegotextos para cada una de crece en tamaño, por ejemplo, que se repitan expre-
las palabras de la tabla raíz. Esta opción facilitará al siones. Teóricamente es difícil razonar, con los cono-
emisor elegir el estegotexto más adecuado, más bits cimientos actuales, que un algoritmo pueda generar
ocultos por palabra (estegotextos más pequeños) o estegotextos de muy alta precisión para contextos va-
aquellos con mejor aceptabilidad lingüística. Esta op- riados, ya que esto sería como haber encontrado una
ción es muy interesante si se utiliza un texto de entre- solución a un problema parecido al formulado en el
namiento diferente por cada comunicación y se desea test de Turing2. No obstante, mientras se consiguen
elegir el “mejor” estegotexto posible. mejoras parciales puede introducirse un nuevo con-
A continuación, se adjunta un ejemplo de algunos cepto que afectará en gran medida a la calidad final
de los posibles estegotextos para la ocultación de una del estegotexto resultante: el maquillaje manual del
pequeña información de 72 bits, que contiene la di- estegotexto a posteriori.
rección IP 81.10.49.51 representando cada carácter a
ocultar con 6 bits y después 6 bits de código de fin, Dado que resulta muy complejo dar con un algorit-
utilizando para ello como fuente de entrenamiento la mo genérico que genere automáticamente estegotex-
versión digital de “Guerra y Paz” de León Tolstoi, cuyo tos con una validez lingüística alta, esto es más crítico
tamaño en texto plano es 396KB con 69.344 palabras. para estegotextos más grandes, el problema se pue-
En los siguientes ejemplos se ha utilizado un orden de enfocar de otra manera. Si no es posible generar
n=7, generando 9.291 estegotextos diferentes. estegotextos perfectos, a lo mejor sí es posible mo-
-_STEGOTEXT_-153 dificarlos una vez creados “maquillando” los errores
derivados de la generación automática. Si se profun-
nueva ciencia - la estrategia -, pero el príncipe diza en esta idea, existe el problema fundamental de
Bagration no le miró con gozo, inclinando la mano, sincronizar las “palabras” donde el emisor oculta la
cosa que todavía no le ha llamado ni una sola en el
información con las “palabras” que espera el receptor
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 armis- para recuperar el mensaje oculto, es decir, introducir
ticio. Bagration contestó. - ¿No quieres...? - preguntó. cambios en el estegotexto generado implicaría que el
- A la habitación de receptor debería conocerlos, lo cual no es muy prácti-
co porque implicaría el envío de los mismos para evi-
-_STEGOTEXT_-160 tar la desincronización.
había hecho un esfuerzo extraordinario para decir
Pensemos en la estructura en forma de árbol utiliza-
que no respondería de sí misma frase -. No se pueden
da por el algoritmo para ocultar una información. Una
vivir sin guerras. ¿Por la noche, cuando, después de la
información se oculta mediante la selección de una
ausencia, a las piernas. Sus mejillas se contraían vio-
lentamente, y cuando se encogió de hombros y abrió palabra entre las disponibles en el siguiente nivel. Es
los brazos separados del cuerpo, presentaba su ma- decir, si se selecciona la palabra “La” la siguiente pa-
rido con el mismo tono de la Princesa, como si ésta labra podría ser “habitación” (bit 0), “había” (bit 10) o
se fue a dormir a casa del conde Bezukhov. III En el “limpió” (bit 11) en función de los bits a ocultar, véase
momento Figura 10. El receptor al recibir el estegotexto cons-
truiría la tabla de frecuencias al igual que el emisor e
3.3. Calidad de los estegotextos generados, maquillaje iría relacionando palabra por palabra el estegotexto
manual y la ley de Zipf recibido con la tabla generada, de esta forma, el re-
ceptor al recibir “La habitación”, “La había” o “La lim-
El mayor problema en la ocultación de información pió” sabría que se ha ocultado un bit (0) o dos (10-11).
mediante esteganografía lingüística, ya sea en textos

12
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Figura 10. Ejemplo de codificación de palabras y árbol Huffman

a160

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


En este proceso de recuperación y de sincroniza- emisor sin que ello afecte al receptor. La única condi-
ción podría actuarse de varias formas: Una consistiría ción es que el emisor puede utilizar cualquier palabra
en que la herramienta diera error si después de una que no se encuentre en el nivel posterior para que el
palabra del “supuesto” estegotexto se encuentra otra receptor no pierda la sincronía. Es decir, en el ejemplo
palabra que no coincide con ninguna de las espera- anterior entre las palabras que forman las parejas “La
das. Si el atacante tuviera información de las tablas habitación”, “La había”, “La limpió”, podría utilizarse
de frecuencia esto le simplificaría descartar mensajes cualquier palabra, una o más, que no fuera “habita-
sin información oculta; otra variante consistiría en ción, había o limpió”. De esta forma el emisor puede
despreciar todas las palabras que se lean hasta que corregir posibles errores gramaticales y mejorar la co-
se encuentre una de las palabras posibles para el nivel herencia del texto sin necesidad que el receptor co-
de la tabla (lista enlazada) donde nos encontremos. nozca esta información.
Realmente lo importante es que el receptor no pierda
Por ejemplo, si ocultamos una pequeña información
la sincronización respecto a la tabla de frecuencias y al
de 126 bits, usando un orden 9 y fuente de entrena-
estegotexto recibido.
miento las poesías completas de Antonio Machado ob-
Este detalle, permite mejorar a posteriori, en prin- tendríamos entre los estegotextos posibles uno como
cipio manualmente, estegotextos generados por el el siguiente (se adjunta sólo un fragmento, Figura 11):

Figura 11. Estegotexto que oculta 126 bits. Texto fuente versión digital de “Poesías Completas” de Antonio Macha-
do. 0,7636 bits/palabra estegotexto. Tamaño fuente: 290KB texto plano, 51.461 palabras. Orden de complejidad 9.
Expansión 1:48

13
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
Supongamos por un momento que queremos corre- signos de puntuación o mayúsculas (Figura 12).
gir una serie de pequeños errores, como, por ejemplo,
a160

Figura 12. Algunos de los errores gramaticales presentes en el estegotexto de la Figura 11


Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

Para solucionar estos problemas, el algoritmo im- Por suerte, en los textos en lenguaje natural en es-
plementado genera una plantilla con las palabras po- pañol, y en otras lenguas, las palabras tienen co-ocu-
sibles en cada nivel, de forma que el emisor pueda rrencias determinadas, es decir, es más probable que
seleccionar qué palabras añadir entre palabras del ciertas palabras vayan detrás de otras y es más proba-
estegotexto, palabras que serán despreciadas por el ble que existan más palabras detrás de unas que de
receptor. Por ejemplo, seleccionamos de Figura 11 la otras. Esto tiene que ver con la Ley de Zipf que afirma
frase “de la tarde en la arboleda! Mientras el cora- que un pequeño número de palabras son utilizadas
zón”. Veamos un trozo de la plantilla generada: con mucha frecuencia, mientras que ocurre que un
gran número de palabras son poco empleadas. En ge-
[WORD:en] [muerta][flota][.][bella][roja][en][,]
neral, existirían pocas palabras después de las cuales
[sobre][arrebolada][y]
será muy costoso (en tiempo) elegir una palabra nue-
[WORD:la][sus][la] va, porque aparecerán muchas opciones en el nivel de
la tabla correspondiente, y muchas palabras después
[WORD:arboleda] [arboleda]
de las cuales existirán pocas opciones, con lo que se
[WORD:!] [!] tendrá más libertad para añadir palabras nuevas.
[WORD:Mientras] [Mientras] Por ejemplo, en textos en lenguaje natural palabras
[WORD:el] [el] como de, la, que, el, en, y, a, los, entre otras, son más
probables, luego es más probable que existan más pa-
[WORD:corazón][querido][sueño][fondo][mar] labras que puedan aparecer con estas. Si nos fijamos
[temblor][semblante][tictac][vino][aire][sol] en el ejemplo anterior (“tarde en la dulce arboleda,
[ataúd][silencio][blanquecino][maestro][solita- ¡qué sensación! Mientras el corazón) resultaría trivial
rio][blanco][mármol][fruto][encanto][hálito][pa- añadir información antes del artículo “el” (sirve cual-
tio][pretil][ambiente]… quier palabra distinta del artículo el) pero sería más
Teniendo en cuenta esto, editamos la frase. Entre difícil encontrar palabras, diferentes a las reflejadas
las múltiples opciones posibles elegimos la siguiente: en la plantilla, después de este artículo y antes de la
palabra “corazón”.
“tarde en la dulce arboleda, ¡qué sensación! Mientras
el corazón”. De esta forma tan sencilla puede mejorar- Estos criterios ayudan a reducir el tiempo de edición
se sustancialmente la calidad del estegotexto genera- y las posiciones donde es mejor trabajar para corregir
do. Para solucionar problemas derivados de signos de los posibles fallos gramaticales. En resumidas cuentas,
puntuación que se abren y no se cierran (o viceversa) es posible generar estegotextos en lengua española au-
u otros. Como se destacaba anteriormente el hecho tomáticamente y corregir los errores manualmente sin
de considerar los signos de puntuación como palabras afectar a la correcta recepción, creando estegotextos de
individuales permitirá con esta técnica correctora una calidad notable. Esta aportación original es la que
compensar posibles errores delante o detrás de ellos. hemos denominado maquillaje manual del estegotexto.

14
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
No es sencillo estimar la capacidad de ocultación Adicionalmente a lo anterior, existe una variante
real del algoritmo ya que eso depende del texto de posible del funcionamiento del algoritmo aprove-
entrenamiento, del orden y de las palabras introduci- chándose de la técnica correctora publicada. Esta va-
das mediante edición manual. Las pruebas que se han riante consistiría en la generación de estegotextos de a160

realizado reflejan tamaños de 0,5 a 2 bits por cada “mala calidad” pero que ocuparan poco espacio para
dedicar más tiempo a la corrección de pocos errores.

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


palabra presente en el estegotexto final. Las pruebas
realizadas indican que para ocultación de informacio- Este supuesto puede ser conseguido mediante la uti-
nes por encima de la centena de bits, los estegotextos lización de un orden n bajo. Si el estegotexto es pe-
generados son de un tamaño destacable del orden de queño, sería factible incluso, mediante la técnica de
decenas de centenas de palabras (depende del tama- maquillaje manual publicada, retocar la coherencia
global de todo el texto.
ño y de la “calidad” de la fuente de entrenamiento)
y por tanto la edición manual llevará un tiempo con- Por ejemplo, si ocultamos 54 bits (un coordenada
siderable (decenas de minutos). El interés de invertir GPS: 42.08.36 → 42º 08’ 36’’) utilizando como fuen-
más o menos tiempo en la calidad de los estegotextos te de entrenamiento la versión digital de “100 años
generados dependerá de la importancia de la infor- de soledad” y un orden 3, se obtiene un estegotexto
mación intercambiada entre emisor y receptor. como el de la Figura 13 (hay 17.070 posibles):

Figura 13. Ejemplo de estegotexto generado automáticamente en lengua española. [stegotext-540]. Ocultación 54
bits. Texto fuente versión digital de “100 años de Soledad” de Gabriel García Márquez. 2,5714 bits/palabra. Tamaño
fuente: 809KB texto plano, 137.649 palabras. Orden de complejidad 3. Expansión 1:14

Este estegotexto podría ser corregido manualmente y nerado por un ser humano (Figura 14, Figura 15, Figura 16).
generar un estegotexto con apariencia próxima a uno ge-

Figura 14. Corrección manual del estegotexto de la Figura13, mejorando cohesión y coherencia global. Ocultación
de 54 bits. Capacidad de ocultación final 1,5 bits/palabra

Figura 15. Orden n=3, 126 bits ocultos, texto de entrenamiento “Poesías Completas. Antonio Machado” [ST-180]

Figura 16. Ejemplo de maquillaje manual del estegotexto de la Figura 15. Capacidad de ocultación 1 bit palabra. En
negrita las palabras originales

15
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
4. CONCLUSIONES Esta aparentemente baja capacidad de ocultación
permite, al menos, enmascarar direcciones de internet
En este trabajo se demuestra cómo es posible ge-
o mensajes breves (como podrían ser mensajes de mo-
a160 nerar automáticamente estegotextos en lengua espa-
vilización, localización, etc.). Por ejemplo, en una red
ñola mediante un modelo N-Gram. Se observa cómo
monitorizada es posible intercambiar un “texto” in-
imitar estadísticamente uno o más textos de entrena-
Esteganografía lingüística en lengua española basada en modelo N-gram y ley de Zipf

ofensivo que contenga la posición GPS de una reunión


miento a nivel de palabra permite una imitación léxi-
clandestina o es posible intercambiar “textos” en una
ca y gramatical mejor que propuestas previas, como
red corporativa que sirvan para controlar un software
por ejemplo el algoritmo de Wayner. No obstante, la
espía de manera transparente a los filtros de la red, etc.
utilización de un modelo N-Gram sigue produciendo
estegotextos carentes de coherencia y de sentido glo- Actualmente las investigaciones en curso se orientan
bal (especialmente si son largos). Mientras nuevas hacia cuatro aspectos: La automatización y simplifica-
investigaciones permiten solucionar este hecho, se ción del maquillaje manual; aumentar la capacidad de
propone el concepto de maquillaje manual. Es posible ocultación, la introducción de modelos lingüísticos para
editar estegotextos generados para corregir errores y facilitar estegotextos con mayor coherencia global y un
darle una “apariencia humana” al resultado. Las prue- análisis en profundidad de la seguridad de la propues-
bas realizadas indican que es factible obtener estego- ta. Destáquese que actualmente emisor y receptor de
textos indistinguibles por un lector humano y enten- una comunicación deben conocer previamente el tex-
demos que si un humano no puede determinar si un to de entrenamiento utilizado. Un atacante podría in-
texto ha sido escrito por un humano o una máquina, tentar descubrir el texto de entrenamiento a partir de
un software automatizado no será capaz de hacerlo fragmentos capturados de estegotextos transmitidos.
tampoco. Las pruebas realizadas indican que es fac- La tarea no es baladí y es exclusiva por estegotexto
tible ocultar unas decenas o pocas centenas de bits capturado. El orden de entrenamiento utilizado y el
en textos de decenas o pocas centenas de palabras maquillaje manual empleado introducen la posibilidad
y demuestran una ocultación mínima de 0,5 bits por de cuantiosos falsos positivos si se desea buscar textos
palabra en el estegotexto final. Si se opta por el ma- que cumplan ciertos patrones N-GRAM. La estrategia a
quillaje manual de estegotextos que oculten decenas seguir de ataque no es sencilla de definir dado que no
de bits, se observa la necesidad de invertir pocos mi- basta con hacer búsquedas en buscadores de internet
nutos en la corrección, lógicamente esta depende de u otros recursos y realizar comparaciones masivas. Este
la capacidad de edición del emisor. tema está abierto a la investigación.

NOTAS

1 La ciencia de la esteganografía pue- complementaria a la ciencia de la crip- 2 ¿Es posible que una máquina genere
de definirse como la ciencia y el arte tografía; esta última si bien no oculta textos en lenguaje natural que un hu-
de ocultar una información dentro de la existencia de un mensaje, sí lo hace mano no sepa distinguir si los ha produ-
otra, que haría la función de tapadera ilegible para quien no esté al tanto de cido una máquina o una persona?
o cubierta, con la intención de que no un determinado secreto, una clave. En
se perciba ni siquiera la existencia de la práctica ambas ciencias pueden com-
dicha información (Kahn, 1996; Cox, binarse para mejorar la autenticidad y
2008). La ciencia de la esteganografía es privacidad de las comunicaciones.

16
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014
BIBLIOGRAFÍA

Bergmair, R. (2007). A comprehensive Dai, W., Yu, Y. y Deng, B. (2009). BinText lengua española con utilidad en estega- a160
bibliography of linguistic stegano- steganography based on Markov state nografía lingüística. Revista Electrónica
graphy. Proceedings of the SPIE In- transferring probability. ICIS ’09 Procee- de Lingüística Aplicada, 8, pp. 229-247.

Alfonso Muñoz Muñoz e Irina Argüelles Álvarez


ternational Conference on Security, dings of the 2nd International Conferen-
Muñoz, A. y Argüelles, I. (2012). Modifica-
Steganography, and Watermarking of ce on Interaction Sciences: Information
ciones sintácticas basadas en la reorde-
Multimedia Contents. http://dx.doi. Technology, Culture and Human, New
nación de complementos del verbo con
org/10.1117/12.711325 York: ACM, pp. 1306-1311.
utilidad en esteganografía lingüística.
Blasco, J., Hernández-Castro, J., Tapiador, J. Grothoff, C., Grothoff, K., Alkhutova, L., Revista Electrónica de Lingüística Apli-
y Ribagorda, A. (2008). Csteg: Talking in Stutsman, R. y Atallah, M. (2005). cada, 10, pp. 31-54.
C code. Proceedings of SECRYPT Inter- Translation-Based Steganography.
Shu-feng, W. y Huang, L. (2003). Research
national Conference, pp. 399–406. Computer Science Information Hiding.
on Information Hiding. Degree of mas-
Lecture Notes in Computer Scien-
Chand, V. y Orgun, C. (2006). Exploiting ter, University of Science and Technolo-
ce, 3727, pp. 219-233. http://dx.doi.
linguistic features in lexical stegano- gy of China.
org/10.1007/11558859_17
graphy: design and proofof-concept
Topkara, M. Topkara, U. y Atallah, M. (2007).
implementation. Proceedings of the Kahn, D. (1996). The Codebreakers: The
Information Hiding through Errors: A
39th Annual Hawaii International Con- Comprehensive History of Secret Com-
Confusing Approach. Proceedings of the
ference on System Sciences (HICSS ’06), munication from Ancient Times to the
SPIE International Conference on Secu-
6, p. 126b. http://dx.doi.org/10.1109/ Internet. New York: Scribner.
rity, Steganography, and Watermarking
HICSS.2006.175 Kerckhoffs, A. (1883). La cryptographie mili- of Multimedia Contents, 29. http://
Chapman, M. y Davida, G. (1997). Hiding taire. Journal des sciences militaires, IX, dx.doi.org/10.1117/12.706980
the hidden: A software system for con- pp. 5-38 y 161-191.
Wayner, P. (1992). Mimic functions. Crypto-
cealing ciphertext as innocuous text. Meng, P., Hang, L., Yang, W., Chen, Z. y logia, XVI, pp. 193–214. http://dx.doi.
Proceedings of the International Confe- Zheng, H. (2009). Linguistic Steganogra- org/10.1080/0161-119291866883
rence on Information and Communica- phy Detection Algorithm Using Statisti-
tion Security. Lecture Notes in Computer Wayner, P. (1995). Strong theoretical ste-
cal Language Model. International Con-
Sciences, 1334. ganography. Cryptologia, XIX, pp. 285–
ference on Information Technology and
299. http://dx.doi.org/10.1080/0161-
Chapman, M., Davida, G. y Rennhard, M. Computer Science 2009 (ITCS 2009), pp.
119591883962
(2001). A practical and effective appro- 540-543. http://dx.doi.org/10.1109/
ach to large-scale automated linguistic ITCS.2009.246 Zuxu, D., Fan, H., Muxiang, Y. y Guohua,
steganography. ISC ‘01 Proceedings of C. (2007). Text Information Hiding Ba-
Meng, P., Liusheng, H., Zhili, C., Yuchong, H.
the 4th International Conference on In- sed on Part of Speech Grammar. Pro-
y Yang, W. (2010). STBS: A Statistical Al-
formation Security, pp. 156-165. ceedings of the 2007 International
gorithm for Steganalysis of Translation-
Conference on Computational Intelli-
Chomsky, N. (1965). Aspects of the theory Based Steganography. Lecture Notes in
gence and Security Workshops (CISW
of syntax. Cambridge, MA: MIT Press. Computer Science, 6387, pp. 208-220.
2007), pp. 632-635. http://dx.doi.
http://dx.doi.org/10.1007/978-3-642-
Cox, I., Miller, M., Bloom, J., Fridrich, J. y org/10.1109/CISW.2007.4425575
16435-4_16
Kalker, T. (2007). Digital Watermarking
and Steganography (2ª ed.). San Fran- Muñoz, A., Argüelles, I. y Carracedo, J.
cisco: Morgan Kaufmann Publishers. (2009). Modificaciones sintácticas en

17
ARBOR Vol. 190-768, julio-agosto 2014, a160. ISSN-L: 0210-1963 doi: http://dx.doi.org/10.3989/arbor.2014.768n4014

Вам также может понравиться