岑德顺
摘要:当今时期正处于网络技术快速发展的时期,计算机网络广泛应用于社会多个领域中,是人们生活工作中不可缺少的重要组成部分。随着时代的发展,计算机技术已经取得一定成绩,但是由于网络具有开放性等特点,依旧存在一些安全问题影响人们的软件信息安全。通过对计算机软件安全漏洞检测技术与应用进行研究分析,希望能够为相关工作人员提供一定的理论借鉴。
关键词:计算机软件;安全漏洞;检测技术
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)13-0061-02
随着计算机技术和网络技术的高速发展,极大程度的改变了人们的生活生产方式。现阶段,计算机软件种类日渐丰富,对于社会的发展发挥越来越重要的作用。在给人们带来便利的同时,也必须对计算机软件系统的安全漏洞问题给与足够重视,如果被黑客所攻击,将会严重影响计算机系统的正常使用,使数据信息资源受到损害。因此,必须提高对软件安全漏洞检测技术的重视,保证软件的正常使用。
1 计算机软件漏洞
计算机软件漏洞指的是,在对计算机系统进行编程时,由于疏忽而只是其出现一定错误,导致计算机系统存在相关缺点,很多计算机软件正是基于此种缺点,而存在一些安全隐患,并且对计算机系统自身同样具有一定威胁。计算机软件漏洞主要分为以下两种表现形式,一种是功能性漏洞,另外一种是安全性漏洞。功能性漏洞指的是,对计算机的正常运行具有一定影响,容易导致系统出现运行错误等状况;而安全性漏洞是指,计算机系统在多数情况下,不会受到系统漏洞的影响,但是如果黑客针对漏洞进行入侵计算机系统,容易导致软件无法顺利进行,严重的话,可能致使计算机系统出现错误的执行命令,具有非常大的危害。
通常情况下,可以将漏洞特性分为以下四项内容:第一、在系统的编程阶段,如果编程人员出现差错,容易使系统逻辑性出现一些错误,此种由于忽视而出现的系统错误是可以避免的;第二、计算机在执行任务的过程中,常常会出现不同的逻辑错误,逻辑性错误的发生概率,可以根据程序模块的大小而定;第三、计算机软件漏洞是否存在,同软件所运行的环境具有直接性关联;第四、时间对于系统漏洞也具有一定的关联,时间的不断延伸,虽然修复好旧的系统漏洞,但是新的漏洞也会随之产生。
2 计算机软件安全漏洞检测技术分析
2.1动态检测技术
动态检测技术主要是指,在保持源代码不发生变化的基础上,对计算机系统开展动态检测。动态检测技术一般都是改变计算机程序所运行的环境,尽管能够有效的检测出程序中所存在的漏洞,但是有可能会形成其他的安全漏洞,进而使计算机系统的正常使用受到一定的安全威胁。动态检测技术主要包括内存映射、非执行栈、沙箱、非执行堆、程序解释、以及安全共享等等。比如说非执行栈,面对栈攻击,只需要停止栈工作即可有效解决此问题,也是最为有效最为直接的解决措施,能够将黑客恶意代码全面拦截,保证系统安全[1]。但是,让栈停止工作也有一定的弊端,就是主要的修改、或者设置部位都会发生在操作层中,如果发生意外行为,将会有可能影响计算机系统的正常运行,特别是在堆溢出漏洞也发生时,将会进一步提升系统发生漏洞的概率。面对内存映射,如果出现黑客攻击事件,可以利用内存映射技术,将目标代码页映射到其他地址上,能够在一定程度上困扰和迷惑黑客,需要黑客浪费较多的时间去寻找目标地址,因此内存映射技术不需要对代码做出改变,仅仅重新链接即可。又比如说沙箱技术,主要是采取限制访问的方式,实现对黑客攻击的阻止,具体能够取得有效成效,需要由定义策略的全面性决定。如果定义策略有效可行,那么能够实现黑客攻击的阻止,但是策略过于严格,则又会导致程序无法正常发挥出作用;不仅于此,如果黑客通过本地变量实施系统的入侵,那么沙箱技术将无法发挥作用。再比如说内存映射,网络中的黑客在攻击破坏系统软件时,通常都会在字符串结尾运用“NULL”字符,实现覆盖内存,以此达到破坏软件的目的。通过代码页映射技术,不法分子可以根据“NULL”结尾的字符串,实现对内存覆盖的目的。
2.2 静态检测技术
静态检测技术指的是,通过程序分析技术,开展相关措施分析源代码、以及二进制代码。利用静态检测技术检查计算机程序,不需要保证软件处于运行状态,即可实现对程序的检测,具有方便、操作简单的特点,并且不易导致发生其他安全漏洞。静态检测技术主要有类型推导、定力证明、词法分析、模型检测、以及规则检测等等。比如说规则检测技术,是针对程序本身开展检测行为,如果在程序编程阶段,由于编程人员的失误而导致程序中出现安全漏洞,那么利用规则检测技术,就能够利用特殊的语言,将程序规则全面描述出来,然后利用规则处理器,保证分析器能够接受处理结果,最后对程序开展分析和检测。再比如说类型推导技术,通过推导程序中函数、或者变量类型,然后对其方面的正常性进行观测,类型推导技术主要在与控制流毫无联系的程序中较为适用[2]。
3 计算机软件安全漏洞检测技术的应用
3.1 阻止产生竞争性漏洞
如果计算机程序中出现竞争条件而导致的安全漏洞,可以利用竞争形式而形成的编码原子化措施。主要是在计算机执行单位中,编码原子化属于最小的编程程序,在实际运行阶段,不会产生其他的干扰问题。对于原子化操作,首先需要对程序进行锁定,然后可以通过特定状态,以此使出现的问题得到解决。
3.2 阻止缓冲区产生漏洞
可以采取漏洞检测技术,全面检测软件程序中的危险系统,然后对存在的安全漏洞进行排查和解决,最后对计算机中的安全软件版本进行更新升级,保证其有效性能,进而有效解决计算机程序中的溢出漏洞问题[3]。
3.3 阻止产生随机性漏洞
在对计算机软件安全漏洞进行检测的过程中,可以适当对系统中的设备性能进行提升,可以有效解决系统中的随机性安全漏洞。主要是由于在设备中,都会带有本身的密码算法功能,能够对计算机数据流的安全起到全面的保护作用,如果出现软件被攻击的情况,尽管黑客对相关算法、规则明确掌握,但是也无法获取计算机数据信息。
3.4 阻止产生字符串漏洞
在对计算机软件安全漏洞进行检车时,可以采取格式变量的措施,可以有效的解决程序中出现的字符串漏洞问题。格式变量法使用较为简单直接,主要是阻止黑客创建字符串的操作,实现软件程序的保护。通常来讲,当计算机程序中的个数函数属于不定参数时,那么在系统中很容易出现字符串安全漏洞,所以在利用个数函数阶段,必须确保参数的均衡性,保证计算机系统的所有参数都能够符合相关要求。此外,为了减少软件安全漏洞对系统造成的安全伤害,可以利用计算机Windows系统的下属窗口,实现数据的传输操作的完成。
4 总结
综上所述,计算机软件安全漏洞检测技术,对于保护计算机系统的正常运行具有至关重要的作用。随着计算机技术的不断发展,检测技术也得到发展,并且在更多的领域中覆盖,但是网络安全漏洞问题种类也会更加丰富,将会以更多的形式攻击计算机系统,所以需要软件研究人员不断提高技能,实现计算机软件安全漏洞检测技术的不断提升和完善,将静态检测技术同动态检测技术合理结合,以此保证计算机软件能够平稳安全的运行。
参考文献:
[1] 高妍.计算机软件安全漏洞检测技术与应用[J].计算机光盘软件与应用,2014(4):172-173.
[2] 黄海滨,王艳芳. 计算机软件安全漏洞检测技术的应用研究[J].电脑与电信,2013(4):51-52.
[3] 杨博宁.计算机软件安全漏洞检测技术的应用研究[J].中国科技纵横,2014(9):16-16.