Mariana Trench, analiza e kodit statik me burim të hapur të Facebook

Facebook zbuloi pak ditë më parë ai u lirua analizuesi statik me burim të hapur, Mariana Trench, i cili ka për qëllim të identifikojë dobësitë në aplikacionet Android dhe programet Java.

sigurohet aftësia për të analizuar projektet pa kodet burimore, për të cilat është i disponueshëm vetëm kodi i bajtit për makinën virtuale Dalvik. Një avantazh tjetër është shpejtësia shumë e lartë e ekzekutimit (analiza e disa milion rreshtave të kodit zgjat rreth 10 sekonda), e cila ju lejon të përdorni Mariana Trench për të kontrolluar të gjitha ndryshimet e propozuara kur ato prezantohen.

Analizuesi u zhvillua si pjesë e një projekti për të automatizuar procesin e rishikimit të kodit burim i aplikacioneve celulare të Facebook, Instagram dhe Whatsapp.

Ne ndajmë detaje rreth Mariana Trench (MT), një mjet që përdorim për të zbuluar dhe parandaluar gabimet e sigurisë dhe privatësisë në aplikacionet Android dhe Java. Si pjesë e përpjekjeve tona për të ndihmuar në shkallëzimin e sigurisë përmes automatizimit të ndërtesave, ne kohët e fundit hapëm MT për të mbështetur inxhinierët e sigurisë në Facebook dhe në të gjithë industrinë.

Ky postim është i treti në serinë tonë të zhytjeve të thella në mjetet e analizës statike dhe dinamike që ne besojmë. MT është sistemi më i fundit, pas Zoncolan dhe Pysa, i ndërtuar për kodin Hack dhe Python respektivisht.

Në gjysmën e parë të vitit 2021, gjysma e të gjitha dobësive në aplikacionet mobile të Facebook u identifikuan duke përdorur mjete të automatizuara të analizës. Kodi i Mariana Trench është i ndërthurur ngushtë me projektet e tjera në Facebook, për shembull, operacioni i optimizimit të bytekodeve Redex përdoret për të analizuar kodin byte dhe biblioteka SPARTA përdoret për interpretimin vizual dhe studimin e rezultateve. Analiza statike.

Dobësitë e mundshme dhe çështjet e sigurisë identifikohen duke analizuar rrjedhat e të dhënave gjatë ekzekutimit të aplikacionit, e cila lejon identifikimin e situatave në të cilat të dhënat e jashtme të papërpunuara përpunohen në konstrukte të rrezikshme, të tilla si pyetjet SQL, operacionet e skedarëve dhe thirrjet që çojnë në nisjen e programeve të jashtme.

MT është krijuar për të qenë në gjendje të skanojë baza të mëdha të kodit celular dhe të përcaktojë problemet e mundshme në kërkesat e tërheqjes para se të hyjnë në prodhim. Ajo u krijua si rezultat i bashkëpunimit të ngushtë midis inxhinierëve të sigurisë të Facebook dhe softuerëve, të cilët e trajnojnë MT -në të shikojë kodin dhe të analizojë sesi të dhënat rrjedhin përmes tij. Analizimi i rrjedhave të të dhënave është i dobishëm sepse shumë çështje të sigurisë dhe privatësisë mund të modelohen si të dhëna që rrjedhin aty ku nuk duhet.

Puna e analizuesit reduktohet në përcaktimin e burimeve të të dhënave dhe thirrjeve të rrezikshme, ku të dhënat origjinale nuk duhet të përdoren: Analizuesi monitoron kalimin e të dhënave përmes zinxhirit të thirrjeve të funksioneve dhe lidh të dhënat fillestare me vendet potencialisht të rrezikshme në kod.

Meqenëse në MT, një rrjedhë e të dhënave mund të përshkruhet nga:

  • Burimi: një pikë origjine. Ky mund të jetë një varg i kontrolluar nga përdoruesi që hyn në aplikacion përmes `Intent.getData`.
  • Lavaman: një destinacion. Në Android, kjo mund të jetë një thirrje për `Log.w` ose` Runtime.exec`. Për shembull, të dhënat nga një thirrje në Intent.getData konsiderohen një burim për t'u monitoruar, dhe thirrjet në Log.w dhe Runtime.exec konsiderohen përdorime të rrezikshme.

Një bazë e madhe kodesh mund të përmbajë shumë lloje të ndryshme burimesh dhe marrës përkatës. Ne mund t'i themi MT -së që të na tregojë prurje specifike duke përcaktuar rregullat.

Një rregull mund të specifikojë, për shembull, që ne duam të gjejmë përcjellje të qëllimshme (probleme që lejojnë sulmuesit të përgjojnë të dhëna të ndjeshme) duke përcaktuar një rregull që na tregon të gjitha gjurmët nga burimet "të kontrolluara nga përdoruesit" në një zhytje të "përcjelljeve të synimeve".

Më në fund nëse jeni të interesuar të dini më shumë për të, ju mund të kontrolloni detajet në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.