安全漏洞检测技术在软件工程中的应用

时间:2022-07-08 07:33:49

安全漏洞检测技术在软件工程中的应用

目前计算机技术的普及,软件系统也不断进行升级与更新。人们对计算机的安全也日益关注。而计算机本身存在的漏洞对安全检测技术提出了更严峻的难题。本文通过计算机的软件工程出现的安全漏洞,来分析软件工程相应的检测技术。通过检测技术在软件工程的运用来保障计算机的使用安全。

【关键词】安全漏洞 检测技术 软件工程

随着信息化技术的发展,人们的生活也离不开计算机的使用。计算机的安全系统就显得十分重要。近年来,利用软件系统的漏洞导致针对计算机的攻击事件逐年上升,这就导致计算机内部存在的安全漏洞成为自身安全的重大威胁。虽然电脑本身有很多杀毒软件的程序,但是这些程序本身也存在一些问题,没能起到保护电脑的作用。因此,针对计算机安全漏洞技术的检测在目前来看十分必要。

1 软件工程面临的问题

计算机内部软件本身在设计的时候就存在一些缺陷和问题,在软件研发期间,由于研发人员对技术掌握不是十分熟练,再加上软件本身存在的问题都会导致计算机内部存在安全漏洞。最近几年发生的黑客攻击网络的事件增加,计算机本身存在安全系统的缺陷给网络黑客攻击电脑提供可乘之机。

计算机内部软件本身属于需要耗费大量物力、人力、财力才能完成的高科技产品。相关产业在研发上付出了很大的代价。但是计算机内部软件的缺点处理存在安全漏洞之外,可复制技术十分容易。目前全球使用盗版的计算机内部软件情况十分严重,我国正好属于盗版使用的重灾区。这些问题导致除了给研发企业带来巨大的经济损失外,也给不法分子带来可乘之机,通过对计算机系统的攻击,复制相关的数据,给个人、社会和国家带来巨大的经济损失。最近几年发生的针对部分单位的网络攻击,很大原因就是利用相关漏洞来扰乱正常秩序。

计算机的漏洞有以下方面:

(1)编程数据出现了逻辑性的错误,原因基本是设计人员的疏忽大意;

(2)计算机在运行上也会产生相应的逻辑性错误,并且发生率较高;

(3)漏洞与软件环境相互依存;

(4)旧漏洞修复之后还会产生新的漏洞。

2 安全漏洞的检测技术

2.1 静态检测技术

静态分析是指针对计算机安全漏洞的静态检测。目前的静态检测技术主要有两种形式,除了静态分析外,还有程序检验。

2.1.1 静态分析

静态分析主要内容是,对软件系统内部的源代码进行扫描,根据扫描的结果来查找关键句和语法。通过解读程序的含义及行为展开分析,按照系统的漏洞特性和安全标准来完成检测工作。针对分析上,首先要分析关键词和语法,通过检查语法方面的内容,把系统划分为若干片段,把这些片段与数据库的内容展开分析对比,来检测系统内部是否存在漏洞,并因此开展工作。但是这种检测工作缺电是检测数量有限,有些已知的漏洞出F重复检测,也有部分内容没有检测出来;其次需根据相关标准对软件内部开展严格检测,一般系统能在安全、稳定的运行情况下就设定为安全标准。针对检测方法,先用语法模式的描述来运行该标准,然后再运用规则处理器来运行,当语法模式转变为内部程序模式之后,来测定全面检测系统的运行情况。

2.1.2 程序检验

程序检验通过软件系统的程序来确定形式化的程序与模型,随后程序要进行形式化的检测,再通过其他检测方式来检测软件系统内部的漏洞情况。首先把模型进行设计,通过系统程序来设计模型,设计好的模型应及时进行系统检测,一般采用的检测方式有符号化检验和模型自动化检验两种。符号化检验的主要内容是,将模型转变成语法树对数据内容展开公式描述,通过内容来判断公式与内容能否相同;模型自动化的检验主要是把程序转换为等价自动机,两个自动机可对新的自动机进行替换,通过可容纳的语言形式来判定程序系统是否发生转变。模型检验最大的问题是,由于操作系统复杂,软件不可能构建所有的建模。但是随着检测技术的发展,可以通过内存建模和定理证明的方法来检测漏洞的存在,从而使检验的严密性程度得到加强。静态检测最大的弱点就是只能检查现有漏洞,对其他位置漏洞无法预测及防范,静态检测对现有漏洞的覆盖也无法全面、有效,此外成本巨大也是其调高检测质量面临最大的掣肘。

2.2 动态检测技术

动态分析是指针对计算机安全漏洞的动态检测。目前的动态检测主要技术有:内存映射、非执行栈、安全共享库等。

2.2.1 内存映射

一般黑客攻击使用的方式都是“NULL”结尾的字符串进行对计算机的攻击。通过代码的内存映射技术,把原有的内存覆盖难度逐渐加大,使黑客无法直接进入内存区进行操作。也就是说由于程序内部的代码页存在内存映射的情况,使黑客无法猜测地址进行页面攻击。

2.2.2 非执行栈

如果把栈的代码形式改变成无法执行的代码即非执行栈,可以有效预防程序攻击。原因在于系统的栈本身包含内部和数组的变量,执行方面存在问题,所以攻击者通过乱入恶意代码并执行代码,就可以攻击内部软件。

2.2.3 安全共享库

共享库的不安全对软件安全的漏洞是显而易见的。安全共享库的主要内容是将有效预防软件系统受到人为攻击,主要方式是采取程序运行时对不安全函数进行检测与拦截。

3 安全漏洞的检测应用

3.1 预防竞争性漏洞

针对竞争性漏洞,可采取把相关编码原子化的方式操作。原子化最为最小的编码,程序运行不会受到任何干扰。通过原子化操作将程序锁定,对文件系统名称间接调用,来描述所用文件的名称。

3.2 预防随机性漏洞

针对随机性漏洞,运用一套运行正常、良好的设备。将设备作为随机数的发生器,通过设备自身存在的密码算法,来保障设备自身的安全。在遭到黑客攻击的情况下,黑客就算掌握了软件的所有算法细节,也无法查询到对应的数据流。

3.3 预防缓冲区漏洞

针对缓冲区漏洞,预防时可以检查软件系统内部存在的危险函数,同时采用升级更新或者安装等手段用更加安全的版本来取代存在问题的版本。

4 结语

综上所述,计算机软件的安全性在日常生活中十分重要,由于软件的安全漏洞的问题导致计算机被攻击的情况时有发生。通过对安全漏洞检测技术的分析,来认识软件安全漏洞处理的重要性。避免带来重大的经济损失。同样,相关技术人员在研发上,不断加强计算机软件的安全漏洞检测技术,来保障计算机能安全稳定的运行。

参考文献

[1]周亮.安全漏洞检测技术在软件工程中的应用[J].网络安全技术与应用,2017(02):56-57.

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

[3]李舟军,张俊贤,廖湘科,等.软件安全漏洞检测技术[J].计算机学报,2015(04):717-732.

作者单位

中国海洋石油总公司 北京市 100010

上一篇:金融背景下中小企业电子商务平台的建设 下一篇:计算机网络安全的入侵检测技术研究