Mariana Trench, Facebookin avoimen lähdekoodin staattinen koodi -analysaattori

Facebook paljasti muutama päivä sitten se julkaistiin avoimen lähdekoodin staattinen analysaattori, Mariana Trench, jonka tarkoituksena on tunnistaa Android -sovellusten ja Java -ohjelmien haavoittuvuudet.

Klo mahdollisuus analysoida projekteja ilman lähdekoodeja, jolle on saatavana vain Dalvik -virtuaalikoneen tavukoodi. Toinen etu on erittäin nopea suoritusnopeus (useiden miljoonien koodirivien analysointi kestää noin 10 sekuntia), minkä avulla voit tarkistaa Mariana Trenchin avulla kaikki ehdotetut muutokset, kun ne otetaan käyttöön.

Analysaattori kehitettiin osana projektia koodin tarkistusprosessin automatisoimiseksi mobiilisovellusten lähde Facebookista, Instagramista ja Whatsappista.

Jaamme tietoja Mariana Trenchistä (MT), työkalusta, jota käytämme havaitsemaan ja estämään Android- ja Java -sovellusten turvallisuus- ja yksityisyysvirheet. Osana pyrkimyksiämme laajentaa turvallisuutta rakennusautomaation avulla avasimme äskettäin MT: n tukemaan turvallisuusinsinöörejä Facebookissa ja koko alalla.

Tämä viesti on kolmas syväsukelluksemme sarjassa luotettaviin staattisiin ja dynaamisiin analyysityökaluihin. MT on uusin järjestelmä Zoncolanin ja Pysan jälkeen, joka on rakennettu Hack- ja Python -koodille.

Vuoden 2021 ensimmäisellä puoliskolla puolet kaikista Facebook -mobiilisovellusten haavoittuvuuksista tunnistettiin automaattisilla analyysityökaluilla. Mariana Trenchin koodi liittyy läheisesti muihin Facebook -projekteihin, esimerkiksi Redex -tavukoodin optimointitoimintoa käytetään tavukoodin analysointiin ja SPARTA -kirjastoa visuaaliseen tulkintaan ja tulosten tutkimiseen. Staattinen analyysi.

Mahdolliset haavoittuvuudet ja tietoturvaongelmat tunnistetaan analysoimalla tietovirtoja sovelluksen suorittamisen aikana, joka mahdollistaa tilanteiden tunnistamisen jossa raakoja ulkoisia tietoja käsitellään vaarallisissa rakenteissa, kuten SQL -kyselyissä, tiedostooperaatioissa ja puheluissa, jotka johtavat ulkoisten ohjelmien käynnistämiseen.

MT on suunniteltu siten, että se pystyy skannaamaan suuria mobiilikoodikantoja ja tunnistamaan mahdolliset ongelmat vetopyyntöissä ennen niiden käyttöönottoa. Se luotiin Facebookin tietoturva- ja ohjelmistosuunnittelijoiden läheisen yhteistyön tuloksena. He kouluttavat MT: tä katsomaan koodia ja analysoimaan, miten data kulkee sen läpi. Tietovirtojen analysointi on hyödyllistä, koska monet tietoturva- ja yksityisyysongelmat voidaan mallintaa datavirtaksi siellä, missä sen ei pitäisi.

Analysaattorin tehtävä rajoittuu tietolähteiden ja vaarallisten puheluiden määrittämiseen, missä alkuperäistä dataa ei pitäisi käyttää: jäsennin valvoo datan kulkua funktiokutsujen ketjun läpi ja yhdistää lähtötiedot mahdollisesti vaarallisiin paikkoihin koodissa.

Koska MT: ssä, datavirta voidaan kuvata seuraavasti:

  • Lähde: lähtökohta. Tämä voi olla käyttäjän ohjaama merkkijono, joka tulee sovellukseen Intent.getData -koodin kautta.
  • Pesuallas: määränpää. Androidissa tämä voi olla puhelu "Log.w" tai "Runtime.exec". Esimerkiksi Intent.getData -puheluun kuuluvia tietoja pidetään valvottavana lähteenä, ja Log.w- ja Runtime.exec -puheluita pidetään vaarallisina käyttötarkoituksina.

Suuri koodikanta voi sisältää monia erityyppisiä lähteitä ja vastaavia vastaanottimia. Voimme kehottaa MT: tä näyttämään meille tietyt virrat määrittelemällä säännöt.

Säännössä voitaisiin esimerkiksi määrittää, että haluamme löytää tarkoitukselliset uudelleenohjaukset (ongelmat, joiden avulla hyökkääjät voivat siepata arkaluonteisia tietoja) määrittelemällä säännön, joka näyttää meille kaikki jäljet ​​"käyttäjän ohjaamista" lähteistä aikomusten uudelleenohjauksen nieluun.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.