计算机软件中安全漏洞检测方法研究

(整期优先)网络出版时间:2010-05-15
/ 3

计算机软件中安全漏洞检测方法研究

龚伏廷

龚伏廷

(湖北生物科技职业学院,武汉430070)

摘要:随着计算机技术、网络技术以及信息技术的迅猛发展,计算机网络与人们工作和生活的联系也愈来愈紧密。大多数用户都忽视了计算机安全的一个很重要方面,即软件潜在的安全漏洞问题。安全公司给了一组数据,数据显示仅4.54%的计算机没有发现不安全软件,27.83%的计算机存在0-5个不安全软件,而大约41.94%的计算机有11个以上的非安全软件。本文首先阐述了软件安全漏洞,其次对计算机软件中安全漏洞检测方法进行了深入的探讨,最后以MBSA(MicrosoftBaselineSecurityAnalyzer,微软基准安全分析器)为例,分析了软件安全漏洞的最新检测方法,具有一定的参考价值。

关键词:计算机软件;安全漏洞;检测方法;研究

中图分类号:TP31文献标识码:A文章编号:1007-9599(2010)05-0000-02

ComputerSoftwareSecurityVulnerabilitiesDetectio

GongFuting

(HubeiVocationalCollegeOfBio-Technology,Wuhan430070,China)

Abstract:Withtherapiddevelopmentofthecomputertechnology,networktechnologyandtheinformationtechnology,computernetworkandpeopleworkandlivelinksandalsobecomingincreasinglyintertwined.Mostusersignorethefactthatcomputersecurityisaveryimportantaspect,thatispotentialsecurityvulnerabilitiesinsoftware.Securitycompanytoasetofdata,thedatashowthatonly4.54%ofcomputersoftwareisnotfoundtobeunsafe27.83%ofcomputersoftware,thereisinsecurityin0-5monthswhileabout41.94%ofthecomputermorethan11non-securitysoftware.Thispaperdescribedsoftwaresecurityvulnerabilities.Secondly,securityvulnerabilitiesincomputersoftwaretestingmethodsin-depthdiscussionandfinallytoMBSA(MicrosoftBaselineSecurityAnalyzer,MicrosoftBaselineSecurityAnalyzer),forexample,analysisofthelatestsoftwarevulnerabilitiesdetectionmethod,withsomereferencevalue.

Keywords:Computersoftware;Securityvulnerabilities;Detection;Study

随着计算机技术、网络技术以及信息技术的迅猛发展,计算机网络与人们工作和生活的联系也愈来愈紧密。通过网络,人们可以和远在天涯的朋友互发函件;通过网络,人们可以浏览世界各地的报刊杂志,搜索自己所需的信息……但与此同时人们也发现自己的计算机系统不断的受到侵害,其形式的多样化,令人防不胜防,给用户造成巨大的损失。因此,为使计算机系统和计算机网络系统不受破坏,提高系统的安全性已成为必须解决的问题。每个计算机用户都应该掌握一定的系统安全技术,确保系统长时间、安全、稳定地运行。本文就影响计算机安全的软件安全漏洞的检测方法进行研究。

一、软件安全漏洞

大多数用户都忽视了计算机安全的一个很重要方面,即软件潜在的安全漏洞问题。安全公司给了一组数据,数据显示仅4.54%的计算机没有发现不安全软件,27.83%的计算机存在0-5个不安全软件,而大约41.94%的计算机有11个以上的非安全软件。事实上,“非安全软件”是一个模糊的概念,这类软件可能存在安全问题,软件使用时,可能影响计算机的安全,即有安全漏洞。为了系统安全,用户应密切关注系统的安全漏洞,及时应用补丁或使用最新版本。

下面是容易忽略的五个安全漏洞:

(一)Geronimo2.0

这个Apache的应用服务器软件在其登录模块中存在一个安全漏洞,让远程攻击者能够绕过身份识别要求,部署一个替代的恶意软件代码模块,并且获得访问这个服务器应用程序的管理员权限。Palamida报告称,这个访问权限是通过使用Geronimo部署模块中的命令行发送一个空白的用户名和口令获得的。一个空白的用户名和口令应该引起Geronimo2.0中的“FailedLoginException”访问控制模块做出反应,但是,它却没有反应。

(二)JBoss应用服务器

JBoss应用服务器3.2.4至4.0.5版的“DeploymentFileRepository”类中有一个目录遍历安全漏洞。

(三)LibTiff开源软件库

这个库是用于读写TIFF(标签图像文件格式)格式文件的。3.8.2版本以前的LibTiff库包含一个命令行工具,可在Linux和Unix系统中操作TIFF图像文件,许多Linux发布版软件中都有这个工具。使用3.8.2版本以前的LibTiff库能够让依赖上下文的攻击者通过数字范围的检查并且通过一个TIFF目录中的大型补偿值执行代码。这个大型补偿值可能导致一个整数溢出安全漏洞或者其它意想不到的结果,构成没有检查的算术操作。

(四)Net-SNMP

这个安全漏洞存在于Net-SNMP或者应用SNMP(简单网络管理协议)协议的程序中。1.0、2.0和3.0版本的Net-SNMP协议都存在安全漏洞。当以“masteragentx”模式运行Net-SNMP的时候,这个软件能够让远程攻击者通过引起一个特定的TCP连接中断实施拒绝服务攻击,造成系统崩溃。中断TCP连接可产生一个不正确的变量。

(五)Zlib

