安全漏洞概念及分类

目录
Ⅰ安全漏洞及相关的概念 (2)
一、安全漏洞的定义 (2)
二、安全漏洞与Bug的关系 (3)
三、已知漏洞的数量 (3)
Ⅱ安全漏洞的分类 (4)
一、基于利用位置的分类 (4)
1.本地漏洞 (4)
2.远程漏洞 (4)
二、基于威胁类型的分类 (5)
1.获取控制 (5)
2.获取信息 (5)
3.拒绝服务 (5)
三、基于技术类型的分类 (5)
1.内存破坏类 (5)
⑴.栈缓冲区溢出 (6)
⑵.堆缓冲区溢出 (9)
⑶.静态数据区溢出 (10)
⑷.格式串问题 (10)
⑸.越界内存访问 (11)
⑹.释放后重用 (12)
⑺.二次释放 (13)
2.逻辑错误类 (13)
3.输入验证类 (15)
⑴.SQL注入 (15)
⑵.跨站脚本执行(XSS) (15)
⑶.远程或本地文件包含 (16)
⑷.命令注入 (18)
⑸.目录遍历 (18)
4.设计错误类 (20)
5.配置错误类 (23)
安全漏洞概念及分类
本文是一个安全漏洞相关的科普,介绍安全漏洞的概念认识,漏洞在几个维度上的分类及实例展示。
Ⅰ安全漏洞及相关的概念
齐白石的人格
本节介绍什么是安全漏洞及相关的概况。
一、安全漏洞的定义
我们经常听到漏洞这个概念,可什么是安全漏洞?想给它一个清晰完整的定义其实是非常困难的。如果你去搜索一下对于漏洞的定义,基本上会发现高大上的学术界和讲求实用的工业界各有各的说法,漏洞相关的各种角,比如研究者、厂商、用户,对漏洞的认识也是非常不一致的。
从业多年,我至今都不到一个满意的定义,于是我自己定义一个:
安全漏洞是信息系统在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响清贫思想
这是一个从研究者角度的偏狭义的定义,影响的主体范围限定在了信息系统中,以尽量不把我们所不熟悉的对象扯进来。
漏洞之所以被描述为某种”问题”,是因为我发现无法简单地用脆弱性、缺陷和Bug等概念来涵盖它,而更象是这些概念的一个超集。
漏洞会在系统生命周期内的各个阶段被引入进来,比如设计阶段引入的一个设计得非常容易被破解的加密算法,实现阶段引入的一个代码缓冲区溢出问题,运维阶段的一个错误的安全配置,这些都有可能最终成为漏洞。
定义对安全的影响也只涉及狭义信息安全的三方面:机密性、完整性和可用性。漏洞造成的敏感信息泄露导致机密性的破坏;造成数据库中的信息被非法篡改导致完整性的破坏;造成服务器进程的崩溃导致可用性的丧失。漏洞也可能同
时导致多个安全属性的破坏。
黄金龟甲虫二、安全漏洞与Bug的关系
漏洞与Bug并不等同,他们之间的关系基本可以描述为:大部分的Bug影响功能性,并不涉及安全性,也就不构成漏洞;大部分的漏洞来源于Bug,但并不是全部,它们之间只是有一个很大的交集。可以用如下这个图来展示它们的关系:
三、已知漏洞的数量
各个漏洞数据库和索引收录了大量已知的安全漏洞,下表是一个主流漏洞库的数量的大致估计,漏洞一般最早从20世纪90年代开始:
事实上,即便把未知的漏洞排除在外,只要订了若干漏洞相关的邮件列表就会知道:并不是所有漏洞数据库都会收录,就算把上面的所列的数据库中的所有条目加起来去重以后也只是收录了一部分的已知漏洞而已,实际的已知漏洞数比总收录的要高得多。t800碳纤维
Ⅱ安全漏洞的分类
和其他事物一样,安全漏洞具有多方面的属性,也就可以从多个维度对其进行分类,重点关注基于技术的维度。注意,下面提到的所有分类并不是在数学意义上严格的,也就是说并不保证同一抽象层次、穷举和互斥,而是极其简化的出于实用为目的分类。
一、基于利用位置的分类
1.本地漏洞
需要操作系统级的有效帐号登录到本地才能利用的漏洞,主要构成为权限提升类漏洞,即把自身的执行权限从普通用户级别提升到管理员级别。
实例:
-Linux Kernel  2.6udev Netlink消息验证本地权限提升漏洞(CVE-2009-1185)
攻击者需要以普通用户登录到系统上,通过利用漏洞把自己的权限提升到root用户,获取对系统的完全控制。畸胎
2.远程漏洞
无需系统级的帐号验证即可通过网络访问目标进行利用,这里强调的是系统级帐号,如果漏洞利用需要诸如FTP用户这样应用级的帐号要求也算是远程漏洞。圆极化天线
实例:
-Microsoft Windows DCOM RPC接口长主机名远程缓冲区溢出漏洞(MS03-026)(CVE-2003-0352)
攻击者可以远程通过访问目标服务器的RPC服务端口无需用户验证就能利用漏洞,以系统权限执行任意指令,实现对系统的完全控制。
二、基于威胁类型的分类
1.获取控制
可以导致劫持程序执行流程,转向执行攻击者指定的任意指令或命令,控制应用系统或操作系统。威胁最大,同时影响系统的机密性、完整性,甚至在需要的时候可以影响可用性。
主要来源:内存破坏类、CGI类漏洞
2.获取信息
可以导致劫持程序访问预期外的资源并泄露给攻击者,影响系统的机密性。主要来源:输入验证类、配置错误类漏洞
3.拒绝服务
可以导致目标应用或系统暂时或永远性地失去响应正常服务的能力,影响系统的可用性。
主要来源:内存破坏类、意外处理错误处理类漏洞。
三、基于技术类型的分类
基于漏洞成因技术的分类相比上述的两种维度要复杂得多,对于目前我所见过的漏洞大致归纳为以下几类:
-内存破坏类-逻辑错误类-输入验证类-设计错误类-配置错误类
以下是对这几类漏洞的描述和实例分析。
1.内存破坏类
此类漏洞的共同特征是由于某种形式的非预期的内存越界访问(读、写或兼

本文发布于:2024-09-22 23:23:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/349553.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:漏洞   分类   安全漏洞   系统   影响   导致   概念   利用
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议