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.
Rendszerek és emberek: a CIO választásai egy új magyar felmérés tükrében
"Nehéz informatikusnak lenni egy olyan cégben, ahol sok az IT-s" – jegyezte meg egy egészségügyi technológiákat fejlesztő cég informatikai vezetője, amikor megkérdeztük, milyennek látja házon belül az IT és a többi osztály közötti kommunikációt.
Így lehet sok önálló kiberbiztonsági eszközéből egy erősebbet csinálni
A kulcsszó a platform. Ha egy cég jó platformot választ, akkor az egyes eszközök előnyei nem kioltják, hanem erősítik egymást, és még az üzemeltetés is olcsóbb lesz.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak