APP下载

安全漏洞检测技术在计算机软件中的应用管窥

2017-11-27李胜军

科技传播 2017年21期
关键词:计算机软件

李胜军

摘 要 现代化经济发展过程中计算机行业的飞速发展不容小觑。计算机软件由于其结构的多样性以及操作复杂性,容易受到各类不易察觉的安全漏洞威胁,使计算机安全受到影响。本文主要从现今较为常见的计算机安全漏洞及检测技术出发,探究解决安全漏洞检测技术在计算机软件中的应用。

关键词 安全漏洞检测技术;计算机软件;应用管窥

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2017)198-0144-02

计算机技术推动了信息社会的发展,加强了世界各国的联系。计算机的发展逐渐全民化,成为办公室工作、家庭休闲、商务办公等必不可少的工具,在人们生活中的地位日益突出。同时,计算机网络的发展也给信息安全带来了很大挑战,必须加强对计算机漏洞的检测,保证计算机运行的安全。

1 计算机软件安全漏洞类型

在计算机软件开发调试过程中,由于设计人员以及相关的性能测试未全面考虑存在的问题或者操作失误,导致出现软件安全漏洞。计算机安全漏洞中存在安全性漏洞,相较于功能性漏洞来讲,安全性漏洞在面对外来病毒等侵袭和黑客攻击时容易出现操作失误,导致软件运行出现问题。功能性漏洞则出现在计算机软件日常运行过程中,是软件功能设置不全面等导致的,容易出现运行错误,破坏软件运行的正常流程。计算机软件主要存在五大安全漏洞,必须采取合理的安全技术检测技术,才能有效预防解决。

2 计算机软件安全漏洞特点

安全漏洞特点可按照人为或非人为,内部与外界进行划分。人为因素方面,在软件的开发调试等过程中,设计人员由于疏忽,并没有及时改正软件调试中出现的问题或者在编程过程中出现逻辑错误现象,容易导致安全漏洞的出现。

安全漏洞并不是一次性解决的,而是长期存在的过程。在计算机软件存在安全漏洞的情况下,病毒、黑客等就会随之潜入到计算机系统中,容易危害计算机安全。

在发现软件漏洞后,修复时仍存在诸多问题,一不小心仍会出现新的安全漏洞。由于软件的复杂性等特点,只能通过不断地优化程序进行安全漏洞检测修复工作,其中程序优化时极易导致新安全漏洞的产生。因而安全漏洞问题长期存在。

逻辑和运算错误也是安全漏洞的重要特点。计算机软件调试运行需要大量的数据来支持,在此过程中,比数值计算中常见逻辑错误,主要是由于数据的长度等与所处的模块并不合适,除中等模块外,其他模块常见类似逻辑错误。

计算机系统的不同,对软件的安全漏洞的防护作用也不同,软件设备等的不同也容易产生安全漏洞的分化。

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

3.1 静态检测技术

通过对计算机程序中的关键词进行分析,可对计算机程序的运行行为等进行解析,进而找到计算机软件中的安全漏洞。第一,语法检测是其中常见的检测技术之一。其操作的主要程序是将程序进行分段,缩小计算分析范围后,选择较为可能出现安全漏洞的碎片进行分析。由于其检测是片段,因而相对检测速度较快,可在短时间内,在不影响目标程序的情况下完成检测。同时,由于其检测后发现的问题点较多,需要利用人工对结果进行排查,耗费的人力资源较多。第二,程序评注主要在程序源代码中进行注释标注,因而对兼容方面的影响不大,也不会带来新语言增加新漏洞问题。通过对程序语言进行备注,可促进安全漏洞问题的及时发现察觉。第三,类型推断技术在使用过程中为数据添加了新的类型修饰,可以通过对相关程序变量的变化来推导其访问是否正常,进而对软件是否存在安全漏洞进行检测。由于其相对较为复杂,多应用于Bind等相对较大的程序。第四,元编译技术适用于小问题检测,主要借助编译器进行,对计算机语言特性扩展方面并没有相关操作。第五,变异语言技术在应用时选用了C+、C++等安全技术,对计算机操作中相对不安全的部分采取了限制以及禁止使用等程序设置。由于C语言在计算机语言中相对高级,存在危险术语以及危险语义,因而在具体操作时对计算机系统的兼容性等有较大影响。第六,约束解算器技术。与语言检测技术相类似的一点是需要人工核算分析,不过约束解算器技术人工核算的原因是误报情况较多。但就其对源程序无影响而言,在软件安全漏洞检测中仍有相对较为合适的小部分应用。

