APP下载

计算机软件中安全漏洞检测技术研究

2020-02-21陈婧

电子技术与软件工程 2020年13期
关键词:安全漏洞计算机软件

摘要:本文将计算机软件安全漏洞的概述、安全漏洞分类、计算机软件安全漏洞检测技术运用的关键性、有关问题、安全漏洞检测技术以及技术的运用,为相关行业的检验工作提供理论参考。

关键词:计算机软件;安全漏洞:漏洞检测技术

计算机软件应用与安全漏洞检测之间的关系是密不可分的,计算机软件安全漏洞检测的主要目的是能够帮助用户在使用计算机的过程中规避其中存在的安全问题,保护计算机设备和用户的安全。尤其是在世界领域内计算机、互联网高速发展的大背景下,黑客、病毒等不同的威胁因素此起彼伏,计算机软件在使用的过程中存在众多隐患,以上种种问题都影响计算机设备使用的稳定性和安全性。鉴于此,需要探究计算机软件安全漏洞检测的有效措施,保证我国互联网中的计算机设备可稳定运行。

1 计算机软件安全漏洞概述

计算机中的漏洞,主要说的计算机的软件系统内存在的弱点与缺陷,若是计算机的软件中存在漏洞,就会导致计算机系统有较多的安全和运行的隐患,导致计算机出现的危险概率较大。在对计算机的软件进行研制和开发的过程中,防止计算机的软件出现安全性问题,计算机的操作设计人员出现操作不当的状况是出现漏洞的关键性原因。一般状况之下,漏洞表现模式主要可以分成安全性和功能性两个层面。其中的功能性漏洞会导致计算机的系统不能够正常的运行,产生一定影响。针对于漏洞的安全性说的是在常规状况之下,没有办法对计算机和软件的运用造成一定影响类别的漏洞。黑客会运用该种漏洞,对计算机发起攻击,导致软件不能够正常的运行。若是漏洞相对较大,较为严重,还会导致出现恶意执行的代码,也能用错误指令控制计算机软件,给计算机的软件带来一定的危险。漏洞的特征主要有一下几个层面:

(1)在对程序进行编制的过程中,经常会有逻辑类别的错误,上述的错误出现的关键性原因是由于编制的技术人员操作并不是非常的得当。

(2)计算机的软件在对数据和信息进行运算和处理的时候,出现逻辑性的概率相对较高,与中等程序的模块较为类似,有的程序模块会出现或大或小的逻辑性错误,出现错误概率相对较高。

(3)计算机的软件系统的环境和漏洞间有较为密切的关联,针对于不同种类别的软件和硬件来讲,不同的设备版本间更是有所差异,运用不同设计,各种设备将会一同的组成软件系统,亦或是同一种系统有不同的设计,也会出现安全漏洞。

(4)时间和计算机的软件系统中存在的漏洞也有较为密切的关联,随着时间的不断推移,会将原本已有的漏洞进行修补和纠正。计算机软件系统在运行的时候,还是会出现新种漏洞。所以,针对于计算机的软件来讲,漏洞的问题是具有长久性的,需要不断的对安全漏洞进行分类,运用针对性的技术,将漏洞问题解决。

2 计算机软件安全漏洞具体分类

在对计算机的软件进行开发的时候,因为技术具有一定的局限性,有关的工作人员不能够保障运行程度非常完善。造成计算机在常规运行的时候,经常会出现黑屏和闪退的状况,但是这种问题并不会对计算机基础的运行造成影响。有较多的黑客就是运用该种漏洞开展入侵的计划,最后造成计算机内的资料被盗取亦或是网络出现崩盘的状况。总的来讲,计算机的软件内安全性的漏洞将主要分成以下两种类别:

2.1 功能性质的漏洞

所说的功能性质的漏洞,主要是指因为计算机编码人员在对系统进行编码的时候,出现一些措施,亦或是计算机的系统在正常运行的过程中有些逻辑性错误出现等。若是出现功能性质的漏洞之后,计算机检修工作人员就需要对系统进行不断的完善。需要意识打破该种漏洞的出现时不可避免的[1]。

