2.3.1 漏洞分类依据
1.漏洞五大属性,也是漏洞分类的依据
(1)所属相关属性:生产厂商、软件种类、消息来源和漏洞位置。
(2)攻击相关属性:攻击来源、攻击手段和攻击复杂度。
(3)因果相关属性:漏洞成因、漏洞影响和安全威胁。
(4)时间相关属性:漏洞引入时间、漏洞影响时间。
(5)其他属性:修复操作类型。
2.代表性的漏洞分类法
(1)保护分析分类法
保护分析(PA)将操作系统保护问题分割为较容易管理的小模块,以降低对研究人员的要求,并将漏洞分为以下几类。
①不适当的保护域的初始化和实现,包括数据一致性错误、命名错误、存储单元分配回收错误等。
②不适当的合法性验证,包括验证操作数错误、队列管理错误、不适当的同步、原子性错误(如原子操作被打破)、顺序化错误。
③不适当的操作数选择或操作选择,如关键操作选择错误等。
(2)安全操作系统分类法
安全操作系统(RISOS)分类法将漏洞分为7个类别:
①不完全的参数合法性验证(如缓冲区溢出);
②不一致的参数合法性验证(如接口设计漏洞);
③隐含的权限/机密数据共享(如TENEX文件口令);
④非同步的合法性验证/不适当的顺序化(如条件冲突);
⑤不适当的身份辨识/认证/授权(如弱口令);
⑥可违反的限制(如违反使用手册);
⑦可利用的逻辑错误(如TENEX系统监视器漏洞)。
(3)Aslam-Krusl操作系统漏洞分类法
普渡大学COAST实验室的Aslam提出了一种Unix操作系统的漏洞分类法,他将计算机漏洞主要分为操作故障、环境故障和编码故障三大类。随后,该实验室的Krusl又在此基础上对Aslam的分类法进行了扩展和修改,消除了原分类方法的二义性和非穷举性,形成了较完整的分类法,将漏洞分为操作故障、环境故障、编码故障和其他故障,如图2.1所示。
图2.1 Krusl完善后的Aslam的漏洞分类法
Aslam的分类法是针对Unix操作系统设计的一维分类法,他在漏洞起因属性方面给出了较为详细而完整的描述,具有较好的可用性,已被很多漏洞发布机构采纳,但分类存在着二义性且非互斥性。在Krusl修改之后,该方法在分类理论方面较为完善。虽然这种分类方法在Unix操作系统漏洞分类方面表现得较突出,但缺少一般性,另外,其仅描述了漏洞的一个属性。
3.Bishop的6轴分类法
漏洞分类作为一种分类系统,应具有互压性。Bishop提出了一种6轴分类法(见表2.1),从性质、引入时间、利用域、作用域、最小组件数和出处6个方面将漏洞分为不同类别。该分类法是一个多维属性集成的计算机系统漏洞分类法,主要为厂商改进软件设计服务。
表2.1 Bishop的6轴分类法
Bishop的漏洞分类系统充分地体现了互斥性和非二义性等分类理论,但可用性受到了学者们的质疑。
4.Neumann的风险来源分类法
Neumann根据风险的来源进行分析,将漏洞主要分为以下三类:
(1)系统设计过程中的问题;
(2)系统操作和使用过程中的问题;
(3)故意滥用。
具体分类如图2.2所示。
图2.2 Neumann的漏洞分类
5.Knight的广义漏洞分类法
Knight等提出了一种4类型分类法,即根据漏洞对象和影响速度的不同,将漏洞分为社会工程、策略疏忽、逻辑错误和缺陷4种类型,如图2.3所示。其中,社会工程类漏洞是由于计算机系统的工作人员在安全管理上的漏洞而产生的,攻击者往往利用内部工作人员的故意破坏、对工作人员的电话欺诈、机密文档盗窃等手段获取有用的信息,从而达到攻击计算机系统的目的。因此,该类型漏洞与人相关,且影响速度很快,但易被人们所忽视。策略疏忽类漏洞是指人们为保护系统安全性所制定的管理策略中存在的缺陷,如没有生成足够的软件备份,缺少安全护设备等。该类型漏洞亦与人相关,但影响速度不快,需要一段时间的实践才能被发现。逻辑错误类漏洞是指计算机系统在设计中的一些逻辑错误或忽视了一些安全。
图2.3 Knight的广义漏洞分类法
6.软件量化漏洞分类法
为了达到量化评估计算机系统安全的目的,哈尔滨工业大学的汪立东提出了一种多属性量化的软件漏洞分类法,该分类法描述了漏洞对机密性、完整性和可用性等软件系统安全性的影响,以及攻击复杂性和时间影响力等属性。其中攻击复杂性与Longstaff提出的易攻击性含义相似。
汪立东认为漏洞对安全性的影响分析应该基于经验知识和特权提升。所以他将Internet上对系统所有可能的访问者分成以下几类:无任何特权的Internet远程访问者、匿名或无shell用户、本地普通用户、拥有某类系统特权的用户、系统管理员或root用户,然后给出了漏洞所引起的特权提升对各维安全属性的可能影响的分级。
此外,漏洞从被发现到被广泛使用,再到受影响的系统被逐渐更新升级而淘汰,存在一个时间周期。他将漏洞被首次发现、公开、发布补丁、发布攻击方法、漏洞被大量使用到被淘汰的整个过程称为一个发掘(Exploit)周期,之后,给出了时间对漏洞的风险影响的分级。
该分类法主要贡献是对分类属性实施了量化,在安全性影响属性上做了进步的扩展和完善。此外,尽管在应用中时间影响力属性的可用性较差,但该分类法首次提出时间影响力属性的贡献是值得肯定的。该分类法的缺点是不具有互斥性和穷举性,也缺乏分类原则和过程,而且,在量化准则的问题上还有待于进一步的探讨。