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

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:shadow2100
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:如今信息系统已经被广泛应用于国家的各个领域,因此信息系统的安全就显得十分重要。计算机软件中的安全漏洞已成为信息系统中最主要的威胁,因此,计算机软件中的安全漏洞检测技术也成为了当前的研究热点。该文详细分析了计算机安全软件中动态检测技术与静态检测技术,以提高软件的安全性。
  关键词:软件;安全漏洞;检测技术;应用
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)09-2051-02
  伴随着高科技信息技术的不断发展,软件的功能也逐渐变得强大起来,与之相伴的是数量不断扩大的源代码。然而,不少黑客便可以利用代码的一些漏洞对我们的计算机系统入侵并进行破坏。因此,信息的安全已经成为当今信息系统安全中的一项重要问题,据不完全统计数据显示,当前计算机系统运行张的漏洞正已逐年上升,而黑客攻击行为也正在朝着经济利益方向发展,攻击手段多种多样,基于此,技术人员只有不断的加强对一些漏洞检测技术的分析与研究,方可确保信息资料的安全可靠性。
  1 漏洞概述
  所谓漏洞,实际上就是系统中存在着的缺陷与弱点,而这些缺陷与弱点可能会导致计算机系统对一些特定的威胁或危险有较高的敏感性,或着存在着攻击、威胁系统的一种可能性。产生软件漏洞的主要原因在于计算机软件研发过程当中,因开发人员的失误而造成的。一般而言,该种漏洞主要有两种形式,功能性漏洞与安全性漏洞。能性逻辑漏洞即可能对计算机软件系统运行产生影视,比如如行结果错误、流程错误等;安全性漏洞则是指在通常情况下不会对计算机软件的正常运行产生影响,但是一旦漏洞被黑客成功运用以后,它就可能会造成软件实施错误的运行有时甚至可能会执行一些恶意的代码。
  漏洞的特点主要体现在以下几点:首先,在编制程序的时候出现一些逻辑性的错误是非常普遍的现象,而此类错误绝大多是因为疏忽造成的;其次,数据处理与数值的计算相比会更有可能出现一些逻辑性的错误,而过小的或是过大的程序模块与那些中等的程序模块相比会更有可能产生逻辑上的错误;再次,漏洞和具体的系统环境是存在着密不可分的联系。在不相同的软件和硬件当中,同一种设备的各个版本,因为各个设备所构成的系统与同一种系统在不相同的设置之下,都有可能存在着一些不确定性的安全性漏洞问题。最后,时间与系统漏洞之间存在着紧密的关联性,即随着时间的不断推移,部分传统的漏洞问题就会不断地得到修补或者纠正,而新产生的漏洞问题也会随之呈现出来,所以说漏洞问题是一个长期性的问题。
  针对计算机系统存在的这些安全性的漏洞,我们可以采用两种检查方法,即静态检测技术和动态检测技术。
  2 安全静态检测技术的研究
  早期的静态检测实际上行就是指静态分析,然因验证方法多流于形式,所以最近开始有所创新,即静态检测逐渐扩展成两种,静态分析和程序验证。其中前者是指对被检测系统中的程序源代码进行扫描,从语法、语义等方面对其进行全面的理解,并对被测程序自身的特征进行直接的分析,通过此操作找出漏洞。而后者指的就是抽象系统中的程序源代码,它主要是利用验证技术,检验系统程序是否满足计算机系统的要求,尤其是安全方面的要求,进而对该程序是否存在着一定的安全漏洞进行检测。
  第一,漏洞分类检测。对于静态检测而言,其比较关注的是系统程序内部具体特征,其技术特点和检测的漏洞特征存在着紧密的联系。安全漏洞的分类方法是多种多样的。按照已有的方法分类,则漏洞就会分为几个非常细致的部分,绝大多数的检测技术可以覆盖的漏洞相对零散、分散,因此难以在漏洞类型上找到它们所共有的特点。因此,为了方便比较,可将漏洞进行分类,安全方面的漏洞与内存方面的漏洞。前者重点在于数据流是否存在着错误和偏差,经常因错误内存状态、应当情况而产生;而后者主要关注的就是数据及其类型正确与否,因此,对该种漏洞进行有效检测的重点在于如何对存储空间进行有效的建模。同时,因静态检测方式所表现出来的技术特征存在着一定的差异性,对漏洞理解和处理也不尽相同,所以有的方法只能对具体某一类的漏洞进行检测,而其他方式可有效检测上述两类漏洞问题。
  第二,静态检测技术。静态分析:该方法主要是对程序代码进行直接扫面,并提取其中的关键语法和句式,通过解释其语义来理解程序行为,然后在严格按照事先预设的漏洞特征及计算机系统安全标准,对系统漏洞进行全面检查。首先,词法分析。它是出现最早的一项静态分析技术,但是它的词法分析只停留于语法上的检查。它是把系统程序分成了一个个小的片断,然后将每个小片断与“嫌疑数据库”实施细致对比,若其中存在着一些漏洞嫌疑和问题,则应当对其进行启发式的评估和判断。由此可见,词法分析虽然可以有效地检查出漏洞,但是数量依然有限,常常都是已知的,且漏报率非常的高。其次,严格按照相关规则进行检查。一般而言,安全规则是用来描述计算机系统程序运行的安全与否,程序自身就是编程规则和标准,也就是那些通用性的安全规则,即漏洞模式。采用规则检查方法,主要是将上述规则通过特定语法形式加以描述,然后在利用规则处理器对其进行有效的接收,并将其转换成分析器可以接受的相关内部表达,然后在对系统程序行为检测、对比。
  程序验证:该方法主要是利用抽象的系统程序获得形式化模型与程序,再利用形式化验证手段对其加以验证,然后在通过其正确性验证检测计算机系统是否存在着漏洞问题。首先是模型检测。该检测方法是通过对有限状态下的计算机系统程序状态机、有向图等实施抽象模型,并以此来实现随系统特性的验证。通常情况下,主要有两种类型的验证方法:符号化方法主要是将抽象模型状态有效地转化成语法树描述公式,判定公式能否有效地满足要求;模型转成自动机,然后将需要进一步检查的时序属性有效地转换成等价自动机,对两个自动机进行相互取补,从而构成新的自动机,最终判定问题即成为检查该新自动机可以有效接受的语言形式。模型检测通常要先列举出实践中可能出现的各种状态,因系统软件自身相对比较复杂,对全部程序点建模则模型的规模就会非常的庞大,所以通常只是针对其中的部分程序和属性进行抽象模型构造。然近段时间又出现了新的模型检测方法,它主要是通过内存建模使原来的检测时序漏洞进行有效的检测。   其次,通过定理进行证明。该方法较之于模型检测而言更为严格一些,其主要是通过多种判定对程序进行判定,尤其是对抽象公式的真伪进行判断。判断方式主要取决于该抽象公式自身的形式,其中不等式合取即为其中一项重要影响因素。先通过合取式构造成图,其中的每个条件均对应图中的一个相应节点,然后再利用已经做出的给等式将对应顶点进行有效的合并。在此过程中,要检查合取式里的每一个不等式,一旦发现存在不成立的等式,那么这个合取式就是不可满足的。在程序验证过程中,模型检测自身的实用性可得到实践验证,但其余的相关时序特性却决定着系统漏洞的类型及其局限性。实践中,定理证明要求应用者必须要有较高的综合素质,这是由该方法的强专业性要求的,因此目前为止应当并不广泛。
  对于静态检测而言,它只能检测出目前已知的相关漏洞类型,因缺乏通用的漏洞描述制度,对于实践未知的一些漏洞,则没办法用此来进行有效的描述。对于当前已知的相关漏洞而言,并未有有效的检测技术来实现全面覆盖。静态检测的最大缺点在于其性能不足,因静态检测精度、时间以及空间消耗等因素之间所存在着和的正比例关系,若想提高其检测质量,必然会大幅度增加其实际运行投资。
  3 安全动态检测技术研究
  第一,非执行栈技术。最近几年来基于栈进行攻击软件的事件较常发生,其原因多为操作系统上的栈是能写和执行的,由于内部变量特别是数组的变量都存在于栈中的,所以攻击者可以向栈中写入恶性代码,之后找办法来执行此段代码。防范栈被攻击最直接的就是让栈不可以执行代码。只有这样才能使攻击者写在栈中的恶意代码,不能被执行,从一定程度看它防止了攻击者。
  第二,非执行堆和数据技术。鉴于堆主要是在程序运行的时候动态分配内存的一个区域,数据段却是在程序编译的时候就应经初始化了。堆与数据段如果都不可以执行代码,那么攻击者写入它们当中的恶性代码就不能执行。如果这项技术能非执行栈技术加以结合就可以起到更为全面的作用,恶性代码就会彻底失去被执行的机会。
  第三,内存映射技术。利用以NULL结尾的一些字符串来覆盖内存,是有些攻击者常用的方式。利用映射代码页的方法,便可以使攻击者较为困难的使用以NULL结尾的那些字符串顺利的跳转到比较低的内存区当中。从里一个角度上看,将代码页随机映射到不相同的内存地址上,也能一定程度之上防止靠猜地址进行攻击页面的方法。
  第四,安全共享库技术。有些安全漏洞主要是源于利用了一些不安全性的共享库。安全共享库技术可以在一定的程度之上防止攻击者所展开的攻击。所谓的安全共享库技术其实就是利用动态链接技术,在程序运行的时候拦截对于具有不安全性的函数的使用,同时对函数的参数进行检测,这种方式在Windows以及UNIX上广为应用。
  第五,沙箱技术。沙箱技术其实就是通过对一个进程访问的资源加以限制来预防一些恶性的攻击。比如在C语言当中存在像execv、system等一些列的系统性调用函数,一个软件其实根本没有这些系统性的调用函数,一旦发现某个正运行的软件存在这些系统性的调用函数,说明它被攻击了。假设在被攻击之前,使用了沙箱技术加以限制就不会被攻击得逞。
  第六,程序解释技术。从实践来看,当前技术效果最为显著的一种方法是在程序完成后,对该程序行为进行监视,并强制对其进行安全检测,此时需要解释程序的一些执行。由于程序解释的技术方法,可能会消耗较大的性能。近来也有一些比较多的动态优化技术去弥补它存在的这个缺陷。利用此项技术方法的一个典型性的例子就是程序监视器。程序监视器会让实施额外性的安全检测但不会牺牲太多性能变为了可能。此项技术方法不需要对应用性程序代码及操作系统的内核进行任何的改变,程序只需重新链接并产生一个全新的起动代码变可以了,之后利用起动代码来调用动态性的优化程序解释框架就完成了。
  4 结束语
  在当前的形势下,计算机软件系统安全业已成为计算机及其通信安全的重要基础,计算机软件的安全集中表现在安全软件编写、检测以及软件漏洞消除等方面。该文主要对计算机软件中的相关动态、静态检测技术在安全漏洞检测中的应用进行了分析与研究,以此来提高计算机软件安全,大大降低其风险。
  参考文献:
  [1] 蒋诚.信息安全漏洞等级定义标准及应用[J].信息安全与通信保密,2007(6).
  [2] 张林,曾庆凯.软件安全漏洞的静态检测技术[J].计算机工程,2008(6).
  [3] 李永华,窦春轶.谈计算机安全漏洞动态检测的原理方法与实践[J].数字技术与应用,2010.
  [4] 沈晓斌.漏洞攻击检测与评价机制的研究[D].2010.
  [5] 李娟. 基于故障注入的软件安全测试技术研究[D].中国科学技术大学,2009.5.
  [6] 宋超臣,黄俊强,王大萌,段志鸣. 计算机安全漏洞检测技术综述[J].信息网络安全,2012(1).
  [7] 陈锦屏,邵斐,毕嫒媛.基于模型的软件安全静态检测技术[J].硅谷.2008(12).
