You are on page 1of 10

SISTEMA ESTEGANOGRAFICO

Mendoza Rodarte Saúl.


Instituto Politécnico Nacional Campus Zacatenco.
Escuela Superior de Cómputo
E-MAIL: siloe18@hotmail.com

Reyes Figueroa Arturo.


Instituto Politécnico Nacional Campus Zacatenco.
Escuela Superior de Cómputo.
E-MAIL: rysarthur@hotmail.com

RESUMEN proteger información, a pesar de las acciones


de algún enemigo, quizá bien informado y
La Esteganografía es una técnica que nos con medios adecuados para corromper el
permite ocultar información dentro de otra sistema.
información diferente. Podemos "esconder"
mensajes ó archivos dentro de imágenes, La Esteganografía es una técnica que nos
archivos de sonido, documentos de texto, permite ocultar información ó datos dentro
etc. Esta técnica ha sufrido un importante de otra información diferente.
impulso en los últimos tiempos que permiten
entreverla como una de las opciones con La Confidencialidad de la información se
más futuro para proteger la refiere a que ésta, esté accesible para lectura
confidencialidad de la información. solamente por partes autorizadas; de forma
En este trabajo pretendemos desarrollar una que cualquiera que intente interceptarla no
herramienta que nos permita ocultar nuestra pueda tener acceso al contenido de los datos.
información dentro de otra información
diferente, y "esconder" mensajes ó archivos Comencemos por definir que la palabra
dentro de imágenes, donde ésta herramienta Esteganografía que en castellano no aparece
sea de fácil manejo para los usuarios finales en el diccionario de la Real Academia, pero
y responder así a las exigencias de en cambio, no nos ofrece ninguna palabra
seguridad y confidencialidad de la que pueda sustituirla. El término
información. "Esteganografía" viene del griego STEGOS,
que significa "cubierta", por lo que
Esteganografía significaría "escritura oculta"
1. INTRODUCCION. o "escritura encubierta”.

La seguridad de un sistema de cómputo es la En la Esteganografía puede aplicarse


