Upload
jaime-restrepo
View
1.737
Download
2
Embed Size (px)
Citation preview
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Criptografıa vs esteganografıa
Eduardo Ruiz Duarte
Facultad de Ciencias UNAM
Abril 21 2012, GuadalajaraCON 2012
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Caracterısticas
Criptografıa: Un mensaje cifrado es detectable facilmentepor pruebas probabilısticas
Esteganografıa: Un mensaje oculto en la naturaleza deotro no es facilmente detectable
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Caracterısticas preferentes
Criptografıa:
No lineal
Correlacion: La amplitud maxima entre correlaciones debloques cifrados debe ser mınimaProbabilidad de propagacion diferencial: Laprobabilidad de poder deducir bloques desde los anterioresdebe ser mınima
Complejidad algebraica: El objeto matematico con elque se representa el dato debe de ser difuso y confuso...
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Caracterısticas preferentes
Esteganografıa:
Naturaleza: La naturaleza y atributos del objeto debenser modificados en lo mas mınimo al momento de meterleel mensaje
Transformacion: El mensaje debe de ser transformado amanera que se asemeje a la funcion que modela el objeto
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
¿Entonces?
La criptografıa pide mas caos, asemejandose a unresultado estocastico.. en terminos de deteccion
La esteganografıa pide mayor computo, transformadas quenos indiquen donde insertar un dato
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Rumor
Existen rumores que terroristas como los del WTC utilizaronesteganografıa para comunicarse, ya que podrıan haber estadointervenidos y como veremos enseguida, si cifraban sucomunicacion podrıan descubrir que algo tramaban,generalmente utilizaban avatars de foros o paginaspornograficas para transmitir el dato
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Probabilidad
¿Que pasara si medimos la media aritmetica de datos cifrados?
µ(M) =
∑ni=0 xi
n, xi ∈ 0, 1, 2, ..., 255 ∀xi ∈ M, n = |M|
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Pruebas
Binarios$ ./a.out /bin/mount85.15$ ./a.out /bin/sh91.36$ ./a.out /bin/cp93.70$./a.out /bin/ls97.94Vemos que los valores estan entre 80 y 100
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Pruebas
Texto cifrado$ openssl enc -aes256 -in /etc/services -out services.aesenter aes-256-cbc encryption password:josejose$ ./a.out services.aes127.93$ openssl enc -aes256 -in /etc/services -out services.aesenter aes-256-cbc encryption password:josejosUE$ ./a.out services.aes128.11$ dd if=/dev/urandom of=randfile bs=1024 count=10241024+0 records in1024+0 records out$ ./a.out randfile127.43
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Observaciones
si µ(M) ≈ 128 entonces M es un texto cifrado o pseudoaleatorio
Los datos cifrados son detectables con µ y hay masmedidas y σ-algebras
AES cumple todos los requerimientos de cifrado por NIST(National Institute of Standards and Technology)
Lo cual implica que entre MEJOR sea un algoritmo decifrado, es mas facil detectarlo.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Entropıa
Existe otra medida mucho mejor... la cual nos proporcionamayor informacion... que nos permite medir si un conjunto dedatos contiene redundancia. Esto nos puede servir para podersaber si un archivo es ’comprimible’.. por ejemplo... (Ω, 2Ω, ρ)
Γ(X ) =
n∑
i=1
ρ(xi ) log2
(
1
ρ(xi )
)
= −
n∑
i=1
ρ(xi) log2(ρ(xi ))
xi son sımbolos de X , n = |Ω| y ρ(x) es una medida y X ∈ 2Ω
Donde 2Ω es la σ-algebra y Ω representa el conjunto de sımbolos
La imagen de los archivos bajo esta funcion sera Γ(X ) ∈ [0, 8]
Esta funcion puede ser definida con cualquier medida inducidaen una σ-algebra
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Pregunta
¿Por que los valores de Γ ∈ [0, 8] en nuestros archivos ?
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Ejemplos archivos comunes
$ ./entropy /etc/passwd5.30$ perl -e ”print ’X’ x 10000;” > constante.dat$ ./entropy constante.dat0.00$ ./entropy random.dat8.00$ ./entropy cifrado.aesbeck8.00$ ./entropy cifrado.aesopenssl7.94
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Ejemplos dumps de internet en un router muy
concurrido
$ ./entropy dumpinet/dump1.raw3.40$ ./entropy dumpinet/dump2.raw3.66$ ./entropy dumpinet/dump3.raw5.41$ ./entropy dumpinet/dump4-ipsec.raw6.05$ ./entropy dumpinet/dump5-ipsec.raw7.52$ ./entropy dumpinet/dump6-ipsec.raw7.24
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Veamos unos dibujitos
Vamos a observar como se ven estos distintos tipos deconjuntos de datos con un programa que calcula una graficadel comportamiento del archivo
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Pseudo Filosofıa
La vida contiene patrones, los lenguajes, la manera depensarlos y disenarlos tienen una semantica, gramatica,sintaxis. Y estas no presentan jamas comportamientosestocasticos, ya que el fin con el que son disenados no contienecaos. Por lo tanto, cuando se presenta en internet entropıaalta, es por alguna razon extrana.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Despues de la barbacoa ahora los postrecitos
Metodos que explico a continuacion muy brevemente sobreesteganografıa basica con sus codigos respectivos seranmostrados
LSB
DCT (Discrete Cosine Transform) en JPEG
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
LSB (Least Significant Bit)
Ok, super sencillo... en mapas de bits por componentes , porejemplo BMP o TIFF o cualquiera soportado por OpenCV lopuedes controlar por RGB (Red,Green,Blue)
Si cada pixel mide 24 bits tenemos un vector en 3 dimensiones
cuyos componentes son las entradas (r,g,b) ∈ F28 × F28 × F28
No es snobbismo , pero tampoco es parte de la presentacionverlo ası...
pero les puede dar una idea, F28 es un campo finito..
Y se puede asociar un Z−modulo por ser abeliano y ver la imagen
’quasi’ espacio vectorial (sobre un anillo)
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Despues del debraye... regresamos
Un pixel es un entero de 24 bits... 0xPPQQRR por ejemplo0xFF0000 es el rojo 0x0000FF es azul , entonces en binario severıa algo asi como 0110101111110101100001101Ahora imagina que quiero meter el bit K en ese pixel.entonces mi pixel quedarıa011010111111010110000110KSi K es 1 no se modifica el pixel , si K es 0 , se modifica 1 bit.
El pixel solo puede cambiar en una magnitud de 1/16777216
ya que son 224 combinaciones de colores
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Entropıas
$ ./entropy imagen.bmp7.88$ ./entropy imagen-steg.bmp7.88La entropıa no varıa demasiado...
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
JPEG
Y que pasa con JPEG ? , ¿Por que nadie puede? (o muy pocoslo logran) La respuesta es simple.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
JPEG
Todo el mundo cree ser hacker, pero para ser 1337-H4X0Ral menos debes saber que significa o para que sirve y comofunciona esto:
F (ξ) :=
∫
∞
−∞
f (x)e−2πixξdx ∀ξ ∈ R
Donde x es el momento y ξ es la frecuencia
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Caracterısticas basicas
JPEG usa una un caso especial de Fourier que es latransformada de coseno La cual se puede obtener facilmente dela de Fourier expandiendo sus terminos con la identidad deEuler sobre la exponencial, y con propiedades trigonometricasde paridad en cosenos.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Deduzcamos la TC continua a traves de Fourier
Si usamos que e ix = cos(x)+i sin(x) y suponemos que f es par
F (ξ) :=
∫
∞
−∞
f (x) cos(x2πξ)dx−i
∫
∞
−∞
f (x) sin(x2πξ)dx ∀ξ ∈ R
Ahora... porque la parte compleja se va a 0 ? (eso queremospara obtener la TC)
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
TC continua
f (x) cos(x2πξ) es par (¿porque?)
f (x) sin(x2πξ) es impar
Y como se integra el seno de (−∞,∞)
Esto es simetrico con respecto al origen, y seno es impar..
Entonces: La parte compleja se va a 0 (Se complementa lasimetrıa) y queda la parte real como todos sabemos:
F (ξ) :=
∫
∞
−∞
f (x) cos(x2πξ)dx
y Voila! analogamente obtendrıamos la del seno si f fuera impar
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
JPEG se fija que la luminancia es lo esencial para el ojohumano , entonces es a lo que le da mas enfasis, ya quecambios en color son menos detectables para el ojo quecambios de brillo.
JPEG usa la TCD (Transformada de coseno discreta) yaque sabe juntar muy bien la energıa en espacios maschicos... y eso se aprovecha como ’compactificacion’
JPEG Guarda los coeficientes de la transformada quecomo todos sabemos se puede representar por una matriz(Nosotros somos hackers estudiosos)
JPEG pierde datos al momento de cuantizar al redondearlos valores flotantes (ahı se pierde la calidad)
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Imagen
Examinemos la siguiente imagen:
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Componentes YCbCr separados (luma Y)
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Componentes YCbCr separados (Cb y Cr)
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
¿Entonces?
Entonces si los colores se pierden, no nos sirve para guardardatos... ¿Que es lo que nos sirve para guardar nuestros bits?
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Perdida de datos
Pues los coeficientes de la TCD!!Despues de cuantizar (y perder datos) JPEG comprime conHuffman de una manera muy rara , organizando la matriz enzigzag ya que las frecuencias se organizan ası, de mayor amenor ası que generalmente hay muchos ceros al final ayuda aque se comprima muy bien.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Perdida de datos
La transformada de coseno es invertible por eso podemosrecuperar la imagen, veamos por que comprime muy bien..Imaginen el espacio de frecuencia como una matriz y veremosmucha redundancia la cual se comprime excelente
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Perdida de datos
La version discreta de la transformada de coseno para losbloques de 8x8 es ası para un conjunto de pixeles f(x,y)
F (u, v) =14C (u)C (v)
[
∑7x=0
∑7y=0 f (x , y) ∗ cos
(2x+1)uπ
16 cos(2y+1)vπ
16
]
C (x) = 0 si x=0 o C (x) = 1
La cuantizacion se hace con los elementos de la matriz Q(u, v),aquı tambien se pierden datos
FQ(u, v) = ⌊ F (u,v)Q(u,v)⌋
Esta ultima es la que se almacena en JPEG y es la queutilizamos para ocultar datos usando el LSB
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Perdida de datos
El paso que pierde datos es cuando los coeficientes de la matrizson cuantizados, i.e. divididos uno por uno por otro entero elcual lo que hace es quitar las wavelets en la onda, ya que loscoeficientes estan dados por sumas de cosenos
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
¿Donde ocultar el dato?
Examinemos un bloque de 8x8 pixelesRojo:Primeros 5 bits en LSB’s de primer bloque indican elnumero de bits que mide el numero de bits a insertar (25 = 32)Azul:Aquı esta guardado el numero que representa los bits quevamos a guardar de la imagenVerde:Aquı estan los bits metidos en el LSB de cada coeficiente
Notese que omitimos 00 y 01 para dejar la compresion deHuffman intacta.. y respetar la naturaleza de la TCD la cualnos acumula toda la energıa de un lado.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Final
libjpeg es MUY cochina y difıcil de usar... pero esta tiene unagran funcion que te da los coeficientes de la TCD,
jvirt barray ptr *coefs = jpeg read coefficients (&arch);
Veamos unos ejemplos con una implementacion que oculta enJPEG sin modificarlo tanto, ni su tamano.
Aspectos decriptografıa yesteganografıa
Eduardo RuizDuarte
Contacto
¡Gracias!Eduardo Ruiz [email protected]://math.co.rohttp://b3ck.blogspot.comPGP Key ID: FEE7 F2A0Twitter: @toorandom