🏗️ A04 不安全设计 & A09 日志监控

章节 01-05安全设计日志监控威胁建模

📌 一句话概括

A04(不安全设计)强调安全需要从架构设计阶段介入而非仅靠代码扫描,A09(日志监控失效)则关注系统是否有能力发现并追溯攻击行为——一个是"防患于未然",一个是"事发能感知"。

💡 A04 不安全设计

① 不安全设计 vs 安全实现缺陷

② 常见不安全设计

💡 A09 日志监控失效

③ 三要素

🔍 测试实战

1. 威胁建模评审(A04)

操作:使用 STRIDE 模型对系统架构进行威胁建模评审,识别设计阶段的安全弱点

工具Microsoft Threat Modeling Tool、OWASP Threat Dragon

指标:威胁模型覆盖率、每模块威胁数量、高风险设计问题数

2. 日志完整性测试(A09)

操作:模拟攻击行为(多次失败登录、越权尝试),检查日志系统是否完整记录了事件类型、时间、来源IP、操作对象

工具:ELK Stack / Splunk 查询

指标:关键事件日志率(≥99%)、日志存储天数(≥180天)、告警响应时间

3. 速率限制测试

操作:1 秒内发送 100 次登录请求,观察第几次开始被限流

工具k6、wrk、自定义 Python 脚本

指标:触发限流的阈值、限流后 HTTP 状态码(429 Too Many Requests)

⚠️ 常见坑点

  1. 威胁建模文档化但未落地:评审报告写了 50 页,但开发团队从未按建议修改设计
  2. 日志只存不分析:日志量 TB 级但没有告警规则,攻击发生两周后才后知后觉
  3. 限流只限 Web 不限 API:核心交易接口缺少限流,被调用方压垮

📖 延伸阅读