首 页 本刊概况 出 版 人 发行统计 在线订阅 欢迎投稿 市场分析 1 组织交流 1 关于我们
 
1
   通信短波
1
   新品之窗
1
   优秀论文
1
   通信趋势
1
   特别企划
1
   运营商动态
1
   技术前沿
1
   市场聚焦
1
   通信视点
1
   信息化论坛
1
当前位置:首页 > 优秀论文
计算机安全漏洞研究
作者:朱艳玲 牛少彰 北京邮电大学计算机学院
来源:不详
更新时间:2009/9/19 19:29:00
正文:

随着计算机技术和信息技术的迅速发展,操作系统漏洞、应用软件漏洞、硬件漏洞、由于用户不良操作习惯所造成的人为漏洞等计算机安全漏洞问题逐渐引起了广大计算机用户的重视。漏洞是实施网络攻击和加强网络防护的关键因素,计算机安全漏洞研究是计算机安全体系的研究基础。为了更好地了解计算机系统中存在的漏洞隐患,阻止或消除安全漏洞,我们应该明确计算机安全漏洞的定义,了解漏洞的主要特点,掌握漏洞的分类原则和分类方法。
1. 漏洞的定义
大多数用户对于计算机安全漏洞的概念或多或少会有一定的理解,但是他们所处的领域不同、看待漏洞的角度不同,导致对漏洞的理解也各不相同。因此,在研究漏洞的过程中,至今对漏洞的精确定义还没有形成一个统一的、标准的解释,目前被广泛接收的定义有以下三种。
Denning 在《Cryptograph and Data Security》一文中从访问控制的角度给出了漏洞的定义,他认为,系统中主体对对象的访问是通过访问控制矩阵实现的,这个访问控制矩阵就是安全策略的具体实现,应该明确描述系统中的每一个主体可以执行什么操作、不可以执行什么操作。当操作系统的操作和安全策略之间相冲突时,就产生了安全漏洞。因此,从访问控制角度来讲,计算机漏洞就是指导致操作系统执行的操作和访问控制矩阵所定义的安全策略之间相冲突的所有因素。
Bishop 和 Baily 在《A Critical Analysis of Vulnerability Taxonomies》中认为,计算机系统是由若干描述实体配置的当前状态所组成的,系统通过应用程序的状态转变改变系统的状态。这些状态可分为授权状态、非授权状态以及易受攻击状态、不易受攻击状态。容易受攻击的状态是指通过授权的状态转变从非授权状态可以到达的授权状态。受损状态是指已完成这种转变的状态,攻击是非受损状态到受损状态的状态转变过程。因此,从状态空间角度来讲,漏洞就是指区别于所有非受损状态的容易受攻击的状态特征。
Longstaff和shain在1990年出版的“The Data & Computer Security Dictionary of Standards,Concepts,and Terms”中认为,漏洞是指系统中存在的任何不足或缺陷。他们认为,在计算机安全中,可以从以下两个方面来理解漏洞的含义:一方面,漏洞是指自动化系统安全过程、管理控制以及内部控制等中的缺陷,它能够被威胁利用,从而获得对信息的非授权访问或者破坏关键数据处理。另一方面,漏洞是指在物理层、组织、程序、人员、软件或硬件方面的缺陷,它能够被利用而导致对自动数据处理系统或行为的损害。
这三个定义分别从不同的层次和角度对漏洞做出了解释,从以上的这三个定义我们可以看出,漏洞除了系统本身固有的缺陷之外,还应包含用户的不当配置、管理或制度上的风险或是其它许多非技术因素造成的不足或错误。概括起来,漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
2. 漏洞的特点
计算机漏洞是一个比较独特的抽象概念,它具有以下特点:
(1)计算机安全漏洞的存在并不能导致损害,但是它可以被攻击者利用,从而造成对系统安全的威胁和破坏。计算机安全漏洞也不同于一般的计算机故障,漏洞的恶意利用能够影响人们的工作、生活,甚至会带来灾难的后果。
(2)漏洞是普遍存在的,例如,软件编程过程中出现逻辑错误是很普遍的现象,而这些错误绝大多数都是由疏忽造成的。
(3)漏洞是在硬件、软件、协议的具体实现或具体使用的过程中产生的错误,但并不是系统中存在的错误都是安全漏洞,只有能威胁到系统安全的错误才是漏洞。许多错误在通常情况下并不会对系统安全造成危害,只有被人在某些条件下故意使用时才会影响系统安全。
(4)漏洞和具体的系统环境密切相关,在不同种类的软、硬件设备中,同种设备的不同版本之间,不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。
(5)漏洞问题是与时间紧密相关的,而且是长期存在的。随着时间的推移,旧的漏洞会不断得到修补或纠正,而在修补或纠正旧的漏洞的同时,可能会导致一些新的漏洞或错误,而且随着用户的深入使用,系统中存在的漏洞会被不断暴露出来,因此,漏洞将会长期存在。
3. 漏洞的分类
计算机安全漏洞的分类研究是漏洞研究的基础。从不同的角度和层次分析现有漏洞,提取各种漏洞之间的共性和异性,准确的对漏洞进行分类,可以帮助我们更好地理解各种漏洞的起因、基本特点、利用方式、影响后果等本质,提高漏洞的检测效率,从而提出正确的方案并采取有效的措施来预防和解决漏洞问题,提高计算机及网络的总体安全性能。
3.1 分类原则
准确提取待分类对象的分类特征是成功分类的关键。分类特征一般也叫做对象的属性,这些特征应该是容易、客观地从对象中得到。为了对计算机安全漏洞进行规范、合理、科学的分类,保证分类结果的准确性,在对计算机漏洞进行分类时,应该遵循以下几个原则:
(1)客观性:分类特征必须是从观察研究中清楚得到的,而不是来自于研究者的主观意见或理论推断;
(2)互斥性:分类不允许重叠,也就是说分类之后,一个对象只能属于一个类别,不能同时属于两个不同的类别;
(3)完备性:所有类别的叠加必须要能够涵盖所有可能性,即每个分类都必须包含符合该分类条件的所有对象;
(4)确定性:提取分类特征必须有一个明确的、可以遵循的步骤;
(5)特异性:分类特征值必须都是确定的、唯一的;
(6)可重复性:无论何人做分类工作,只要遵循分类规则,不论重复多少次,得到的分类结果必须是相同的;
(7)可扩展性:分类方案必须适应可能会引入的新的漏洞类别以及以新方式出现的旧的漏洞;
(8)可被接受性:分类方法应该合乎逻辑和直觉,可以被大多数人理解和接受;
(9)可用性:可以方便、快速地查询分类结果,并且有利于对调查领域的深入研究;
3.2目前常用的计算机安全漏洞分类方法
早期的计算机安全漏洞分类方法有很多种,主要有PA分类法、RISOS分类法、Aslam分类法和Eric Knight分类法等。由于近年来计算机安全漏洞层出不穷,而且漏洞的起因、漏洞的种类、漏洞的利用方式以及漏洞的影响结果各不相同,仅靠早期的那些分类方法已经不能满足对目前存在的各种漏洞进行分类的要求。因此,综合目前计算机安全漏洞的特性,业界又提出了一些新的漏洞分类方法,下面介绍几种目前常用的分类方法。
(1)按漏洞的形成原因分类
在研究漏洞的形成原因时,对其研究的抽象层次不同,得到的结果也可能不同,进而会导致对同一个漏洞做出不同的分类,所以利用漏洞的成因对漏洞分类比较困难。根据漏洞的形成原因可以把漏洞分为编码错误和环境配置错误两大类,如果要进一步细分的话,可以分为以下几类:
1)输入验证错误
这类漏洞的形成原因是由于未对用户提供的输入数据的合法性作适当的检查,使攻击者非法进入系统。例如:应用程序没有正确识别输入错误、模块接收了无关的输人数据、模块无法处理空输人域、域值关联错误等都会导致输入验证错误。
2)缓冲区溢出错误
这类漏洞的形成原因是由于向程序的缓冲区中录入的数据超过其规定长度造成缓冲区溢出,破坏程序正常的堆栈,使程序执行其他命令。
3)边界条件错误
这类漏洞的形成原因是未对边界条件进行有效性验证。例如:当一个进程读或写超出有效地址边界的数据、系统资源耗尽、固定结构长度的数据溢出等都会导致边界条件错误;
4)访问校验错误
这类漏洞的形成原因是由于程序的访问验证部分存在某些逻辑错误,使攻击者可以绕过访问控制进入系统。例如:一个对象的调用或其他操作在其访问域之外、一个对象接收了另一个未授权对象的输入、系统没有正确地进行授权操作等都会导致访问校验错误。
5)意外情况处置错误
这类漏洞的形成原因是由于程序在它的实现逻辑中没有考虑到一些意外情况,系统没有正确处理由功能模块、设备或用户输人等造成的异常情况而导致运行出错。
6)设计错误
这个类别是非常笼统的,严格来说,大多数漏洞的存在都是设计错误。
7)竞争条件错误
这类漏洞的形成原因是由于程序处理文件等实体在时序和同步方面存在问题,存在一个机会窗口使攻击者能够施以外来的影响。
8)顺序化操作错误
这类漏洞的形成原因是由于不正确的序列化操作而造成的错误。
9)环境错误
这类漏洞的形成原因是由于一些环境变量的错误或恶意设置而导致有问题的特权程序可能去执行攻击代码。例如:在特定的环境中模块之间的交互造成错误、一个程序在特定的机器或特定的配置下将出现错误、操作环境与软件设计时的假设不同造成错误等。
10)配置错误
这类漏洞的形成原因是由于系统和应用的配置有误。例如:访问权限配置错误、参数配置错误、系统被安装在不正确的地方或位置等。
(2)按威胁的来源分类
根据威胁的来源一般把漏洞分为主机方面漏洞、网络方面漏洞、物理方面及管理方面漏洞这四种类型。主机方面漏洞主要是操作系统、主机设备等方面引起的漏洞;网络方面漏洞主要指各种网络入侵、协议缺陷、网络介质的脆弱性等引起的漏洞;物理方面漏洞主要指环境区域、设备安全等方面引起的漏洞,但又是最重要的隐患;管理方面漏洞主要人员管理、培训等存在的问题引起的漏洞,也是一个非常可怕的隐患。
(3)按漏洞可能对系统造成的直接威胁分类
根据漏洞对系统安全造成的直接威胁可分为远程管理员权限,本地管理员权限,普通用户访问权限,权限提升,远程拒绝服务,本地拒绝服务,远程非授权文件存取,服务器信息泄露,读取受限文件,口令恢复,欺骗等。
1)远程管理员权限
攻击者无须一个账号登录到本地直接获得远程系统的管理员权限,通常通过攻击以root身份执行的有缺陷的系统守护进程来完成。漏洞的绝大部分来源于缓冲区溢出,少部分来自守护进程本身的逻辑缺陷。
2)本地管理员权限
攻击者在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷的suid程序等手段,得到系统的管理员权限。
3)普通用户访问权限
攻击者利用服务器的漏洞,取得系统的普通用户存取权限,对UNIX系统通常是shell访问权限,对Windows系统通常是cmd.exe的访问权限,能够以一般用户的身份执行程序,存取文件。攻击者通常攻击以非root身份运行的守护进程,有缺陷的cgi程序等手段获得这种访问权限。
4)权限提升
攻击者在本地通过攻击某些有缺陷的sgid程序,把自己的权限提升到某个非root用户的水平。获得管理员权限可以看做是一种特殊的权限提升,只是因为威胁的大小不同而把它独立出来。
5)远程拒绝服务
攻击者利用这类漏洞,无须登录即可对系统发起拒绝服务攻击,使系统或相关的应用程序崩溃或失去响应能力。这类漏洞通常是系统本身或其守护进程有缺陷或设置不正确造成的。
6)本地拒绝服务
在攻击者登录到系统后,利用这类漏洞,可以使系统本身或应用程序崩溃。这种漏洞主要是因为程序对意外情况的处理失误,如写临时文件之前不检查文件是否存在,盲目跟随链接等。
7)远程非授权文件存取
利用这类漏洞,攻击可以不经授权地从远程存取系统的某些文件。这类漏洞主要是由一些有缺陷的cgi程序引起的,它们对用户输入没有做适当的合法性检查,使攻击者通过构造特别的输入获得对文件存取。
8)服务器信息泄露
利用这类漏洞,攻击者可以收集到对于进一步攻击系统有用的信息。这类漏洞的产生主要是因为系统程序有缺陷,一般是对错误的不正确处理。
9)读取受限文件
攻击者通过利用某些漏洞,读取系统中他应该没有权限的文件,这些文件通常是与安全相关的。这些漏洞的存在可能是文件设置权限不正确,或者是特权进程对文件的不正确处理和意外dump core使受限文件的一部份dump到了core文件中。
10)口令恢复
由于采用了很弱的口令加密方式,所以攻击者可以很容易的分析出口令的加密方法,从而使攻击者通过某种方法得到密码后还原出明文来。
11)欺骗
利用这类漏洞,攻击者可以对目标系统实施某种形式的欺骗。这通常是由于系统的实现上存在某些缺陷。
(4)按漏洞的严重性分类
一般来说,漏洞的威胁类型基本上决定了它的严重性,我们可以把严重性分成高,中,低3个级别。远程和本地管理员权限大致对应为高;普通用户权限,权限提升,读取受限文件,远程和本地拒绝服务大致对应中级;远程非授权文件存取,口令恢复,欺骗,服务器信息泄露大致对应低级别。
(5)按漏洞被攻击者利用的方式分类
1)本地漏洞
攻击者是系统本地的合法用户或已经通过其他攻击方法获得了本地权限的非法用户。攻击者必须在本机拥有访问权限前提下才能发起攻击的漏洞。比较典型的是本地权限提升漏洞,这类漏洞在系统中广泛存在,能让普通用户获得最高管理员权限。
2)远程漏洞
攻击者是通过网络对连接在网络上的任意一台机器进行攻击,可分为入侵攻击与破坏攻击两种方式。攻击者可以利用并直接通过网络发起攻击的漏洞。这类漏洞危害极大,攻击者能随心所欲的通过此漏洞操作他人的电脑,并且此类漏洞很容易导致蠕虫攻击。
4. 研究现状
美国一直重视计算机安全漏洞的研究工作,并且取得了许多优异的成果。20世纪70年代中期,美国南加州大学启动了PA(Protection Analysis Project)研究计划,主要针对操作系统的安全缺陷进行研究;美国国家标准局(National Bureau of Standards )启动了RISOS项目,主要针对当时的操作系统脆弱性问题进行研究;1990年,美国伊利诺伊大学的 Brian Marick对软件漏洞的形成特点做了统计分析,并发表了一篇关于软件漏洞的调查报告;1993 年,美国海军研究实验室(Naval Research Laboratory)的Landwher等人收集了不同操作系统的安全缺陷,按照漏洞的来源、形成时间和分布位置建立了三种分类模型,在分类方法中第一次引入了时间和空间的概念;普渡大学COAST 实验室的Taimur,Aslam, Ivan Krsul 和 Eugene H.Spafford提出了更为完整的漏洞分类摸型,并建立了专用漏洞数据库漏洞,分类方法第一次被用于该实验室的漏洞库;MITRE 公司从事的“公共漏洞列表” (Common Vulnerability Enumeration,CVE)工作,为每个漏洞建立了统一标识,方便了漏洞研究的信息共享及数据交换。此外,许多国家的官方组织、规模较大的工商企业和专门从事IT安全领域的企业等,很大程度地推动了漏洞数据库领域的研究工作。近年来,日本、德国、澳大利亚等国家也做出了巨大的投入,参与了此方面的研究。
在国内,关于系统安全漏洞理论研究方面的论文和参考文献还不多,但一些知名的信息与网络安全公司、组织都陆续创建了自己的漏洞数据库,如绿盟科技,安全焦点,中国信息安全论坛,安络科技,中国教育和科研计算机网紧急响应组(CCERT),国家计算机网络应急处理协调中心等。
近几年来,漏洞的挖掘技术更加自动化和智能化,使得发现的漏洞数量剧增,发现漏洞的位置也不再仅仅局限于操作系统和服务器,而是多集中在Web浏览器、数据或系统备份恢复软件、防病毒软件、Microsoft Office、邮件客户端、多媒体播放软件等客户端软件上。目前,计算机安全漏洞研究的热点领域主要有:ActiveX 控件漏洞、文件格式漏洞、Web 漏洞、虚拟机漏洞、驱动程序漏洞、安全软件漏洞等等。
对于计算机安全漏洞,国际和国内的态度是完全不一样的。国外对发现漏洞的态度是公开透明的,用户可以了解情况并及时进行修补,而国内则对发现漏洞的态度则是相反的,是不透明的,用户无法及时了解有关情况。另外,国内在安全漏洞研究领域还存在着很多问题,比如:国内创建的漏洞数据库在实时性,更新性,完整性,以及在分类方面,都有所缺陷,而且没有一个统一的标准,尤其是关于漏洞的利用方面的信息很少,缺乏对漏洞的进一步分析、研究和归纳,不能反应漏洞的本质特征,在漏洞信息的查询、检索方面也很不方便,使这些漏洞信息难以得到充分的利用。
5. 小结
计算机系统安全漏洞研究是计算机安全体系研究的基础,充分理解计算机安全漏洞的含义和主要特点,掌握漏洞的分类原则和分类方法,有助于增强对计算机安全漏洞本质的进一步理解,了解系统中可能存在的漏洞隐患,从而有针对性地消除或阻止安全漏洞,使计算机安全专家更加针对性地寻找、分析、发现未知的漏洞,达到防范于未然的目的。

参考文献
[1]汪贵生,夏阳,计算机安全漏洞分类研究,计算机安全,2008年(11).
[2]王磊,计算机系统安全漏洞研究,中国优秀硕士学位论文全文数据库,2004年.
[3]单国栋,戴英侠,王航,计算机漏洞分类研究,计算机工程,2002年10月.
[4]张玉清,网络安全漏洞研究,信息网络安全,2008年(11).

 
 
   
《通信市场》 中国·北京·复兴路49号通信市场(100036) 点击查看具体位置
电话:86-10-6820 7724, 6820 7726
京ICP备05037146号-8
建议使用 Microsoft IE4.0 以上版本 800*600浏览 如果您有什么建议和意见请与管理员联系