Laiba-Laiba/Malware-analysis-platform

GitHub: Laiba-Laiba/Malware-analysis-platform

一个结合静态分析与机器学习的全栈恶意软件检测平台,在不执行文件的前提下对可执行文件进行恶意或良性分类。

Stars: 0 | Forks: 0

# 恶意软件分析平台 这是一个全栈 Web 应用程序,用于对上传的文件执行**静态恶意软件分析**,并利用机器学习将可执行文件(.exe)**分类**为恶意或良性。 ## 🔍 概述 该平台允许用户通过 Web 界面上传任何文件,并对其运行静态分析——在**不执行**文件的情况下——检查其结构并提取潜在的风险指标。特别是对于可执行文件,提取的静态特征将经过训练好的机器学习模型处理,将文件分类为**恶意**或**良性**。 该项目的目标是将实用的 **Web 开发**(全栈架构、REST API、文件处理)与**网络安全**概念(静态分析、恶意软件分类、安全文件处理)结合起来。 ## ✨ 功能 - 📁 **多文件类型上传** — 支持对不同文件类型进行静态分析,而不仅仅是可执行文件 - 🧠 **基于机器学习的分类** — Random Forest 和 XGBoost 模型基于提取的静态特征将 `.exe` 文件分类为恶意或良性 - 🔗 **REST API 后端** — 处理文件上传,触发分析 pipeline,并返回结构化的结果 - 🖥️ **交互式仪表板** — 简洁的基于 React 的 UI,用于上传文件和查看分析结果 - 🔒 **安全的文件处理** — 在运行任何分析之前,上传的文件将作为不受信任的输入进行验证和安全处理 ## 🛠️ 技术栈 | 层级 | 技术 | |---|---| | Frontend | React JS | | Backend | Node.js, Express.js | | 机器学习 / 分类 | Python, Random Forest, XGBoost | | API | REST | | 文件处理 | Multer / 安全上传验证 | ## ⚙️ 工作原理 1. **上传** — 用户从 React 前端上传文件。 2. **API 请求** — 文件通过 REST API endpoint 发送到 Node.js/Express 后端。 3. **静态分析** — 后端在不执行文件的情况下提取其静态特征(例如,header 信息、节区、导入、字符串)。 4. **分类(针对 `.exe` 文件)** — 提取的特征被传递给训练好的 Random Forest / XGBoost 模型,该模型预测文件是恶意的还是良性的。 5. **结果** — 分类和分析摘要被返回到前端并显示在仪表板上。 ## 📂 项目结构 ``` malware-analysis-platform/ ├── client/ # React frontend │ ├── src/ │ └── public/ ├── server/ # Node.js/Express backend │ ├── routes/ # REST API endpoints │ ├── uploads/ # Temporary secure file storage │ └── ml/ # ML model integration (Random Forest / XGBoost) └── README.md ``` ## 🚀 入门指南 ``` # 克隆 repository git clone https://github.com/Laiba-Laiba/internship.git cd malware-analysis-platform # 安装 backend 依赖 cd server npm install # 安装 frontend 依赖 cd ../client npm install # 运行 backend cd ../server npm start # 运行 frontend cd ../client npm start ``` ## 🎯 动机 恶意软件检测工具通常依赖于动态(行为)分析,这需要执行潜在有害的文件——这本身就是一种安全风险。本项目探索了一种替代方案:执行**静态分析**以在**不执行**的情况下评估风险,然后应用机器学习来自动化并提高可执行文件分类的准确性。 ## 📌 未来改进 - 将分类支持从 `.exe` 扩展到其他可执行格式 - 添加更细粒度的威胁分类(例如,木马、勒索软件、广告软件) - 使用更大、更多样化的训练数据集来提高模型的准确性 - 添加用户身份验证和分析历史记录 ## 👩‍💻 作者 **Laiba Nasir** 网络安全本科生,FAST-NUCES [GitHub](https://github.com/Laiba-Laiba/internship) · [LinkedIn](https://linkedin.com/in/laiba-nasir-339954318)
标签:Apex, DAST, GNU通用公共许可证, MITM代理, Node.js, Python, React, Syscalls, 云安全监控, 恶意软件分析, 无后门, 机器学习, 网络测绘, 逆向工具, 静态分析