habilidad que tiene el sistema para lograr cualquier método para ocultar un mensaje,
pues es en un 99% imaginación y por tanto
no tiene límites. Aunque piensen que solo Existen algunas herramientas que manejan
puede aplicarse al texto no es así, pues se algunas técnicas de ocultamiento de
podría incluso realizar una imagen en la que información de las cuales encontramos:
los píxeles menos significativos son
sustituidos por el mensaje en cuestión que S-Tools
deseemos incrustar. S-Tools, escrito por Andrew Brown, es un
programa para Windows que permite cifrar y
Hay que dejar clara la diferencia entre la ocultar datos en archivos .wav ó en imágenes
criptografía y la Esteganografía "estricta". en formato .bmp o .gif.
La criptografía modifica los datos para que Nota: Este programa es freeware, así que
no sean legibles, a diferencia de la puede distribuirse libremente, si bien hay
Esteganografía, que simplemente los toma y que tener en cuenta que, dado que incluye la
los oculta entre otros datos. Sin embargo, implementación de diversos algoritmos
hoy en día, con las computadoras, ambas criptográficos, podría estar sujeto a
técnicas son combinables, consiguiéndose determinadas restricciones a la exportación.
una seguridad aún mayor Su uso en Francia podría ser ilegal bajo la
Ley 90-1170 de dicho país, que prohíbe el
Es evidente que un mensaje cifrado es uso de criptografía. Asimismo, podría entrar
identificado rápidamente por él sin sentido en conflicto con la EAR (Regulación del
de su formato, en cambio si ponemos ese Tráfico Internacional de Armas) americana.
mismo mensaje dentro de una imagen, o de Es seguramente el más cómodo al ser para
otro texto se garantiza que no vayamos Windows, integra la encriptación en el
paseando nuestros datos por el mundo con mismo programa, y permite ocultar los datos
un letrero de "cifrado". Ello nos otorga en archivos más "generales" que los
discreción y anonimato. También existe la anteriores programas.
posibilidad de que el tráfico de la
información pudiera ser tratado de forma En cuanto a los algoritmos criptográficos, se
masiva para capturar cosas de interés. Esto dispone de cuatro algoritmos de clave
se suele hacer mediante el "monitoreo" de secreta: IDEA, DES, Triple DES y MDC.
nuestro tráfico para capturar palabras clave; IDEA es por ahora el mejor y más fuerte de
Palabras que si las hacemos invisibles en los cuatro. En cuanto a DES, sería preferible
principio no llamarán la atención. Además no utilizarlo, dado que se le han descubierto
los constantes rumores sobre puertas traseras demasiadas debilidades para seguir
en los programas más populares de cifrado considerándolo seguro.
pueden hacer aconsejable el uso de la
Esteganografía para dar seguridad realmente Texto
potente. Texto, que a pesar de su nombre no es un
programa español, ha sido escrito por Kevin
No hay duda de que, si la criptografía puede Maher, y es un programa que transforma
tener usos delictivos, la Esteganografía archivos codificados con uuencode ó
puede tenerlos aún más claros. Sin embargo, archivos cifrados con PGP y ASCII armor en
bien usada puede convertirse en algo muy archivos de texto que contienen frases en
útil. La Esteganografía se convierte en una inglés.
útil herramienta para proteger nuestros datos, Texto sustituye los caracteres ASCII por
tanto combinada con la criptografía, como palabras en inglés que obtiene de un archivo
por separado. llamado words. Después utiliza estas
palabras según las estructuras de frases problema que tiene este programa: El texto
contenidas en un archivo llamado structs, obtenido es DIEZ VECES mayor que el
creando así el texto en inglés. Las palabras archivo original. La solución que
en mayúsculas son etiquetas que Texto recomienda Kevin Maher es utilizar más
sustituye por las palabras seleccionadas del palabras, una para cada dos símbolos, en vez
archivo words. de una para cada uno. Modificar el código es
Debido a que en el inglés también hay simple, pero esto requiere 4096 palabras de
algunas estructuras irregulares, a veces cada clase en el archivo words, algo un tanto
algunas frases contienen errores complejo (es más, ¿hay 4096 adverbios en
gramaticales. No son demasiado graves inglés?). De media debería conseguirse que
como para hacer sospechar del texto, dado los archivos pasaran a ser cinco veces más
que el inglés es un idioma bastante grandes en vez de diez veces.
"práctico" y relativamente simple si lo
comparamos por ejemplo con nuestras
lenguas latinas. Es más, estos errores hacen 2. DESARROLLO DE LA
incluso que el texto parezca más humano, HERRAMIENTA
como si fuera escrito por alguien que comete
faltas, y más aún, unidos estos errores a las Con el desarrollo de este trabajo esperamos
extrañas frases, los textos producidos dan la obtener una herramienta capaz de ocultar
impresión de ser escritos por alguien que información (texto) en una imagen; así
padece alguna demencia o está drogado, lo también desarrollar una documentación
que puede ayudar a no tenerlos en precisa acerca de la Esteganografía y sus
consideración y no examinarlos. aplicaciones, que sirva para establecer bases
y recomendaciones en trabajos futuros en
Asimismo, también puede modificarse el esta área.
archivo words y sustituir las palabras. La
condición es no utilizar palabras acabadas en Consideramos las acciones que el usuario
"s" o en "ing", ni repetir palabras. El orden tendría que hacer para interactuar con el
también importa, así que cambiar el actual sistema, en primera instancia es el usuario
orden de palabras de words también quien determina el origen de la información
resultará. Eso sí, si modificamos words, a ocultar, ya sea señalando el lugar de la
debemos pasarle el nuevo archivo a la información (archivo) ó si éste escribirá
persona con la que nos comunicamos, si no, directamente la información a ocultar,
no podrá extraer los datos. En cambio, no posteriormente el usuario deberá indicar la
hace falta pasarle el archivo structs aunque imagen donde será ocultada la información
lo modifiquemos. con estos datos el sistema deberá ser capaz
de ocultar la información proporcionada en
Por cierto, por si alguien lo está pensando. la imagen.
Y... ¿utilizar archivos en español? La idea es
buena, pero el programa está pensado para el Cabe mencionar que el sistema desarrollaría
idioma inglés. Habría que meterse a dos actividades importantes: la primera es
modificar el código, y hay un importante ocultar una información en otra y la segunda
problema: la mencionada "complejidad" de extraer la información original del medio
nuestro rico idioma, que hace que el escribir transportador (imagen).
un programa que construya estructuras
gramaticales en español relativamente Para la segunda etapa el usuario tendrá que
correctas sea una dura tarea. El gran indicar el origen (ruta del archivo) del medio
transportador, y al proporcionar una clave El emisor. Este usuario final es aquel que
específica además de elegir la acción el por alguna razón tiene la necesidad de
sistema deberá ser capaz de extraer la mantener segura su información,
información oculta en el medio consideremos el caso de que desea enviar
transportador. información importante a otra persona, las
acciones implicadas son: proporcionar al
Para que este sistema cumpla con los niveles sistema la fuente tanto de la información a
de seguridad que la Esteganografía ocultar como de la imagen que deba llevar la
proporciona se tomarán en cuenta ciertas información oculta.
características las cuales son, que no exista
variación entre la imagen original y la El sistema. El sistema esteganográfico
obtenida por medio de ésta técnica de recibirá como únicas entradas el mensaje o
ocultamiento, segundo que la imagen archivo y la imagen, el sistema deberá ser
resultante ocupe el mismo espacio en disco capas de ocultar la información del emisor
es decir que la imagen sea del mismo con una imagen. Entregara como único
tamaño, en caso de existir variaciones en la resultado una nueva imagen, imagen que
imagen estas sean imperceptibles al ojo deberá cumplir con las características ya
humano. señaladas en los requerimientos del sistema.

