Facebook Open-Source-Statikanalysator Mariana Trench

Facebook hat mit Mariana Trench einen neuen offenen statischen Analysator eingeführt, der darauf abzielt, Schwachstellen in Anwendungen für die Android-Plattform und Java-Programmen zu identifizieren. Es ist möglich, Projekte ohne Quellcodes zu analysieren, für die nur Bytecode für die virtuelle Dalvik-Maschine verfügbar ist. Ein weiterer Vorteil ist die sehr hohe Ausführungsgeschwindigkeit (die Analyse mehrerer Millionen Codezeilen dauert etwa 10 Sekunden), die es Ihnen ermöglicht, mit Mariana Trench alle vorgeschlagenen Änderungen zu überprüfen, sobald sie eintreffen. Der Projektcode ist in C++ geschrieben und wird unter der MIT-Lizenz vertrieben.

Der Analysator wurde im Rahmen eines Projekts zur Automatisierung des Prozesses der Überprüfung der Quelltexte mobiler Anwendungen für Facebook, Instagram und WhatsApp entwickelt. Im ersten Halbjahr 2021 wurde die Hälfte aller Schwachstellen in mobilen Facebook-Anwendungen mithilfe automatisierter Analysetools identifiziert. Der Code von Mariana Trench ist eng mit anderen Facebook-Projekten verflochten; zum Beispiel wurde der Redex-Bytecode-Optimierer zum Parsen des Bytecodes verwendet, und die SPARTA-Bibliothek wurde verwendet, um die Ergebnisse der statischen Analyse visuell zu interpretieren und zu untersuchen.

Potenzielle Schwachstellen und Datenschutzprobleme werden durch die Analyse der Datenströme während der Anwendungsausführung identifiziert, um Situationen zu identifizieren, in denen rohe externe Daten in gefährlichen Konstrukten verarbeitet werden, wie etwa SQL-Abfragen, Dateioperationen und Aufrufe, die externe Programme auslösen.

Die Arbeit des Analysators besteht darin, Datenquellen und gefährliche Aufrufe zu identifizieren, bei denen die Quelldaten nicht verwendet werden sollten – der Analysator verfolgt den Datendurchgang durch die Kette von Funktionsaufrufen und verbindet die Quelldaten mit potenziell gefährlichen Stellen im Code . Beispielsweise wird davon ausgegangen, dass Daten, die über einen Aufruf von Intent.getData empfangen werden, eine Quellenverfolgung erfordern, und Aufrufe von Log.w und Runtime.exec gelten als gefährliche Verwendungen.

Facebook Open-Source-Statikanalysator Mariana Trench


Source: opennet.ru

Kommentar hinzufügen