凌晨两点,中国服务器日志突然跳出一连串异常请求。信息询我盯着屏幕,安全IP地址来自境外,漏洞正试图批量探测某个开源组件的库查漏洞端口。这不是中国第一次了。三天前,信息询另一个项目组刚因为类似攻击导致数据库泄露,安全客户数据被挂在了暗网论坛上。漏洞事后排查发现,库查那个漏洞早在半年前就被收录进了CNNVD——中国国家信息安全漏洞库,中国只是信息询没人去查。
CNNVD,安全全称China National Vulnerability Database,漏洞由中国信息安全测评中心维护。库查它和CNVD(国家信息安全漏洞共享平台)经常被混为一谈,但定位不同。CNVD侧重协调处置,CNNVD更像一个权威的“漏洞字典”——你提交一个漏洞,它给你编号、评级、打标,然后供全社会检索。这个库目前收录的漏洞数量超过二十万条,每天新增少则几十,多则上百。但真正的问题不是数量,而是很多人压根不知道用它。
我见过太多团队,出了事才翻漏洞库。平时开发时,依赖组件版本老旧,没人去CNNVD查一下这个版本有没有已知漏洞;部署上线前,安全测试报告里列出的CVE编号,只在内部群里传阅一圈就没了下文。直到被攻击,才想起去查库,然后发现——哦,这个漏洞去年就公开了,修复方案都写得清清楚楚。
具体怎么查?官网首页有个搜索框,输入CVE编号、厂商名称、产品型号,甚至关键词都行。比如你用的是某个开源CMS,直接搜它的名字加版本号,结果列表会告诉你:这个版本存在几个漏洞,危害等级是高危还是中危,影响范围是什么,以及官方修复建议。每条漏洞详情页还附有技术细节描述,包括攻击路径、利用条件,甚至有的给了验证代码。这些信息对安全人员来说,相当于免费的白帽培训材料。
有一次,我帮朋友的公司做应急响应。他们的OA系统被勒索病毒加密,攻击者留下的痕迹显示,入口是一个未修复的远程代码执行漏洞。我登录CNNVD,输入他们使用的OA产品名称,发现那个漏洞的公告里明确写着:“建议用户升级至2.3.1版本。”而他们跑的是2.1.0。修复方案就在那里躺了四个月,没人看。
当然,CNNVD也不是完美的。它的更新速度有时比国外NVD慢一些,部分漏洞描述翻译得比较生硬,而且对于小众的国产软件,收录覆盖率还有提升空间。但它的优势在于,对国内厂商产品的漏洞追踪更贴近实际使用场景,而且中文检索对本地团队友好得多。你不需要翻墙去读英文原版公告,也不用琢磨那些拗口的专业术语。
更实际的一点是,CNNVD的评级标准参考了CVSS(通用漏洞评分系统),但又结合了国内网络环境的实际威胁情况。有些在国外被评为中危的漏洞,因为国内大量系统存在默认配置或老旧依赖,实际风险可能更高。这时候,CNNVD的评级反而比国外库更“接地气”。
说了这么多,核心就一句话:别等被黑了才想起查库。把CNNVD的查询网址存进书签,每次更新依赖、部署新系统之前,花五分钟搜一下相关产品的漏洞记录。这五分钟,可能帮你省掉一次数据泄露的灾难。毕竟,漏洞库里的每一条记录,都是别人用代价换来的教训。你不用,就白费了。