2.2 安全性质的漏洞

安全性质的漏洞主要是指漏洞出现之后,没哟对计算机设备的运用产生一定的影响。但是,若是这个时候有黑客的入侵,就会造成计算机的系统出现瘫痪的状况。例如,若是软件突然性的提示出有错误,会导致计算机自动的对一些错误的指令执行,导致计算机出现故障。

3 计算机软件安全漏洞检测技术运用的关键性

随着科学技术的发展,计算机成为人们生产生活中的重要工具,不仅能够给予人们生活上的便捷,在工作、学习等众多领域都能够发挥自身的有效性和稳定性,值得注意的时航空航天中对计算机的使用范畴更为广泛。计算机的使用功能建立在软件的强大作用中,计算机软件的设计与开发能够实现众多强大的功能,在人们的生活中发挥着至关重要的作用,但是互联网自身的灵活性、多样性、广泛性等特点也为计算机软件的使用带来的安全隐患,需要相关工作人员加以重视。计算机软件在使用的过程中面临着多样化的使用问题,对计算机已经造成了一些潜在的隐患和问题。尤其是在黑客、病毒频发的网络大环境中,软件安全不再是遥不可及的问题,而是对人们现实生活具有实实在在影响的生活问题。鉴于此,对计算机软件进行系统维护,保障客户的使用安全性,是当下进行计算机软件安全漏洞检测的重要目的。

4 计算机软件中安全漏洞的漏洞检测技术

计算机中的软件在常规运行的时候存在的安全漏洞(图1为漏洞检测流程),主要就是说计算机的系统内协议和软件在具有实现亦或是系统安全性的策略之上存在的安全性缺陷。软件内存有安全的漏洞经常会导致系统出现卡机、闪退以及崩盘的状况。需要精准和及时的对计算机软件内安全漏洞进行修复,促使计算机软件在运用的过程中安全隐患被显著的降低。下面将详细的探究计算机软件中安全漏洞的漏洞检测技术,如下:

4.1 静态漏洞检测技术

静态检测主要依靠的是程序分析技术,将计算机中软件中的源代码进行分析,检测出软件内部存在的问题静态漏洞检测技术主要指对漏洞中检测的程序中源代码进行精准的扫描。运用不同的角度,对漏洞出现的原因进行全面的分析。例如,语法和语义等,从而将漏洞找出。静态检测法实施的过程中需要运用类型推断、约束分析、数据分析等不同的分析形势,将计算机软件中潜在的问题筛查出来。但是以上的分析形势中存在局限性,难以有效全面分析软件内部的问题,在解决计算机软件问题过程中存在“盲区”。然而,这种检测形势与其他形式相比仍旧能够展现出其便捷、快速的优势‘2]。加之,程序检验主要的对系统中的程序源代码实施抽象类的处理,对各种检验模式进行运用。在对软件系统程序和计算计算机设备的漏洞进行全方位的检测,其中的安全性显得至关重要,而后在对其进行判定,检验出计算机软件中是否存在安全漏洞。在对静态额漏洞检测技术运用在计算机软件的安全漏洞检测中,计算机中的软件系统的程序性具有的内部特征作为关键的应用对象。静态的漏洞检测模式的运用需要和漏洞检测的特征和实际状况进行运用。对安全漏洞进行划分的时候,可以运用多种模式。例如,能夠把漏洞划分成几个小的部分和大的部分。一大部分的漏洞检测模式能够对各种分散类别的漏洞进行处理。所以,运用寻找漏洞的类别上具有的共同之处具有相对较大的困难[3]。对此,为了可以促使漏洞对比具有较强的便捷性,能够把漏洞划分成两种,一种是内存性质的漏洞,另一种是安全性质的漏洞。安全性质的漏洞对数据流之间存在的误差和错误会更加的重视,出现这种状况的关键性原因是由于数据内在的形态和情况出现错误导致的。而内存性质的漏洞就需要针对类别和数据本身精准性进行细致的考虑。所以,在对这种漏洞进行检测的时候,可以将存储的空间当做是侧重的点,运用建模的模式对漏洞进行全方位的检测。加之,静态的漏洞检测技术具有的特征存在一定差异性。所以,需要和实际的状况相结合,对漏洞问题进行解读和处理。有些技术的检验不单单是针对特定性的漏洞,其他模式能够将上述的漏洞进行较好的处理。漏洞检测流程如图1所示。

