开篇:安全的四个第一性维度——资产、威胁、脆弱性、影响

这篇是整份手册真正的地基。先说明:上一版的”看、想、做、守”是我偷懒了——那是 agent 任务的通用动作维度,不是安全自己的维度。这一版,重新为安全定义它专属的第一性拆解。


一、先认个错,再说清一件事

上次我把”看、想、做”搬过来,加了个”守”,凑成”看想做守”。看着整齐,但它有个根本问题:

“看、想、做”回答的是”一个系统怎么干活”(观察 → 判断 → 行动),是任何领域都能套的通用动作维度。它不回答安全最本质的问题——“一个安全问题,到底由什么构成?”

你想想,你进安全部门,天天面对的是”这个漏洞要不要修""这个系统安不安全""这次攻击怎么防”。这些问题,用”看想做守”只能描述”你该怎么处理它”,却说不清”它本身是什么”。

所以这次,我回到安全的第一性,重新定义维度。


二、安全的本质:风险管理,四个词

安全的本质,学界和业界吵了几十年,最后收敛到一句话:

安全 = 风险管理。

而风险,有一个经典的第一性公式:

风险 = 威胁 × 脆弱性 × 影响(落在一个"资产"上)

这个公式里藏着四个词,它们才是安全真正原生的四个维度:

维度英文一句话之问它是什么
资产Asset「守什么?」你要保护的对象
威胁Threat「怕什么?」谁可能来打你、怎么打
脆弱性Vulnerability「漏在哪?」你自己可以被利用的弱点
影响Impact「疼多大?」被打中后的损失

这四个词,是 ISO 27005、NIST SP 800-30 这些风险管理标准的共同地基。 不是我编的,是安全这门学科自己长出来的第一性维度。


三、四个词逐个拆,先把概念钉死

1. 资产(Asset)——「守什么?」

一切安全的起点。你连”要保护什么”都不知道,后面全是空谈。

资产不只是”服务器”。它可以是:数据(用户信息、源码、密钥)、系统(网站、数据库、中间件)、业务(支付流程、订单、账号)、身份(管理员账号、API 凭证)、乃至声誉(品牌、合规资质)。

一个反常识的点:大多数公司出问题,不是”防不住”,是”根本不知道自己有什么要防”。攻击面管理(ASM)、资产盘点(CMDB),干的都是”把资产摸清楚”这件事——这是”守什么”的第一步。

2. 威胁(Threat)——「怕什么?」

站在攻击者的角度问:谁可能来搞我?用什么手段?

威胁要素包括:攻击者是谁(脚本小子、勒索组织、APT 国家力量、内部员工)、他的动机(钱、数据、破坏、间谍)、他的能力(有没有 0day、资源多雄厚)。

关键区分:威胁是”外部”的,是别人对你做的事;脆弱性是”内部”的,是你自己的毛病。 小偷想偷你家,这是”威胁”;你家窗户没锁,这是”脆弱性”。很多人把这两个词混着用,一混,分析就乱了。

3. 脆弱性(Vulnerability)——「漏在哪?」

你自己身上,有什么可以被威胁利用的弱点。

脆弱性不只是”漏洞”。它分三层:

  • 技术脆弱性:代码漏洞(SQL 注入、RCE)、组件漏洞(Log4j)、配置错误(弱口令、端口暴露)
  • 流程脆弱性:补丁没及时打、没有代码评审、权限审批形同虚设
  • 人的脆弱性:员工点钓鱼邮件、把密码贴在显示器上、把密钥提交到 GitHub

你要的”RCE 这些漏洞概念”,就属于”脆弱性”这个维度——它们是威胁可以利用的技术弱点类型。所以认识漏洞,本质是认识”脆弱性”。

4. 影响(Impact)——「疼多大?」

威胁真的利用了脆弱性之后,你损失什么。

影响也不只是”数据泄露”。它可以是:机密性受损(数据被偷)、完整性受损(数据被篡改)、可用性受损(业务中断)、资金损失、法律合规处罚、声誉崩塌。

关键:影响决定了”值不值得花大代价防”。 一个只会造成”官网首页被挂个图”的风险,和一个会造成”1 亿用户数据泄露 + 被罚几个亿”的风险,你投入的防御资源天差地别。影响,是风险公式里那个”权重”。


四、把你要的三块东西,挂到新维度上

现在回到你最初三个诉求,看它们在新维度下各归其位:

  1. 「CVE / 组件怎么定级」 → 落在「脆弱性 × 影响」的交叉。定级的本质,就是判断”这个脆弱性(漏洞)× 它可能造成的影响,值不值得我优先处理”。定级不是给漏洞打分,是给”风险”打分。

  2. 「RCE 这些漏洞概念」 → 落在「脆弱性」。RCE、SSRF、SQL 注入……是脆弱性这个维度里的”技术弱点类型”。

  3. 「常见安全产品解决什么维度」 → 横跨四要素,但各有侧重:

