Esteganografía lingüística oculta información en textos
1. 1
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
¿Y si el único requisito para
saber si una comunicación es
segura fuera SABER LEER?
Dr. Alfonso Muñoz –
Ocultando comunicaciones
en lenguaje natural
Security Senior
Researcher
& (co) editor Criptored
Twitter: @mindcrypt
mail:
amunoz@diatel.upm.es
2. 2
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Doctor Ingeniero de Telecomunicaciones (UPM) &
PostDoc en Advanced Switching and Communications
Systems (UC3M)
Investigador en seguridad (+10 años, +10 proyectos, +30
papers)
(Co) editor CRIPTORED-UPM (with my friend Jorge )
Cátedra Applus-UPM, DISI, TASSI, CIBSI, INTYPEDIA,
CRYPT4YOU, Thot… manuales, certificaciones, libros,
prensa, ciberdefensa, etc.
Talentum (Telefónica) – Seleccionador & mentor
…
¿Quién soy…?
4. 4
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
2014
Criptografía - Esteganografía
FBI-Espionaje ruso Julio-2010
5. 5
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Esteganografía multimedia ¿?
http://stegsecret.sourceforge.net (2005)
Contenido Multimedia (píxel,
coeficientes DCTs, índices paleta de
colores…)
Ataques estadísticos y
clasificadores. Reduccion de impacto
(wet paper codes)
Limitaciones claras..
6. 6
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Demasiado elitista…
¿Quién diseña algoritmos criptográficos &
esteganográficos? ¿Se entienden? ¿Nos fiamos…?
¿De verdad el usuario es el eslabón más débil de la
cadena?
Las grandes ideas son sencillas…
Libro Utopía (Tomás Moro): induces al pueblo a la pobreza y a la ignorancia y
luego los castigas por los actos derivados de su pobre educación…
y a menudo poco útiles durante bastante tiempo
Dinero cuántico Criptografía Cuántica…
Si no se puede leer con exactitud no se puede descifrar
El mejor mensaje cifrado es el que no lo parece
7. 7
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Mientras tanto…
Atallah, M., et al. Natural Language Processing for
Information Assurance and Security: An Overview and
Implementations. Proceedings 9th ACM/SIGSAC (2000)
NLP & ML: tareas de inteligencia, recopilación y sintetización
de información (caracterización, resúmenes automáticos, …)
OSEMINTI (2006). Infraestructura de inteligencia semántica
operacional. Ministerios de defensa: España, Francia e Italia
Su objetivo es conseguir diseñar y desplegar sistemas inteligentes, que tengan
conocimiento y capacidad de aprender, para la gestión de situaciones
complejas en tiempos adecuados
8. 8
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Esteganografía lingüística
– Procedimientos públicos basados en principios de Kerckhoffs.
¿Y si el único requisito para saber si una comunicación es segura fuera SABER LEER?
¿Y si el único requisito para proteger una comunicación fuera SABER ESCRIBIR?
Conjunto de algoritmos robustos que permiten ocultar una
información binaria, utilizando como tapadera textos en
lenguaje natural (estegotextos)
9. 9
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Antecedentes…
Líneas de investigación. Anonimato/Privacidad – Marcado
digital
Generación automática de
estegotextos (Stelin/Stegosense tool)
Modificación de textos existentes
Modificaciones léxico-semánticas
Modificaciones sintáctico-semánticas
Modificaciones basadas en formato
Modificaciones basadas en errores,
abreviaturas y símbolos de
puntuación
Modificaciones basadas en el
ruido de traducciones automáticas
http://stelin.sourceforge.net | http://stegosense.sourceforge.net
10. 10
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Modificando textos…
Modificación
de textos
existentes
Generador de textos
Modificaciones léxico-semánticas basadas en la sustitución de palabras por
sinónimos
Recursos
léxicos
Estego-texto
11. 11
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Siempre hay alguien más listo que tú
Chapman y Davida (1997) fueron los primeros en introducir la idea de la
sustitución léxica con uso en esteganografía lingüística. Este tipo de
sustitución presenta varios problemas que no han sido resueltos
satisfactoriamente a día de hoy.
Disponibilidad de recursos léxicos y variantes léxicas. Diccionario
de sinónimos y capacidad de ocultación.
Sinónimos no válidos en contexto (polisemia). Procedimientos de
desambiguación de significados (WSD)
Las investigaciones en su aplicación a la lengua española son casi
inexistentes. Se necesita la construcción de recursos léxicos y el diseño de
procedimientos WSD.
Hiram Calvo et al. Using selectional preferences for extending a
synonymous paraphrasing method in steganography (2004)
13. 13
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Dad una máscara al hombre
y os dirá la verdad
Oscar Wilde
14. 14
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Recursos léxicos…
Corpus N-Gram Google: 2-ngram (Tabla 830MB), 4-ngram (Tabla
2,5 GB) (Creado - ¿útil?)
Corpus Lexesp: 5.020.930 palabras. Universitat de Barcelona.
(Existente)
Corpus Wikipedia: Wikipedia español (19GB). Filtrado 1.362.460
ficheros. Corpus 745 MB (129 millones de palabras). Tabla WSD: 120
MB (Creado -> útil para WSD).
http://storage.googleapis.com/books/ngrams/books/datasetsv2.html
16. 16
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Maximizar ocultación… (II)
o Categorías más probables en español (por orden)
nombre, verbo, adjetivo,
adverbio.
o Reglas para reconocimiento de Género (masculino/femenino) y
Número (singular/plural) de nombres y adjetivos presentes en el
diccionario de synsets.
Fuente (RAE): Ortografía de la lengua española (PDF, 63 folios) + lista de palabras con
excepciones
Expansión del diccionario. Variantes léxicas
Alguna regla para crear palabras en plural (s/es)
Finalizada en a,e,i,o,u,f,g,k,p,t: +s (ejemplo: concha codac conchas)
Finalizada en z,b,c,d,h,j,l,m,n,q,r,v,w,x,y: +es (ejemplo: jamón jamon
Alguna regla para convertir femenino a masculino
Finalizada en a: +o (ejemplo: morena
moreno)
Finalizada en eta (+ete), ote (+ote), ana (+an), ina (+in), ona (+on), ora (+or)
(ejemplo: leona león)
17. 17
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Maximizar ocultación… (III)
Capacidad máxima de ocultación (basado en corpus LEXESP)
o LEXESP: Se crean documentos de 290 palabras de media (tamaño “post”)
o Reconocimiento del 44% de las palabras (ejemplo, 290 palabras 127
bits)
o Si suponemos solo 1 bit por sustitución: en media 0,44 bits/palabra.
o Reconocimiento de formas verbales presentes en el diccionario de
synsets. Actualmente 8.938 verbos regulares y 1.255 verbos
irregulares. http://buscon.rae.es/draeI/ SrvltGUIVerbos? IDVERBO=<un_numero>
18. 18
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Reduciendo el impacto…
o En español las estructuras más probables son:
Propuesta: El contexto de una palabra puede aproximarse como
una ventana deslizante de n palabras alrededor de ella. En español
n=4: palabra1 palabra2 PALABRA palabra3 palabra4
nombre+preposición+nombre, nombre+adjetivo+nombre,
verbo+(articulo)+nombre, verbo+preposición+nombre
Analizar el impacto de la sustitución de una palabra por
su sinónimo basado en ese contexto (WSD – Word
Sense Disambiguation). Análisis de impacto mediante
buscador de Internet y tabla estadística.
Equilibrio: impacto VS capacidad de ocultación
Contexto y significado de una palabra (desambiguación)
¡Problema!
19. 19
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Tabla WSD - Wikipedia…
Creamos una función que pondera un sinónimo en un contexto dado
Construimos un corpus de 129 millones de palabras basado en Wikipedia (19GB).
Creamos una tabla estadística con la ocurrencia de las parejas de palabras en el corpus.
Al menos una palabra por pareja en el synset. Tabla: 120 MB con 6.957.610 parejas
“la habitación blanca es bonita”
Resultados aplicando tabla estadística y función de
ponderación. Las palabras útiles esteganógráficamente son el
22,7516% del documento entero (22,7 bits por cada 100 palabras)
post (290 palabras -> 66 bits)
20. 20
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Herramienta JANO...
#java jano spSynsetv2.txt TABLA_WSD_WIKIv1.txt texto.txt stegoTexto.txt plantilla.txt
[Cargando lista de verbos irregulares...OK]
[Cargando lista de verbos regulares...OK]
[Cargando diccionario de synsets...OK]
[Cargando tablaWSD........................................................................OK] 3 minutos
[PROCESANDO TEXTO........................................................................ OK]
TOTAL PALABRAS:296
PALABRAS FOUND (SIN WSD):152 -->51%
palabras directamente del diccionario synset: 106--->69,736842105263157%
palabras basadas en conjugación verbo irregular: 22--->14.473684210526315%
masculinoP: 14--->9.210526315789474%
palabras basadas en conjugación de verbo regular: 7--->4.605263157894737%
femenino/femeninoP: 2--->1.3157894736842106%
advmente: 1-->0.6578947368421053%
Palabras que no puedo sustituir (art,det,conj,preposicion…):117 (39%) no detectadas: 27 (9,12%)
IDENTIFICO EL 84,9% de todas las teóricamente posibles
PALABRAS QUE SE UTILIZAN FINALMENTE (tabla WSD):75 --> 25% del total
Los ancestros de la región [región, zona, comarca, propiedad] que hoy
ocupa El Salvador [Jefe, Líder, Campeón, Representante] eran de origen
[raza, origen, ascendencia, nobleza] maya, en cuyas ceremonias
danzaban y oraban para pedir [recurrir, pedir, reclamar] a sus dioses [...]
La que trajo consigo el huracán Ida [Ida, Loca, Perturbada, Paranoica] y
se precipitó sobre el país entre la noche del sábado y la madrugada [...]
Extracto del artículo “IDA MATA A MÁS DE 130 SALVADOREÑOS” del Diario el INFORMATIVO de Nicaragua
JANO (Dios romano de dos caras) plantilla (modificación manual)
21. 21
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Plantilla y corrección manual
Jano solo oculta 1 bit por palabra seleccionada
o WSD – opción a)
[zona, comarca, …] ó [zona, región, …]
o Si tengo que ocultar un bit 0 elijo la más probable [zona] (confiar*)
o Si tengo que oculta un bit 1 me quedo con la palabra que estaba en
el texto (ignoro lo que me aconseje la tabla WSD) [región]
(perfecto )
o WSD – opción b)
[región, comarca, …] ó [región, zona…]
o Si tengo que ocultar un bit 0 elijo la más probable [región]
(coincide con la que estaba en el texto, perfecto )
o Si tengo que oculta un bit 1 me quedo con la 2º sugerida por el
procedimiento WSD. [comarca ó región] (podría editar a mano )
Palabra: [región] - ReglaSynset: [región,zona,comarca,propiedad]
WSD para un contexto dado (Los ancestros de la región que hoy
ocupa):
Escenarios posibles
22. 22
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
2014Pon un chino en tu vida…
Steganalysis of Synonym-Substitution Based Natural Language
Watermarking. Zhenshan Yu et al. April 2009. T-LEX system: 90% accuracy
(text and stegotext).
Esencia: Relación de una palabra con un contexto ponderado por la frecuencia
de aparición de esa palabra en ese lenguaje (corpus de referencia). Se usa
Google como “corpus de referencia”.
23. 23
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Atacando con buscador… ¿?
Solicitud concurrente: http://www.google.com/search?num=1&
as_epq=“palabra1+palabra2+sinonimo+palabra3+palabra4” ¡no
funciona!
Ahora: https://www.google.es/?#q=“mi+casa+es+muy+grande” ¡captcha!
http://www.bing.com/search?q=“palabra1+palabra2+sinonimo+palabra3+palabra4
”
PETICIONES para testear aplicación: 11.464.404 peticiones !!!
(unas 21.230 peticiones por fichero-texto de ejemplo)
Corpus “online” en el proceso de desambiguación. Pros y contra
Google (te odio)
BING y YAHOO (os amo)
24. 24
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Atacando con SVMs…
Entrenamiento: 360 documentos (240+120). Test: 180 documentos (120+60).
Documento: 290 palabras – 66 bits (secreto) – dos mejores sinónimos.
PoC 2009/2010
Detección: SVM accuracy= 81,66%.
50% de los documentos con información
oculta no son detectados (52,45 bits).
68,33% de los documentos con
información oculta no son detectados
(50,14 bits).
Detección: SVM accuracy= 75,55%.
Ahora (2014):
Detección: SVM accuracy= 66% 100% de los documentos con información
oculta no son detectados (66 bits)
0
0.01
0.02
0.03
0.04
0.05
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
marcados
nomarcados
25. 25
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Conclusión…
JANO: Capacidad de ocultación de 22,7 bits cada 100 palabras.
100% de los documentos con información oculta no son detectados
Soporte plantilla y corrección manual
¿Y si el único requisito para saber si una comunicación es segura fuera SABER
LEER?
¿Y si el único requisito para proteger una comunicación fuera SABER
ESCRIBIR?
Herramienta disponible próximamente: http://www.criptored.upm.es/alfons
Si avanzo, seguidme; si me detengo, empujadme; si retrocedo matadme...
Utilidad en el intercambio de mensajes breves de información,
urls, coordenadas o claves criptográficas. Ej. 600 palabras (1
folio word) 136 bits/6 = 22 caracteres
Alfabeto: abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789:/;=@¿?% & |!_"'<>()*.[]
space +-
¿Test de Turing modificado?
26. 26
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
¿Y si el único requisito para
saber si una comunicación es
segura fuera SABER LEER?
Dr. Alfonso Muñoz –
Ocultando comunicaciones
en lenguaje natural
Security Senior
Researcher
& (co) editor Criptored
Twitter: @mindcrypt
mail:
amunoz@diatel.upm.es
/* */ ? ?