浅议软件安全漏洞自动化识别技术

浅议软件安全漏洞自动化识别技术

ID:32939350

大小:57.19 KB

页数:6页

时间:2019-02-17

浅议软件安全漏洞自动化识别技术_第1页
浅议软件安全漏洞自动化识别技术_第2页
浅议软件安全漏洞自动化识别技术_第3页
浅议软件安全漏洞自动化识别技术_第4页
浅议软件安全漏洞自动化识别技术_第5页
资源描述:

《浅议软件安全漏洞自动化识别技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅议软件安全漏洞自动化识别技术摘要:本文通过分析软件代码安全检测工作原理和市场上已广泛使用的工具,为希望借助软件代码安全检测工具,提升发现软件代码安全漏洞,进而提升软件代码安全质量提高帮助。关键词:软件安全;漏洞;自动化识别中图分类号:TP311随着社会信息化的发展,大型社会服务部门对外信息服务多已建立了信息系统,也正是随着各种公众信息服务软件的应用,软件信息安全事件也不断冲击着公众的管感点,因软件安全问题引起服务中断的事情屡见报端,究其原因,很大成分是在软件规模的演变中,原来软件定位多服务于小型区域和

2、内部使用,对软件安全的要求自然比较低,在软件功能定位已发生明显变化,服务于公众客户,承载规模越来越大的时候,软件安全的建设未随之提升,而且随着软件规模的增大,依赖人工进行软件安全漏洞风险的难度也日益增加,一点侥幸和一点为难,为软件安全隐患打开了方便之门,这种问题演变出来的影响如今不得不令人痛心决心予以考虑,这也正是软件代码安全漏洞工具用武之地。1软件代码安全检查工具功能评析随着计算机软件编译技术的发展和市场的需求,目前有多种开源的和商业的静态源代码分析工具可以帮助开发人员和软件安全人员在编码阶段快速扫描

3、出软件代码所潜在的安全隐患,这些技术在我们日常的开发过程中很普遍,只是我们平时没有注意到而已。通过源代码分析工具对代码扫描后的结果,开发人员和安全代码审查人员可以对结果再次复查,极大地提高了代码安全审查的效率,这些分析工具或者技术主要包括如下的功能:1.1类型检查类型检查是静态分析使用得最为广泛的形式,也是程序员最为熟悉的方式,很多程序员并没有在类型检查方面太多的思考,毕竟类型检查的规则被编程语言事先定义好了,并被编译器强制执行,因此关于类型检查的分析器是如何执行的,程序员一般都了解得很少。类型检查能够

4、帮助开发人员全面地排除编码类型方面的错误,比如把一个整型的值赋给一个对象的变量;在编译时捕获错误;也在一定程度上预防运行时的错误。1.2代码编写风格检查Stylecheckers是一个专门的代码风格检查的静态分析工具,这种工具在类型检查之外强制一些其它的编码格式的规则,比如空格检查、命名规范、不推崇函数的使用、注释、程序结构等.被stylechecker检查的错误通常是那些影响代码的可靠性和可维护性方面的缺陷,这些缺陷在程序运行时并不一定是一个特定的错误。1.3程序理解程序理解工具帮助用户理解代码量大的

5、程序,帮助用户理解代码,集成开发环境(IDE)也总是包含一些程序理解功能,比如:"findallusesofthismethod"and"findthedeclarationofthisglobalvariable.”一些高级的分析可以支持自动程序重构的特性.比如把单个的复杂的函数,裂解成多个更为简单的函数。高级的程序理解工具也尽量帮助程序员去获取程序是按哪种方式工作的,有些工具尽量使用逆向工程了解代码的设计.因此会给程序员一个图形化的视图,这对程序员去理解代码量大的程序非常有用,尤其是这些代码不是程序

6、员自己写的时候。1.4程序确认程序确认工具接受一组规格要求和代码,并企图为代码提供证明:“代码的实现是满足规格要求的”,如果规格是程序应当作的每一件事情的完整描述,程序确认工具就能够执行一个等同的检查,以确保代码和规格是一致的。1.5属性检查属性检查工具关注临时安全的属性上面,临时安全的属性按顺序列出一些不允许发生事件的清单,。比如不能去访问已经释放了的内存块的地址,大多数属性检查工具允许程序员写自己的规则去检测特定程序的属性。1.6缺陷发现缺陷发现工具的目的并不像stylechecker那样去抱怨代码

7、的格式问题,也不去对程序代码和规格做比较。它仅仅指出在程序在哪儿,它的行为将不是程序员本身的意图,大多数程序缺陷工具是易于使用的,因为它们是与一组特定的缺陷规则相关,这些规则描述了一些特定的代码模式,这些代码模式将通常指示代码缺陷。2软件代码安全的审查路径关注于安全的静态扫描工具使用了多种其它静态分析工具的技术,但它更关注识别安全问题这个目标,这就意味着它们应用这些技术的不同,它检查潜在的不安全的库函数的调用;检测边界错误和类型转换错误;使用控制流检测操作顺序不合理所带来的隐患;使用数据流跟踪技术去跟踪

8、不安全的数据的引入及其不安全的操作…。同时也提供自定义安全规则的接口,以满足用户特定安全目的的需求.以下是数据流和控制流的例子。数据流跟踪来自网络的数据,该数据最后在一块给定的内存执行操作,对来自网络的数据没有做大小控制,会导致缓冲区溢出。控制流分析所有的操作路径,发现在特定的逻辑下,程序执行不安全的操作,比如下面的对同一内存块释放了两次,导致内存管理紊乱。3软件代码安全检测工具功能限定静态安全扫描器并不是设计去发现架构方面的问题,或者说设

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。