abnerrebello/malware-detection-using-ml
GitHub: abnerrebello/malware-detection-using-ml
基于动态 API 调用序列分析和机器学习的恶意软件检测框架,用于区分恶意程序与良性程序。
Stars: 0 | Forks: 0
# 使用机器学习的动态恶意软件检测
## 概述
本项目提出了一个通过分析动态 API 调用序列来检测恶意软件的机器学习框架。该系统不依赖静态特征,而是分析应用程序的运行时行为,将其分类为恶意或良性。本项目对深度学习和传统机器学习方法均进行了评估,并使用标准的分类指标对它们的性能进行了比较。
## 功能特性
* 使用 API 调用序列分析的动态恶意软件检测
* 数据预处理和特征工程
* 深度学习和机器学习模型
* 用于改善分类效果的集成学习
* 使用多种性能指标进行模型评估
* 使用 ROC 曲线和混淆矩阵进行性能可视化
## 项目结构
malware-detection-using-ml
│
├── dataset/ # 用于训练和评估的数据集
├── images/ # 工作流图表和项目图像
├── notebooks/ # Google Colab / Jupyter 笔记本
├── report/ # 项目报告
├── results/ # ROC 曲线、混淆矩阵及其他结果
├── src/ # 源代码
├── README.md
├── requirements.txt
└── .gitignore
## 数据集
本项目使用了两个数据集:
* 动态 API 调用序列数据集
* 恶意软件特征数据集
这些数据集在训练前经过了预处理,以提高模型性能和一致性。
## 方法论
整体工作流如下:
1. 数据收集
2. 数据预处理
3. 特征提取
4. 模型训练
5. 模型评估
6. 性能比较
其实现包含预处理技术、深度学习模型、传统机器学习模型,以及用于恶意软件分类的集成方法。
## 使用的技术
* Python
* PyTorch
* Scikit-learn
* XGBoost
* Pandas
* NumPy
* Matplotlib
* Seaborn
* Google Colab
## 结果
模型使用以下指标进行了评估:
* 准确率
* 精确率
* 召回率
* F1-Score
* ROC-AUC
性能可视化结果可在 `results` 文件夹中查看。
## 仓库结构
* `notebooks/` 包含完整的实现代码。
* `dataset/` 包含用于实验的数据集。
* `results/` 包含评估图表和可视化结果。
* `report/` 包含完整的项目报告。
## 未来改进
* 改进对零日漏洞恶意软件的检测。
* 评估基于 transformer 的架构。
* 优化框架以实现实时的恶意软件检测。
* 在更大且更具多样性的恶意软件数据集上进行训练。
## 作者
Abner Rebello
B.Tech 计算机科学(网络安全)
NMIMS Mukesh Patel School of Technology Management & Engineering
标签:Apex, API调用分析, NoSQL, Python, 人工智能, 凭据扫描, 无后门, 机器学习, 深度学习, 用户模式Hook绕过, 自定义DNS解析器, 逆向工具