Y finalmente de acuerdo a un estudio previo El receptor. Este usuario también final, al


de herramientas esteganográficas existentes, recibir el archivo de imagen, podrá
se identifico las características que debía ingresarlo al sistema esteganográfico y así el
tener el software hacia el usuario final. sistema deberá extraer la información oculta.
Donde lo más importante será proporcionar
una interfaz con el usuario de fácil manejo, En el diagrama siguiente se muestra como a
donde no se involucren cuestiones técnicas pesar de existir dos procesos distintos una
que deben ser ajenas para éste último. sola herramienta deberá de realizar ambos,
ocultamiento y extracción.

Así pues entenderíamos el diagrama de la


Figura 2 como sigue:

• Si al sistema le proporciono una


información ó mensaje y una imagen, el
sistema deberá entregarme una imagen
con información oculta.
• Si al sistema le proporciono una imagen
el sistema deberá entregarme el mensaje
oculto.

En la estructura general del sistema,


podemos identificar tres actores, el emisor,
el sistema y el receptor.
Como podemos observar en la Figura 3, el
sistema esteganográfico se divide en cuatro
principales procesos:

• Procesamiento del texto.


• Obtención de las propiedades de la
imagen.
• Procesamiento Esteganográfico.
• Procesamiento de Extracción.

Diagrama de primer nivel “Procesamiento


del Texto”

En la Figura 2 podemos observar el


diagrama lógico y las etapas involucradas en
el proceso de ocultamiento y extracción de la
información a partir de las entradas al
sistema, la imagen, el masaje ó archivo con
la información a ocultar y como el receptor
al ingresar la imagen generada ó medio
transportador entra al sistema y el mismo
sistema quien extrae la información oculta
en el medio transportador.

Diagrama de Nivel Cero

En la Figura 4 observamos dos tipos de


entrada. En realidad es solo una, pero es el
usuario quien define de donde es el flujo,
que puede ser por un archivo ya existente ó
que el usuario proporcione directamente el
texto, el contenido de este último será
procesado y como única salida se generara
un registro temporal que contendrá el código
designado a cada uno de los caracteres que
forman el texto proporcionado por el
usuario, esto es, el Procesamiento del Texto
no es sino un proceso de codificación.
En la Figura 3 observamos más claramente
el funcionamiento del sistema propuesto. Este proceso puede ser tan sencillo o tan
Empecemos por identificar cada uno de los difícil como la imaginación del programador
elementos y las características de estos así se le permita, que va desde el simple uso del
como las entradas y las salidas de los código ASCII hasta quizá el uso de una
procesos involucrados. técnica criptográfica que proporcione una
salida distinta del original.
Aquí observaremos que también existe un
Aquí el proceso medular de ésta tarea es almacenamiento temporal de información ya
convertir todo en números ya sea enteros o que solo existirá hasta el momento de
en representaciones binarias (1´s y 0´s), entregarle al usuario la nueva imagen creada,
pues es a nivel binario donde trabajaremos este contendrá la información recabada por
con la imagen. el sistema, de las características de la imagen
proporcionada o seleccionada por el usuario,
En esta etapa se presenta un almacenamiento generándose un registro el cual será la
temporal es un espacio en disco designado entrada del proceso esteganográfico; éste
para almacenar por un tiempo corto no al proceso será transparente para el usuario.
texto, sino el resultado de codificar al texto,
esto es, almacenar cierta información ya Diagrama del primer nivel “Procesamiento
tratada para que el método esteganográfico Esteganografía”
la utilice y la oculte en la imagen.

