基于机器学习的Android恶意代码分析框架

admin 2022年5月24日08:50:55评论219 views字数 13567阅读45分13秒阅读模式


APP漏洞检测、渗透测试、隐私合规等专用测试机



基于机器学习的Android恶意代码分析框架


基于机器学习的Android恶意代码分析框架

git clone https://github.com/user1342/DroidDetective.gitpip install -r REQUIREMENTS.txt


基于机器学习的Android恶意代码分析框架


基于机器学习的Android恶意代码分析框架


基于机器学习的Android恶意代码分析框架


Android权限列表

https://gist.github.com/Arinerron/1bcaadc7b1cbeae77de0263f4e15156fhttps://developer.android.com/reference/android/Manifest.permissionhttps://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml
android.permission.ACCESS_ALL_DOWNLOADSandroid.permission.ACCESS_BLUETOOTH_SHAREandroid.permission.ACCESS_CACHE_FILESYSTEMandroid.permission.ACCESS_CHECKIN_PROPERTIESandroid.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLYandroid.permission.ACCESS_DOWNLOAD_MANAGERandroid.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCEDandroid.permission.ACCESS_DRM_CERTIFICATESandroid.permission.ACCESS_EPHEMERAL_APPSandroid.permission.ACCESS_FM_RADIOandroid.permission.ACCESS_INPUT_FLINGERandroid.permission.ACCESS_KEYGUARD_SECURE_STORAGEandroid.permission.ACCESS_LOCATION_EXTRA_COMMANDSandroid.permission.ACCESS_MOCK_LOCATIONandroid.permission.ACCESS_MTPandroid.permission.ACCESS_NETWORK_CONDITIONSandroid.permission.ACCESS_NETWORK_STATEandroid.permission.ACCESS_NOTIFICATIONSandroid.permission.ACCESS_NOTIFICATION_POLICYandroid.permission.ACCESS_PDB_STATEandroid.permission.ACCESS_SURFACE_FLINGERandroid.permission.ACCESS_VOICE_INTERACTION_SERVICEandroid.permission.ACCESS_VR_MANAGERandroid.permission.ACCESS_WIFI_STATEandroid.permission.ACCESS_WIMAX_STATEandroid.permission.ACCOUNT_MANAGERandroid.permission.ALLOW_ANY_CODEC_FOR_PLAYBACKandroid.permission.ASEC_ACCESSandroid.permission.ASEC_CREATEandroid.permission.ASEC_DESTROYandroid.permission.ASEC_MOUNT_UNMOUNTandroid.permission.ASEC_RENAMEandroid.permission.AUTHENTICATE_ACCOUNTSandroid.permission.BACKUPandroid.permission.BATTERY_STATSandroid.permission.BIND_ACCESSIBILITY_SERVICEandroid.permission.BIND_APPWIDGETandroid.permission.BIND_CARRIER_MESSAGING_SERVICEandroid.permission.BIND_CARRIER_SERVICESandroid.permission.BIND_CHOOSER_TARGET_SERVICEandroid.permission.BIND_CONDITION_PROVIDER_SERVICEandroid.permission.BIND_CONNECTION_SERVICEandroid.permission.BIND_DEVICE_ADMINandroid.permission.BIND_DIRECTORY_SEARCHandroid.permission.BIND_DREAM_SERVICEandroid.permission.BIND_INCALL_SERVICEandroid.permission.BIND_INPUT_METHODandroid.permission.BIND_INTENT_FILTER_VERIFIERandroid.permission.BIND_JOB_SERVICEandroid.permission.BIND_KEYGUARD_APPWIDGETandroid.permission.BIND_MIDI_DEVICE_SERVICEandroid.permission.BIND_NFC_SERVICEandroid.permission.BIND_NOTIFICATION_LISTENER_SERVICEandroid.permission.BIND_NOTIFICATION_RANKER_SERVICEandroid.permission.BIND_PACKAGE_VERIFIERandroid.permission.BIND_PRINT_RECOMMENDATION_SERVICEandroid.permission.BIND_PRINT_SERVICEandroid.permission.BIND_PRINT_SPOOLER_SERVICEandroid.permission.BIND_QUICK_SETTINGS_TILEandroid.permission.BIND_REMOTEVIEWSandroid.permission.BIND_REMOTE_DISPLAYandroid.permission.BIND_ROUTE_PROVIDERandroid.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICEandroid.permission.BIND_SCREENING_SERVICEandroid.permission.BIND_TELECOM_CONNECTION_SERVICEandroid.permission.BIND_TEXT_SERVICEandroid.permission.BIND_TRUST_AGENTandroid.permission.BIND_TV_INPUTandroid.permission.BIND_TV_REMOTE_SERVICEandroid.permission.BIND_VOICE_INTERACTIONandroid.permission.BIND_VPN_SERVICEandroid.permission.BIND_VR_LISTENER_SERVICEandroid.permission.BIND_WALLPAPERandroid.permission.BLUETOOTHandroid.permission.BLUETOOTH_ADMINandroid.permission.BLUETOOTH_MAPandroid.permission.BLUETOOTH_PRIVILEGEDandroid.permission.BLUETOOTH_STACKandroid.permission.BRICKandroid.permission.BROADCAST_CALLLOG_INFOandroid.permission.BROADCAST_NETWORK_PRIVILEGEDandroid.permission.BROADCAST_PACKAGE_REMOVEDandroid.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATIONandroid.permission.BROADCAST_SMSandroid.permission.BROADCAST_STICKYandroid.permission.BROADCAST_WAP_PUSHandroid.permission.CACHE_CONTENTandroid.permission.CALL_PRIVILEGEDandroid.permission.CAMERA_DISABLE_TRANSMIT_LEDandroid.permission.CAMERA_SEND_SYSTEM_EVENTSandroid.permission.CAPTURE_AUDIO_HOTWORDandroid.permission.CAPTURE_AUDIO_OUTPUTandroid.permission.CAPTURE_SECURE_VIDEO_OUTPUTandroid.permission.CAPTURE_TV_INPUTandroid.permission.CAPTURE_VIDEO_OUTPUTandroid.permission.CARRIER_FILTER_SMSandroid.permission.CHANGE_APP_IDLE_STATEandroid.permission.CHANGE_BACKGROUND_DATA_SETTINGandroid.permission.CHANGE_COMPONENT_ENABLED_STATEandroid.permission.CHANGE_CONFIGURATIONandroid.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELISTandroid.permission.CHANGE_NETWORK_STATEandroid.permission.CHANGE_WIFI_MULTICAST_STATEandroid.permission.CHANGE_WIFI_STATEandroid.permission.CHANGE_WIMAX_STATEandroid.permission.CLEAR_APP_CACHEandroid.permission.CLEAR_APP_GRANTED_URI_PERMISSIONSandroid.permission.CLEAR_APP_USER_DATAandroid.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORMandroid.permission.CONFIGURE_WIFI_DISPLAYandroid.permission.CONFIRM_FULL_BACKUPandroid.permission.CONNECTIVITY_INTERNALandroid.permission.CONTROL_INCALL_EXPERIENCEandroid.permission.CONTROL_KEYGUARDandroid.permission.CONTROL_LOCATION_UPDATESandroid.permission.CONTROL_VPNandroid.permission.CONTROL_WIFI_DISPLAYandroid.permission.COPY_PROTECTED_DATAandroid.permission.CREATE_USERSandroid.permission.CRYPT_KEEPERandroid.permission.DELETE_CACHE_FILESandroid.permission.DELETE_PACKAGESandroid.permission.DEVICE_POWERandroid.permission.DIAGNOSTICandroid.permission.DISABLE_KEYGUARDandroid.permission.DISPATCH_NFC_MESSAGEandroid.permission.DISPATCH_PROVISIONING_MESSAGEandroid.permission.DOWNLOAD_CACHE_NON_PURGEABLEandroid.permission.DUMPandroid.permission.DVB_DEVICEandroid.permission.EXPAND_STATUS_BARandroid.permission.FACTORY_TESTandroid.permission.FILTER_EVENTSandroid.permission.FLASHLIGHTandroid.permission.FORCE_BACKandroid.permission.FORCE_STOP_PACKAGESandroid.permission.FRAME_STATSandroid.permission.FREEZE_SCREENandroid.permission.GET_ACCOUNTS_PRIVILEGEDandroid.permission.GET_APP_GRANTED_URI_PERMISSIONSandroid.permission.GET_APP_OPS_STATSandroid.permission.GET_DETAILED_TASKSandroid.permission.GET_INTENT_SENDER_INTENTandroid.permission.GET_PACKAGE_IMPORTANCEandroid.permission.GET_PACKAGE_SIZEandroid.permission.GET_PASSWORDandroid.permission.GET_PROCESS_STATE_AND_OOM_SCOREandroid.permission.GET_TASKSandroid.permission.GET_TOP_ACTIVITY_INFOandroid.permission.GLOBAL_SEARCHandroid.permission.GLOBAL_SEARCH_CONTROLandroid.permission.GRANT_RUNTIME_PERMISSIONSandroid.permission.HARDWARE_TESTandroid.permission.HDMI_CECandroid.permission.INJECT_EVENTSandroid.permission.INSTALL_GRANT_RUNTIME_PERMISSIONSandroid.permission.INSTALL_LOCATION_PROVIDERandroid.permission.INSTALL_PACKAGESandroid.permission.INTENT_FILTER_VERIFICATION_AGENTandroid.permission.INTERACT_ACROSS_USERSandroid.permission.INTERACT_ACROSS_USERS_FULLandroid.permission.INTERNAL_SYSTEM_WINDOWandroid.permission.INTERNETandroid.permission.INVOKE_CARRIER_SETUPandroid.permission.KILL_BACKGROUND_PROCESSESandroid.permission.KILL_UIDandroid.permission.LAUNCH_TRUST_AGENT_SETTINGSandroid.permission.LOCAL_MAC_ADDRESSandroid.permission.LOCATION_HARDWAREandroid.permission.LOOP_RADIOandroid.permission.MANAGE_ACCOUNTSandroid.permission.MANAGE_ACTIVITY_STACKSandroid.permission.MANAGE_APP_OPS_RESTRICTIONSandroid.permission.MANAGE_APP_TOKENSandroid.permission.MANAGE_CA_CERTIFICATESandroid.permission.MANAGE_DEVICE_ADMINSandroid.permission.MANAGE_DOCUMENTSandroid.permission.MANAGE_FINGERPRINTandroid.permission.MANAGE_MEDIA_PROJECTIONandroid.permission.MANAGE_NETWORK_POLICYandroid.permission.MANAGE_NOTIFICATIONSandroid.permission.MANAGE_PROFILE_AND_DEVICE_OWNERSandroid.permission.MANAGE_SOUND_TRIGGERandroid.permission.MANAGE_USBandroid.permission.MANAGE_USERSandroid.permission.MANAGE_VOICE_KEYPHRASESandroid.permission.MASTER_CLEARandroid.permission.MEDIA_CONTENT_CONTROLandroid.permission.MODIFY_APPWIDGET_BIND_PERMISSIONSandroid.permission.MODIFY_AUDIO_ROUTINGandroid.permission.MODIFY_AUDIO_SETTINGSandroid.permission.MODIFY_CELL_BROADCASTSandroid.permission.MODIFY_DAY_NIGHT_MODEandroid.permission.MODIFY_NETWORK_ACCOUNTINGandroid.permission.MODIFY_PARENTAL_CONTROLSandroid.permission.MODIFY_PHONE_STATEandroid.permission.MOUNT_FORMAT_FILESYSTEMSandroid.permission.MOUNT_UNMOUNT_FILESYSTEMSandroid.permission.MOVE_PACKAGEandroid.permission.NET_ADMINandroid.permission.NET_TUNNELINGandroid.permission.NFCandroid.permission.NFC_HANDOVER_STATUSandroid.permission.NOTIFY_PENDING_SYSTEM_UPDATEandroid.permission.OBSERVE_GRANT_REVOKE_PERMISSIONSandroid.permission.OEM_UNLOCK_STATEandroid.permission.OVERRIDE_WIFI_CONFIGandroid.permission.PACKAGE_USAGE_STATSandroid.permission.PACKAGE_VERIFICATION_AGENTandroid.permission.PACKET_KEEPALIVE_OFFLOADandroid.permission.PEERS_MAC_ADDRESSandroid.permission.PERFORM_CDMA_PROVISIONINGandroid.permission.PERFORM_SIM_ACTIVATIONandroid.permission.PERSISTENT_ACTIVITYandroid.permission.PROCESS_CALLLOG_INFOandroid.permission.PROCESS_PHONE_ACCOUNT_REGISTRATIONandroid.permission.PROVIDE_TRUST_AGENTandroid.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOTandroid.permission.READ_BLOCKED_NUMBERSandroid.permission.READ_DREAM_STATEandroid.permission.READ_FRAME_BUFFERandroid.permission.READ_INPUT_STATEandroid.permission.READ_INSTALL_SESSIONSandroid.permission.READ_LOGSandroid.permission.READ_NETWORK_USAGE_HISTORYandroid.permission.READ_OEM_UNLOCK_STATEandroid.permission.READ_PRECISE_PHONE_STATEandroid.permission.READ_PRIVILEGED_PHONE_STATEandroid.permission.READ_PROFILEandroid.permission.READ_SEARCH_INDEXABLESandroid.permission.READ_SOCIAL_STREAMandroid.permission.READ_SYNC_SETTINGSandroid.permission.READ_SYNC_STATSandroid.permission.READ_USER_DICTIONARYandroid.permission.READ_WIFI_CREDENTIALandroid.permission.REAL_GET_TASKSandroid.permission.REBOOTandroid.permission.RECEIVE_BLUETOOTH_MAPandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.RECEIVE_DATA_ACTIVITY_CHANGEandroid.permission.RECEIVE_EMERGENCY_BROADCASTandroid.permission.RECEIVE_MEDIA_RESOURCE_USAGEandroid.permission.RECEIVE_STK_COMMANDSandroid.permission.RECEIVE_WIFI_CREDENTIAL_CHANGEandroid.permission.RECOVERYandroid.permission.REGISTER_CALL_PROVIDERandroid.permission.REGISTER_CONNECTION_MANAGERandroid.permission.REGISTER_SIM_SUBSCRIPTIONandroid.permission.REGISTER_WINDOW_MANAGER_LISTENERSandroid.permission.REMOTE_AUDIO_PLAYBACKandroid.permission.REMOVE_DRM_CERTIFICATESandroid.permission.REMOVE_TASKSandroid.permission.REORDER_TASKSandroid.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONSandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.RESET_FINGERPRINT_LOCKOUTandroid.permission.RESET_SHORTCUT_MANAGER_THROTTLINGandroid.permission.RESTART_PACKAGESandroid.permission.RETRIEVE_WINDOW_CONTENTandroid.permission.RETRIEVE_WINDOW_TOKENandroid.permission.REVOKE_RUNTIME_PERMISSIONSandroid.permission.SCORE_NETWORKSandroid.permission.SEND_CALL_LOG_CHANGEandroid.permission.SEND_DOWNLOAD_COMPLETED_INTENTSandroid.permission.SEND_RESPOND_VIA_MESSAGEandroid.permission.SEND_SMS_NO_CONFIRMATIONandroid.permission.SERIAL_PORTandroid.permission.SET_ACTIVITY_WATCHERandroid.permission.SET_ALWAYS_FINISHandroid.permission.SET_ANIMATION_SCALEandroid.permission.SET_DEBUG_APPandroid.permission.SET_INPUT_CALIBRATIONandroid.permission.SET_KEYBOARD_LAYOUTandroid.permission.SET_ORIENTATIONandroid.permission.SET_POINTER_SPEEDandroid.permission.SET_PREFERRED_APPLICATIONSandroid.permission.SET_PROCESS_LIMITandroid.permission.SET_SCREEN_COMPATIBILITYandroid.permission.SET_TIMEandroid.permission.SET_TIME_ZONEandroid.permission.SET_WALLPAPERandroid.permission.SET_WALLPAPER_COMPONENTandroid.permission.SET_WALLPAPER_HINTSandroid.permission.SHUTDOWNandroid.permission.SIGNAL_PERSISTENT_PROCESSESandroid.permission.START_ANY_ACTIVITYandroid.permission.START_PRINT_SERVICE_CONFIG_ACTIVITYandroid.permission.START_TASKS_FROM_RECENTSandroid.permission.STATUS_BARandroid.permission.STATUS_BAR_SERVICEandroid.permission.STOP_APP_SWITCHESandroid.permission.STORAGE_INTERNALandroid.permission.SUBSCRIBED_FEEDS_READandroid.permission.SUBSCRIBED_FEEDS_WRITEandroid.permission.SUBSTITUTE_NOTIFICATION_APP_NAMEandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.TABLET_MODEandroid.permission.TEMPORARY_ENABLE_ACCESSIBILITYandroid.permission.TETHER_PRIVILEGEDandroid.permission.TRANSMIT_IRandroid.permission.TRUST_LISTENERandroid.permission.TV_INPUT_HARDWAREandroid.permission.TV_VIRTUAL_REMOTE_CONTROLLERandroid.permission.UPDATE_APP_OPS_STATSandroid.permission.UPDATE_CONFIGandroid.permission.UPDATE_DEVICE_STATSandroid.permission.UPDATE_LOCKandroid.permission.UPDATE_LOCK_TASK_PACKAGESandroid.permission.USER_ACTIVITYandroid.permission.USE_CREDENTIALSandroid.permission.VIBRATEandroid.permission.WAKE_LOCKandroid.permission.WRITE_APN_SETTINGSandroid.permission.WRITE_BLOCKED_NUMBERSandroid.permission.WRITE_DREAM_STATEandroid.permission.WRITE_GSERVICESandroid.permission.WRITE_MEDIA_STORAGEandroid.permission.WRITE_PROFILEandroid.permission.WRITE_SECURE_SETTINGSandroid.permission.WRITE_SETTINGSandroid.permission.WRITE_SMSandroid.permission.WRITE_SOCIAL_STREAMandroid.permission.WRITE_SYNC_SETTINGSandroid.permission.WRITE_USER_DICTIONARY


