Analisis statis aplikasi seluler



Salah satu tahap pengujian aplikasi seluler adalah analisis statis. Analisis statis suatu aplikasi adalah analisis suatu aplikasi tanpa melakukan fungsi aplikasi apa pun. Yang paling nyaman bagi saya dari kerangka kerja open source adalah MobSF. Siapa peduli, selamat datang ke kucing.

MobSF melakukan analisis statis aplikasi: Android, Apple iOS dan Windows Phone dan analisis dinamis: hanya aplikasi Android. Saya akan memberi tahu Anda cara melakukan analisis dinamis di artikel selanjutnya yang dikhususkan untuk MobSF. Penjelasan lebih rinci dan manual instalasi dapat ditemukan di sini .

Setelah menginstal MobSF, kami akan melakukan file batch berikut untuk memulai server (saya menulis untuk diri saya sendiri, karena itu drive D).

d: cd .\MobSF\ python .\manage.py runserver 

Selanjutnya Anda harus pergi ke alamat http [:] // 127.0.0.1:8000 dan halaman utama terbuka (Gbr. 1). Tidak banyak yang berfungsi di sini:

  • unggah file;
  • lihat laporan pada pemindaian sebelumnya;
  • Beralih ke dokumentasi API
  • transisi ke proyek github.


Fig. 1. Halaman utama

Setelah file diunduh dan dianalisis, halaman dengan hasil analisis muncul (Gbr. 2). Di sebelah kiri adalah menu yang memungkinkan Anda untuk melompat dengan cepat ke seluruh halaman (hasilnya cukup tebal). Apa informasi yang berguna dalam tangkapan layar ini:

  • jumlah aplikasi hash
  • Versi OS Android yang didukung
  • jumlah dan jenis komponen (diekspor atau tidak), ini penting, karena komponen yang diekspor dapat menyebabkan kerentanan kritis;
  • kemampuan untuk melihat dan mengunduh file java dan smali yang dapat dianalisis dengan alat lain atau secara manual;
  • lihat file manifes untuk analisis.


Fig. 2. Hasil analisis

Kami melangkah lebih jauh. Dalam gbr. Gambar 3 menunjukkan informasi sertifikat yang dengannya aplikasi ditandatangani.


Fig. 3. Informasi Sertifikat

Berikut ini adalah deskripsi analisis izin, yang dijelaskan dalam file AndroidManifest.xml (Gbr. 4). MobSF menganalisis izin aplikasi, menentukan statusnya, untuk kekritisan dan deskripsi izin. Di sini Anda perlu memahami arsitektur OS Android untuk kekritisan aplikasi yang sebenarnya.


Fig. 4. Analisis Izin Android

Analisis Keamanan -> tab Analisis Kode (Gbr. 5) menunjukkan hasil analisis kode java oleh penganalisa statis yang mengidentifikasi kerentanan potensial, menentukan tingkat keparahannya dan file-file tempat jenis kerentanan ini ditemukan. Dalam banyak hal, hasil ini palsu positif, tetapi Anda perlu memeriksa ulang ini.


Fig. 5. Analisis kode

Tab berikutnya (Gbr. 6) adalah analisis file pada layanan virustotal.com. Dalam hal ini, file tidak terdeteksi sebagai terinfeksi.


Fig. 6. Analisis File

Tab URL (Gambar 7) menampilkan daftar URL, alamat IP dan file tempat mereka disimpan atau dipanggil. Bagian ini menganalisis di mana aplikasi mengirim data atau di mana ia menyimpan informasi.


Fig. 7. URL Tab

Tab "Strings" (Gbr. 8) menganalisis file teks yang ada di direktori res. Saat menganalisis aplikasi, file-file ini mungkin berisi akun yang di-hardcode dan data sensitif lainnya. Meskipun dalam ingatan saya ini tidak.


Fig. 8. Analisis file teks

Tab "Komponen" (Gbr. 9) menampilkan daftar komponen lengkap (aktivitas, layanan, penyedia dan penerima konten), perpustakaan dan file yang diimpor tanpa menentukan ekstensi.


Fig. 9. Daftar komponen

Selain itu, analisis kode sumber dapat dilakukan dengan menggunakan penganalisa statis pemindai VCG. VCG membutuhkan kode sumber. Kode sumber dapat diunduh melalui tombol Unduh Java Code (Gbr. 10). File tersebut diunduh dalam arsip ZIP. Selanjutnya, Anda perlu mengekstrak folder dengan file dari arsip (Gbr. 11).


Fig. 10. Mengunduh kode sumber


Fig. 11. Mengekstrak kode sumber

Memindai kode sumber dilakukan sebagai berikut:

  1. Pada tab "Pengaturan", pilih "Java" - Gambar 12.
  2. Pada tab "File", pilih "New Target Directory" - Gambar 13.
  3. Pada tab "Pindai", pilih "Pemindaian penuh" - Gambar 14.


Fig. 12. Pemilihan kode sumber


Fig. 13. Mengunggah direktori dengan file


Fig. 14. Mulai memindai

Setelah pemindaian selesai, pemindai menampilkan nama kerentanan, kekritisannya, deskripsi singkat dan tempat dalam kode sumber (Gbr. 15). Anda bisa mendapatkan daftar kerentanan lengkap dan mengurutkannya berdasarkan kekritisannya (Gbr. 16).


Fig. 15. Deskripsi kerentanan


Fig. 16. Daftar lengkap kerentanan

Kesimpulan

Analisis statis aplikasi dan kode sumber memberikan konsep dasar tentang arsitektur aplikasi dan vektor serangan potensial. Menurut metodologi yang digunakan oleh ByteCode, dari dia inilah analisis aplikasi apa pun dari klien yang datang ke pentest dimulai.

Source: https://habr.com/ru/post/id429252/


All Articles