Diagrama de primer nivel “Proceso


Propiedades en la Imagen”

En el diagrama de la figura 6 observamos el


La Figura 5, representa el proceso de obtener proceso esteganográfico, aquí es donde
las propiedades de la imagen, estas son interviene la implementación de la técnica
variadas, y dependen de la técnica esteganográfica seleccionada, sea cual sea la
esteganográfica a usar, pero lo más técnica, recibirá la codificación del mensaje
importante para toda técnica esteganográfica original, los datos de la imagen es decir el
es conocer el tamaño como el espacio que registro de la imagen y nos dará como único
ocupa en disco, las dimensiones, y los resultado una imagen nueva, similar a la
colores que utiliza la imagen a trabajar. imagen original

Este proceso recibe como entrada una En éste mismo diagrama mostramos el
imagen, la estudia y genera un registro medio de almacenamiento donde se guardara
(datos de la imagen) y la guarda por un el nuevo archivo generado tras el proceso de
tiempo relativo hasta que se genera la ocultamiento de información. Este almacén
imagen o medio transportador. también lo podemos observar desde un punto
de vista, como el sistema de archivos, ya que
el resultado del proceso esteganográfico será
un archivo, este es el mismo medio Este primer sistema, se caracteriza
transportador o imagen generada. principalmente por haber sido desarrollado
en Lenguaje C. Inicialmente porque C es un
También mostramos una salida más, que lenguaje poderoso y flexible. Lo que se
aparentemente no debe estar, pero existe por puede lograr con el C es muy extenso y muy
la simple selección que emitirá el usuario poco limitado para los expertos del lenguaje.
entre guardar la imagen nueva y quizá El lenguaje, por sí mismo, no pone límites.
mostrar en pantalla el resultado, eso como El C es un lenguaje portable. La portabilidad
una opción que tendrá disponible el usuario se aumenta con el estándar ANSI para el C
para su comodidad y pueda observar el (el juego de reglas para los compiladores C).
resultado.
Como muestran estas características, el C es
Diagrama de primer nivel “Procesamiento una alternativa excelente para haber
de Extracción” desarrollado el “Primer Sistema”.

Acerca del primer prototipo de sistema,


pensamos en una interfaz grafica, de fácil
manejo por el usuario, y las opciones del
menú principal sean claras y cuente con
cuadros de dialogo con información
suficiente para saber cual será el siguiente
paso de cada proceso.

En el diagrama de la parte superior (Figura


7), encontramos el Proceso de Extracción.
Este proceso comprende las tareas que el
sistema deberá realizar para extraer la
información original de un medio
transportador, como entrada será la imagen ó
medio de transportador, el usuario que
quiera extraer la información contenida
deberá proporcionar una clave para con la
Esta pantalla nos permite observar las
cual extraerá la información.
opciones básicas del sistema.
4. AVANCES REALIZADOS
Ocultamiento de la información.
El Primer Sistema llamado Xtegan es una
La herramienta Esteganográfica propuesta,
propuesta experimental para observar y
debe obtener la información a oculta de
entender las opciones con las que debe
alguna forma, ya sea proporcionada por el
contar el sistema a desarrollar.
usuario ó que este último la escriba
directamente, sea cuál sea el origen, esta Original Con cambios
información deberá ser codificada de alguna 00001100 00001100
manera, el objetivo es que el sistema pueda 00011000 00011000
manipular la información que se precisa 00110000 00110001
ocultar. 00100100 00100101
00110111 00110110
Una forma sencilla es asignar un código 00111110 00111111
específico a un carácter en particular. 10000000 10000001
10111110 10111111
Carácter A B C ... y Z
código 0 1 2 ... 55 56 Y la cadena binaria resultante queda así:
DEC 000011000001100000110001001001010011
código 0000 0000 0000 ... 0011 0011 0110001111111000000110111111
BIN 0000 0001 0010 0111 1000
Estos cambios no repercuten seriamente en
De esta manera obtendremos la codificación la imagen original así como en sus
de mensajes como “ABZ” de la siguiente características más importantes, al menos no
manera: a simple vista, ya que lo que único que
hacemos es cambiar el color original, y así
“0000000000000001000111000”. convertirlo a un tono mas claro ó más
oscuro.
Consideramos ahora, las características de la
imagen a ser tratada, desde el punto de vista El siguiente ejemplo entre dos imágenes una
más básico un archivo es un conjunto de original y la otra ya transportando un
información binaria, con un formato en mensaje “hola mundo cruel ya nunca te
particular, basados en esa idea, un archivo de veré”.
imagen también esta formado de bits con un
formato especifico, consideremos el archivo
como arreglos o conjuntos de 8 bits, la que
contienen estos es la información de cada
uno de los píxeles que conforman la imagen.

