
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 utamaSetelah 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 analisisKami melangkah lebih jauh. Dalam gbr. Gambar 3 menunjukkan informasi sertifikat yang dengannya aplikasi ditandatangani.
Fig. 3. Informasi SertifikatBerikut 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 AndroidAnalisis 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 kodeTab berikutnya (Gbr. 6) adalah analisis file pada layanan virustotal.com. Dalam hal ini, file tidak terdeteksi sebagai terinfeksi.
Fig. 6. Analisis FileTab 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 TabTab "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 teksTab "Komponen" (Gbr. 9) menampilkan daftar komponen lengkap (aktivitas, layanan, penyedia dan penerima konten), perpustakaan dan file yang diimpor tanpa menentukan ekstensi.
Fig. 9. Daftar komponenSelain 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 sumberMemindai kode sumber dilakukan sebagai berikut:
- Pada tab "Pengaturan", pilih "Java" - Gambar 12.
- Pada tab "File", pilih "New Target Directory" - Gambar 13.
- Pada tab "Pindai", pilih "Pemindaian penuh" - Gambar 14.
Fig. 12. Pemilihan kode sumber
Fig. 13. Mengunggah direktori dengan file
Fig. 14. Mulai memindaiSetelah 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 kerentananKesimpulanAnalisis 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.