4.2 动态漏洞检测技术

动态检测的核心是依靠对计算机运行过程中的环境研究数据进行深化分析,进而能够判断出计算机运行过程中表现出的问题。动态检测形式能够以更为广泛的视角审视计算机软件运行过程中的环境,具备较多优势[4]。值得注意的一点是检测过程中需要对计算机的源码、代码进行更改,保留了计算机运行的基本状态,能够保证计算机中的数据不受影响和更改,具有较高的安全性,主要包含下面几点:

4.2.1 内存映射

大多数的计算机软件若是受到攻击,攻击人员大多数都会运用“NULL”字符当做是结尾,运用该种模式将内存覆盖,从而完成进攻。运用代码页映射的技术,攻击人员对该种字符串运用,将内存覆盖的时候,会想相比较为简单处的内存区域进行跳转,难度将会大幅度的提升[5]。通过对上述的探究可以得到:在不同内存地址中的随机映射区代码页,能够运用对地址进行猜测的模式,促使页面攻击难度将会大幅度的提升。

4.2.2 非执行栈

近几年,在栈基础之上开展的软件攻击问题较为普遍,其中关键性原因是由于在操作系统内的栈可以写和执行,从而完成该项攻击。在内部变量不断影响的状况下,攻击的人员可以恶意的代码编写到栈中,不断的在其中寻求出办法从而对代码进行恶意的执行。为了可以规避栈受到攻击,可以吧栈转向无法执行的代码模式,该种模式具有较强实用性。这样,攻击人员没有办法执行栈上的恶意代码,从而显著的降低受到侵略的风险。

4.2.3 安全共享库

对一些安全性相对较低的共享库进行运用的时候,有些计算机的软件将会出现各种的安全漏洞[6]。运用安全共享库,能够促使攻击人员侵略问题得到有效的控制。其中所说的安全性共享库,主要是指对动态性的链接进行运用,在对程序进行运行的时候,将安全指数相对较低的函数拦截下,而后对其中是否存在漏洞进行针对性的检测,从而显著的提升计算机软件具有的安全性。Windows操作系统和UNIX中运用安全共享库具有相对较高的运用价值。

4.3 形式化安全漏洞检测技术

形式化漏洞检测的重要前提是建立数学分析模型,通过精密的数据计算能够获得漏洞检测结果、提升漏洞检测精度。通过众多漏洞检测结果能够看出,在确定语言支持和格式说明之后便能够实现漏洞检测目的。形式化漏洞检测中使用的常见形式是模型语言、行为语言、状态语言等。这种漏洞检测形式十分精细且规范,能够保证计算机软件在日后运行的稳定性和准确性[7]。

4.4 编程语法漏洞检测技术

编程语法漏洞检测中针对的主要对象是漏洞检测编程中的功能语法,在这种检验方式下,即便是是如法不同的软件,也能够检验出不同或者相同环境下的软件使用效果。而后能够定义计算机软件接口使用的语言和定义进行安全漏洞检测。这种漏洞检测方式具有针对性,能够在计算机软件接口处实现高强度的检验,保证软件运行接口环节的安全性、稳定性。

4.5 软件属性安全漏洞检测技术

计算机软件属性安全漏洞检测的使用需要漏洞检测人员对软件的编程具有详细的了解,并且能够利用计算机系统进行代码验证,漏洞检测软件在使用的过程中是否遵循既定的安全准则、安全编程,进而得出软件使用过程中的稳定性。此类漏洞检测形式能够对计算机软件开展更为现实的分析,保证软件交互性、拓展性的同时实现安全运行[8]。

4.6 故障注入漏洞检测技术

