APP下载

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

2021-09-13李云

无线互联科技 2021年9期
关键词:安全漏洞检测技术计算机软件

李云

摘 要:随着信息技术的不断发展,计算机技术不断更新,对计算机软件的安全性也有了更高的要求,目前计算机软件普遍面临着安全问题,要求计算机软件中安全漏洞检测技术不断提高,以满足计算机行业的应用。文章通过对计算机软件安全漏洞进行详细分析,提出几点计算机软件中安全漏洞检测技术使用策略,以此为相关从业人员提高理论参考,以提高我国计算机软件的稳定性与安全性。

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

近年来,我国计算机领域与电子商务飞速发展,计算机软件安全问题日益得到人们的关注,网络环境的安全性对于人们日常进行网购造成了很大的影响,更为恶劣的还有网络诈骗行为,对人们的日常生活和个人财产造成了巨大的损失。因此,加强对计算机软件安全漏洞检测技术的研究,(促进软件安全问题的)及时修正计算机软件中存在的问题能够避免许多安全事件的产生,对于我国电子商务的发展具有十分重要的意义。

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

所谓计算机软件安全漏洞指的是程序员在进行软件编写过程中自身存在的缺陷,这些缺陷为计算机黑客提供了有机可乘,对用户的计算机造成恶意损害。在一般情况下,计算机用户会采用杀毒软件或者防火墙进行计算机系统的维护,虽然这些软件一定程度上对计算机起到了保护作用,但是依然有一定的不足之处,无法解决根本的安全漏洞问题。其弊端是一旦杀毒软件或者防火墙在运行过程中出现任何问题,那么计算机软件的安全性便难以得到保障,一些不法分子会利用计算机漏洞进行用户信息数据的获取和恶意篡改,极大威胁着用户的计算机安全。常见的计算机安全漏洞有以下几种:(1)软件的编制过程以及最终的编制结果一定程度上与程序员的工作经验以及业务技术水平有一定关系,一旦出现技术性错误那么就会直接造成软件安全漏洞的出现。(2)计算机软件在实际的运行过程中由于自身运算出现问题导致运算错误或者是在进行数据处理时出现错误而造成安全漏洞。(3)由于计算机硬件与所配置的软件版本有一定差别造成的安全漏洞。(4)由于计算机长期运行自身产生出的新的安全漏洞问题没有进行及时修复造成的一系列安全问题。

2 计算机软件安全漏洞静态检测技术

所谓静态检测,指的是首先对全部的计算机系统的代码进行仔细分析,从计算机系统内部来寻找安全漏洞出现的原因,这种安全漏洞的检测方式对于计算机系统中存在的深度漏洞问题能够有效发觉,从而能够及时对其进行修复,保障计算机软件的安全、稳定运行。就目前技术而言,静态检测技术主要有以下几种方式:

2.1  模型检测

模型检测是一种自动验证技术,早在1981年由Clarke,Emerson等提出,其技術理论是对有限状态系统行为的逻辑性质进行针对性的自动验证,并通过建模对软件里面的片段进行比较,减少由于计算机软件自身问题所引发的安全漏洞,从而保障计算机软件的稳定运行。

2.2  规则检测

计算机程序本身存在着一定的编程规则,其安全规则就是对程序安全性的描述,这些规则具有一定的通用性,因此也存在一定的漏洞。例如,软件在root权限下无法对exec进行调用。规则检测是将这些规则用特定的语法进行描述,并最终被处理器所接收转化,转换成分析器可以接受的一种内部表示,然后将程序行为进行比较和检测。

2.3  定理证明

定理证明是通过不同的方式对软件中的抽象公式进行多方面的验证,为定理证明的技术性提供保障,与其他检测技术相比,定理证明更为严格。定理证明主要是通过构造图像使公式中的条件与图像中的各个节点相对应,同时对其中的不等式进行检测,若等式不成立则不满足条件。定理证明具有一定的复杂性,在实际操作中难以广泛运用。

2.4  词法分析

词法分析是对许多不同的程序进行语法的检测,首先对不同的程序进行分割,整个程序经过分割变为短小的片段,再对这些片段进行一一分析,使之与有问题的程序数据库来对比,这种检测方法本身存在一定的局限性,仅仅对固定的漏洞代码能够有效检测,因此,在最早的漏洞检测时词法分析被广泛利用,随着计算机技术的不断提升和新漏洞的出现,近些年来已逐渐不再使用这种方法。

3    计算机安全漏洞动态检测技术

动态检测技术与静态检测技术相比,其操作起来相对方便快捷,但是对于计算机安全漏洞逻辑方面的问题难以全部发现,对于隐蔽性比较强的安全漏洞难以发现。动态检测技术主要有以下几方面:

3.1  非执行栈技术

近些年来,基于栈对计算机软件进行攻击的事件不断发生,因此,通过阻碍栈的正常工作,阻挠相关代码的执行工作,以此阻止黑客对于栈的攻击。但是,这种方法需要对操作系统层进行修改和相关设置,会对计算机带来一定的风险,在进行操作时,稍有不慎就极易造成其他问题,对于计算机软件系统的安全性在其他方面依然会造成影响,特别是在一些程序中既有栈溢出漏洞同时又有堆溢出漏洞的情况,十分容易出现问题。

