APP下载

计算机软件中安全漏洞检测技术的应用问题探讨

2021-03-26李岩

电子元器件与信息技术 2021年5期
关键词:安全漏洞计算机系统计算机软件

李岩

(辽宁装备制造职业技术学院,辽宁 沈阳 110161)

0 引言

在信息化时代,计算机软件技术获得了更进一步的发展,计算机软件功能更加丰富、数据存储与处理能力更强,适用范围更广。但与此同时,计算机软件也还存有一些安全漏洞,这给黑客的攻击、不法分子的入侵提供了途径,也让计算机使用者的信息安全、财产安全得不到保障[1]。下面结合实际,就计算机软件安全漏洞以及相关的漏洞检测技术做具体分析。

1 计算机软件安全漏洞

计算机软件安全漏洞是指能对计算机软件系统安全构成威胁的缺陷,计算机软件漏洞通常是由设计开发阶段的主观失误造成。目前一般将计算机软件安全漏洞分成两种是形式,分别是安全性漏洞与功能性漏洞。安全性漏洞对整个计算机系统的影响较小,但会加大网络黑客攻击计算系统的几率,而一旦黑客利用计算机软件漏洞侵入计算机系统,就会造成系统混乱。功能性漏洞对整个计算机系统的影响巨大,其会严重影响计算机系统的功能与运行状态[2]。

计算机软件安全漏洞的产生与多种原因有关,如在软件设计开发阶段编程人员犯了逻辑性错误,导致计算机软件存有安全隐患。此外,计算机软件的安全漏洞还有可能是由网络环境引起,在不同的软硬件中,因设备的版本问题可能会存在相应的安全漏洞。当计算机软件使用较长时间时,安全性能也有可能会下降,安全漏洞会显现出来。深入研究可知,计算机软件安全漏洞的出现与人的操作有关,错误的操作有可能引起安全漏洞产生,但计算机软件安全漏洞与计算机系统自身的安全性无多大关系,可以说计算机软件与计算机系统安全相互独立。

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

2.1 动态检测技术

计算机软件安全漏洞动态检测技术是指在不改变计算机源代码的情况下对计算机系统进行动态检测。动态检测技术主要是出于安全考虑修改计算机的运行环境。研究与实践证明,动态检测技术有优点也有缺陷,合理运用动态检测技术基本上可以准确检测出计算机软件安全漏洞位置以及其他信息,进而促进漏洞的修复。但在对计算机运行环境进行修改的过程中也有可能会引发一些新的隐患。但尽管存有一些技术缺陷,计算机软件安全漏洞动态检测技术在当前还是得到了广泛应用,且在经过较长时间的探索与完善后,动态检测技术的内涵也不断丰富。目前在动态检测技术体系下已经有非执行栈技术、非执行堆技术、内存映射技术、安全共享库分享技术等多种技术方法[3]。下面就动态检测技术做具体分析。

①非执行堆技术。在对计算机软件运用非执行堆技术进行扫描与防护时,是在编程程序开始时就将数据段初始化,以此阻止黑客的入侵。

②非执行栈技术。对栈攻击的最有效方法就是停止栈的工作。基于这一理论与思路发展起来的安全漏洞检测技术被称为非执行栈技术。在计算机软件运行过程中,非执行栈技术最大的作用是能对黑客的攻击代码进行拦截,从而给予计算机一定的保护。但由于非执行栈技术是在计算机系统操作层对栈进行修改,因此也有可能会制造出一些新的隐患。当计算机软件在运行过程中同时出现栈溢、栈漏洞这两类安全隐患时,非执行栈技术的防护能力就稍显有限。

③沙箱检测技术。沙箱检测技术在计算机软件安全漏洞检测中也有重要应用。合理运用该项技术能对黑客的攻击进行拦截,使黑客的恶意破坏行为受到阻止。

沙箱检测技术最大的特点是软件安全漏洞检测效果由定义策略决定,当定义策略足够严谨且科学合理时,安全漏洞检测效果会更理想,黑客的攻击行为也能得到全面阻止。但该项技术也存有缺陷,如当黑客采用本地变量攻击计算机系统时,沙箱检测技术就很难检测到异常并对这种异常进行阻止或拦截[4]。

④内存映射技术。运用内存映射技术对计算机软件安全漏洞进行扫描或对黑客攻击进行拦截时,主要是将黑客要攻击的代码页完全地映射到随机出现的计算机地址上,从而对黑客的操作产生干扰,让黑客的攻击行为不能继续进行。相较于其他几种安全漏洞检测技术,内存映射技术的操作难度较低,运用内存映射技术检测时,只需进行重新链接,不需要进行计算机代码修改操作。

2.2 静态检测技术

