
Android應用程序的機器學習惡意軟件分析框架。 ☢️
DroidDetactive是用於分析與潛在惡意軟件相關行為和配置的Android應用程序(APK)的Python工具。如果提供了應用程序(APK文件)的路徑,則DROID偵探將對應用程序惡意進行預測(使用它的ML模型)。 Droid偵探的功能和素質包括:
AndroidManifest.xml文件中指定了〜330個權限。 ?AndroidManifest.xml文件中使用的標準和專有權限的數量。 ?所有DroidDetacextive依賴項都可以手動或通過需求文件安裝
pip install -r REQUIREMENTS.txtWindows 10和Ubuntu 18.0 LTS均已測試了DroidDetactive。
可以通過將APK作為命令行參數提供python文件來運行,例如:
python DroidDetective.py myAndroidApp.apk
如果不存在apk_malware.model文件,則該工具將首先訓練該模型,並需要在該項目根部的文件夾中訓練APK,稱為malware ,而另一個稱為normal 。成功運行後,如果模型已將APK確定為惡意或良性,則將將結果打印到CLI上。該輸出的一個示例在下面可以看到:
>> Analysed file 'com.android.camera2.apk', identified as not malware.
可以向DroidDetective.py提供一個附加參數作為JSON文件,以將結果保存到。如果此JSON文件已經存在,則此運行的結果將附加到JSON文件。
python DroidDetective.py myAndroidApp.apk output.json
此輸出JSON的一個示例如下:
{
"com.android.camera2" : false ,
}DroidDetactive是用於分析與潛在惡意軟件相關行為的Android應用(APK)的Python工具。這是通過訓練從已知的惡意軟件APK和Android App Store上可用的標準APK衍生的隨機森林分類器來培訓的。該工具進行了預訓練,但是,該模型可以隨時在新數據集上進行重新訓練。
該模型當前使用apks AndroidManifest.xml文件的權限作為功能集。通過創建每個標準Android許可的字典來起作用,如果APK中存在權限,則將功能設置為1 。同樣,為清單中使用的權限和清單中發現的未知權限量添加了功能。
從AshisDB的存儲庫中,對大約14個惡意軟件系列(每個或多個APK文件)進行了大約14個惡意軟件系列(每個或多個APK文件)的培訓,並從Google Play商店中找到了大約100個普通應用程序。
以下表示此ML模型的統計信息:
Accuracy: 0.9310344827586207
Recall: 0.9166666666666666
Precision: 0.9166666666666666
F-Measure: 0.9166666666666666
該模型使用的最高加權功能(即Android權限),用於識別惡意軟件,請參見下面:
"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
GNU通用公共許可證v3.0