Tegnap tette közzé jelentését a Checkmarx arról az OpenAI-nál talált hibáról, amelynek kihasználásával bárki korlátlan kerethez juthatott, ha nem csak kipróbálni, hanem nagyüzemben használni is akarta a ChatGPT-t. Az OpenAI ugyanis lehetővé tette, hogy aki regisztrál egy felhasználói fiókot, ingyenesen folytathatott alapszintű kísérleteket egy meghatározott próbaidőszak alatt. Ez egy komolyabb integrált termék létrehozásához nyilván kevés, de egy viszonylag egyszerű trükk révén korlátlanul is lehetett használni az algoritmust, írja elemzésében a biztonsági cég.
Amikor valaki regisztrál egy fiókot, a következőt kell tennie: 1. megad egy e-mailcímet; 2. a címre kap egy aktiváló kódot, és amikor arra kattint, 3. meg kellett adnia egy telefonszámot; 4. a telefonra kap SMS-ben egy érvényesítő kódot. Ha az OpenAI adatbázisában nem szerepel sem az e-mailcím, sem a telefonszám akkor létrejön a fiók. Ha csak egyik is szerepel ott, akkor a felhasználó értesítést kap arról, hogy a fiók már létezik, emiatt nem kap ingyenes kreditet.
A kutatók rájöttek, hogy az email egyedisége bárhogy előállítható, akár ideiglenes e-mailszolgáltatások segítségével is. A telefonszám-korlátozás megkerülése kicsit bonyolultabb, bár az sem ördöngösség. Csupán nullákat vagy nem-ASCII bájtokat kellett írni a telefonszám elé, és azt a rendszer máris más számnak értékelte, és az érvényesítő kódot elküldte a számra.
Persze magának a problémának az azonosítása azért nem volt ennyire egyszerű: a Chechmarx kutatói is úgy találtak rá, hogy lehallgatták az OpenAI API-jának forgalmát, és annak elemzése során jöttek rá, hogyan lehet kicselezni az ellenőrzési mechanizmust.
Maga a mechanizmus működött rosszul
A probléma lényege az volt, írja az elemzés nyomán a SecurityWeek, hogy nem volt következetes a telefonszámok ellenőrzése. Amikor a felhasználó megadta a telefonszámot, először egy komponens ellenőrizte, hogy az szerepel-e a már regisztrált telefonszámok között. Utána azonban átadta egy másik komponensnek, amely megtisztította a számot a fölösleges karakterektől, majd pedig elküldte rá az érvényesítő kódot. Így azonban elméletben végtelen számú fiókot lehetett regisztrálni ingyenes kreditekkel.
Számok nyelvére fordítva: míg az első komponens például a 0123, a 00123 és a 12\u000a3 stb. értékeket különbözőnek érzékelte, addig a második komponens mindhárom esetben 123-ra redukálta a karaktersort, és el is küldte a fiókérvényesítő kódot.
A probléma elkerüléséhez mindössze annyi kellett volna, ha a normalizálási-tisztítási folyamatot az első feldolgozás előtt lefuttatják, ami biztosította volna, hogy az érték mindkét ellenőrzésnél azonos legyen.
Az esetnek nem lettek súlyos következményei. A Checkmarx már 2022 decemberében értesítette a sérülékenységről az OpenAI-t. A hiba, amit azóta kijavítottak, fontos tanulsággal szolgál: a legfejlettebb rendszerek sem mentesek olyan hibáktól, amiket kis odafigyeléssel, pontosabb tervezéssel egyszerűen el lehetne kerülni.
Digitalizáció a mindennapokban: hogyan lesz a stratégiai célból napi működés?
A digitális transzformáció sok vállalatnál már nem cél, hanem elvárás – mégis gyakran megreked a tervezőasztalon. A vezetői szinten megfogalmazott ambiciózus tervek nehezen fordulnak át napi működéssé, ha hiányzik a technológiai rugalmasság vagy a belső kohézió.
CIO KUTATÁS
AZ IRÁNYÍTÁS VISSZASZERZÉSE
Valóban egyre nagyobb lehet az IT és az IT-vezető súlya a vállalatokon belül? A nemzetközi mérések szerint igen, de mi a helyzet Magyarországon?
Segítsen megtalálni a választ! Töltse ki a Budapesti Corvinus Egyetem és a Bitport anonim kutatását, és kérje meg erre üzleti oldalon dolgozó vezetőtársait is!
Az eredményeket május 8-9-én ismertetjük a 16. CIO Hungary konferencián.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak