Mariana Trench, Facebooks statiska kodanalysator med öppen källkod

Facebook presenteras för några dagar sedan har den släppts statisk analysator med öppen källkod, Mariana Trench, som är avsedd att identifiera sårbarheter i Android -applikationer och Java -program.

möjligheten att analysera projekt utan källkoder tillhandahålls, för vilken endast bytekoden för den virtuella Dalvik -maskinen är tillgänglig. En annan fördel är den mycket höga exekveringshastigheten (analysen av flera miljoner kodrader tar cirka 10 sekunder), vilket gör att du kan använda Mariana Trench för att kontrollera alla föreslagna ändringar när de introduceras.

Analysatorn utvecklades som en del av ett projekt för att automatisera kodgranskningsprocessen källa till mobila applikationer på Facebook, Instagram och Whatsapp.

Vi delar information om Mariana Trench (MT), ett verktyg vi använder för att upptäcka och förebygga säkerhets- och integritetsfel i Android- och Java -applikationer. Som en del av vårt arbete med att öka säkerheten genom byggautomatisering öppnade vi nyligen MT för att stödja säkerhetsingenjörer på Facebook och i hela branschen.

Det här inlägget är det tredje i vår serie djupdykningar i statiska och dynamiska analysverktyg vi litar på. MT är det senaste systemet, efter Zoncolan och Pysa, byggt för Hack respektive Python -kod.

Under första halvåret 2021 identifierades hälften av alla sårbarheter i Facebook -mobilapplikationer med hjälp av automatiserade analysverktyg. Mariana Trenchs kod är nära sammanflätad med andra Facebook -projekt, till exempel används Redex bytecode optimizer -operation för att analysera bytekod och SPARTA -biblioteket används för visuell tolkning och studier av resultat. Statisk analys.

Potentiella sårbarheter och säkerhetsproblem identifieras genom analys av dataflöden under genomförandet av ansökan, som gör det möjligt att identifiera situationer där rå extern data bearbetas i farliga konstruktioner, till exempel SQL -frågor, filoperationer och samtal som leder till lansering av externa program.

MT är utformat för att kunna skanna stora mobila kodbaser och flagga potentiella problem i dragförfrågningar innan de går i produktion. Det skapades som ett resultat av nära samarbete mellan Facebooks säkerhets- och mjukvaruutvecklare, som utbildar MT att titta på koden och analysera hur data flödar genom den. Att analysera dataflöden är användbart eftersom många säkerhets- och integritetsfrågor kan modelleras som dataflöden där det inte borde.

Analysatorns jobb reduceras till att bestämma datakällor och farliga samtal, där originaldata inte ska användas: Parsern övervakar datapassageringen genom funktionskedjan och ansluter initialdata till potentiellt farliga platser i koden.

Sedan i MT kan ett dataflöde beskrivas av:

  • Källa: en utgångspunkt. Detta kan vara en sträng som styrs av användaren som går in i programmet via 'Intent.getData'.
  • Handfat: en destination. På Android kan detta vara ett samtal till 'Log.w' eller 'Runtime.exec'. Till exempel anses data från ett samtal till Intent.getData vara en källa att övervaka, och samtal till Log.w och Runtime.exec anses vara farliga användningsområden.

En stor kodbas kan innehålla många olika typer av källor och motsvarande mottagare. Vi kan säga åt MT att visa oss specifika flöden genom att definiera regler.

En regel kan till exempel specificera att vi vill hitta avsändningsomdirigeringar (problem som gör det möjligt för angripare att fånga upp känslig data) genom att definiera en regel som visar oss alla spår från "användarkontrollerade" källor till en sjunk av "omdirigeringar av avsikter.

Slutligen om du är intresserad av att veta mer om det, kan du kontrollera detaljer i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.