Op 20 maart heeft OpenAI de populaire generatieve AI-tool ChatGPT voor een paar uur offline gehaald. Het later toegegeven dat de reden voor de storing een kwetsbaarheid in de softwaretoevoerketen was die zijn oorsprong vond in de open-source in-memory datastore-bibliotheek 'Redis.
Als gevolg van deze kwetsbaarheid was er een tijdsperiode (tussen 1 en 10 uur PST op 20 maart) waarin gebruikers per ongeluk toegang konden krijgen tot de chatgeschiedenistitels van andere gebruikers en mogelijk betalingsgerelateerde informatie konden vrijgeven, zoals namen, e-mailadressen en betalingsadressen , creditcardtype en laatste vier cijfers van het betaalkaartnummer.
Dit was een relatief kleine bug die snel werd opgemerkt en gerepareerd. Gezien de stijgende populariteit van ChatGPT en andere generatieve LLM, wat zouden de gevolgen kunnen zijn van een meer doelgerichte aanpak aanval op de software supply chain?
In dit artikel gaan we na wat er precies op 20 maart heeft plaatsgevonden en hoe de gebruikersinformatie is vrijgegeven. We zullen ook een korte denkbeeldige reis maken naar een ernstiger potentiële aanval en kijken welke informatie kan worden onthuld en wat kan worden gedaan om dergelijke gevallen te helpen voorkomen. We eindigen met een paar algemene zaken beveiliging van de toeleveringsketen van software suggesties die relevant kunnen zijn, ongeacht met welke software uw bedrijf werkt.
Dit is wat er is gebeurd
Net als bijna elk ander softwarebedrijf is de code van OpenAI voor een groot deel afhankelijk van open-sourcebibliotheken en -code. In dit geval werd de bug ontdekt in de open-sourcebibliotheek van de Redis-client, redis-py. Hier is de bugbeschrijving zoals deze wordt weergegeven in de eigen versie van het bedrijf hertellen:
- OpenAI gebruikt Redis om gebruikersinformatie op hun server in de cache op te slaan, zodat de database niet voor elk verzoek hoeft te worden gecontroleerd.
- Redis Clusters worden gebruikt om deze belasting over meerdere Redis-instanties te verdelen.
- De redis-py-bibliotheek wordt gebruikt om te communiceren met Redis vanaf de Python-server van het bedrijf, waarop Asynchroon.
- De bibliotheek onderhoudt een gedeelde pool van verbindingen tussen de server en het cluster en recycleert een verbinding die na voltooiing voor een ander verzoek kan worden gebruikt.
- Bij gebruik van Asyncio gedragen verzoeken en antwoorden met redis-py zich als twee wachtrijen: de beller duwt een verzoek naar de binnenkomende wachtrij, verschijnt een reactie van de uitgaande wachtrij, en retourneert vervolgens de verbinding met de pool.
- Stel dat een verzoek wordt geannuleerd nadat het in de inkomende wachtrij is geplaatst, maar voordat het antwoord uit de uitgaande wachtrij verschijnt. In dat geval zien wij onze kever: de verbinding raakt beschadigd en het volgende antwoord dat wordt getrokken voor een niet-gerelateerd verzoek, kan gegevens ontvangen die in de verbinding zijn achtergebleven.
- In de meeste gevallen resulteert dit in een onherstelbare serverfout en moet de gebruiker het verzoek opnieuw proberen.
- Maar in sommige gevallen komen de beschadigde gegevens overeen met het gegevenstype dat de aanvrager verwachtte, en dus lijkt wat uit de cache wordt geretourneerd geldig, zelfs als het aan een andere gebruiker toebehoort.
- Op maandag 1 maart om 20 uur Pacific Time introduceerde OpenAI onbedoeld een wijziging op hun server die een piek veroorzaakte in het annuleren van Redis-verzoeken. Hierdoor was de kans groter dan normaal dat elke verbinding slechte gegevens retourneerde.
Deze specifieke bug verscheen alleen in de Asyncio redis-py-client voor Redis Cluster en is sindsdien opgelost door gecombineerd werk van de OpenAI-ingenieurs en de beheerders van de Redis-bibliotheek.
Ter herinnering: deze bug kan onbedoeld de zoektitel van een andere actieve gebruiker en een deel van de betalingsgegevens van die gebruiker blootleggen. Sommige gebruikers geven ChatGPT nu volledige of gedeeltelijke controle over hun persoonlijke gegevens financiën, waardoor de openbaarmaking van deze informatie potentieel catastrofale gevolgen kan hebben.
Dit is wat er kan gebeuren
In dit geval was de bug in de softwaretoevoerketen die OpenAi had geërfd van de open-sourcebibliotheek Redis relatief eenvoudig en gemakkelijk te repareren. Ik zou graag uw bereidheid willen vragen een ernstiger scenario voor te stellen, een waarbij een gerichte aanval op de toeleveringsketen van software plaatsvindt, vergelijkbaar met de aanval die we eerder hebben gezien. SolarWinds vindt plaats en blijft gedurende een aanzienlijke periode, laten we zeggen maanden, onontdekt.
Omdat gebruikers OpenAI nu betalen voor directere toegang tot hun LLM, zou een dergelijke aanval mogelijk de klantinformatie, inclusief hun betalingsgegevens, kunnen onthullen. Maar dat is niet echt de informatie waar onze hypothetische hackergroep in geïnteresseerd is. ChatGPT beschikt momenteel over 1.16 miljard gebruikers. In maart 1 overschreden de 2023 miljard gebruikers. Deze cijfers laten een stijging van bijna 55% zien tussen februari 2023 en maart 2023. Nu talloze mensen generatieve AI gebruiken voor alles, van kunst tot geschiedenishuiswerk tot financiën, zou onbeperkte toegang tot de database van OpenAI potentieel kunnen onthullen. chantage-informatie over ontelbare gebruikers. De Zwarte spiegel aflevering 'Shut Up and Dance' (Seizoen 3, Aflevering 3, 2016) geeft een behoorlijk fantasierijk resultaat als dergelijke expliciete informatie zijn weg vindt naar de handen van gewetenloze mensen. Als je op zoek bent naar een meer realistische parallel, dan is de Datalek van Ashley Madison uit 2015 had enkele ernstige gevolgen, waarvan sommige zelfs jaren later nog steeds relevant zijn.
Laten we nog een stap verder gaan in onze fantasierijke hack en zeggen dat deze naamloze hackergroep niet alleen toegang kan krijgen tot de OpenAI-database, maar ook de resultaten van verzoeken kan beïnvloeden. Kunt u zich het potentieel voorstellen dat miljoenen mensen gericht financieel advies op maat krijgen van een hackergroep? Of het verkrijgen van valse beveiligingsscaninformatie of codetestinformatie, wederom met dank aan onze mysterieuze hackergroep. Het feit dat ChatGPT nu toegang heeft tot internet, maakt het des te gemakkelijker om informatie die de servers van OpenAI binnenkomt of verlaat te verbergen als niets meer dan gewone, onschadelijke gegevens.
Ik stop hier, maar ik denk dat je de enorme potentiële schade kunt zien die een software supply chain-aanval op een succesvolle LLM kan veroorzaken.
Hoe u uzelf en uw softwaretoeleveringsketen kunt beschermen
Een van de eerste dingen die u kunt doen om uzelf te beschermen, is uw wantrouwen aanscherpen. Vertrouw geen enkel hulpmiddel impliciet, hoe goed het ook lijkt, tenzij u kunt garanderen dat u volledige controle heeft over wat het doet, wat het potentieel kan doen en tot welke bronnen het toegang heeft. De optie om een open-source versie van ChatGPT uit te voeren plaatselijk kan u meer controle geven, zowel over de trainingsinformatie als over het toegangsniveau ervan.
Als softwarebedrijf dat alerter wil zijn op potentieel risico's in de toeleveringsketen van software geërfd via de open-sourcepakketten die het gebruikt, raad ik je aan om het eens te proberen De oplossing van Scribe. Scribe heeft een platform ontwikkeld dat grotere transparantie in uw volledige SDLC mogelijk maakt in termen van alle pakketten en geërfde pakketten die u opneemt, evenals alle tests die u onderweg wilt laten plaatsvinden. Het platform genereert een SBOM voor elk van uw builds en bevat alle verzamelde beveiligingsinformatie voor elke build op één plek. Het kan u ook vertellen of uw build voldoet aan SLSA tot niveau 3 en aan NIST's SSDF. De nieuwe Valint-tool staat je ook toe om stel uw eigen beleid samen en pas ze toe op elk gewenst deel van uw build-pijplijn. Door al uw beveiligingsinformatie op één plek op te slaan, geordend per build in de loop van de tijd, kunt u observeren hoe uw applicatie verandert naarmate deze volwassener wordt, zowel qua afhankelijkheden als qua beveiliging.
De toekomst van AI
AI is er om te blijven, wat we ook doen. De mate van betrokkenheid ervan in ons dagelijks leven is een kwestie van speculatie, maar alleen al op basis van de afgelopen zes maanden lijkt het zeker dat we naar een potentieel keerpunt kijken voor de LLM-technologie en het gebruik ervan. Omdat AI het maken van code en complete apps een kwestie maakt van het vinden van de juiste aanwijzingen in 'natuurlijke taal', kunnen we te maken krijgen met een ongekende stortvloed aan applicaties die niet goed zijn getest en niet over de juiste beveiligingsmaatregelen beschikken om beide gebruikers te beschermen. en de mensen of bedrijven die ze hebben gemaakt.
Later deze maand organiseert Scribe een webinar die specifiek ingaat op de vraag of u er wel of niet op kunt vertrouwen dat AI u helpt uw softwaretoeleveringsketen te beschermen. Als u vragen heeft op basis van wat u hier heeft gelezen, is dit een goed moment om deze voor te leggen.
Aangezien de Het Scribe-platform is gratis te gebruiken voor maximaal 100 builds per maand. Ik moedig ieder van jullie, een enkele ontwikkelaar of een bedrijf, aan om het eens te proberen en te zien aan hoeveel van je beveiligings- en regelgevingsbehoeften het platform voldoet. Tot de dag dat een echte inlichtingendienst achter onze schermen naar ons zal luisteren, moeten we andere manieren vinden om met onze eigen veiligheid om te gaan. Ik geloof dat het bevorderen van zichtbaarheid als voorloper van vertrouwen een goed begin is.
Deze inhoud wordt u aangeboden door Scribe Security, een toonaangevende aanbieder van end-to-end software supply chain-beveiligingsoplossingen die state-of-the-art beveiliging levert voor codeartefacten en codeontwikkelings- en leveringsprocessen in de software supply chain. Meer informatie.