1.漏洞的概念
漏洞:漏洞也称为脆弱性(vulnerability),漏洞是计算机系统的硬件、软件、协议在系统设计、具体实现、系统配置或安全策略上存在的缺陷。
漏洞的详细解释:
首先——漏洞是计算机系统本身存在的缺陷;
其次——漏洞的存在和利用都一定的环境要求;
最后——漏洞的存在本身是没有危害的,只有被攻击者恶意利用,才能给计算机系统带来威胁和损失。
2.软件漏洞对软件的安全运行影响
(1)软件漏洞影响广泛:软件漏洞会影响绝大多数的软硬件设备。
(2)软件漏洞的隐蔽性:软件漏洞本身的存在没有危害,只有被攻击者在一定
条件下利用才会影响系统安全。
(3)软件漏洞存在的长久性:一个软件系统的漏洞会伴随这个系统整个生命周期。
(4)软件漏洞危害性大:软件漏洞一旦被攻击者利用,会威胁软件系统的安全。
3.漏洞分类
(1)按照软件漏洞被攻击者利用的地点进行分类
①本地利用漏洞
本地利用漏洞是指攻击者必须在本机拥有访问权限的前提下才能攻击并利用的软件漏洞。
②远程利用漏洞
远程利用漏洞是指攻击者可以直接通过网络发起攻击并利用的软件漏洞,此类漏洞也蠕虫病毒主要利用的漏洞。
(2)根据漏洞形成原因分类
①输入验证错误漏洞
输入验证错误漏洞是由于未对用户输入数据的合法性进行验证,使攻击者能利用漏洞非法进入系统。
②缓冲区溢出漏洞
缓冲区溢出漏洞是由于向程序的缓冲区中输入的数据超过其规定长度,造成缓冲区溢出,破坏程序正常的堆栈,使程序执行其他指令。
③设计错误漏洞
设计错误漏洞是由于程序设计错误而导致的漏洞,大多数的漏洞都可归类于设计错误。
④意外情况处置情况漏洞
意外情况处置错误漏洞是由于程序在实现逻辑中没有考虑到一些意外情况,而导致运行出错。
⑤访问验证错误漏洞
访问验证错误漏洞是由于程序的访问验证部分存在某些逻辑错误,使攻击者可以绕过访问控制进入系统。
⑥配置错误漏洞
配置错误漏洞是由于系统和应用的配置有误,或配置参数。访问权限、策略安装位置有误造成的。
⑦竞争条件漏洞
由于程序处理文件等实体时在时序和同步方面存在缺陷,导致攻击者可以利用存在的机会窗口施以外来影响。
⑧环境错误漏洞
环境错误漏洞是由于一些环境变量的错误或恶意设置造成的漏洞。
⑨外部数据被异常执行漏洞
外部数据被异常执行漏洞是指攻击者在外部非法输入的数据,被系统作为代码解释执行,典型的有sql注入和xss。
(3)按照漏洞生命周期不同阶段分类
①0day漏洞
0day漏洞指还处于未公开状态的漏洞。这类漏洞只在攻击者个人或小范围黑客团体内使用,网络用户和厂商都不知请,因此没有任何防范手段,危害极大。
②1day漏洞
1day漏洞通常指发布补丁时间不长的漏洞。由与了解此漏洞并安装补丁的人不多,这种漏洞任然存在一定危害。
③已公开漏洞
已公开漏洞是指厂商已经发布补丁或修补方法,大多数用户都已经打过补丁的漏洞。这种漏洞的危害较小。
(4)按照漏洞登记划分
软件漏洞危险等级划分的方法有很多,一般分为高危、中危、低危三个危险级别,或者进一步细分为四个危险级别:紧急、重要、中危、低位
①紧急
这类危险级别是最高的等级,可以导致网络蠕虫和病毒在用户不知情的情况下在网络上任意传播和繁殖,或者导致执行远程恶意代码。
②重要
可以导致严重的后果,包括导致远程恶意代码执行,或者导致权限提升。
③中危
可以危害用户数据和相关资料的可用性。这类漏洞包括拒绝服务攻击漏洞等。
④低危
利用漏洞难度大,不能起到危害用户数据的可用性、完整性。