Ruthveej/Malware-Analysis-and-Classification-using-AI
GitHub: Ruthveej/Malware-Analysis-and-Classification-using-AI
基于深度学习的恶意软件家族分类系统,通过 opcode 频率特征和 Web 界面实现自动化分析与预测。
Stars: 0 | Forks: 0
# AI 恶意软件分析与分类
一个基于机器学习的系统,通过 opcode 序列对恶意软件进行分析和分类。
## 项目结构
```
PS2/
├── backend/
│ ├── app.py # Flask API server
│ ├── model_loader.py # Model loading utilities
│ ├── preprocess.py # Data preprocessing functions
│ └── models/
│ ├── best_malware_model.h5 # Trained model
│ └── label_encoder.pkl # Label encoder
├── frontend/
│ ├── index.html # Main web interface
│ ├── script.js # Frontend JavaScript
│ └── style.css # Styling
├── requirements.txt # Python dependencies
└── run_backend.py # Backend startup script
```
## 功能
- **Web 界面**:简洁现代的 UI,用于上传 CSV 文件
- **多模型支持**:支持 CNN、LSTM、GRU 模型选择(UI 已就绪)
- **实时分析**:上传文件并立即获取恶意软件分类结果
- **置信度评分**:查看预测的置信度水平
- **批量处理**:在单个 CSV 文件中处理多个样本
## 安装说明
### 1. 安装依赖
```
pip install -r requirements.txt
```
### 2. 启动后端服务器
```
python run_backend.py
```
API 将在 `http://127.0.0.1:5000` 提供
### 3. 打开前端
在您的 Web 浏览器中打开 `frontend/index.html`。
## API Endpoint
- `POST /predict` - 上传 CSV 文件进行恶意软件分类
- `GET /health` - 检查 API 是否正在运行
## 使用方法
1. **准备您的数据**:创建一个包含 opcode 序列的 CSV 文件
- 第一列:文件名
- 第二列:Opcode 总数
- 第三列:Family(恶意软件家族)
- 其余列:Opcode 频率计数
2. **上传并分析**:
- 打开 Web 界面
- 选择您的 CSV 文件
- 选择模型类型
- 点击“Analyze”
3. **查看结果**:
- 查看预测的恶意软件家族
- 检查置信度评分
- 如果有多个样本,查看所有预测结果
## 模型信息
- **模型类型**:深度学习模型(CNN/LSTM/GRU 架构)
- **输入**:Opcode 频率向量
- **输出**:恶意软件家族分类
- **预处理**:自动处理数据格式化和归一化
## 故障排除
- **连接错误**:确保后端服务器正在运行
- **文件上传错误**:确保您的 CSV 文件符合预期格式
- **模型加载错误**:检查 `backend/models/` 目录中是否存在模型文件
## 开发
本项目使用:
- **后端**:Flask, TensorFlow, scikit-learn
- **前端**:Vanilla JavaScript, HTML5, CSS3
- **模型**:用于恶意软件分类的预训练深度学习模型
标签:Apex, DAST, Flask, 恶意软件分析, 数据分类, 数据可视化, 机器学习, 深度学习, 逆向工具