¿Qué sucede cuando una empresa de inteligencia artificial es víctima de una vulnerabilidad en la cadena de suministro de software?

Todos los Artículos

El 20 de marzo, OpenAI eliminó la popular herramienta de inteligencia artificial generativa ChatGPT durante unas horas. Eso mas tarde aceptado que el motivo de la interrupción fue una vulnerabilidad de la cadena de suministro de software que se originó en la biblioteca del almacén de datos en memoria de código abierto.Redis".  

Como resultado de esta vulnerabilidad, hubo una ventana de tiempo (entre la 1 y las 10 a.m. PST del 20 de marzo) donde los usuarios podían acceder accidentalmente a los títulos del historial de chat de otros usuarios y posiblemente exponer información relacionada con pagos, como nombres, direcciones de correo electrónico y direcciones de pago. , tipo de tarjeta de crédito y últimos cuatro dígitos del número de la tarjeta de pago. 

Se trataba de un error relativamente menor que se detectó y solucionó rápidamente. Teniendo en cuenta la creciente popularidad de ChatGPT y otros LLM generativos, ¿cuáles podrían ser las consecuencias de un enfoque más específico? ataque a la cadena de suministro de software?  

En este artículo, veremos qué ocurrió exactamente el 20 de marzo y cómo se expuso la información del usuario. También haremos un breve viaje imaginario a un ataque potencial más grave y veremos qué información puede quedar expuesta y qué se puede hacer para ayudar a prevenir tales casos. Terminaremos con algunos generales. seguridad de la cadena de suministro de software sugerencias que pueden ser relevantes sin importar en qué software esté trabajando su empresa. 

Esto es lo que sucedió

Como casi cualquier otra empresa de software, el código de OpenAI depende en gran medida de bibliotecas y códigos de código abierto. En este caso, el error se descubrió en la biblioteca de código abierto del cliente Redis, redis-py. Aquí está la descripción del error tal como aparece en el propio sitio web de la empresa. recuento:

  • OpenAI utiliza Redis para almacenar en caché la información del usuario en su servidor para no requerir verificar su base de datos para cada solicitud. 
  • Los clústeres de Redis se utilizan para distribuir esta carga en varias instancias de Redis. 
  • La biblioteca redis-py se utiliza para interactuar con Redis desde el servidor Python de la empresa, que se ejecuta con asincio
  • La biblioteca mantiene un grupo compartido de conexiones entre el servidor y el clúster y recicla una conexión para usarla en otra solicitud una vez realizada.
  • Cuando se usa Asyncio, las solicitudes y respuestas con redis-py se comportan como dos colas: la persona que llama envía una solicitud al cola entrante, aparece una respuesta del cola saliente, y luego, devuelve la conexión al grupo.
  • Supongamos que una solicitud se cancela después de haber sido enviada a la cola entrante, pero antes de que la respuesta aparezca en la cola saliente. En ese caso, vemos nuestro error: la conexión se daña y la siguiente respuesta que se obtiene para una solicitud no relacionada puede recibir datos que quedan en la conexión. 
  • En la mayoría de los casos, esto resulta en un error irrecuperable del servidor y el usuario tendrá que intentar su solicitud nuevamente. 
  • Pero en algunos casos, los datos corruptos coinciden con el tipo de datos que esperaba el solicitante, por lo que lo que se devuelve del caché parece válido, incluso si pertenece a otro usuario.
  • A la 1 am, hora del Pacífico, el lunes 20 de marzo, OpenAI introdujo sin darse cuenta un cambio en su servidor que provocó un aumento en las cancelaciones de solicitudes de Redis. Esto creó una probabilidad mayor de lo habitual de que cada conexión devolviera datos incorrectos.

Este error específico solo apareció en el cliente Asyncio redis-py para Redis Cluster y desde entonces se ha solucionado mediante el trabajo combinado de los ingenieros de OpenAI y los mantenedores de la biblioteca de Redis. 

Como recordatorio, este error podría exponer inadvertidamente el título de búsqueda de otro usuario activo y parte de la información de pago de ese usuario. Algunos usuarios ahora le están dando a ChatGPT control total o parcial sobre su información personal. finanzas, dando a la exposición de esta información resultados potencialmente catastróficos.

Esto es lo que podría pasar

En este caso, el error en la cadena de suministro de software heredado por OpenAi de la biblioteca de código abierto Redis era relativamente simple y fácil de parchear. Me gustaría pedirles que nos permitan imaginar un escenario más grave, en el que se produzca un ataque dirigido a la cadena de suministro de software, similar al que sufrió Vientos solares tiene lugar y permanece sin ser descubierto durante un período de tiempo significativo, digamos meses.

Dado que los usuarios ahora pagan a OpenAI para obtener un acceso más directo a su LLM, un ataque de este tipo podría revelar la información del cliente, incluidos sus datos de pago. Pero esa no es realmente la información que le interesa a nuestro hipotético grupo de hackers. ChatGPT actualmente tiene 1.16 mil millones de usuarios. Superó los mil millones de usuarios en marzo de 1. Estas cifras representan un aumento de casi el 2023% desde febrero de 55 hasta marzo de 2023. Ahora que numerosas personas utilizan la IA generativa para cualquier cosa, desde arte hasta tareas de historia y finanzas, el acceso sin restricciones a la base de datos de OpenAI podría revelar potencial. información de chantaje a innumerables usuarios. El Espejo Negro El episodio 'Shut Up and Dance' (temporada 3, episodio 3, 2016) ofrece un resultado imaginativo bastante bueno para que información tan explícita llegue a manos de personas sin escrúpulos. Si está buscando un paralelo más real, el Ashley Madison violación de datos de 2015 tuvo algunas consecuencias graves, algunas de las cuales siguen siendo relevantes incluso años después.

Vayamos un poco más allá en nuestro truco imaginativo y digamos que este grupo de hackers anónimo no solo puede obtener acceso a la base de datos OpenAI, sino que también puede influir en los resultados de las solicitudes. ¿Te imaginas el potencial de que millones de personas reciban asesoramiento financiero personalizado y personalizado por parte de un grupo de hackers? O obtener información falsa de escaneo de seguridad o información de prueba de código, cortesía, nuevamente, de nuestro misterioso grupo de piratas informáticos. El hecho de que ChatGPT ahora pueda acceder a Internet hace que sea aún más fácil ocultar la información que entra o sale de los servidores de OpenAI como nada más que datos normales e inocuos.

Me detendré aquí, pero creo que se puede ver el enorme daño potencial que puede causar un ataque a la cadena de suministro de software contra un LLM exitoso.

Cómo protegerse a sí mismo y a su cadena de suministro de software

Una de las primeras cosas que puede hacer para protegerse es agudizar su sentido de sospecha. No confíe implícitamente en ninguna herramienta, por benigna que parezca, a menos que pueda garantizar que tiene control total sobre lo que hace, lo que potencialmente puede hacer y a qué recursos tiene acceso. La opción de ejecutar una versión de código abierto de ChatGPT localmente puede darte más control, tanto sobre la información de entrenamiento como sobre el nivel de acceso que tiene.

Como empresa de software que desea estar más atenta a las posibles riesgos de la cadena de suministro de software heredado a través de los paquetes de código abierto que utiliza, le animo a que consulte La solución del escriba. Scribe desarrolló una plataforma que permite una mayor transparencia en su SDLC completo en términos de todos los paquetes y paquetes heredados que incluye, así como cualquier prueba que desee realizar a lo largo del camino. La plataforma genera un SBOM para cada una de sus compilaciones e incluye toda la información de seguridad recopilada para cada compilación en un solo lugar. También puede indicarle si su compilación cumple con SLSA hasta el nivel 3 y con SSDF de NIST. El nuevo herramienta valiosa también le permite compone tus propias políticas y aplíquelos a cualquier parte de su proceso de construcción que desee. Guardar toda su información de seguridad en un solo lugar, ordenada por compilaciones a lo largo del tiempo, le permite observar cómo cambia su aplicación a medida que madura tanto en términos de dependencias como de seguridad. 

Banner

El futuro de la IA 

La IA llegó para quedarse sin importar lo que hagamos. El nivel de su participación en nuestra vida cotidiana es una cuestión de especulación, pero basándonos únicamente en los últimos 6 meses, parece seguro que estamos ante un posible momento decisivo para la tecnología LLM y sus usos. A medida que la IA hace que la creación de código y aplicaciones completas sea una cuestión de encontrar las indicaciones correctas en "lenguaje natural", es posible que nos enfrentemos a una avalancha sin precedentes de aplicaciones que no han sido probadas adecuadamente ni tienen las salvaguardas de seguridad adecuadas para proteger a sus usuarios. y las personas o empresas que los crearon. 

A finales de este mes, Scribe organizará una Webinar aborda específicamente la cuestión de si puede o no confiar en la IA para ayudarle a proteger su cadena de suministro de software. Si tiene alguna pregunta basada en lo que ha leído aquí, este sería un buen lugar y momento para presentarla.

Puesto que el La plataforma Scribe es gratuita para usar hasta 100 compilaciones por mes. Animo a cualquiera de ustedes, un solo desarrollador o una empresa, a que lo prueben y vean cuántas de sus necesidades regulatorias y de seguridad satisface la plataforma. Hasta el día en que una verdadera inteligencia nos escuche detrás de nuestras pantallas, tendremos que encontrar otras formas de abordar nuestra propia seguridad y creo que promover la visibilidad como precursora de la confianza es un buen punto de partida.

Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.