AbstractionsLab/idps-escape

GitHub: AbstractionsLab/idps-escape

基于 MAPE-K 架构的开源 SOAR 系统,融合特征检测与深度学习异常检测,实现风险感知的自动化安全编排与响应。

Stars: 14 | Forks: 2

# IDPS-ESCAPE IDPS-ESCAPE(入侵检测与防御系统 - 通过协同异常预测引擎增强安全性)是 [CyFORT](https://abstractionslab.com/index.php/research-and-development/cyfort/) 的一个子项目,实现了一个基于 **MAPE-K**(监控、分析、计划、执行、知识)的安全编排、自动化和响应(**SOAR**)系统。该项目在 [IPCEI-CIS](https://ec.europa.eu/commission/presscorner/detail/en/ip_23_6246) 背景下开发,面向中小企业、CERT/CSIRT 实体、SOC 经理、系统管理员、安全工程师和云部署环境。 cyfort_logo **核心组件:** - [**RADAR**](/radar/README.md) - 风险感知检测与基于 Ansible 部署的自动化响应 - [**SONAR**](/sonar/README.md) - 由深度学习驱动的生产级多变量异常检测 - [**ADBox**](/docs/manual/adbox_docs/adbox.md) - 遗留研究框架 **构建于:** [Ansible](https://github.com/ansible/ansible)、[OpenSearch](https://opensearch.org/)、[Wazuh](https://wazuh.com/)、[Flowintel](https://github.com/flowintel/flowintel) 和 [PyFlowintel](https://github.com/AbstractionsLab/PyFlowintel)、[Suricata](https://suricata.io/)、[MISP](https://www.misp-project.org/) 我们采用 **混合检测方法** 对已知和新兴威胁进行纵深防御,结合基于特征的引擎(Wazuh、Suricata)和机器学习(ML)算法,通过 SONAR 和 RADAR 进行基于 ML 的异常检测(AD),分别依赖 [MTAD-GAT](https://arxiv.org/pdf/2009.02040)(注意力机制和深度学习)和 [RRCF](https://proceedings.mlr.press/v48/guha16.pdf)(随机森林)处理流数据。 本仓库包含完整的[文档](./docs/manual/README.md)、用户手册、技术规范以及基于 [C5-DEC](https://github.com/AbstractionsLab/c5dec) 方法的验证测试报告。请参阅我们的 **[可追溯性网站](https://abstractionslab.github.io/idps-escape/traceability/index.html)** 以查看相互关联的规范。 如需以视觉化方式了解 IDPS-ESCAPE 的面向利益相关者的概览,请访问 **[产品展示页面](https://abstractionslab.github.io/idps-escape/website/product-presentation.html)**。 idps-escape-website ## 目录 - [IDPS-ESCAPE 套件](#idps-escape-suite) - [快速开始](#quick-start) - [文档](#documentation) - [开发](#development) - [测试](#testing) - [路线图](#roadmap) - [免责声明](#disclaimer) - [许可证](#license) - [联系方式](#contact) ## IDPS-ESCAPE 套件 ### RADAR - 风险感知的基于 AD 的自动化响应 [**RADAR**](/radar/README.md) 通过 [基于 Ansible 的基础设施即代码](#fully-automated-deployment-with-ansible) 部署提供混合检测和智能自动化响应: - **混合检测**:基于特征(Wazuh、Suricata)+ 基于 ML 的异常检测(RRCF) - **风险感知动作**:分级响应(低/中/高风险),包括主机隔离、进程控制、网络规则、警报升级和事件案例创建 - **自动案例创建**:通过与 SATRAP-DL 的 DECIPHER 子系统和 Flowintel 集成来创建事件案例 - **灵活部署**:本地/远程管理器和代理配置 - **生产场景**:GeoIP 检测、日志量监控、可疑登录 - **实验场景**:内部威胁、DDoS、C2 恶意软件(需要适配) **部署模式:** | Wazuh Manager | Wazuh Agents | Use Case | |---------------|--------------|----------| | Local | Local | Single-node testing/development | | Local | Remote | Central manager with distributed endpoints | | Remote | Remote | Fully distributed production | 请参阅 [RADAR README](/docs/manual/radar_docs/README.md)、[场景](/radar/scenarios/README.md)、[对抗性 ML 指南](/docs/manual/radar_docs/adversarial-ml-guidance.md) 和 [开发者 README](/radar/README.md)。 ### SONAR - 通过多变量 AD 实现面向 SIEM 的神经异常识别 [**SONAR**](/sonar/README.md) 提供生产级异常检测: - **Microsoft MVAD 引擎**:久经沙场的多变量时间序列检测 - **调试模式**:使用合成数据进行离线测试(无需基础设施) - **基于场景**:YAML 配置,用于可重复的工作流 - **RADAR 集成**:数据传输至 Wazuh 以进行自动化响应 - **灵活模式**:实时、批量和历史分析 请参阅 [SONAR README](/docs/manual/sonar_docs/README.md)、[场景指南](/docs/manual/sonar_docs/scenario-guide.md)、[架构](/docs/manual/sonar_docs/architecture.md) 和 [开发者 README](/sonar/README.md)。 ### 使用 Ansible 进行完全自动化部署 我们使用 [Ansible](https://github.com/ansible/ansible) [提供完整的 **基础设施即代码** (IaC)](/radar/README.md) 部署机制,使团队能够自动且一致地启动完全可操作的环境,目前仅支持 RADAR。这确保了适合生产环境、测试平台或研究的可复现、可扩展的安装过程。我们还提供了管理器自动化管道的 [**详细技术文档**](/docs/manual/radar_docs/radar-manager-ansible-playbook.md)。 自动化设置包括: - **Wazuh Manager**:自动安装并配置用于基于特征和基于 ML 的监控、AD 和警报。 - **Wazuh Agents**:部署到受监控的端点,无需人工干预。 - **RADAR 栈**:包括所有依赖项、配置模板以及 RADAR、Wazuh、SONAR 和 ADBox 之间的通信通道。 ### ADBox(遗留版本) [ADBox](/docs/manual/adbox_docs/adbox.md) 旨在维护研究的连续性,基于 PyTorch 的图注意力网络。请参阅 [ADBox 手册](/docs/manual/adbox_docs/adbox.md) 获取遗留文档。 ## 文档 请参阅我们的 [用户手册](./docs/manual/README.md),获取关于 [RADAR](/radar/README.md)、[SONAR](/sonar/README.md) 和 [ADBox](/docs/manual/adbox_docs/adbox.md) 的全面文档。访问我们的 [可追溯性页面](https://abstractionslab.github.io/idps-escape/traceability/index.html) 查看相互关联的需求、技术规范(如架构图)和测试报告 ([TRP](https://abstractionslab.github.io/idps-escape/docs/traceability/TRP.html))。 ## 快速开始 ### 决策树 - **想要完全自动化响应?** 引导 [完整的 RADAR 栈](#full-stack-automated-deployment-radar) - **需要生产级异常检测?** 部署 [SONAR 与 Wazuh](#production-deployment-with-sonar) - **只是探索?** 从 [SONAR 调试模式](#evaluating-sonar-5-minutes) 开始(无需基础设施) ### 全栈自动化部署 (RADAR) **前提条件:** 0. 系统要求:确保您的环境满足下方指定的 [资源和网络要求](#requirements) 1. 创建包含凭据的 `radar/.env`(参见 [env.example](/radar/env.example)): - OpenSearch URL、用户名、密码、SSL 证书 - Wazuh API 凭据和管理器地址 - 用于邮件警报的 SMTP 设置 - FlowIntel API 密钥(可选,用于事件案例创建) - Webhook URL(默认:`http://:8080/notify`) 2. 为远程端点配置 `radar/inventory.yaml`(如果使用 `--agent remote` 或 `--manager remote`) ``` # 使用 Ansible 引导完整堆栈 cd radar sudo ./build-radar.sh geoip_detection --agent remote --manager local --manager_exists false ``` 有关更多详细信息,请参阅 [RADAR 入门](/docs/manual/radar_docs/radar-getting-started.md) 页面。 **此部署包含:** - 带有特定场景规则、解码器和主动响应的 Wazuh Manager - 远程端点上带有 RADAR Helper(GeoIP 丰富化)的 Wazuh Agents - 用于异常检测的 OpenSearch 检测器和监视器(仅在适用时,例如在日志量变化场景中) - 用于警报路由的 Webhook 服务 - 针对所选场景的完整自动化管道 此处我们提供了可疑登录检测 RADAR 场景成功运行的截图: ![Wazuh Dashboard RADAR Suspicious Login detection](/docs/manual/_figures/RADAR-v0.8-wazuh-dashboard.png) 主动响应向指定收件人发送电子邮件。 ![](/docs/manual/_figures/RADAR-v0.8-email-suspicious-login.png) 此外,主动响应通过 DECIPHER 服务在 FlowIntel 中为高风险警报创建案例。 为了计算响应该的威胁上下文,RADAR 调用 DECIPHER 的专用分析端点 —— 一个独立于普通 RADAR 流程的 API 端点。它传递一个由给定场景的检测组装而成的信息包:警报元数据、源 IP、相关事件字段和特定场景的上下文。DECIPHER 处理此包并将 CTI 分数连同丰富的威胁情报结果返回给 RADAR,RADAR 将该分数直接输入其风险计算。作为评分的一部分,DECIPHER 通过 `pymisp` 在 MISP 中执行一系列指标查找 —— 例如,检查源 IP 是否作为已知恶意属性出现在任何 MISP 事件上 —— 并将这些发现纳入最终的 CTI 分数。下面的截图显示了在此过程中参考的 MISP 事件示例,记录了一个 DECIPHER 将与 RADAR 提供的包进行匹配的恶意 `ip-src` 指标: ![RADAR DECIPHER MISP lookup — ip-src event in MISP](/docs/manual/_figures/RADAR-DECIPHER-MISP-lookup.png "MISP event consulted by DECIPHER during CTI scoring for a RADAR scenario") ![FlowIntel case created by RADAR via DECIPHER](/docs/manual/_figures/RADAR-v0.8-FlowIntel-case.png) 有关部署模式和配置,请参阅 [RADAR 入门](/docs/manual/radar_docs/radar-getting-started.md)。 ### SONAR 使用 SONAR 提供基于场景的异常检测和灵活的执行模式: ``` # 安装并连接 Wazuh poetry install --only sonar # 检查 Wazuh 连接 poetry run sonar check # 运行完整场景 (训练 + 检测) poetry run sonar scenario --use-case sonar/scenarios/brute_force_detection.yaml # Debug 模式 (使用合成数据进行离线测试) poetry run sonar scenario --use-case sonar/scenarios/example_scenario.yaml --debug # 生产模式,数据传送至 RADAR poetry run sonar scenario --use-case sonar/scenarios/my_scenario.yaml --ship ``` 有关详细信息,请参阅 [SONAR 文档](/docs/manual/sonar_docs/README.md)。 **用于 Wazuh 和 RADAR 集成的数据传输:** `--ship` 的作用: - 在 Wazuh Indexer 中为特定场景的异常创建专用数据流 - 支持在 Wazuh 中创建自定义仪表板 - 支持实时监控和 RADAR 自动化响应集成 - 安装索引模板以进行正确的字段类型化和验证 - 生产环境 SONAR→RADAR 工作流所必需 **为什么数据传输很重要**:如果没有 `--ship`,异常将被索引到通用索引中。使用 `--ship` 后,每个场景都会获得一个专用的数据流(例如 `sonar_anomalies_mvad_brute_force_v1`),从而支持特定场景的 RADAR 规则、专用仪表板和独立的数据生命周期策略。 ``` # 在检测期间将异常发送到专用数据流 poetry run sonar detect --scenario sonar/scenarios/my_scenario.yaml --ship ``` **优势:** - **场景隔离**:每个模型都有自己的数据流(例如 `sonar_anomalies_mvad_brute_force_v1`) - **RADAR 集成**:异常自动可用于自动化响应 - **仪表板可视化**:用于 SIEM 仪表板小部件的专用索引 - **数据生命周期管理**:内置用于流管理的轮转策略 有关配置详细信息,请参阅 [数据传输指南](/docs/manual/sonar_docs/data-shipping-guide.md),有关可视化以及解释如何构建此类仪表板的说明(SONAR 和 ADBox 的过程相同),请参阅 [仪表板教程](/docs/manual/adbox_docs/dashboard_tutorial.md)。 ![](/docs/manual/_figures/1BA5_Tutorial_Dashboard/1BA5_25-Dashboard-10.png) ### 评估 SONAR(5 分钟) **零基础设施要求** - SONAR 的调试模式使用合成测试数据进行离线评估: ``` # 在 Debug 模式下安装并测试 (无 Wazuh,无 OpenSearch,无容器) poetry install --with sonar poetry run sonar scenario --use-case sonar/scenarios/example_scenario.yaml --debug ``` **调试模式提供:** - 使用预生成的合成警报进行离线测试 - 完整的训练 → 检测 → 报告工作流 - 无需基础设施开销的模型评估 - 非常适合概念验证和算法评估 ### 系统要求 #### 按组件划分的资源需求 | Component | RAM | Storage | CPU | |-----------|-----|---------|-----| | **Wazuh Manager** | 8 GB minimum | ~15 GB | 4 cores | | **SONAR** | 4 GB | ~2 GB (models) | 2 cores | | **RADAR** | 2 GB | ~1 GB | 2 cores | | **Wazuh Agents** | 512 MB each | ~500 MB each | 1 core | | **Full Stack** | 16 GB+ | ~26 GB total | 8+ cores | #### 网络要求 - **Wazuh Manager**:端口 55000 (API)、端口 1514/1515(代理通信) - **OpenSearch/Wazuh Indexer**:端口 9200 (HTTPS) - **RADAR Webhook**:端口 8080(可在 `.env` 中配置) - **FlowIntel**(可选):端口 7006 (API) #### 部署灵活性 组件可以在单独的节点上运行以进行分布式部署。有关多节点设置,请参阅 [部署指南](./deployment/README.md);有关容器化选项,请参阅 [Docker 部署](./deployment/README.md#docker-deployment)。 ### Docker 部署 使用便捷脚本构建并运行:** ``` # 构建镜像 ./build.sh all # All components ./build.sh sonar # SONAR only # 运行 SONAR ./sonar.sh check # Check Wazuh connection ./sonar.sh scenario --use-case sonar/scenarios/example_scenario.yaml --debug # 运行 ADBox (旧版) ./adbox.sh -u 1 # 使用自定义参数运行 ./adbox.sh ``` **注意**:基于 Docker 的执行需要先使用 `build.sh` 构建镜像。 ## 开发 ``` # 安装依赖 poetry install --with sonar,radar,adbox,test # 运行测试 poetry run pytest tests/sonartests/ # SONAR poetry run pytest tests/ # All ./radar/test.sh # RADAR # SONAR CLI poetry run sonar check poetry run sonar scenario --use-case sonar/scenarios/example.yaml --debug # Docker 构建 ./build.sh all ``` 有关特定组件的开发指南,请参阅 [SONAR README](/sonar/README.md) 和 [RADAR README](/radar/README.md)。 ## 测试 请参阅我们的 [可追溯性页面](https://abstractionslab.github.io/idps-escape/traceability/index.html) 获取测试报告 ([TRP](https://abstractionslab.github.io/idps-escape/docs/traceability/TRP.html)),以及 [RADAR 测试框架](/radar/radar-test-framework/README.md) 进行自动化实验。 ## 路线图 - 与 [SATRAP-DL](https://github.com/AbstractionsLab/satrap-dl) 的 [DECIPHER](https://github.com/AbstractionsLab/satrap-dl/tree/main/decipher) 子系统集成 - 通过 DECIPHER 实时 CTI 分析增强 RADAR 轻量级风险引擎(进而与 MISP 集成) - 自动化 SONAR-RADAR 集成 - 具有高级混合关联的场景(特征 + RRCF + SONAR 异常) - 自动模型重训练(基于计划、漂移触发) - 扩展分类特征支持 - 新场景模板 - 增强对抗性 ML 的鲁棒性 - [SATRAP](https://github.com/AbstractionsLab/satrap-dl) CTI 集成 - [OpenTRICK](https://github.com/itrust-consulting/OpenTRICK) 资产图转换 有关详细路线图,请参阅 [Wiki](https://github.com/AbstractionsLab/idps-escape/wiki)。 ## 免责声明 仅供评估和测试。虽然 SONAR 和 RADAR 已在受控环境中部署,但在生产使用前请进行全面的安全评估。**使用风险自负。** ## 许可证 版权所有 © itrust Abstractions Lab 和 itrust consulting。根据 [GNU AGPL v3.0](LICENSE) 授权。有关贡献者,请参阅 [AUTHORS](/AUTHORS)。 ## 致谢 由卢森堡经济部在 CyFORT 项目背景下共同资助。 ## 联系方式 Abstractions Lab: info@abstractionslab.lu
标签:Ansible, Apex, Beacon Object File, CERT, CISA项目, CSIRT, CyFORT, IDPS, IDPS-ESCAPE, MAPE-K, Metaprompt, PE 加载器, RADAR, SOAR, SONAR, Suricata, Wazuh, 中小型企业安全, 入侵检测与防御系统, 凭据扫描, 威胁情报, 开发者工具, 异常检测, 插件系统, 机器学习, 深度学习, 混合检测, 现代安全运营, 系统提示词, 网络安全, 自动响应, 请求拦截, 逆向工具, 防御深度, 隐私保护, 风险感知