jesuismarie/Automated-Malware-Analysis-Workflow

GitHub: jesuismarie/Automated-Malware-Analysis-Workflow

一个全自动化恶意软件分析系统,通过沙箱隔离和静态分析技术,实现可疑文件的实时检测与报告生成。

Stars: 1 | Forks: 0

# 自动化恶意软件分析与安全报告工作流 ## 项目概述 **自动化恶意软件分析工作流**是一个模块化、全自动化的系统,用于实时**检测、分析并报告**可疑文件。 它持续监控指定目录,在**加固的Docker沙箱**中安全分析文件,并生成**全面报告**——全程无需人工干预。 专为网络安全研究和恶意软件取证设计,此工作流确保分析过程**安全、可复现且隔离**,具备完整可追溯性。 ## 功能特性 * **持续监控** — 基于 `watchdog` 的实时目录监视。 * **隔离沙箱** — 使用非 root、无网络 Docker 环境进行容器化静态分析。 * **静态分析引擎** — YARA 扫描、字符串及 IOC 提取。 * **中心化队列系统** — 通过带文件锁的 `queue.json` 跟踪和处理文件。 * **自动生成报告** — 生成结构化 JSON 和人类可读的 Markdown 报告,并进行风险评分。 * **零手动配置** — 首次运行时通过 `Makefile` 和 `config.json` 完成全部配置。 * **可审计日志** — 工作流所有阶段(从检测到报告)的详细日志记录。 ## 入门指南 ### 前置条件 请确保系统已安装以下软件: * **Python 3.10+** * **Docker** 与 **Docker Compose** * **Make** ### 安装说明 克隆代码库并构建环境: ``` git clone https://github.com/jesuismarie/Automated-Malware-Analysis-Workflow cd Automated-Malware-Analysis-Workflow make venv make setup # Configure monitored directory, file types, and shared directory make run ``` 如需使用默认配置,只需运行: ``` git clone https://github.com/jesuismarie/Automated-Malware-Analysis-Workflow cd Automated-Malware-Analysis-Workflow make ``` 这将执行以下操作: * 创建虚拟环境。 * 安装所有 Python 依赖。 * 生成默认的 `config.json` 文件。 * 创建日志、报告、队列和输出目录。 ## 使用方法 您可以通过 `make` 启动各个阶段或完整工作流: | 命令 | 描述 | | ------------------- | --------------------------------------------------- | | `make help` | 显示帮助信息。 | | `make venv` | 创建虚拟环境并安装依赖。 | | `make config` | 如果缺失,则生成默认的 `config.json`。 | | `make setup` | 设置目录和配置。 | | `make run` | 执行完整工作流(监控 → 分析 → 报告)。 | | `make sandbox-up` | 构建并运行 Docker 沙箱。 | | `make clean` | 删除临时文件(保留虚拟环境)。 | | `make clean-all` | 完全清理(包括虚拟环境)。 | ## 配置说明 系统使用 `config.json` 进行配置,该文件在首次启动时自动生成。 **示例:** ``` { "monitoring": { "watch_directory": "/home/user/Downloads", "recursive": true, "file_types": ["*"], "shared_directory": "/home/user/malware-analysis" } } ``` ### 可编辑参数 | 键 | 描述 | | ------------------ | ------------------------------------------ | | `watch_directory` | 要监视新文件的目录。 | | `file_types` | 过滤文件类型(例如,`[".exe", ".pdf"]`)。 | | `recursive` | 若为 `true`,则监视子目录。 | | `shared_directory` | 用于沙箱 I/O 的共享文件夹位置。 | ## 工作流阶段 ### **阶段 1 – 文件监控** * 检测监视目录中的文件系统更改。 * 过滤临时/未完成的下载文件。 * 计算 SHA-256 并将文件元数据存储到 `queue.json`。 * 将文件安全复制到 `shared/queue/` 目录。 ### **阶段 2 – 静态分析** * 在 Docker 容器中执行,设置 `network_mode: none` 和 `cap_drop: ALL`。 * 使用以下方式分析文件: * **YARA 规则** 进行模式匹配。 * **文件类型检测** (`magic`)。 * **IOC 提取**(URL、IP、注册表键)。 * 输出包含风险评估的 JSON 结果。 ### **阶段 3 – 报告生成** * 收集分析结果。 * 将数据合并为人类可读的 Markdown 和结构化 JSON 报告。 * 分配风险等级(低/中/高)并提供处置建议。 * 更新 `queue.json` 状态为 `reported`。 ## 日志记录 日志同时存储在主机和容器中,用于调试和审计。 | 级别 | 用途 | | ------- | -------------------- | | INFO | 常规操作 | | DEBUG | 详细调试输出 | | WARNING | 非关键问题 | | ERROR | 组件故障 | **位置:** * 主机: `~/malware-analysis/logs/` * 容器: `/analysis/logs/` ## 项目结构 ``` Automated-Malware-Analysis-Workflow/ ├── analyzers │ └── static_analyzer.py ├── docker-compose.yml ├── LICENSE ├── main.py ├── Makefile ├── monitoring │ ├── config.py │ ├── file_watcher.py │ ├── queue_manager.py │ └── utils.py ├── reporting │ └── report_generator.py ├── requirements.txt ├── sandbox │ ├── Dockerfile │ ├── entrypoint.sh │ └── requirements.txt └── utils ├── constants.py └── logger.py ``` ## 未来改进 计划功能包括: * **动态分析沙箱** — 安全的运行时行为观察。 * **Web 仪表板** — 分析指标的实时可视化。 * **机器学习集成** — 行为异常检测。 * **自动隔离与告警** — 阻断 C2 域名并通过邮件/Slack 发送警报。 ## 依赖项 主要 Python 库: * `watchdog` – 文件系统监控 * `filelock` – 安全文件访问 * `yara-python` – 恶意软件模式匹配 * `python-magic` – 文件类型检测 * `markdown` – 报告渲染 ## 参与贡献 欢迎提交贡献、问题和功能请求! 请复刻代码库,创建分支,并提交拉取请求。 ``` git checkout -b feature/new-analyzer git commit -m "Add new feature" git push origin feature/new-analyzer ``` ## 许可证 本项目采用 **MIT 许可证** — 详情请参阅 [`LICENSE`](./LICENSE) 文件。
标签:DAST, DNS信息、DNS暴力破解, Docker容器, IOC提取, Python编程, SEO优化, YARA规则, 云安全监控, 威胁情报, 安全报告, 开发者工具, 恶意软件分析, 技术栈, 报告自动化, 攻击面发现, 数字取证, 文件监控, 沙箱技术, 版权保护, 网络安全, 自动化脚本, 请求拦截, 逆向工具, 隐私保护, 隔离环境, 静态分析