Zlib是一个用于数据压缩的软件库。Zlib1.2和以后版本的软件能够让远程攻击者引起拒绝服务攻击。这个攻击旨在使用一个不完整的代码解释一个长度大于1的代码,从而引起缓存溢出漏洞。

二、计算机软件中安全漏洞常用的检测技术

安全漏洞的检测常用有以下四种技术:

(一)基于应用的检测技术。它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。

(二)基于主机的检测技术。它采用被动的、非破坏性的办法对系统进行检测。通常,它涉及到系统的内核、文件的属性、操作系统的补丁等。这种技术还包括口令解密、把一些简单的口令剔除。因此,这种技术可以非常准确地定位系统的问题,发现系统的漏洞。它的缺点是与平台相关,升级复杂。

(三)基于目标的漏洞检测技术。它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库、注册号等。通过消息文摘算法,对文件的加密数进行检验。这种技术的实现是运行在一个闭环上,不断地处理文件、系统目标、系统目标属性,然后产生检验数,把这些检验数同原来的检验数相比较。一旦发现改变就通知管理员。

(四)基于网络的检测技术。它采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,然后对结果进行分析。它还针对已知的网络漏洞进行检验。网络检测技术常被用来进行穿透实验和安全审记。这种技术可以发现一系列平台的漏洞,也容易安装。但是,它可能会影响网络的性能。

三、最新的软件安全漏洞检测方法——MBSA

MBSA(MicrosoftBaselineSecurityAnalyzer,微软基准安全分析器),微软基线安全分析器(MBSA)是为IP专家设计的一个工具,帮助小的和中等大小的交易来决定他们的安全状态,依照微软安全推荐和提供特定的补习指导。MBSA能够探测普通的安全多种构造和在Windows计算机系统中缺少安全更新。该软件能对视窗系统、Office、IIS、SQLServer等软件进行安全和更新扫描,扫描完成后会用“X”将存在的漏洞标示出来,并提供相应的解决方法来指导用户进行修补。要想让MBSA成功扫描计算机,需在此对话框中进行正确地参数设置。

(一)设定要扫描的对象

告诉MBSA要扫描的计算机是扫描成功的基础。MBSA提供两种方法:

方法1:在“Computername”文本框中输入计算机名称,格式为“工作组名\计算机名”。

默认情况下,MBSA会显示运行MBSA的计算机的名称,如图2所示,“WORKGRO

UP”是笔者运行MBSA的计算机所属的工作组名称,“JXNO”是计算机名称。

方法2:在“IPaddress”文本框中输入计算机的IP地址。

在此文本框中允许输入在同一个网段中的任意IP地址,但不能输入跨网段的IP,否则会提示“Computernotfound.”(计算机没有找到)的信息。

(二)设定安全报告的名称格式

每次扫描成功后,MBSA会将扫描结果以“安全报告”的形式自动地保存起来。MBSA允许用户自行定义安全报告的文件名格式,只要在“Securityreportname”文本框中输入文件格式即可。

MBSA提供两种默认的名称格式:“%D%-%C%(%T%)”(域名-计算机名(日期戳))和“%D%-%IP%(%T%)”(域名-IP地址(日期戳))。

(三)设定扫描中要检测的项目

MBSA允许检测包括Office、IIS等在内的多种微软软件产品的漏洞。在默认情况下,无论计算机是否安装了以上软件,MBSA都要检测计算机上是否存在以上软件的漏洞。这不仅浪费扫描时间,而且影响扫描速度。用户能根据自身情况进行选择,对于一些没有安装的软件能不选,例如:若没有安装SQLServer,则可不选中“CheckforSQLvulnerabilities”复选项,这样能缩短扫描时间,提高扫描速度。

基于这点考虑,MBSA提供了让用户自主选择检测的项目的功能。只要用户选中(或取消)“Options”中某个复选项,就可让MBSA检测(或忽略)该项目。

不过,允许用户自主选择的项目只有“Checkfor视窗系统vulnerabilities”(检查视窗系统的漏洞)、“Checkforweakpasswords”(检查密码的安全性)、“CheckforIISvulnerabilities”(检查IIS系统的漏洞)、“CheckforSQLvulnerabilities”(检查SQLServer的漏洞)等四项。至于其他项目(如:Office软件的漏洞等)MBSA会强制扫描。

(四)查看所有的扫描报告

使用MBSA对系统进行扫描后,会自动保存扫描的报告,在MBSA程序的主界面单击“Viewexistingsecurityscanreports”即可查看,如图12所示,对这些扫描结果还可以根据“IP地址”、扫描时间、安全评估、计算机名称等进行升/降序排列,双击选中的记录即可查看扫描的详细报告。这些报告可以作为安全检查的依据,通过对比加固前后的报告可以知道系统目前的安全情况。

参考文献:

[1]马海涛.计算机软件安全漏洞原理及防范方法[J].科协论坛(下半月)2009,(06):112-115

[2]浙江省重点学科——计算机软件与理论[J].浙江师范大学学报(自然科学版),2006,(04):140-143

[3]王震雷.计算机:一个大脑意识的阅读者——未来科技将把计算机与你的大脑相联接[J].科学之友,1998,(05):178-180

[4]龚静.论计算机网络安全与漏洞扫描技术[J].株洲工学院学报,2005,(04):169-172

[5]王映丽,刘炜.浅谈高校教师的网络安全意识[J].中国新技术新产品,2009,(16):135-138