Mariana Trench, Facebook -ov analizator statičkog koda otvorenog koda

Facebook predstavljen pre nekoliko dana je pušten statički analizator otvorenog koda, Mariana Trench, koja ima za cilj identifikaciju ranjivosti u Android aplikacijama i Java programima.

At omogućena je mogućnost analize projekata bez izvornih kodova, za koje je dostupan samo bajt kod za Dalvik virtualnu mašinu. Još jedna prednost je vrlo velika brzina izvršavanja (analiza nekoliko miliona redaka koda traje oko 10 sekundi), što vam omogućuje da koristite Mariana Trench za provjeru svih predloženih promjena po njihovom uvođenju.

Analizator je razvijen kao dio projekta za automatizaciju procesa pregleda koda izvor mobilnih aplikacija Facebook, Instagram i Whatsapp.

Dijelimo detalje o Marijanskom rovu (MT), alatu koji koristimo za otkrivanje i sprječavanje grešaka u sigurnosti i privatnosti u Android i Java aplikacijama. Kao dio naših napora da pomognemo u povećavanju sigurnosti putem automatizacije zgrada, nedavno smo otvorili MT za podršku sigurnosnim inženjerima na Facebooku i širom industrije.

Ovaj je post treći u našoj seriji dubljih zalazaka u alate za statičku i dinamičku analizu kojima vjerujemo. MT je najnoviji sistem, slijedeći Zoncolan i Pysa, napravljen za Hack i Python kod.

U prvoj polovici 2021. polovica svih ranjivosti u mobilnim aplikacijama Facebooka identificirana je pomoću alata za automatsku analizu. Kod Mariane Trench je tijesno isprepleten s drugim Facebook projektima, na primjer, operacija optimizacije bajt koda Redex koristi se za analizu bajt koda, a biblioteka SPARTA za vizualnu interpretaciju i proučavanje rezultata.

Potencijalne ranjivosti i sigurnosna pitanja identificiraju se analizom tokova podataka tokom izvršenja aplikacije, koja omogućava identifikaciju situacija u kojima se neobrađeni vanjski podaci obrađuju u opasnim konstrukcijama, kao što su SQL upiti, operacije nad datotekama i pozivi koji dovode do pokretanja vanjskih programa.

MT je osmišljen tako da može skenirati velike baze mobilnih kodova i uočiti potencijalne probleme u zahtjevima za povlačenje prije nego što krenu u proizvodnju. Nastao je kao rezultat bliske saradnje između Facebookovih sigurnosnih i softverskih inženjera, koji obučavaju MT da gleda kod i analizira kako podaci teku kroz njega. Analiza tokova podataka je korisna jer se mnogi sigurnosni problemi i pitanja privatnosti mogu modelirati kao protok podataka tamo gdje ne bi trebali.

Posao analizatora svodi se na utvrđivanje izvora podataka i opasnih poziva, gdje se izvorni podaci ne smiju koristiti: Parser prati prolaz podataka kroz lanac poziva funkcija i povezuje početne podatke s potencijalno opasnim mjestima u kodu.

Budući da se u MT tok podataka može opisati na sljedeći način:

  • Izvor: izvorna tačka. Ovo može biti niz kojim kontrolira korisnik koji ulazi u aplikaciju putem `Intent.getData`.
  • Sudoper: odredište. Na Androidu ovo može biti poziv na `Log.w` ili` Runtime.exec`. Na primjer, podaci iz poziva na Intent.getData smatraju se izvorom za nadgledanje, a pozivi na Log.w i Runtime.exec smatraju se opasnom upotrebom.

Velika baza kodova može sadržavati mnogo različitih vrsta izvora i odgovarajućih prijemnika. Možemo reći MT -u da nam pokaže određene tokove definiranjem pravila.

Pravilo bi moglo, na primjer, specificirati da želimo pronaći preusmjeravanja namjere (probleme koji omogućavaju napadačima da presretnu osjetljive podatke) definiranjem pravila koje nam prikazuje sve tragove od izvora "kojima upravlja korisnik" do sliva "preusmjeravanja namjera".

Konačno ako ste zainteresirani da saznate više o tome, možete provjeriti detalje na sljedećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.