CIA Triad 实战 — 从能说到能用

学完 CIA Triad 课程的人都能背出来:Confidentiality, Integrity, Availability。 但能背 ≠ 能用。

CIA 真正的价值不是给考试用,是当成安全思考的母语。一旦内化,你看任何安全决策都会下意识拆成三个维度。

这篇是我自己用 CIA 拆问题的 3 个模式 + 6 个反直觉案例


3 个使用模式

模式 A:列控制项时逐项问”它服务哪个维度?”

当你看到一个长长的安全措施清单(防火墙、加密、备份、日志、MFA…),不要把它们当作”一堆好东西”。 每条都问一句:你主要在保护 C / I / A 哪个?

控制项主要服务
加密C —— 让看不到密钥的人看不懂
防火墙 / 网络分段C —— 限制谁能看
数字签名 / 日志完整性校验I —— 防篡改
HTTPS / VPNC + I —— 传输中防偷防改
备份 / 多副本 / 业务连续性A —— 出事能恢复
MFAC —— 防止冒充

这个习惯一养成,你设计安全方案时不会偏科 —— 比如不会光想着加密(C),忘了备份(A)。

模式 B:评估事件时问”它打的是哪一边?”

每个安全事件都能拆出”主攻方向”。理解了攻击的目标,响应优先级才对得起。

事件主攻防御重点
数据泄露(数据库被偷)C加密 + 访问控制
网站被改 / 数据被改I完整性校验 + WAF
DDoSA流量清洗 + CDN
勒索软件C + A备份 + 终端防护
BEC 商业邮件诈骗I(身份/信息被冒充)邮件签名 + 流程审核
内部员工偷数据C最小权限 + 审计日志

发生事件第一反应应该是:这次攻击让我的 C / I / A 各受了什么损失? 而不是手忙脚乱地”装更多防御”。

模式 C:设计 trade-off 时问”我在牺牲谁换谁?”

安全工作有个永恒矛盾 —— 加 C/I 经常牺牲 A。 不理解这点的人会做出蠢的决定。

决定拿到什么失去什么
全员强制 MFAC↑A↓(忘 token 进不去)
所有数据 加密C↑A↓(性能慢、密钥丢了就完蛋)
5 次错误密码锁账户C↑A↓(可被滥用做 DoS)
24×7 监控告警I/C↑团队精力↓(告警疲劳)

没有”全部更安全”的方案,只有”我愿意为 X 牺牲多少 Y”。 CIA 框架让你说得出来自己在 trade-off 什么。


6 个反直觉案例

新手最容易把 CIA 维度搞错。下面 6 个我见过的”啊原来不是 X 是 Y”:

1. 备份是 A,不是 C

很多人觉得”备份是为了安全”。安全什么? —— 不是为了保密(备份反而增加副本数,C 风险更高),是为了故障时能恢复(A)。 所以备份本身要加密 → 才能补回 C。

2. 日志完整性是 I,不是 C

日志的关键问题不是”别人能不能看到”(那是 C),而是”日志能不能被攻击者篡改”。 攻击者进系统第一件事就是删日志或改日志。完整性校验(只可追加 / 远程实时同步)就是为 I 服务。

3. DDoS 是 A 攻击,不是 C 攻击

DDoS 不偷数据、不改数据 —— 它让你的服务无法对外提供。100% 攻 A。 所以防 DDoS 用 CDN / 流量清洗,不用加密。

4. 勒索软件 是 A 攻击为主,C 为辅

勒索软件加密你的数据 = 让你”无法访问”(A↓)。 近年的双重勒索还偷数据再加密(C↓ + A↓),但主要痛点仍然是 A —— 付不付赎金的核心问题是”我能不能恢复业务”。 良好的备份策略让 A 不沦陷,赎金不付也行。

5. 供应链攻击 主要打 I,不是 C

攻击者污染上游 npm 包 / 依赖库,让你的应用跑了被植入的代码。 表面像 C 问题(数据被偷),本质是 I 问题 —— 你跑的代码不再是”你以为的代码”。 防御重点是依赖审计 + 签名验证,不是加密。

6. 身份冒充类攻击主要打 I

钓鱼BEC定向钓鱼 —— 这些攻击的核心不是偷数据, 是让你相信一个虚假的发件人或网站。这是身份/信息的完整性(I) 失效。 所以邮件签名、域名锁、流程多人审核才是对症的防御。


怎么练这种思维

学完CIA Triad概念 ≠ 内化。强行用 30 次才会成习惯:

  1. 每次看到一篇安全新闻 / 一个安全产品介绍,先在脑子里给它打 C/I/A 标签
  2. 自己在做 SaaS / 给客户做方案时,画一张控制项 × CIA 维度的表,看哪一列空了
  3. 跟同事讨论安全话题时,主动用 CIA 词汇造句(“这个设计 C 太强 A 太弱”)

3 周后就会发现:你已经在用 CIA 思考了,而不是用 CIA 答题。


相关概念: CIA Triad · Confidentiality · Integrity · Availability · Risk