Facebook nyílt forráskódú Mariana Trench statikus elemző

A Facebook új nyílt statikus elemzőt, a Mariana Trench-et mutatta be, amelynek célja az Android platform és a Java programok sebezhetőségeinek azonosítása. Lehetőség van forráskódok nélküli projektek elemzésére, amelyekhez csak a Dalvik virtuális gép bájtkódja érhető el. További előnye a nagyon nagy végrehajtási sebesség (több millió sornyi kód elemzése körülbelül 10 másodpercet vesz igénybe), ami lehetővé teszi, hogy a Mariana Trench segítségével ellenőrizze az összes javasolt változtatást, amint azok megérkeznek. A projekt kódja C++ nyelven íródott, és az MIT licenc alatt kerül terjesztésre.

Az elemzőt egy projekt részeként fejlesztették ki, amely automatizálja a Facebook, Instagram és Whatsapp mobilalkalmazások forrásszövegeinek áttekintését. 2021 első felében a Facebook mobilalkalmazásaiban lévő összes sebezhetőség felét automatizált elemző eszközök segítségével azonosították. A Mariana Trench kód szorosan összefonódik más Facebook projektekkel, például a Redex bájtkód-optimalizálót használták a bájtkód elemzésére, a SPARTA könyvtárat pedig a statikus elemzés eredményeinek vizuális értelmezésére és tanulmányozására.

A lehetséges sérülékenységeket és adatvédelmi problémákat az adatfolyamok elemzésével azonosítják az alkalmazás végrehajtása során, hogy azonosítsák azokat a helyzeteket, amikor a nyers külső adatokat veszélyes konstrukciókban dolgozzák fel, mint például SQL-lekérdezések, fájlműveletek és külső programokat indító hívások.

Az elemző munkája azon adatforrások és veszélyes hívások azonosításán múlik, amelyekben a forrásadatokat nem szabad felhasználni - az elemző nyomon követi az adatok áthaladását a függvényhívások láncán keresztül, és összekapcsolja a forrásadatokat a kód potenciálisan veszélyes helyeivel . Például az Intent.getData hívása révén kapott adatok forráskövetést igényelnek, a Log.w és Runtime.exec hívásai pedig veszélyes felhasználásnak minősülnek.

Facebook nyílt forráskódú Mariana Trench statikus elemző


Forrás: opennet.ru

Hozzászólás