杨晓明 刘祯
摘要:随着科学技术的发展,计算机技术也得到了飞速的发展,在人们使用计算机的过程中,安全漏洞逐渐成为困扰广大用户的问题,为人们带来了诸多不便。因此,为了使计算机技术为人们带来更大的便利与效益,相关的计算机技术人员需要继续深入钻研,加强计算机安全漏洞的防护。文章对计算机软件的安全漏洞做了简要的论述,同时对计算机安全漏洞分类以及漏洞检测技术做了研究并阐述了安全漏洞监测技术的应用。
关键词:计算机软件;安全;编程;漏洞检测
在当前人们的各项工作均越来越依赖计算机软件的背景下,计算机软件运行的安全性需要有充分的保障,而要确保计算机软件运行安全需要对软件的程序进行科学的编程,预防安全漏洞。当前计算机软件复杂性越来越高,软件的安全漏洞对整个系统的安全造成了重大的威胁,人们的重要信息泄露,办公系统出现故障,对人们造成了巨大的损失。因此,人们对计算机软件安全漏洞的预防与检测开始逐渐重视,先进的安全漏洞检测技术可以及早发现计算机软件内部存在的安全隐患,从而减少人们的损失。
1 计算机安全漏洞概述
1.1 安全漏洞定义
计算机软件的安全漏洞为计算机在软件设计、硬件以及协议实施方面的不足导致系统安全性不足,一些未被授权的程序趁机入侵,进而造成系统的损害甚至崩溃。安全漏洞的产生通常有以下几种,最常见的为在程序编程中由于编程者的失误出现了一些逻辑上的错误,进而给不法人员可乘之机;其次为软件在进行数据的处理与整合中出现逻辑上的失误,这些模块大小不一,对模块进行对比发现,中等模块的失误率较低;还有软件系统所处的硬件配置环境不同的情况下,也会产生相应的漏洞;最后,随着软件的漏洞被不断地发现与修补,随着时间的推移,会有新的露洞不断出现,这使得安全漏洞始終无法杜绝,只能对其不断地完善与修复,通过加强预防与及时更新使安全漏洞在早期阶段即被发现,以减少人们的损失。
1.2 安全漏洞特性
1.2.1 原发性
原发性是指计算机软件本身在编程上存在着一定缺陷,这些缺陷在软件的运行中就会成为遭受攻击的突破口,造成这种现象的主要原因在于软件编程人员的自身失误,由于其存在先天上的缺陷使得其容易遭受入侵者的攻击。而计算机软件的编程人员在进行软件设计与编程的过程中很难将全部的因素考虑周到,这使得计算机软件自投入市场开始就存在着安全隐患,需要定期的更新与维护[1]。
1.2.2 差异性
随着信息化时代的到来,人们的休闲、办公、娱乐、交流等都更多地通过计算机软件进行,因此,计算机软件在当前的应用极为广泛,相应的针对不同的用途也开发了形式多样的软件。由于计算机软件的安全漏洞与相应的工作环境、硬件配置等关系密切,同一款计算机软件在不同的环境下工作所形成的漏洞也各有不同。计算机软件的运行主要是依据编程人员编写好的程序代码,不同的设备其硬件设施也各有不同,这导致软件执行代码运行的过程中会产生一定的差异,这使得安全漏洞呈现出差异性的特点。
1.2.3 延续性
计算机软件中的安全漏洞具有延续性的特点,所谓延续性是指安全漏洞不可能一劳永逸地解决掉,随着安全漏洞的不断修复,又会出现新的漏洞,即使计算机软件设计师对软件进行不断地更新,还是会出现各种形式不一的漏洞,在不断地更新中原有的安全漏洞会得到相应的修补,但是计算机软件的程序在其他程序的逻辑上总会有新的错误,进而出现新的漏洞,在原有漏洞不断被修补,新的漏洞不断出现的循环中,计算机软件不断发展和完善。
2 如何检测安全漏洞
2.1 动态监测技术
2.1.1 非执行技术
如今许多恶意攻击软件通常会寻找计算机软件的漏洞入侵,对其进行深入的研究,发现攻击软件最先入侵的是计算机软件的栈,而栈内储存着大量的数据,攻击软件入侵栈成功后会输入恶意代码并使其执行。因此,计算机软件内的栈如果能够不被恶意软件改写,那么就能有效保障计算机软件运行的安全性,从而减少出现漏洞的概率[2]。
2.1.2 数据安全漏洞检测
这项检测技术实际上是对计算机的数据内存进行各个区域的分配,计算机软件内不同的数据段对恶意攻击软件输入的恶意代码不会执行,但是会启动自身的数据执行系统,这使得恶意软件植入的代码无法发挥作用,进而减少计算机软件受到的损害。这项技术同时可以与非执行技术共同运用,对安全漏洞进行全方位的防范,降低恶意代码的执行,以最大化地降低恶意软件的攻击。
2.1.3 沙箱安全漏洞检测
这项检测技术实质上是对计算机资源的访问权限进行了限制,恶意软件无法访问,自然无法植入恶意代码。程序解释技术在所有的动态安全漏洞的检测技术中比较传统,并且对漏洞的检出有较好的效果。它可以详细地对计算机软件运行的全过程进行监测,并且对各种软件的安全性进行强制检测,同时对运行程序做出相应的解释。由于这项技术的强制性检测特点,会导致较多的计算机性能消耗。
2.2 静态检测技术
2.2.1 词法分析技术
这项技术通过计算机语言在语法的基础上对多个计算机软件进行全面的检测,具体通过以下几个步骤操作:首先对程序进行分段,将软件的程序分为几个片段,然后对每个片段的数据进行全面的、详细的检测与分析,从而发现其中的安全漏洞。由于整个过程相对比较繁琐,如非特定情况,这项技术很少使用。
2.2.2 规则检测技术
这项技术应用最多的是软件自身的程序检测,由于计算机软件的编程极为复杂深奥,软件编程师在编写程序时不可避免的会发生失误,进而引起计算机软件的安全漏洞。规则检测技术能够用语法对程序的规则进行描述,相应的处理器分析与处理以后被分析器接受,最后详细地对程序进行分析[3]。
2.2.3 类型推导检测技术
计算机软件正常运行时,其程序的变量和函数的访问处于正常状态,运用类型推导检测技术对计算机软件的程序变量以及函数进行推导,进而分析其访问是否处于正常状态,这项技术主要用于检测与程序流无关的程序。
3 安全漏洞检测技术在计算机软件中的应用
3.1 预防竞争性漏洞的产生
安全漏洞形成的原因有许多,竞争的条件下计算机软件会出现缺陷,进而形成安全漏洞。對这一现象通过采用合适的安全漏洞检测技术可以有效解决,通过对形成竞争条件的编码进行原子化的操作,计算机软件就是通过执行编程代码而运行的,原子化的编码在运行过程中不会被其他因素影响,因此安全漏洞检测技术可以实现对漏洞良好的锁定,进而在竞争漏洞方面有一个良好的效果。
3.2 预防缓冲漏洞的产生
安全漏洞检测技术不仅可以有效地阻止竞争条件下产生的漏洞,同时在缓冲区出现的漏洞也可以有良好的阻止效应,计算机软件的函数发生异常将会导致漏洞的产生,而漏洞检测技术可以对其进行详细的分析与检查,从而有效预防缓冲区发产生的漏洞。同时对于计算机软件中的一些存在安全隐患的危险版本要及时发现,并用安全版本进行取代。
3.3 预防随机漏洞的产生
安全漏洞检测技术在预防随机漏洞方面有较好的效果。对随机漏洞的有效阻止要求安全漏洞检测技术能够对计算机软件的漏洞进行实时的检测,能够随时关注并及时发现计算机软件运行过程中出现的随机漏洞。随机发生器中对密码有相应的算法,因而漏洞检测技术需要对随机发生器中流入的各项数据进行全面的并且实时的检测,从而尽可能降低随机漏洞的发生'
3.4 预防字符漏洞的产生
安全漏洞检测技术还可以在阻止字符漏洞中起到良好的效果。由于字符的改变比如格式化、篡改等将会对计算机软件的运行产生很大的影响,进而产生字符漏洞,在实际的应用中需要对字符漏洞进行充分的预防。安全漏洞检测技术通过对字符进行一定的处理,附加了特定的函数,这使得字符多了一层保护,最终有效预防字符漏洞的产生。
4 结语
随着社会的发展,计算机软件系统将会得到越来越广泛的应用。计算机安全漏洞是如今计算机软件运行中的主要威胁因素,如果对安全漏洞没有一个详细的了解,安全检测技术没有充分的研发,人们的日常办公以及休闲娱乐将会受到很大的影响。为了使计算机技术更好地造福人类,计算机软件得以安全有序地运行,我们还需要加大对安全漏洞的研究技术,尽可能及早对漏洞进行发现与预防,减少安全漏洞给人们带来的损失。
[参考文献]
[1]王怀.安全漏洞检测技术在计算机软件中的应用研究[J].信息与电脑(理论版),2018(2):190-191.
[2]吴珅珅,周军.计算机软件属性以及保护方式的认知研究[J].电脑知识与技术,2018(1):92-93.
[3]赵世斌,周天阳,朱俊虎,等.竞态漏洞检测方法综述[J].计算机工程与应用,2018(3):1-10.
[4]陈斯,卢华.计算机软件中安全漏洞检测技术及其应用[J].电子技术与软件工程,2016(11):79.