
เฟรมเวิร์กการวิเคราะห์มัลแวร์การเรียนรู้ของเครื่องสำหรับแอพ Android
Droiddetective เป็นเครื่องมือ Python สำหรับการวิเคราะห์แอปพลิเคชัน Android (APKs) สำหรับพฤติกรรมและการกำหนดค่าที่เกี่ยวข้องกับมัลแวร์ที่มีศักยภาพ เมื่อให้มาพร้อมกับเส้นทางไปยังแอปพลิเคชัน (ไฟล์ APK) Droid Detective จะทำการทำนาย (โดยใช้แบบจำลอง ML) หากแอปพลิเคชันนั้นเป็นอันตราย คุณสมบัติและคุณสมบัติของนักสืบ Droid รวมถึง:
AndroidManifest.xml ของแอปพลิเคชัน -AndroidManifest.xml ของแอปพลิเคชัน -การพึ่งพา droiddetective ทั้งหมดสามารถติดตั้งด้วยตนเองหรือผ่านไฟล์ข้อกำหนดด้วย
pip install -r REQUIREMENTS.txtDroiddetective ได้รับการทดสอบทั้ง 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) สำหรับพฤติกรรมที่เกี่ยวข้องกับมัลแวร์ที่มีศักยภาพ สิ่งนี้ใช้งานได้โดยการฝึกอบรมตัวจําแนกป่าไม้แบบสุ่มเกี่ยวกับข้อมูลที่ได้จาก APKs มัลแวร์ทั้งที่รู้จักและ APKs มาตรฐานที่มีอยู่ใน Android App Store เครื่องมือนี้มาก่อนที่ได้รับการฝึกอบรมมาแล้วรุ่นนี้สามารถได้รับการฝึกอบรมอีกครั้งในชุดข้อมูลใหม่ได้ตลอดเวลา
ปัจจุบันโมเดลนี้ใช้สิทธิ์จากไฟล์ apks AndroidManifest.xml เป็นชุดคุณสมบัติ สิ่งนี้ใช้งานได้โดยการสร้างพจนานุกรมของการอนุญาต Android แต่ละมาตรฐานและการตั้งค่าคุณสมบัติเป็น 1 หากมีการอนุญาตใน APK ในทำนองเดียวกันคุณลักษณะจะถูกเพิ่มสำหรับจำนวนการอนุญาตที่ใช้ในรายการและสำหรับจำนวนของการอนุญาตที่ไม่ระบุชื่อที่พบในรายการ
โมเดลที่ผ่านการฝึกอบรมมาก่อนได้รับการฝึกฝนออกจากครอบครัวมัลแวร์ประมาณ 14 ครอบครัว (แต่ละไฟล์มีไฟล์ APK หนึ่งไฟล์ขึ้นไป) ซึ่งตั้งอยู่จากที่เก็บของ Ashisdb และแอพพลิเคชั่นปกติประมาณ 100 แอปพลิเคชันจาก Google Play Store
ด้านล่างแสดงถึงสถิติสำหรับรุ่น ML นี้:
Accuracy: 0.9310344827586207
Recall: 0.9166666666666666
Precision: 0.9166666666666666
F-Measure: 0.9166666666666666
คุณสมบัติที่มีน้ำหนักสูงสุด 10 อันดับแรก (เช่น Android Permissions) ที่ใช้โดยรุ่นนี้สำหรับการระบุมัลแวร์สามารถดูได้ด้านล่าง:
"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