摘要:对软件程序进行重新设计和编写,是预防安全漏洞、确保软件安全的主要手段。所以,计算机技术人员要不断努力,强化安全漏洞检测技术,保障计算机软件运行安全稳定。在计算机的软件系统中,安全漏洞是对信息系统造成威胁的主要原因,所以,计算机软件中安全漏洞的检测技术成了现今人们探索的重点问题。文章研究了计算机软件中安全漏洞检测技术。
关键词:计算机软件;安全漏洞;检测技术;应用
作者简介:陈国栋(1979-),男,山东泰安,硕士;研究方向:计算机教学
近年来,计算机技术的应用越来越普遍,计算机软件的发展非常迅速。同时,源代码的数量也随之急剧增加。一些黑客通过代码中的某些漏洞对计算机的软件及系统入侵并破坏。所以,计算机软件的安全问题已经变成了如今系统安全的关键问题之一。
1计算机软件中的漏洞
漏洞是软件、硬件、协议实施中的纰漏,也是系统安全层面的缺失处,让未获取授权认可的攻击方对系统探访、攻击、损害。漏洞的自我特质面可从几个层面表征:第一,是在编订程序的环节内有某些逻辑类失误的生成,该种失误是由编订者粗心引发,较为常见。第二,是在软件的各个数据演算、处理的环节中,也会有某些逻辑类失误的生成,在程序模块中用中等大小同较小、较大的模块比对看出,非中等程序模块失误比率较高。第三,漏洞和软件系统的环境关联度较高。同一台计算机中各异的软、硬件版本、在配置不等的前提下,每各设备共组的软件体系同系统一致但设置不等时,都会有安全层面的缺陷处。第四,软件的整体系统漏洞和时间也有关联性,也就是说在时间长度的延伸下,曾出现的漏洞会被补修、更正,但新的漏洞也同时会更加显现。所以,计算机软件内的漏洞是长久存留的难题。
1.1计算机软件安全漏洞的原发性
通常情况下所谓的计算机漏洞是指由于计算机软件自身含有某些潜在的缺陷和劣势,这些潜在的缺陷和劣势由于自身包含的特点可能引发一些风险或者说造成相对容易的攻击范围。计算机软件漏洞出现的主要原因就是由于计算机软件设计人员的操作存在失误。从上面的分析中可知,计算机软件最主要的就是由于自身存在着缺陷才导致了后天的攻击性行为。计算机软件设计人员在设计的过程中很难考虑全部的设计因素,而且现在的软件设计人员的设计水平良莠不齐,这就决定了计算机软件在投入市场的开始就存在着一定的风险,这种风险是由于计算机软件本身所存在的某些原发性错误引起的。
1.2计算机软件安全漏洞的差异性
计算机软件的应用范围很广,目前市场上存在着各式各样的软件,这些软件适用的工作区域也不一样。一般来说,计算机软件漏洞和其工作的环境之间存在着较为密切的联系,在不同的工作环境内即使相同的计算机软件也可能表现出不一样的漏洞特征。计算机软件的工作环境对于计算机软件的运行起着至关重要的作用,计算机软件主要根据写好的程序代码运行,在不同的设备上,计算机软件的代码执行过程也会存在一些差异,这些差异都决定了计算机软件漏洞的多样性和差异性的特点。
1.3计算机软件安全漏洞的延续性
计算机软件都会不断更新,计算机软件的漏洞也会不断被修复,然后随着而来又会出现一些新的计算机软件漏洞。在使用的过程中计算机软件会随着时间的推移,原先的漏洞会不断被修复,然而程序总会存在新的程序逻辑错误,这些新的逻辑性错误又会导致新的漏洞,计算机软件漏洞就不停地处于这样一个无限的循环中,除非一个计算机软件彻底被市场所淘汰。
2计算机软件中安全漏洞的检测技术
现阶段,信息技术已经成为人们生活中一个必不可少的生活要素。随着科学技术的不断进步,各种计算机软件的不断被开发出来,开发计算机软件的人也变得多起来了。目前,国外有关的专家研究发现,随着计算机软件的大量使用,计算机软件的漏洞的数量和频率都变得越来越高。目前网络黑客的数量也变得越来越庞大,黑客的性质也发现了质的变化,越来越多黑客在利益的驱动下对个人和集体用户展开了大规模的攻击。在这种大环境下,只有计算机技术人员不断提高计算机软件安全漏洞的检测技术才能应对这种挑战。计算机软件内的安全漏洞可检出的策略有2类:一类是静态模式的检测技术,另一类是动态模式的检测技术。
2.1计算机软件安全漏洞的静态模式检测技术
最开始的计算机软件安全漏洞静态检测就是静态分析,但是由于其检验的方式多停留在表面,因此,近些年开始逐渐对其进行研究与创新,静态检测也就逐渐扩充成为2种内容:静态分析及程序检验。其中,静态分析指的是对需要检测的系统程序进行源代码的扫描工作,从语义、语法等角度进行全面解析,同时直接分析待测系统程序的自身特性,利用这种方法寻找漏洞。而程序检验是指抽象系统内的程序源代码。主要借用检验方法,检测软件系统的程序是否符合计算机的需求,特别是对安全的需求,然后对程序中的安全漏洞存在与否进行判定及检验。对于计算机软件安全漏洞的静态检测来讲,其更多注重的是计算机软件系统程序的内部特性,静态检测的方法特点同检测漏洞的特点之间包含着密切的关联。计算机软件中的安全漏洞所执行的静态模式检测,最初是静态模式辨析,但监测的技术手段多侧重于表层。所以,在更深入的探究和研创后,静态模式的检测内涵得以拓展,既有静态模式辨析,也包括程序的验查。静态模式辨析就是对检查测试的系统程序扫描其源代码后,从语法层面、语义层面进行多方位的阐释,并把检测系统程序的特性予以直接化的辨析,借此探寻出漏洞所在。程序验查则是对系统程序中的源代码抽象化。凭借验查手段,检查软件内组的系统程序同计算机所需的相符度,以及能否同安全所需匹配。接着辨识和验查程序安全层面存在的漏洞。该种静态化的软件安全漏洞检测法,更倾向于软件自身系统程序的内存特质,同时和检测漏洞特质有着较高的关联性。
2.2计算机软件安全漏洞检测技术中的安全动态检测
2.2.1内存映射
在攻击群体中,往往多用字符串末尾部位“NULL”字样的序列对内存做全覆盖,进而实施损害攻击。在代码页中实施的映射技能,可让攻击方作出字符串末尾部位“NULL”字样的序列对内存做全覆盖举动时,跳转至简易内存区域中的操控难以进行。从另一侧面来说,在内存的多个地址中,随机性地映射代码页,可缩减揣度地址而发动页面损害攻击的发生比率。
2.2.2非执行栈
近年来,攻击软件的举措多发生在对栈的破坏上,这是因多数操控系统内的栈所属的能写性和执行性所引发。在内部的变量存储中,栈的载体中有核心数组的变量,攻击方借此可将恶意的代码发送至栈内,并探寻出代码执行手段。而要规避栈的侵袭、损害可执行的有效策略为,更改栈内执行代码使其不可执行。这样更改后即便攻击方将恶意的代码送至栈内,但代码不可执行很好地缩减攻击的成功率,让程序不被损坏。
2.2.3安全共享库
某些计算机运行了安全性极差的共享库就会引发软件安全漏洞。共享库的安全度高可用对攻击方的损害行为很好的防预,而安全度低的共享库则易被损害。安全化的共享库是动态化的链接模式运作,在程序运作环节将多类安全度低、没安全性的函数运用予以拦截,并进行另外的测验,进而保证计算机软件整体的安全。
2.2.4沙箱
沙箱法是对某些损害性攻击的防预,即借助某一程序的资源访问限定来实现。如某些调动函数会被编入C语言中,而某个软件自身是不会有此种调动函数的。若出现了软件运行时有类似调动函数的运行,软件已经被恶意侵入。但在恶意侵害之前,运行沙箱对其做出限定,则在入侵后不会有不良损害。
3计算机软件中安全漏洞检测技术的应用
3.1预防竞争条件的漏洞
漏洞的成因中也有因竞争条件而引发的缺陷,对其防预的策略就是将竞争成因的编码执行原子化运作。编码是最小的执行单元,在运作程序环节内不会有任意状况对其实施干扰。原子化运作就是用锁定的操作,对某一特定的状况更改而衍生的问题予以防预,这样可对应用文件名体系实施间接化的调用,可表述出应用文件或使用的句柄。
3.2预防缓冲区的漏洞
对于缓冲区内的漏洞可借助软件程序内危险值高的函数验查来实施防预,将安全度较低的软件用高安全度的新版本替换。
3.3预防随机出现的漏洞
在对随机性的漏洞实施防预时,可借助随机性高的发生设备来进行。随机发生设备有着自属密码演算,可确保随机数流的高安全度。在软件被恶性侵害,对算法每一细微处都掌控,但数据流不会形成,进而起到防预能效。
3.4预防格式化字符串的漏洞
执行严密、谨慎的防预方案,直接性地在数码中运用格式常量,让供给方找不到可创设格式串的缺陷处。个数函数在不定参数时往往会有格式化字符串的缺陷潜藏,对此类函数运行时就要让每一参数的数目有保障,均衡稳定。
3.5计算机软件安全漏洞的防范措施
计算机软件安全漏洞检测技术应用的过程中,一方面要避免缓冲区漏洞,认真检查程序中的危险函数,使用安全的计算机软件,不用盗版软件和非法软件,时刻做好缓冲区漏洞的处理和防范。一方面要避免竞争条件漏洞,在竞争代码原子化操作的过程中,借助于文件句柄和其他文字描述字,保证计算机软件的安全。另一方面要避免格式化字符串漏洞,尽可能地使用源代码中格式常量,进而避免留下格式串机会,并防止随即数漏洞,提供安全的随机数据量,并对全部算法细节进行加密。
4结语
21世纪是一个计算机技术高速发展的社会,随着经济社会的发展和经济全球化的影响,计算机技术在我国得到了大范围的发展,在我国的各个领域中目前都离不开计算机,计算机的产生为我国的现代化建设提供了不竭的动力。但是,随着信息技术的不断发展也逐渐暴露出一些潜在的问题。目前,计算机的安全性已经成为人们关注的焦点。随着开发的人越来越多,使用的人越来越多,恶意利用计算机软件获取个人信息、破坏计算机安全的人也就变得多起来了。目前,计算机安全已经成为世界各国高度关注的一个问题。有关的技术人员必须引起高度的关注才能有效解决计算机软件漏洞,给计算机系统一片绿色的天空,给人们的网络环境和信息安全提供一个新的平台。总括来说,当下的周边环境内,计算机软件安全漏洞的检测技术演化为基础通信验查、基础计算机安全检测的手段。运行的每一软件安全性更多侧重在程度的编订、漏洞的遏制层面。所以,探究计算机软件的安全类漏洞检测技术,并对该技术的运用辨析,是当下工作者需更深层考量的事务。
参考文献
[1]肖俊.计算机软件安全检测方法分析[J].科技资讯,2012(3):32.
[2]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用,2012(11):51.
[3]王俊民.关于计算软件的安全检测方法探究[J].计算机光盘软件与应用,2012(4):51.
[4]高婷.计算机软件安全检测技术研究[J].计算机光盘软件与应用,2012(17):73-74.
[5]陈峰,李伟华,陈昊,等.采用模型检测器的软件安全模型验证方法[J].西安交通大学学报,2011(2):15-20.
[6]金英,刘鑫,张晶.软件安全需求获取方法的研究[J].计算机科学,2011(5):14-19.
[7]倪俊.计算机软件中安全漏洞检测技术应用[J].现代商贸工业,2011(14):226.
[8]王爽.计算机软件安全检测技术研究[J].信息与电脑:理论版,2011(11):51.
[9]王晓华.软件安全测试方法研究[J].农业网络信息,2010(3):122-124.
作者:陈国栋 单位:山东电力高等专科学校