Facebook ka zbuluar një analizues të ri statik me burim të hapur, Mariana Trench, që synon identifikimin e dobësive në aplikacionet e platformës. Android dhe programet Java. Ofron mundësinë për të analizuar projekte pa kod burimor, për të cilat është i disponueshëm vetëm bytecode për makinën virtuale Dalvik. Një avantazh tjetër është shpejtësia jashtëzakonisht e lartë e ekzekutimit (analizimi i disa milion rreshtave të kodit zgjat rreth 10 sekonda), duke lejuar që Mariana Trench të përdoret për të shqyrtuar të gjitha ndryshimet e propozuara ndërsa ato dorëzohen. Kodi i projektit është shkruar në C++ dhe shpërndahet sipas licencës MIT.
Analizuesi u zhvillua si pjesë e një projekti për të automatizuar procesin e rishikimit të teksteve burimore të aplikacioneve celulare për Facebook, Instagram dhe Whatsapp. Në gjysmën e parë të vitit 2021, gjysma e të gjitha dobësive në aplikacionet celulare të Facebook u identifikuan duke përdorur mjete të automatizuara të analizës. Kodi Mariana Trench është i ndërthurur ngushtë me projekte të tjera në Facebook; për shembull, optimizuesi i bytekodit Redex është përdorur për të analizuar bajtkodin dhe biblioteka SPARTA është përdorur për të interpretuar dhe studiuar vizualisht rezultatet e analizës statike.
Dobësitë e mundshme dhe çështjet e privatësisë identifikohen duke analizuar rrjedhat e të dhënave gjatë ekzekutimit të aplikacionit për të identifikuar situatat ku të dhënat e jashtme të papërpunuara përpunohen në konstruksione të rrezikshme, të tilla si pyetjet SQL, operacionet e skedarëve dhe thirrjet që shkaktojnë programe të jashtme.
Puna e analizuesit zbret në identifikimin e burimeve të të dhënave dhe thirrjeve të rrezikshme në të cilat të dhënat burimore nuk duhet të përdoren - analizuesi gjurmon kalimin e të dhënave përmes zinxhirit të thirrjeve të funksionit dhe lidh të dhënat e burimit me vende potencialisht të rrezikshme në kod. . Për shembull, të dhënat e marra nëpërmjet një thirrjeje në Intent.getData konsiderohen se kërkojnë gjurmimin e burimit dhe thirrjet në Log.w dhe Runtime.exec konsiderohen përdorime të rrezikshme.

Burimi: opennet.ru
