tjackson8817/OT-IR-Companion
GitHub: tjackson8817/OT-IR-Companion
一款纯前端、离线运行的 OT/ICS 事件响应引导助手,提供决策树驱动的抑制建议、操作手册匹配、监管截止时间追踪及合规事件记录导出。
Stars: 0 | Forks: 0
# OT 事件响应助手
一款免费的、基于 Web 的 OT/ICS 事件响应引导助手。无需构建步骤,无需后端 —— 直接在浏览器中打开 `index.html`,或托管在 GitHub Pages 上。
**由 Sale Fish Marketing and Consulting 构建。**
## 功能简介
- **引导式抑制决策树** — 将配套的 OT 网络安全技术参考(第 7.2 节)中安全第一的抑制逻辑数字化。只需点击几下即可产生清晰的抑制建议,并且 —— 在结果明确指向某个操作手册的情况下 —— **会自动推荐匹配的操作手册**(例如,与 SIS 相邻的升级事件会推荐 SIS 相邻事件操作手册),从而使这两个功能作为一个整体流程运行,而不是两个脱节的步骤。
- **七套操作手册** — 包含最初六个基于触发条件的场景(未经授权的远程访问、未经授权的控制命令、抑制响应功能活动、可疑的发现活动、源于 IT 的勒索软件、SIS 相邻事件),外加一个**通用首次响应**兜底方案,用于无法明确匹配任何特定触发条件的事件 —— 这样就不会仅仅因为某个选项是六个中最接近的,而迫使他人套用不合适的操作手册。
- **在录入时获取角色信息** — 事件指挥官、安全官员和安全主管,这些信息会显示在整个工作区中,并包含在导出记录的审批块中。
- **实时的决策耗时指标** — “识别后流逝时间”时钟,并且一旦做出抑制决策,就会显示“抑制决策耗时”数据,这两者在整个事件过程中及导出文件中均可见。
- **监管报告截止时间追踪** — 针对 NERC CIP-008-6 和 TSA 管道安全指令的实时倒计时,并正确内置了“判定”与“识别”之间的细微差别(详见下文的“关于监管截止时间”)。
- **截止时间警报** — 一个可选择的“启用截止时间警报”按钮,会在任何截止时间进入危险区(剩余时间不足总窗口时间的 10%)的瞬间开启声音提示和浏览器标签页标题闪烁,外加一个可选的浏览器通知 —— 这样在长达数小时的事件中,后台标签页上无声的颜色变化就不会成为唯一的警告。
- **事后审查标签页** — 根本原因、经验教训以及后续行动追踪器(行动 / 负责人 / 截止日期 / 状态),弥补了最初构建版本中缺失的闭环功能。
- **仪表板上的项目指标** — 一旦您记录了多个事件,一个汇总面板将显示整个事件历史中的平均抑制决策耗时、监管截止时间合规率、最常用操作手册以及严重性细分。
- **自动带有时间戳的事件日志**,同时支持手动添加条目。
- **一键导出具备法律效力的事件记录 (.doc)** — 现在包含自动生成的执行摘要段落、角色信息、事后审查,以及最初构建版本中的所有内容(截止时间状态、决策路径、操作手册完成情况、完整日志、签名区)。
- **完全离线工作。** 根本没有任何外部 JS 依赖。
- **所有数据都保留在您的浏览器中。** 无需服务器,无需账户,无数据分析。
## 快速开始
直接打开 `index.html`,或者按照与配套评估工具相同的方式将其托管在 GitHub Pages 上(有关 GitHub Pages 的详细操作步骤,请参阅该工具的 README —— 流程完全相同)。
## 项目结构
```
index.html Main app shell (dashboard, intake, workspace)
css/style.css Design system (same control-room theme as the Assessment Tool, shifted toward urgency)
data/playbooks.js Six incident playbooks (trigger, severity, first actions, containment, eradication, recovery, owner)
data/deadlines.js NERC CIP-008-6 and TSA Pipeline reporting deadline definitions
data/decision-tree.js The containment decision tree logic (questions, branches, outcomes)
js/app.js State management, navigation, live deadline countdowns, decision tree/playbook/log rendering
js/export-doc.js Generates the Word-compatible incident record export
```
## 关于监管截止时间 —— 在依赖此功能前请阅读本文
此工具追踪的是**您自己的内部时钟**,对照的是您有责任满足的报告截止时间。**它不会代您提交任何内容** —— 您仍然需要通过您组织的实际渠道(NERC 通过 E-ISAC/CISA,TSA 通过 CISA)进行报告。
刻意内置了两个细微差别,因为弄错它们就失去了工具的意义:
1. **NERC CIP-008-6 的 1 小时倒计时从*判定*开始,而不是检测。** 该标准明确规定,倒计时从您确定事件符合“可报告网络安全事件”标准时开始 —— 而不是在首次发现异常的那一刻。此工具**不会**在创建事件时自动启动该倒计时;一旦做出了实际判定,您必须明确点击“标记为 NERC 可报告”(或针对独立的、较轻量级的、截止于下一个日历日结束的倒计时点击“标记为 NERC 试图入侵”)。
2. **TSA 的 24 小时倒计时从识别开始**,指令将其视为与事件创建基本相同的时刻 —— 因此当在录入时选择了 TSA 适用性,此工具会自动启动该倒计时。
**监管报告要求会不断修订。** `data/deadlines.js` 中的具体小时数和引用反映了截至本工具版本日期(显示在应用页眉和每次导出文件中)当前的指令/标准原文。在依赖此工具进行实际的监管判定之前,请先在 nerc.com 和 tsa.gov/sd-and-ea 确认当前要求 —— 明确声明这不构成法律或监管建议。
## 已知限制(设计使然)
- **单设备,而非多用户。** 所有事件数据都存在于一个浏览器的本地存储中。真实的事件通常涉及多人同时行动(安全官员、SOC 分析师、事件指挥官),但只有打开此特定浏览器标签页的人才能实时更新日志。请使用 JSON 导出/导入功能在设备或人员之间进行交接,但不存在实时的共享状态。构建真正的多用户支持需要后端服务器 —— 这将破坏此工具的核心设计原则,即数据绝不离开您的浏览器。这是经过深思熟虑的权衡,绝非疏忽。
- **截止时间警报需要点击一次。** 如果没有先前的用户交互,浏览器会阻止音频和通知的触发,因此请在需要之前,在每个会话中点击一次“启用截止时间警报” —— 它无法在页面加载时自动开启。
## 扩展操作手册库
编辑 `data/playbooks.js` 以添加场景或完善现有场景 —— 每个场景都遵循简单的结构(触发条件、严重程度、四个行动组数组、负责人)。如果贵组织的实际决策标准与参考文档的默认决策树不同,请编辑 `data/decision-tree.js` 以调整抑制逻辑。
## 许可证 / 署名
由 Sale Fish Marketing and Consulting 编写。可自由改编以供自用。
标签:osquery, PKINIT, 云安全态势管理, 前端应用, 多模态安全, 工控安全, 库, 应急响应, 数据可视化, 无后端, 自定义脚本, 运维安全