收集安卓恶意软件样本

https://github.com/ashishb/android-malwarehttps://github.com/user1342/AutoDroidhttps://www.jamesstevenson.me/tag/malware-analysis/


python DroidDetective.py myAndroidApp.apkpython DroidDetective.py myAndroidApp.apk output.json

基于机器学习的Android恶意代码分析框架


OSX和iOS相关的安全工具

https://github.com/ashishb/osx-and-ios-security-awesome


基于机器学习的Android恶意代码分析框架


推荐阅读

超实用的优质公众号推荐

学抓包就来"哆啦安全"学

玩转Android adb命令(adb降级)

Android APK和API漏洞扫描器

移动端过检测抓包最全解决方案

Android App开发Bug解决完美方案

JNI与NDK编程(基础到精通)最全总结

Android系统run-as命令原理(权限访问)

APP漏洞检测之静态动态安全检测APP的常见风险

Android系统中run-as和su命令的源码解析(升降权限)

Android系统定制之Android.mk和Android.bp语法详解(精通版)


最后,扫描关注,获取更多安全/开发相关课程,课程持续更新中!

基于机器学习的Android恶意代码分析框架

原文始发于微信公众号(Th0r安全):基于机器学习的Android恶意代码分析框架

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月24日08:50:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于机器学习的Android恶意代码分析框架http://cn-sec.com/archives/1044437.html

发表评论

匿名网友 填写信息