3.2  非执行堆与数据技术

堆是计算机中的特殊的数据结构,可以将其看作一颗完全二叉树的数组对象。在计算机进行执行程序时,如果堆和数据段都不能执行代码,那么一些恶意代码的执行也同样会遭到阻止,以此实现对计算机软件的保护功能。非执行堆与数据技术和前面的非执行栈技术进行结合可以起到全面的保护作业,可以彻底阻止恶意代码被执行的集合。不同的是,非执行堆技术需要对计算机内核进行大量的修改,在实际操作上更加复杂,但是大量实践证明该技术是可行的,近些年来也得到了广泛应用,其不足之处是对于恶意改写的函数参数和函数指针的攻击行为无法检测和阻止。

3.3  内存映射技术

所谓内存映射技术,指的是在进行映射时将代码页映射到随机地址上,进而对黑客基于内存中地址跳转的攻击行为进行有效阻止。这种技术需要对计算机系统内核进行全面修改。内存映射技术的缺点是由于低端内存有大小的限制,难以实现所有代码页都能够映射到,并且对注入的新代码和执行行为攻击无法检测和防范。

3.4  安全共享库技术

C语言和C++这两种常见的计算机语言,在实际的编写过程中,不少函数都存在安全漏洞问题,理论上来说,安全共享库技术能够对基于标准库函数的攻击行为进行检测和防范,但是安全共享库技术无法阻止基于非标准的库函数的攻击,对于本地变量的安全无法保护。安全共享库技术的优势是能够在标准函数库下运行的程序在此技术下也可以保持良好运行,目前,这项技术被广泛应有与Windows操作系统以及UNIX操作系统中。

3.5  沙箱技术

沙箱技术可以限制访问来阻止黑客的攻击,通过严格的定义策略来进行对计算机软件的保护,使其免于遭受黑客攻击。但是沙箱技术无法阻止黑客对于本地变量的修改和攻击,沙箱技术不会引发兼容性问题,但是过于严格的安全策略会对正常的程序行为进行限制,造成程序无法正常运行[1]。

3.6  程序解释技术

与前面所提到的几点技术不同,程序解释技术无需对计算机进行任何修改,仅仅是对应用程序设置一个新的启动代码即可,通过新的代码动用动态优化的程序解释框架。程序解释技术的优势是只要对安全策略进行严格定义就可以对攻击或者修改函数的行为进行全面检测和防范。

4 计算机软件安全漏洞防范措施

随着全球一体化进程的加快,计算机技术被广泛应用于各个领域,在计算机软件的发展过程中,由于安全漏洞问题的存在使得计算机的安全性存在极大的隐患,对计算机技术的发展也有很大的制约作用。在实际的计算机运行中,软件安全问题分为计算机软件自身漏洞问题和来自外界黑客恶意攻击造成的损害,因此,需要从多方面做好计算机软件安全漏洞防范措施[2]。

首先,在计算机软件的使用过程中确保安全正常使用,对程序中有可能存在的危险函数进行检查,防范缓冲区的漏洞问题,当计算机缓冲区出现漏洞问题说明检测系统无法进行软件漏洞检测,需要技术人员升级软件版本,同时注意对于软件的下载和安装需要选择正版软件,通过合法渠道进行获取,避免使用盗版或者非法软件,以免带来安全问题。

其次,避免竞争机制安全漏洞,由于计算机中存在着大量的软件,不同的软件直接不可避免的会造成一定的竞争,一定程度上会对计算机系统造成破坏,因此,需要确保使用文件句柄和文字对计算机软件进行安全性的描述。

最后,注意格式化漏洞的防范,这也是计算机软件安全漏洞中常见的漏洞,一旦出现会造成计算机内部资料的丢失,并且无法进行修复和找回,因此,需要在源代码中进行使用格式常量,以此减少格式串遗漏造成的安全漏洞问题。

总之,计算机软件的实际运行中,防范緩冲区的漏洞十分必要,同时需要防范格式化字符串漏洞,还需要防范随机数据漏洞,以此确保计算机软件安全漏洞的全面检测,维护计算机安全运行[3]。

5 结语

综上所述,计算机技术的不断发展使得计算机软件的应用日益广泛,关于计算机软件安全问题越来越受人们的重视。计算机软件安全漏洞问题需要专业技术人员进行探索和分析,加强相关研究,切实提高软件自身安全性,减少黑客攻击或者非法侵入,以保障计算机安全稳定运行,促进计算机技术在众多领域的不断应用与发展。

[参考文献]

[1]陈婧.计算机软件中安全漏洞检测技术研究[J].电子技术与软件工程,2020(13):250-252.

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

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

(编辑 王永超)

猜你喜欢

安全漏洞检测技术计算机软件
基于C语言的计算机软件编程
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
浅谈不同编程语言对计算机软件开发的影响
基于安全漏洞扫描的校园网告警系统的开发与设计
浅谈基于C语言的计算机软件程序设计
公路工程试验检测存在的问题及措施
煤矿机电产品检测技术
浅谈现代汽车检测技术与安全管理
安全漏洞Shellshock简介
基于计算机软件开发中分层技术的应用