Facebook atviro kodo Mariana Trench statinis analizatorius

„Facebook“ pristatė naują atvirą statinį analizatorių Mariana Trench, skirtą „Android“ platformos ir „Java“ programų programų pažeidžiamumui nustatyti. Galima analizuoti projektus be šaltinio kodų, kuriems galimas tik Dalvik virtualios mašinos baitų kodas. Kitas privalumas yra labai didelis vykdymo greitis (kelių milijonų kodo eilučių analizė užtrunka apie 10 sekundžių), todėl galite naudoti Mariana Trench, kad patikrintumėte visus siūlomus pakeitimus, kai jie bus gauti. Projekto kodas parašytas C++ kalba ir platinamas pagal MIT licenciją.

Analizatorius buvo sukurtas įgyvendinant projektą, skirtą automatizuoti „Facebook“, „Instagram“ ir „Whatsapp“ mobiliųjų programų šaltinių tekstų peržiūros procesą. Pirmąjį 2021 m. pusmetį pusė visų „Facebook“ mobiliųjų aplikacijų spragų buvo nustatyta naudojant automatizuotus analizės įrankius. Mariana Trench kodas yra glaudžiai susipynęs su kitais Facebook projektais, pavyzdžiui, baito kodo analizei buvo naudojamas Redex baito kodo optimizatorius, o SPARTA biblioteka – statinės analizės rezultatams vizualiai interpretuoti ir tirti.

Galimi pažeidžiamumai ir privatumo problemos nustatomos analizuojant duomenų srautus programos vykdymo metu, siekiant nustatyti situacijas, kai neapdoroti išoriniai duomenys apdorojami pavojingose ​​konstrukcijose, pvz., SQL užklausose, failų operacijose ir iškvietimuose, kurie paleidžia išorines programas.

Analizatoriaus darbas susijęs su duomenų šaltinių ir pavojingų iškvietimų nustatymu, kuriuose šaltinio duomenys neturėtų būti naudojami - analizatorius seka duomenų perdavimą per funkcijų iškvietimų grandinę ir sujungia šaltinio duomenis su potencialiai pavojingomis kodo vietomis. . Pavyzdžiui, manoma, kad duomenys, gauti skambinant į Intent.getData, reikalauja šaltinio sekimo, o iškvietimai į Log.w ir Runtime.exec laikomi pavojingu naudojimu.

Facebook atviro kodo Mariana Trench statinis analizatorius


Šaltinis: opennet.ru

Добавить комментарий