mgifford10/Threat-Tracking-Database-
GitHub: mgifford10/Threat-Tracking-Database-
一个基于MySQL和Power BI的威胁情报与事件追踪系统,用于建模全球威胁、行为者和缓解措施,支持风险分析和决策制定。
Stars: 0 | Forks: 0
概述
---
本项目作为 MSBA 课程的一部分完成,侧重于设计、实施和分析一个受私营政府咨询及情报驱动的安全组织运营环境启发的威胁情报与事件追踪系统。
该项目的目标是展示端到端的数据技能,包括关系数据库设计、SQL 实现、高级查询和数据可视化。最终系统对全球威胁、威胁行为者、地理区域和缓解措施进行了建模,并通过旨在支持风险分析和决策制定的动态 Power BI 仪表板呈现见解。
概念设计
---
项目从开发实体关系(ER)图开始,识别出支持现实威胁情报工作流所需的实体。核心实体 Threats 被设计为通过一对多关系连接到支持实体。
关键设计考虑因素包括:
• 实体的清晰分离以减少冗余
• 逻辑外键关系以支持复杂分析
• 可扩展性以允许现实的威胁报告
关系模型
---
ER 图被转换为由以下表组成的关系模型:
• Threats(中心表)
• Threat_Categories
• Regions
• Threat_Actors
• Mitigation_Actions
为每个表定义了主键,并实现了外键以强制引用完整性。此结构支持跨地理、行为者类型、严重程度、可能性和缓解状态的多维分析。
实现与数据填充
---
数据库实现
---
数据库 schema 使用 MySQL 实现,为每个属性选择了适当的数据类型。应用了外键约束以保持关系完整性,并支持分析期间的准确连接。
数据填充
---
为了模拟现实的操作环境,表中填充了在 LLM(Microsoft Copilot)协助下生成的虚构但结构化的数据。该数据集代表:
• 跨多个区域的全球威胁事件
• 多样的行为者类型(即国家行为者、网络犯罪团伙、激进组织)
• 威胁严重程度和可能性评分
• 在适用情况下,每个威胁的多种缓解措施
SQL 查询与分析
---
开发了一系列共 20 个 SQL 查询以从数据库中提取见解,范围从简单的过滤器到高级的分析结构。这些查询展示了在分析和安全咨询角色中常用的实用 SQL 技能。
使用的关键查询技术
---
• 聚合查询(COUNT、AVG)
• EXISTS 和 NOT EXISTS 用于评估缓解覆盖范围
• 公用表表达式(CTEs)用于趋势分析和排名
• 视图用于简化 recurring high value 查询
• 排名和排序逻辑用于优先处理威胁和区域
解答的示例分析问题
---
• 哪些威胁的严重程度或可能性最高?
• 哪些区域经历的威胁数量最多?
• 哪些威胁未分配缓解措施?
• 哪些威胁需要多种缓解措施?
• 哪些区域代表最高的累积风险?
这些查询支持对安全风险进行操作和战略分析。
标签:ER图设计, MSBA课程, Power BI, SQL实现, Zenmap, 事件追踪系统, 关系数据库设计, 关系模型, 决策支持, 动态仪表板, 商业分析, 地理区域, 外键约束, 多线程, 多维分析, 威胁分类, 威胁建模, 威胁情报, 威胁行为者, 安全咨询, 实体关系模型, 开发者工具, 情报驱动安全, 政府咨询, 数据完整性, 数据工程, 数据库填充, 数据库建模, 数据技能, 缓解措施, 网络安全, 隐私保护, 风险分析, 高级查询