Il semblerait qu’un rôle du robot de ChatGPT d’OpenAI soit de provoquer des attaques par déni de service distribué (DDoS) sur des sites web au hasard, une vulnérabilité que la société technologique n’a pas encore reconnue.
Dans un article publié ce mois-ci sur GitHub par Microsoft, Benjamin Flesch, un chercheur en sécurité basé en Allemagne, explique qu’un simple appel HTTP à l’API de ChatGPT peut être utilisé pour inonder un site sélectionné de requêtes réseau en provenance du robot ChatGPT, précisément ChatGPT-User.
Bien que cette saturation puisse ne pas suffire à faire tomber n’importe quel site, elle représente néanmoins un danger et pourrait être considérée comme une lacune de la part d’OpenAI. Cette méthode pourrait amplifier une unique requête API en générant entre 20 et 5 000 requêtes, ou même plus, à chaque seconde vers le site ciblé, de manière répétée.
“L’API de ChatGPT présente un défaut de qualité sévère lors du traitement des requêtes HTTP POST effectuées sur https://chatgpt.com/backend-api/attributions
,” explique Flesch dans son rapport, faisant référence à un point d’accès API utilisé par ChatGPT pour retourner des informations sur les sources web citées dans les réponses du chatbot. Lorsque ChatGPT mentionne des sites spécifiques, il appelle l’endpoint attributions
avec une liste d’URLs pour que son robot aille accéder et récupérer des informations à ce sujet.
Si un utilisateur envoie une longue liste d’URLs, chaque lien étant légèrement différent mais pointant vers le même site, le robot va les consulter toutes en même temps.
“L’API s’attend à recevoir une liste de liens dans le paramètre urls
. Il est bien connu que les liens vers le même site peuvent être formulés de plusieurs manières,” a écrit Flesch.
Selon lui, “parce qu’il y a des pratiques de programmation inadéquates, OpenAI ne vérifie pas si un lien vers la même ressource apparaît plusieurs fois dans la liste. OpenAI n’impose aussi aucune limite au nombre maximum de liens stockés dans le paramètre urls
, permettant ainsi d’envoyer plusieurs milliers de liens dans une seule requête HTTP.”
La victime ne saura jamais ce qui l’a frappée
Ainsi, en utilisant un outil comme Curl, un attaquant peut envoyer une requête HTTP POST – sans aucun besoin d’un jeton d’authentification – vers ce point d’accès de ChatGPT, et les serveurs d’OpenAI sur Microsoft Azure répondront par un enchaînement de requêtes HTTP pour chaque lien soumis via le paramètre urls[]
. Lorsque ces requêtes sont dirigées vers le même site, elles peuvent potentiellement submerger la cible, provoquant des symptômes de DDoS – le robot, passant par Cloudflare, visitera le site visé sous une adresse IP différente à chaque fois.
“La victime ne saura jamais ce qui l’a frappée, car elle ne voit que le robot ChatGPT frappant leur site à partir d’environ 20 adresses IP différentes simultanément,” a déclaré Flesch à The Register, ajoutant que si la victime activait un pare-feu pour bloquer la plage d’adresses IP utilisée par le robot ChatGPT, celui-ci continuerait à envoyer des requêtes.
“Donc une requête échouée ou bloquée ne saurait empêcher le robot ChatGPT de demander à nouveau le site de la victime dans la milliseconde suivante.”
“À cause de cette amplification, l’attaquant peut envoyer un petit nombre de requêtes à l’API ChatGPT, mais la victime recevra un très grand nombre de requêtes,” a précisé Flesch.
Flesch affirme avoir signalé cette vulnérabilité DDoS réflexive non authentifiée à plusieurs canaux – la plateforme de signalement des vulnérabilités BugCrowd d’OpenAI, l’équipe de sécurité d’OpenAI, Microsoft (y compris Azure) et HackerOne – mais n’a reçu aucune réponse.
The Register a tenté de contacter à deux reprises OpenAI soutenu par Microsoft, sans obtenir de retour.
“À mon avis, l’histoire plus grande est que cette API était également vulnérable à l’injection de commandes,” dit-il, en faisant référence à une autre divulgation de vulnérabilité. “Pourquoi auraient-ils une injection de commandes pour une tâche aussi simple ? Je pense que c’est peut-être parce qu’ils testent leur technologie d’« agent AI » autonome.”
Ce second problème peut être exploité pour amener le robot à répondre à des questions via le même point d’accès attributions
; il est possible de poser des questions au bot, et celui-ci peut y répondre, alors qu’il ne devrait pas le faire ; sa tâche est simplement de récupérer des sites web.
Flesch s’interroge sur la raison pour laquelle le robot d’OpenAI n’a pas mis en œuvre des méthodes simples et établies pour correctement dédupliquer les URLs dans une liste demandée, ou pour limiter la taille de cette liste, ni pour éviter des vulnérabilités d’injection de commandes qui ont déjà été traitées dans l’interface principale de ChatGPT.
“Pour moi, il semble que cette petite API soit un projet d’exemple de leurs agents AI ChatGPT, dont la tâche consiste à extraire une URL de données fournies par l’utilisateur et ensuite à utiliser Azure pour récupérer le site web,” dit-il.
“Est-ce que l’« agent AI » n’est pas censé avoir une sécurité intégrée ?” demande-t-il. “Parce qu’il est évident que l’« agent AI » qui gérait le paramètre urls[]
n’avait aucune notion de l’épuisement des ressources, ou pourquoi ce serait imprudent d’envoyer des milliers de requêtes en une seconde vers le même domaine web.”
“Ne devrait-il pas avoir reconnu que victim.com/1
et victim.com/2
pointent vers le même site victim.com
et que, si la requête victim.com/1
échoue, pourquoi enverrait-il une requête vers victim.com/2
immédiatement après ?”
“Ce sont tous de petits morceaux de logique de validation que les développeurs implémentent depuis des années dans leurs logiciels pour prévenir des abus de ce type.”
Flesch conclut en disant que la seule explication qui lui vient à l’esprit est qu’OpenAI utilise un Agent AI pour déclencher ces requêtes HTTP.
“Je ne peux pas imaginer qu’un ingénieur hautement payé de la Silicon Valley ait conçu un logiciel comme celui-ci, car le robot ChatGPT explore le web depuis de nombreuses années, tout comme le robot de Google,” dit-il. “Si les robots ne limitent pas le nombre de requêtes envoyées vers le même site web, ils seront immédiatement bloqués.” ®
Points à retenir
- OpenAI pourrait faire face à une vulnérabilité DDoS non reconnue concernant son API ChatGPT.
- Une série de malformations dans la programmation de l’API permettrait d’amplifier les requêtes DDoS sans authentification.
- La capacité d’inonder un site avec des milliers de requêtes pourrait mener à une saturation de ses ressources et induire des dysfonctionnements.
- Des pratiques de sécurité de base pourraient faire défaut dans le développement de l’API, laissant ouverte la porte à des abus.
Ce sujet soulève des questions importantes sur la sécurité des API et la responsabilité des entreprises technologiques. Alors que la complexité croissante des systèmes d’IA offre de nombreuses opportunités, cela illustre également l’importance d’intégrer des mécanismes de sécurité robustes dès les premières étapes de développement. Une discussion est nécessaire pour établir des normes qui garantissent la sécurité tout en favorisant l’innovation. Comment les entreprises peuvent-elles trouver cet équilibre sans compromettre à la fois la sécurité et l’efficacité ?
Nos rédacteurs utilisent l'IA pour les aider à proposer des articles frais de sources fiables à nos utilisateurs. Si vous trouvez une image ou un contenu inapproprié, veuillez nous contacter via le formulaire DMCA et nous le retirerons rapidement. / Our editors use AI to help them offer our readers fresh articles from reliable sources. If you find an image or content inappropriate, please contact us via the DMCA form and we'll remove it promptly.