
Kerangka Analisis Malware Pembelajaran Mesin untuk Aplikasi Android. ☢️
DroidDetektif adalah alat Python untuk menganalisis aplikasi android (APK) untuk perilaku dan konfigurasi terkait malware potensial. Ketika dilengkapi dengan jalur ke detektif DROID APLIKASI (File APK) akan membuat prediksi (menggunakan model ML) jika aplikasinya berbahaya. Fitur dan kualitas Detektif Droid meliputi:
AndroidManifest.xml aplikasi. ?AndroidManifest.xml aplikasi. ?Semua dependensi droiddetektif dapat diinstal secara manual atau melalui file persyaratan, dengan
pip install -r REQUIREMENTS.txtDroidDetektif telah diuji pada Windows 10 dan Ubuntu 18.0 LTS.
DroidDetektif dapat dijalankan dengan menyediakan file Python dengan APK sebagai parameter baris perintah, seperti:
python DroidDetective.py myAndroidApp.apk
Jika file apk_malware.model tidak ada, maka perkakas pertama akan melatih model dan akan memerlukan satu set pelatihan APK di kedua folder di akar proyek yang disebut malware dan yang lain yang disebut normal . Setelah dijalankan dengan sukses, hasilnya akan dicetak ke CLI jika model telah mengidentifikasi APK menjadi jahat atau jinak. Contoh output ini dapat dilihat di bawah:
>> Analysed file 'com.android.camera2.apk', identified as not malware.
Parameter tambahan dapat diberikan kepada DroidDetective.py sebagai file JSON untuk menyimpan hasilnya. Jika file JSON ini sudah ada, hasil dari menjalankan ini akan ditambahkan ke file JSON.
python DroidDetective.py myAndroidApp.apk output.json
Contoh output ini JSON adalah sebagai berikut:
{
"com.android.camera2" : false ,
}DroidDetective adalah alat Python untuk menganalisis aplikasi android (APK) untuk perilaku terkait malware potensial. Ini berfungsi dengan melatih pengklasifikasi hutan acak tentang informasi yang berasal dari apks malware yang diketahui dan apks standar yang tersedia di Android App Store. Perkakas ini dilatih sebelumnya, namun, model ini dapat dilatih ulang pada dataset baru kapan saja.
Model ini saat ini menggunakan izin dari file apks AndroidManifest.xml sebagai set fitur. Ini berfungsi dengan membuat kamus dari setiap izin Android standar dan mengatur fitur ke 1 jika izin ada di APK. Demikian pula, suatu fitur ditambahkan untuk jumlah izin yang digunakan dalam manifes dan untuk jumlah izin yang tidak dikenal yang ditemukan dalam manifes.
Model pra-terlatih dilatih sekitar 14 keluarga malware (masing-masing dengan satu atau lebih file APK), yang terletak dari repositori ASHISDB, dan sekitar 100 aplikasi normal yang terletak dari Google Play Store.
Di bawah ini menunjukkan statistik untuk model ML ini:
Accuracy: 0.9310344827586207
Recall: 0.9166666666666666
Precision: 0.9166666666666666
F-Measure: 0.9166666666666666
10 fitur tertimbang tertinggi (yaitu izin Android) yang digunakan oleh model ini, untuk mengidentifikasi malware, dapat dilihat di bawah ini:
"android.permission.SYSTEM_ALERT_WINDOW": 0.019091367939223395,
"android.permission.ACCESS_NETWORK_STATE": 0.021001765263234648,
"android.permission.ACCESS_WIFI_STATE": 0.02198962579120518,
"android.permission.RECEIVE_BOOT_COMPLETED": 0.026398914436102188,
"android.permission.GET_TASKS": 0.03595458598076517,
"android.permission.WAKE_LOCK": 0.03908212881520419,
"android.permission.WRITE_SMS": 0.057041576632290585,
"android.permission.INTERNET": 0.08816028225034145,
"android.permission.WRITE_EXTERNAL_STORAGE": 0.09835914154294739,
"other_permission": 0.10189463965313218,
"num_of_permissions": 0.12392224814084198
Lisensi Publik Umum GNU v3.0