免费论文查重: 大雅 万方 维普 turnitin paperpass

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

最后更新时间:2024-02-07 作者:用户投稿原创标记本站原创 点赞:35537 浏览:160085
论文导读:,与之相伴的是数量不断扩大的源代码。然而,不少便可以利用代码的一些漏洞对我们的计算机系统入侵并进行破坏。因此,信息的安全已经成为当今信息系统安全中的一项重要问题,据不完全统计数据显示,当前计算机系统运行张的漏洞正已逐年上升,而攻击行为也正在朝着经济利益方向发展,攻击手段多种多样,基于此,技术人员只有不
摘要:如今信息系统已经被广泛应用于国家的各个领域,因此信息系统的安全就显得十分重要。计算机软件中的安全漏洞已成为信息系统中最主要的威胁,因此,计算机软件中的安全漏洞检测技术也成为了当前的研究热点。该文详细分析了计算机安全软件中动态检测技术与静态检测技术,以提高软件的安全性。
关键词:软件;安全漏洞;检测技术;应用
1009-3044(2013)09-2051-02
伴随着高科技信息技术的不断发展,软件的功能也逐渐变得强大起来,与之相伴的是数量不断扩大的源代码。然而,不少便可以利用代码的一些漏洞对我们的计算机系统入侵并进行破坏。因此,信息的安全已经成为当今信息系统安全中的一项重要问题,据不完全统计数据显示,当前计算机系统运行张的漏洞正已逐年上升,而攻击行为也正在朝着经济利益方向发展,攻击手段多种多样,基于此,技术人员只有不断的加强对一些漏洞检测技术的分析与研究,方可确保信息资料的安全可靠性。
1 漏洞概述
所谓漏洞,实际上就是系统中存在着的缺陷与弱点,而这些缺陷与弱点可能会导摘自:学术论文翻译www.7ctime.com
致计算机系统对一些特定的威胁或危险有较高的敏感性,或着存在着攻击、威胁系统的一种可能性。产生软件漏洞的主要原因在于计算机软件研发过程当中,因开发人员的失误而造成的。一般而言,该种漏洞主要有两种形式,功能性漏洞与安全性漏洞。能性逻辑漏洞即可能对计算机软件系统运行产生影视,比如如行结果错误、流程错误等;安全性漏洞则是指在通常情况下不会对计算机软件的正常运行产生影响,但是一旦漏洞被成功运用以后,它就可能会造成软件实施错误的运行有时甚至可能会执行一些恶意的代码。
漏洞的特点主要体现在以下几点:首先,在编制程序的时候出现一些逻辑性的错误是非常普遍的现象,而此类错误绝大多是因为疏忽造成的;其次,数据处理与数值的计算相比会更有可能出现一些逻辑性的错误,而过小的或是过大的程序模块与那些中等的程序模块相比会更有可能产生逻辑上的错误;再次,漏洞和具体的系统环境是存在着密不可分的联系。在不相同的软件和硬件当中,同一种设备的各个版本,因为各个设备所构成的系统与同一种系统在不相同的设置之下,都有可能存在着一些不确定性的安全性漏洞问题。最后,时间与系统漏洞之间存在着紧密的关联性,即随着时间的不断推移,部分传统的漏洞问题就会不断地得到修补或者纠正,而新产生的漏洞问题也会随之呈现出来,所以说漏洞问题是一个长期性的问题。
针对计算机系统存在的这些安全性的漏洞,我们可以采用两种检查方法,即静态检测技术和动态检测技术。
2 安全静态检测技术的研究
早期的静态检测实际上行就是指静态分析,然因验证方法多流于形式,所以最近开始有所创新,即静态检测逐渐扩展成两种,静态分析和程序验证。其中前者是指对被检测系统中的程序源代码进行扫描,从语法、语义等方面对其进行全面的理解,并对被测程序自身的特征进行直接的分析,通过此操作找出漏洞。而后者指的就是抽象系统中的程序源代码,它主要是利用验证技术,检验系统程序是否满足计算机系统的要求,尤其是安全方面的要求,进而对该程序是否存在着一定的安全漏洞进行检测。
第一,漏洞分类检测。对于静态检测而言,其比较关注的是系统程序内部具体特征,其技术特点和检测的漏洞特征存在着紧密的联系。安全漏洞的分类方法是多种多样的。按照已有的方法分类,则漏洞就会分为几个非常细致的部分,绝大多数的检测技术可以覆盖的漏洞相对零散、分散,因此难以在漏洞类型上找到它们所共有的特点。因此,为了方便比较,可将漏洞进行分类,安全方面的漏洞与内存方面的漏洞。前者重点在于数据流是否存在着错误和偏差,经常因错误内存状态、应当情况而产生;而后者主要关注的就是数据及其类型正确与否,因此,对该种漏洞进行有效检测的重点在于如何对存储空间进行有效的建模。同时,因静态检测方式所表现出来的技术特征存在着一定的差异性,对漏洞理解和处理也不尽相同,所以有的方法只能对具体某一类的漏洞进行检测,而其他方式可有效检测上述两类漏洞问题。
第二,静态检测技术。静态分析:该方法主要是对程序代码进行直接扫面,并提取其中的关键语法和句式,通过解释其语义来理解程序行为,然后在严格按照事先预设的漏洞特征及计算机系统安全标准论文导读:
,对系统漏洞进行全面检查。首先,词法分析。它是出现最早的一项静态分析技术,但是它的词法分析只停留于语法上的检查。它是把系统程序分成了一个个小的片断,然后将每个小片断与“嫌疑数据库”实施细致对比,若其中存在着一些漏洞嫌疑和问题,则应当对其进行启发式的评估和判断。由此可见,词法分析虽然可以有效地检查出漏洞,但是数量依然有限,常常都是已知的,且漏报率非常的高。其次,严格按照相关规则进行检查。一般而言,安全规则是用来描述计算机系统程序运行的安全与否,程序自身就是编程规则和标准,也就是那些通用性的安全规则,即漏洞模式。采用规则检查方法,主要是将上述规则通过特定语法形式加以描述,然后在利用规则处理器对其进行有效的接收,并将其转换成分析器可以接受的相关内部表达,然后在对系统程序行为检测、对比。
程序验证:该方法主要是利用抽象的系统程序获得形式化模型与程序,再利用形式化验证手段对其加以验证,然后在通过其正确性验证检测计算机系统是否存在着漏洞问题。首先是模型检测。该检测方法是通过对有限状态下的计算机系统程序状态机、有向图等实施抽象模型,并以此来实现随系统特性的验证。通常情况下,主要有两种类型的验证方法:符号化方法主要是将抽象模型状态有效地转化成语法树描述公式,判定公式能否有效地满足要求;模型转成自动机,然后将需要进一步检查的时序属性有效地转换成等价自动机,对两个自动机进行相互取补,从而构成新的自动机,最终判定问题即成为检查该新自动机可以有效接受的语言形式。模型检测通常要先列举出实践中可能出现的各种状态,因系统软件自身相对比较复杂,对全部程序点建模则模型的规模就会非常的庞大,所以通常只是针对其中的部分程序和属性进行抽象模型构造。然近段时间又出现了新的模型检测方法,它主要是通过内存建模使原来的检测时序漏洞进行有效的检测。其次,通过定理进行证明。该方法较之于模型检测而言更为严格一些,其主要是通过多种判定对程序进行判定,尤其是对抽象公式的真伪进行判断。判断方式主要取决于该抽象公式自身的形式,其中不等式合取即为其中一项重要影响因素。先通过合取式构造成图,其中的每个条件均对应图中的一个相应节点,然后再利用已经做出的给等式将对应顶点进行有效的合并。在此过程中,要检查合取式里的每一个不等式,一旦发现存在不成立的等式,那么这个合取式就是不可满足的。在程序验证过程中,模型检测自身的实用性可得到实践验证,但其余的相关时序特性却决定着系统漏洞的类型及其局限性。实践中,定理证明要求应用者必须要有较高的综合素质,这是由该方法的强专业性要求的,因此目前为止应当并不广泛。
对于静态检测而言,它只能检测出目前已知的相关漏洞类型,因缺乏通用的漏洞描述制度,对于实践未知的一些漏洞,则没办法用此来进行有效的描述。对于当前已知的相关漏洞而言,并未有有效的检测技术来实现全面覆盖。静态检测的最大缺点在于其性能不足,因静态检测精度、时间以及空间消耗等因素之间所存在着和的正比例关系,若想提高其检测质量,必然会大幅度增加其实际运行投资。
3 安全动态检测技术研究
第一,非执行栈技术。最近几年来基于栈进行攻击软件的事件较常发生,其原因多为操作系统上的栈是能写和执行的,由于内部变量特别是数组的变量都存在于栈中的,所以攻击者可以向栈中写入恶性代码,之后找办法来执行此段代码。防范栈被攻击最直接的就是让栈不可以执行代码。只有这样才能使攻击者写在栈中的恶意代码,不能被执行,从一定程度看它防止了攻击者。
第二,非执行堆和数据技术。鉴于堆主要是在程序运行的时候动态分配内存的一个区域,数据段却是在程序编译的时候就应经初始化了。堆与数据段如果都不可以执行代码,那么攻击者写入它们当中的恶性代码就不能执行。如果这项技术能非执行栈技术加以结合就可以起到更为全面的作用,恶性代码就会彻底失去被执行的机会。
第三,内存映射技术。利用以NULL结尾的一些字符串来覆盖内存,是有些攻击者常用的方式。利用映射代码页的方法,便可以使攻击者较为困难的使用以NULL结尾的那些字符串顺利的跳转到比较低的内存区当中。从里一个角度上看,将代码页随机映射到不相同的内存地址上,也能一定程度之上防止靠猜地址进行攻击页面的方法。