其他文献
摘要:随着计算机的广泛应用,推动我国社会进入了信息化时代,全球的经济建设以及社会生活均离不开计算机应用。在计算机不断推进社会发展的过程中,如果网络信息安全得不到真正的保证,那么随着计算机被广泛应用,得到的不良后果将愈发严重。通过对计算机信息安全技术方面进行深刻的研究,针对我国当前的计算机信息安全技术中所出现的问题,提出合理的技术管理、病毒防护的有效方法及手段,从而真正的实现计算机信息安全。  关键
摘要:随着社会的发展,计算机已经成为人们日常工作生活中必不可少的工具,今后计算机必将拥有更加重要的地位。计算机技术已经是各个行业人才所要必备的基础技术,因此高校务必要对其计算机教学提高重视程度,分析研究出提高其计算机教学质量的相关措施。该文笔者总结了现今我国高校计算机教学普遍存在的质量问题,并分析其质量影响因素,并针对性提出相关的改革路径,以求高校计算机教学质量能够有所提高。  关键词:高校计算机
现有的基于BP神经网络或LBP人脸识别算法过于复杂,因而有实现困难、对硬件平台要求高等的问题,该文从图像处理的角度出发,提出了对24位彩图进行人脸识别的算法,主要用到的图像处理技术有光线补偿、高斯平滑、相似度计算和二值化。在进行光线补偿的同时采用高斯平滑来消除图像的噪声,采用二值化对局部区域取阈值方法,通过垂直直方图与水平直方图标记人脸区域,根据眼睛的对称性判断人脸,从而进行定位、提取特征值和识别
摘要:计算机技术和通信网络的飞速发展,进而衍生出云计算的相关概念,并随着时间的推移,在各行各业得到广泛应用,其中,最为典型的是在电信通信网络关系中的应用,该文主要就云计算的基本观念对云计算的现状和特点进行了简明扼要的阐述,并根据相关数据简单分析了该技术在好友推荐、客户价值评定和社团特征中的关系中的实际应用分析情况。  关键词:电信通信网络;云计算;应用分析;好友推荐;客户评定;社团特征  中图分类
摘要:在如今这个信息化社会,计算机的应用日益广泛,因此,应该进一步提升计算机网络安全技术,维护计算机网络信息的安全性。目前,对计算机网络安全技术存在的问题及相应防范措施的研究是一项重要研究课题。该文首先阐述了计算机网络安全的现状,分析了其目前存在的问题,并提出了预防计算机网络安全受攻击的相关对策。  关键词:计算机网络安全技术;问题;防范措施  中图分类号:TP393 文献标识码:A 文章编号:1
摘要:随着社会经济的快速发展进步,网络科学技术取得了突破性的进展。目前计算机数据库技术在不同地区和行业中都起到了非常关键的作用和价值。尤其是计算机数据库技术在信息管理中的实践应用,更能够较好的提升信息管理的工作效率。该文主要从计算机数据库技术的概念入手,具体研究计算机数据库技术在信息管理中的应用。  关键词:计算机;数据库;信息管理  中图分类号:TP313 文献标识码:A 文章编号:1009-3
随着我国国民经济水平的提高,科学技术的不断进步,编码技术在无线传感器中也得到了很大的应用。科学家已经证实网络编码能够逼近容量理论传输极限,在有线网络中得到了广泛应
随着信息时代的到来和计算机网络技术飞速的提高,计算机网络技术在企业管理中的地位日益重要。信息化管理能够极大的节省成本,提高效率,帮助企业稳健发展。该文首先就企业信
摘要:计算机网络信息安全对于高度信息使用者而言具有相当重要的地位。随着网络的普及化,组织内的信息管理安全管控、如何防止外界非法入侵、如何识别信息及应用程序的使用者以授予适当的权限等课题,均已成为组织内重要的管理项目之一。在这种背景下,该文重点探讨了信息安全、身份认证及加密等计算机网络信息安全及防护策略等方面的议题。  关键词:计算机网络;信息安全;防护策略  中图分类号:TP393 文献标识码:A
目前计算机网络安全面临着许多的风险,计算机数据库安全对于保障网络系统安全是非常重要的。该文分析了目前计算机入侵检测技术存在的问题和缺点,提出了一些改进措施,以期能