安全漏洞的安全分类,说到底不是漏洞给漏洞贴标签,而是分类给防守方指路。我见过太多团队,安全拿着漏洞扫描报告一脸茫然——几千条告警,漏洞到底先修哪个?分类分类不清,优先级就乱,安全漏洞就永远修不完。漏洞
最粗的分类分法,是安全按漏洞出现的“位置”来分。Web应用里的漏洞SQL注入、文件上传,分类跟操作系统内核的安全提权漏洞,压根是漏洞两码事。前者是分类业务层的问题,改代码就能堵;后者是系统底层的毛病,得等厂商补丁。我认识一个甲方安全工程师,他最爱把漏洞分成“能改代码解决的”和“只能打补丁的”,按这个逻辑排期,效率出奇的高。位置分类的最大价值,在于它直接对应了修复的负责人——是开发团队的事,还是运维团队的事。
另一种常见分法,是按“攻击者的视角”来分。比如,远程可利用的漏洞,和需要本地权限才能触发的漏洞,威胁等级天差地别。一个能让黑客从公网直接打进内网的RCE(远程代码执行),跟一个需要先拿到shell才能用的本地提权,前者是“门被撬开了”,后者是“进了门但打不开保险柜”。这种分类方式特别适合用来做风险评级,CVSS(通用漏洞评分系统)那套体系,本质就是干这个的。但说实话,CVSS分数高不代表实际风险高——它算的是“漏洞本身有多坏”,不算“你的系统暴露面有多大”。
还有一种更务实的分类,我私下叫它“漏洞的生存状态”。有的漏洞是“已经被利用的”,有的只是“理论上存在”。前者叫0-day或N-day,后者叫“潜在风险”。这个区分极其重要,因为被利用的漏洞,意味着黑客已经走通了攻击链,你面对的可能是实打实的入侵,而不是纸面上的威胁。2023年那个被广泛利用的MOVEit漏洞,最初只是被当成一个普通的SQL注入,直到多个勒索团伙开始批量利用,大家才意识到它是“活”的漏洞。分类一旦滞后,防御就跟着滞后。
我个人最反感的,是那种把漏洞按“OWASP Top 10”死板套用的做法。那个榜单是给开发做培训用的,不是给应急响应做决策用的。你拿着Top 10去分类一个工控系统的漏洞,会发现完全对不上——PLC的固件漏洞,跟Web注入有半毛钱关系?分类工具必须贴合业务场景,否则就是纸上的学问。
说到底,漏洞分类的核心逻辑,不是“它叫什么名字”,而是“它怎么影响我”。按攻击路径分、按修复难度分、按是否被利用分——都可以,只要分类结果能直接推动你下一步的动作。我见过最糟糕的安全团队,把漏洞分成“高危、中危、低危”就完事了,结果高危修了三个月还没修完,因为高危里既有能远程打穿的,也有本地才能碰的,优先级完全被模糊了。
所以我的建议很直接:别迷信任何一套标准分类。把漏洞按“能不能被外部直接打到”和“修起来要动多少代码”这两个维度画个四象限,比什么花哨的框架都管用。安全是实战,不是写论文。