viernes, 8 de marzo de 2024

Esteganografía - Virus en Imágenes

GALO LIMA, CUMPLIMIENTO Y SEGURIDAD INFORMÁTICA, 0981478818

¿Cómo envían virus los ciberdelincuentes a través de imágenes? tips para evitarlos

Una novedosa amenaza de ciberseguridad comenzó a expandirse en los últimos días. Se trata de la transmisión de virus malware a través de imágenes que se comparten por internet, ya sea por email o mensajes multimedia en aplicaciones.

La técnica es conocida como esteganografía, una disciplina que consiste en ocultar información dentro de otro tipo de datos, de modo que no quede visible. Mientras la criptografía se centra en hacer que la información sea ilegible, la esteganografía se enfoca en hacer que la información pase desapercibida. En un contexto de seguridad informática, se utiliza principalmente para incrustar código malicioso en archivos multimedia, como imágenes o videos.

Su empleo en la distribución de malware está en aumento: muchos ciberdelincuentes la adoptaron como una herramienta eficaz para eludir los sistemas de detección de amenazas convencionales, por su facilidad de implementación y para llegar a sus objetivos sin levantar sospechas.

“La expansión o transmisión de malware por imágenes puede ocurrir de varias formas”, Los casos más comunes se dan a partir de la distribución de imágenes con código malicioso a través de correos electrónicos, mensajes de texto, redes sociales y aplicaciones de mensajería instantánea, por ejemplo”. Además, los cibercriminales pueden comprometer sitios web legítimos e incrustar este tipo de imágenes en las portadas de las páginas web o dentro de su contenido.

¿Cómo funcionan las técnicas para esconder códigos maliciosos dentro de imágenes?

Existen dos técnicas para esconder virus dentro de imágenes. Ambas trabajan sobre el archivo: “Una imagen digital está formada básicamente de píxeles. Cada pixel tiene un valor en bits que define su color. La esteganografía consiste en aprovechar ciertas características de los archivos, en este caso, una imagen, para ocultar información”.

La llamada Codificación LSB modifica los bits menos significativos de los píxeles para codificar la información oculta. Y el enmascaramiento de datos oculta la información dentro de áreas de la imagen que son menos perceptibles para el ojo humano, como áreas de baja frecuencia o ruido.

¿Cómo se ejecuta el código malicioso y se activa el virus?

“En principio, una imagen no ejecuta código en un sistema por sí sola. Sin embargo, existen casos en los que los archivos de imagen han sido manipulados para explotar vulnerabilidades en el software que los procesa, lo que podría llevar a la ejecución de código malicioso”.

Para que esto pase es necesario encontrar una vulnerabilidad en el software de visualización de imágenes y que de alguna forma ejecute los comandos que un atacante desea al leer el comando malicioso incrustado en la imagen. La explicación técnica requiere de experiencia y conocimiento en programación: “Se transforma la imagen en un contenedor de código Javascript de forma que, cuando se cargue un navegador con el elemento HTML 5 Canvas, se ejecute este código. Este concepto de imagen más código Javascript se llama IMAJS (IMAge+JavaScript)”, “Ahora bien, esto resulta complejo y pueden mencionarse otros métodos, como por ejemplo que los atacantes envíen la imagen a través de un correo electrónico o mensaje de texto con instrucciones persuasivas para que el usuario la abra”.

¿Cómo se puede detectar un virus dentro de una imagen?

La realidad es que es difícil detectar la presencia de código malicioso en imágenes sin herramientas específicas de análisis. “Considerando que las imágenes son un formato de archivo común y ampliamente utilizado en Internet, proporciona a los atacantes una amplia superficie de ataque para distribuir malware”, “Si tenemos en cuenta que los malware distribuidos en este tipo de amenaza son de distinto tipo y capaces de generar una gran variedad de daño, podemos decir que la gravedad de la esteganografía dependerá del código malicioso que logre infectar a la víctima”, detectar este tipo de amenaza es bastante complicado y muchas veces requiere de habilidades técnicas con las que un usuario no cuenta. “El análisis de metadatos de una imagen permitiría obtener información mediante la cual, en algunos casos, se podría detectar información maliciosa o al menos dar con una pista. También existen técnicas de análisis forense de imágenes que permiten encontrar anomalías en su estructura”.