四、安全共享库技术。有些安全漏洞主要是源于利用了一些不安全论文导读:

性的共享库。安全共享库技术可以在一定的程度之上防止攻击者所展开的攻击。所谓的安全共享库技术其实就是利用动态链接技术,在程序运行的时候拦截对于具有不安全性的函数的使用,同时对函数的参数进行检测,这种方式在Windows以及UNIX上广为应用。
第五,沙箱技术。沙箱技术其实就是通过对一个进程访问的资源加以限制来预防一些恶性的攻击。比如在C语言当中存在像execv、system等一些列的系统性调用函数,一个软件其实根本没有这些系统性的调用函数,一旦发现某个正运行的软件存在这些系统性的调用函数,说明它被攻击了。假设在被攻击之前,使用了沙箱技术加以限制就不会被攻击得逞。
第六,程序解释技术。从实践来看,当前技术效果最为显著的一种方法是在程序完成后,对该程序行为进行监视,并强制对其进行安全检测,此时需要解释程序的一些执行。由于程序解释的技术方法,可能会消耗较大的性能。近来也有一些比较多的动态优化技术去弥补它存在的这个缺陷。利用此项技术方法的一个典型性的例子就是程序监视器。程序监视器会让实施额外性的安全检测但不会牺牲太多性能变为了可能。此项技术方法不需要对应用性程序代码及操作系统的内核进行任何的改变,程序只需重新链接并产生一个全新的起动代码变可以了,之后利用起动代码来调用动态性的优化程序解释框架就完成了。
4 结束语
在当前的形势下,计算机软件系统安全业已成为计算机及其通源于:普通论文格式范文www.7ctime.com
信安全的重要基础,计算机软件的安全集中表现在安全软件编写、检测以及软件漏洞消除等方面。该文主要对计算机软件中的相关动态、静态检测技术在安全漏洞检测中的应用进行了分析与研究,以此来提高计算机软件安全,大大降低其风险。
参考文献:
蒋诚.信息安全漏洞等级定义标准及应用[J].信息安全与通信保密,2007(6).
张林,曾庆凯.软件安全漏洞的静态检测技术[J].计算机工程,2008(6).
[3] 李永华,窦春轶.谈计算机安全漏洞动态检测的原理方法与实践[J].数字技术与应用,2010.
[4] 沈晓斌.漏洞攻击检测与评价机制的研究[D].2010.
[5] 李娟. 基于故障注入的软件安全测试技术研究[D].中国科学技术大学,2009.5.
[6] 宋超臣,黄俊强,王大萌,段志鸣. 计算机安全漏洞检测技术综述[J].信息网络安全,2012(1).
[7] 陈锦屏,邵斐,毕嫒媛.基于模型的软件安全静态检测技术[J].硅谷.2008(12).