La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Esteganografía Digital (Parte 1)

Presentaciones similares


Presentación del tema: "Esteganografía Digital (Parte 1)"— Transcripción de la presentación:

1 Esteganografía Digital (Parte 1)
Córdoba, febrero 2009 Ángela Rojas Matas

2 Esteganografía digital
La Criptografía se dedica a cifrar mensajes: El objetivo de la esteganografía es el envío de información que se quiere mantener secreta pero de forma que no levante sospechas y pase desapercibido ante todo aquel intruso malintencionado que pudiera estar interesado en conocer dicha información. Por ejemplo: ¿Sospecharía alguien de esta “inocente” imagen? OFEDR ,SS?P BIIHZEZHWOA.?

3 Esteganografía digital
Si usamos un fichero de cobertura para ocultar información, este fichero será convenientemente modificado para ocultar información en él. El fichero resultante se llama estego-fichero. Igual que la criptografía se complementa con el criptoanálisis, la esteganografía se complementa con el Estego-Análisis que se dedica a averiguar si un fichero digital oculta o no información.

4 Esteganografía digital
La información a ocultar puede ser de cualquier tipo: texto, una imagen, un fichero de audio, etc. La información secreta se convertirá en una secuencia de bits, es decir, de ceros y unos, que mediante el algoritmo esteganográfico elegido se ocultarán en un medio inocuo que usaremos como cobertura para no levantar sospechas. El medio inocente de cobertura donde camuflaremos nuestra información secreta puede ser también de distinta clase: una imagen, un grabación de audio, un video, una página html, un fichero ejecutable, etc. La Criptografía y la Esteganografía pueden ser complementarias: cifrando la información a ocultar se obtendrá una capa más de seguridad. La esteganografía ha recibido últimamente mucha atención ya que se rumoreó que AlQaeda utilizó esta técnica para llevar a cabo los atentados del 11-S de 2001 de la Torres Gemelas.

5 Esteganografía digital
Ante el rumor de que se podrían estar usando técnicas esteganográficas en imágenes que circulan por Internet, unos investigadores americanos (Provos &Honeyman, 2002) han analizado más de dos millones de imágenes, con las técnicas estego-analíticas actuales, no descubriendo ninguna sospechosa de ocultar información: ¡¡Parece que el rumor es falso!! Neils Provos (Universidad de Michigan)

6 Esteganografía digital
El nombre procede de un tratado del monje alemán Johannes Trithemius llamado Steganographia (publicado en el año1500). Algunos ejemplos de técnicas esteganográficas usadas en la historia son: Mensajes tatuados en el cuero cabelludo, que tras crecer el pelo de nuevo, oculta el mensaje. Mensajes secretos en papel, escritos con tintas invisibles entre líneas: se usó en la Segunda Guerra Mundial para el intercambio de información entre la resistencia y los prisioneros de los campos de concentración nazis.

7 Esteganografía digital
Cifradores nulos: Null Ciphers Mensaje oculto en un texto aparentemente inocente, por ej. cogiendo la primera letra de cada palabra del texto se puede recuperar un mensaje oculto. El siguiente mensaje fue telegrafiado en la I Guerra Mundial con esta técnica. PRESIDENT'S EMBARGO RULING SHOULD HAVE IMMEDIATE NOTICE. GRAVE SITUATION AFFECTING INTERNATIONAL LAW. STATEMENT FORESHADOWS RUIN OF MANY NEUTRALS. YELLOW JOURNALS UNIFYING NATIONAL EXCITEMENT IMMENSELY. PERSHING SAILS FROM NY JUNE I. ¡¡ Hay una gran imaginación para inventar métodos esteganográficos!!

8 Marcas de agua (watermarking)
Una de las más importantes aplicaciones de la esteganografía. Las marcas de agua se añaden a un objeto con la intención de identificar al propietario del mismo. Sirven para proteger los derechos de autor. Pueden ser visibles o invisibles. Las invisibles están íntimamente ligadas con la esteganografía. También se pueden utilizar por el vendedor de un producto para identificar al comprador, de modo que se puedan perseguir o imposibilitar las copias ilegales (Fingerprint). Ejemplo curioso: Se está investigando en cómo incorporar pequeñas mutaciones en el ADN de organismos a modo de marca de agua para identificar “copias no autorizadas” de organismos genéticamente manipulados. Se escoge una célula y se le hace la prueba de ADN: “Patentado por XYZ”.