Para el usuario común u hogareño, la forma más fácil o accesible para al menos evaluar las imágenes es a través de alguna solución de seguridad informática, como un antivirus o antimalware, aunque no siempre garantizan el éxito en este tipo de amenazas.

Por otra parte, la educación en ciberseguridad resulta ser una parte importante para la prevención, ya que le da al usuario herramientas para estar atento frente a emails, mensajes o webs sospechosas: “Entre muchos factores, se recomienda tener actualizado el sistema operativo, el software y aplicaciones para contar con los últimos parches y mantenerse protegidos de vulnerabilidades conocidas. Además, ser cuidadoso al abrir imágenes o archivos adjuntos en correos electrónicos, mensajes de texto o enlaces de fuentes desconocidas, es crucial”.

Noticias Relacionadas

Algorítmos Matemáticos esteganografía (Solo para Técnicos)

La idea que sigue la esteganografía es enviar el mensaje oculto (E) “escondido” en un mensaje de apariencia inocua (C) que servirá de “camuflaje”. Esto es, se aplica una función de esteganografía ƒ(E). El resultado de aplicar la función (O), se envía por un canal inseguro y puede ser visto sin problemas por el guardián. Finalmente, el otro prisionero recibe el objeto O y, aplicando la función inversa ƒ -1(O), puede recuperar el mensaje oculto.

Ejemplo:

El valor (1 1 1 1 1 1 1 1) es un número binario de 8 bits. Al bit ubicado más a la derecha se le llama "bit menos significativo" (LSB) porque es el de menor peso, alterándolo cambia en la menor medida posible el valor total del número representado.

Un ejemplo de esteganografía: Ocultamiento de la letra "A". Si se tiene parte de una imagen con píxeles con formato RGB (3 bytes), su representación original podría ser la siguiente (3 píxeles, 9 bytes):

(1 1 0 1 1 0 1 0) (0 1 0 0 1 0 0 1) (0 1 0 0 0 0 1 1)

(0 0 0 1 1 1 1 0) (0 1 0 1 1 0 1 1) (1 1 0 1 1 1 1 1)
(0 0 0 0 1 1 1 0) (0 1 0 0 0 1 1 1) (0 0 0 0 0 1 1 1)

El mensaje a cifrar es ‘A’ cuya representación ASCII es (0 1 0 0 0 0 0 1), entonces los nuevos píxeles alterados serían:

(1 1 0 1 1 0 1 0) (0 1 0 0 1 0 0 1) (0 1 0 0 0 0 1 0)

(0 0 0 1 1 1 1 0) (0 1 0 1 1 0 1 0) (1 1 0 1 1 1 1 0)
(0 0 0 0 1 1 1 0) (0 1 0 0 0 1 1 1) (0 0 0 0 0 1 1 1)

Observar que se ha sustituido el bit del mensaje (letra A, marcados en negritas) en cada uno de los bits menos significativos de color de los 3 píxeles. Fueron necesarios 8 bytes para el cambio, uno por cada bit de la letra A, el noveno byte de color no se utilizó, pero es parte del tercer pixel (su tercer componente de color).

El método del LSB funciona mejor en los archivos de imágenes que tienen una alta resolución y usan gran cantidad de colores. En caso de archivos de audio, favorecen aquellos que tienen muchos y diferentes sonidos que poseen una alta tasa de bits.

Además este método no altera en absoluto el tamaño del archivo portador o cubierta (por eso es "una técnica de sustitución"). Posee la desventaja de que el tamaño del archivo portador debe ser mayor al mensaje a embeber; se necesitan 8 bytes de imagen por cada byte de mensaje a ocultar; es decir, la capacidad máxima de una imagen para almacenar un mensaje oculto es de su 12,5 %. Si se pretende emplear una mayor porción de bits de la imagen (por ejemplo, no solo el último, sino los dos últimos), puede comenzar a ser perceptible al ojo humano la alteración general provocada.

