APP下载

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

2021-04-04张睿腾

电子测试 2021年6期
关键词:安全漏洞计算机软件漏洞

张睿腾

(武汉学院,湖北武汉,430212)

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

1.1 动态化检测

1.1.1 非执行栈

由于操作系统中的栈能够被执行以及其具有可写性,进而导致在计算机软件使用过程中,存在着被攻击的可能。例如;若内部影响恒定,攻击人员可以将恶意代码编写进栈中,恶意代码会在系统中持续的进行突破口的寻找,以探寻对于计算机软件加以攻击的可能,进而形成对于计算机软件的潜在威胁。为此,针对这一漏洞,需要在软件编写的过程中,将栈转变为不能被执行的代码形式,在实践的过程中,这一方法的可行性较强,可以使得攻击人士对于执行栈编码进行篡改的可能被降低,进而降低了计算机软件在应用过程中,不良风险存在的可能性,以此更好的实现计算机软件保护的目的[1]。

1.1.2 内存映射

针对于软件中字符串的有效应用,是保证计算机安全的重要方面。例如:在实际的攻击中,攻击者一般使用“NULL”字符的形式作为结尾,进而以一种覆盖内存页的方式实现攻击手段的执行。为此,要在漏洞检测技术中,通过对于字符串的有效控制,应用一种内存页映射的方式,使得内存页跳转至较为简单的区域,这会提升攻击者的攻击难度,进而保证软件系统的安全程度。因此,通过在各异的地址中进行随机映射,可以加大猜测的数量,进而使得攻击者难以找到真正的攻击地址,提升了攻击者的供给难度,降低了不法侵入者对于软件运行的干扰程度。

1.1.3 沙箱方法

沙箱技术类似于防火墙,是一种通过营造一个限制访问的隔离带来对于不良攻击加以屏蔽。在实际的应用中,沙箱技术的优势在于不改变系统既有的程序以及内核,主要针对于不良干扰加以隔离。并且沙箱技术具有对于决策的良好依赖性,可以在屏蔽恶意攻击的同时,保证系统内部良好的兼容性。例如:在C语言中一般并不存在调动函数,但若检测到软件中存在着某种调动函数,则表示软件正在遭受着某种程度的攻击,此时要借助沙箱的方式对于这一调动函数加以屏蔽,提升阻隔的针对性,在有效保证系统整体平稳运行的情况下,使系统免受不良攻击的侵扰。

1.1.4 程序解释

程序解释的应用基础在于系统必须处于运作过程中,通过程序解释技术的应用可以达到良好的恶意供给规制效果,进而提升安全检查的可行性。换言之,只要计算机处于一种运行的状态中,程序解释方法就会对其加以保护。但程序解释技术在应用过程中,会对于系统的整体性能形成过度消耗。为此,要在使用的同时,以程序监控系统,对于系统的消耗进行监视,进而提升程序解释运行的合理性。因此,要在合理化的基础上对于软件漏洞安全检测技术加以运用,以提升其在应用过程中的现实意义,保证检测技术在维护系统安全的同时,避免对于系统带来的不良反应。

1.1.5 安全共享库

共享库的应用可以提升系统的开放性,并与数据的传输与接收,但部分安全性较低的共享库的应用,会形成漏洞,进而为不良攻击的介入提供可乘之机。为此,要依据系统的实际情况,强化共享库的安全性,进而为数据的安全共享提供基础与保证。安全性的共享库的运行核心,是针对于链接过程中存在的问题加以强化,进而实现在程序运行中对于安全性较低的函数加以拦截,并在拦截后,对于其中存在的漏洞执行优化与完善,进而提升计算机运行的安全性。例如:在Windows系统以及UNIX系统中,安全性共享库具有较为广泛的应用,可以有效提升这一系统的稳定性[2]。

1.2 静态化检测

静态化软件漏洞检测技术主要是针对于计算机软件中存在的源代码进行运作,通过扫描待测软件的相关源程序抑或二进制代码的方式,进而精准的对于存在漏洞的程序加以规制,从语法、语义上对于待检测程序的基本特征加以理解与分析,并从不同的角度对于可能存在的不良信息进行解读,进而探寻出系统运行过程中可能具有的异常信息以及不良因素。其中,具体的执行过程在于,通过事先对计算机程序加以扫描,以此对于其中存在的重要部分加以分析,并按照漏洞的衡量标准落实检测策略,进而分析出程序执行过程中的漏洞。例如:语法以及语义是漏洞可能存在的不同角度,对其加以分析,可以提升检测的广度,并就不同的角度完善检测的针对性以及检测价值。

