计算机网络系统安全漏洞的研究_第1页
计算机网络系统安全漏洞的研究_第2页
计算机网络系统安全漏洞的研究_第3页
计算机网络系统安全漏洞的研究_第4页
计算机网络系统安全漏洞的研究_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代电子技术!2006年第1期总第216期 通信与信息技术计算机网络系统安全漏洞的研究傅翠娇,曹庆华(北京航空航天大学计算机学院 北京 100083)摘 要:为了从根本上解决计算机网络中的漏洞问题,从漏洞产生的原因出发进行研究,针对其中的一类漏洞提出了解决方案:即通过对客户端系统中的软件进行特殊的扫描加密方法,使攻击者不能绕过其访问控制,从而避免了访问验证错误引起的漏洞。最后,指出从漏洞产生的原因来解决系统安全漏洞问题必将是漏洞研究的发展趋势。关键词:系统安全漏洞;访问控制;加密;检测中图分类号:TP393 08 文献标识码:A 文章编号:1004373X(2006)0106504Studyo

2、fVulnerabilityintheComputerNetworkFUCuijiao,CAOQinghua(ComputerCollege,BeihangUniversity,Beijing,100083,China)Abstract:Allkindsofvulnerabilitymakethetaskofsecuritybecomingmoreandmoredifficultinthenetworkera.Vulnerabilityinthecomputernetwork,currenttechnologydetecttheminvulnerabilityfeaturematchingwa

3、ysonthewhole,thereistheweaknessthatvulnerabilitydatabaseisn tupdatedtimely.Ifthedatabasecan tbeupdatedtimely,itwillaffecttheabilityofdetection,thenewvulnerabilitywillescapebeingdetectedandunknownvulnerabilitycan tbefound.Forthesakeofsolvingthisproblemradically,thearticlestudiesvulnerabilityfromtheca

4、useofvulnerabilityangle.Itputsforwardaschemetoonekindofvulnerability,bythespecialscanandencrypttosoftwareinclient,itmakesattackercan tbypassitsaccesscontrol.Inthisway,itcanpreventthevulnerabilitycausedbyaccessverificationmistaken.Inthelast,thearticlepointsoutthecertaintrendwhichissolvingvulnerabilit

5、yfromthecauseofvulnerabilityangle.Keywords:vulnerability;accesscontrol;encrypt;detect1 引 言漏洞的存在,使得安全任务在网络时代变得无比艰巨。对于系统安全漏洞,现有技术基本上是采用漏洞特征匹配的方法进行检测,这种技术存在自身的缺点,即存在特征数据库更新的问题,如果不能及时对特征库进行更新势必会影响其漏洞检测能力,新的漏洞会逃过检测,并且也不能发现未知的漏洞。国外在漏洞方面的研究工作开始得比较早。早在20世纪70年代,美国就开始了关于操作系统保护错误PA(ProtectionAnalysis,保护分析)计划,目

6、的在于增强计算机操作系统的安全性。同时美国还进行了RISOS(Re searchinSecuredOperatingSystems,安全操作系统研究)计划,此项计划侧重于对操作系统中安全问题的理解以及加强系统安全的方法1。此后人们便开始进行系统安全漏洞方面的研究。对系统安全漏洞的研究,有利于修补已知的漏洞、发现未知的漏洞,从而减少系统安全漏洞被攻击者利用的可能性,降低安全事件的发生率。此外,系统收稿日期:20050926安全漏洞的研究也是安全领域相关研究的基础,如风险评估、安全扫描、应急响应以及主动攻击等方面都会涉及系统安全漏洞的问题。2 问题的提出2.1 漏洞的概念系统安全漏洞,也叫系统脆弱

7、性(Vulnerability),简称漏洞,是计算机系统在硬件、软件、协议的设计与实现过程中或系统安全策略上存在的缺陷和不足。非法用户可以利用漏洞获得计算机系统的额外权限,在未经授权的情况下访问或提高其访问权限,从而破坏系统的安全性。漏洞是针对系统安全而言的,包括一切可导致威胁、破坏计算机系统安全性(完整性、可用性、保密性、可靠性、可控性)的因素1。任何一个系统,无论是软件还是硬件都不可避免地存在漏洞,所以从来都没有绝对的安全。当然漏洞的存在本身并不能对系统安全造成什么损害,关键的问题在于攻击者可以利用这些漏洞引发安全事件。2.2 现有的漏洞检测技术对于存在的漏洞一般是从漏洞检测和补救两方面来