利用故障输入法进行安全漏洞检测,主要流程是利用计算机软件故障间的最小割集判断具体的使用寿命。在计算机安全运行的情况下,计算机的使用寿命较长,但是一旦计算机出现故障,使用时间将会出现较大变化。故障影响下的计算机会在短时间内出现元件损耗、硬盘烧毁等不良现象,甚至在一瞬间死机难以再次使用。这种检验形式能够将计算机系统中的风险概率进行精准估算,分析不同故障影响下计算机出现的问题,将检验中的故障类型全面分析,制定“一对一”的故障处理机制,实现计算机软件检查的目的。

4.7 其他类别的混合性漏洞检测技术

计算机的软件内安全漏洞检测技术若是仅仅运用静态的漏洞检测技术与动态的漏洞检测技术,所得到的的数据信息具有缺点[9]。若是将二者有机的结合在一起,对计算机内的软件存在的安全漏洞进行检测,精准性会相对较高。其他类别的混合漏洞检测技术有:

测试库技术、源码改编技术、栈保护编译器扩展技术、二进制代码改编技术、规范漏洞检测技术以及异常漏洞检测技术等。相关漏洞检测技术工作人员需要在实践中不断的探寻检测的技术,不可受到局限。

5 安全漏洞检测技术的应用

计算机软件内的安全漏洞检测技术主要针对计算机中的软件与系统中是否有安全漏洞问题进行检测,隶属于带有目的的漏洞检测技术,归属于预防性质的漏洞检测技术。计算机软件内的安全漏洞的检测技术运用的范围相对较广,可以有效的规避程序在运行过程中出现的措施,降低编写程序环节中存在错误的概率[10]。

5.1 缓冲区域存在漏洞

缓冲区域若是产生计算机软件的安全漏洞的关键性原因是:计算机使用人员将来历不明软件安装上,亦或是盗版的计算机软件,这样就会导致计算机中软件系统在运行环节中产生的漏洞。若是上述的软件有编程漏洞,会导致计算机系统出现崩盘的状况。这就要求计算机软件内安全的漏洞检测环节中,对软件实施隔离,在根源之上,规避上述的软件和系统漏洞接触的可能性。计算机内安全漏洞检测技术的不断开发,关键就是对漏洞进行检测。在对计算机安装软件需要进行安全风险的有关提示,检测站点代码出现的漏洞,对计算机的使用人员实施安全性的提示工作,規避产生软件技术类问题[11]。

5.2 防止竞争漏洞

漏洞出现的关键性原因中会由于竞争的不同条件,致使出现漏洞和缺陷,在对其尽心预防的措施是把竞争出现的原因中编码执行出原子化的运作。编码作为最小类别的执行单元。在对程序进行运行的时候,不会出现状况,对运行的环节实施干扰。原子化的关键性作用就是运用锁定操作,将其中存在的某一种特征性的状况实施针对性的改变,规避问题的出现。这样能够对应用的文件名实施间接调用,可以表达出应用的文件亦或是运用的句柄。防止竞争的漏洞关键是针对可以产生竞争条件类编码,对系统的整体破坏力度不大。若是在系统运行的时候,运用代码和语句加以执行,会导致系统的漏洞增加,效果也不是十分的显著。

5.3 防止随机数存在漏洞

在较为稳定的计算机系统运行的环境中,全部的电脑系统操作都将是依照特征性的程序进行运转的[12]。由于受到较多黑客的不停攻击,会运用随机数发生设备,运用较多的随机数数据流对计算机进行冲击,导致计算机不可以快速的对数据进行处理,CPU不可以全速的运转,导致计算机的系统出现崩溃的状况,会由于计算机没有办法正常的开展工作导致出现死机的风险。若是在这样的状况之下,将计算机设备进行重新的启动,随机数产生设备还会重新的开始工作,导致电脑再一次的进入到上次模式其中,而后出现死机的状况。电脑内的数据和信息将会成为没有办法被运用的数据和信息,后期难以修补。这样会导致计算机的软件与硬件都会有较大的损伤[13]。

5.4格式化字符串上的漏洞