在运用静态检测的过程中,需要应用类型推断、约束分析、数据判断等不同的思考角度,对于计算机软件在执行以及运行过程中可能存在的问题加以判断,进而实现漏洞相关问题的有效筛查。但上述的分析手段,在实际的执行过程中具有一定程度的局限性,不能就全局的角度实现软件内部问题的有效分析,但静态检测的手段仍然在当今的时代中,具有一定的便捷性,可以有效提升检测效率。

并且,在实际的应用过程中,通过动态分析手段的综合运作,实现针对于语法的综合性进判断,并对于源代码实现抽象性的处理,可以实现通过不同段落的划分,实现对于语法、语义等的有效处理,进而将其划分为不同段落下各异的数据库,实现不同数据库内容的对比,以此完成对于软件漏洞的及时性检测以及预防。因此,静态检测技术的实时性以及多角度,可以提升技术操作的便捷性,并有效强化技术的实用性。

静态检测技术以内部特征作为主要的分析对象,并在其运用的过程中,需要借助漏洞检测标准以及实际情况的介入,特备是在对于安全漏洞特征进行划分的过程中,存在着多种模式。例如:把漏洞检测特征划分为多个小部分以及一个大部分,并对于大部分再划分为若干小部分,进而实现对于漏洞的综合处理。静态检测技术的衡量指标有两个:一个是漏报率,一个是误报率,并且这两种衡量指标之间具有一定的负相关联系性。静态检测技术通常包括:二进制对比技术和词法分析、程序评注技术、类型推导技术、规则检查技术、模型检测技术、定理证明技术、变异语言技术。

在对于内存性质的漏洞特征进行判断的过程中,需要对于数据本身加以辨析,并且可以将存储空间作为检测的侧重点,通过建模实现对于漏洞的全面性解读。并且,静态化的漏洞检测过程中,其特征具有差异性,这就不仅需要针对特定的漏洞,还需要结合实际情况对于漏洞特征加以甄别及处理。

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

2.1 基于格式化的安全漏洞

格式化漏洞在计算机软件漏洞中的占比较高,是一种较为普遍的计算机软件漏洞。针对于这种形式的计算机软件漏洞,在应用漏洞检测技术的过程中,可以依靠代码,实现对于计算机软件格式的有效计算,进而减少实际运行过程中恶意供给介入的可能,于此同时,实现规范性、安全化的检测。此外,格式化的漏洞通常是以字符作为其表现形式的一种漏洞形式,在实际的应用过程中可以就计算机软件的参数着手,实现格式化漏洞的检测与修复[3]。

2.2 针对竞争条件的安全漏洞

竞争条件漏洞在计算机软件的运行中同样存在着一定的普遍性,一般技术人员会依靠对于竞争代码的检测,进而漏洞检测的执行,也就是应用一种原则化的方式,实现编码,进而将计算机软件的代码原子化,并在此过程中,可以提升代码的通过性能以及通过率,并且在计算机软件代码原子化的过程中,可以更为明显的对于计算机代码的基本特征做以呈现,并为检测进行部分代码的锁定,提升检测的便捷性,维护计算机运行安全。

2.3 预防缓冲区的安全漏洞

在进行缓冲区的安全漏洞检测过程中,其技术的本质在于对缓冲区漏洞进行预防,即主要是针对计算机软件函数进行更加细致的检测与预防,进而通过更为安全的版本执行实际操作,形成对于安全性不高版本的有效替换,从而有效预防计算机漏洞,保障信息安全。若盗版以及来历不明的软件有编程漏洞,就会使得计算机系统出现崩盘的状况。这就要求计算机软件内安全的漏洞检测环节中,对软件实施隔离,在根源之上,规避上述的软件和系统漏洞接触的可能性。计算机内安全漏洞检测技术的不断开发,关键就是对漏洞进行检测。在对计算机安装软件需要进行安全风险的有关提示,规避软件技术类问题产生的可能。

2.4 规避随机性的安全漏洞

随机漏洞的预防检测技术,需要通过使用性能更加良好、准确性更高的设备对随机漏洞进行预防,以此来保证计算机设备中含有密码算法,从而达到行之有效的预防目的。若在系统死机的情况下,进行设备的重新启动,会导致计算机重复上一次的死机状况进而是得计算内的信息以及数据无法被加以运用,并且在后期无法对其进行修复,进而形成持久性的计算机损伤。因此,针对于随机性漏洞的检测在实际的应用中,可以有效提升计算机软件检测的实时性。

猜你喜欢

安全漏洞计算机软件漏洞
漏洞
基于大数据技术的软件安全漏洞自动挖掘方法研究
基于模糊测试技术的软件安全漏洞挖掘方法研究
基于C语言的计算机软件编程
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
三明:“两票制”堵住加价漏洞
漏洞在哪儿
高铁急救应补齐三漏洞