Mariana Trench, Facebook atvērtā pirmkoda statiskā koda analizators

Facebook atklāja pirms dažām dienām tas tika izlaists atvērtā pirmkoda statiskais analizators, Mariana Trench, kas ir paredzēts, lai identificētu ievainojamības Android lietojumprogrammās un Java programmās.

Plkst tiek nodrošināta iespēja analizēt projektus bez avota kodiem, kuram ir pieejams tikai Dalvik virtuālās mašīnas baita kods. Vēl viena priekšrocība ir ļoti liels izpildes ātrums (vairāku miljonu koda rindu analīze aizņem apmēram 10 sekundes), kas ļauj izmantot Mariana Trench, lai pārbaudītu visas piedāvātās izmaiņas, kad tās tiek ieviestas.

Analizators tika izstrādāta kā daļa no projekta, lai automatizētu koda pārskatīšanas procesu mobilo lietotņu avots no Facebook, Instagram un Whatsapp.

Mēs kopīgojam informāciju par Mariana Trench (MT) - rīku, ko izmantojam, lai atklātu un novērstu drošības un privātuma kļūdas Android un Java lietojumprogrammās. Kā daļu no mūsu centieniem palīdzēt uzlabot drošību, izmantojot ēku automatizāciju, mēs nesen atvērām MT, lai atbalstītu drošības inženierus Facebook un visā nozarē.

Šī ziņa ir trešā no mūsu sērijām, kurās mēs dziļi ienirstam statiskos un dinamiskos analīzes rīkos, kuriem uzticamies. MT ir jaunākā sistēma pēc Zoncolan un Pysa, kas izveidota attiecīgi Hack un Python kodam.

2021. gada pirmajā pusē puse no visām ievainojamībām Facebook mobilajās lietojumprogrammās tika identificētas, izmantojot automatizētus analīzes rīkus. Mariana Trench kods ir cieši saistīts ar citiem Facebook projektiem, piemēram, baitu koda analīzei tiek izmantota Redex baitu koda optimizētāja darbība, bet SPARTA bibliotēka - vizuālai interpretācijai un rezultātu izpētei. Statiskā analīze.

Potenciālās ievainojamības un drošības problēmas tiek noteiktas, analizējot datu plūsmas pieteikuma izpildes laikā, kas ļauj noteikt situācijas kurā neapstrādāti ārējie dati tiek apstrādāti bīstamās konstrukcijās, piemēram, SQL vaicājumos, failu operācijās un zvanos, kas izraisa ārēju programmu palaišanu.

MT ir paredzēts, lai varētu skenēt lielas mobilo kodu bāzes un precīzi noteikt iespējamās problēmas pieprasījumu pieprasījumos pirms to ražošanas uzsākšanas. Tas tika izveidots ciešas sadarbības rezultātā starp Facebook drošības un programmatūras inženieriem, kuri apmāca MT aplūkot kodu un analizēt, kā caur to plūst dati. Datu plūsmu analīze ir noderīga, jo daudzas drošības un privātuma problēmas var modelēt kā datu plūsmu tur, kur to nevajadzētu darīt.

Analizatora uzdevums ir tikai noteikt datu avotus un bīstamus zvanus, kur nevajadzētu izmantot sākotnējos datus: parsētājs uzrauga datu pāreju caur funkciju izsaukumu ķēdi un savieno sākotnējos datus ar potenciāli bīstamām koda vietām.

Tā kā MT datu plūsmu var aprakstīt šādi:

  • Avots: izcelsmes punkts. Tā var būt lietotāja kontrolēta virkne, kas tiek ievadīta lietojumprogrammā, izmantojot "Intent.getData".
  • Izlietne: galamērķis. Operētājsistēmā Android tas var būt zvans uz “Log.w” vai “Runtime.exec”. Piemēram, dati no zvana uz Intent.getData tiek uzskatīti par monitorējamu avotu, un zvani uz Log.w un Runtime.exec tiek uzskatīti par bīstamiem lietojumiem.

Liela kodu bāze var saturēt daudz dažādu veidu avotus un atbilstošus uztvērējus. Mēs varam pateikt MT parādīt mums konkrētas plūsmas, definējot noteikumus.

Noteikums varētu norādīt, piemēram, ka mēs vēlamies atrast mērķtiecīgas novirzīšanas (problēmas, kas ļauj uzbrucējiem pārtvert sensitīvus datus), definējot kārtulu, kas parāda mums visas pēdas no "lietotāja kontrolētiem" avotiem līdz "nodomu novirzīšanas" izlietnei.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt sīkāka informācija šajā saitē.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.