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.
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.
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.
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).
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.
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.
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.
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
|
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)