varshikageu/Android-Malware-Detection-ML
GitHub: varshikageu/Android-Malware-Detection-ML
基于 API 调用特征的 Android 恶意软件检测机器学习流水线,支持相似性分析和多模型性能对比评估。
Stars: 0 | Forks: 0
# 基于机器学习的 Android 恶意软件检测
本项目探讨了利用机器学习技术,基于 API 调用特征数据集检测恶意 Android 应用程序的方法。
## 研究动机
开源库和自动代码生成工具的广泛使用为软件系统引入了新的安全风险。
基于机器学习的恶意软件检测提供了一种可扩展的方法,可根据 API 使用等行为模式识别恶意应用程序。
本项目探讨了如何利用机器学习模型,基于 API 调用特征将 Android 应用程序分类为良性或恶意,并分析应用程序行为之间的相似性,以理解恶意软件活动中的模式。
## 数据集
数据集包含:
- 约 5000 个 Android 应用程序
- 500 多个 API 调用特征
- 二分类标签(恶意软件 / 良性)
每个应用程序都表示为指示 API 调用是否存在的特征向量。
本项目使用的数据集文件:
data/final-apicall-finaldataset.csv
## 方法论
流程包含以下步骤:
1. 数据预处理
2. 特征相似性分析
3. 特征哈希(降维)
4. 机器学习模型训练
5. 性能评估
## 已实现的模型
- Logistic Regression
- Random Forest
- Support Vector Machine (SVM)
## 评估指标
模型使用以下指标进行评估:
- Accuracy
- Precision
- Recall
- F1 Score
## 相似性分析
计算应用程序特征向量之间的余弦相似性矩阵,以分析应用程序间的行为相似性模式。
此步骤有助于探索可扩展恶意软件检测系统中使用的基于相似性的检测方法。
## 结果
### 模型性能对比
### 特征相似性矩阵
## 运行项目
安装依赖:
pip install -r requirements.txt
运行训练流程:
python src/train.py
## 未来工作
可能的研究扩展包括:
- 用于可扩展相似性搜索的 Locality Sensitive Hashing (LSH)
- 基于 Deep learning 的恶意软件分类
- 用于隐私保护恶意软件检测的 Federated learning
## 使用的技术
- Python
- Scikit-learn
- Pandas
- NumPy
- Matplotlib
### 特征相似性矩阵
## 运行项目
安装依赖:
pip install -r requirements.txt
运行训练流程:
python src/train.py
## 未来工作
可能的研究扩展包括:
- 用于可扩展相似性搜索的 Locality Sensitive Hashing (LSH)
- 基于 Deep learning 的恶意软件分类
- 用于隐私保护恶意软件检测的 Federated learning
## 使用的技术
- Python
- Scikit-learn
- Pandas
- NumPy
- Matplotlib标签:Android恶意软件检测, Apex, API调用分析, BSD, F1-Score, Python, 二分类, 余弦相似度, 子域名暴力破解, 支持向量机, 数据挖掘, 无后门, 机器学习, 模型评估, 混淆矩阵, 特征哈希, 特征相似性分析, 目录枚举, 移动安全, 网络安全, 自动化检测, 逆向工具, 逻辑回归, 降维处理, 随机森林, 隐私保护