imartinez-88/cybershield-360-azure-security-assessment

GitHub: imartinez-88/cybershield-360-azure-security-assessment

一份基于真实Azure环境的企业级云安全评估报告,涵盖NIST SP 800-171合规差距分析、STRIDE威胁建模和APT29攻击链根因分析。

Stars: 0 | Forks: 0

# 🛡️ CyberShield-360 — Azure 安全评估 ![Azure](https://img.shields.io/badge/Microsoft_Azure-0078D4?style=flat&logo=microsoftazure&logoColor=white) ![NIST](https://img.shields.io/badge/NIST_SP_800--171-grey?style=flat) ![FedRAMP](https://img.shields.io/badge/FedRAMP-Aligned-blue?style=flat) ![STRIDE](https://img.shields.io/badge/Threat_Model-STRIDE-red?style=flat) ## 📋 概述 这份 60 页的安全评估涵盖了 Azure Key Vault 架构、NIST SP 800-171 差距分析、STRIDE 威胁建模,以及针对 **2024 年 Midnight Blizzard (APT29) 违规事件**的全面根因分析。基于真实的 Azure for Students 环境构建——而非模拟环境。 📄 **[查看完整报告 (PDF)](./Microsoft_Azure_Security_Assessment.pdf)** ## 🔍 内容概览 | 章节 | 描述 | |---|---| | **风险评估** | 针对大型云环境的 NIST SP 800-30 与 OCTAVE Allegro 对比分析 | | **差距分析** | NIST SP 800-171 Rev.2 — AC、IA、SC、AU 控制族与 Azure Key Vault 的映射 | | **威胁建模** | STRIDE 分析 + 使用 OWASP Threat Dragon 绘制的 Azure Key Vault 身份验证工作流 DFD | | **违规分析** | APT29 / Midnight Blizzard 根因 — 密码喷洒 → OAuth 滥用 → 横向移动 | | **实战加固** | 真实 Azure 环境:RBAC、诊断日志、KQL 监控、MFA 强制执行 | | **Web 应用扫描** | 针对 Microsoft 面向公众的应用程序的 HTTP 安全标头评估 | ## 实战 Azure 环境 在真实配置的 Azure 环境上执行的安全加固: ``` Resource Group: cybershield-kv Key Vault: test-api-key Log Analytics: CyberSH-law Subscription: Azure for Students ``` **已配置的 RBAC 主体:** - `Isaac Martinez` — 所有者 + Key Vault 管理员(已继承) - `IsaacMartinez@MartinezIsaac` — 作用域限定为单一机密的 Key Vault 读取者(外部用户 + MFA) - `cybershield-app` — Key Vault 机密用户(服务主体) **用于实时监控的 KQL 查询:** ``` AzureDiagnostics | where ResourceType == "VAULTS" | take 10 ``` 在 24 小时窗口内验证的操作:`SecretGet` · `SecretList` · `VaultGet` · `SecretListVersions` · `SecretResourceGet` ## STRIDE 威胁模型 | 类别 | 组件 | 威胁 | |---|---|---| | **欺骗** | API / 身份验证流程 | OAuth 伪造和 JWT 重放攻击 | | **篡改** | Azure Key Vault | 未经授权的 KEK 和 DEK 密钥材料轮换/删除 | | **否认** | Azure Monitor | 操纵审计日志以掩盖访问活动 | | **信息泄露** | Azure Key Vault | 因策略配置错误导致的机密信息暴露 | | **拒绝服务** | Key Vault Endpoint | 通过端点泛洪破坏可用性 | | **权限提升** | Azure Entra ID | 通过配置错误的 AD 策略进行权限提升 | ## Midnight Blizzard 违规事件 — 攻击链 ``` Password spraying against legacy test accounts (no MFA) ↓ Entra ID manipulation — attacker adds own credentials to compromised accounts ↓ Custom OAuth POST requests → authenticated token generation ↓ full_access_as_app Exchange permission → corporate mailbox access ↓ Senior leadership email accounts compromised ``` 相同的攻击向量曾在 2023 年被用于攻击 HPE。分析结果直接反馈至加固步骤中。 ## 已识别的差距与补救措施 | 风险 | 差距 | 时间线 | |---|---|---| | 🔴 高 | 未强制要求 HSM 支持的密钥存储 — 软件层不符合 FIPS 140-2 标准 | 0–30 天 | | 🔴 高 | RBAC 最小权限原则在不同承包商租户间不一致 | 0–30 天 | | 🔴 高 | Monitor/Sentinel 间的审计日志保留策略未标准化 | 30–60 天 | | 🟡 中 | 未通过条件访问在所有账户上强制执行 MFA | 30–60 天 | | 🟡 中 | 缺少自动化的 Key Vault 访问权限重新认证审查 | 60–90 天 | ## 技术栈 `Microsoft Azure` `Azure Key Vault` `Microsoft Entra ID` `Azure Monitor` `Microsoft Sentinel` `Azure Policy` `Microsoft Defender for Cloud` `OWASP Threat Dragon` `KQL` `FIPS 140-2` ## 截图 **KQL 实时查询输出** ![KQL 输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6c5cc8c7bd233916.png) **IAM 角色分配与所有权层级结构** ![所有权层级结构](https://raw.githubusercontent.com/imartinez-88/cybershield-360-azure-security-assessment/main/screenshots/Ownership_Hierarchy.webp) **Azure Log Analytics 工作区** ![Log Analytics](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/04b070a5e0233918.png) **OWASP Threat Dragon DFD** ![DFD OWASP 模型](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/58af1f0b8d233919.png) **Azure Key Vault DFD** ![DFD AKV](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f49d75c41c233920.png) ## **风险时间线** ![风险时间线](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8ffa246a74233921.png) ## 作者 **Isaac Martinez** — [@imartinez-88](https://github.com/imartinez-88)
标签:APT29, Azure Key Vault, FedRAMP, GitHub Advanced Security, HTTP安全头, KQL, Log Analytics, Modbus, NIST SP 800-171, OAuth令牌滥用, PE 加载器, RBAC加固, STRIDE模型, 午夜暴风雪, 反取证, 合规性分析, 基于角色的访问控制, 多因素认证, 威胁建模, 安全加固, 安全评估, 密码喷洒, 差距分析, 微软Azure, 数据泄露分析, 根因分析, 横向移动, 编程规范, 网络安全, 隐私保护, 风险管控