西门子PLC主机CPU226CN
下面分别从时间、空间和可利用性三个维度来分析漏洞的特点。
(1)持久性与时效性
一个软件系统从发布之日起,随着现代软件功能越来越强,功能组件越来越多,软件也变得越来越复杂。现在基于网络的应用系统更多地采用了分布式、集群和可扩展架构,软件内部结构错综复杂。软件应用向可扩展化方向发展,成熟的软件也可以接受开发者或第三方扩展,系统功能得到扩充。例如,Firefox和Chrome浏览器支持第三方插件;Windows操作系统支持动态加载第三方驱动程序;Word和Excel等软件支持第三方脚本和组件运行等。这些可扩展性在增加软件功能的同时,也加重了软件的安全问题。研究显示,软件漏洞的增长与软件复杂性、代码行数的增长呈正比,即“代码行越多,缺陷也就越多”。3.新技术、新应用产生之初即缺乏安全性考虑
作为互联网基础的TCP/IP协议栈,以及众多的协议及实现(如OpenSSL),在设计之初主要强调互联互通和开放性,没有充分考虑安全性,且协议栈的实现传统软件开发更倾向于软件功能,而不注重对安全风险的管理。软件开发公司工期紧、任务重,为争夺客户资源、抢夺市场份提供了根据漏洞机制进行分类的方法,它将漏洞大致分为十二大类,包括随机不充分、被索引资源的不当访问、在资源生命周期中的不当控制、相互作用错误、控制管理不充分、计算错误、不充分比较、保护机制失效、名称或内存破坏类。此类漏洞的共同特征是由于某种形式的非预期的内存越界访问(读、写或兼而有之),可控程度较好的情况下可执行攻击者指定的任意指令,其他的大多数情况下会导致拒绝服务或信息泄露。对内存破坏类漏洞再按来源细分,可以分出如下子类
型:栈缓冲区溢出、堆缓冲区溢出、静态数据区溢出、格式串问题、越界内存访问、释放后重用和二次释放。
2)逻辑错误类。涉及安全检查的实现逻辑上存在的问题,导致设计的安全机制被绕过。
3)输入验证类。漏洞来源都是由于对来自用户输入没有做充分的检查过滤就用于后续操作,威胁较大的有以下几类:SQL注入、跨站脚本执行、远程或本地文件包含、命令注入和目录遍历。
4)设计错误类。系统设计上对安全机制的考虑不足导致在设计阶段就已经引入安全漏洞。
5)配置错误类。系统运行维护过程中以不正确的设置参数进行安装,或被安装在不正确的位置。
(2)基于漏洞利用位置的分类
1)本地漏洞。即需要操作系统级的有效账号登录到本地才能利用的漏洞,主要构成为权限提升类漏洞,即把自身的执行权限从普通用户级别提升到管理员级别。
2)远程漏洞。即无需系统级的账号验证即可通过网络访问目标进行利用的漏洞。
(3)基于威胁类型的分类
1)获取控制。即可以导致劫持程序执行流程,转向执行由中国信息安全测评中心负责建设运维的CNNVD,漏洞分级划分综合考虑访问路径、利用复杂度和影响程度3种因素,将漏洞按照危害程度从高至低分为超危、高危、中危和低危4种等级,并保持与CVSS