martes, diciembre 13, 2022

Detección de “Fake News” con FNDaaS "Fake News Detection as a Service" usando IA

No cabe duda de que estamos viviendo momentos de grandes cambios en el mundo de la tecnología. Y el principal agente que está liderando esta gran revolución es la Inteligencia Artificial. Los modelos generativos por ejemplo están haciendo las delicias de todo tipo de escritores (no os perdáis este artículo donde una IA explica lo duro que es ser escritor), artistas o cualquier persona en general con ganas de experimentar. 

Figura 1: Detección de “Fake News” con FNDaaS
"Fake News Detection as a Service" usando IA

Estamos realmente impresionados con las capacidades de Stable Difussion, DALL-E 2 o más recientemente, ChatGPT. Este último, creado por OpenAI, nos permite mantener conversaciones totalmente realistas, pero también permite escribir artículos, resúmenes, código fuente y relatos de ficción. Y esta ficción se podría utilizar por ejemplo, para crear noticias de eventos que no han ocurrido nunca pero con apariencia real. 

Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Es decir, Fake News o noticias falsas. Estas tecnologías nos ayudan enormemente en prácticamente cualquier ámbito de nuestra sociedad, pero también debemos estar alertas y concienciarnos de que estas pueden ser una herramienta que, mal utilizada, pueden llegar a ser un serio problema. Si quieres saber más sobre el impacto de la ciberseguridad y la Inteligencia Artificial recuerda que tenemos este libro que seguro será un buen comienzo para adentrarte en este apasionante mundo.

La raíz del problema

Volviendo a ChatGPT, este tiene como base de su arquitectura las famosas GANs. Recordemos que las GANs son redes neuronales que compiten entre ellas para crear salidas realistas, ya sean de texto o imágenes (por ejemplo, las famosas DeepFakes de la que tanto hemos hablado y seguro vamos a seguir hablando).En una GAN tenemos un Generador crea el contexto (imagen, texto, etcétera) y un Discriminador se encarga se intentar encontrar aquellos puntos entre los datos falsos de salida y aquellos supuestos reales. 

Figura 3: Esquema de una red GAN

Por naturaleza, estas redes neuronales están diseñadas para engañarse entre ellas y conseguir una salida lo más realista posible pero totalmente falsa. Es decir, son una auténtica máquina incansable para crear todo tipo de Fakes o engaños. Bienvenidos/as al mundo de la desinformación.

Fake News,”a new brave world …”

Las noticias falsas realmente han existido siempre, el problema es que ahora con la tecnología actual, es más sencillo crearlas y distribuirlas por todo el mundo en cuestión de segundos. El objetivo principal es crear noticias las cuales pueden tener diversos fines. Vemos casi prácticamente cada día como los medios tradicionales son engañados con noticias falsas y no digamos el público en general en las redes sociales (Twitter, Facebook, etcétera).

Cada vez es más sencillo crear noticias fakes (ChatGPT es sólo una de las cientos de posibles herramientas que podemos utilizar) en cualquier idioma. Pero, además, ahora también podemos incluso adornarlas con imágenes totalmente falsas o incluso audios de todo tipo. 

Figura 4:. Noticia falsa del descubrimiento de una nave espacial extraterrestre
enterrada en la Luna creada con ChatGPT y Stable Difusión   

Pero las que posiblemente más alcance tiene son aquellas que se basan en el texto escrito, ya que son más fáciles de distribuir por todo tipo de medios. Aquí tenéis, por ejemplo, un texto generado con ChatGPT sobre el falso descubrimiento de una nave espacial en la Luna con foto incluida creada con Stable Diffusion.

Un equipo de astronautas ha descubierto una nave extraterrestre en la superficie de la Luna. La nave, que parece ser de origen alienígena, fue hallada en un cráter cerca del polo norte de la Luna. Según los astronautas, la nave está en relativamente buen estado, teniendo en cuenta su antigüedad y las duras condiciones de la superficie lunar. 
 
Parece estar hecha de una sustancia metálica que no se parece a ningún material de la Tierra, y presenta intrincados diseños y marcas en su exterior. La nave tiene el tamaño aproximado de una casa pequeña y parece tener varios compartimentos y estructuras en su interior. Los astronautas aún no han podido explorar el interior de la nave, pero creen que puede contener información valiosa sobre los alienígenas que la construyeron 
 
El descubrimiento de la nave espacial extraterrestre ha conmocionado a la comunidad científica y ha desatado un aluvión de especulaciones sobre su origen y finalidad. Algunos expertos creen que puede haber sido una nave espacial utilizada por los extraterrestres para la exploración o colonización, mientras que otros piensan que puede haber sido un arma o una pieza de tecnología utilizada para otros fines. Sea cual sea su propósito, el descubrimiento de la nave espacial es un hito importante en la búsqueda de la humanidad para comprender el universo y nuestro lugar en él. 
 
Es un recordatorio de que no estamos solos en el universo y de que puede haber otros seres inteligentes ahí fuera. El descubrimiento de la nave extraterrestre en la Luna también ha suscitado muchas preguntas sobre el potencial de comunicación y cooperación con estos seres alienígenas. Muchos piden que se siga investigando y explorando para saber más sobre la nave y sus creadores. Mientras tanto, el equipo de astronautas sigue estudiando la nave y su entorno para aprender todo lo posible sobre este increíble descubrimiento.

Figura 5: Creación de la noticia falsa usando ChatGPT

Además, crearlas es bastante sencillo, sólo debemos tener claro el objetivo y una buena plataforma de distribución. En cuestión de segundos habrá miles o millones de lectores que se habrán creído la noticia sin dudarlo ni un segundo. Y el impacto puede ser desde una simple broma hasta dañar la reputación de una persona o hasta puntos extremos como desestabilizar un país completo. 

