Mariana Trench, Facebooks Open-Source-Analysetool für statischen Code

Facebook enthüllt vor ein paar tagen ist es erschienen der statische Open-Source-Analysator Mariana Trench, die dazu gedacht ist, Schwachstellen in Android-Anwendungen und Java-Programmen zu identifizieren.

Beim die Möglichkeit, Projekte ohne Quellcode zu analysieren, wird bereitgestellt, für die nur der Bytecode für die virtuelle Dalvik-Maschine verfügbar ist. Ein weiterer Vorteil ist die sehr hohe Ausführungsgeschwindigkeit (die Analyse von mehreren Millionen Codezeilen dauert ca. 10 Sekunden), wodurch Sie mit Mariana Trench alle vorgeschlagenen Änderungen bei deren Einführung überprüfen können.

Der Analysator wurde im Rahmen eines Projekts zur Automatisierung des Code-Review-Prozesses entwickelt Quelle für mobile Anwendungen von Facebook, Instagram und Whatsapp.

Wir teilen Details zu Mariana Trench (MT), einem Tool, das wir verwenden, um Sicherheits- und Datenschutzfehler in Android- und Java-Anwendungen zu erkennen und zu verhindern. Als Teil unserer Bemühungen, die Sicherheit durch Gebäudeautomation zu skalieren, haben wir kürzlich MT eröffnet, um Sicherheitsingenieure auf Facebook und in der gesamten Branche zu unterstützen.

Dieser Beitrag ist der dritte in unserer Reihe tiefer Einblicke in statische und dynamische Analysetools, denen wir vertrauen. MT ist nach Zoncolan und Pysa das neueste System, das für Hack- bzw. Python-Code entwickelt wurde.

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 wird die Redex-Bytecode-Optimiereroperation verwendet, um Bytecode zu analysieren, und die SPARTA-Bibliothek wird zur visuellen Interpretation und Untersuchung der Ergebnisse verwendet.

Potenzielle Schwachstellen und Sicherheitsprobleme werden durch die Analyse von Datenflüssen identifiziert während der Ausführung des Antrags, die es ermöglicht, Situationen zu erkennen in denen rohe externe Daten in gefährlichen Konstrukten verarbeitet werden, wie SQL-Abfragen, Dateioperationen und Aufrufe, die zum Starten externer Programme führen.

MT wurde entwickelt, um große mobile Codebasen zu scannen und potenzielle Probleme in Pull-Requests zu lokalisieren, bevor sie in Produktion gehen. Es entstand als Ergebnis einer engen Zusammenarbeit zwischen den Sicherheits- und Softwareingenieuren von Facebook, die MT darin ausbilden, den Code zu betrachten und zu analysieren, wie Daten durch ihn hindurchfließen. Die Analyse von Datenflüssen ist nützlich, da viele Sicherheits- und Datenschutzprobleme so modelliert werden können, dass Daten dort fließen, wo sie nicht sollten.

Die Aufgabe des Analysators beschränkt sich auf die Ermittlung von Datenquellen und gefährlichen Aufrufen, wo die Originaldaten nicht verwendet werden sollten: Der Parser überwacht den Datendurchgang durch die Kette von Funktionsaufrufen und verbindet die Ausgangsdaten mit potenziell gefährlichen Stellen im Code.

Da in MT ein Datenfluss beschrieben werden kann durch:

  • Quelle: ein Ausgangspunkt. Dies kann eine benutzergesteuerte Zeichenfolge sein, die über `Intent.getData` in die Anwendung gelangt.
  • Waschbecken: ein Ziel. Unter Android kann dies ein Aufruf von „Log.w“ oder „Runtime.exec“ sein. Beispielsweise werden Daten aus einem Aufruf von Intent.getData als zu überwachende Quelle betrachtet, und Aufrufe von Log.w und Runtime.exec gelten als gefährliche Verwendungen.

Eine große Codebasis kann viele verschiedene Arten von Quellen und entsprechenden Empfängern enthalten. Wir können MT anweisen, uns bestimmte Abläufe zu zeigen, indem wir Regeln definieren.

Eine Regel könnte beispielsweise festlegen, dass wir Intent-Weiterleitungen (Probleme, die es Angreifern ermöglichen, sensible Daten abzufangen) finden möchten, indem wir eine Regel definieren, die uns alle Spuren von "benutzergesteuerten" Quellen bis zu einer Senke von "Weiterleitungen von Intentionen" zeigt.

Schließlich wenn Sie mehr darüber wissen möchten, können Sie das überprüfen Details unter folgendem Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.