软件漏洞分类

软件漏洞分类
foresta.yang软件漏洞分类
- 输入验证错误(Input Validation Error, IVE)
- 边界条件错误(Boundary condition error,BCE)
- 边界条件错误是指未能对用户输入数据的合法性进行有效检查导致输入到程序中的值无效。例如输入的数字大于或小于某个阈值,或者文本输入中的字符长度过长等,都会发生边界条件错误。
- 缓冲区溢出(Buffer overflow, BOF)
- 缓冲区溢出是指当数据量超过内存缓冲区的存储容量时,超出的数据会覆盖相邻的存储区域,造成程序正常堆栈的破坏,从而影响其他程序的正常运行。
- 边界条件错误(Boundary condition error,BCE)
- 访问验证错误(Access Validation Error, AVE)
- 这类漏洞的形成原因是由于程序的访问验证部分存在某些逻辑错误,使攻击者可以绕过访问控制进入系统。例如,一个对象的调用或其他操作在其访问域之外、一个对象接收了另一个未授权对象的输入、系统没有正确地进行授权操作等都会导致访问校验错误。
- 异常条件错误处理(Exceptional Condition Error Handling, ECHE)
- 这类漏洞是由于未能响应意外数据或条件而产生的。例如,由于程序在设计实现过程中考虑不周,未包含意外处理的功能模块,当遇到未知的程序输入时程序发生的错误。
- 环境错误(Environmental Error, EE)
- 这类漏洞是由计算机环境的特定条件触发的。例如,由于错误设置某些环境变量而导致的特权程序执行攻击代码的现象。
- 配置错误(Configuration Error, CE)
- 这类漏洞是由于不正确的系统设置引起的。例如,参数配置错误、访问权限设置错误、系统安装位置错误等。
- 竞争条件错误(Race Condition Error, RC)
- 这类漏洞是由于程序执行的实体在时序和同步方面出现问题导致的。
- 设计错误(Design Error, DE)
- 这类漏洞是由于软件结构设计不当引起的。严格来说,大部分漏洞产生的原因都是因为设计错误。
- 其他类型
- 不属于上述类型的漏洞类型,有时也被称为非标准错误。
- 漏洞严重程度分类
- 通用漏洞评估系统[40](Common Vulnerability Scoring System, CVSS)是一个用于评估软件漏洞严重程度的开放框架,CVSS 尝试为漏洞分配一个代表严重程度的评分,从而使得响应者可以根据危险等级对响应和资源进行优先级排序。评分的度量由三个评估指标组成,分别是基本评估指标、时间评估指标和环境评估指标。基本评估指标产生的分数介于 0 到 10 之间,然后可以通过时间评估指标和环境评估指标对其进行修正,CVSS 的评分越高表明漏洞的严重程度越高,反之严重程度越低。最新的 CVSS 3.1 标准根据漏洞的严重程度把漏洞分为四个等级,分别为低危漏洞(0.13.9)、中危漏洞(4.06.9)、高危漏洞(7.08.9)和超危漏洞(9.010.0)。
- 超危漏洞(Critical)
- 该类型的漏洞使得远程攻击者不需要任何特殊的身份验证就可以轻松获取对主机的完全控制权,利用此类漏洞可能会对根级别的服务器或整个网络基础设施系统造成损害。
- 高危漏洞(High)
- 该类型的漏洞可能会使攻击者获取对主机的控制权限,漏洞利用可能导致特权提升、敏感信息的泄漏或者宕机等风险。
- 中危漏洞(Medium)
- 此类型的漏洞一般很难被利用,往往需要攻击者通过社会工程学的手段或者与被攻击对象处于同一局域网中才可能访问存储在主机上的特定信息。此级别的漏洞可能会造成文件内容的部分泄露、对主机上某些文件的访问以及目录浏览等。、
- 低危漏洞(Low):
- 该类漏洞的影响一般很小,利用这些漏洞通常需要本地或物理接入方式访问系统。攻击者可以收集有关主机的信息(例如,开放的端口和服务等),并且利用这些信息来查找其他漏洞。
- 漏洞生命周期
- 漏洞生命周期主要包含漏洞产生、漏洞发现、漏洞公开、补丁发布、补丁应用以及漏洞消亡六个阶段。
- 对于一个漏洞,漏洞产生是指在软件的设计、开发和发布过程中引入该漏洞的阶段;
- 漏洞发现是指通过人工或自动工具挖掘出该漏洞的阶段;
- 漏洞公开是指软件厂商或其它研究人员在世界范围内公开该漏洞的技术细节以及验证代码;
- 补丁发布是指厂商或其它研究人员向软件用户发布用于修复该漏洞的代码或替换文件;
- 补丁应用是指软件用户根据发布的补丁文件,对存在漏洞的软件进行修复的过程;
- 漏洞消亡是指在补丁发布且大部分用户已经进行相应修复操作后该漏洞继续大规模存在的可能性较低的阶段。
- 不同阶段的漏洞名称
- 从漏洞产生到漏洞发现之间,由于并未有任何个人或组织感知到该漏洞的存在,因此,此时的漏洞称为未知漏洞。相应的,漏洞发现以后的漏洞称为已知漏洞。在已知漏洞中,根据是否被公开可以划分为未公开漏洞和已公开漏洞。为了将漏洞在被发现后的不同阶段进行细粒度区分,人们引入了零日漏洞(0-day)、一日漏洞(1-day)以及历史漏洞的概念。
- 0-day 漏洞是指从漏洞发现到补丁发布之前的漏洞;1-day 漏洞是指在补丁发布到补丁应用之间的漏洞;历史漏洞是指大部分软件用户已经进行针对性修复之后的漏洞。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果