Volgens een rapport gepubliceerd door Het Registeris de ChatGPT-crawler van OpenAI naar verluidt kwetsbaar voor manipulatie, waardoor deze mogelijk gedistribueerde Denial of Service (DDoS)-aanvallen op willekeurige websites kan initiëren. Dit probleem wordt nog steeds niet erkend door het technologiebedrijf.
OpenAI’s ChatGPT API toont kwetsbaarheid voor DDoS-aanvallen
Een artikel van beveiligingsonderzoeker Benjamin Flesch: gedeeld deze maand wordt via GitHub van Microsoft gedetailleerd hoe een enkel HTTP-verzoek aan de ChatGPT API een stortvloed aan netwerkverzoeken van de ChatGPT-crawler kan veroorzaken, met name de ChatGPT-gebruiker tussenpersoon. Deze kwetsbaarheid zou één API-verzoek kunnen uitbreiden tot maar liefst 5.000 verzoeken die elke seconde naar een gerichte website zijn gericht.
Flesch beschrijft de fout als een “ernstig kwaliteitsfout” in de afhandeling van HTTP POST-verzoeken naar een specifiek API-eindpunt dat wordt aangeroepen door OpenAI’s ChatGPT. Dit eindpunt wordt gebruikt om informatie te retourneren over webbronnen die worden aangehaald in de uitvoer van de chatbot. Wanneer de chatbot naar specifieke URL’s verwijst, haalt de attributie-API informatie van deze sites op. Een aanvaller kan een lange lijst met URL’s samenstellen, elk enigszins verschillend, maar toch verwijzend naar dezelfde site, wat resulteert in gelijktijdige verzoeken naar die site.
Volgens Flesch verifieert de API niet of hyperlinks binnen de lijst worden herhaald en wordt er ook geen limiet opgelegd aan het totale aantal ingediende hyperlinks. Hierdoor kan een aanvaller duizenden hyperlinks in één enkel HTTP-verzoek verzenden, waardoor de doelwebsite effectief wordt overspoeld.
Met behulp van een tool als Curl kunnen aanvallers een HTTP POST-verzoek indienen bij het ChatGPT-eindpunt zonder dat ze een authenticatietoken nodig hebben. De servers van OpenAI op Microsoft Azure reageren door verzoeken te initiëren voor elke hyperlink die via de verzoekparameter wordt verzonden. Deze actie kan de beoogde website overweldigen, omdat de crawler, met behulp van Cloudflare, bij elk verzoek toegang krijgt tot de site vanaf verschillende IP-adressen.
Best practices voor het voorbereiden van uw organisatie op cybersecurity-incidenten
De slachtoffersite zou waarschijnlijk verzoeken ontvangen van ongeveer twintig verschillende IP-adressen tegelijk, waardoor het voor hen moeilijk wordt om de bron van de aanval te achterhalen. Zelfs als een website een firewall in staat stelt de IP’s te blokkeren die aan de ChatGPT-bot zijn gekoppeld, zal de bot verzoeken blijven verzenden.
“Door deze versterking kan de aanvaller een klein aantal verzoeken naar de ChatGPT API sturen, maar het slachtoffer zal een zeer groot aantal verzoeken ontvangen”, legt Flesch uit.
Flesch rapporteerde de niet-geverifieerde reflecterende DDoS-kwetsbaarheid via meerdere kanalen, waaronder het OpenAI BugCrowd-platform en de beveiligingsteams van Microsoft, maar ontving geen reacties. Het Register nam ook contact op met OpenAI voor commentaar, maar ontving geen antwoord.
Daarnaast wees Flesch op een ander probleem met betrekking tot deze API, dat kwetsbaar is voor snelle injectie. Door deze fout kan de crawler willekeurige vragen verwerken met hetzelfde attributie-API-eindpunt, in plaats van alleen websitegegevens op te halen zoals bedoeld.
Flesch bekritiseerde OpenAI omdat het er niet in slaagde basisveiligheidsmaatregelen te implementeren, zoals het dedupliceren van URL’s of het beperken van de grootte van URL-lijsten. Hij speculeerde dat de API een experimenteel project zou kunnen zijn voor de AI-agenten van OpenAI, waarbij de noodzakelijke validatielogica ontbreekt om dit soort misbruik te voorkomen. Hij merkte op dat gevestigde normen in de softwareontwikkeling dergelijke fouten doorgaans voorkomen om robuuste prestaties te garanderen.
“Ik kan me niet voorstellen dat een goedbetaalde ingenieur uit Silicon Valley dit soort software ontwerpt, omdat de ChatGPT-crawler al vele jaren het internet doorzoekt, net als de Google-crawler”, aldus Flesch. “Als crawlers hun aantal verzoeken niet beperken tot dezelfde website, worden ze onmiddellijk geblokkeerd.”
Uitgelichte afbeeldingscredits: Matheus Bertelli/Pexels