3. 漏洞管理流程:漏洞发现、分类与优先级评定
漏洞管理这事儿,说白了就是个「筛子」工程。你想想看,一个中型企业每天可能收到几十甚至上百条漏洞告警,要是每条都当紧急事件处理,团队早累垮了。我做了这么多年安全,最大的体会就是:没有优先级管理的漏洞管理,等于没有管理。
这一章,咱们就聊聊漏洞管理的三个核心环节:怎么发现漏洞、怎么给漏洞分类、怎么用 CVSS 评分排优先级。嗯,这里面的坑不少,我一个个说。
3.1 漏洞发现:你的情报来源够全吗?
漏洞发现不是等别人通知你「嘿,你系统出事了」。一个成熟的漏洞发现机制,应该覆盖四个维度:
- 主动扫描:用 Nessus、OpenVAS、Qualys 这类工具定期扫资产。我个人习惯是每周全量扫一次,每天增量扫一次。
- 被动监测:通过 SIEM 或 IDS/IPS 实时分析流量,发现异常行为。我在项目中遇到过,主动扫描没扫出来的漏洞,反而是流量监测先报警的。
- 外部情报:订阅 CVE、NVD、厂商安全公告。别只看自家系统,第三方组件的漏洞往往更致命。
- 众测与白帽:HackerOne、Bugcrowd 上的报告,质量通常比自动化工具高一个档次。
3.2 漏洞分类:别把苹果和橘子放一起
发现漏洞之后,第一件事不是修,而是分类。为什么?因为不同类别的漏洞,修复策略、责任人、时间窗口完全不一样。
我一般把漏洞分成以下几类:
| 类别 | 典型例子 | 修复特点 |
|---|---|---|
| 配置类 | 默认口令、开放高危端口 | 改配置即可,通常几分钟搞定 |
| 补丁类 | 操作系统或中间件已知漏洞 | 需要厂商补丁,可能涉及停机 |
| 代码类 | SQL注入、XSS、反序列化 | 需要开发团队改代码,周期长 |
| 架构类 | 缺乏认证、加密强度不够 | 涉及系统重构,通常走项目制 |
| 第三方依赖 | 开源库漏洞、供应链风险 | 升级版本或找替代方案 |
分类做得好,后续的指派和跟踪就顺了。我曾经见过一个团队,把所有漏洞都扔给运维,结果代码类漏洞运维根本改不了,拖了三个月还没修。这就是分类没做好的典型后果。
3.3 CVSS 评分:不只是算个数字
CVSS(Common Vulnerability Scoring System)现在是业界标准,目前主流是 v3.1 版本。它把漏洞评分分成三个维度:
- 基础指标(Base):漏洞本身的固有属性,比如攻击途径、攻击复杂度、权限要求等。这部分是固定的,不受环境影响。
- 时间指标(Temporal):随时间变化的因素,比如是否有公开利用代码、是否有官方补丁。这部分会动态调整。
- 环境指标(Environmental):跟你自己的环境相关,比如受影响资产的重要性、安全控制措施的强度。
很多人只算 Base 分数,其实这是不够的。我建议你们至少把 Environmental 也加上,否则你可能会把「对内网测试机」和「对外网核心数据库」的漏洞评成一样的分数——这显然不合理。
CVSS 最终分 = Base 分 × Temporal 因子 × Environmental 因子
最终分范围:0.0 - 10.0
分级标准:0.0 = None, 0.1-3.9 = Low, 4.0-6.9 = Medium, 7.0-8.9 = High, 9.0-10.0 = Critical
3.4 优先级评定:别被 CVSS 分数骗了
CVSS 分数高,就一定优先修吗?不一定。我给你讲个真实案例。
有一次,我们扫描发现一个 CVSS 9.8 的远程代码执行漏洞,理论上应该立刻修。但仔细一看,这个漏洞只影响一个已经停用的内部演示系统,而且那个系统根本不联网。反而是另一个 CVSS 6.5 的漏洞,影响的是对外服务的 API 网关,而且已经有公开的利用脚本在流传。
你说哪个该先修?
所以,我个人的优先级评定公式是这样的:
最终优先级 = CVSS 基础分 × 资产重要性系数 × 可利用性系数 × 业务影响系数
其中:
- 资产重要性系数:核心数据库 = 1.5,普通应用 = 1.0,测试环境 = 0.5
- 可利用性系数:有公开 PoC = 1.5,有概念验证 = 1.2,仅理论 = 0.8
- 业务影响系数:直接影响收入 = 1.5,影响用户体验 = 1.2,无直接影响 = 0.8
这样算下来,那个 9.8 分的漏洞实际优先级是 9.8 × 0.5 × 0.8 × 0.8 = 3.136,而 6.5 分的漏洞是 6.5 × 1.5 × 1.5 × 1.5 = 21.937。高下立判。
3.5 漏洞管理全流程:一张图说清楚
下面这张图,是我在多个项目中反复打磨出来的漏洞管理流程。你可以把它当成团队的标准作业流程:
这个流程的关键在于「闭环」。从发现到修复,再到复盘改进,每一步都要有记录、有度量。我见过太多团队只做到「修完就完」,结果同样的漏洞类型反复出现——那就是复盘环节缺失了。
3.6 落地建议:从小处着手
如果你所在的公司还没有成体系的漏洞管理流程,别想着一步到位。我建议你从这三件事开始:
- 先跑通发现→分类→评分这条主线,哪怕用 Excel 先记着都行。
- 定一个简单的优先级规则:比如 CVSS 7.0 以上 + 影响核心业务 = 24 小时内必须响应。
- 每月做一次复盘:看看哪些漏洞类型最多,哪些环节最耗时,然后针对性优化。
好了,这一章的内容就这些。记住:漏洞管理的核心不是「发现所有漏洞」,而是「在有限资源下,把最危险的漏洞先修掉」。这个思路,比任何工具都重要。