Una forma de aplicar la esteganografía, en el dominio de la transformada, es explotar el proceso de la compresión de JPEG, el cual incluye una cuantización de coeficientes a través de la DCT. La compresión de JPEG es acertada porque cambia drásticamente los coeficientes de alta frecuencia, para los cuales el ojo humano es en gran parte insensible, mientras que altera ligeramente los de frecuencia baja. Estos elementos  han sido usados, por algunos autores, para aumentar el nivel de imperceptibilidad de la transformación en la imagen usada (Fan, et al., 2011; Li y  Wang, 2007; Yu y  Babaguchi, 2008) .

En el procesamiento de imágenes digitales, la DCT en dos dimensiones está definida de la siguiente manera: considerando un bloque de tamaño nxm  de una imagen f, entonces la transformada discreta del coseno viene dada mediante la ecuación:

donde, para ambas transformadas, tanto directa como inversa, se tiene que fo05 Además, los coeficientes de la DCT bidimensional de un bloque de imagen de 8x8 píxeles, están organizados de la siguiente manera: el primer coeficiente DCT corresponde al coeficiente DC o de frecuencia cero, mientras que el resto de

Técnicas más utilizadas según el tipo de medio

En documentos

El uso de esteganografía en los documentos puede funcionar con solo añadir un espacio en blanco y las fichas a los extremos de las líneas de un documento. Este tipo de esteganografía es extremadamente eficaz, ya que el uso de los espacios en blanco y tabs no es visible para el ojo humano, al menos en la mayoría de los editores de texto, y se producen de forma natural en los documentos, por lo que en general es muy difícil que levante sospechas.

En imágenes

El método más utilizado es el LSB, puesto que para un computador un archivo de imagen es simplemente un archivo que muestra diferentes colores e intensidades de luz en diferentes áreas (píxeles). El formato de imagen más apropiado para ocultar información es el BMP (color de 24 bits), debido a que es el de mayor proporción (imagen no comprimida) y normalmente es de la más alta calidad. Finalmente se prefiere optar por formatos BMP de 8 bits o bien otros tales como el GIF, por ser de menor tamaño. Se debe tener en cuenta que el transporte de imágenes grandes por Internet puede despertar sospechas.

Cuando una imagen es de alta calidad y resolución, es más fácil y eficiente ocultar y enmascarar la información dentro de ella.

La desventaja del método LSB es que es el más conocido y popular, por tanto el más estudiado. Deja marcas similares a ruido blanco en el portador (imagen contenedora), lo cual la convierte en altamente detectable o vulnerable a ataques de estegoanálisis, para evitarlo se recurre a dispersar el mensaje, en general usando secuencias aleatorias.

Es importante notar que si se oculta información dentro de un archivo de imagen y este es convertido a otro formato, lo más probable es que la información oculta dentro sea dañada y, consecuentemente, resulte irrecuperable.

En audio

Cuando se oculta información dentro de archivos de audio, por lo general la técnica usada es low bit encoding (baja bit de codificación), que es similar a la LSB que suele emplearse en las imágenes. El problema con el low bit encoding es que en general es perceptible para el oído humano, por lo que es más bien un método arriesgado que alguien lo use si están tratando de ocultar información dentro de un archivo de audio.

Spread Spectrum también sirve para ocultar información dentro de un archivo de audio. Funciona mediante la adición de ruidos al azar a la señal de que la información se oculta dentro de una compañía aérea y la propagación en todo el espectro de frecuencias.

Otro método es Echo data hiding, que usa los ecos en archivos de sonido con el fin de tratar de ocultar la información. Simplemente añadiendo extra de sonido a un eco dentro de un archivo de audio, la información puede ser ocultada. Lo que este método consigue mejor que otros es que puede mejorar realmente el sonido del audio dentro de un archivo de audio.

En vídeo

En vídeo, suele utilizarse el método DCT (Discrete Cosine Transform). DCT funciona cambiando ligeramente cada una de las imágenes en el vídeo, solo de manera que no sea perceptible por el ojo humano. Para ser más precisos acerca de cómo funciona DCT, DCT altera los valores de ciertas partes de las imágenes, por lo general las redondea. Por ejemplo, si parte de una imagen tiene un valor de 6,667, lo aproxima hasta 7.

Esteganografía en vídeo es similar a la aplicada en las imágenes, además de que la información está oculta en cada fotograma de vídeo. Cuando solo una pequeña cantidad de información que está oculta dentro del código fuente por lo general no es perceptible a todos. Sin embargo, cuanta mayor información se oculte, más perceptible será.