Por este motivo, debemos centrarnos en tecnologías que sean capaces de detectar lo más certeramente posible las Fake News, tarea que es realmente compleja. Pero analizar simplemente el texto de salida, no es suficiente para detectar si es o no una noticia falsa. De hecho, la noticia anterior sobre la nave espacial encontrada en la luna, si nos fijamos sólo en el texto, no podemos saber en ningún momento si es o no falsa. Necesitamos algo más de información. Y aquí es donde entra FNDaaS.

FNDaaS, Fake News Detection as a Service

Nuestros compañeros de Telefónica Research (Panagiotis Papadopoulos y Nicolas Kourtellis) han creado un paper académico con una gran aproximación para intentar solucionar este problema desde un punto de vista diferente. En vez de centrarnos en el contenido, vamos a analizar los aspectos asociados a la red o la plataforma donde se encuentra publicada la Fake New.

Figura 6: Paper de "Fake News Detection as a Service"

Esto es interesante porque toda Fake New, para hacerla más creíble (aunque hay personas que si les interesa lo que dice no les importan realmente la fuente, directamente lo asumen como creíble) es importante que esta contenga un enlace a una plataforma donde esté publicada. Es decir, una página web con apariencia lo más realista y profesional posible. Además, esta aproximación evita problemas de privacidad y de idioma.

¿Cómo funciona FNDaaS?

FNDaaS es un servicio el cual se centra como hemos comentado antes, en las características del sitio web original donde aparece publicada la noticia falsa. Utilizando diferentes microservicios crea un Feature Collector el cual se encarga se recopilar información sobre el sitio web (usando básicamente un web crawler) como por ejemplo su estructura DOM, características SSL, cabeceras HTTP, sitios afiliados, etc. 

Este Feature Collector también recolecta información sobre el histórico DNS, es decir, la actividad como por ejemplo el número de transacciones DNS entre otras. También se obtiene información sobre la dirección IP del host que hospeda la página web como su geolocalización o número de dominios asociados a este. En total, son unas 187 características las que se extraen de un sitio web.

Figura 7: Vista general de FNDaaS del funcionamiento filtrando
los sitios web falsos usando un plugin en el equipo cliente.  

El motor para clasificar las noticias como falsas o verdaderas es un clasificador, el cual se ha creado realizando un análisis de un total de 1820 páginas web, donde 1183 son reales y 637 falsas. Utilizando las diferentes características extraídas que antes hemos comentado, se construye este modelo base (el cuál puede ir creciendo a medida que se vayan detectando nuevas noticias falsas y de esa forma mejorarlo) cuya arquitectura se basa en redes neuronales (aunque esta puede cambiar por otros tipos de algoritmos) implementadas usando Tensorflow Keras.

FNDaaS en funcionamiento

También se ha implementado un prototipo para probar todos estos conceptos y ver su precisión en entornos reales de ejecución. El servidor principal de FNDaaS tiene cuatro componentes básicos:

1. Web crawler: Elemento encargado de recorrer la web y recopilar la información de la misma. 
 
2. Sqlite3: Base de datos para almacenar la información recolectada y también clasificar las diferentes web. 
 
3. Módulo de Machine Learning: Es el clasificador que determina si la web es o no falsa basándose en todos los datos recopilados anteriormente por el web crawler. Este modelo se va reentrenando a medida que se añade más información (los usuarios también pueden etiquetar una web manualmente como fake). 
 
4. Endpoint: Es el encargado de distribuir y las listas de filtrado y comunicación con la aplicación cliente.

Desde el punto de vista del cliente, se ha implementado un plugin para navegadores basados en Chromium el cual es capaz de bloquear aquellos dominios de fake news detectados así como la lista de filtrado.

Figura 8: Ejemplo de la interfaz del cliente FNDaaS en funcionamiento.

También se ofrece la opción de añadir a una lista blanca aquellos dominios que aunque sean detectados como falsos, el usuario crea necesario acceder a ellos. Este plugin se probó con buenos resultados en un equipo i5 y 8GB de RAM en una conexión a Internet de 50Mbps.

Conclusiones finales

Los resultados de FNDaaS son muy buenos, del orden de un 91% de precisión a la hora de detectar Fake News. Pero lo más interesante son los resultados obtenidos de esta investigación, aquí una muestra de algunos de ellos:
  • La gran mayoría de sitios web sólo están “vivos” en la red por un periodo de unos pocos días o incluso menos de uno.
  • Los sitios de fake news tienen una IP asociada a su dominio por periodos de tiempo inferiores a los sitios reales de noticias.
  • Los sitios web de noticias falsas cargan algo más rápido su árbol DOM que los reales.
  • Los sitios web de noticias falsas tienen menos de la mitad de clases y nodos en su HTML, consumen menos de la mitad de espacio JavaScript Heap, contienen menos de la mitad de texto imágenes y scripts js que los sitios web de noticias reales
Un gran trabajo que aporta una nueva herramienta y método de detección de Fake News que va más allá del análisis del texto de la noticia y que seguro dará más que hablar en los próximos meses. Estaremos atentos a su evolución.

Saludos,  

Fran Ramírez
(@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox


2 comentarios:

Cris dijo...

Por lo que tengo entendido CHATGPT está basado en la arquitectura de Transformers y no en GANs. Saludos!

Cris dijo...

Según tengo entendido, ChatGPT se basa en la arquitectura Transformers, y no en GANs. Saludos!

Entrada destacada

Tokenomics 101: Una explicación con gráficos

He tenido que explicar muchas veces por qué alguien va a pagar algo por un Token . Es verdad que cuando se habla de Tokens , es muy diferent...

Entradas populares