APP下载

关于计算机软件安全漏洞检测技术与应用

2017-03-09杨满仓

网络安全技术与应用 2017年10期
关键词:安全漏洞计算机软件漏洞

◆杨满仓 许 磊

(洛阳师范学院信息技术学院 河南 471934)

关于计算机软件安全漏洞检测技术与应用

◆杨满仓 许 磊

(洛阳师范学院信息技术学院 河南 471934)

在信息技术快速发展的同时,信息技术在我国多个领域中都得到了普及应用,使人们的生活方式发生了改变,为人们的日常生活和工作带来了便利。但在软件系统中,安全漏洞问题对信息系统产生较大的威胁,会导致计算机软件系统中重要信息的流失。为了确保计算机软件系统的安全性,本文就对计算机软件安全漏洞检测技术及其应用进行分析。

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

0 引言

随着现代科技水平的显著提升,计算机信息技术在各个领域及各个行业中都得到了广泛的应用,同时推出了大量的计算机软件,为工作带来了极大的便利,也为各行各业的发展带来一定的经济效益[1]。在计算机软件开发过程中,源代码的数量增加,计算机软件中存在漏洞问题增多,为网络黑客的侵入提供机会,也为计算机软件的使用者带来信息安全的威胁。目前计算机软件的更新速度较快,漏洞出现频次呈不断增长的趋势,因此就需要提高计算机软件安全漏洞的检测水平。计算机软件安全漏洞检测技术是弥补漏洞问题和寻找漏洞的重要方式,为计算机软件运行的安全性和稳定性提供充足的保障。

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

1.1 动态安全检测技术

动态安全检测技术主要包括三个方面:(1)内存映射问题,网络黑客在侵入软件并进行破坏和攻击时,为了达到自身的目的,通常会用以“null”结尾的字符来对计算机本身内存进行覆盖,并采用代码页映射技术来使内存覆盖难度增加,无法轻松地跳转到内存区操作[2]。但从另一方面来看,代码页的随即内存映射在一定程度上使通过猜测地址来对页面展开攻击的情况减少。(2)非执行栈。目前栈攻击软件的问题较多,主要是由于系统中栈的执行方面和写方面存在较多的问题,栈中包括有数组变量和内部变量,因此攻击者可以在栈里随意写恶意代码,并执行代码,如将栈转变成无法执行代码的形式可以预防攻击。(3)安全共享库。大部分软件存在安全漏洞问题都是由于共享库不安全所导致的,因此采用安全共享库可以预防人为的攻击性。安全共享库主要是在程序运行过程中采用动态链接来拦截不安全函数,并对这些函数进行检测,一般在windows里应用较为广泛。

1.2 静态安全检测技术

静态安全检测是对系统内部安全性进行检测,与漏洞有着一些共同的特点,且这些特点本身就具有一定的联系性。计算机漏洞可以分为内存性漏洞与安全性漏洞。其中安全性漏洞主要是由于数据流误差所导致,从一定程度上主要是由于内存形态错误形成的[3]。内存性漏洞则与数据类别及数据准确性有关。总体来看,静态安全检测技术可以分为静态分析法和程序检验法两种,其中静态分析法主要是将相关模型在存储空间中进行构建,并对程序代码进行扫描,深入分析程序代码所包含的关键句,结合设置的漏洞标准及漏洞特性来对软件系统进行全面检测。这种方法最早是对语法进行分析,对相应的语法进行检查,将系统程序划分成一些不同的语句,将其与数据库进行直接比较,一旦发现有疑问则将其与自身进行详细的判断与分析,并按照相应的检测标准进行全过程检测。这种检测方法虽然可以发现其中的漏洞问题,但检测数量有限,且检测出的漏洞往往是人们所知的,其使用价值有限。

