Mariana Trench, penganalisa kode statis open source Facebook

Facebook diresmikan beberapa hari yang lalu telah dirilis penganalisis statis sumber terbuka, Palung Mariana, yang dimaksudkan untuk mengidentifikasi kerentanan dalam aplikasi Android dan program Java.

Di kemampuan untuk menganalisis proyek tanpa kode sumber disediakan, yang hanya tersedia bytecode untuk mesin virtual Dalvik. Keuntungan lain adalah kecepatan eksekusi yang sangat tinggi (analisis beberapa juta baris kode membutuhkan waktu sekitar 10 detik), yang memungkinkan Anda menggunakan Palung Mariana untuk memeriksa semua perubahan yang diusulkan saat diperkenalkan.

penganalisa dikembangkan sebagai bagian dari proyek untuk mengotomatisasi proses peninjauan kode sumber aplikasi seluler dari Facebook, Instagram dan Whatsapp.

Kami membagikan detail tentang Mariana Trench (MT), alat yang kami gunakan untuk mendeteksi dan mencegah kesalahan keamanan dan privasi di aplikasi Android dan Java. Sebagai bagian dari upaya kami untuk membantu meningkatkan keamanan melalui otomatisasi gedung, kami baru-baru ini membuka MT untuk mendukung insinyur keamanan di Facebook dan di seluruh industri.

Posting ini adalah yang ketiga dari rangkaian penyelaman mendalam kami ke alat analisis statis dan dinamis yang kami percayai. MT adalah sistem terbaru, mengikuti Zoncolan dan Pysa, masing-masing dibuat untuk kode Hack dan Python.

Pada paruh pertama tahun 2021, setengah dari semua kerentanan di aplikasi seluler Facebook diidentifikasi menggunakan alat analisis otomatis. Kode Mariana Trench terkait erat dengan proyek Facebook lainnya, misalnya, operasi pengoptimal bytecode Redex digunakan untuk menganalisis bytecode dan perpustakaan SPARTA digunakan untuk interpretasi visual dan studi hasil analisis statis.

Potensi kerentanan dan masalah keamanan diidentifikasi dengan menganalisis aliran data selama pelaksanaan aplikasi, yang memungkinkan untuk mengidentifikasi situasi di mana data eksternal mentah diproses dalam konstruksi berbahaya, seperti kueri SQL, operasi file, dan panggilan yang mengarah ke peluncuran program eksternal.

MT dirancang untuk dapat memindai basis kode seluler yang besar dan menunjukkan potensi masalah dalam permintaan tarik sebelum masuk ke produksi. Itu dibuat sebagai hasil kolaborasi erat antara insinyur keamanan dan perangkat lunak Facebook, yang melatih MT untuk melihat kode dan menganalisis bagaimana data mengalir melaluinya. Menganalisis aliran data berguna karena banyak masalah keamanan dan privasi dapat dimodelkan sebagai aliran data di tempat yang seharusnya tidak.

Pekerjaan penganalisis dikurangi menjadi menentukan sumber data dan panggilan berbahaya, di mana data asli tidak boleh digunakan: Pengurai memonitor perjalanan data melalui rantai panggilan fungsi dan menghubungkan data awal dengan tempat-tempat yang berpotensi berbahaya dalam kode.

Karena di MT, aliran data dapat digambarkan dengan:

  • Sumber: titik asal. Ini bisa berupa string yang dikontrol pengguna yang masuk ke aplikasi melalui `Intent.getData`.
  • Tenggelam: tujuan. Di Android, ini bisa berupa panggilan ke `Log.w` atau` Runtime.exec`. Misalnya, data dari panggilan ke Intent.getData dianggap sebagai sumber untuk dipantau, dan panggilan ke Log.w dan Runtime.exec dianggap sebagai penggunaan yang berbahaya.

Basis kode yang besar dapat berisi berbagai jenis sumber dan penerima yang sesuai. Kami dapat memberi tahu MT untuk menunjukkan kepada kami aliran spesifik dengan mendefinisikan aturan.

Aturan dapat menentukan, misalnya, bahwa kita ingin menemukan pengalihan maksud (masalah yang memungkinkan penyerang mencegat data sensitif) dengan mendefinisikan aturan yang menunjukkan kepada kita semua jejak dari sumber yang "dikendalikan pengguna" ke kumpulan " pengalihan niat.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Anda dapat memeriksa detail di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.