9 Esteganografía digital: Ventajas
Permite el intercambio de información secreta entre dos usuarios de forma discreta y de modo que pase prácticamente desapercibido para los demás. Es compatible con los métodos criptográficos y de hecho es altamente recomendable cifrar previamente la información a ocultar. Las técnicas estegoanalíticas actuales aplican distintos test a los ficheros digitales sospechosos de contener información oculta, pero sólo son capaces de decir si hay o no información oculta. Si la información está cifrada con un buen método criptográfico, estas técnicas admitirán que hay información oculta pero no serán capaces de extraer esta información.

10 Ocultar texto en una imagen: método LSB
Vamos a ver a continuación cómo ocultar un mensaje de texto en una imagen digital usando el método esteganográfico más simple y utilizado en la práctica: el método LSB (Least Significant Bit) En primer lugar, el mensaje a ocultar: “HOLA MUNDO” se convierte en una secuencia de bits. Carácter Número Binario A 00000 B 1 00001 C 2 00010 D 3 00011 ... ? 29 11101 30 11110 Se necesitan 5 bits para cada carácter H, O, L, A, , M, …= = 7, 15, 11, 0, 30, 12, …= =00111, 01111, 01011, …

11 Ocultar texto en una imagen: método LSB
Es frecuente usar los códigos ASCII (ANSI) para convertir el mensaje de texto en números. En este caso se pueden emplear letras mayúsculas, minúsculas, números, etc. Carácter ASCII Binario H 72 O 79 L 76 ... Se necesitan 8 bits para cada carácter H, O, L, A, , M, …= = 72, 79, 76, …= = , , , … “HOLA MUNDO”

12 Ocultar texto en una imagen: método LSB
El emisor y el receptor del mensaje deben estar de acuerdo en el alfabeto usado. En nuestro caso, vamos a utilizar el código ASCII. Si el mensaje tiene k caracteres, entonces el número de bits del mensaje será: “HOLA MUNDO” 10 caracteres bits Primer capítulo del Quijote 10327 caracteres (incluyendo espacios en blanco) bits

13 Ocultar texto en una imagen: método LSB
Un imagen en blanco y negro no es más que una matriz de datos, donde cada dato es el nivel de gris de un píxel. Es habitual encontrar imágenes en blanco y negro donde se dedica 1 byte por píxel para representar el nivel de gris. ... 1 byte= 8 bits

14 Ocultar texto en una imagen: método LSB
Ejemplo en blanco y negro 176 163 132 87 50 33 28 202 175 32 203 88 27 …………………………………………………….. 239 256 x 256 65536 píxeles

15 Ocultar texto en una imagen: método LSB
¿Qué pasa si alteramos algún bit del nivel de gris de un píxel?. Ejemplo: si el nivel de gris es 127 127= Bit más significativo Bit menos significativo Si alteramos el bit menos significativo: =126 Si alteramos el bit más significativo: =253