En archivos de cualquier tipo

Uno de los métodos más fáciles de implementar es el de inyección o agregado de bytes al final del archivo. Esta técnica consiste, esencialmente, en agregar o adosar al final de un archivo, de cualquier tipo, otro archivo que será el contenedor del "mensaje a ocultar", también de cualquier tipo. Esta metodología es la más versátil, pues permite usar cualquier tipo de archivo como portador (documentos, imágenes, audio, vídeos, ejecutables, etc) y añadir al final del archivo contenedor el "paquete enviado", que es otro archivo, también de cualquier tipo.

Esta es una técnica que no se vale de las limitaciones humanas (vista y oído) para implementar la estrategia esteganográfica, sino que se vale de la forma de funcionamiento de la aplicaciones software que utilizan el portador. No degradan el contenido del portador de ninguna forma, por ejemplo, si es una imagen, permanecerá intacta; ya que el "mensaje" se le inyecta o adosa al final de la misma y la aplicación usada para visualizarla la mostrará normalmente hasta donde ella finalice. Esto es debido que todo tipo de archivo, en su cabecera, entre otros, contiene ciertos bytes fijos (en cantidad y ubicación) usados exclusivamente para indicar el tamaño del archivo. La aplicación que utilice un archivo, de cualquier tipo, siempre lee su cabecera primero, adquiere ese valor como su tamaño (en cantidad de bytes) y seguidamente lee el resto del archivo hasta el final indicado por dicho valor. De modo que si se coloca algo (mensaje) más allá del valor de ese parámetro, no será leído por la aplicación normal, por tanto no detectado, y el archivo portador funcionará normalmente.

Si bien es la técnica más sencilla de implementar, y de uso muy difundido, tiene la gran desventaja que provoca crecimiento del portador, tanto como el tamaño de su mensaje, siendo por tanto una estrategia fácilmente detectable. Un sencillo programa de estegoanálisis lo detecta por la sola lectura de su cabecera y la comprobación del tamaño real de archivo portador; incluso cualquier usuario desconfiado puede muchas veces sospechar del portador por su tamaño ocupado en disco en relación con su contenido. Otra desventaja, aunque muy relativa y eventual, es que el crecimiento del portador podría ser limitante a la hora de trasferirlo por las redes, particularmente por Internet.

Los programas o software que utilizan esta técnica son llamados joiners, básicamente unen dos archivos, el portador y el de mensaje, manteniendo el valor inicial del tamaño en bytes indicado en la cabecera del primero. Esta es una técnica no utilizada si se pretende obtener características de indetectabilidad.

Si no se requiere reunir requisitos de indetectabilidad, es uno de los métodos preferidos por su sencillez, flexibilidad y escasas limitaciones. Prácticamente cualquier tipo de portador es admitido, con o sin compresión, incluso módulos ejecutables. En algunos casos provoca corrupción del portador, lo cual no es gran problema: practicada la técnica e inyectado el mensaje se prueba el portador con su aplicación correspondiente, si se ha degradado y/o no funciona bien, sencillamente toma otro, del mismo u otro tipo y se repite la operación.

Veamos las principales herramientas para descifrar esteganografía online.

Esteganografía en internet y redes sociales

Hoy en día todos (o casi) utilizamos al menos, una red social, como Twitter, Facebook o Instagram, entre otras muchas. Esto convierte a estos canales de comunicación en los transportes ideales de todo tipo de información, un medio de interconexión fácil de usar y con capacidad de llegada a múltiples destinatarios, a cualquier parte del mundo.

A través de las redes sociales también es posible enviar información de forma completamente inadvertida. Esto es: utilizando esteganografía informática. No es fácil hacerlo, pues tienen sus propios algoritmos de detección de código oculto, amén de otras técnicas de inserción, como el cambio de resoluciones de imágenes, una vez subidas a la plataforma, etc. Pero esto no quiere decir que sea imposible conseguirlo.

Otros usos: espías ilegales, terrorismo y más