3.2 动态检测技术

与静态检测技術相比,动态检测技术在使用时对目标程序源码以及二进制代码的修改并不涉及,只需对软件运行环境进行适当分析修改即可进行漏洞检测。

主要使用的是非执行栈技术和非执行堆与数据技术。前者修改时需要在操作系统层,主要将可以被黑客恶意篡改供给的栈转化为无法执行代码形式,使得当攻击人员通过更改增添栈上的代码时并不能出现其预期效果,以降低遭受侵略的可能性。

后者主要通过破坏的方式进行恶意代码的查询检测,对恶意攻击代码进行有效的阻止。但对于函数参数以及函数参数被黑客篡改的问题,后者并不能有效应对。

此外,动态检测技术还包括安全共享库技术、内存映射技术、沙箱安全漏洞检测技术、程序解释技术等,都在动态检测技术方面做出巨大贡献。

3.3 源码改编技术

相较于前两类技术,源码改编技术对计算机的改编以及追踪等方面更为强大,通过确认库函数对恶意缓冲区溢出等问题及时阻止。由于其只认准STOBO代码,操作的要求较高。

4 安全漏洞检测技术应用

4.1 预防竞争漏洞

得知安全漏洞除了软件运行中的功能漏洞等因素外,还不可避免的掺杂着人为因素,主要是为获取有效价值信息而人为操作形成。在原子化的代码上进行操作锁定可有效防止竞争条件漏洞。在预防TOCTOU问题时,应尽量选择描述字柄和文件字词句来代替直接调用文件名所在系统,即避免调用ACCESS一类的函数。使得用户不需要访问检查文件即可应对计算机攻击。

4.2 预防随机漏洞

部分安全漏洞并非程序错误自然出现,而是偶发的结果,因而技术人员等并不能及时分析解决预防,在此时可引入随机数发生器协助操作。提供可靠数据流给用户,使计算机在运算时在算法固定的情况下,通过电脑中的信息流来阻碍黑客构造格式串,维护软件安全。

4.3 预防格式化漏洞

攻击者通过构造格式串对计算机进行攻击。通过应用语言检测技术,常量计算机格式时选择应用代码可有效阻挡削弱恶意攻击,完成计算机软件安全漏洞检测工作。通过检测计算机的参数,对存在问题的字符等进一步深入检测,促进格式化安全漏洞的及时修复。

格式化安全漏洞相较于其他漏洞,其对计算机造成的危害巨大,丢失的文件不能及时完整保存,严重危害计算机安全以及计算机相关信息,造成的损失巨大。必须加强技术人员对格式化漏洞的重视。

5 结论

随互联网行业的高速发展,计算机软件的安全高效运行对企业来说显得至关重要,必须通过静态检测技术、动态检测技术以及源码改编技术对计算机软件常见的五大安全漏洞等及时预防、解决,以此实现维护用户计算机信息安全,打造安全网络环境等目的,有效帮助计算机用户使用计算机。

参考文献

[1]高妍.计算机软件安全漏洞检测技术与应用[J].计算机光盘软件与应用,2014(4):172-173.

[2]许跃颖.计算机软件中安全漏洞检测技术及其应用[J].电子制作,2016(2):32.

[3]裘锴,陶国武.计算机软件中安全漏洞检测技术应用研究[J].通讯世界,2016(18):70-71.endprint

猜你喜欢

计算机软件
刍议计算机软件中的安全漏洞检测技术
计算机软件技术的不可靠性探析
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
计算机软件数据库设计应用探析
计算机软件安全检测技术研究
浅谈基于C语言的计算机软件程序设计
浅析计算机软件数据接口的应用分析
神州修车救援APP取得计算机软件著作权
计算机软件开发中的分层技术分析