Esteganografía en Linkedin

Esteganografía En Linkedin

     Vamos a continuar hablando de esteganografía y cómo ocultar código. Esta vez en Redes Sociales. La primera Red Social con la que quiero empezar es LinkedIn. Como todos sabemos, “…LinkedIn es una comunidad social orientada a las empresas, a los negocios y el empleo. Partiendo del perfil de cada usuario, que libremente revela su experiencia laboral y sus destrezas, la web pone en contacto a millones de empresas y empleados. Fundada en diciembre de 2002 por Reid Hoffman, Allen Blue, Konstantin Guericke, Eric Ly y Jean-Luc Vaillant,​ fue lanzada en mayo de 2003..” (Fuente: Wikipedia).

     Este medio de interconexión de profesionales cuenta ya en 2018 con más de 500 millones de usuarios, de los cuales 10 millones pertenecen a España. Con estas cifras no es difícil imaginar la facilidad que tenemos para pasar inadvertidos, entre todo el volumen de información que se intercambia por esta red.

     Linkedin tiene, como es lógico, sus propios mecanismos de control para prevenir los intentos de difusión de información ilícita, software mailtencionado, etc. De igual forma, tiene activados sus propios filtros y monitores de estegoanálisis automático, para evitar que se pueda intercambiar información esteganografiada. Así las cosas, transportar información oculta en imágenes, por ejemplo, no es fácil, pues algoritmos específicos de detección de código, tales como Chi-Square, Sample Pairs, Primary Sets, etc., son capaces de detectar el código esteganografiado generado con las herramientas de ocultación más comunes.

     Además, esta red social tiene su propia política de almacenamiento de fotos de tal forma que, cuando éstas se suben a la red, son “formateadas”, si no cumplen con los parámetros de almacenamiento establecidos. Ocultar código en una fotografía realizada por nuestra cámara digital, por ejemplo, no servirá de nada, si queremos compartirla en Linkedin, debido a su peso y tamaño. ¿ Y por qué no valdrá?. Porque Linkedin cambiará su profundidad de bits, su peso y su tamaño. Y al cambiar esos datos binarios, cambiará también los datos binarios guardados como código oculto. Esto provocará que se pierda dicho código camuflado entre los píxeles de la foto. Por tanto, si queremos ocultar código, tendremos que saber primero cuáles son los requisitos de esta red, a la hora de guardar imágenes.

     Vamos a hacer una prueba… He subido una foto de mis queridos Dolomitas Italianos (En este caso las “Tre cime Di Lavaredo, cerca de la frontera entre Italia y Austria”) y después me la he descargado al ordenador. Aparentemente, las dos fotos son idénticas; incluso en tamaño. Pero tras calcular los Hashes SHA1 de ambas fotos, la original y la descargada, resultó que éstos eran diferentes.

 

.- Foto Original, Antes de Subirla: 9ABDECB9CA4AE5123C5C7510A2B0698847D27082

.- Foto Descargada de Linkedin: 87C5F58A4F9580BA4E794802C549F7D7719A1FEF

     Como puede comprobarse, el algoritmo Hash es diferente. La diferencia está en que, para empezar, Linkedin elimina todos los metadatos de la foto subida, como la marca de la cámara, la lente empleada, velocidad, tiempo de exposición, etc. Además, en mi caso, ha cambiado la extensión de la imagen, de formato JPG, a JPEG. Sin embargo, no todo está perdido: Linkedin no ha cambiado, en este ejemplo concreto, ni las dimensiones, ni la resolución, ni la profundidad de bits de la foto. Así pues, lo primero que hay que hacer es buscar un formato de imagen que sea aceptado por Linkedin sin que éste sea alterado a la hora de guardar la foto en sus bases de datos.

     Pues bien: este formato es “.PNG”. Si antes de subir una foto a Linkedin, la transformamos en .PNG, tendremos muchas probabilidades de que no nos la modifique, a la hora de almacenarla en sus servidores. Además de usar este formato, es muy conveniente respetar algunos valores que debe tener la foto antes de subirla, como no superar los 2.048 píxeles de resolución y que pese menos de 4 Mb. No quiero decir con esto “que este esa el único formato en que funciona”, sino más bien “que con este formato, funciona”.

     Una vez que tenemos preparada nuestra imagen, respetando las características anteriores, podemos usar la aplicación Open Source llamada “OpenStego”. Esta aplicación permite esteganografiar una imagen, guardándola en formato “.PNG”, por lo que es ideal para subir fotos a Linkedin. Cabe resaltar que necesita Java para ejecutarse; y que hay que activar el algoritmo “DES” (Cifrado de Datos Estándar), para cifrar la imagen. Por último, es muy conveniente poner una clave de cifrado, a la hora de generar el fichero esteganografiado.

     Y ya está: ya podemos compartir nuestros datos ocultos con el/los receptores; siempre y cuando éstos sepan qué imagen es y, por supuesto, la clave de cifrado.

Como siempre ocurre en informática, todo es infinitamente diferente, dependiendo de si es cero, o es uno; O, en este caso, los límites de la esteganografía están allí donde se encuentren los límites de nuestra imaginación.

(Quiero dedicar esta serie de artículos sobre esteganografía, a mi querida amiga Ruth Sala, con quien compartí charla en la #HoneyCON-2017. Gracias mil también a toda la organización de la HONEY, que me dejó hacer un RolloTaller de estego).

José Aurelio García

Auditor y Perito Informático-Perito en Piratería Industrial e Intelectual-Informático Forense

Co-Director del Tïtulo Propio “Derecho Tecnológico e Informática Forense”, impartido por la UnEx dtif.unex.es

Coordinador del Máster de “Prueba Electrónica e Informática Forense”, impartido por la USAL

Profesor en el “Máster de Abogacía Digital”, impartido por la USAL

Socio Fundador Asociación Nacional de Ciberseguridad y Pericia Tecnológica – ANCITE

Informático Forense – El Blog de Auditores y Peritos Informáticos

[email protected] 

Por favor, síguenos y dale al "Me gusta". ¡Gracias!
0

Leave a Reply