由于较多的计算机使用人员并不是专业的计算机工作人员,在对计算机的软件进行选择的时候,一般都是需要依照实用性对其进行选择与调整。但是有较多的计算机使用人员并不是十分的了解到计算机的软件,有的计算机使用人员会对其实施格式化的字符串处理模式,这就会导致计算机的格式化字符串出现该种层面上的漏洞。对上述漏洞就对源代码内可能存有的执行性的语句进行找寻,而后将其直接编译,会对计算机有较大的伤害。在对该种漏洞进行解决的时候,最行之有效的措施就会在程序呢的源代码中将痕迹清除,不个黑客留有更多的技术,能够在源代码内尽可能的运用格式常量,对于代码的格式串,能不用就不可用[14]。

5.5 计算机软件中安全漏洞防范对策

计算机软件中安全漏洞检测技术在被运用的时候,在一个层面上,需要规避缓冲的区域漏洞,对程序内危险的函数进行认真的检查,运用安全性较高的计算机软件,在对软件进行下载的时候,明确软件是否是盗版,又是否是非法的软件,时刻的对缓冲区域的漏洞进行防范和处理。在另一个层面上,需要规避格式化中字符串存在的漏洞,尽可能运用源代码内的格式敞亮,规避格式串遗留的状况的出现。加之,需要放置出现随机数的漏洞,为计算机软件的安全性提供出随机正确的随机量,对全部的算法中的细节实施加密的处理[15]。

6 结束语

综上,我国乃至世界上的计算机软件开发技术呈现日新月异的发展趋势,其中蕴含的安全漏洞是值得众多工作人员和专业人士加以注意的,应当采用科学、合理、稳定的检测技术保障计算机软件领域的稳定发展。在灵活的运用计算机软件安全漏洞检测技术的同時,更需要全面提升检测人员专业素养,引导工作人员明确工作内容、强化工作能力、提升职业素养、规范工作方法,助力我国计算机软件的稳定发展。

参考文献

[1]孙雷.计算机软件安全漏洞检测技术的应用[J].电子技术与软件工程,2020 (09):246-247.

[2]曹盛男,安全漏洞检测技术在计算机软件中的应用[J].黑龙 江科学,2020,11 (08):80-81.

[3]吴金玲,浅谈计算机软件中安全漏洞检测技术与应用[J].计算机产品与流通,2020(01): 24,

[4]张亚平,计算机软件安全漏洞检测技术的应用分析[J].电脑知识与技术,2019,15 (28):56-57.

[5]刘珊珊,计算机软件安全漏洞检测技术的应用研究[J].数字通信世界,2019 (07):190.

[6]王俊海,计算机软件安全漏洞检测技术[J].电子技术与软件工程,2019 (11):201.

[7]吴年志,计算机软件中安全漏洞检测技术及其应用[J].电脑知识与技术,2018,14 (35):32+50.

[8]顾勤丰,计算机软件安全漏洞检测技术[J].电子技术与软件工程,2018 (22):184.

[9]林永豪.安全漏洞检测技术在计算机软件中的应用研究[J].农家参谋,2018 (20):251.

[10]段明慧.安全漏洞检测技术在计算机软件中的应用研究[J].数字技术与应用,2018,36 (08):190-191.

[11]肖尧.安全漏洞检测技术在计算机软件中的应用[J].信息与电脑(理论版),2018 (11):194-195.

[12]于成龙,魏青,计算机软件中安全漏洞检测技术及其应用[J].农家参谋,2018 (11):22 7.

[13]杨晓明,刘祯.计算机软件中安全漏洞检测技术的应用研究[J].无线互联科技,2018,15 (10):44-45.

作者简介

陈婧(1984-),女,江西省赣州市人。硕士学位,副教授。研究方向为软件工程,大数据。

猜你喜欢

安全漏洞计算机软件
基于大数据技术的软件安全漏洞自动挖掘方法研究
基于C语言的计算机软件编程
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
浅谈不同编程语言对计算机软件开发的影响
计算机软件数据库设计应用探析
基于安全漏洞扫描的校园网告警系统的开发与设计
浅谈基于C语言的计算机软件程序设计
小洞不补 大洞吃苦安全漏洞你有吗?
神州修车救援APP取得计算机软件著作权
安全漏洞Shellshock简介