静态检测技术指的是运用程序分析的方法全面且准确地分析计算机源代码,从而准确查明计算机软件漏洞,对各项恶意攻击与病毒入侵进行检测拦截,使计算机系统能正常安全运行。研究证明,静态检测技术有较高的实用性,合理运用静态检测技术,可在不运行软件的基础上对计算机源代码进行检测,且检测过程中也不会引起新的安全漏洞产生。在静态检测技术体系下有以下几种具体的检测方法被广泛应用:

①定理证明检测技术。静态检测技术体系下的定理证明检测技术主要是通过判断被抽查的计算机程序抽象公式是否准确来实现对安全漏洞的精准检测与对黑客攻击行为的有效拦截,使计算机系能保持安全稳定的运行[5]。

②模型检测技术。在应用模型检测技术对计算机软件安全漏洞进行检测时,是对计算机系统的模式及优先状态进行计算验证,根据验证结果进行建模,再依据模型对计算机软件程序构造等特性做出分析于验证,从而实现对安全漏洞的有效检测。

③类型推导检测技术。类型推导检测技术也是静态检测技术中的重要组成部分,该检测技术能对计算机函数、计算机程序变量进行类型推导,结合推导结果判断计算机函数与程序变量是否存在异常,并据此查明计算机软件安全漏洞类型、威胁程度等。类型推导检测技术有特定的适用条件,该项技术通常被应用于在和程序不存在关联关系的程序检测中。

④规则检测技术。应用规则检测技术时,主要是对程序自身进行检测,这类检测技术主要是预防因操作人员的失误而产生的安全漏洞。调查发现,程序员在开展计算机编程工作时,总会因计算错误或判断失误而做出一些错误的操作,进而导致计算机软件产生安全漏洞。针对这种情况,就需要运用规则检测技术将程序规则用固定的语法进行描述,然后由规则处理器进行分析处理,最后对程序行为进行对比,以此预防安全漏洞的产生。

⑤安全共享库。在程序设计和安装阶段,经常会因各种遗留问题造成软件系统漏洞,对于这类漏洞,可利用动态链接技术组织程序调用危险函数,对各危险函数的数据进行分析,准确查找到漏洞所在。

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

3.1 预防产生随机漏洞

这类安全漏洞的出现有很大的不可预见性与不可控性,会给计算机软件系统的运行状态产生巨大影响。对于这类随机产生的安全漏洞,也需要运用安全漏洞检测技术进行检测与预防。在计算机软件系统运行过程中,使用专门的设备对软件系统中的随机数流进行捕捉分析,通过捕捉分析数流实现对计算机软件运行状态的准确判断。若通过分析随机数流发现计算机软件系统出现异常时,设备能及时对软件系统的异常做出反应。如自动阻止恶意攻击,使黑客获得的数据流不够完整,从而实现对计算机软件系的有效保护[6]。

3.2 预防产生编码漏洞

调查研究发现,计算机软件系统在运行过程中的一些竞争条件有可能会引发安全漏洞,进而使整个计算机系统的安全稳定运行受到严重影响。鉴于此,可利用安全漏洞检测技术来预防这类安全隐患的产生。具体的检测以及防范措施是:当计算机软件系统在运行过程中出现竞争条件时,将竞争条件出现的编码进行原子化处理,通过处理将编码形式改变,使编码脱离竞争条件状态,从而实现对安全漏洞的有效预防。而之所以通过处理编码就能预防安全漏洞的产生,主要是因为在计算机软件系统中,编码是最基础也是最重要的单位,因此通过锁定、处理系统编码就能有效消除干扰因素与安全隐患,使计算机软件系统出于一个安全良好的运行状态。

3.3 预防字符串漏洞产生

对于这类安全漏洞,可运用安全漏洞检测技术(格式变量的方法)来对计算机软件系统进行防护,使恶意攻击者无法创建出完整的字符串,进而达到保护计算机软件系统的目的。调查研究发现,计算机软件系统中的字符串漏洞的产生条件是系统中个数函数为不定参数。为此在进行软件设计与系统运维时,要能通过相应的处理使计算机中每个参数的均衡性都达到标准要求,从而有效防范安全漏洞的产生。

4 结论

综上所述,计算机软件安全漏洞会给计算机系统、计算机信息数据的安全带来巨大威胁。基于此,在计算机软件运行过程中,有必要根据实际情况合理运用非执行堆技术、沙箱检测技术、内存映射技术、定理证明检测技术、类型推导检测技术以及规则检测技术等对软件安全漏洞进行检测与防范,以此保证计算机软件的安全稳定运行。

猜你喜欢

安全漏洞计算机系统计算机软件
基于大数据技术的软件安全漏洞自动挖掘方法研究
基于模糊测试技术的软件安全漏洞挖掘方法研究
IBM推出可与人类“辩论”的计算机系统
基于C语言的计算机软件编程
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
分布处理计算机系统研究
地面气象测报业务计算机系统
神州修车救援APP取得计算机软件著作权