Android malware dataset for machine learning|机器学习数据集|Android恶意软件检测数据集
收藏github2024-11-06 更新2024-11-07 收录
下载链接:
https://github.com/tderick/android-malware-detection
下载链接
链接失效反馈资源简介:
该数据集包含从15,036个移动应用程序中提取的215个特征向量,其中5,560个被分类为恶意软件,9,476个被分类为良性。数据集用于二元分类,目标变量区分恶意软件和良性应用程序。特征分为四个类别:API调用签名、清单权限、意图和命令签名。
创建时间:
2024-10-25
原始信息汇总
Android Malware Detection Using Machine Learning
数据集
- 来源: FigShare
- 描述: 包含215个特征向量,来自15,036个移动应用程序,其中5,560个被标记为恶意软件,9,476个被标记为良性。数据集结构为215列和15,036行,用于二分类任务,目标变量区分恶意软件(S)和良性(B)应用。每个特征以二进制格式编码,0表示特征不存在,1表示特征存在。
- 类别分布:
- 恶意软件: 5,560
- 良性应用: 9,476
- 特征分类:
- API调用签名
- 清单权限
- 意图
- 命令签名
机器学习模型
- 测试模型:
- 随机森林
- XGBoost
- LightGBM
- 额外树分类器
- 逻辑回归
- 支持向量机
- AdaBoost
- 决策树
- Bagging
- 贝叶斯
- 最佳模型: XGBoost
- 准确率: 0.986698
- 精确率: 0.98914
- 召回率: 0.975022
- F1分数: 0.982031
- ROC AUC: 0.998764
模型调优
- 调优方法: GridSearchCV
- 最佳参数:
- colsample_bytree: 0.8
- learning_rate: 0.2
- max_depth: 7
- n_estimators: 200
- subsample: 1.0
部署
- 部署方式: Docker容器
- API访问: http://localhost:8080/docs
- APK分析: 用户提交APK后,系统通过逆向工程提取特征,用于预测应用状态。
AI搜集汇总
数据集介绍

构建方式
该数据集的构建基于15,036个移动应用程序的特征向量,其中包括5,560个来自Drebin项目的恶意软件和9,476个良性应用。数据集包含215个不同的属性,分为四个类别:API调用签名、清单权限、意图和命令签名。每个属性以二进制格式编码,0表示属性的缺失,1表示其存在。这种结构设计用于二元分类,目标变量区分恶意软件和良性应用。
特点
该数据集的主要特点在于其丰富的特征集和平衡的类别分布。215个特征涵盖了应用程序的多个关键方面,确保了分类模型的全面性。此外,数据集的类别分布显示了恶意软件和良性应用的合理比例,有助于模型训练的均衡性。这种设计使得数据集在机器学习模型评估中表现出色,特别是在二元分类任务中。
使用方法
使用该数据集时,用户可以通过提取APK文件的特征来进行应用程序的分类预测。首先,用户需要对APK文件进行逆向工程,以提取所有必要的特征。随后,这些特征将被输入到预训练的机器学习模型中,以确定应用程序的状态。为了简化部署,数据集的创建者提供了基于Docker的API接口,用户可以通过运行Docker容器并访问指定的URL来测试应用程序的分类功能。
背景与挑战
背景概述
随着移动设备的普及,Android恶意软件的检测成为信息安全领域的重要课题。Android Malware Dataset for Machine Learning数据集由Drebin项目提供,包含15,036个移动应用程序的特征向量,其中5,560个被标记为恶意软件,9,476个为良性应用。该数据集由215个特征组成,分为API调用签名、清单权限、意图和命令签名四类,旨在支持二元分类任务,区分恶意软件与良性应用。数据集的构建不仅为机器学习模型提供了丰富的训练数据,还为Android恶意软件检测技术的研究提供了坚实的基础。
当前挑战
尽管Android Malware Dataset for Machine Learning数据集为恶意软件检测提供了宝贵的资源,但其构建过程中仍面临若干挑战。首先,数据集的特征提取过程复杂,需要从APK文件中逆向工程提取特征,这一过程既耗时又技术要求高。其次,数据集的类别不平衡问题显著,恶意软件样本数量远少于良性应用,这可能导致模型在训练过程中偏向于良性应用的分类。此外,随着Android系统的不断更新,恶意软件的特征也在不断演变,如何保持数据集的时效性和代表性是一个持续的挑战。
常用场景
经典使用场景
在移动应用安全领域,Android恶意软件数据集被广泛用于构建和评估机器学习模型,以区分良性应用与恶意软件。该数据集通过提取应用的215个特征,包括API调用签名、权限声明、意图和命令签名,为模型训练提供了丰富的信息源。通过使用如XGBoost等高级算法,研究者能够实现高达98.67%的准确率,显著提升了恶意软件检测的效率和精度。
实际应用
在实际应用中,Android恶意软件数据集被用于开发和部署实时恶意软件检测系统。例如,通过构建REST API并封装在Docker容器中,企业可以快速部署这一检测系统,对上传的应用进行实时分析和分类。这种应用不仅提高了企业对移动应用安全管理的效率,也为终端用户提供了更安全的应用环境,减少了恶意软件对个人和企业数据安全的威胁。
衍生相关工作
基于该数据集,研究者们开发了多种先进的恶意软件检测模型,如XGBoost、LightGBM等,这些模型在多个国际会议和期刊上被广泛引用和讨论。此外,该数据集还激发了关于特征工程和模型优化的深入研究,推动了机器学习在安全领域的应用创新。例如,有研究通过结合深度学习技术,进一步提升了检测模型的性能,为恶意软件检测领域带来了新的突破。
以上内容由AI搜集并总结生成



