Mariana Trench, Facebook's open source statische code-analysator

Facebook onthuld een paar dagen geleden is hij vrijgelaten de open source statische analysator, Mariana Trench, die bedoeld is om kwetsbaarheden in Android-applicaties en Java-programma's te identificeren.

Bij de mogelijkheid om projecten te analyseren zonder broncodes wordt geboden, waarvoor alleen de bytecode voor de virtuele Dalvik-machine beschikbaar is. Een ander voordeel is de zeer hoge uitvoeringssnelheid (de analyse van enkele miljoenen regels code duurt ongeveer 10 seconden), waardoor u Mariana Trench kunt gebruiken om alle voorgestelde wijzigingen te controleren zodra ze worden ingevoerd.

de analysator is ontwikkeld als onderdeel van een project om het codebeoordelingsproces te automatiseren bron van mobiele applicaties van Facebook, Instagram en Whatsapp.

We delen details over Mariana Trench (MT), een tool die we gebruiken om beveiligings- en privacyfouten in Android- en Java-applicaties te detecteren en te voorkomen. Als onderdeel van onze inspanningen om de beveiliging op te schalen door middel van gebouwautomatisering, hebben we onlangs MT geopend om beveiligingstechnici op Facebook en in de hele branche te ondersteunen.

Dit bericht is het derde in onze reeks diepe duiken in statische en dynamische analysetools die we vertrouwen. MT is het nieuwste systeem, na Zoncolan en Pysa, gebouwd voor respectievelijk Hack- en Python-code.

In de eerste helft van 2021 werd de helft van alle kwetsbaarheden in mobiele applicaties van Facebook geïdentificeerd met behulp van geautomatiseerde analysetools. De code van Mariana Trench is nauw verweven met andere Facebook-projecten, zo wordt de Redex bytecode-optimizer-operatie gebruikt om bytecode te analyseren en wordt de SPARTA-bibliotheek gebruikt voor visuele interpretatie en studie van resultaten.

Potentiële kwetsbaarheden en beveiligingsproblemen worden geïdentificeerd door gegevensstromen te analyseren tijdens de uitvoering van de aanvraag, waarmee situaties kunnen worden geïdentificeerd waarin ruwe externe gegevens worden verwerkt in gevaarlijke constructies, zoals SQL-query's, bestandsbewerkingen en oproepen die leiden tot het starten van externe programma's.

MT is ontworpen om grote mobiele codebases te kunnen scannen en potentiële problemen in pull-verzoeken te signaleren voordat ze in productie gaan. Het is gemaakt als resultaat van een nauwe samenwerking tussen de beveiligings- en software-ingenieurs van Facebook, die MT trainen om naar de code te kijken en te analyseren hoe gegevens er doorheen stromen. Het analyseren van gegevensstromen is handig omdat veel beveiligings- en privacykwesties kunnen worden gemodelleerd als gegevensstromen waar dat niet zou moeten.

De taak van de analysator is beperkt tot het bepalen van gegevensbronnen en gevaarlijke oproepen, waar de oorspronkelijke gegevens niet moeten worden gebruikt: De parser bewaakt de passage van gegevens door de keten van functieaanroepen en verbindt de oorspronkelijke gegevens met potentieel gevaarlijke plaatsen in de code.

Omdat in MT een gegevensstroom kan worden beschreven door:

  • Bron: een punt van oorsprong. Dit kan een string zijn die wordt bestuurd door de gebruiker die de applicatie binnenkomt via `Intent.getData`.
  • Zinken: een bestemming. Op Android kan dit een aanroep zijn naar `Log.w` of `Runtime.exec`. Gegevens van een aanroep naar Intent.getData worden bijvoorbeeld beschouwd als een bron om te controleren en aanroepen naar Log.w en Runtime.exec worden als gevaarlijk gebruik beschouwd.

Een grote codebasis kan veel verschillende soorten bronnen en bijbehorende ontvangers bevatten. We kunnen MT vertellen ons specifieke stromen te laten zien door regels te definiëren.

Een regel kan bijvoorbeeld specificeren dat we intentie-omleidingen willen vinden (problemen waardoor aanvallers gevoelige gegevens kunnen onderscheppen) door een regel te definiëren die ons alle sporen toont van "door de gebruiker gecontroleerde" bronnen naar een gootsteen van "omleidingen van intenties.

Eindelijk als u er meer over wilt weten, kunt u de details in de volgende link:.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.