Hoy en día, los atacantes utilizan scripts de PowerShell y BASH para automatizar los ataques. También lo son los probadores de lápiz. Por ejemplo, los atacantes han incrustado scripts reales en documentos de Excel y Word habilitados para macros. Una vez que una víctima abre el documento de Excel o Word, activa la secuencia de comandos secreta incrustada.

El atacante no necesita engañar al usuario para que use aplicaciones como Steghide. El atacante está utilizando una aplicación esteganográfica para aprovechar las funciones y aplicaciones comunes de Windows, como Excel y PowerShell. Todo lo que la víctima debe hacer es leer el documento y comienza a ocurrir una serie de eventos desafortunados.

  • Primero, la víctima hace clic en un documento de Excel que un atacante ha modificado usando esteganografía.
  • Ese clic libera un script de PowerShell oculto.
  • Este script luego instala una aplicación de instalación en la computadora con Windows. Esta aplicación de instalación se mueve rápidamente y es tan sutil que las aplicaciones antivirus típicas no lo notan.
  • Este descargador luego sale a Internet y toma versiones actualizadas de malware como URLZone (o herramientas más recientes) que luego comprometen la computadora de la víctima.

A lo largo de los años, los atacantes han utilizado el procedimiento anterior para entregar ransomware como Snatch. Los piratas informáticos han instalado malware sofisticado que es un cable de registro de teclas, alistando computadoras en redes de bots DDoS o instalando troyanos, como las últimas variantes de Rovnix y Pillowmint.

Estegoanálisis o detección de mensajes ocultos

El estegoanálisis es una disciplina de investigación relativamente nueva con pocos artículos que aparecieron antes de finales de la década de 1990. El estegoanálisis es el proceso de detectar la esteganografía al observar las variaciones entre los patrones de bits y los tamaños de archivo inusualmente grandes. Es el arte de descubrir y transmitir mensajes encubiertos inútiles.

El objetivo del estegoanálisis es identificar los flujos de información sospechosos, determinar si tienen mensajes ocultos codificados en ellos y, si es posible, recuperar la información oculta.

El hecho de que la esteganografía no se pueda detectar en todo momento hace que el estegoanálisis sea un área de investigación en curso. Las limitaciones se magnifican debido al hecho de que la esteganografía no es una técnica exacta.

Herramientas para descifrar esteganografía online

Veamos las principales herramientas para descifrar esteganografía online.

Stegdetect

Es una herramienta de esteganálisis común. Stegdetect puede encontrar información oculta en imágenes JPEG utilizando esquemas de esteganografía como F5, Invisible Secrets, JPHide y JSteg. También tiene una interfaz gráfica llamada Xsteg.

Stego Suite

Se compone de tres productos. Stego Watch es una herramienta de esteganografía que busca contenido oculto en archivos de imagen o audio digitales. Stego Analyst es un analizador de archivos de imagen y audio que se integra con Stego Watch para proporcionar un análisis más detallado de los archivos sospechosos y Stego Break es un descifrador de contraseñas diseñado para obtener la contraseña de un archivo que contiene esteganografía.

ILook Investigator

Es una herramienta de análisis forense utilizada por miles de laboratorios de aplicación e investigadores de todo el mundo para la investigación de imágenes forenses creadas por diferentes utilidades de imágenes.

EnCase

EnCase cuenta con una guía intuitiva que permite a los examinadores gestionar fácilmente grandes volúmenes de pruebas informáticas y ver todos los archivos relevantes, incluidos los archivos «eliminados», la holgura del archivo y el espacio no asignado.

La solución automatiza eficazmente los procedimientos de investigación básicos, reemplazando procesos y herramientas arcaicos, que requieren mucho tiempo y costes.

En EnCase, los investigadores deben identificar y hacer coincidir el valor hash MD5 de cada archivo sospechoso. Deben importar o construir una biblioteca de conjuntos hash (en este caso, un software de esteganografía) con la función de biblioteca en EnCase. El hash identificará coincidencias de archivos stego.

Además, los investigadores deben tener cuidado al crear conjuntos de hash para descubrir esteganografía, para prevenir falsos positivos. Por ejemplo, los investigadores deben utilizar conjuntos de hash seguros para filtrar archivos inofensivos de su investigación.

GALO LIMA, CUMPLIMIENTO Y SEGURIDAD INFORMÁTICA, 0981478818