
إطار تحليل البرامج الضارة للتعلم الآلي لتطبيقات Android. ☢
DroidDetective هي أداة Python لتحليل تطبيقات Android (APKs) للسلوك والتكوينات المحتملة المتعلقة بالبرامج الضارة. عندما يتم تزويدها بمسار إلى التطبيق (ملف APK) ، فإن Droid Detective سيقوم بتنبؤ (باستخدام نموذج ML) إذا كان التطبيق ضارًا. تشمل ميزات وخصائص محقق الروبوت:
AndroidManifest.xml للتطبيق. ؟AndroidManifest.xml التابع للتطبيق. ؟يمكن تثبيت جميع تبعيات droiddetctive يدويًا أو عبر ملف المتطلبات ، مع
pip install -r REQUIREMENTS.txtتم اختبار DroidDetective على كل من Windows 10 و Ubuntu 18.0 LTS.
يمكن تشغيل DroidDetective عن طريق توفير ملف Python مع APK كمعلمة سطر الأوامر ، مثل:
python DroidDetective.py myAndroidApp.apk
إذا لم يكن ملف apk_malware.model موجودًا ، فسيقوم الأدوات أولاً بتدريب النموذج وستتطلب مجموعة تدريب من APKs في كل من المجلد في جذر المشروع المسمى malware وآخر يسمى normal . بمجرد تشغيل النجاح ، سيتم طباعة النتيجة على CLI على إذا كان النموذج قد حدد APK ليكون ضارًا أو حميدًا. يمكن رؤية مثال على هذا الإخراج أدناه:
>> 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 ,
}DroidDetective هي أداة Python لتحليل تطبيقات Android (APKs) للسلوك المحتمل المتعلق بالبرامج الضارة. يعمل هذا من خلال تدريب مصنف غابات عشوائي على المعلومات المستمدة من كل من برنامج APK المعروفة من البرامج الضارة ومؤلفات APKs القياسية المتوفرة في متجر تطبيقات Android. ومع ذلك ، فإن هذه الأدوات تدربت مسبقًا ، يمكن إعادة تدريب النموذج على مجموعة بيانات جديدة في أي وقت.
يستخدم هذا النموذج حاليًا أذونات من ملف APKS AndroidManifest.xml كمجموعة ميزة. يعمل هذا من خلال إنشاء قاموس لكل إذن من Android القياسي ووضع الميزة على 1 إذا كان الإذن موجودًا في APK. وبالمثل ، تتم إضافة ميزة للحصول على كمية الأذونات المستخدمة في البيان ومقدار الأذونات غير المحددة الموجودة في البيان.
تم تدريب النموذج الذي تم تدريبه مسبقًا على ما يقرب من 14 عائلة من البرامج الضارة (لكل منها مع ملف APK واحد أو أكثر) ، ويقع من مستودع Ashisdb ، وحوالي 100 تطبيق عادي من متجر Google Play.
يدل أدناه على إحصائيات نموذج ML هذا:
Accuracy: 0.9310344827586207
Recall: 0.9166666666666666
Precision: 0.9166666666666666
F-Measure: 0.9166666666666666
يمكن رؤية أفضل 10 ميزات مرجحة (أي أذونات 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