Mariana Trench, penganalisis kod statik sumber terbuka Facebook

Facebook dilancarkan beberapa hari yang lalu dia melepaskan penganalisis statik sumber terbuka, Mariana Trench, yang dimaksudkan untuk mengidentifikasi kerentanan dalam aplikasi Android dan program Java.

Pada kemampuan untuk menganalisis projek tanpa kod sumber disediakan, yang hanya tersedia bytecode untuk mesin maya Dalvik. Kelebihan lain adalah kelajuan pelaksanaan yang sangat tinggi (analisis beberapa juta baris kod memerlukan masa sekitar 10 saat), yang membolehkan anda menggunakan Mariana Trench untuk memeriksa semua perubahan yang dicadangkan semasa diperkenalkan.

Penganalisis dikembangkan sebagai sebahagian daripada projek untuk mengotomatisasi proses tinjauan kod sumber aplikasi mudah alih Facebook, Instagram dan Whatsapp.

Kami berkongsi perincian mengenai Mariana Trench (MT), alat yang kami gunakan untuk mengesan dan mencegah kesalahan keselamatan dan privasi dalam aplikasi Android dan Java. Sebagai sebahagian daripada usaha kami untuk membantu meningkatkan keselamatan melalui automasi bangunan, kami baru-baru ini membuka MT untuk menyokong jurutera keselamatan di Facebook dan di seluruh industri.

Catatan ini adalah yang ketiga dalam siri kajian mendalam mengenai alat analisis statik dan dinamik yang kami percayai. MT adalah sistem terbaru, mengikuti Zoncolan dan Pysa, yang masing-masing dibina untuk kod Hack dan Python.

Pada separuh pertama tahun 2021, separuh daripada semua kelemahan dalam aplikasi mudah alih Facebook dikenal pasti menggunakan alat analisis automatik. Kod Mariana Trench saling berkaitan dengan projek Facebook yang lain, sebagai contoh, operasi pengoptimum Redex bytecode digunakan untuk menganalisis bytecode dan perpustakaan SPARTA digunakan untuk interpretasi visual dan kajian hasil. Analisis statik.

Potensi kelemahan dan masalah keselamatan dikenal pasti dengan menganalisis aliran data semasa pelaksanaan aplikasi, yang memungkinkan untuk mengenal pasti situasi di mana data luaran mentah diproses dalam konstruk berbahaya, seperti pertanyaan SQL, operasi fail, dan panggilan yang membawa kepada pelancaran program luaran.

MT direka untuk dapat mengimbas pangkalan kod mudah alih yang besar dan menandakan masalah yang berpotensi dalam permintaan tarik sebelum masuk ke pengeluaran. Itu dibuat sebagai hasil kerjasama erat antara jurutera keselamatan dan perisian Facebook, yang melatih MT untuk melihat kod dan menganalisis bagaimana data mengalir melaluinya. Menganalisis aliran data berguna kerana banyak masalah keselamatan dan privasi dapat dimodelkan sebagai data yang mengalir di mana tidak seharusnya.

Tugas penganalisis dikurangkan untuk menentukan sumber data dan panggilan berbahaya, di mana data asli tidak boleh digunakan: Penghurai memantau perjalanan data melalui rantai panggilan fungsi dan menghubungkan data awal dengan tempat yang berpotensi berbahaya dalam kod.

Sejak di MT, aliran data dapat digambarkan dengan:

  • Sumber: titik asal. Ini boleh menjadi rentetan yang dikendalikan oleh pengguna yang memasuki aplikasi melalui `Intent.getData`.
  • Tenggelam: destinasi. Pada Android, ini boleh menjadi panggilan ke `Log.w` atau` Runtime.exec`. Sebagai contoh, data dari panggilan ke Intent.getData dianggap sebagai sumber untuk dipantau, dan panggilan ke Log.w dan Runtime.exec dianggap penggunaan berbahaya.

Pangkalan kod yang besar boleh mengandungi pelbagai jenis sumber dan penerima yang sesuai. Kami boleh memberitahu MT untuk menunjukkan aliran khusus kepada kami dengan menentukan peraturan.

Satu peraturan dapat menentukan, misalnya, bahawa kita ingin mencari pengalihan niat (masalah yang memungkinkan penyerang memintas data sensitif) dengan menentukan peraturan yang menunjukkan kepada kita semua jejak dari sumber "dikendalikan pengguna" hingga sink "pengalihan niat".

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak perincian dalam pautan berikut.


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.