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

更新时间:2024-02-13 作者:用户投稿原创标记本站原创 点赞:24065 浏览:108519

【摘 要】 伴随着科学技术的发展,计算机软件安全越来越重要.本文从计算机软件安全漏洞出发,在对计算机安全漏洞检测技术分析的基础上,提出了计算机软件安全漏洞检测技术的应用策略.该研究对促进我国计算机软件安全漏洞检测技术应用研究的发展有一定的借鉴作用.

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

随着电子商务的不断发展,网络交易的安全问题成为各大网站和商家关心的问题.网络交易安全事件的根源是计算机软件中存在的安全漏洞,所以检测和修正软件中的安全漏洞就可以杜绝安全事件的发生[1].正是从这个层面出发,本文对计算机软件安全漏洞检测技术的应用进行研究.

1.计算机软件安全漏洞概述

计算机软件安全漏洞指的是计算机软件自身存在的编写缺陷,利用这些漏洞非法访问系统资源,或者对计算机软件与计算机硬件造成损害.电脑用户通过安装防火墙和杀毒软件,来保护系统自身的安全[2].目前,使用最多的第三方软件是360杀毒软件、金山毒霸以及瑞星防火墙等等,但是这些软件不能从根本上弥补软件自身的漏洞.如果这些软件自身运行不好,还会给软件带来更大的安全隐患.

2.计算机软件安全漏洞检测技术分析

计算机安全漏洞自动化检测技术的出现,可以提高软件漏洞的检测效率.目前,计算机安全漏洞自动化检测技术,主要为动态检测技术和静态检测技术.

动态检测技术指的是在源代码不变的前提下对计算机程序进行动态检测.动态监测技术主要是对运行环境进行修改,虽然能对存在的漏洞进行有效的检测,但会造成一些新的安全隐患,可能会对计算机系统正常运行造成影响.主要包括非执行栈、非执行堆、内存映射、安全共享库、沙箱以及程序解释等等.以非执行栈为例,应对栈攻击最直接有效的方法就是让栈停止工作,可以有效的拦截恶意代码,但在应用中有致命缺点,即需在操作层中进行相应的设置或修改,运用不当可能会对计算机系统性能造成伤害,特别是当栈漏洞与堆溢出漏洞同时出现时更易出现问题.又如内存映射,利用内存映射技术可以将所要攻击的代码页映射到随机地址上,会给造成困扰,让花更多的时间查找地址(可能找不到),所以该技术不用修改代码,而只需要重新链接.再如沙箱,该技术阻止攻击主要是限制访问,其效果主要由定义策略全面与否决定,若定义策略合理且严格就能有效的防止攻击,但过于严格又会影响程序的正常利用,除此以外,若利用本地变量进行入侵,则沙箱技术就失去作用.

静态检测技术主要是指利用程序分析技术对二进制代码或者源代码进行全面的分析.它的优点是在不运行软件的基础上就可完成检测,比较方便且不会产生其他安全漏洞.具体包括词法分析、规则检测、类型推导、模型检测以及定理证明.以规则检测为例,该技术主要是检查程序本身,程序员在编程时,很容易不小心误操作,造成安全漏洞[3].规则检测就是把程序规则用特定的语法描述出来,经由规则处理器处理后能被分析器接受,接着对程序行为进行对比分析及检测.又如类型推导,该技术主要是通过程序量及函数类型推导观察对变量及函数访问是否正常,它比较适合用来分析与控制流没有联系的程序.

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

通过利用上文所论述的动、静态安全漏洞检测技术,则能够起到有效防治各类漏洞,提高软件安全应用的效果.具体可以通过以下方式来实现:

3.1 缓冲区溢出漏洞的检测

在计算机软件中,可以通过采用安全漏洞检测技术来对程序中的危险函数进行严格分析和判断,从而起到预防缓冲区溢出漏洞的出现.同时,为了进一步提高计算机使用的安全性,还可采用一些安全版本,来代替以往的strcat版本,例如strncat等版本.

3.2 竞争条件漏洞的检测

在检测竞争条件漏洞方面,通常可以通过原子化的形式来操作发生竞争的代码,从而实现防治的目的.代码在执行过程中单位最小,使得其在程序执行期间,不容易受到各种干扰的阻滞[4].而通过将代码原子化,可以起到锁定的作用,并用于对TOCTOU等问题的防范,这种做法的好处在于不需要直接调用所要使用的文件的文件名系统,而是通过描述使用文件的句柄等来实现.

3.3 格式化字符串漏洞的检测

通过安全漏洞检测技术在计算机软件中的高度防范作用,我们可以直接使用代码中的格式常量,而不留下各种构造格式串,进一步避免了攻击者的攻击风险.一般来说,格式化字符串漏洞函数都是不定参数个数函数的产物,我们在使用前,一方面应该先确认这些函数的参数和个数都是均衡对应的,另一方面,还需要借助基于 Windows 下的使用窗口来对相关数据进行输入或输出,从而减少和预防格式化字符串漏洞所导致的安全隐患.


除此以外,还可用于随机数漏洞的检测.一般在防范随机数漏洞时,选择较好的、符合程序要求的随机数发生器是关键.通过使用这一类随机数发生器,不但可以通过其本身具备的算法,来有效提高随机数流的安全运行,同时,还可在受到攻击期间,即便攻击者了解到所有的算法细节,也不能够生成数据流.

4.结语

在当前,随着互联网的不断发展和进步,以及电子商务领域的自动化、智能化和网络化程度越来越深入,使得计算机软件不断被普及应用,一定程度上这也增加了行业的隐患和风险[5].计算机软件安全漏洞检测是从本质上发现问题,从本质上研究软件的安全性,进而提升计算机网络的安全性.计算机软件中安全漏洞检测技术的研究,必须进行不断探索,从本质上防止的非法入侵和恶意攻击,保证计算机软件的正常运行.