DarriusChen/MalwareMind

GitHub: DarriusChen/MalwareMind

基于CNN卷积神经网络的恶意软件检测系统,将PE文件转换为图像进行分类,并提供Web界面实现文件上传与结果可视化。

Stars: 1 | Forks: 0

image
# MalwareMind: CNN 恶意软件检测器 ## 概述 MalwareMind 是一个先进的恶意软件检测系统,利用卷积神经网络 (CNN) 从二进制可执行文件中识别和分类恶意软件。该项目提供了一个无缝的用户界面,用于上传文件、可视化检测结果和管理分析流程。MalwareMind 旨在兼顾模块化与可扩展性,以促进安全高效的恶意软件分析。 ※ **请注意,为了获得更高的准确率,该项目目前仅支持 `.exe` 文件。** ## 功能特性 - **基于 CNN 的恶意软件检测:** 利用预训练的 CNN 模型进行准确的恶意软件分类。 - **文件上传系统:** 提供简单的拖拽界面以上传文件。 - **实时结果可视化:** 交互式仪表板,用于展示检测结果。 - **Docker 化部署:** 使用 Docker Compose 简化后端和前端的设置。 - **可扩展性:** 模块化的代码库,支持未来的功能扩展。 ## 系统架构 该项目由以下组件构成: 1. 后端 - FastAPI: 使用 RESTful API 处理文件上传、数据处理并返回检测结果。 - 模型推理: CNN 模型对转换为图像格式的二进制数据进行预测。 - MongoDB: 管理上传的文件及其检测结果。 2. 前端: - Vue.js: 提供响应式且用户友好的界面,用于文件上传和结果可视化。 3. Docker: - **Docker Compose (后端与数据库):** 后端和数据库服务使用 Docker Compose 管理,以便于部署。 - **前端 (独立服务):** 由于 Vue.js 构建存在问题 (`rollup/rollup-linux-arm64-musl`),前端服务需要单独启动。 ## 前置条件 请确保您已安装以下软件: - [Docker](https://docs.docker.com/get-docker/)(包含 [Docker Compose](https://docs.docker.com/compose/install/)) - 推荐操作系统:Linux/macOS/Windows ## 安装说明 ### 设置 1. 克隆代码仓库: git clone https://github.com/DarriusChen/MalwareMind.git cd MalwareMind 2. 修改环境变量(如有必要) - CORS (支持的源主机) 编辑 `md-server/.env`: FRONT_END_IP=[your-frontend-localhost]:5173 (例如: `localhost:5173`) - API 基础 URL 编辑 `malwaremind-vue/.env`: VITE_API_URL=http://md-server:8000 3. 访问应用: - **UI**: 打开浏览器并访问 http://localhost:5173 - **后端 API**: 访问地址为 http://localhost:8000 ### 启动服务 `start_service.sh` 脚本确保了: - 如果前端镜像 (`md-ui`) 不存在,将会自动构建。 - 前端 (`md-ui`) 独立于 `docker-compose.yml` 运行。 - 后端 和数据库 使用 `docker-compose.yml` 启动。 运行: ``` # 在项目根目录下 sudo bash start_service.sh ``` ## 使用方法 1. **上传文件:** - 将二进制可执行文件拖拽到上传区域。 - 或者,使用 API 端点进行批量上传。 2. **检测结果:** - 上传后,系统将处理文件并在仪表板上显示分类结果。 3. **多文件上传** - 系统支持一次性上传多个文件,从而提高效率。 ## 开发工作流 ### 修改后端: - **FastAPI**: 更新 `main.py` 以自定义 API 端点。(目前使用 RESTful API 框架来处理文件上传和管理 CNN 检测过程。) - **CNN 模型**: 根据需要调整 `module.py` 中的 CNN 模型。(目前使用默认的预训练卷积神经网络进行恶意软件检测。) ### 增强前端: - 更新 `frontend/` 目录中的 Vue 组件以改进 UI/UX 和后端 API。 ## 文件结构概览 ``` MalwareMind/ ├── malwaremind-vue/ # Vue.js frontend source code │ ├── src/ │ ├── public/ │ └── Dockerfile │ ├── md-server/ │ ├── src/ ├───├───├──main.py # Main application entry point ├──–├──–├──fixed_model.hs # Pre-trained CNN model │ ├── ... │ └── Dockerfile ├── docker-compose.yaml # Docker compose configuration ├── render.yaml # Deployment configuration of render (still testing) └── README.md # Project documentation ``` ## 未来改进 - **增强模型训练**: 通过引入更多数据和 fine-tuning 模型来提高 CNN 模型的准确率。 - **支持更多文件格式**: 扩展系统以支持更广泛的文件格式进行检测。 - **用户反馈系统**: 增加允许用户对检测结果提供反馈的功能,从而可能通过重新训练来改进模型。 - **动态威胁分析:** 与实时威胁情报源集成。 - **增强可视化:** 为检测模式提供高级数据可视化。 - **云端集成:** 将系统部署到云平台以实现可扩展性。 ## 贡献指南 欢迎贡献代码!请遵循标准的 GitHub 工作流: 1. Fork 该代码仓库。 2. 创建一个新分支 (feature/new-feature)。 3. 提交更改并推送到您的分支。 4. 提交 Pull Request 以供审查。 ## 联系方式 如有任何疑问,请联系: - **姓名:** Darrius Chen - **邮箱:** darriuschen0926@gmail.com
标签:Adversarial Machine Learning, AMSI绕过, Apex, AV绕过, CMS安全, CNN, DNS 反向解析, Docker, Docker Compose, FastAPI, IP 地址批量处理, JavaScript, Malware Detection, MongoDB, PE文件分析, Python, RESTful API, Vue.js, 二进制分析, 云安全运维, 人工智能安全, 凭据扫描, 前后端分离, 卷积神经网络, 可执行文件分析, 可视化分析, 合规性, 威胁检测, 安全防御评估, 对抗样本, 提示词优化, 数据库接管, 文件上传, 无后门, 机器学习, 模型推理, 深度学习, 网络安全, 请求拦截, 逆向工具, 隐私保护