Saifmagouri/malware_analysis

GitHub: Saifmagouri/malware_analysis

基于多模态深度学习的恶意软件检测Web应用,融合图像、行为和元数据三种特征实现高精度分类。

Stars: 0 | Forks: 0

# 多模态恶意软件检测 Web 应用程序 一个使用多模态深度学习模型进行恶意软件检测的 Web 应用程序,该模型结合了图像、行为和元数据分析。 ## 功能 - **单文件分析**:上传二进制文件(.exe、.dll、.bin、.sys)进行恶意软件检测 - **预处理数据**:上传可视化图像 + 特征 CSV - **批量分析**:一次分析多个文件 - **演示模式**:使用预加载的示例文件进行尝试 - **仪表盘**:查看模型性能指标和架构 ## 模型架构 该模型使用三个分支进行多模态分析: 1. **图像分支** (EfficientNet-B0):分析二进制可视化图像 2. **行为分支** (BiLSTM + Attention):处理 API 调用特征(395 维) 3. **元数据分支** (MLP):分析 PE 头特征(50 维) 所有嵌入被融合并经过分类头处理。 ### 性能指标 - 准确率: 90.48% - AUC: 0.9444 - 精确率: 91.67% - 召回率: 91.67% - F1 分数 (F1 Score): 91.67% ## 安装说明 ### 前置条件 - Python 3.10+ - pip ### 设置 1. 导航到项目目录: ``` cd malware-detection-app ``` 2. 创建虚拟环境(推荐): ``` python -m venv venv venv\Scripts\activate # Windows # 或 source venv/bin/activate # Linux/Mac ``` 3. 安装依赖: ``` pip install -r requirements.txt ``` 4. 确保模型文件存在: ``` models/best_model.pt ``` ## 运行应用程序 启动服务器: ``` uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` 或者直接运行: ``` python -m app.main ``` 访问应用程序地址:**http://localhost:8000** ## API 端点 | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/` | GET | 主页 - 文件上传 | | `/batch` | GET | 批量分析页面 | | `/dashboard` | GET | 模型指标仪表盘 | | `/demo` | GET | 带有示例的演示模式 | | `/api/v1/predict/binary` | POST | 分析二进制文件 | | `/api/v1/predict/preprocessed` | POST | 分析图像 + CSV | | `/api/v1/predict/batch` | POST | 批量预测 | | `/api/v1/demo/samples` | GET | 列出演示样本 | | `/api/v1/viz/metrics` | GET | 模型指标 | | `/health` | GET | 健康检查 | ## 项目结构 ``` malware-detection-app/ ├── app/ │ ├── main.py # FastAPI application │ ├── config.py # Configuration │ ├── api/ │ │ ├── routes/ # API endpoints │ │ └── schemas/ # Pydantic models │ ├── core/ │ │ ├── model.py # Model architecture │ │ ├── model_loader.py # Model loading │ │ └── inference.py # Prediction pipeline │ ├── services/ │ │ ├── binary_converter.py │ │ ├── feature_extractor.py │ │ └── visualization_service.py │ └── static/ │ ├── css/ │ └── js/ ├── templates/ # HTML templates ├── models/ # Model weights ├── sample_data/ # Demo samples ├── requirements.txt └── README.md ``` ## 使用示例 ### Python API 客户端 ``` import requests # 单文件预测 with open('sample.exe', 'rb') as f: response = requests.post( 'http://localhost:8000/api/v1/predict/binary', files={'file': f} ) result = response.json() print(f"Malware: {result['is_malware']}, Confidence: {result['confidence']:.2%}") ``` ### cURL ``` curl -X POST "http://localhost:8000/api/v1/predict/binary" \ -F "file=@sample.exe" ``` ## 技术栈 - **后端**: FastAPI, Python 3.10+ - **深度学习**: PyTorch, TorchVision - **前端**: Bootstrap 5, Plotly.js - **模型**: EfficientNet-B0 + BiLSTM + MLP(多模态融合) ## 许可证 本项目仅供教育和研究目的使用。
标签:AMSI绕过, Apex, API调用序列分析, AV绕过, BiLSTM, DAST, EfficientNet, FastAPI, PE头解析, Python, PyTorch, Uvicorn, 二进制文件分析, 云安全监控, 人工智能, 元数据分析, 凭据扫描, 可视化图像分析, 多层感知机, 多模态恶意软件检测, 威胁检测, 安全可视化, 安全大模型, 安全检测API, 恶意软件分析, 批量分析, 无后门, 机器学习, 注意力机制, 深度学习, 用户模式Hook绕过, 网络信息收集, 网络安全, 逆向工具, 隐私保护, 静态分析