Mariana Trench, odprtokodni analizator statične kode Facebooka

Facebook predstavljen pred nekaj dnevi je izpustil odprtokodni statični analizator, Mariana Trench, ki je namenjen odkrivanju ranljivosti v aplikacijah Android in programih Java.

Ob zagotovljena je možnost analize projektov brez izvornih kod, za katero je na voljo samo bajt koda za navidezni stroj Dalvik. Druga prednost je zelo velika hitrost izvajanja (analiza več milijonov vrstic kode traja približno 10 sekund), kar vam omogoča, da z Marianovim jarkom preverite vse predlagane spremembe, ko so uvedene.

Analizator je bil razvit kot del projekta za avtomatizacijo procesa pregleda kode vir mobilnih aplikacij Facebooka, Instagrama in Whatsappa.

Delimo podrobnosti o Mariana Trench (MT), orodju, ki ga uporabljamo za odkrivanje in preprečevanje napak v zvezi z varnostjo in zasebnostjo v aplikacijah Android in Java. Kot del naših prizadevanj za povečanje varnosti z avtomatizacijo stavb smo pred kratkim odprli MT za podporo varnostnim inženirjem na Facebooku in v celotni industriji.

Ta objava je tretja v naši seriji poglobljenih raziskav v orodja za statično in dinamično analizo, ki jim zaupamo. MT je najnovejši sistem po Zoncolanu in Pysi, zgrajen za kodo Hack oziroma Python.

V prvi polovici leta 2021 je bila polovica vseh ranljivosti v mobilnih aplikacijah Facebook odkritih z orodji za avtomatizirano analizo. Koda Mariana Trench je tesno prepletena z drugimi projekti na Facebooku, na primer operacija optimizacije bajd kode Redex se uporablja za analizo bajt kode, knjižnica SPARTA pa za vizualno interpretacijo in preučevanje rezultatov.

Potencialne ranljivosti in varnostna vprašanja se odkrijejo z analizo podatkovnih tokov med izvajanjem vloge, ki omogoča prepoznavanje situacij v katerem se surovi zunanji podatki obdelujejo v nevarnih konstruktih, kot so poizvedbe SQL, operacije z datotekami in klici, ki vodijo do zagona zunanjih programov.

MT je zasnovan tako, da lahko skenira velike baze mobilnih kod in ugotovi možne težave pri zahtevah za vlečenje, preden gredo v proizvodnjo. Nastala je kot rezultat tesnega sodelovanja med Facebookovimi varnostnimi in programskimi inženirji, ki MT usposabljajo, da si ogledajo kodo in analizirajo, kako podatki tečejo po njej. Analiza podatkovnih tokov je koristna, ker je mogoče številna vprašanja glede varnosti in zasebnosti modelirati kot podatke, ki tečejo tam, kjer ne bi smeli.

Naloga analizatorja se zmanjša na določanje virov podatkov in nevarnih klicev, kjer izvirnih podatkov ne bi smeli uporabljati: Razčlenjevalnik spremlja prehod podatkov skozi verigo klicev funkcij in poveže začetne podatke s potencialno nevarnimi mesti v kodi.

Ker je v MT lahko tok podatkov opisan z:

  • Vir: izvorna točka. To je lahko niz, ki ga nadzira uporabnik, ki vstopa v aplikacijo prek `Intent.getData`.
  • Umivalnik: destinacija. V sistemu Android je to lahko klic na `Log.w` ali` Runtime.exec`. Na primer, podatki iz klica na Intent.getData veljajo za vir za spremljanje, klici na Log.w in Runtime.exec pa za nevarne uporabe.

Velika koda lahko vsebuje veliko različnih vrst virov in ustreznih sprejemnikov. MT lahko rečemo, da nam pokaže posebne tokove z opredelitvijo pravil.

Pravilo bi lahko na primer določilo, da želimo najti preusmeritve namenov (težave, ki napadalcem omogočajo prestrezanje občutljivih podatkov) z opredelitvijo pravila, ki nam prikazuje vse sledi od virov, ki jih upravljajo uporabniki, do odtoka preusmeritev namenov.

Končno če vas zanima več o tem, lahko preverite podrobnosti na naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.