Analizator statyczny Mariana Trench typu open source na Facebooku

Facebook wprowadził nowy otwarty analizator statyczny Mariana Trench, którego celem jest identyfikacja podatności w aplikacjach na platformę Android oraz programach Java. Istnieje możliwość analizy projektów bez kodów źródłowych, dla których dostępny jest jedynie kod bajtowy dla maszyny wirtualnej Dalvik. Kolejną zaletą jest bardzo duża szybkość wykonania (analiza kilku milionów linii kodu zajmuje około 10 sekund), co pozwala na wykorzystanie Mariana Trench do sprawdzenia wszystkich proponowanych zmian w momencie ich pojawienia się. Kod projektu napisany jest w języku C++ i jest rozpowszechniany na licencji MIT.

Analizator powstał w ramach projektu mającego na celu automatyzację procesu przeglądania tekstów źródłowych aplikacji mobilnych na Facebooka, Instagrama i Whatsapp. W pierwszej połowie 2021 roku połowa wszystkich podatności w aplikacjach mobilnych Facebooka została zidentyfikowana za pomocą automatycznych narzędzi analitycznych. Kod Mariana Trench jest ściśle powiązany z innymi projektami Facebooka; na przykład do analizy kodu bajtowego wykorzystano optymalizator kodu bajtowego Redex, a do wizualnej interpretacji i badania wyników analizy statycznej wykorzystano bibliotekę SPARTA.

Potencjalne luki w zabezpieczeniach i problemy związane z prywatnością są identyfikowane poprzez analizę przepływów danych podczas wykonywania aplikacji w celu zidentyfikowania sytuacji, w których surowe dane zewnętrzne są przetwarzane w niebezpiecznych konstrukcjach, takich jak zapytania SQL, operacje na plikach i wywołania uruchamiające programy zewnętrzne.

Praca analizatora sprowadza się do identyfikacji źródeł danych i niebezpiecznych wywołań, w których nie należy wykorzystywać danych źródłowych - analizator śledzi przejście danych przez łańcuch wywołań funkcji i łączy dane źródłowe z potencjalnie niebezpiecznymi miejscami w kodzie . Na przykład uważa się, że dane otrzymane w wyniku wywołania Intent.getData wymagają śledzenia źródła, a wywołania Log.w i Runtime.exec są uważane za niebezpieczne zastosowania.

Analizator statyczny Mariana Trench typu open source na Facebooku


Źródło: opennet.ru

Dodaj komentarz