16 Ocultar texto en una imagen: método LSB
Podemos usar el bit menos significativo de los píxeles de la imagen para ocultar los bits de nuestro mensaje oculto Supongamos que el nivel de gris 112= (2 - Si el bit a ocultar es 0: (2=112 - Si el bit a ocultar es 1: (2=113 Supongamos que el nivel de gris 113= (2

17 Ocultando información en una imagen: método LSB
Matriz Original Matriz Resultante 176 163 132 87 50 33 28 202 175 32 203 88 27 …………………………………………………….. 239 176 163 132 86 51 33 28 202 175 162 32 29 203 174 133 87 50 177 89 27 …………………………………………………….. 239

18 Ocultar texto en una imagen: método LSB
Procedimiento para ocultar Imagen Original Imagen Resultante

19 Ocultar texto en una imagen: método LSB
El método LSB usa el bit menos significativo de cada píxel para ocultar 1 bit. La forma explicada anteriormente implica escribir el nivel de gris en binario y sobrescribir el último bit con el bit secreto que toque ocultar y volver a pasar a decimal. Otra forma de hacerlo, equivalente a la anterior pero más sencilla y más rápida, sería la siguiente: Si el nivel de gris es par y el bit a ocultar es 0, no hacer nada: nivel _de _gris _modificado= nivel _de _gris _original Si el nivel de gris es par y el bit a ocultar es 1, sumar 1: nivel_de_gris_modificado = nivel_de_gris_original + 1 Si el nivel de gris es impar y el bit a ocultar es 1, no hacer nada: nivel_de_gris_modificado = nivel_de_gris_original Si el nivel de gris es impar y el bit a ocultar es 0, restar 1: nivel_de_gris_modificado = nivel_de_gris_original - 1

20 Ocultar texto en una imagen: método LSB Actividad 1
Extraer el mensaje oculto (15 bits) A B C D E F G H I J K 1 2 3 4 5 6 7 8 9 10 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 L M N Ñ O P Q R S T U 11 12 13 14 15 16 17 18 19 20 21 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 V W X Y Z . , ? 22 23 24 25 26 27 28 29 30 31 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

21 Ocultar texto en una imagen: método LSB
Otra forma para ocultar un bit secreto en el bit menos significativo de cada píxel: Dividimos el nivel de gris original g entre 2 y nos quedamos con el cociente de la división entera: q. Después obtenemos 2q. Esto equivale a poner a cero el último bit de g. Le sumamos el bit secreto:

22 Ocultar texto en una imagen: método LSB
Ocultando dos bits secretos en los bits menos significativos de cada píxel: Por ejemplo, si el nivel de gris es 127 y los dos bits a ocultar fueran 10, entonces, el primer método requiere escribir 127 en binario, y sustituir los dos últimos bits por 10: Más fácil y rápido: Dividimos el nivel de gris original g entre 4 y nos quedamos con el cociente de la división entera: q Después obtenemos 4q Esto equivale a poner a cero los dos últimos bits de g. Los dos bits secretos pueden ser: 00, 01, 10 y 11 que son en decimal: 0, 1, 2, 3.

23 Ocultar texto en una imagen: método LSB Actividad 2
Extraer el mensaje oculto en los dos últimos bits (30 bits) A B C D E F G H I J K 1 2 3 4 5 6 7 8 9 10 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 L M N Ñ O P Q R S T U 11 12 13 14 15 16 17 18 19 20 21 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 V W X Y Z . , ? 22 23 24 25 26 27 28 29 30 31 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

24 Método LSB en una imagen en color

25 Método LSB en una imagen en color
Usamos el bit menos significativo de cada píxel de la capa de rojo, de verde y de azul. La capacidad total es: Imagen Original Estego-Imagen ¿Qué oculta esta imagen? ¡¡ Los 8 primeros capítulos del Quijote!!

26 Ocultar una imagen en otra imagen
Supongamos que deseamos ocultar una imagen 128 x 128 en una de dimensión 256 x 256, ambas en blanco y negro. Para ocultar la imagen de 128 x 128, que son píxeles, necesitaremos x 8 = bits. En este caso tomando 1 sólo bit de la imagen de 256 x 256, no sería suficiente ya que 256 x 256 = menor que Tomando 2 bits sí bastaría, ya que 256 x 256 x 2 =

27 Método LSB con un fichero de audio
Fichero original Método LSB con un fichero de audio Grabación de audio con datos, cada dato 1 byte donde se oculta el siguiente mensaje: Fichero modificado Mensaje compuesto por 1646 caracteres 1646x8=13168 bits

28 Ataque visual al método LSB
En este ejemplo tenemos el ataque estegano-analítico más simple de todos: el ataque visual. En la imagen se ocultó un mensaje de texto usando el código ASCII, empezando por la esquina inferior derecha y llegando aproximadamente a la mitad de la imagen de cobertura. Las letras más habituales ( A-Z, a-z) suelen tener los dos bits más significativos 01 (salvo la eñe, vocales acentuadas, etc.), de ahí ese efecto de rayas verticales.

29 Clasificación de las algoritmos esteganográficos con imágenes digitales
Existen muchos métodos o algoritmos esteganográficos para camuflar datos dentro de una imagen digital. Se pueden clasificar en dos tipos: Métodos en el dominio espacial Métodos en el dominio de la transformada Los métodos en el dominio espacial manipulan el nivel de gris o color de los píxeles que componen la imagen para conseguir ocultar la información secreta. El método más conocido y utilizado en la práctica es LSB. Los métodos en el dominio de la transformada, aplican algún tipo de transformación sobre la imagen original (Transformada Discreta de Fourier, Transformada del Coseno, Transformada wavelet, etc) y se manipulan los coeficientes de la transformada para conseguir ocultar la información.

30 Métodos en el dominio de la transformada
Se suelen emplear transformadas ortogonales, que vienen definidas a través de matrices T ortogonales, es decir, matrices que cumplen la siguiente propiedad: Dada una matriz A se define la transformada como otra matriz B tal que: Se define la transformada inversa de B como la matriz A tal que: Son transformadas ortogonales: la transformada de Fourier, la transformada del coseno, la transformada de Haar, etc.

31 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
Es un caso especialmente utilizado, ya que es una transformada muy conocida por usarse en la compresión JPEG.

32 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
Transformada Directa Transformada inversa

33 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
En la compresión JPEG se utiliza la DCT con n=8. La matriz T empleada es: Se divide la imagen de entrada en submatrices A de tamaño 8x8 y a cada una de ellas se le calcula la DCT, obteniendo otras submatrices B:

34 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
B=

35 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
Cuantización: Ejemplo: Resultado de la cuantización de B: B*=

36 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
Sin pérdidas Con pérdidas

37 Métodos en el dominio de la transformada: Transformada Discreta del Coseno
Imagen comprimida Nº de elementos no nulos=5741 Nº de ceros=59795 Imagen original: Nº de elementos nulos=0 Hay algunos algoritmos esteganográficos que aprovechan la fase de cuantización para ocultar información.

38 Algoritmos esteganográficos en el dominio de la transformada
Vamos a ver a continuación un ejemplo sencillo donde usaremos la transformada discreta del coseno bidimensional de orden 2. Dividiremos la imagen original en submatrices de tamaño 2x2. A cada una de estas la matriz ALa transformada discreta de una matriz A cualquiera de orden 2 es otra matriz B que se obtiene de la siguiente forma: Siempre podemos deshacer el proceso:

39 Algoritmos esteganográficos en el dominio de la transformada
Por ejemplo: Se pueden utilizar los 4 coeficientes de B para ocultar información o sólo algunos de ellos. Supongamos que vamos a usar sólo el coeficiente para almacenar un bit de información Pero los elementos de la matriz B son números reales ¿cómo ocultamos un bit en un número real?.

40 Algoritmos esteganográficos en el dominio de la transformada
Para ello procedemos de la siguiente forma: Se elige una constante q entera positiva. Se considera la parte entera de b11/q que indicaremos como coef (este número sí es entero). En coef almacenaremos un bit secreto (usando el bit menos significativo): Si coef es par y bit =0, coefmod=coef Si coef es par y bit =1 , coefmod=coef +1 Si coef es impar y bit =0 , coefmod=coef-1 Si coef es impar y bit =1, coefmod=coef

41 Algoritmos esteganográficos en el dominio de la transformada
1) Proceso de ocultación Por ejemplo, si Supongamos que q = 8 y que el bit que toca ocultar es 1, entonces: Redondeando:

42 Algoritmos esteganográficos en el dominio de la transformada
2) Proceso de extracción El receptor de la estego-imagen recibe la matriz anterior: a la que le calcula la transformada, obteniendo la matriz: Conoce el valor de q=8:

43 Algoritmos esteganográficos en el dominio de la transformada
En este caso, si la imagen es la capacidad de almacenamiento será bits. En la figura se muestra el resultado de aplicar este proceso donde la constante empleada ha sido: Imagen original Estego-imagen

44 Algoritmos esteganográficos en el dominio de la transformada
El método LSB tiene el inconveniente de que si la estego-imagen se somete a una simple compresión jpg (formato muy usado en la práctica), entonces el mensaje oculto se destruye por completo. El método descrito antes es algo más resistente. Cuanto mayor sea la constante q, más resistente será la estego-imagen a ataques sobre la misma, pero tiene el inconveniente de que también la estego-imagen se deteriora más. Con este método conseguimos almacenar un número menor de bits, pero a cambio conseguimos una estego-imagen más resistente. La estego-imagen tiene formato bmp y ocupa 65 kB en disco mientras que la estego-imagen comprimida jpg (al 90% de calidad) ocupa 20 kB. Estego-imagen original (bmp) y estego-imagen comprimida (jpg).

45 Ocultar texto en una imagen: método de la transformada Actividad 3
Extraer la letra oculta (5 bits) A B C D E F G H I J K 1 2 3 4 5 6 7 8 9 10 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 L M N Ñ O P Q R S T U 11 12 13 14 15 16 17 18 19 20 21 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 V W X Y Z . , ? 22 23 24 25 26 27 28 29 30 31 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111


Descargar ppt "Esteganografía Digital (Parte 1)"

Presentaciones similares


Anuncios Google