8、加强系统的安全性。漏洞检测即通过一定的技术方法主65信息安全傅翠娇等:计算机网络系统安全漏洞的研究配置错误等。(6)环境错误由于一些环境变量的错误和恶意设置造成的漏洞,导致有问题的特权程序可能去执行攻击代码。(7)设计错误这个类别是非常笼统的,严格说来,大多数漏洞的存在都是设计错误。2动发现系统中未知的安全漏洞。现有的漏洞检测技术有源代码扫描、反汇编扫描、浸透分析、环境错误注入等1。源代码扫描、反汇编扫描以及浸透分析都是一种静态的漏洞检测技术,不需要程序运行即可分析程序中可能存在的安全漏洞,但是不能发现程序动态运行过程中存在的安全漏洞,而且会出现大量的误报。而环境错误注入是一种动态的漏洞检测技

9、术,他在程序动态运行过程中测试软件存在的漏洞,是一种较成熟的漏洞检测技术,但是他依赖于操作系统中已知的安全漏洞并且调试时间很难控制。对于检测到的系统漏洞通过安装最新的补丁进行修复。3 解决方案本文以访问验证错误引起的漏洞为例,研究这类漏洞的扫描防范方法。2.3 现有技术存在的问题对系统中的漏洞,现有的技术基本上是采用漏洞特征匹配的方法,这种技术有自身的缺点,即存在特征库更新的问题,如果不能及时对特征库进行更新势必会影响漏洞检测能力,新的漏洞会逃过检测。如果从漏洞产生的原因进行考虑,针对不同的原因采取相应的扫描技术,这样就可以提高安全扫描器检测新漏洞的能力。3.1 访问验证错误引起漏洞的原因攻击

10、者一般并不采用破解密码而是采用破解程序的办法,对目标程序进行反汇编,通过静态分析或是动态跟踪的办法找出判别真伪#和区别处置#的部分,用机器码修改程序,进行破解,原理就是利用程序的访问验证部分存在某些可利用的逻辑错误,绕过访问验证部分执行程序。以制作盗版为例,访问验证部分的汇编语言命令格式可能是:CALLCMPJZJNZ读入密码比较密码和内置密码如果比较结果为真,跳到某一入口,正常运行如果比较结果为假,跳到另一入口,异常运行32.4 漏洞产生的原因漏洞的产生主要是由于程序员不正确和不安全编程引起的。大多数程序员在编程初始没有考虑到安全问题。在后期,由于用户不正确的使用以及不恰当的配置都可以导致漏

11、洞的出现。分析漏洞产生的原因,目的就在于希望能够从根本上减少漏洞的产生。通过分类、统计分析,多数漏洞产生的原因有以下几种。(1)输入验证错误指漏洞的产生是由于未对用户提供的输入数据的合法性做适当的检查。(2)访问验证错误指漏洞的产生是由于程序的访问验证部分存在某些可利用的逻辑错误或者用于验证的条件不足以确定用户的身份而造成的。这类缺陷使得非法用户绕过访问控制成为可能,从而导致未经授权的访问。(3)竞争条件错误指漏洞的产生是由于程序在处理文件等实体时在时序和同步方面存在问题,在处理的过程中可能存在一个机会窗口使攻击者能够施以外来的影响。(4)例外情况处置错误指漏洞的产生是由于程序在他的实现逻辑中

12、没有考虑到一些本应该考虑的意外情况。这种错误比较常见,如没有检查文件是否存在就直接打开文件导致拒绝服务、没有检查文件是否存在就直接打开文件提取内容进行比较而绕过验证、上下文攻击导致执行任意代码等。(5)配置错误指漏洞的产生是由于系统和应用的配置有误,或是软件安装在错误的地方,或是参数配置错误,或者访问权限把第3行的条件跳跃#命令JZ改为无条件跳跃的JMP命令,即把程序中的条件转向语句改为无条件转向语句,无论程序读入的密码是否正确,程序都会正常运行。此外,如把第2行数据比较#命令CMP改为NOP(无动作)或是把第4行的条件跳跃#命令JNZ改为NOP命令,经过这样处理过的程序可以在输入任何字符串甚

