AshwinNHacker/chainsentry

GitHub: AshwinNHacker/chainsentry

ChainSentry 是一个演示级检测工程与 SOAR 平台,通过 Sigma 风格规则和滚动时间窗口的多阶段攻击链关联,将海量单事件告警过滤为可操作的入侵链路并自动触发响应 playbook。

Stars: 2 | Forks: 0

# ChainSentry **检测工程 + 自动化响应,从原始事件到触发的 playbook —— 每一个决策都映射到 MITRE ATT&CK。** 大多数检测工具会在单个事件上报警。真实的入侵很少 在任何一个步骤上看起来动静很大 —— 先是一个 `whoami`,然后是 LSASS 访问,接着 是一个计划任务,然后是一次大量的出站传输,彼此间隔数小时, 每一个单独看都能解释得通。ChainSentry 是一个从零开始构建的、可运行的 演示,展示了真实的检测工程和 SOAR (安全编排、自动化和响应)团队所构建的内容: Sigma 风格的规则匹配、在滚动时间窗口内的多阶段攻击链关联, 以及自动化响应 playbook —— 这些是 Splunk ES、Elastic Security 和 Palo Alto Cortex XSOAR 等工具背后的 真正的蓝队准则。 ## 为什么会有这个项目 淹没在单事件警报中的 SOC 分析师无法从背景噪音中分辨出 真实的入侵。ChainSentry 的关联引擎会 随时间追踪每台主机的匹配检测,并且仅在一个序列跨越多个 不同的 MITRE ATT&CK 战术时才会升级 —— 侦察, 然后是凭证访问,然后是持久化,然后是外传 —— 就像 真实的杀伤链展开那样。一旦该攻击链得到确认,一个独立的 编排服务将根据严重程度和涉及的战术,决定 触发哪些自动化响应行动。 ## 它的功能 - 将原始安全事件与 **5 条受 Sigma 启发的 YAML 规则**进行匹配, 涵盖编码的 PowerShell 执行、LSASS 凭证转储、 计划任务持久化、侦察命令以及大量 出站数据传输 —— 每条都映射到一个 **MITRE ATT&CK 战术和 技术 ID** - **在滚动时间窗口内,将匹配结果按主机关联成多阶段攻击链**, 按标准杀伤链位置排序 - **根据攻击链的严重程度和战术触发自动化响应 playbook**(主机隔离、账户 禁用、目标阻断)—— 所有操作均通过 `/audit-log` 进行全面 审计 - 附带一个**真实的合成攻击场景**(侦察 → 凭证 转储 → 持久化 → 外传),以演示端到端的完整 pipeline, 以及用于证明零误报的无害噪音 ## 架构 两个服务,一条 pipeline:检测 -> 关联 -> 响应。请参阅 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) 获取完整图表, 以及 [`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md) 了解具体哪些是 模拟的、哪些是真实的 —— **所有响应 playbook 都是模拟/记录的, 并未接入真实的基础设施**,这是经过刻意设计的。 ``` Dashboard (HTML/JS) → Detection Engine (Python/Flask, Sigma-style rules + chain correlation) → Response Orchestrator (Node.js, zero deps, SOAR playbooks) ``` ## 快速开始 **1. 启动检测引擎:** ``` cd detection-engine pip install -r requirements.txt python app.py # serves on :5003 ``` **2. 启动响应编排器(Node.js,零依赖):** ``` cd response-orchestrator node server.js # serves on :4200 ``` **3. 打开控制台:** ``` cd dashboard python3 -m http.server 8082 ``` 访问 `http://localhost:8082` 并点击 **Run attack scenario** 以 观察一个完整的 5 阶段入侵如何被检测、关联成攻击链, 并触发自动化响应 —— 然后点击 **Run benign noise** 以 确认它不会对普通活动产生误报。 **或者直接使用 curl 驱动:** ``` curl -X POST http://localhost:5003/events -H "Content-Type: application/json" -d '{ "category": "process_access", "host": "WORKSTATION-07", "target_process": "lsass.exe", "source_process": "unusual_tool.exe", "access_mask": "0x1010" }' ``` ## 测试 ``` # Detection engine (Python) — 12 项测试,涵盖 rule matching + chain correlation cd detection-engine && python -m pytest tests/ -v # Response orchestrator (Node.js,无 framework) cd response-orchestrator && node tests/run_tests.js ``` ## 项目布局 ``` detection-engine/ Python — Flask API + Sigma-style rule engine rules/*.yml 5 detection rules mapped to MITRE ATT&CK engine.py Rule loading + matching logic attack_chain.py Multi-stage chain correlation data/generate_scenario.py Synthetic attack + benign-noise generator app.py Flask API (/events, /rules, /health) response-orchestrator/ Node.js — zero-dependency SOAR layer server.js HTTP server (/chains, /audit-log, /health) src/playbooks/ isolate_host, disable_account, block_destination (all simulated) src/playbooks/selector.js Severity/tactic → playbook mapping dashboard/ Static HTML/JS SOC dashboard docs/ Threat model + architecture rationale ``` ## 重要声明 - **所有响应动作都是模拟的** —— 请参阅 `docs/THREAT_MODEL.md` 了解每个 playbook 记录的具体内容以及真实集成 所需的具体要求。 - **所有事件数据都是合成的**,基于公开记录的 MITRE ATT&CK 技术建模,不涉及任何真实的事件或组织。 - **这不是一个兼容 Sigma 规范的引擎** —— 该规则格式 受 Sigma 启发以提高可读性,并非完整的实现。 - 这是一个**作品集/演示项目**。生产环境的检测 工程需要针对真实的遥测数据进行持续调优以 管理误报率,而本项目并未尝试对此 进行真实的模拟。 ## 许可证 MIT
标签:DNS 反向解析, MITM代理, SOAR, 多模态安全, 安全规则引擎, 安全运营, 扫描框架, 数据可视化, 自动化响应, 逆向工具