tm5gsonu/malware-analysis-and-detection-using-ML
GitHub: tm5gsonu/malware-analysis-and-detection-using-ML
这是一个基于Python和Scikit-Learn的演示项目,通过Streamlit Web界面展示如何利用随机森林模型根据合成行为特征检测恶意软件。
Stars: 0 | Forks: 0
这是一个你可以放置在项目文件夹中的 **README.md**(直接复制粘贴即可)。
# 恶意软件检测系统 (Streamlit 演示)
## 概述
该项目是一个使用 **Python、Scikit-Learn 和 Streamlit** 构建的简单 **基于机器学习的恶意软件检测 Web 应用**。
该系统使用合成的行为特征(例如)训练一个小型的 Random Forest 模型:
* 文件大小 (File Size)
* API 调用
* 权限使用
基于这些特征,应用程序可以预测文件是 **Safe(安全)** 还是 **Malware(恶意软件)**。
## 功能
* 轻量级数据集(自动生成)
* Random Forest 分类模型
* 简单的 Streamlit Web 界面
* 实时预测演示
* 可使用 Docker 或普通 Python 环境在本地运行
## 环境要求
* Python 3.9+
* streamlit
* pandas
* scikit-learn
安装依赖:
```
pip install streamlit pandas scikit-learn
```
## 运行应用程序(普通方法)
```
streamlit run app.py
```
打开浏览器:
```
http://localhost:8501
```
## 使用 Docker 运行(推荐以确保可复现性)
### 1. 启动容器
```
docker run -p 8888:8888 -p 8501:8501 -v C:\Users\neela:/workspace -it jupyter/scipy-notebook
```
### 2. 在容器内部(Jupyter terminal)
```
pip install streamlit pandas scikit-learn
streamlit run app.py
```
### 3. 打开浏览器
```
http://localhost:8501
```
## 示例测试值
| File Size | API Calls | Permissions | Result |
| --------- | --------- | ----------- | ------- |
| 120 | 40 | 5 | Safe |
| 900 | 350 | 35 | Malware |
## 项目工作流程
1. 生成小型训练数据集
2. 训练 Random Forest 模型
3. 接收来自 UI 的用户输入
4. 预测 malware / safe
5. 在浏览器中显示结果
## 目的
该项目演示了如何将 **Machine Learning 应用于网络安全 (cybersecurity)**,以一种简单且可解释的方式检测可疑软件行为。
标签:Apex, API调用分析, Docker, Kubernetes, Python, Scikit-learn, Streamlit, 安全防御评估, 实时预测, 数据科学, 文件分析, 无后门, 机器学习, 权限检测, 端点安全, 算法演示, 网络安全, 补丁管理, 访问控制, 请求拦截, 资源验证, 轻量级模型, 逆向工具, 随机森林, 隐私保护