cybersecurity

A GPT-5.5-Cyber egy nap alatt zlib fuzzing labort épített.

Forrás: blog.trailofbits.com 5 perc olvasás

Megosztás

A GPT-5.5-Cyber egy nap alatt zlib fuzzing labort épített.

Összefoglalót olvas. A teljes tartalom itt érhető el: blog.trailofbits.com.

Fut a Patch the Planet, egy folyamatos együttműködés az OpenAI-jal, amely a Trail of Bits mérnökeit közvetlenül összekapcsolja több mint 30 nyílt forráskódú projekttel. Célja, hogy előre jelezze azt a súlyos problémát, amellyel a nyílt forráskódú karbantartók szembenéznek: a magasan fejlett modellek, mint a GPT-5.5-Cyber, hamarosan özönleni fogják a hibajelentéseket, és az OSS karbantartók már így is túlterheltek. Tervünk az, hogy az OpenAI legújabb modelljeit valós kódalapokra irányítsuk, először a biztonsági hibákat keressük, együttműködjünk a karbantartókkal, hogy javítsuk azokat, és hosszú távon csökkentsük a karbantartók terheit. A kezdeményezés előrehaladtával ilyen terepi jelentéseket fogunk közzétenni; kövessék nyomon a Patch the Planet címkén. A szakértelmi akadály, amely eddig megakadályozta az egyedi fuzzing kampányokat a legtöbb támadó számára, eltűnt. Figyelemmel kísértük, ahogy a GPT-5.5-Cyber egy nap alatt létrehozott egy olyan rendszert, amelyhezkéhe hónapok kellenének egy tapasztalt biztonsági kutatónak: több tucat belépési ponton átívelő harness-eket, tisztító- és variáns építményeket, magvakat, és több olyan eredményt, amely jelenleg koordinált nyilvánosságra hozatal alatt áll. Ez a konkrét eset a zlib-re összpontosított, egy széles körben használt adatformátum és veszteségmentes adatkompressziós szoftverkönyvtár. A GPT-5.5-Cyber-t a könyvtárra irányítottuk és átvezettük a Codex-en a /goal parancs segítségével, kérve, hogy találjon meg egy specifikus, a kompressziós könyvtárakban kritikus veszélyt jelentő hibaosztályt. Közzétesszük a teljes harness-t és az eredményeket ellenőrzésre, amint a sebezhetőségeket javítottuk és elkészült egy új kiadás. A labor, amelyet a GPT-5.5-Cyber egy nap alatt épített Mi nem mondtuk el a modellnek, hogyan találjon ilyen hibákat. A nyilvánvaló első lépés az lett volna, hogy elolvassa a forráskódot, de a zlib annyira alaposan volt átvizsgálva, hogy alig maradt valami, amit ez a módon megtalálhatott volna. A GPT-5.5-Cyber ezt saját magának határozta meg, a statikus áttekintést rossz tokenhasználatnak ítélte, és úgy döntött, hogy a nagyobb értéket jelentő irány az, ha fuzz eszközkészletet épít a kód dinamikus tesztelésére. Korábbi modellek, amelyek ugyanezt a célt kapták, általában elolvassák a kódot, és jelölik, ami gyanúsnak tűnik, ami végül közepes eredményekhez vezet. Úgy gondoljuk, hogy a frontier 5.5-Cyber modell, amely a /goal funkcióval kombinálva működik, lehetővé tette, hogy kézvezetés nélkül végrehajtsa az end-to-end folyamatokat. A /goal kényszerítette az objektív jelentőséget a több körön és tömörítésen keresztül, így a modell tartotta a terjedelmet, és a 5.5-Cyber elég intelligens volt ahhoz, hogy elutasítsa a gyenge eredményeket, kiterjessze a lefedettséget, amikor egy vizsgálati vonal elhalt, és folytassa, amíg működőképes bizonyítékokat talál, amelyeket a tisztító kimenet támogatott. A következő órákban darabonként építette ki a kampányt: ASan és UBSan építményeket használt, így a memóriahibák észlelhetőek lettek. Újrahasznosította a meglévő határhelyzeti teszteket a fuzz magvakként való irányításra. C/C++ harness-eket írt több tucat belépési ponton, beleértve az inflate, inflateBack, uncompress2, gzFile, MiniZip, puff, blast, infback9, gzjoin, gzappend és több contrib stream wrapper-t. Fordítási időben variáló építményeket (INFLATE_STRICT, BUILDFIXED, PKZIP_BUG_WORKAROUND stb.) használt, hogy elérje a kódot, amelyet az alapértelmezett zlib építmény elrejt. Mindegyik döntés önállóan rutinszerű, de ezek helyes sorrendben való összekapcsolása több tucat belépési ponton, a lépések átadása nélkül, viszonylag nagy lépést jelent a frontier modellek képességében. Miközben a zlib már rendelkezik fuzzing lefedettséggel az OSS-Fuzz harness-ből, a GPT-5.5-Cyber túllépett az alapértelmezett harness formán, amely véletlenszerű bemeneteket továbbít a gz* API-khoz. A gz* API-k közvetlen fuzzingja helyett a legjobban teljesítő harness hibákat talált érvényes gz* állapotokban, amelyeket csak az operációs rendszer által generált hátrányos nyomás segítségével lehetett megalkotni. A jelentési diszciplina a nehéz része Általában a modellek küzdenek azzal, hogy eldöntsék, mikor egy eredmény súlyos ahhoz, hogy jelentésbe emeljék. A gyengébb modellek hajlamosak olyan hibákat felhozni, amelyek a program összeomlását okozzák, de a valós körülmények között nem érhetők el. Korán a GPT-5.5-Cyber elért egy nulla visszahívási összeomlást az inflateBack-ben. Az összeomlás valós volt, de eléréséhez a hívónak egy állapotot kellett létrehoznia, ami a valós körülmények között rendkívül valószínűtlen volt, ezért a modell elérhetetlennek naplózta és továbblépett. Ez az ügynök emberi beavatkozás nélkül folytatta, és több, nagyobb hatású problémát talált. Ez a diszciplina az egész játék. A zlib harness értéke az automatizációból és a jelentésre érvényes szigorú meghatározásból származott. Anélkül, hogy erős érvényességi szabályok lennének beépítve a célnak és egy olyan modellnek, amely valóban képes ezeket a szabályokat értékelni, az ügynök hatalmas zajt generálna magas bizalommal: érvénytelen nyilvános API használatok, várt parsert hibák, belső API helytelen használata stb. A védőárok eltűnt Egy egyedi fuzzing kampány beállítása azt jelentette, hogy olyan embert kellett találni, aki képes harness-t írni, érvelni a helyes API állapot mellett, és megkülönböztetni a hibát a gyakorlatban nem előforduló összeomlástól. Ez a aszimmetria a legtöbb célpont esetén távol tartotta a hétköznapi támadókat a játéktól. Ez a védőárok most nagyrészt eltűnt, ami egyszerre két irányba is elmozdítja a fenyegetési modellt. Tapasztalt kutatónak ez egy erőszorzó: az új célpontokra való hetekig tartó adó csökken egy napra vagy kevesebbre, így ugyanaz az ember sokkal több kódot auditálhat. Az alacsony képességű támadóknak pedig a belépési szint emelkedik: a harness elindítása érdekében szükséges, unalmas, szakértelmet igénylő munka most már egy cél elindításával és a ciklus felügyeletével vezérelhető. Bárki számára, aki biztonsági szempontból kritikus kódot szállít, a gyakorlati következtetés világos. Az egyedi fuzzing már nem csak a fejlett OSS-Fuzz lefedettséggel rendelkező projektek kiváltsága, és többé már nem drága azok számára, akiket inkább nem látnának futni. A védő lépés az, hogy először csinálni kell, az érvényességi szabályokkal, amelyek az ügynök kimenetét magas jelű forrássá alakítják, amelyre cselekedhet. Tanulságok A fuzzing labor válaszolt a kérdésre, amellyel érkeztünk, és egy sokkal nagyobbat hagyott nekünk. Nem kértük a GPT-5.5-Cyber-t, hogy építsen egy fuzzing kampányt; ő döntötte el, hogy ez a feladat, és meg is csinálta. Az a dolog, amit most figyelni érdemes, az, hogy ezek az új modellek mit keresnek, ha adsz nekik egy célt és hátrébb lépsz, különösen azokat a megközelítéseket, amiket soha nem gondoltunk volna, hogy megkérdezhetjük. Ez az oka annak is, hogy a Patch the Planet által végzett úttörő munka miért számít. Minden egyes új képesség, amely segít nekünk gyorsabban találni a hibákat, éppen annyira elérhető a támadók számára, így az előny azé, aki először találja meg a hibákat és javítja azokat.

A teljes cikk az eredeti weboldalon

Külső link: blog.trailofbits.com

Kapcsolódó cikkek