El rastreador ChatGPT de OpenAI parece estar dispuesto a iniciar ataques distribuidos de denegación de servicio (DDoS) en sitios web arbitrarios, una vulnerabilidad reportada que el gigante tecnológico aún no ha reconocido.

en un escribir compartido este mes a través de GitHub de Microsoft, Benjamin Flesch, un investigador de seguridad en Alemania, explica cómo una única solicitud HTTP a la API ChatGPT se puede utilizar para inundar un sitio web específico con solicitudes de red del rastreador ChatGPT, específicamente Usuario de ChatGPT.

Esta avalancha de conexiones puede o no ser suficiente para derribar cualquier sitio determinado, en términos prácticos, aunque podría decirse que sigue siendo un peligro y un poco de descuido por parte de OpenAI. Se puede utilizar para amplificar una única solicitud de API en entre 20 y 5000 o más solicitudes al sitio web de una víctima elegida, cada segundo, una y otra vez.

«La API ChatGPT presenta un grave defecto de calidad al manejar solicitudes HTTP POST para https://chatgpt.com/backend-api/attributions«, explica Flesch en su aviso, refiriéndose a un punto final API llamado por ChatGPT de OpenAI para devolver información sobre las fuentes web citadas en la salida del chatbot. Cuando ChatGPT menciona sitios web específicos, llamará attributions con una lista de URL de esos sitios para que su rastreador acceda y obtenga información.

Si arroja una lista larga y grande de URL en la API, cada una ligeramente diferente pero todas apuntando al mismo sitio, el rastreador se activará y accederá a todas ellas a la vez.

«La API espera una lista de hipervínculos en el parámetro urls. Es bien sabido que los hipervínculos al mismo sitio web se pueden escribir de muchas maneras diferentes», escribió Flesch.

«Debido a malas prácticas de programación, OpenAI no comprueba si un hipervínculo al mismo recurso aparece varias veces en la lista. OpenAI tampoco impone un límite en el número máximo de hipervínculos almacenados en el parámetro URL, lo que permite la transmisión de muchos miles de hipervínculos dentro de una sola solicitud HTTP.»

La víctima nunca sabrá qué la golpeó.

Por lo tanto, al utilizar una herramienta como Curl, un atacante puede enviar una solicitud HTTP POST (sin necesidad de un token de autenticación) a ese punto final ChatGPT y los servidores de OpenAI en Microsoft Azure responderán iniciando una solicitud HTTP para cada hipervínculo enviado a través del urls() parámetro en la solicitud. Cuando esas solicitudes se dirigen al mismo sitio web, pueden potencialmente abrumar al objetivo, provocando síntomas de DDoS: el rastreador, representado por Cloudflare, visitará el sitio de destino desde una dirección IP diferente cada vez.

«La víctima nunca sabrá qué les afectó, porque sólo ven el bot ChatGPT accediendo a su sitio web desde unas 20 direcciones IP diferentes simultáneamente», dijo Flesch. El Registroagregando que si la víctima habilitó un firewall para bloquear el rango de direcciones IP utilizado por el bot ChatGPT, el bot aún enviaría solicitudes.

«Por lo tanto, una solicitud fallida/bloqueada no impediría que el bot ChatGPT solicite nuevamente el sitio web de la víctima en el siguiente milisegundo».

«Debido a esta amplificación, el atacante puede enviar una pequeña cantidad de solicitudes a la API ChatGPT, pero la víctima recibirá una gran cantidad de solicitudes», explicó Flesch.

Flesch dice que informó sobre esta vulnerabilidad DDoS reflectante no autenticada a través de numerosos canales (la plataforma de informes de vulnerabilidad BugCrowd de OpenAI, el correo electrónico del equipo de seguridad de OpenAI, Microsoft (incluido Azure) y HackerOne), pero no ha escuchado nada.

El Registro Nos comunicamos dos veces con OpenAI respaldado por Microsoft y no hemos recibido respuesta.

«Yo diría que la historia más importante es que esta API también era vulnerable a una inyección rápida», dijo, en referencia a un artículo separado. divulgación de vulnerabilidad. «¿Por qué habrían de tener una inyección rápida para una tarea tan simple? Creo que podría ser porque están probando su cosa de ‘agente de IA’ autónomo».

Ese segundo problema se puede aprovechar para hacer que el rastreador responda consultas a través del mismo attributions punto final API; puedes enviar preguntas al bot y él puede responderlas, cuando en realidad no se supone que debe hacerlo; se supone que solo busca sitios web.

Flesch cuestionó por qué el bot de OpenAI no ha implementado métodos simples y establecidos para deduplicar adecuadamente las URL en una lista solicitada o para limitar el tamaño de la lista, ni logró evitar las vulnerabilidades de inyección rápida que se han solucionado en la interfaz principal de ChatGPT.

«A mí me parece que esta pequeña API es un proyecto de ejemplo de sus agentes ChatGPT AI, y su tarea es analizar una URL a partir de los datos proporcionados por el usuario y luego usar Azure para buscar el sitio web», dijo.

«¿El ‘agente de IA’ no viene con seguridad incorporada?» preguntó. «Porque obviamente el ‘agente de IA’ que estaba manejando el urls() El parámetro no tenía idea del agotamiento de los recursos, ni de por qué sería estúpido enviar miles de solicitudes en el mismo segundo al mismo dominio web.

«¿No debería haber reconocido que victim.com/1 y victim.com/2 apuntar al mismo sitio web victim.com y si el victim.com/1 la solicitud está fallando, ¿por qué enviaría una solicitud a victim.com/2 inmediatamente después?

«Todas estas son pequeñas piezas de lógica de validación que la gente ha estado implementando en su software durante años, para evitar abusos como este».

Flesch dijo que la única explicación que se le ocurre es que OpenAI está utilizando un agente de IA para activar estas solicitudes HTTP.

«No puedo imaginar a un ingeniero bien pagado de Silicon Valley diseñando un software como este, porque el rastreador ChatGPT ha estado rastreando la web durante muchos años, al igual que el rastreador de Google», dijo. «Si los rastreadores no limitan su cantidad de solicitudes al mismo sitio web, serán bloqueados inmediatamente». ®

Source link