Considerando estas características resulta


muy sutil que exista la posibilidad de
manipular el menos el bit menos
significativo de los arreglos binarios.

Ahora si deseamos ocultar un carácter “y”


dentro de un arreglo como el siguiente:

000011000001100000110000001001000011 Esta es la imagen original, la cual usaremos


0111001111101000000010111110 como medio transportador.

Obtendríamos algo así:


Y el resto como observamos en la Figura se
Esta imagen ya está portando un mensaje
encuentra dividido entre las herramientas
oculto, observando ambas imágenes,
para MAC y Windows, este último
observamos que no existe diferencia a
representa la plataforma en la que existe el
simple vista del proceso al que estuvo sujeta
menor desarrollo de herramientas
esta imagen.
esteganográficas; razón por la cual la
plataforma de desarrollo elegida es
Aunque la versión final sea desarrollada
Windows, implica generar una herramienta
tentativamente en Visual C++, el desarrollar
mas dentro de las pocas existentes (solo dos)
este prototipo en ANSI C nos permitirá
para esta plataforma.
generar código lo suficientemente
manipulable, para los fines que hemos
Una vez determinada la Plataforma se
planteado.
entiende la respuesta de porque se utiliza
Visual C++ como el Lenguaje de Desarrollo
Justificación de usar visual C++
de la herramienta propuesta.
Ya que es una versión mejorada de C y C++
pero esto no justifica su uso... mas bien la
5. CONCLUSION
justificación de desarrollar una herramienta a
partir de un lenguaje especifico se elabora a
La herramienta esteganográfica a desarrollar,
partir de entender las características que
nos permitirá, contar con un transporte de
debe cumplir el nuevo sistema y a otros
información más seguro, ya que la
criterios técnicos como la factibilidad y la
información podrá pasar desapercibida, por
gestión del proyecto.
los ojos de cualquier persona ajena al
destinatario, en forma de imagen, sin
Una de las etapas del análisis del sistema fue
despertar la sospecha de que ocultamos
emprender una investigación a cerca de las
información, aunque el ocultar información
herramientas esteganográficas existentes en
dentro de otra, ó en especifico una
el mercado, con este estudio encontramos
información dentro de una imagen, aún es
que al menos el 80% de las herramientas y
considerado un arte, el desarrollo de un
sistemas existentes en esta área de la
algoritmo capaz de implementar este proceso
seguridad, son sistemas basados para
resulta benéfico por las cuestiones de
plataformas Unix / Linux (ver figura abajo)
seguridad que se verán implicadas,
proporcionando confidencialidad e
integridad a la información a tratar.
REFERENCIAS

Manual de Borland C++.


Chris H. Pappas. William H. Murray.
Mc GrawHill 1993.
ISBN 84-481-0088-3.

Effective Methods for Software Testing.


William E. Perry.
Wiley Computer Publishing. 2000.
ISBN 0-471-35418-X

Programación Avanzada con Visual C++.


David J. Kruglinski. Microsoft Press.
Mc GrawHill. 1988.
ISBN 84-481-1415-9

Ingeniería de Software, Un Enfoque


Práctico.
Roger S. Pressman.
Mc GrawHill. 1988
ISBN 84-481-1186-9

Análisis y Diseño de Sistemas


Kendall & Kendall
Mc GrawHill. 1998
ISBN 968-880-694-3

Implementación de Redes Privadas


Virtuales (RPV).
Steven Brown.
Mc GrawHill 2001
ISBN 970-10-3025-7

Disappearing Cryptography: Being and


Nothingness on the Net
Peter Wayner
AP Professional 1996
ISBN 0-12-738671-8

You might also like