37
Aspectos de criptograf´ ıa y esteganograf´ ıa Eduardo Ruiz Duarte Criptograf´ ıa vs esteganograf´ ıa Eduardo Ruiz Duarte Facultad de Ciencias UNAM Abril 21 2012, GuadalajaraCON 2012

Criptograía vs Esteganografía

Embed Size (px)

Citation preview

Page 1: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Criptografıa vs esteganografıa

Eduardo Ruiz Duarte

Facultad de Ciencias UNAM

Abril 21 2012, GuadalajaraCON 2012

Page 2: Criptograía vs Esteganografía

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

Page 3: Criptograía vs Esteganografía

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...

Page 4: Criptograía vs Esteganografía

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

Page 5: Criptograía vs Esteganografía

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

Page 6: Criptograía vs Esteganografía

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

Page 7: Criptograía vs Esteganografía

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|

Page 8: Criptograía vs Esteganografía

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

Page 9: Criptograía vs Esteganografía

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

Page 10: Criptograía vs Esteganografía

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.

Page 11: Criptograía vs Esteganografía

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

Page 12: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Pregunta

¿Por que los valores de Γ ∈ [0, 8] en nuestros archivos ?

Page 13: Criptograía vs Esteganografía

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

Page 14: Criptograía vs Esteganografía

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

Page 15: Criptograía vs Esteganografía

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

Page 16: Criptograía vs Esteganografía

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.

Page 17: Criptograía vs Esteganografía

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

Page 18: Criptograía vs Esteganografía

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)

Page 19: Criptograía vs Esteganografía

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

Page 20: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Entropıas

$ ./entropy imagen.bmp7.88$ ./entropy imagen-steg.bmp7.88La entropıa no varıa demasiado...

Page 21: Criptograía vs Esteganografía

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.

Page 22: Criptograía vs Esteganografía

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

Page 23: Criptograía vs Esteganografía

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.

Page 24: Criptograía vs Esteganografía

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)

Page 25: Criptograía vs Esteganografía

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

Page 26: Criptograía vs Esteganografía

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)

Page 27: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Imagen

Examinemos la siguiente imagen:

Page 28: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Componentes YCbCr separados (luma Y)

Page 29: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Componentes YCbCr separados (Cb y Cr)

Page 30: Criptograía vs Esteganografía

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?

Page 31: Criptograía vs Esteganografía

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.

Page 32: Criptograía vs Esteganografía

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

Page 33: Criptograía vs Esteganografía

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

Page 34: Criptograía vs Esteganografía

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

Page 35: Criptograía vs Esteganografía

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.

Page 36: Criptograía vs Esteganografía

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.

Page 37: Criptograía vs Esteganografía

Aspectos decriptografıa yesteganografıa

Eduardo RuizDuarte

Contacto

¡Gracias!Eduardo Ruiz [email protected]://math.co.rohttp://b3ck.blogspot.comPGP Key ID: FEE7 F2A0Twitter: @toorandom