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

2019-02-13 10:45刘珊珊
数字通信世界 2019年7期
关键词:安全漏洞缓冲区计算机软件

刘珊珊

(安徽省滁州市天长市天长规划展示馆,天长 239300)

结合权威机构发布的调查结果可以发现,随着计算机软件数量的不断增多,软件安全漏洞的出现频率也随之不断升高,基于安全漏洞的黑客攻击也存在针对性不断提高的趋势,而为了更好保证用户信息安全,正是本文围绕计算机软件安全漏洞检测技术开展具体研究的原因所在。

1 计算机软件安全漏洞性质分析

计算机软件安全漏洞可以理解为弱项和缺点,很多因素均可能导致安全漏洞,如软件开发考虑不全面、程序员失误等,一般来说计算机软件安全漏洞存在以下几方面性质。

1.1 逻辑性错误

计算机软件在编写程序及数据处理过程中均较为容易出现逻辑性错误,编写程序阶段的逻辑性错误一般源于工作人员的不细心,而数据处理过程中的逻辑错误源头则较为复杂,受逻辑性错误的影响,计算机软件很容易出现安全漏洞。

1.2 环境影响

安全漏洞与计算机软件环境存在较为紧密的联系,计算机硬件的不同也往往会对计算机软件漏洞造成一定程度的影响,这类影响同样需要得到关注。

1.3 时间影响

一般情况下计算机软件的使用时间越长,其本身存在的安全漏洞便会越明显,即便不断进行安全漏洞的修补,新的安全漏洞也会很快出现,安全漏洞问题的长久性可见一斑。

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

为明确计算机软件安全漏洞检测技术应用,本文主要围绕静态检测技术、动态检测技术及技术的具体应用开展了深入探讨,希望由此能够为相关业内人士带来一定启发。

2.1 静态检测技术

静态检测技术属于计算机软件安全漏洞检测常用技术,该技术的原理可简单概括为静态分析软件表面现象,通过扫描程序源代码、检测抽象的程序源代码,即可通过静态分析和程序检验明确计算机软件安全漏洞,检测的重点在于计算机软件安全性能否满足硬件需求。其中静态分析主要包括语法分析及结合安全标准的全面检测,前者需进行软件程序的程序段划分,并应用“疑问数据库”进行对比,后者需使用规则处理检测方式;程序检验需进行计算机软件的抽象,以此得到形式化程序进行检测,通过应用符号化检验方法、模型自动转化法,即可根据安全标准判断公式。程序转化完成安全漏洞检测。

此外,词法分析技术、规则检测技术、类型推导技术、模型检测技术、定理证明技术同样属于静态检测技术范畴,如其中的类型推导技术可较好服务于程序与控制流不存在联系情况,而定理证明技术主要负责判断程序抽象公式正确性,这类技术也能够较好服务于计算机软件安全漏洞检测。

2.2 动态检测技术

动态检测技术同样属于计算机软件安全漏洞检测常用技术,非执行栈、内存映射、沙箱、安全共享库均属于典型的动态检测技术。非执行栈需要将栈转变为无法执行代码形式,由此即可降低被攻击可能性;内存映射主要负责明确攻击的可能性和具体方位,配合系统性分析即可为计算机软件安全的针对性保障提供支持;沙箱主要通过限制特定程序资源降低计算机软件受到恶意攻击的概率,攻击带来的影响也能够在沙箱的支持下降到最低;安全共享库指的是通过动态链接实现的不安全函数拦截,该技术也能够较好服务于安全漏洞检测。

2.3 具体应用

对于上文提及计算机软件安全漏洞静态与动态检测技术来说,这类技术可较好服务于格式化漏洞防范、竞争漏洞防范、随机漏洞防范、缓冲区溢出漏洞防范,具体应用如下:(1)格式化漏洞防范。格式化漏洞属于较为常见的计算机软件安全漏洞,这类漏洞可采用代码测量软件格式的方式进行预防,结合实际参数即可保证相关检测的精准度。(2)竞争漏洞防范。作为常见的安全漏洞,可采用竞争代码作为竞争漏洞检测的切入点,通过原子化处理计算机软件代码并将其作为执行元素,即可实现代码特点的显著化,竞争漏洞也能够由此更好暴露出来。(3)随机漏洞防范。在计算机软件的随机漏洞检测中,需首先保证发生器有序运行,并针对性更换、调节发生器难以运行的零部件,配合保护措施进行随机数发生器保护,即可有效完成随机漏洞的检测和防范。(4)缓冲区溢出漏洞防范。可采用存在威胁的函数进行缓冲区溢出漏洞检测,漏洞引发可由此得到较好防范,不安全的软件版本必须以此得到取代。

3 结束语

综上所述,计算机软件安全漏洞检测技术的应用存在较高现实意义,在此基础上,本文涉及的静态检测技术、动态检测技术、格式化漏洞防范、竞争漏洞防范、随机漏洞防范、缓冲区溢出漏洞防范等内容,则提供了可行性较高的技术应用路径,而为了更好保证计算机软件安全,大数据、云计算、神经网络等新型技术的应用也需要得到重视。

猜你喜欢
安全漏洞缓冲区计算机软件
基于模糊测试技术的软件安全漏洞挖掘方法研究
探析计算机安全漏洞检测技术
试论安全漏洞检测技术在软件工程中的应用
智能设备安全漏洞知多少
基于C语言的计算机软件编程
基于ARC的闪存数据库缓冲区算法①
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
一类装配支线缓冲区配置的两阶段求解方法研究
神州修车救援APP取得计算机软件著作权