En este artículo vamos a ver una comparativa de herramientas de esteganografía en imágenes. Usaremos Aletheia para ver qué herramientas son más difíciles de detectar.
Gráfica cómparativa
En este artículo comparamos diferentes métodos de esteganografía en imágenes para ver cuáles son más difíciles de detectar. Separamos la comparativa en imágenes de tipo mapa de bits y imágenes JPEG. Vemos, primero, las gráficas comparativas.
Descripción del experimento
Para dibujar las gráficas presentadas en el apartado anterior se han empleado múltiples métodos de esteganografía usando la base de datos de imágenes Alaska 2. Esta base de datos es la que ha utilizado Aletheia para entrenar sus modelos.
Las imágenes usadas en el experimento proceden del conjunto de test utilizado por Aletheia, es decir, que las imágenes no han sido utilizadas ni para el entrenamiento de los modelos ni para su validación.
Para cada uno de los métodos se han usado 500 imágenes cover (sin ningún mensaje oculto) y 500 imágenes stego (con información oculta, conforme al payload indicado en la gráfica).
Resultados en mapas de bits
LSB replacement (OpenStego, OpenPuff)
La técnica de inserción de datos LSB replacement es, sin duda, la técnica más popular para incrustar datos en imágenes y audio. Esta técnica es utilizada por las muchas herramientas de esteganografía en imágenes, algunas muy populares, como OpenStego u OpenPuff.
En la gráfica podemos ver dos líneas para esta técnica. Una de ellas, etiquetada como “SPA”, indica los resultados de realizar un ataque SPA o Sample Pair Analysis. La otra usa un modelo de deep learning. Cabe destacar que la técnica LSB replacement introduce anomalías estadísticas que la hacen especialmente vulnerable, usando los conocidos como “métodos estructurales”. Uno de estos métodos es el ataque SPA. Si bien los resultados que vemos en la gráfica para el caso SPA no son de los peores, es importante tener en cuenta que los métodos estructurales solo necesitan la imagen que se está analizando, a diferencia de los métodos basados en deep learning que necesitan ser entrenados con una base de datos de imágenes. Por ello, los métodos basados en deep learning tienen un gran inconveniente: el problema del CSM. Este problema introduce importantes dificultades en el estegoanálisis, por lo que disponer de un método que no tiene este problema (como ocurre con SPA) facilita mucho la tarea.
Las dos líneas de la gráfica dedicadas al LSB replacement nos permiten ver que no es la mejor técnica analizada. Esto, junto al hecho de que estas técnicas son susceptibles de ser atacas con métodos estructurales como SPA, hacen que esta técnica de incrustación sea la menos recomendable de las analizadas.
LSB matching
La técnica de inserción de datos LSB matching es muy similar al LSB replacement. La única diferencia es que, en lugar de sustituir el bit menos significativo, cambiamos su valor sumando uno o restando uno al valor del byte. De esta manera, conseguimos el mismo resultado sin introducir la anomalía estadística que lleva a LSB replacement a ser vulnerable a los métodos estructurales.
Sin embargo, es sorprendente ver lo poco que se usa esta técnica en herramientas de esteganografía, que suelen decantarse hacia la vulnerable LSB replacement.
En la gráfica podemos ver como esta técnica, aún y no ser de las mejores, puede resultar competitiva con payloads bajos.
SteganoGAN
La herramienta SteganoGAN crea imágenes esteganográficas usando adversarial training.
Tal y como se puede ver en la gráfica, este es el método más fácil de detectar de todos los analizados. Destaca el hecho de que puede ser detectado independientemente del payload.
Sin embargo, esto no puede ser tomado como que es el método menos seguro. Lo que ocurre con las imágenes generadas por una red GAN (Generative Adversarial Network) es que tienen unas propiedades estadísticas diferentes a las de una imagen normal, por lo que resulta sencillo diferenciarlas. Es por ello, que el tamaño del mensaje oculto no afecta a la detectabilidad, pues basta con que sea una imagen generada por SteganoGAN, para que la podamos detectar. Actualmente, esto puede servir para detectar esta herramienta. Sin embargo, es de esperar que el número de imágenes generadas por redes GAN vaya creciendo hasta convertirse en algo habitual, lo que nos llevará a un escenario en el que no bastará con detectar que una imagen generada por una GAN. Tendremos que diferenciar entre imágenes generadas por una GAN con mensaje oculto y imágenes generadas por una GAN sin mensaje oculto. Por el momento, no hay mucha investigación al respecto.
Aún y así, actualmente no recomendaría el uso de SteganoGAN.
S-UNIWARD
S-UNIWARD es, junto con HILL, uno de los mejores de la lista. En realidad, no se trata de una herramienta de esteganografía, sino de una función de coste que indica en que posiciones de la imagen se tiene que ocultar la información. Por el momento, no parece haberse usado en ninguna herramienta pública de esteganografía.
HILL (HStego)
HILL es, junto con S-UNIWARD, uno de los mejores de la lista. En realidad, no se trata de una herramienta de esteganografía, sino de una función de coste que indica en que posiciones de la imagen se tiene que ocultar la información. Esta función de coste está implementada en la herramienta de esteganografía HStego.
Resultados en JPEG
Outguess
Outguess es el método de esteganografía más fácil de detectar de todos los analizados para JPEG. En su momento fue un método de esteganografía que aportaba ciertas innovaciones. Sin embargo, no podemos olvidar que se trata de un método muy antiguo.
Steghide
Steghide es un método de esteganografía muy popular, quizás el más popular para imágenes JPEG. Ha resistido bastante bien con los años, pero actualmente existen métodos mucho mejores.
Como se puede ver en la gráfica, mejora considerablemente los resultados de Outguess, aunque está bastante alejado de nsF5 y J-UNIWARD.
nsF5
nsF5 es la versión mejorada del conocido método de esteganografía F5.
Tal y como se puede ver en la gráfica, nsF5 ofrece buenos resultados, principalmente para tamaños de payload bajos.
J-MiPOD
J-MiPOD es, junto con nsF5 y J-UNIWARD, uno de los mejores de los analizados. Supera a nsF5 con tamaños de payload grandes, aunque para tamaños de payload pequeños nsF5 lo supera ligeramente. Además, ofrece resultados inferiores a J-UNIWARD en todos los casos.
J-UNIWARD (HStego)
J-UNIWARD es, junto con nsF5, el mejor de los analizados. Supera holgadamente a nsF5 con tamaños de payload grandes, aunque para tamaños de payload pequeños nsF5 lo supera ligeramente.
En realidad, no se trata de una herramienta de esteganografía, sino de una función de coste que indica en que posiciones de la imagen se tiene que ocultar la información. Esta función de coste está implementada en la herramienta de esteganografía HStego.