软件安全漏洞检测技术研究

2016-02-04 12:46张永恒
山西青年 2016年4期
关键词:安全漏洞软件技术技术

张永恒

海南师范大学信息科学技术学院,海南 海口570100



软件安全漏洞检测技术研究

张永恒

海南师范大学信息科学技术学院,海南海口570100

摘要:随着我国信息技术的快速发展,越来越多的软件渗入到人们的日常生活中,所以软件系统的安全就成为了软件开发中的重要工作内容。而软件安全漏洞是威胁软件安全的主要原因,很多黑客正是利用这一漏洞,通过代码入侵到各大网站或者软件程序中的。因而软件安全漏洞检测技术的研究成为人们关注的焦点。

关键词:软件技术;安全漏洞;技术

现代信息技术的高速发展给人们的生活提供了便利,但是同时也带来一些弊端,如用户信息泄露、破坏网站系统等,这些问题不仅会给人们造成一定的经济损失还会给人们带来一定的生活困扰,所以提高软件安全系统是很必要的。而软件安全漏洞检测技术是预防和保证软件安全的主要手段,因而其检测技术也成为人们关注的焦点,就此本文与读者对软件安全漏洞检测技术进行通过探究。

一、软件安全漏洞检测技术

近年来,各种各样的生活软件受到人们的欢迎。如支付宝、百度钱包等是人们生活中常用的支付软件不仅涉及到人们的真实身份信息还涉及到人们的财产安全,所以加强软件安全漏洞检测技术是很有必要的。一般分为两种检测方法即静态检测和动态检测。

(一)静态检测技术

所谓静态检测技术是对软件的源程序或代码进行扫描,从语法、语义等方面来理解、分析程序的行为,从而找出其中的错误代码或者异常行为。随着近年来程序语言的革新,静态检测技术逐渐分为两种一是静态分析,二是程序检验。静态分析是对软件程序的源代码进行扫描然后根据语法,了解代码语言含义和程序行为是否匹配,再按照漏洞特点和检测标准完成检测任务。程序检验是指对面向抽象系统里的程序代码进行检测,其重点检测内容是软件程序是否符合实际需求,从而检测出软件是否存在安全漏洞。静态检测技术侧重是软件内部程序,检测的关键在于对程序语言的检测。程序检测的侧重点在于程序模型,主要是通过对软件程序的有向图和状态机建立模型,来检测软件系统安全漏洞。一般分为两种方法,一是符号化检验,二是模型自动化检验。静态检测技术的不足之处在于只能检测一些符合漏洞描述标准的软件漏洞,而对那些未知漏洞无法进行检测。

(二)动态检测技术

动态检测技术分为四种,分别为内存映射、非执行栈、安全共享库以及沙箱方法。内存映射是指通过在代码中实施映射,使攻击方的字符串末尾“NULL”的字符序列对内存作出全覆盖的行为,从而使得跳转到简易区域内存中的控制无法继续进行。非执行栈指的是通过更改栈内的执行代码使攻击方送入栈内的恶意代码无法执行,从而降低攻击的成功率。这是针对对栈进行攻击的破坏行为。安全共享库是指如果计算机有且执行了安全系数较低的共享库产生了安全漏洞,就可以采用在程序执行阶段对危险系数较高的函数运用进行拦截并进行测验的方法。这是针对安全度较低的软件进行的检测技术。沙箱法就是借助程序的访问来限制来实现预防损害性攻击的方法。最著名的案例就是360隔离沙箱,隔离沙箱是创建一个有部分权限的系统环境的副本。其中所有的程序和操作都是修改到副本之中,对真实的系统本身并没有改变。动态检测技术相比于静态检测技术更加先进、方便。

二、软件安全漏洞检测技术的应用

(一)避免竞争性漏洞

竞争性漏洞是一种常见的安全漏洞模式,在这个模式中,非授权用户能够破坏系统的完整性和密封性。对于这类漏洞主要是采用原子化操作方法。比如某个进程在写文件,而同时又有另一个进程从同一位置读取数据,那么后一个进程读到的数据有可能是新内容或旧内容,也有可能是新旧内容的混合。在设计程序时,如果不采用措施避免这个问题,就会很容易造成安全漏洞。如攻击者将会有权限读取任意的文件。

(二)避免缓冲区漏洞

缓冲区溢出是一种常见的编程错误。在软件开发过程中,工作人员经常预留一部门特殊空间作为存放特殊信息的空间,如果没有执行对比存放数据大小和保存它空间大小的代码,那么靠近分配空间的内存就有会被攻击覆盖的危险。比如一段代码的执行结果是打印html下某个HTML文件的内容,把html作为Red Hat服务器上Apache的httpd服务程序默认的文档根目录,当这段代码接受一个文件名,并把它作为参数传给open函数时,黑客就有可能把…/…/…/etc/shadow当作参数输入的话,就会显示出/etc/shadow的内容,并可能根据这些内容破译出root密码。

(三)避免随机性漏洞和字符串漏洞

对于随机性漏洞,在预防是可以采用性能良好、自带密码算法的随机发生设备。这样在遭遇攻击时,就能够确保数据流的安全。而对于字符串漏洞一般是采用格式常量使攻击者无法创建格式串。

三、总结

综上所述,软件安全漏洞检测技术是保护计算机软件系统安全的基本措施,所以工作人员应该不断学习和创新软件安全漏洞检测技术,从而降低软件安全攻击率。

[参考文献]

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

[2]钟丽芳.计算机软件中安全漏洞检测技术及其应用[J].计算机光盘软件与应用,2013,12:59-60 +62.

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

中图分类号:TP309

文献标识码:A

文章编号:1006-0049-(2016)04-0213-01

猜你喜欢
安全漏洞软件技术技术
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
基于模糊测试技术的软件安全漏洞挖掘方法研究
探析计算机安全漏洞检测技术
试论安全漏洞检测技术在软件工程中的应用
智能设备安全漏洞知多少
UGNX软件技术在农机从业人员技术培训中的应用
探讨电力系统中配网自动化技术
移动应用系统开发
北京市中小企业优化升级
基于软件技术的组合逻辑电路模型分析与实现研究