计算机软件中安全漏洞检测技术及其应用

| 浏览次数:

摘要: 随着信息网络的快速发展,计算机得到日益广泛的应用。软件的安全是计算机网络安全的关键之一,因此计算机软件安全漏洞检测技术十分重要。探讨计算机软件中安全漏洞检测技术及其应用。

关键词: 计算机软件;安全漏洞;检测技术;应用

中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1020041-01

近年来,计算机的广泛应用,加速了信息全球化的进程,在当今互联网普及的形势下,计算机软件的安全应用日益备受重视。计算机软件受到的大部分不法侵入和攻击,都是从其漏洞来进入,这些弱点和缺陷给信息安全带来了巨大的威胁。利用密码技术不能从本质上解决软件漏洞所导致的安全隐患,因此,必须加强研究计算机安全漏洞的检测方法,来提高软件的安全性,从而将损失降至最低。

1 计算机软件中的安全漏洞

计算机安全漏洞也称为计算机脆弱性,漏洞是系统的一组特性,恶意的主体(攻击者或者攻击程序)能够利用这组特性,通过巳授权的手段或方式获取对资源的未授权访问,或者对系统造成损害。很多人都会为自己的计算机安装上防火墙,反病毒等软件,可是,以目前“黑客”的技术能力来看,防火墙、入侵检测和反病毒软件等这些技术,对于计算机软件安全漏洞的破坏已经没有多大的帮助了,不仅如此,如果运用的不好还可能带来新的软件漏洞,也就是说如果只是简单的依靠密码技术是不可能从根本来解决安全隐患的,甚至可能会导致安全问题的大量出现。

现代社会容易被人们所忽略的五大安全漏洞分别为:① Geronimo2.0,这个安全漏洞是让远程攻击者能够绕过身份识别的要求来插入恶意软件代码和获得访问的权限;② JBOSS应用服务器,此应用服务器3.2.4至4.0.5版中有一个目录遍历的安全漏洞;③ LIBTIFF开源软件库,这个库是读写标签图像文件格式的文件;④ Net-SNMP,是指安全漏洞存在Net中或者存在SNMP中的协议文件里;⑤ ZLIB,是指一个用于数据压缩的软件库,此库里有一个不完整的代码解释一个长度大于1的代码,而引起的安全漏洞。

2 计算机软件中安全漏洞的检测技术

当前,计算机软件安全的检测方法主要有两大类,即静态分析与动态检测两大类。静态分析技术是通过程序分析技术来分析应用程序的源代码或二进制代码,找出可能导致错误的异常。漏报率和误报率是衡量静态分析技术的两个重要指标,降低其中之一的同时往往会造成另外一个指标的增高。静态分析的缺陷是由于其结果是对真实情况的近似,它无法完美地确定程序的任何重要属性。其优点是计算机软件不需运行,检测比较方便。动态检测技术主要是通过分析修改内存、环境变量等运行环境来实现的,它可将程序的保密性提高,实现安全的目的。静态检测方法较动态检测方便分析速度快、自动化程度高,比动态检测技术更受欢迎。以上两大类检测方法又分为多种安全检测技术,在此只简要分析几种主要的安全检测技术。

1)词法检测技术。这是最早出现的静态检测技术,又称为语法测试,它仅仅检测程序源代码中有危险的C语言中的库函数和系统调用。该测试方法是以被检测软件的功能接口的语法生成软件的测试输入,以检测软件对不同种类输入的反映情况。这类测试技术的程序,一般是先识别软件接口的语言,其次是定义语言的语法,最后生产测试用例,并执行安全检测。

2)形式化安全测试技术。此法是确立软件的数学模型,利用形式规格,较常用的类型有模型的语言、行为的语言及有限状态的语言等,以说明语言的支持,从而提供形式化的规格说明。此类技术的安全检测两种形式化方法,包括模型检测和定理证明。

3)基于故障注入的安全性测试技术。该方法是应用故障数的最小割集与故障分析树来生产检测用例,其优点是检测的自动化程度明显提高。故障树分析法用系统通过利用最不该发生的时间作为顶事件,以此去检测可能导致事故发生的中间事件与底事件,再将顶事件、中间事件及底事件通过合理的逻辑门符号进行连接,进而形成故障树。该方法可以显著提高检测的自动化程度,是比较充分的安全检测方法。

4)模型的安全功能测试技术。该方法通过建模的方式,对计算机软件的行为与结构生成测试模型,据此生成检测用例,从而驱动软件进行安全检测。此类模型安全功能测试技术主要包括马尔可夫链和有限状态机等。

5)基于属性的测试技术,其优点在于能够有效分析安全漏洞的交互性及扩展性等。其检测程序大致为:先确定软件的安全编程规则,以此作为安全属性,从而验证系统程序的代码是否遵守其规则。

6)其他的测试技术。如基于白盒的模糊测试,该法有效地结合传统的模糊测试和动态测试用例。此外,近年来对Web服务开展的分布式软件安全性测试技术也得到发展。总的来说,软件安全检测方法主要作用就是通过检测、分析软件设计或软件中可能存在的安全问题,以及时采取改善安全性能的有效措施,以更有针对性地保证计算机软件的安全性应用。

3 计算机软件安全漏洞检测技术的应用

1)防止竞争条件漏洞。对于竞争条件漏洞的防治方式要将产生竞争的代码实行原子化操作。代码是执行的最小单位,在执行程序操作的时候,不会有任何干扰来阻止其执行。原子化的体现就是采用锁定的方式,通过防范TOCTOU问题,做到避免直接对使用的文件名系统进行调用,从而需要将使用文件句柄或者文件进行描述。

2)防止缓冲区溢出漏洞。通过对程序中危险函数的严格检查来防止缓冲区溢出,使用安全版本来替换不安全版本,比如使用strncat来对strcat进行替换等等。

3)防止随机数漏洞。对随机数漏洞的防范必须要使用较好的随机数发生器,好的随机数发生器自身就带有密码算法,从而为随机数流提供了安全,即使受到攻击,对全部算法的细节有所了解,也无法得到生成的数据流。

4)格式化字符串的漏洞防范。通过严密的防范,在代码中直接使用格式常量,不给攻击者留下任何构造格式串的机会。通常不定参数个数函数会产生格式化字符串漏洞函数,必

须在使用这些函数之前,确保其参数及个数是均衡对应的。此外,通过在Windows下使用窗口输入输出数据,也可以降低该漏洞所造成的安全威胁。

总之,随着互联网的快速发展,电子商务领域的应用日益广泛,要求我们要不断探索更有效、更快速的计算机安全软件的检测技术,不断提高自身的安全检测和防预技术,才能有效阻止黑客的非法入侵,保障软件的安全应用。

参考文献:

[1]晁永胜、郑秋梅,软件安全建模与检测[J].计算机仿真,2007(10).

[2]陈楷,计算机软件中安全漏洞检测技术的应用[J].数字技术与应用,2010(07).

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

[4]傅卓军、龙陈锋,网络安全漏洞检测软件的设计与实现[J].计算机与数字工程,2011(07).

[5]蒋廷耀、王训宇、马凯、关国翔,基于EAI和AOP的软件安全测试及应用研究[J].计算机科学,2009(04)

推荐访问: 计算机软件 安全漏洞 及其应用 检测技术

【计算机软件中安全漏洞检测技术及其应用】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标