安全产品它管的是哪个要素
资产盘点 / 攻击面管理(ASM / CMDB)资产(摸清”守什么”)
威胁情报平台(TIP)、威胁建模、ATT&CK威胁(识别”怕什么”)
SAST / SCA / DAST / 漏扫、补丁管理脆弱性(发现并治理”漏在哪”)
WAF / RASP / EDR / IPS脆弱性(阻止威胁”利用”脆弱性)
DLP / 加密 / 备份 / 应急响应影响(降低”疼多大”)

看这张表你就明白了:安全产品的分类,本质是按”它管风险公式里哪个因子”来分的。 有的产品管”识别威胁”,有的管”堵脆弱性”,有的管”降影响”。这就是为什么四要素是比”看想做守”更本质的维度——它能解释”产品为什么存在”,而不只是”产品在干什么”。


五、“四要素”和”看想做守”是什么关系:一个是结构,一个是动作

最后说清楚,上次的”看想做守”不是错了,是用错了地方:

资产 × 威胁 × 脆弱性 × 影响看、想、做、守
回答什么安全问题由什么构成安全运营怎么运转
属于哪类维度结构维度(第一性)动作维度(执行层)
用来干什么拆解、分析一个安全问题组织、执行安全运营
类比”这个病是什么病、什么引起的""医生怎么看病:问诊→诊断→开药→复诊”

你要的是”拆解和分析安全问题”,所以主维度是”四要素”。 “看想做守”留给”怎么组织安全团队干活”时再用。

一个例子你就懂了:分析”Log4j 漏洞”这件事——

  • 用四要素拆:资产 = 所有用了 Log4j 的 Java 系统;威胁 = 所有能往日志里塞恶意字符串的攻击者;脆弱性 = Log4j 的 JNDI 注入缺陷;影响 = 服务器被 RCE、数据失守。这四个词,把这个问题彻底拆清楚了。
  • 用看想做守拆:看 = 发现用了 Log4j;想 = 定级;做 = 升级;守 = 验证。这四个字,描述的是”怎么处置”,而不是”问题是什么”。

拆解分析,用四要素;组织执行,用看想做守。 别混。


思考题(先想,再看答案)

题目一: 用”资产、威胁、脆弱性、影响”四要素,完整拆解一次”SQL 注入”:你的资产是什么?威胁是谁?脆弱性在哪?影响是什么?试着每个要素写一句话。

题目二(概念辨析): 区分下面哪句是”威胁”、哪句是”脆弱性”:① 黑客在扫描你的公网端口;② 你的数据库账号是弱口令;③ 勒索组织盯上了你所在行业;④ 你的服务器没打一个高危补丁。并说说,为什么”威胁”和”脆弱性”不能混为一谈。

题目三(深一层): 一个”零风险”的系统存在吗?用”风险 = 威胁 × 脆弱性 × 影响”这个公式,说明为什么不存在——以及这给了我们什么启示(既然零风险不存在,那安全工作的目标到底是什么?)。


参考答案

题目一(示例): 资产 = 数据库里的用户数据;威胁 = 任何能访问这个登录接口的攻击者(外部黑客);脆弱性 = 后端把用户输入直接拼进 SQL、且数据库账号权限过大;影响 = 数据被拖库(机密性受损)、甚至写文件拿服务器(完整性/可用性受损)。你看,四要素一填,一个模糊的”SQL 注入很危险”就变成了四个清晰的命题,每个命题都对应一个具体的防御动作(资产要分级、威胁要监控、脆弱性要参数化查询+最小权限、影响要加密+备份)。

题目二: ① 是威胁(黑客在对你做的事);② 是脆弱性(你自己的弱口令);③ 是威胁(外部攻击者的意图);④ 是脆弱性(你自己没打补丁)。区分标准一句话:威胁是”别人要搞你”,脆弱性是”你自己有毛病”。 不能混,是因为两者的处置方向完全相反——对付威胁靠”情报、监控、隔离攻击者”,对付脆弱性靠”修复、加固、改自己”。你把弱口令(脆弱性)当成威胁去处理,就会去”追查谁在爆破”而不是”赶紧把口令改了”,方向就错了。

题目三: 不存在。因为”威胁”(外部攻击者永远存在)不可能为零,“脆弱性”(任何复杂系统必然有未知弱点)也不可能为零,两个非零的数相乘,风险就不可能为零。这给了我们一个根本启示:安全的目标不是”消除风险”(做不到),而是”把风险降低到可接受的水平”。 具体来说,就是三件事:摸清资产(缩小未知)、治理脆弱性(减小”漏在哪”)、降低影响(万一被打,损失可控)。想明白这一点,你就不会再纠结”怎么做到绝对安全”这个无解的问题,而会转向”怎么让风险可控”这个可解的问题。