《安全生命周期全流程解析》
第2章 安全需求分析
2、安全需求分析:业务安全需求、合规性需求、威胁建模入门、安全需求文档编写
2.1 业务安全需求
业务安全需求是安全工作的起点,它回答一个核心问题:“业务在运行过程中,哪些资产需要保护?面临哪些风险?” 我们需要从业务目标、业务流程、数据流转三个维度进行梳理。
📋 业务安全需求清单(示例)
| 业务场景 | 安全需求 | 优先级 |
|---|---|---|
| 用户注册/登录 | 防暴力破解、多因素认证 | P0 |
| 支付交易 | 交易签名、防重放、金额校验 | P0 |
| 个人数据导出 | 数据脱敏、操作审计、权限管控 | P1 |
| 后台管理 | IP白名单、会话超时、日志记录 | P1 |
🎯 业务安全需求分析三步法
- 资产识别 — 列出业务中的核心数据、系统、接口
- 威胁识别 — 谁可能攻击?攻击路径是什么?
- 需求转化 — 将威胁转化为可落地的安全控制措施
2.2 合规性需求
合规性需求是安全工作的底线。不同行业、不同地区有对应的法律法规和监管要求。常见的合规框架包括:
📜 国内法规
- 《网络安全法》
- 《数据安全法》
- 《个人信息保护法》
- 《等级保护2.0》
🌍 国际标准
- ISO 27001
- GDPR(欧盟)
- PCI-DSS(支付行业)
- HIPAA(医疗行业)
🔍 合规映射示例
- 数据加密 → 等保三级要求
- 日志留存6个月 → 网安法
- 用户删除权 → 个保法
2.3 威胁建模入门
威胁建模是一种系统化的方法,用于识别、评估和缓解系统面临的安全威胁。最经典的模型是 STRIDE(微软提出)和 PASTA。这里我们重点介绍 STRIDE。
🔐 STRIDE 威胁分类
| 缩写 | 威胁类型 | 示例 |
|---|---|---|
| S | Spoofing(假冒) | 伪造用户身份 |
| T | Tampering(篡改) | 修改传输数据 |
| R | Repudiation(抵赖) | 否认操作行为 |
| I | Info Disclosure(信息泄露) | 数据库泄露 |
| D | Denial of Service(拒绝服务) | DDoS攻击 |
| E | Elevation of Privilege(权限提升) | 越权操作 |
📝 威胁建模四步法
- 绘制数据流图 — 展示系统组件与数据流向
- 识别威胁 — 对每个数据流应用STRIDE
- 评估风险 — 使用DREAD或CVSS打分
- 制定缓解措施 — 针对高优先级威胁
2.4 安全需求文档编写
安全需求文档是沟通的桥梁,它将安全分析结果转化为开发、测试、运维团队都能理解的语言。一份优秀的安全需求文档应包含以下要素:
📄 安全需求文档模板结构
- 1. 需求编号 — SEC-REQ-001
- 2. 需求描述 — 清晰、无歧义的一句话
- 3. 来源 — 业务需求 / 合规要求 / 威胁建模
- 4. 优先级 — P0/P1/P2
- 5. 验收标准 — 如何验证需求已满足
- 6. 关联风险 — 对应的威胁或漏洞
✍️ 编写示例
SEC-REQ-012:登录接口防暴力破解
描述:登录接口在连续5次失败后,需锁定账号15分钟。
来源:业务安全需求(防撞库攻击)
优先级:P0
验收标准:使用自动化工具测试,连续5次错误密码后
返回429状态码,且账号无法登录。
关联威胁:Spoofing(假冒身份攻击)
📌 本章核心要点
- 业务安全需求 — 从业务目标出发,识别资产与威胁,输出控制措施。
- 合规性需求 — 以法律法规为底线,进行映射分析与差距整改。
- 威胁建模入门 — 使用STRIDE分类,通过数据流图系统化识别威胁。
- 安全需求文档 — 结构化、可验证、可追溯,是安全落地的关键载体。