domingo, abril 07, 2024

Codename: "Leak GuardIAn" para evitar filtraciones a ChatGPT

Uno de los proyectos de Ideas Locas que hicimos internamente en Telefónica Innovación Digital tiene que ver con la idea de controlar, cuando ChatGPT se hizo muy popular entre todos los empleados de las empresas, los datos que las personas enviaban al servicio, para que no se filtrasen datos privados de la compañía, o de personas que pudieran ser un riesgo de privacidad en el futuro.

Figura 1: Codename: "Leak GuardIAn" para evitar filtraciones a ChatGPT

Para ello, el utilizando la misma idea de tener un Plugin en el Navegador que interceptara las peticiones del dominio ChatGPT, creamos un servicio que analizaba el contenido del texto que se iba a enviar al LLM para ver si había algún dato que se quería monitorizar, bloquear o eliminar.

Figura 2: Estructura del funcionamiento de LeakGuadIAN

La idea era muy sencilla, y se puede aplicar a cualquier dominio. Se captura la petición, se envía a un backend controlado, se le pasan las reglas - que pueden ser incluso reglas hechas con SLM/LLM en backend o en frontend -, y se toma una acción.

Figura 3: Análisis de texto de LeakGuardIAn para localizar Nombres

Así, en los tres ejemplos que tenéis aquí podéis ver cómo se analiza el texto de las entradas para poder decidir si hay posible texto sensitivo, que es el que tenéis marcado en la imagen anterior como Nombres, en este caso de Localizaciones (Morado), Personas (Rosa) y Organizaciones (Verde).

Figura 4: Enmascaramiento de Nombres

En la imagen anterior LeakGuardIAn ha aplicado el borrado de Nombres de todo el texto para dejarlo totalmente anonimizado, que es la política que se ha aplicado a LeakGuardIAn en ese ejemplo concreto.

Figura 5: Reescritura del texto sin nombres

En la imagen anterior, se puede ver cómo el texto ha sido re-escrito sin poner ningún nombre propio en el contenido que se va a enviar a ChatGPT, que es lo que hace LeakGuardIAn. Solo revisar lo que se envía. Todo esto se define en un política que se configura en una consola de administración donde se configuran todas las reglas de detección y sus políticas de gestión de la información.

Figura 6: Creando las políticas para LeakGuardIAn

Se puede marcar para enmascarar (con asteriscos), eliminar, o directamente bloquear la petición a ChatGPT si es algo que no se desea que se envíe. Todos los prompts que se analizan y hacen saltar una regla quedan recogidos en la consola para poder analizarlos.

Figura 7: Reglas en la [K]onsole de LeakGuardIAn

En el siguiente vídeo podéis ver cómo se crea una regla para el dominio de ChatGPT, se hace una petición que se ve afectada por ella, y LeakGuardIAn le quita los datos personales. 

Figura 8: LeakGuardIAn borrando datos sensibles

En este otro, lo mismo, pero con un bloqueo de la petición, con lo que no se puede realizar ese envío de datos a ChatGPT, porque la política de gestión de la información lo prohibe.

Figura 8: LeakGuardIAn bloqueando el envío datos sensibles

Este proyecto fue solo una PoC para evaluar qué herramientas o política de gestión de la información podíamos utilizar ante la posible amenaza de filtración de información enviando datos a ChatGPT, algo que puede pasar en cualquier otro dominio, en WhatsApp, Google o vete tú a saber qué sitio, pero desde luego si son equipos corporativos puede ser una buena fuente de monitorización del comportamiento de los empleados siguiendo o no las políticas corporativas.

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

Este proyecto lo conté dentro de la charla de la RootedCON 2024, como uno de los que hemos estado haciendo en el área de Ideas Locas, jugando con IA, con Machine Learning y con las tecnologías web, de lo que os hablaré en un post resumen. Pero para los que queráis hacer alguna prueba similar a este proyecto, hemos utilizado ReactJS, TransformersJS y Model Distlibert Base Multilingual Cased Name Entity Recognition de HuggingFace para hacer el análisis y detección de las filtraciones de nombres en la PoC.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares