2、漏洞管理基础:漏洞发现、分类与优先级排序
各位好,我是老赵。今天咱们聊聊漏洞管理的基础。说实话,很多团队把漏洞管理想得太简单了——装个扫描器,跑一遍,出个报告,然后呢?报告堆成山,没人修。我见过太多这样的案例了。
漏洞管理不是扫出来就完事。你得知道漏洞怎么来的,怎么分类,哪个该先修。这一章,我把这些年踩过的坑和总结的经验,掰开了讲给你听。
2.1 漏洞发现:你从哪找到它们?
漏洞不会自己跳到你面前。你得主动去找。我个人习惯把发现方式分成三类:
- 自动化扫描:用工具扫。比如 Nessus、OpenVAS、Qualys。适合大面积撒网。
- 人工渗透测试:人肉挖洞。适合深度检测,能发现逻辑漏洞。
- 威胁情报与社区:看 CVE 公告、GitHub 安全通告、厂商邮件。被动但关键。
我记得有一次,客户说他们每周都扫,肯定没问题。结果我一看,扫描器只扫了 80 端口。你想想看,一个只扫 HTTP 的扫描器,能发现什么?
另外,别只盯着外部。内部资产同样重要。我曾经处理过一个案例,内网一台打印机被利用,成了跳板机。嗯,这里要注意——扫描范围要覆盖所有联网设备,包括 IoT、打印机、摄像头。
2.2 漏洞分类:CVE 与 CVSS
漏洞发现了,怎么描述?怎么衡量严重程度?这就得靠两个标准:CVE 和 CVSS。
2.4.1 CVE:给漏洞一个身份证
CVE(Common Vulnerabilities and Exposures)就是漏洞的身份证号。格式是 CVE-年份-编号。比如 CVE-2024-3094,就是 XZ Utils 后门那个。
有了 CVE,大家沟通起来方便。你说“那个 OpenSSL 的漏洞”,别人不知道是哪个。你说 CVE-2022-3786,所有人都知道你在说哪个。
2.4.2 CVSS:量化漏洞的杀伤力
CVSS(Common Vulnerability Scoring System)是打分系统。目前主流是 CVSS v3.1,分数范围 0-10。
打分维度有三个:
- 基础指标:漏洞本身的属性。比如攻击途径(网络/本地)、攻击复杂度(高/低)、权限要求、用户交互。
- 时间指标:随时间变化。比如是否有公开利用代码、是否有补丁。
- 环境指标:跟你自己的环境相关。比如这个漏洞影响的组件在你系统里是否重要。
最终分数对应等级:
| 分数范围 | 等级 | 颜色标识 |
|---|---|---|
| 0.0 | None | 无 |
| 0.1 - 3.9 | Low | 绿色 |
| 4.0 - 6.9 | Medium | 黄色 |
| 7.0 - 8.9 | High | 橙色 |
| 9.0 - 10.0 | Critical | 红色 |
举个例子:CVE-2021-44228(Log4j)的 CVSS 分数是 10.0。为什么?攻击途径是网络,复杂度低,不需要权限,不需要用户交互,影响范围广。说白了,就是最坏的情况。
2.3 漏洞优先级排序:别被分数骗了
漏洞多了,先修哪个?很多人直接按 CVSS 分数从高到低排。我告诉你,这是大坑。
为什么?因为 CVSS 不考虑你的业务场景。一个 CVSS 9.0 的漏洞,如果只影响一个已经下线的测试服务器,优先级远不如一个 CVSS 7.0 但影响核心数据库的漏洞。
我个人习惯用这个公式:
优先级 = 漏洞严重程度 × 资产重要性 × 威胁活跃度
三个维度:
- 漏洞严重程度:CVSS 分数,但别只看总分。看子项,比如攻击途径是网络还是本地。
- 资产重要性:这个资产是核心业务系统,还是边缘设备?我一般分三级:关键、重要、普通。
- 威胁活跃度:有没有公开的 PoC?有没有在野利用?有没有勒索组织在用?
举个例子:
| 漏洞 | CVSS | 资产重要性 | 威胁活跃度 | 最终优先级 |
|---|---|---|---|---|
| CVE-2024-XXXX | 9.8 | 普通(测试服务器) | 低(无公开利用) | 中 |
| CVE-2024-YYYY | 7.5 | 关键(核心数据库) | 高(已有在野利用) | 最高 |
你看,CVSS 9.8 的反而排后面。这就是我说的,别被分数骗了。
2.4 知识体系总览
下面这张图,把漏洞管理的核心逻辑串起来了。从发现到分类,再到排序,最后到修复。你把它记在心里,做漏洞管理就不会跑偏。
2.5 总结一下
漏洞管理基础,说白了就三件事:
- 发现:用对工具,覆盖全资产。
- 分类:用 CVE 和 CVSS 标准化描述。
- 排序:结合业务场景,别只看分数。
我见过太多团队,漏洞扫描报告出了几百页,但没人看。为什么?因为没排序,没优先级。你想想看,一个运维看到 500 个漏洞,他该修哪个?
所以,从今天开始,建立你的漏洞管理流程。先扫,再分类,最后排优先级。别贪多,一步步来。