4. 脆弱性识别与漏洞管理
脆弱性是资产本身或其所处环境中存在的、可能被威胁利用并造成损害的弱点。与威胁不同,脆弱性通常是我们能够直接控制和修复的对象,因此它是风险评估中最具行动价值的一环。脆弱性识别要回答三个问题:弱点在哪里、它有多严重、修复的优先级如何确定。本节围绕主机、网络、应用、配置、人员与流程六个层面展开识别方法,并说明漏洞扫描、渗透测试与漏洞生命周期管理的落地方式。
一、脆弱性的六个识别层面
主机脆弱性关注操作系统与基础软件:未打补丁的系统、过期的内核、开放的高危端口、弱口令账户、不必要的服务、缺失的终端防护。识别手段包括主机漏洞扫描、基线核查脚本、账户与权限审计。例如在 Linux 主机上,可通过检查 ss -tulnp 输出确认监听端口,用 awk -F: '($2==""){print $1}' /etc/shadow 找出空口令账户,再与安全基线逐项比对。
网络脆弱性关注边界与内部通路的暴露面:防火墙规则过宽、未做网段隔离、明文传输协议、路由与交换设备默认口令、无线网络加密不足。识别方式包括网络拓扑梳理、ACL 规则审计、网络扫描与协议分析。典型问题是"any-any"放通规则和跨区直连,使攻击者一旦进入某台主机即可横向移动。
应用脆弱性关注业务系统自身:注入、跨站脚本、越权访问、文件上传、身份认证缺陷、第三方组件漏洞。识别手段包括代码审计、组件依赖扫描(如 SBOM 比对 CVE)、动态扫描与渗透测试。应用层漏洞往往无法靠补丁解决,需要修改代码或调整逻辑。
配置脆弱性是"功能正常但安全设置不当":数据库允许远程 root 登录、Web 服务器开启目录浏览、云存储桶公开可读、日志未开启、TLS 版本过低。配置类问题数量大、易反复,适合用自动化基线工具持续核查。
人员脆弱性表现为安全意识不足、权限过大、离职未回收账号、共享账号、随意点击钓鱼邮件。识别方式包括钓鱼演练、权限复核、账号生命周期审计。
流程脆弱性是制度与执行层面的缺口:变更无审批、上线未做安全测试、漏洞修复无跟踪、应急响应无预案、外包人员无约束。流程脆弱性不体现在扫描报告里,却常常是事故的根因。
二、漏洞扫描与渗透测试的分工
漏洞扫描是自动化、广覆盖、可重复的发现手段。以 Nessus、OpenVAS、Nuclei 等工具为例,一次内网扫描通常配置如下:目标网段 10.10.0.0/24,端口范围 1-65535,启用"安全扫描"而非"拒绝服务"插件族,避开业务高峰(如凌晨 2:00 执行),扫描完成后导出含 CVE 编号、CVSS 分值、证据请求响应的报告。扫描的价值在于"面",局限在于误报和无法发现逻辑漏洞。
渗透测试是人工主导、以攻击者视角验证可利用性的手段。它不追求覆盖全部资产,而是围绕关键目标构造攻击链。例如针对一个对外 Web 系统,测试路径可能是:信息收集(子域名、指纹)→ 弱口令尝试 → 上传点探测 → 越权接口遍历 → 内网横向。渗透测试能确认"漏洞是否真的能被利用",但受测试人员水平和时间窗口限制,结果不可完全复现。
两者应配合使用:扫描负责持续、批量地发现已知漏洞,渗透测试负责验证高风险路径和发现扫描器看不到的逻辑缺陷。扫描报告中的高危项,应优先安排渗透验证,避免把误报当成真实风险投入修复资源。
三、漏洞生命周期管理
漏洞从被发现到关闭,需要一条可跟踪的流水线,否则会出现"报告一堆、修复寥寥"的局面。完整闭环包含五个环节:
- 发现:来自扫描、渗透、SRC 上报、厂商情报、监管通报,统一录入漏洞库,字段至少包括资产、漏洞名称、CVE、来源、发现时间。
- 验证:由安全人员复现,剔除误报,确认影响范围与可利用条件。
- 定级:结合 CVSS 基础分与资产重要性、暴露程度计算风险值,确定修复时限。
- 修复:优先打补丁;无法立即修复时采用缓解措施,如关闭端口、加 WAF 规则、限制访问来源、临时下线。
- 复测与关闭:修复后重新验证,通过则关闭并归档,未通过则退回修复环节。
修复时限可按风险等级约定:高危 24 小时内响应、7 天内修复;中危 30 天内修复;低危纳入版本迭代。对于无法修复的漏洞(如老旧系统、厂商已停止支持),必须记录接受理由、补偿控制和复审日期,形成风险接受台账,而不是简单标记"忽略"。
四、从识别到治理的衔接
脆弱性识别的产出不是一份扫描报告,而是一份可执行的修复清单。每个条目应明确:资产归属人、漏洞描述、风险等级、修复建议、截止时间、当前状态。安全团队负责发现与验证,资产归属人负责修复,管理层负责督办超期项。人员与流程类脆弱性则通过培训、权限复核、制度修订来治理,其效果以钓鱼点击率下降、越权账号清零、变更审批覆盖率等指标衡量。
需要强调的是,脆弱性识别是持续过程而非一次性项目。资产在变、漏洞在增、配置在漂移,只有把扫描、验证、修复、复测固化为周期性动作,并让每个漏洞都有明确的责任人和关闭证据,脆弱性管理才能真正降低被利用的概率。