计算机软件安全漏洞检测技术探讨

时间:2022-06-03 04:28:11

计算机软件安全漏洞检测技术探讨

1计算机软件安全漏洞的成因及危害

1.1成因。计算机软件是由相关人员按照实际的使用需要进行设计开发的程序,由此使得人为因素成为软件安全漏洞的主要成因之一。软件开发人员在进行设计的过程中,因需要完成大量计算,所以可能会出现一些错误,如果这些错误未能及时发现,那么便会形成安全漏洞。同时,逻辑方面的错误也是软件开发设计时比较常见的问题,当软件中的某个程序存在逻辑错误时,安全漏洞也会随之出现。由于计算机软件中逻辑程序的复杂程度越来越高,从而使得软件开发设计的失误率随之增大,若是软件的运行环境发生变化,则可能引起新的安全漏洞。所以软件的安全漏洞很难彻底消除,只能通过相应的方式进行修补。因此,及时发现软件漏洞就显得尤为重要,而这一目标需要借助相关的检测技术予以实现。1.2危害。计算机软件安全漏洞的危害性相对较高,当软件存在安全漏洞时,会给黑客入侵提供渠道,并且各行木马程序和计算机病毒也会通过漏洞进入到计算机当中,由于是从漏洞侵入,所以杀毒软件可能无法进行有效地预防。同时,有些病毒专门针对软件漏洞,只要计算机软件中存在安全漏洞,此类病毒便会在不被察觉的情况下侵入计算机系统,影响计算机的稳定运行。

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

目前,可用于计算机软件安全漏洞检测的技术较多,大体上可将之归为两类,具体如图1所示。2.1动态检测技术的应用。2.1.1非执行栈。该检测技术能够对基于栈的攻击进行有效防范,其基本原理是通过停止栈的运行,来阻止黑客利用恶意代码对计算机中的栈进行攻击。在应用该技术对计算机软件安全漏洞进行检测时,需要将某个栈页标记为不可执行,虽然这样可以防止黑客对栈进行攻击,但若是将恶意代码写入到数据段中,便可能绕过该检测技术,所以容易造成检测失败。为了解决这一问题,业内的专家经过研究后,对该技术进行改进,将非执行栈变为非执行堆,由此可以检测并有效阻止所有试图注入进程内存中的恶意代码,并且在应用时,基本不会对计算机系统的性能造成影响。2.1.2内部映射。该技术又被称之为内存映射,是软件安全漏洞检测中较为常用一种技术,应用该技术进行漏洞检测时,不需要对代码进行改变,借助连接的方式,可以对黑客的攻击进行映射,从而达到干扰攻击,阻止入侵的目的。在映射干扰下,黑客利用漏洞对计算机系统进行入侵时,无法准确找到目的地址,从而导致入侵失败,由此使计算机的安全得到保障。通过该技术能够对地址跳转攻击进行检测,并且可以对此类攻击进行有效阻止。2.1.3沙箱。这是一种通过限制进程访问资源的方式,来对黑客的攻击进行预防。该技术最为突出的应用优势在于,不会改变系统内核及应用程序。为使该技术在安全漏洞检测中更加全面,需要对策略进行严格定义,这样便可以使软件程序免受黑客的恶意攻击。因该技术对安全策略具有较强的依赖性,所以在应用时,并不会产生兼容性问题。2.1.4程序解释。该检测技术是在某些程序启动运行后,通过对其行为的监视,来达到安全检查的目的。简而言之,只要有计算机中有程序运行,该技术便会对其进行相应的监视和安全检查,从而发现程序是否存在安全漏洞。这种检测技术虽然效果较好,但却会过度消耗系统的性能,而通过程序监视可有效解决这一问题。2.1.5安全共享库。就计算机软件而言,有部分安全漏洞是因为对安全性较低的共享库进行使用而引起的,对于此类漏洞,可以通过安全共享库技术进行解决处理。该技术实质上是一种动态链接,可对函数进行检测,并对不安全的函数进行拦截,从而达到阻止黑客攻击的目的。2.2静态检测技术的应用。通过实际应用发现,静态检测技术中的程序评注是以评注信息对程序内潜在的漏洞进行查找,由于会产生误报的情况,所以需要人为排查,确认是否为安全漏洞,如果是则会对其进行修复;类型推断在较大的应用程序检测中较为适用,但在使用中常常会引起兼容性问题;元编译在应用时,除了要建模之外,还需要编译扩展,对于小问题的检测效果较佳,但也同样存在误报,并且在广泛的应用程序中,可用性较差;约束解算器不存在兼容性问题,只是误报量较高,若是应用程序较大,则在安全漏洞中的检测效果一般;词法检测技术也会产生一定的误报,但总体上可以接受,该技术的性能较快,且不会对目标程序产生影响,唯一的不足是需要进行人工核查。鉴于此,因静态检测技术本身的缺陷较多,所以在计算机软件安全漏洞检测中,不建议单独使用某种静态检测技术,而是应当将其与动态检测技术中某些技术进行联合使用,通过技术整合,在发挥自身应用优势的基础上,弥补不足,提高安全漏洞检测效果,这对于确保计算机系统的安全性具有重要的现实意义。

3结论

综上所述,计算机软件安全漏洞实质上就是软件本身存在的缺陷,黑客常常会利用软件的安全漏洞,对计算机系统进行攻击,轻则会使系统正常运行受到影响,严重时,会造成重要信息丢失。因此,应当运用相应的检测技术来解决软件的安全漏洞问题,从而确保计算机系统的安全性。在未来一段时期,应当加大对安全漏洞检测技术的研究力度,除对现有的技术进行逐步改进和完善之外,还应开发一些新的检测技术,从而使其能够更好地为计算机系统安全提供保障。

参考文献

[1]张舒.计算机软件中安全漏洞检测技术[J].电子技术与软件工程,2018,No.131(09):208.

[2]许跃颖.计算机软件中安全漏洞检测技术及其应用[J].电子制作,2016(02).

[3]周云,马江洪.浅谈计算机软件中安全漏洞检测技术及其应用[J].科技与创新,2017(17):152-153.

作者:王俊海 单位:西南科技大学城市学院鼎利学院