Hussam-131/OTDefender-AI-Incident-Response-OT-ICS
GitHub: Hussam-131/OTDefender-AI-Incident-Response-OT-ICS
面向 OT/ICS 环境的 AI 辅助事件响应系统,通过本地大模型将安全事件映射到 MITRE ATT&CK for ICS 框架并生成符合行业规范的响应建议。
Stars: 1 | Forks: 0

# OTDefender:面向 OT/ICS 的 AI 辅助事件响应
一款面向运营技术 (OT) 和工业控制系统 (ICS) 环境中安全分析师的 AI 辅助决策支持工具。该系统对事件进行分类,将攻击映射到 MITRE ATT&CK for ICS,并生成结构化的、符合 OT 安全规范的事件响应建议。
## 团队成员
| # | 姓名 | 角色 |
|---|------|------|
| 1 | Hussam A. Almajnuni | 负责人 |
| 2 | Yazan S. Mousa | 成员 |
| 3 | Turki A. Ammari | 成员 |
| 4 | Almuthanna Y. Alyousef | 成员 |
| 5 | Ahmed Y. Alfayez | 成员 |
**指导老师:** Dr. Rami M. Mohammad
## 第一学期(2025 年 9 月 - 2026 年 1 月)
### 已完成工作
第一学期侧重于研究、需求工程和完整的系统设计:
#### 第 1 阶段:选题与提案(2025 年 9 月 1 日 - 9 月 18 日)
- 明确了 OT/ICS 环境中 AI 辅助事件响应领域的空白
- 定义了与 NIST SP 800-61 和 MITRE ATT&CK for ICS 保持一致的项目范围和目标
- 提案经由指导老师审核并获批
#### 第 2 阶段:文献综述(2025 年 9 月 21 日 - 10 月 2 日)
- 调研了现有的 ICS/SCADA 安全事件响应工具和框架
- 回顾了 NIST SP 800-61、IEC 62443、MITRE ATT&CK for ICS 以及 OTCC(沙特 NCA)
- 明确了当前解决方案的局限性:缺乏 OT 上下文、依赖云服务、无本地 AI
#### 第 3 阶段:需求规格说明(2025 年 10 月 5 日 - 10 月 23 日)
- 定义了功能性需求:事件分类、MITRE 战术映射、结构化响应生成
- 定义了非功能性需求:纯本地推理、人机协同、基于角色的访问控制
- 记录了七种事件分类类别和四个风险等级
#### 第 4 阶段:系统架构与设计(2025 年 10 月 26 日 - 11 月 27 日)
- 设计了全栈架构:React + TypeScript 前端,Python FastAPI 后端,Ollama 本地 LLM
- 设计了基于角色的访问控制(分析师 / 管理员)
- 绘制了系统架构图和数据流规范
#### 第 5 阶段:期末报告与答辩(2025 年 11 月 30 日 - 2026 年 1 月 9 日)
- 完成了第一学期期末报告,记录了所有设计决策和需求
- 向学院委员会进行了最终答辩
### 总结
第一学期通过研究、需求分析和详细的系统设计,建立了 OTDefender 的完整基础。主要交付成果包括:
- 项目提案及审批
- 文献综述与差距分析
- 系统需求规格说明书 (SRS)
- 包含架构图的系统设计规格说明
- 第一学期期末报告与答辩
## 第二学期(2026 年 2 月 - 2026 年 6 月)
### 已完成及计划工作
第二学期侧重于全栈实现、本地 AI 集成、测试和部署:
#### 第 1 阶段:前端开发(2026 年 2 月 1 日 - 2 月 19 日)
- 使用 React + TypeScript + Vite 构建了包含全部六个页面的前端:Login(登录)、Home(主页)、IncidentInput(事件输入)、ResponseOutput(响应输出)、CaseBoard(案例看板)、Reports(报告)
- 实现了基于角色的访问控制(分析师 / 管理员)
- 设计了通过手动描述、日志上传或引导式问卷进行的事件输入方式
- 构建了带有 localStorage 持久化的案例管理功能
#### 第 2 阶段:后端开发与 AI 集成(2026 年 2 月 22 日 - 3 月 12 日)
- 使用 `/analyze` 端点和 `/health` 检查功能构建了 Python FastAPI 后端
- 集成 Ollama 实现完全本地化的 LLM 推理 —— 无 OT 数据流出本机
- 设计了符合 NIST SP 800-61 和 MITRE ATT&CK for ICS 的 OT 感知提示词(Prompt)
- 用本地后端 API 替代了对云 AI 的依赖
- 添加了 CORS 配置以确保仅限安全的 localhost 通信
#### 第 3 阶段:项目重构与版本控制(2026 年 3 月 15 日 - 4 月 3 日)
- 将项目重组为标准的全栈结构(`/frontend`、`/backend`)
- 初始化 Git 仓库并推送到私有 GitHub
- 配置 `.gitignore` 以排除密钥、环境文件和构建产物
#### 第 4 阶段:测试与验证(2026 年 4 月 6 日 - 4 月 24 日)
- 端到端流程测试:事件输入 → Ollama 推理 → 结构化响应输出
- 根据定义的 `AnalysisResult` 契约验证 AI 响应 schema
- 基于角色的访问控制测试(管理员视图 vs 分析师视图)
- Ollama 不可用时的离线和模拟回退测试
#### 第 5 阶段:案例持久化与报告(2026 年 4 月 27 日 - 5 月 14 日)
- 将案例存储从 localStorage 迁移到后端 JSON/SQLite 持久化
- 增强管理员报告页面,支持后端生成的导出功能
#### 第 6 阶段:期末报告与答辩(2026 年 5 月 17 日 - 6 月 12 日)
- 完成第二学期期末报告
- 准备并进行最终项目答辩和演示
### 技术与工具
- **前端:** React 19, TypeScript, Vite, Tailwind CSS
- **后端:** Python, FastAPI, Uvicorn
- **本地 AI:** Ollama (llama3 / mistral) —— 无云推理
- **框架:** NIST SP 800-61, MITRE ATT&CK for ICS, IEC 62443, OTCC (Saudi NCA)
- **版本控制:** Git / GitHub
### 预期交付成果
- 功能完备的 AI 辅助事件响应系统
- 通过 Ollama 集成具备 OT 感知提示词的本地 LLM
- 基于角色的 Web 界面(分析师和管理员)
- 映射到 MITRE ATT&CK for ICS 的结构化事件响应输出
- 案例管理和管理员报告模块
- 后端案例持久化 (JSON/SQLite)
- 第二学期期末报告
- 最终项目答辩和演示
- GitHub 上的源代码仓库
## 项目时间表
**整体周期:** 2025 年 9 月 1 日 - 2026 年 6 月 12 日
- **第一学期(2025 年 9 月 - 2026 年 1 月):** 研究、需求工程和系统设计
- **第二学期(2026 年 2 月 - 2026 年 6 月):** 实现、测试、部署和答辩
## 许可证
本项目是在伊玛目阿卜杜拉赫曼·本·费萨尔大学 (IAU) 攻读网络安全与数字取证理学学士学位所需条件的部分提交材料 —— CYS 508 毕业设计。
标签:AI风险缓解, AV绕过, DInvoke, DLL 劫持, FastAPI, ICS安全, IEC 62443, LLM评估, NIST, Ollama, OT安全, PKINIT, Python, React, SCADA安全, Syscalls, 人工智能, 人机协同, 关键基础设施, 大语言模型, 工控安全, 攻击映射, 无后门, 本地化推理, 用户模式Hook绕过, 网络安全, 自动化攻击, 辅助决策, 逆向工具, 隐私保护, 风险分类