而程序检验法则是通过抽象的软件系统程序来得出形式化模型和程序,并通过形式化检测来对软件系统中的漏洞情况进行科学的检测。在检测过程中首先需要对模型进行检验,对系统程序的状态机和有向图建立相关抽象模型,对系统特征进行检测。一般来说模型检测有模型自动转化检验和符号化检验两种,其中符号化检验是将抽象的系统模型转变为语法树来对公式进行描述,并对公式与需求是否相符进行判断[4]。而模型的自动转化检验则是将程序转换成等价的自动机,并将两个自动机补充替换成新的自动机,最终对系统可容纳的语言形式进行判定。在模型检验中,一般是先将现实中可能存在的情况一一列举出来,由于软件系统具有复杂性,从而决定了不能全部建模,因此只能针对部分程序和属性来建立抽象模型。但近年来建模技术和新模型检测技术水平得到提高,可以采用内存建模的方式来对过去时序中存在的漏洞进行检验,并通过定理来对检测的漏洞进行证明,相比较来说更加具有严密性。

静态检测技术只能对现有的漏洞类别进行检验,由于缺乏漏洞的描述标准,不能对未知的漏洞进行判定和描述,对现有的漏洞也缺乏全面覆盖的方法,因此静态检测的性能上存在较大的缺陷,要想提高系统检测的质量就需要投入大量的资金支持[5]。

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

2.1 竞争性漏洞的防治

竞争性漏洞是指因竞争条件出现而导致漏洞产生,在对竞争性漏洞进行预防时应将因竞争所形成的编码采用原子化的操作方法,并将其作为执行单位中最小编码,由于在软件系统的执行单位中编码是最小的,可以确保在程序运行中不会存在任何因素的干扰问题[6]。其中原子化操作是通过锁定手段指将疑似漏洞的问题先进行锁定,并通过某种预防状态来使漏洞问题进行改变,对应用文件名系统进行间接调用,对所用文件或句柄进行直接描述。

2.2 缓冲区漏洞的防治

为了避免缓冲区的漏洞溢出问题,可以通过对软件程序中的危险函数进行检查来加以预防,并用安全软件版本来替代原本可能会存在安全漏洞问题的版本,如将 extern char*strncat 版本来替代 extern-char*strcat 版本等。

2.3 随机性漏洞的防治

在对系统软件的安全漏洞问题进行防治过程中,在随机发生设备选择中采用一些性能较好的设备,这些设备自带密码算法,可以有效地保障随机数流可靠性与安全性,即便在软件受到攻击的情况下,准确掌握了算法的细节,也不能得到相应数据流。

2.4 字符串漏洞防治

在采用 Windows操作系统时,窗口主要是实现数据输出工作,降低漏洞威胁,通过严谨的防治措施,在数码中采用格式常量不为网络黑客攻击者来创建格式串的机会,避免字符串的漏洞问题出现[7]。在系统设置时不定参数的个数函数通常也会出现格式化字符串漏洞问题,在这种函数的应用过程中需要确保各个参数的个数可均衡性。

3 结语

从我国当前的情况而言,计算机软件安全漏洞检测技术在不断发展,也已经成为计算机通信技术及系统安全的重要检测方法,对计算机软件系统的安全性提供了保障,而对软件系统的消除安全漏洞程序进行编写也是确保计算机软件安全的基本措施。为了促进计算机信息技术的更好发展,就需要重视计算机软件的安全漏洞问题,避免严重的信息安全问题,为用户的信息安全提供充足的保障,同时也要对安全漏洞检测技术加以应用并不断完善,从多个方面来对计算机软件系统进行检测。在检测技术的应用中需要从多个角度来进行安全漏洞检测,并对漏洞检测类型进

一步明确,确保计算机的信息安全。

[1]罗宏伟.计算机软件中安全漏洞检测技术及其应用[J].硅谷,2012.

[2]谢剑.计算机软件安全漏洞检测技术的应用分析[J].信息与电脑(理论版),2016.

[3]朱江.计算机软件中安全漏洞检测技术及其应用[J].通讯世界,2016.

[4]陈栋良.计算机软件中安全漏洞检测技术及其应用[J].软件,2013.

[5]汪刚.浅析计算机软件安全漏洞检测技术[J].电子制作,2014.

[6]鲍彬,武云涛.计算机软件安全漏洞检测技术与应用[J].中国新通信,2016.

[7]梁湘.浅析计算机软件中安全漏洞检测技术与应用[J].电脑迷,2017.

猜你喜欢

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