Mariana Trench, bukas na mapagkukunan ng statikong analyzer ng Facebook

Inilantad ang Facebook ilang araw na ang nakakalaya siya ang open source static analyzer, Mariana Trench, na inilaan upang makilala ang mga kahinaan sa mga application ng Android at mga programang Java.

Sa ang kakayahang pag-aralan ang mga proyekto nang walang mga source code ay ibinigay, kung saan ang bytecode lamang para sa Dalvik virtual machine ang magagamit. Ang isa pang kalamangan ay ang napakataas na bilis ng pagpapatupad (ang pagtatasa ng maraming milyong mga linya ng code ay tumatagal ng halos 10 segundo), na nagbibigay-daan sa iyo upang magamit ang Mariana Trench upang suriin ang lahat ng ipinanukalang mga pagbabago habang ipinakilala ang mga ito.

Ang analyzer ay binuo bilang bahagi ng isang proyekto upang i-automate ang proseso ng pagsusuri ng code mapagkukunan ng mga mobile application ng Facebook, Instagram at Whatsapp.

Nagbabahagi kami ng mga detalye tungkol sa Mariana Trench (MT), isang tool na ginagamit namin upang makita at maiwasan ang mga error sa seguridad at privacy sa mga application ng Android at Java. Bilang bahagi ng aming pagsisikap na tulungan ang antas ng seguridad sa pamamagitan ng pagbuo ng pag-aautomat, binuksan namin kamakailan ang MT upang suportahan ang mga security engineer sa Facebook at sa buong industriya.

Ang post na ito ay ang pangatlo sa aming serye ng malalim na pagsisid sa mga static at pabago-bagong tool sa pagtatasa na pinagkakatiwalaan namin. Ang MT ay ang pinakabagong system, kasunod sa Zoncolan at Pysa, na binuo para sa Hack at Python code ayon sa pagkakabanggit.

Sa unang kalahati ng 2021, kalahati ng lahat ng mga kahinaan sa mga aplikasyon sa mobile sa Facebook ay nakilala gamit ang mga automated na tool sa pagsusuri. Ang code ni Mariana Trench ay malapit na magkaugnay sa iba pang mga proyekto sa Facebook, halimbawa, ang Redex bytecode optimizer na operasyon ay ginagamit upang pag-aralan ang bytecode at ginagamit ang library ng SPARTA para sa visual na interpretasyon at pag-aaral ng mga resulta. Static analysis.

Ang mga potensyal na kahinaan at isyu sa seguridad ay nakilala sa pamamagitan ng pag-aaral ng mga daloy ng data sa panahon ng pagpapatupad ng aplikasyon, na nagbibigay-daan upang makilala ang mga sitwasyon kung saan ang hilaw na panlabas na data ay naproseso sa mapanganib na mga konstruksyon, tulad ng mga query sa SQL, pagpapatakbo ng file, at mga tawag na humahantong sa paglulunsad ng mga panlabas na programa.

Ang MT ay idinisenyo upang ma-scan ang malalaking mga base sa mobile code at i-flag ang mga potensyal na problema sa mga paghiling ng paghila bago sila gawin sa produksyon. Nilikha ito bilang isang resulta ng malapit na pakikipagtulungan sa pagitan ng seguridad ng Facebook at mga inhinyero ng software, na nagsasanay ng MT upang tingnan ang code at pag-aralan kung paano dumadaloy ang data sa pamamagitan nito. Ang pagsusuri ng mga daloy ng data ay kapaki-pakinabang dahil maraming mga isyu sa seguridad at privacy ang maaaring ma-modelo bilang daloy ng data kung saan hindi dapat.

Ang trabaho ng analyzer ay nabawasan sa pagtukoy ng mga mapagkukunan ng data at mapanganib na mga tawag, kung saan hindi dapat gamitin ang orihinal na data: Sinusubaybayan ng parser ang pagpasa ng data sa pamamagitan ng tanso ng mga tawag sa pagpapaandar at ikinokonekta ang paunang data sa mga potensyal na mapanganib na lugar sa code.

Dahil sa MT, ang isang daloy ng data ay maaaring inilarawan sa pamamagitan ng:

  • Pinagmulan: isang pinanggalingan. Maaari itong maging isang string na kinokontrol ng gumagamit na pumapasok sa application sa pamamagitan ng `Intent.getData`.
  • Sink: isang patutunguhan. Sa Android, maaari itong isang tawag sa `Log.w` o` Runtime.exec`. Halimbawa, ang data mula sa isang tawag sa Intent.getData ay itinuturing na isang mapagkukunan upang subaybayan, at ang mga tawag sa Log.w at Runtime.exec ay itinuturing na mapanganib na paggamit.

Ang isang malaking base ng code ay maaaring maglaman ng maraming iba't ibang mga uri ng mapagkukunan at kaukulang mga tatanggap. Maaari naming sabihin sa MT na ipakita sa amin ang mga tukoy na daloy sa pamamagitan ng pagtukoy sa mga panuntunan.

Maaaring tukuyin ng isang panuntunan, halimbawa, na nais naming maghanap ng mga pag-redirect ng layunin (mga problemang pinapayagan ang mga magsasalakay na maharang ang sensitibong data) sa pamamagitan ng pagtukoy sa isang patakaran na ipinapakita sa amin ang lahat ng mga bakas mula sa mga mapagkukunang "kinokontrol ng gumagamit" hanggang sa isang lababo ng "mga pag-redirect ng mga hangarin.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.