Facebookin avoimen lähdekoodin Mariana Trench staattinen analysaattori

Facebook esitteli uuden avoimen staattisen analysaattorin, Mariana Trenchin, jonka tarkoituksena on tunnistaa Android-alustan ja Java-ohjelmien sovellusten haavoittuvuuksia. On mahdollista analysoida projekteja ilman lähdekoodeja, joille on saatavilla vain Dalvik-virtuaalikoneen tavukoodi. Toinen etu on sen erittäin korkea suoritusnopeus (useiden miljoonien koodirivien analysointi kestää noin 10 sekuntia), minkä ansiosta voit tarkistaa kaikki ehdotetut muutokset Mariana Trenchin avulla niiden saapuessa. Projektikoodi on kirjoitettu C++-kielellä ja sitä jaetaan MIT-lisenssillä.

Analysaattori kehitettiin osana projektia, joka automatisoi Facebookin, Instagramin ja Whatsappin mobiilisovellusten lähdetekstien tarkistusprosessia. Vuoden 2021 ensimmäisellä puoliskolla puolet Facebookin mobiilisovellusten haavoittuvuuksista tunnistettiin automaattisten analyysityökalujen avulla. Mariana Trench -koodi on kiinteästi kietoutunut muihin Facebook-projekteihin, esimerkiksi tavukoodin jäsentämiseen käytettiin Redex-tavukoodin optimoijaa ja staattisen analyysin tuloksia visuaalisesti tulkittiin ja tutkittiin SPARTA-kirjastolla.

Mahdolliset haavoittuvuudet ja tietosuojaongelmat tunnistetaan analysoimalla tietovirtoja sovelluksen suorituksen aikana, jotta voidaan tunnistaa tilanteet, joissa raakaa ulkoista dataa käsitellään vaarallisissa rakenteissa, kuten SQL-kyselyissä, tiedostotoiminnoissa ja kutsuissa, jotka käynnistävät ulkoisia ohjelmia.

Analysaattorin työ perustuu tietolähteiden ja vaarallisten kutsujen tunnistamiseen, joissa lähdedataa ei tule käyttää - analysaattori seuraa tiedon kulkua funktiokutsujen ketjun läpi ja yhdistää lähdetiedot mahdollisesti vaarallisiin paikkoihin koodissa. . Esimerkiksi Intent.getData-kutsun kautta vastaanotettujen tietojen katsotaan vaativan lähteen seurantaa, ja puhelut Log.w- ja Runtime.exec-sivustoihin katsotaan vaarallisiksi käyttötaviksi.

Facebookin avoimen lähdekoodin Mariana Trench staattinen analysaattori


Lähde: opennet.ru

Lisää kommentti