shentoumengxin/MirrorShield

GitHub: shentoumengxin/MirrorShield

一个支持多CPU架构的ELF恶意软件动态分析框架,结合eBPF监控、Docker隔离、硬件辅助防护和AI分析能力。

Stars: 0 | Forks: 0

# 欢迎使用 **MirrorShield** 🛡️ **MirrorShield**(前身为 QEMUGuardian)是一个功能强大且全面的跨 CPU 架构 Linux 可执行文件安全分析平台。借助 MirrorShield,您可以使用尖端技术——包括 eBPF 监控、Docker 隔离、硬件辅助隔离 (MPK) 以及 AI 驱动的分析——来分析、监控和评估不可信二进制文件的安全风险。🚀 ![Guardian Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/815eaa0f7e033859.png) ## 🌟 核心功能 ### 🔍 多架构分析 - 无缝支持 x86、ARM、MIPS、PowerPC、RISC-V 等 - 自动检测架构并选择合适的 QEMU 模拟器 - 基于 Docker 的隔离以实现安全执行 ### 🛡️ 硬件辅助隔离 (MPK) - 支持 **Memory Protection Keys (MPK)** 实现硬件级隔离 - 利用 CPU 特性 (Intel PKU/AMD PKEYS) 防止未授权的内存访问 - 针对分析环境内的内存破坏攻击提供强力防护 - 完整性验证,确保隔离未被原始绕过 ### 📊 实时系统调用监控 - 使用 eBPF/cBPF 捕获系统调用活动,开销极低 - 基于 Per-cgroup 的事件路由与分片锁机制 (30万+ 事件/秒) - 即使在 100+ 并发容器下也能实现零丢包 ### 🤖 AI 驱动的分析 - **DeepSeek AI 集成**:自动恶意软件行为分析 - 支持多 API Key 以实现高吞吐量分析 (最高 480 请求/分钟) - 智能风险评分与漏洞模式检测 - 生成全面且人类可读的报告 ### 🐳 Docker 池执行 - 支持同时并发分析多达 100+ 个样本 - 智能任务队列策略 (分组 grouped、混合 mixed、轮询 round-robin) - 自动资源管理与清理 - 事件同步确保日志捕获完整 ### 🧩 模块化漏洞检测 - 可扩展的基于 Python 的分析器插件 - 检测 10+ 种漏洞类别: - Code Injection (代码注入) - Privilege Escalation (权限提升) - Memory Corruption (内存破坏) - Reverse Shells (反向 Shell) - Information Leakage (信息泄露) - Race Conditions (竞态条件) - Fork Bombs (Fork 炸弹) - 以及更多... ### 🌐 基于 Web 的管理 - **生产就绪服务器**:由 Waitress WSGI 驱动,确保稳定性与并发性 - **自动扫描架构**:自动检测并处理上传到监控目录的文件 - 用于远程分析的 RESTful API 服务器 - 实时任务状态跟踪与报告检索 ## 📋 目录 - [架构概览](#architecture-overview) - [快速开始](#quick-start) - [本地分析](#local-analysis-wrapper) - [Web 服务器 (Web Server)](#web-server) - [组件](#components) - [性能](#performance) - [配置](#configuration) - [API 文档](#api-documentation) - [贡献](#contributing) ## 🏗️ 架构概览 Architecture ``` ┌─────────────────────────────────────────────────────────────┐ │ MirrorShield Platform │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Wrapper │ │ Server │ │ Guardian │ │ │ │ (Analysis │◄──►│ (REST API) │◄─►│ (Browser │ │ │ │ Engine) │ │ │ │ Extension) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Docker Pool (100+ concurrent) │ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │ │ │ C1 │ │ C2 │ │ C3 │ │ ... │ │ C99 │ │ C100│ │ │ │ │ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ eBPF Monitor (cgroup-based routing) │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ Ring Buffer → EventRouter (16 shards) │ │ │ │ │ │ ↓ │ │ │ │ │ │ Per-cgroup Queues (lock-free routing) │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ | │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Analysis & Reporting │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ Analyzers │ │ DeepSeek AI │ │ │ │ │ │ (10+ types) │ │ (4-32 workers)│ │ │ │ │ └──────────────┘ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 🚀 快速开始 ### 本地分析 直接在您的机器上分析二进制文件: ``` cd Wrapper # 安装依赖 pip3 install -r requirements.txt # 使用 MPK 保持完整性 # 确保你的 CPU 支持 PKU (Protection Keys for Userspace) # 单文件分析 python3 wrapper.py /path/to/binary --docker # 使用 AI 进行批量分析 (并发模式) python3 wrapper.py /path/to/directory \ --docker \ --concurrency 10 \ --enable-ai-analysis \ --ai-workers 16 # 高性能模式 (100 个并发容器) python3 wrapper.py /path/to/samples \ --docker \ --concurrency 100 \ --docker-pool-size 100 \ --enable-ai-analysis \ --ai-workers 32 ``` **关键选项:** - `--docker`:在 Docker 容器中运行(推荐) - `--concurrency N`:同时分析 N 个样本 - `--enable-ai-analysis`:启用 DeepSeek AI 分析 - `--ai-workers N`:AI 分析工作进程数(默认:4) - `--docker-pool-size N`:Docker 容器池大小 - `--queue-strategy`:任务分配策略 (grouped/mixed/round_robin) 更多详情,请参阅 [Wrapper/README.md](Wrapper/README.md) ### Web 服务器 运行 RESTful API 服务器以进行远程分析,采用新的 Auto-Scan 架构: ``` cd Server # 安装依赖 pip3 install -r requirements.txt # 启动服务器 (Waitress 生产模式) # 自动启动后台扫描器 ./start_server.sh ``` **新工作流:** 1. 上传文件至 `/upload` 2. 服务器保存至 `uploads/` 队列 3. 后台扫描器自动拾取 4. 通过 Wrapper 运行分析 5. 保存结果,文件移动至 `processed/` **API 端点:** - `POST /upload` - 上传文件进行分析 - `GET /jobs//status` - 检查任务状态 - `GET /jobs//report` - 获取分析报告 - `GET /deepseek/reports` - 列出所有 AI 分析报告 - `GET /deepseek/reports/` - 获取特定的 AI 报告 - `GET /scanner/status` - 扫描器状态 - `POST /scanner/start` - 启动后台扫描器 - `POST /scanner/stop` - 停止后台扫描器 更多详情,请参阅 [Server/README.md](Server/README.md) ## 🧩 组件 ### 1. Wrapper (核心分析引擎) - **位置**:`/Wrapper` - **用途**:结合 eBPF 监控和 MPK 隔离的多架构二进制分析 - **主要特性**: - Docker 池执行 (100+ 并发) - 带分片锁的事件路由器 (30万 事件/秒) - DeepSeek AI 集成 - 10+ 种漏洞分析器 - MPK (Memory Protection Keys) 集成 ### 2. 服务器 (Web API) - **位置**:`/Server` - **用途**:用于远程分析的 RESTful API - **主要特性**: - **Waitress WSGI** 服务器,提供生产级性能 - **Auto-scan** 后台工作进程 - 文件上传与自动处理 - 实时状态跟踪 - DeepSeek 报告检索 ### 3. DeepSeek AI 模块 - **位置**:`/DeepSeek` - **用途**:AI 驱动的恶意软件分析 - **主要特性**: - 多 API Key 支持 (轮询 round-robin) - 自动风险评分 - 全面的行为分析 - 并行分析 (最多 32 个工作进程) ## ⚡ 性能 ### Wrapper 性能 - **事件处理**:30万+ 事件/秒 - **并发容器**:100+ 同时运行 - **零丢包**:即使在重负载下 - **事件同步**:自动队列稳定 ### AI 分析性能 | API Keys | 吞吐量 | 100 样本耗时 | |----------|-----------------|------------------| | 1 key | 60 请求/分钟 | ~450s | | 4 keys | 240 请求/分钟 | ~120s | | 8 keys | 480 请求/分钟 | ~65s | ### Server 性能 - **并发处理**:多线程 Waitress 服务器 - **后台处理**:通过专用线程进行自动队列管理 - **API 响应**:< 100ms (上传立即确认) ## ⚙️ 配置 ### Wrapper 配置 编辑 `Wrapper/config.json`: ``` { "docker_user": "nobody", "timeout": 60, "max_workers": 100, "queue_strategy": "grouped" } ``` ### DeepSeek 配置 编辑 `DeepSeek/config.py`: ``` CONFIG = { # Multiple API keys for high throughput "api_keys": [ "sk-key1...", "sk-key2...", "sk-key3...", "sk-key4..." ], "api_base": "https://api.deepseek.com/v1", "retry_max": 3 } ``` **性能提示**:使用 4-8 个 API Key 和 16-32 个工作进程以获得最佳吞吐量。 ### Server 配置 环境变量 (在 `start_server.sh` 中设置): ``` export PORT=8080 # Server port export WRAPPER_WORKERS=4 # Concurrent analysis workers export WRAPPER_MAX_CONTENT_MB=100 # Max upload size export WRAPPER_USE_SUDO=0 # Use sudo for wrapper export WRAPPER_PRODUCTION=1 # Production mode ``` ## 📚 API 文档 ### 上传文件 ``` curl -X POST http://localhost:8080/upload \ -F "file=@/path/to/binary" ``` 响应: ``` { "status": "queued", "filename": "binary", "message": "File uploaded successfully and added to scanning queue" } ``` ### 检查任务状态 ``` curl http://localhost:8080/jobs/binary_timestamp/status ``` 响应: ``` { "job_id": "binary_timestamp", "status": "completed", "progress": 100, "start_time": 1234567890, "end_time": 1234567950 } ``` ### 获取 DeepSeek AI 报告 ``` # 列出所有 AI 报告 curl http://localhost:8080/deepseek/reports # 获取特定 AI 报告 curl http://localhost:8080/deepseek/reports/job_id ``` 完整 API 文档,请参阅 [Server/README.md](Server/README.md#api-reference) ## 🤝 贡献 我们欢迎各种贡献!您可以通过以下方式提供帮助: ### 添加新的分析器 在 `Wrapper/analyzers/` 中创建一个新的分析器: ``` # YourAnalyzer.py ANALYZER_NAME = "YourAnalyzer" ANALYZER_DESCRIPTION = "Detects specific malicious behavior" def analyze(event: dict) -> dict: # Your analysis logic if is_suspicious(event): return { "analyzer": ANALYZER_NAME, "level": 8, "message": "Suspicious behavior detected", "evidence": event } return None ``` 在 `Wrapper/config.json` 中注册: ``` { "analyzers": { "YourAnalyzer": ["EXEC", "OPENAT", "SOCKET"] } } ``` ### 改进 AI 分析 - 向 DeepSeek 提示词中添加更多行为模式 - 改进风险评分算法 - 增加对更多 AI 模型的支持 ### 测试 ``` cd Wrapper python3 -m pytest test/ ``` **准备好让您的分析更智能、更安全了吗?** **立即开始使用 MirrorShield!** ✨
标签:AI驱动安全, AMSI绕过, CSV导出, DAST, DeepSeek集成, DNS 反向解析, Docker容器隔离, Docker镜像, eBPF监控, ELF恶意软件, JA3, QEMU模拟器, 二进制分析, 云安全运维, 云资产清单, 内存保护键 (MPK), 动态分析框架, 多架构支持, 威胁检测, 客户端加密, 幻觉检测, 恶意软件分析, 沙箱技术, 网络安全, 请求拦截, 跨架构仿真, 身份验证强制, 逆向工具, 逆向工程, 隐私保护, 风险评分