13、至不输入密码下正常运行。一般反汇编后的程序很长,但若是程序在要求键盘输出密码时往往设置成如果3次输入出错,程序即中断#之类的条件为剖析程序提供了线索,破解起来就方便多了。3.2 现有的防范措施及其存在的问题实际使用的防范程序可能会比上述例子复杂得多:使用多个密钥,比如对密钥或密码再加密或加以运算等等。例如,Windows操作系统允许用户设定口令Password,该口令存放在扩展名为pwl(PassWordList)的文件中,若是 pwl文件中的数据与口令一致,非法用户用软盘启动电脑,打开 pwl文件即可盗用口令,采用加密技术使得 pwl中的数据和源码不同,能防范盗用口令,但是这些措施并不改变最

14、后以逻辑判断作出真#、假#等定性结论。程序员针对上述攻击做了一些防破解的措施,大体分为被动和主动两类。被动措施包括程序压缩、使用保护模式等。主动措施有反跟踪技术,干扰跟踪软件的运行。所有这些办法都增加了程序破解的困难,却并没改变防范机现代电子技术!2006年第1期总第216期制,也没有从根本上解决这类漏洞问题。通信与信息技术运算中的异或#(XOR)运算,生成事先设定的字符信息安全#4个汉字。见表1。3.3 新的防范措施的提出可以通过更好的加密方法,使其不能通过杀去#、绕过#之类的修改程序的手段来绕过访问控制。该加密方法包含3个步骤:(1)读取密码和密钥;(2)将密码和密钥作运算;(3)利用运算

15、结果作为后续程序的参数来运行。密码可以是程序中设置的数据或程序调入的数据,也可以是两者的结合;密码可以放置于一处或分置于数处。为使运算结果与后续程序的参数的对应关系更为复杂,所述利用运算结果做为后续程序的参数的步骤,可以将运算结果直接作为后续程序的参数,也可以将运算结果再做运算或转换后,作为后续程序的参数。运算结果可以是一个数,也可以是一组数,还可以将一个多位数的运算结果截成若干段,形成多个运算结果。运算结果可以是数值,也可以转换为字符,还可以把结果转换为名#,即文件名#或程序名#等。由于其不采用相符#判断原则,而是采用将密码和密钥的运算结果作为后续程序运行所需的参数的方法,于是密码和密钥就成

16、了运行程序的动力,是运行程序必不可少的部分,不能通过杀去#、绕过#之类的修改程序的手段来解决。并且做逻辑判断只能产生两三种后果,处置方法也比较少,容易进行动态跟踪;而使用十位十进制差数就能产生一百亿种不同的结果,而且缺乏特征,难以跟踪,也难以用机器码来修改、破解程序。图2 数字作密钥的流程图表1 把逻辑运算的结果转换成字符密码十六进制操作数D605CIE3A9B8EFAF逻 辑运算符XORXORXORXOR密 钥十进制操作符1728364964109988运算结果十六进制数DOC5CFA2B0B2C8AB相应的ASCII双字节汉字信息安全在程序中分别读入4个密钥,经逻辑运算后生成预先设定的和汉

17、字编码对应的十六进制数,然后转换成汉字,再把汉字赋值给字符串变量。后续程序中这样的变量可以作为名#,如,路径名、文件名、网站名,在有些语法语言中还能作为命令#。本例和上例合并起来就能构成文件名信息安全.DOC#,能调用一个叫信息安全#的Word文件。计算机软件通常有多个文件组成,各文件之间要勾连和调用,用正确的密钥产生正确的文件勾连和调用,错误的或不存在密钥就会出现错误。本例是用数字作密钥,最好用汉字作密钥,因为黑客利用的工具多是西方开发的,反汇编往往不把汉字等多字节字符的源代码显示出来。其执行步骤为:首先读取(4段)密码D605、C1E3、A988、EFAF#,读取(4段)密钥1728、36

