Manjesh501/cerebrus

GitHub: Manjesh501/cerebrus

融合静态分析、机器学习、动态沙盒与多源威胁情报的可解释恶意软件智能分析框架。

Stars: 2 | Forks: 0

# Cerberus AI Cybershield 🛡️ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![Flask](https://img.shields.io/badge/Flask-2.3.3-blue.svg)](https://pypi.org/project/Flask/) **先进的多层恶意软件分析与防护系统** ## 🔍 概述 Cerberus AI Cybershield 是一个全面、智能的恶意软件分析框架,旨在针对现代网络威胁提供多层防御。通过利用静态分析、机器学习、动态行为分析、高级沙盒技术以及多源威胁情报,Cerberus 能够针对各种文件格式提供针对已知和未知恶意软件的强大防护。 该系统赋能安全分析师、事件响应人员和开发人员: - **快速安全地筛选文件**,通过在不执行的情况下进行静态分析 - **检测新型威胁**,使用基于深层文件特征训练的机器学习模型 - **理解判定结果**,通过可解释 AI 功能展示文件被归类为恶意的具体原因 - **自动化分析**,借助批处理和 API 功能 - **主动监控**,提供实时文件系统监控 - **增强浏览器安全**,通过用于保护 Gmail 附件的 Chrome 扩展程序 ## 🚨 Cerberus 解决的问题 在当今不断演变的网络安全环境中,传统的恶意软件检测方法难以跟上日益复杂的威胁步伐: 1. **零日攻击**:基于签名的检测对以前未知的恶意软件无效 2. **手动分析瓶颈**:需要调查的文件数量庞大,让安全团队应接不暇 3. **缺乏透明度**:自动化工具通常作为“黑盒”运行,无法解释其决策 4. **规避技术**:现代恶意软件使用反分析技术来逃避检测 5. **多向量攻击**:威胁通过各种渠道袭来,包括电子邮件附件、下载和网络流量 ## 💡 核心功能 ### 🤖 AI 驱动的静态分析 - **深层特征提取**:在不执行文件的情况下执行深入的静态分析 - **多文件格式支持**:PE 文件 (.exe/.dll)、文档 (.doc/.pdf)、脚本 (.js/.ps1) 以及归档文件 - **风险评估**:通过在执行前分析文件,实现更安全的筛选 ### 💡 机器学习检测 - **随机森林分类器**:基于提取的静态特征进行训练以进行模式识别 - **高准确率**:有效对抗已知的恶意软件家族和未知变种 - **置信度评分**:提供预测置信水平,以便更好地做出决策 ### 🔬 动态分析 - **受控执行**:在隔离环境中运行文件以观察行为 - **行为监控**:捕获进程活动、文件系统更改、注册表修改以及网络连接 - **沙盒集成**:基于 Docker 的高级沙盒技术,用于全面分析 ### ❓ 可解释人工智能 (XAI) - **SHAP 集成**:使用 SHapley Additive exPlanations 来解释机器学习模型的预测 - **特征可视化**:展示哪些静态特征对分类结果的影响最大 - **透明度**:通过清晰的理由建立对 AI 决策的信任 ### 🌍 多源威胁情报 - **VirusTotal API**:在广泛的恶意软件数据库中检查文件哈希 - **Hybrid Analysis**:基于云的沙盒服务集成 - **Joe Sandbox**:高级行为分析平台 - **YARA 规则**:针对已知恶意软件签名的模式匹配 - **IOC 数据库**:失陷指标追踪与匹配 ### 🖥️ 文档分析 - **宏检测**:识别 Office 文档中的恶意宏 - **嵌入对象分析**:检测可疑的嵌入内容 - **风险评分**:全面的文档风险评估 ### ⏱️ 实时监控 - **文件系统监控**:监视目录中新增或修改的文件 - **进程行为分析**:识别可疑的运行进程 - **自动化分析**:将检测到的项目排队以进行全面分析 - **主动防护**:在威胁于系统中出现时进行检测 ### 🌐 Chrome 扩展程序 - **Gmail 保护**:实时扫描电子邮件附件 - **URL 扫描**:分析 Web 链接中的恶意内容 - **可视化指示器**:为附件安全性提供清晰的状态指示器 - **统计仪表板**:跟踪已扫描的附件和检测到的威胁 ### 🛡️ 高级反规避 - **虚拟机检测对抗措施**:绕过恶意软件使用的反虚拟机技术 - **反调试检测**:识别并中和反调试方法 - **基于时间的规避**:处理基于睡眠/延迟的规避技术 - **加壳检测**:识别加壳/混淆的恶意软件样本 ## 🏗️ 架构 Cerberus 采用模块化的多阶段管道来进行全面的恶意软件分析: ``` graph TB A[File Input] --> B{Analysis Type} B --> C[Static Analysis] B --> D[Dynamic Analysis] B --> E[Hybrid Analysis] C --> F[Feature Extraction] F --> G[ML Model Prediction] G --> H[XAI Explanation] D --> I[Sandbox Execution] I --> J[Behavioral Monitoring] J --> K[Process Analysis] J --> L[File System Changes] J --> M[Network Activity] E --> N[Threat Intelligence] N --> O[VirusTotal] N --> P[Hybrid Analysis] N --> Q[Joe Sandbox] N --> R[YARA Scanning] H --> S[Aggregation Engine] K --> S L --> S M --> S O --> S P --> S Q --> S R --> S S --> T[Final Verdict] T --> U[Confidence Scoring] T --> V[Risk Assessment] T --> W[Malware Classification] U --> X[User Interface] V --> X W --> X ``` ## 🧰 技术栈 ### 核心技术 - **语言**:Python 3.8+ - **Web 框架**:Flask - **机器学习**:Scikit-learn, Joblib, Pandas, NumPy - **可解释性**:SHAP, LIME - **容器化**:Docker ### 分析组件 - **静态分析**:PEFile, python-magic - **动态分析**:psutil, subprocess - **文档分析**:olefile, lxml - **威胁情报**:requests, vt-py - **实时监控**:watchdog, psutil - **可视化**:matplotlib, seaborn, plotly ### 安全与基础设施 - **沙盒**:Docker 容器 - **文件分析**:YARA 规则 - **内存分析**:volatility3 - **生产服务器**:Waitress WSGI ## 📁 项目结构 ``` cerberus-ai-cybershield/ ├── ML_model/ # Pre-trained machine learning models ├── chrome_extension/ # Browser security extension ├── Dataset/ # Training data and samples ├── VT/ # VirusTotal integration ├── templates/ # Web interface templates ├── uploads/ # File upload directory ├── results/ # Analysis results storage ├── batch_results/ # Batch processing results ├── temp_uploads/ # Temporary file storage ├── yara_rules/ # YARA signature rules ├── tests/ # Unit and integration tests ├── __pycache__/ # Python cache files │ ├── app.py # Main Flask application ├── streamlit_app.py # Streamlit web interface ├── batch_processor.py # Batch file processing engine ├── feature_extraction.py # Static feature extraction ├── predict_file.py # Single file prediction ├── run_batch_test.py # Batch testing utility ├── realtime_monitor.py # Real-time file monitoring ├── dynamic_analysis.py # Dynamic behavioral analysis ├── document_analyzer.py # Document file analysis ├── malware_types.py # Malware classification ├── model_explainer.py # XAI model explanation ├── threat_intelligence.py # Multi-source threat intel ├── threat_dashboard.py # Threat intelligence dashboard ├── advanced_sandbox.py # Docker-based sandboxing ├── anti_evasion.py # Anti-evasion detection ├── vt_api.py # VirusTotal API integration │ ├── requirements.txt # Python dependencies ├── README.md # Project documentation ├── .gitignore # Git ignore rules └── LICENSE # MIT License ``` ## 🚀 安装 ### 前置条件 - Python 3.8 或更高版本 - Docker(用于高级沙盒分析) - Git(用于克隆仓库) - 建议至少拥有 8GB 内存 - Windows、macOS 或 Linux 操作系统 ### 快速设置 请仅使用 Python 3.11 1. **克隆仓库** git clone https://github.com/Manjesh501/Cerberus.git cd Cerberus-ai-cybershield 2. **创建虚拟环境** python3 -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows 3. **安装依赖** pip install -r requirements.txt 4. **下载预训练模型** 确保预训练模型文件位于 `ML_model/malwareclassifier-V2.pkl` 如果不可用,请使用提供的训练脚本训练您自己的模型。 5. **配置 API 密钥(可选)** 在根目录下创建 `config.json` 文件: { "virustotal_api_key": "YOUR_VT_API_KEY", "hybrid_analysis_api_key": "YOUR_HA_API_KEY", "joe_sandbox_api_key": "YOUR_JOE_API_KEY" } 6. **启动应用** python app.py 应用程序将在 `http://localhost:5000` 处可用 ## 🖥️ 用法 ### Web 界面 在 `http://localhost:5000` 访问主仪表板以: - 上传并分析单个文件 - 查看详细的分析结果 - 监控实时威胁检测 - 访问威胁情报仪表板 ### Streamlit 界面 运行 Streamlit Web 界面进行批处理: ``` streamlit run streamlit_app.py ``` ### 命令行分析 #### 单文件分析 ``` python predict_file.py /path/to/your/file.exe ``` #### 批量分析 ``` # 交互式批处理 python run_batch_test.py --interactive # 分析单个文件 python run_batch_test.py malware_sample.exe # 使用自定义模型分析目录 python run_batch_test.py test_samples/ --model-path my_model.pkl --static-only # 使用 VirusTotal 进行混合分析 python run_batch_test.py test_samples/ --hybrid --vt-api-key YOUR_API_KEY ``` #### 实时监控 ``` # 监控 Downloads 目录 python realtime_monitor.py -w /path/to/Downloads # 监控多个目录 python realtime_monitor.py -w /path/to/Downloads -w /path/to/Documents ``` ### API 端点 #### 文件分析 ``` curl -X POST -F "file=@/path/to/file.exe" http://localhost:5000/api/analyze ``` #### URL 扫描 ``` curl -X POST -H "Content-Type: application/json" \ -d '{"url": "http://example.com/malicious"}' \ http://localhost:5000/api/scan-url ``` #### 实时监控控制 ``` # 开始监控 curl -X POST http://localhost:5000/api/realtime/start # 停止监控 curl -X POST http://localhost:5000/api/realtime/stop # 获取状态 curl http://localhost:5000/api/realtime/status ``` ## 🔧 Chrome 扩展程序 ### 安装 1. 打开 Chrome 并导航至 `chrome://extensions/` 2. 启用“开发者模式” 3. 点击“加载已解压的扩展程序”并选择 `chrome_extension` 文件夹 4. Cerberus 图标将出现在您的工具栏中 ### 功能 - **Gmail 附件扫描**:自动扫描电子邮件附件 - **可视化指示器**:为附件提供颜色编码的安全指示器 - **重新扫描功能**:手动触发附件重新扫描 - **统计仪表板**:跟踪已扫描的文件和检测到的威胁 - **URL 保护**:在访问前分析 Web 链接 ## 🧪 测试与开发 ### 单元测试 运行测试套件: ``` pytest tests/ ``` ### 示例文件 `test_samples/` 目录包含用于测试的各种文件类型: - 用于基线测试的干净文件 - 已知恶意软件样本(仅在隔离环境中测试) - 具有各种特征的可疑文件 ### 开发指南 1. 始终在隔离环境中进行测试 2. 切勿在生产系统上运行未知恶意软件 3. 使用虚拟机或专用的分析设备 4. 定期更新威胁情报源 5. 在分析期间监控系统资源 ## ⚠️ 安全注意事项 ### 安全使用指南 - **切勿在生产系统上运行**:请使用隔离的虚拟机或专用的分析环境 - **网络隔离**:在分析期间断开互联网连接 - **资源监控**:监控 CPU、内存和磁盘使用情况 - **定期更新**:保持威胁情报源最新 - **备份系统**:维护分析环境的备份 ### 风险缓解 - **超时机制**:防止无限循环和资源耗尽 - **内存限制**:限制分析期间的内存使用 - **进程隔离**:使用容器以增强隔离性 - **黑名单管理**:跳过已知的问题文件 - **错误处理**:在组件出现故障时优雅降级 ## 📊 威胁情报仪表板 在 `http://localhost:5000/dashboard` 访问威胁情报仪表板以查看: - **地理分布**:全球威胁分布图 - **恶意软件趋势**:历史恶意软件检测趋势 - **攻击向量**:常见攻击方法 - **行业分析**:特定行业的威胁模式 - **实时监控**:实时威胁检测信息流 ## 🤝 贡献 欢迎贡献!请遵循以下步骤: 1. Fork 仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 发起 Pull Request ### 贡献领域 - **新分析模块**:额外的文件格式支持 - **改进的机器学习模型**:增强的检测算法 - **UI/UX 增强**:更好的可视化和用户体验 - **性能优化**:更快的处理速度和更低的资源消耗 - **文档**:改进的指南和示例 - **测试**:额外的测试用例和样本文件 ## 📚 文档 ### API 文档 当应用程序运行时,可在 `http://localhost:5000/api/docs` 获取详细的 API 文档。 ### 组件文档 每个主要组件都有内联文档: - `feature_extraction.py`:静态特征提取方法 - `dynamic_analysis.py`:行为分析技术 - `model_explainer.py`:可解释 AI 实现 - `threat_intelligence.py`:多源威胁情报集成 - `realtime_monitor.py`:实时文件系统监控 ## 🐛 故障排除 ### 常见问题 #### Docker 不可用 如果未安装 Docker,高级沙盒功能将被禁用。请为您的平台安装 Docker Desktop。 #### 内存问题 对于大文件分析,请增加系统内存或减少并发工作器的数量。 #### API 密钥错误 确保 API 密钥已在 `config.json` 或环境变量中正确配置。 #### 文件权限错误 请使用适当的权限运行应用程序以进行文件访问和分析。 ### 调试 检查日志文件以获取详细的错误信息: - `app.log`:主应用程序日志 - `batch_processor.log`:批处理日志 - `realtime_monitor.log`:实时监控日志 - `model_explainer.log`:XAI 解释日志 ## 📈 性能基准 ### 分析时间(近似) - **静态分析**:每个文件 1-5 秒 - **动态分析**:每个文件 30-120 秒 - **混合分析**:每个文件 60-180 秒 - **批处理**:每小时 100+ 个文件(因系统而异) ### 资源使用 - **内存**:活动分析期间为 500MB-2GB - **CPU**:1-4 个核心,取决于分析类型 - **磁盘**:100MB-1GB,用于临时文件和结果 ## 🔄 未来开发 ### 计划功能 1. **深度学习模型**:基于神经网络的恶意软件检测 2. **高级可视化**:交互式威胁分析仪表板 . **移动端分析**:Android/iOS 恶意软件检测功能 4. **云集成**:AWS/GCP/Azure 部署选项 5. **自动化响应**:与 SIEM 和 SOAR 平台集成 6. **增强沙盒**:完整的系统仿真和内存分析 - **行为分析**:用户和实体行为分析 - **威胁狩猎**:主动的威胁发现能力 ### 研究领域 - **零日检测**:高级启发式分析 - **无文件恶意软件**:驻留内存的威胁检测 - **AI 对抗防御**:防御基于 AI 的攻击 - **抗量子安全**:为后量子密码学做准备 ## 📄 许可证 本项目基于 MIT 许可证授权 - 有关详细信息,请参见 [LICENSE](LICENSE) 文件。 **重要提示**:本软件仅供教育和研究目的使用。作者对因使用本软件而造成的任何误用或损害概不负责。请始终在隔离环境中使用,并遵守所有适用的法律法规。 ## 🙏 致谢 - **Scikit-learn 团队**:感谢他们出色的机器学习库 - **Docker 团队**:感谢他们提供的容器化技术 - **VirusTotal**:感谢其提供的威胁情报服务 - **Hybrid Analysis**:感谢其提供的云沙盒平台 - **Joe Sandbox**:感谢其提供的高级行为分析 - **开源社区**:感谢其提供的各种库和工具 ## 📞 支持 如有问题、疑问或贡献,请: 1. 在 GitHub 上查看现有问题 2. 创建包含详细信息的新问题 3. 通过 GitHub 联系维护人员 4. 加入社区讨论 *🛡️ 使用 Cerberus AI Cybershield 保护您的数字资产 - 针对现代威胁环境的高级恶意软件防护。*
标签:AI安全, Apex, Chat Copilot, DAST, Flask, Gmail安全, Go语言工具, Python, XAI, 云安全监控, 人工智能, 分类器, 反病毒, 可解释人工智能, 多层防御, 威胁情报, 安全运营, 开发者工具, 恶意文件检测, 恶意软件分析, 扫描框架, 批量处理, 文件系统监控, 无后门, 机器学习, 沙箱, 浏览器扩展, 用户模式Hook绕过, 网络威胁防御, 网络安全, 自动化分析, 请求拦截, 跨站脚本, 逆向工具, 隐私保护, 静态分析