源代码安全扫描及审计服务方案报告课件.ppt
《源代码安全扫描及审计服务方案报告课件.ppt》由会员分享,可在线阅读,更多相关《源代码安全扫描及审计服务方案报告课件.ppt(38页珍藏版)》请在三一办公上搜索。
1、,源代码安全扫描及,审计服务,方案报告,2012,年,05,月,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,背景介绍,3,1,项目背景源代码安全扫描及服务项目,随着市场竞争的日益激烈,以及通信与计算机技术的不断发展,业务支持系统的软件,规模日益庞大,应用环境日益复杂,新业务需求层出不穷,旧业务不断更新优化,;,对系统源,代码的质量要求权也越来越高,.,从提高系统的安全性及稳定性出发,;,由中国移动广东分公司牵,头针对开发商,(,目前是针对华为,从兴,),的源代码进行质量控制,保证源代码的质量,;,确保系统稳,定,高效的运行,行业现况,?项目规模越来越庞大,业务复杂度越来越高,?开发团队
2、庞大,个人开发风格,水平不一致,导致开发出来的代码质量高低不一,?对行业项目的安全要求越来越高,因此对项目的质量则越高,?由此上三大因素,故引入代码扫描控制不利因素,提升质量,引入背景,背景介绍,项目优点,源代码扫描是基于专利技术分析引擎开发的软件基础上实施,综合应用了多种近年来最先进的静态分析技术,是出色的软件静态分析软件,是唯一集效率与速度为一身的强大而又精确的企业级源代码分析工具,通过该项目开发人员在桌面端快速而准确的定位安全隐患,识别错误,和软件架构问题;通过项目分析软件研发经理可以,直接看到软件代码和架构的,安全性和可靠性视图,避免软件,研发经理往往需要研读软件代码才能发现软件中,的
3、问题的弊端,软件安全经理可以在软件开发生命周期中,发现、,评估、纠正和度量软件安全,优,点,1,优,点,2,项目效益,?,引进代码扫描项目之后当年的项目,成本降低,50%,引进代码扫描项目之后项目成本,缩减,200000,美金,We had a very tight,schedule and without,Klocwork Insight,we would have had,difficulty meeting our,objectives on time.,项目引进代码扫描项目之后项目成员,减少,900h/,人的工作成本,“,“,Justin Thomas,Software Team Le
4、ad,Johns Hopkins APL C&C,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,背景介绍,3,1,扫描内容,1.,缺陷,检测,2.,安全漏洞,检测,3.,软,件架,构,分析,4.,软,件度量分析,5.,可定制代,码,分析,扫,描核心,内,容,简,介,除了提供一些核心的扫描内容外,还可与,IDE,集成使用;提高开发代码质量,扫描内容,JAVA,1.,效率,错误,(,如,:,空的,finalize,方法,),2.,可,维护,性,问题,(,如:空的,catch,从,句,),3.,可靠性,问题,(,如,资,源泄漏,),c/c+,1.,空指,针释,放,2.,内,存管理,问题,(,如
5、,内,存泄漏,),3.,数组,越界,4.,未初始化,数,据使用,5.,编码风,格,问题,?,下面介绍下缺陷检测中的一些详细信息,支持不同语言的扫描,;,其中可以检测出,180,种,Java,的错误,220,种,C+,错误,下面列举详细缺陷类型,其中每个缺陷类型下,包含各类子错误,扫描内容,?,下图是源代码扫描之后所生成的十大错误报告,:,总结了项目中最现个数最多,的前十个错误,包括错误名称,(,这里为了直观将英文翻译成中文,),出现次数及所占百,分比,下面对在源代码扫描中的缺陷类型选取几例常见的加以说明,缺陷类型:内存管理问题,子错误代码,: MLK.MIGHT-,可能存在的内存泄漏,可能存在
6、的内存泄漏,(,类似的代码错误,MLK.MUST-,已经存在内存泄漏,),这个报告并非一定存,在内存泄漏,提示在源码中存在此类风险,.,摘取的代码实例如下:,源码:,G:c+reportreport3tasksftpfile00128_FixFeeCompoGd.cpp,行,115,错误描述,: Possible memory leak. Dynamic memory stored in loadInfo allocated through,function new at line 111 can be lost at line 115,分析:为,loadInfo,分配的内存可能在,115,行
7、的代码中发生泄漏,需要对调用的代码增加验证条,件,扫描内容,缺陷类型:数组越界,子错误代码,: ABR-,数组越界,此类错误多发生在堆,栈和数据段中,但报出来的一般都是缺陷。,摘取的实例如下:,源码:,G:c+bizlibcontrolccmCM_COM_MngSubs.cpp,,,行,623,接口:,Initialize,错误描述:,Buffer overflow, array index of subsproperty.enum_ may be out of bounds.,Array subsproperty.enum_ of size 21 may use index value(s)
8、 0.32,分析:,Array subsproperty.enum_ size is 21,定义的长度是,21,但在实际调用的过程有可能,会访问到,32,的数据,这就超出了定义的长度范围了,.,扫描内容,缺陷类型:空指针引用,子错误代码,:,NPD.CHECK.MIGHT,-,空指针引用,指针在,NULL,检查后可能被取消引用,同类型的错误代码还有,NPD.CHECK.MUST,摘取的代码实例如下:,源码:,G:c+reportprvcodelazydevhppFileOperator.hpp,行,510,错误描述:,Pointer destfname checked for NULL at
9、line 503 may be dereferenced at line,510.,分析:指针,destfname,将会在,NULL,值检查后被解引用,.,导致内存泄漏,.,扫描内容,扫描内容,在源代码扫描项目中可以提供对缺陷的跟踪,并提供相关的错误信息,开发人员可以专注于高优先级的缺陷,深入到源代码浏览器,检查缺陷和分配状况,源代码扫描项目使用的唯一的缺陷跟踪技术构建整个释放建立缺陷状态和状态跟踪,?,安全漏洞检测:,确信软件安全性是软件质量中一个重要的、并越来越受重视的方,面。同样的,所有的安全漏洞分析是基于市场领先的缺陷检测能力。,?,从原来的缺陷检测分离出来单独的安全漏洞检测和违反推荐
10、的安全代码最佳实践,的缺陷检测。能够检测到的安全漏洞类型举例(详细参见下表),扫描内容,?,安全漏洞类型,?,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考,扫描内容,安全漏洞检测,-,错误代码,?,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考,扫描内容,安全漏洞检测,-,错误代码,下面对在源代码扫描中的安全漏洞选取几例常见的错误进行说明,安全漏洞类型:缓冲区溢出,子错误代码,: ABV. TAINTED-,缓冲区溢出,缓冲区溢出中的一个子类报错信息,-,未经验证的输入缓冲区溢出,即形参超出了本身定义的,范围上限,摘取的实例如下:,源码:,G:c+bizlib
11、viewHServer.cpp ,行,71,错误描述,: Buffer overflow from unvalidated input used as an array index of sconname,which may be out of bounds. Array sconname of size 50 may use index value(s),0.SHRT_MAX-1,分析,:,形参,sconname,超出了定义的范围长度,扫描内容,安全漏洞类型:未经验证的用户输入,子错误代码,: SV.TAINTED.ALLOC_SIZE-,未经验证的输入,摘取的实例如下:,源码:,G:c+i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 源代码 安全 扫描 审计 服务 方案 报告 课件
链接地址:https://www.31ppt.com/p-1472054.html