18、49、6410、9988#,将密码和密钥逐对做XOR运算,得出运算结果D0C5、CFA2、B0B2、C8AB#,运算得出的4组2位十六进制数,按GB2312字符集换成汉字字符信#、息#、安#、全#,把以上汉字连接起来得到一字符串变量信息安全#后续程序中可以用上述字符串加扩展名打开和运行相应的文件,加扩展名 DOC#用以打开Word文件信息安全#,见图3。3.4 实现原理首先读取密码,然后读取密钥,对密码和密钥做运算,将运算结果拆分整合成数值和字符赋值给变量,上述变量作为后续程序中的参数、变元或名#,运行后续程序;如果是合法密钥,则正常运行,产生正确的结果,如果是非法密钥,则出现运行错误,产生错

19、误的或异常的结果4,见图1。图1 原理流程图以用数字作密钥产生一组数来影响后续程序为例:首先是设置密码109479655#,然后读取密钥62791688#,求得密码和密钥的差值46687967#,将上述结果截成46、68、79、67#,按十进制数值取ASCII字符.#,D#,O#,C#将以上字符相加成.DOC#将相应的字符串用于后续程序,见图2。再以把逻辑运算的结果转换成字符为例:本例对十六进制数的密码和十进制数的密钥作逻辑3.5 利用本方法应注意的问题需要说明的是密钥的选取取决于防范要求。比如,要求系统中安装好的软件,既要限制机器又要限制使用者,可以选取系统本身的特征参数和使用者的个人信息作

20、为密钥,把密钥告诉用户。密钥和密码的匹配要求是,经过程序指定的运算产生指定的结果进而生成预定的数或串用于后续程序中。密码可以放在其他程序中,可以放置在程序的一处也可以分散在几处。67信息安全傅翠娇等:计算机网络系统安全漏洞的研究4 结 语本文从访问验证错误引起的漏洞出发给出了相应的解决措施,提出了从漏洞产生原因的角度来解决系统安全漏洞问题的思想。只有针对各种漏洞产生的原因都有相应的扫描技术,才能从根本上解决系统中的漏洞问题。只有从根本上解决了漏洞问题,才能真正防御病毒的入侵7,确保系统的安全。从漏洞产生的原因来解决系统的漏洞问题必将是漏洞研究的发展趋势。图3 把逻辑运算的结果转换成字符的流程图

21、参 考 文 献1张玉清,戴祖锋,谢崇斌.安全扫描技术M.北京:清华大学出版社,2004.2翟钰,张玉清,武维善,等.系统安全漏洞研究及数据库实现J.计算机工程,2004,30(8):6870,148.3龚俭,陆晟,王倩.计算机网络安全导论M.南京:东南大学出版社,2000.4汪文虎.一种信息安全方法P.CN,011321660,C,2004225.5CVE编号:CAN漏洞S.6CVE编号:CAN息泄漏漏洞S.7王雨晨.系统漏洞原理与常见攻击方法J.计算机工程与应用,2001,37(3):6264,92.20021291.MicrosoftJVMCodebase信20050505.IRMLDAP

22、Login安全绕过3.6 实验数据证明在实验室环境下,对个人PC机上的系统实施了上述方案。用专用的安全扫描器对系统中的软件经过了上述过程的扫描加密处理后,可以防范IRMLDAPLogin安全绕过漏洞、MicrosoftJVMCodebase信息泄漏漏洞之类的访问验证错误漏洞6。本扫描加密方法对远程访问的攻击特别有效,因为远程访问是在远程执行程序,利用本方法,只要选取本机的系统特征参数作为密钥即可,如果程序不是在本机上运行,就不可执行。采用该方法就可以防范由于程序的访问验证部分存在某些可利用的逻辑错误或者由于验证的条件不足以确定用户的身份而使得非法用户绕过访问控制,从而导致未经授权的访问,也就避免了攻击者利用这类漏洞运行系统中的程序或者占用系统资源。5作者简介 傅翠娇 女,1979年出生,北京航空航天大学计算机学院在读硕士二年级。研究方向为网络安全。曹庆华 男,北京航空航天大学计算机学院教授。(上接第64页)用VPN技术,可以充分发挥VPN的高安全性、可扩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论