Facebook otevřel kód statického analyzátoru Mariana Trench

Facebook představil nový otevřený statický analyzátor Mariana Trench zaměřený na identifikaci zranitelností v aplikacích pro platformu Android a Java programech. Je poskytována schopnost analyzovat projekty bez zdrojového kódu, pro který je k dispozici pouze bytecode pro virtuální stroj Dalvik. Má také velmi vysokou rychlost provádění (analýza několika milionů řádků kódu trvá asi 10 sekund), což umožňuje pomocí Mariana Trench kontrolovat všechny navrhované změny tak, jak přicházejí. Kód projektu je napsán v C++ a distribuován pod licencí MIT.

Analyzátor byl vyvinut jako součást projektu automatizace procesu kontroly zdrojového kódu pro mobilní aplikace Facebook, Instagram a Whatsapp. V první polovině roku 2021 byla polovina všech zranitelností mobilních aplikací na Facebooku identifikována pomocí automatizovaných analytických nástrojů. Kód Mariany Trench je úzce propojen s dalšími projekty Facebooku, například k analýze bajtového kódu byl použit optimalizátor bajtového kódu Redex a k vizuální interpretaci a studiu výsledků statické analýzy byla použita knihovna SPARTA.

Potenciální zranitelnosti a problémy s ochranou osobních údajů jsou identifikovány pomocí analýzy toku dat za běhu, která identifikuje situace, kdy jsou nevyčištěná externí data zpracovávána v nebezpečných konstrukcích, jako jsou dotazy SQL, operace se soubory a volání, které způsobují spuštění externích programů.

Práce analyzátoru se redukuje na určení zdrojů dat a nebezpečných volání, ve kterých by zdrojová data neměla být použita - analyzátor sleduje průchod dat řetězcem volání funkcí a přiřazuje zdrojová data k potenciálně nebezpečným místům v kód. Zdrojem, který je třeba vysledovat, jsou například data přijatá prostřednictvím volání Intent.getData a volání Log.w a Runtime.exec jsou považována za nebezpečná použití.

Facebook otevřel kód statického analyzátoru Mariana Trench


Zdroj: opennet.ru

Přidat komentář