abdelrahmanelkady777/closed-loop-iot-cyber-resilience

GitHub: abdelrahmanelkady777/closed-loop-iot-cyber-resilience

该项目实现了一个分段 IoT 网络闭环弹性防御框架,通过混合 SOAR 编排和设备端自愈 agent,将传统仅告警的监控升级为涵盖检测、遏制、恢复与审计的完整证据链。

Stars: 0 | Forks: 0

# 针对分段 IoT 网络的闭环网络弹性 毕业设计项目 **“使用混合 SOAR 和设备端自愈的分段 IoT 网络闭环网络弹性”** 的实现仓库。相关论文 **“通过自动化自愈防御检测和缓解基于 IoT 的威胁”** 已被 IEEE 3SCEA 2026 接收并展示;在准备此仓库时,该论文尚未在 IEEE Xplore 上发布。 ## 摘要 该项目实现了一个分段的 IoT 网络靶场,它通过将网络检测、集中化证据处理、响应编排、遏制、设备恢复、验证和审计连接起来,从而超越了仅限告警的监控。该环境使用 EVE-NG、一个边界和一个内部 FortiGate、一个 Cisco vIOS 路由器、两个运行 Suricata 和 Filebeat 的内联 Linux 节点、一个 Elasticsearch-Logstash-Kibana pipeline 以及基于 Debian 的易受攻击的 IoT container。设备端的 Python agent 提供文件恢复、凭证轮换、CVE 处理、未授权进程响应、服务恢复、暴力破解监控以及由 SQLite 支持的审计日志记录。通过执行受控的多阶段攻击,评估了可见性、遏制、恢复的正确性以及完整的 T0-T7 证据链。 ## 目录 - [架构](#architecture) - [仓库指南](#repository-guide) - [已记录的实现基线](#documented-implementation-baseline) - [主要网络和日志路径](#main-network-and-log-paths) - [闭环证据链](#closed-loop-evidence-chain) - [结果一览](#results-at-a-glance) - [实现产物](#implementation-artifacts) - [复现顺序](#reproduction-order) - [安全性](#safety) - [许可](#licensing) - [论文和引用](#paper-and-citation) ## 架构 ``` flowchart LR A["Kali attacker"] --> F1["Perimeter FortiGate"] F1 --> S1["Inline Linux IDS 1
Suricata + Filebeat"] S1 --> R["Cisco vIOS router"] R --> S2["Inline Linux IDS 2
Suricata + Filebeat"] S2 --> F2["Internal FortiGate"] F2 --> T["Protected and vulnerable targets"] S1 -. "5044" .-> L["Logstash"] S2 -. "5045" .-> L F1 -. "TCP syslog 5514" .-> L F2 -. "TCP syslog 5514" .-> L H["On-device self-healing"] -. "JSON 5000" .-> L L --> E["Elasticsearch"] E --> K["Kibana"] E --> O["SOAR decision layers"] O --> C["Containment / recovery trigger"] C --> F1 C --> F2 C --> H ``` EVE-NG 拓扑中显示的管理链路是带外访问路径;它们不是所检查的攻击者到目标数据路径的一部分。 ![显示边界防火墙、两个内联 Linux 检测节点、中央路由器、内部防火墙和目标的 EVE-NG 拓扑](https://static.pigsec.cn/wp-content/uploads/repos/cas/d7/d77634909a03a63bb079b18ca85963392bb732ce38fd33d1f9458f794c07c3a5.png) ## 仓库指南 | 区域 | 目的 | |---|---| | [网络基础设施](network-infra/README.md) | 防火墙边界、内联部署、路由、子网、VLAN 隔离、管理路径和流量流 | | [可见性层](visibility-layer/README.md) | 双 Suricata/Filebeat 采集与 ELK 摄取、归一化、索引和仪表盘展示 | | [Container 测试平台](container-testbed/README.md) | 易受攻击的 Debian container 创建、暴露的服务、配置、启动和网络 | | [自愈 agent](self-healing-agents/README.md) | FIM、恢复、凭证轮换、CVE 处理、进程策略、服务恢复、遥测和 SQLite 审计 | | [攻击场景](attack-scenarios/README.md) | 命令、证据预期、安全约束和 T0-T7 收集 | | [SOAR 集成](soar-integration/README.md) | 关于归一化证据和自愈事件如何连接到响应编排的总结 | | [结果](docs/results.md) | 来自最终文档的完整实时闭环和离线基准指标 | | [贡献声明](CONTRIBUTIONS.md) | 明确的个人贡献边界 | ## 实现产物 本仓库包含有源码支持的实现材料,而不仅是叙述性文档: | 贡献区域 | 包含的产物 | |---|---| | 网络基础设施 | Cisco vIOS 配置;两台 FortiGate 的接口/路由/策略/syslog 配置;EVE 和 ELK 的 ZeroTier 路由脚本;systemd 持久化;关键服务器寻址;双 IDS 桥接助手 | | 可见性 | 最终整合的 Suricata 本地规则;AF-Packet/EVE 片段;每个传感器的 Filebeat 配置;Suricata 模块配置;用于 `5044`、`5045` 的 Logstash 监听器,以及可靠的 FortiGate TCP `5514` | | Container 测试平台 | 有效的单 container 运行时脚本、Compose 转换、文档化的服务启动脚本、端口/攻击面映射表、检查点和验证程序 | | 自愈 | 原创的 Python agent;精确的 SQLite schema;外部 JSON 策略;有代码支持的配置加载器;经过脱敏处理的进程白名单示例 | 从 [network-infra/README.md](network-infra/README.md)、[visibility-layer/README.md](visibility-layer/README.md)、[container-testbed/README.md](container-testbed/README.md) 和 [self-healing-agents/README.md](self-healing-agents/README.md) 开始,获取文件级别的部署说明和来源边界。 ## 已记录的实现基线 | 组件 | 已记录的基线 | |---|---| | 网络靶场 | EVE-NG Community Edition v5.0.1-1 | | 防火墙 | 两台 FortiGate 实例:边界和内部边界;非 HA | | 路由 | Cisco vIOS 路由器 | | IDS | 在两个内联 Linux 节点上的 Suricata v6.0.13 | | 日志转发器 | 在两个 IDS 节点上的 Filebeat v8.9.0 | | SIEM pipeline | Elasticsearch、Logstash 和 Kibana v8.9.0 | | IoT container OS | Debian 12 Bookworm | | 基于规则的 SOAR 基线 | Python 3.9.2 和 Paramiko 2.11.0 | | 自愈持久化 | SQLite 以及结构化 JSON 事件文件 | ## 主要网络和日志路径 | 路径 | 功能 | |---|---| | `192.168.1.0/24` | Kali/Red Team 攻击网段 | | `10.0.0.0/24` | 由 Suricata 1 监控的边界 FortiGate 到核心的路径 | | `10.0.8.0/24` | 由 Suricata 2 监控的受保护侧检测网段 | | `10.0.7.0/24` | 关键目标网段;`10.0.7.2` 是记录在案的目标 | | `10.0.6.0/24` | ELK/Logstash 连接路径 | | `5044/tcp` | Filebeat/默认 Suricata 以及由 beat 转发的遥测输入 | | `5045/tcp` | 专用第二个 Suricata 输入 | | `5000/tcp` | 自愈结构化 JSON 输入 | | `5514/tcp` | FortiGate syslog 输入 | 最终报告中记录的其他实验室和管理路径包括 `10.0.1.0/24`、`10.0.3.0/24`、`10.0.5.0/24`、`10.0.10.0/24`、`192.168.193.0/24` 和 `192.168.195.0/24`。它们的作用在网络模块中有描述,而不是从简化的数据路径中推断出来的。 ## 闭环证据链 ``` flowchart TD T0["T0: Attack or fault triggered"] --> T1["T1: Raw IDS, firewall, host, or honeypot event"] T1 --> T2["T2: Normalized and enriched Elasticsearch record"] T2 --> T3["T3: SOAR decision record"] T3 --> T4["T4: Containment or response executed"] T4 --> T5["T5: Device recovery completed, when applicable"] T5 --> T6["T6: Trusted-state verification"] T6 --> T7["T7: Audit evidence stored"] T6 -. "verification failure" .-> T3 ``` ## 结果一览 - 评估的所有七个实时场景均完成了检测、富化、决策、响应/恢复、验证和审计阶段。 - Suricata + ELK 在记录的攻击家族中实现了 **86.71% 的宏平均召回率**。 - 该框架在 34 个评估的恢复、遏制或安全升级案例中实现了 **30 个成功结果 (88.24%)**。 - 平均检测到采取行动的延迟为 **21.95 秒**;平均从行动到 playbook 遏制的时间为 **2.70 秒**;平均总闭环延迟为 **25.50 秒**。 - 详细结果、分母、P95 值、分类数据、策略指标以及实时与离线测量的区分在 [docs/results.md](docs/results.md) 中。 ## 复现顺序 1. 构建隔离的 EVE-NG 拓扑和 [network-infra/README.md](network-infra/README.md) 中描述的管理可达性。 2. 配置两个防火墙边界、路由和两个内联 Linux 网桥。 3. 在每个检测节点上部署 Suricata 和 Filebeat,然后验证独立的 `5044` 和 `5045` Logstash 输入。 4. 部署 Elasticsearch、Logstash 和 Kibana,并在添加响应逻辑之前验证特定于源的索引。 5. 使用 [container-testbed/README.md](container-testbed/README.md) 构建易受攻击的 container 环境。 6. 使用 [self-healing-agents/README.md](self-healing-agents/README.md) 安装并初始化自愈 agent。 7. 仅在隔离的实验室内运行 [attack-scenarios/README.md](attack-scenarios/README.md) 中的受控场景。 8. 记录 T0-T7 证据,并使用 [docs/results.md](docs/results.md) 比较结果。 ## 安全性 本仓库记录了故意设计的易受攻击的服务和主动攻击命令。仅在您拥有或获得明确授权进行测试的系统上的隔离 EVE-NG/Docker 网络靶场中运行它们。请勿将易受攻击的 container、管理接口、默认凭证或攻击服务暴露给生产网络或公共互联网。 ## 许可 原创代码采用 MIT 许可协议授权,原创文档/图表采用 CC BY 4.0 授权。已接受的稿件、第三方规则/软件、供应商接口、屏幕截图和商标均不受重新授权的限制。请参阅 [LICENSE](LICENSE)、[LICENSE-CODE](LICENSE-CODE) 和 [LICENSE-DOCUMENTATION](LICENSE-DOCUMENTATION)。 ## 论文和引用 已接受的稿件包含在 [paper/ieee-3scea-2026-accepted-paper.pdf](paper/ieee-3scea-2026-accepted-paper.pdf) 中。在准备仓库时,发布元数据和 DOI 尚不可用;请在 IEEE Xplore 发布记录后更新 [CITATION.cff](CITATION.cff)。
标签:ATT&CK评估, HTTP工具, Metaprompt, SOAR, 入侵检测系统, 内容过滤, 安全数据湖, 物联网安全, 网络弹性, 自愈系统, 蜜罐与靶场, 请求拦截, 越狱测试, 逆向工具