源代码安全扫描及审计服务方案报告课件.ppt

上传人:小飞机 文档编号:1472054 上传时间:2022-11-29 格式:PPT 页数:38 大小:1.90MB
返回 下载 相关 举报
源代码安全扫描及审计服务方案报告课件.ppt_第1页
第1页 / 共38页
源代码安全扫描及审计服务方案报告课件.ppt_第2页
第2页 / 共38页
源代码安全扫描及审计服务方案报告课件.ppt_第3页
第3页 / 共38页
源代码安全扫描及审计服务方案报告课件.ppt_第4页
第4页 / 共38页
源代码安全扫描及审计服务方案报告课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《源代码安全扫描及审计服务方案报告课件.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

12、bankbankotherbankhz.cpp,行,353,错误描述:,Unvalidated integer value lGetLen is received from an external function,through a call to atol at line 344 which can be used to alter memory allocation size,through call to ReadBufs at line 353. Use of unvalidated input for memory allocation can,lead to a denial o

13、f service condition. Check integers for reasonable limits.,分析:由于这里在分配内存时调用了一个外部函数,但此外部函数中并没有明确整形变量,lGetLen,的值,导致检测出来此错误,.,扫描内容,安全漏洞类型:注入缺陷,子错误代码,: SV.IL.DEV-,注入缺陷,揭示一个应用程序的实现细节是安全问题,因为它提供了攻击者与信息可以用于进一步的攻,击。,.,一般而言,信息的数量向网络接口将降至最低,在特定的设计细节不应该被揭示,摘取的实例如下:,源码:,G:NGCRM_CODEsrc-,backgroundcomsunrisengcrm

14、backgroundcomminterfaceBaseProcessor.java ,行,80,方法:,toHandTaskFile,错误描述,: Application is revealing design information parameter ex.getMessage() of call,to doWriteLogFile(.) back to the web.,分析,:,设计信息的泄漏,可预防消除信息发送到网络接口的应用价值。一般用户的应用可能,不会需要这样的信息,攻击者可以获得信息,可用于进一步的袭击。一个普通的情况设计信,息的披露在,java exception-handl

15、ing,发生。,.,在编程求解过程中异常信息是有用的,但也很危,险后放出。必须非常小心的展示或发送异常信息,并确保用户从未见过这样的信息。,.,所有,的堆栈跟踪和调试信息应存放在服务器日志的地方,攻击者看不懂,扫描内容,源代码扫描项目还可通过前端的工具,Klocwork Architect,来完成对,软件架构的分析,理解和优化您的架构,能够更好地了解大型软件系统,降低软件的复杂性,简化架构,提高系统的可维护性,创造更多的可重用的组件,执行所需的,API,的用法,清理和优化你的头文件的结构,从而导致更好的可维护性,缩短构建时间和降低复杂性,扫描内容,源代码扫描项目还可通过前端工具来完成对软件度量

16、分析,报告,.,?,让您只需点击几下你构建复杂的问题的答案,.,?,跟踪整个释放的关键质量指标,?,支持为客户提供的主要指标,以创建自己的复合度量,?,监控关键指标建立了构建组件,度量类型,扫描内容,源代码扫描,-,软件度量,分析,项目概述,互联网用户管理中心建设项目,源代码扫描,可定制的代码分析,?,定位:,?,许多组织有自己独特的编码标准、安全策略或质量目标。经过我们项目的扩展,您可以将我们的分析引擎应用到您独特的、公司特色的问题,另外,我们项目的可扩展性能够用于实现行业特定的编码标准,保证遵守最,新的最佳实践。客户可使用项目中介绍的扩展性,API,或者使用项目提供的专业服务编写,适合您的

17、检查器,扫描内容,项目概述,互联网用户管理中心建设项目,源代码扫描,与,IDE,的集成,?,简介:,源代码扫描项目与众不同的核心之一就是我们能够集成到您选定的开发环境中,去。,通过集成,在开发人员的桌面上即可自动进行代码的检查,您可创建更为优秀的,软件并通过在开发过程早期捕捉到潜在的问题而降低开发成本。目前能够,与,Eclipse,、,Wind River Workbench 2.3,、,Visual Studio 6/2002/2003/2005,、,IBM,Rational Application Developer for Websphere Software,、,Gvim,、,Emac

18、s,、,Visual,SlickEdit,、,Platform Builder,、,KDevelop,、,MetroWerks CodeWarrior,、,IntelliJ,等集成,扫描内容,KW,客户端在安装时会自动将插件集成到,VS,打开,VS,在,工具,-,自定义,菜单下面将,klocwork,勾选上,如下图,扫描内容,与,VS,的集成,设置与服务端的连接,配置相应的,host,与,port.,如下图,扫描内容,在,kw-user-installer,的安装目录下的,update-site,找到插件,kw-eclipse-update-site.zip,,安装,到,eclipse,下面去

19、,与,eclipse,的集成,扫描内容,在,eclipse,的,preferences,下面配置,klocwork,扫描内容,扫描内容,强类型检查,变量值跟踪,语义信息,错误分类,语法错误,内部错误,致使错误,告警,消息,赋值顺序检查,弱定义检查,格式检查,缩进检查,Const,变量检查,对象比较,空的,try/catch/finally,块,?,源代码扫描除了提供上述核心内容之外,还提供下列内容以供用户选择,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,背景介绍,3,1,服务介绍,?,常规扫描,常规扫描所包含的扫描内容,?,缺陷检测:包含,C+/JAVA,所支持的语言缺陷类型检测,?,

20、安全漏洞检测:包含,C+/JAVA,所支持的安全漏洞检测,?,软件架构分析,?,软件度量分析,?,可定制的代码分析,?,软件代码规范,?,开发人员,IDE,集成,?,版本扫描,?,缺陷检测,?,安全漏洞检测,?,可定制的代码分析,?,软件代码规范,?,临时扫描,?,缺陷检测,?,安全漏洞检测,服务介绍服务形式,?,简介,根据所包含的扫描内容不同分为三种服务形式,服务介绍,?,任何一种服务形式都将包含下列完整的服务内容,需求调研,:,需求工程师现场与客户沟通,制定需求计划,确定清楚客户的服务需求。优,点:贴近客户,灵活主动的制定客户服务需求,环境搭建,:,搭建扫描环境,进行扫描工作的配置,最后生

21、存维护手册,方便维护。,策略制定,:,根据客户项目情况,讨论制定扫描策略,策略分为,4,个等级,根据情况设计扫,描策略,进行预扫描,扫描结果进行分析,验证后,跟客户讨论制定出最终的扫描策略,代码扫描,:,现场扫描代码,根据制定的扫描策略完成扫描工作,报告分析,:,对扫描的结果数据进行统计,形成报告,分析扫描的结果,给出代码改进的,建议方案。,策略优化,:,根据扫描的结果,结合项目的实际情况,优化扫描策略。,技术培训,:,对客户进行扫描技术的培训,服务介绍服务内容,?,简介,无论客户选择可种服务形式,我们都将提供完整的服务内容,步骤一,针对项目所需要的相关,硬件,软件资源进行协,调,包括网络的搭

22、建事,宜,;,确保整个环境是通,畅稳定的,.,步骤二,将项目所使用的相关软,件工具,进行安装,同时,将相关的配置设定好,确保软件可以正常使用,步骤三,利用工具对开发商的测,试代码进行了工具试用,掌握了该软件的使用,方法和后续的扫描流程,软件安装,软件联调,环境搭建,服务介绍,服务介绍环境部署,根据,扫,描,结,果,进,行相,关,的,调,整,源代,码预扫,描,源代,码扫,描,源代,码预扫,描,扫,描策略,调,整,优,化,源代,码扫,描,服务介绍策略制定流程,服务介绍,扫描策略最终版形成,扫描策略定制优化,扫描策略调整优化,初步扫描策略定制,进行中,进行中,进行中,进行中,服务介绍,服务介绍策略优

23、化,源代,码扫,描,对,源代,码进,行,扫静态扫,描,先生成,扫,描,报,告,扫,描分析,报,告生成,对扫,描,报,告,进,行分析,里,面包含了各,类错误,的,详,细,分析,;,生成,扫,描分析,报,告文,档,详细的扫描分析报告可以参考下面文档,:,服务介绍报告分析,服务介绍,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,背景介绍,3,1,定价方案,?,方案背景,目前源代码扫描已经在实施的项目中,定价还比较单一,;,考虑到后续项目的推广及客户的,不同需求,可以适应不同客户的灵活需求,;,采用了按照项目规模来定价的方式,分为几个阶梯;,参照项目的规模对所提供的服务收取相应的费用,(,可以对特定的客户进行一定折扣的优惠,).,?,远景目标,?,满足客户对价格的个性选择,?,促进项目的推广,?,实现项目定价的多样化,方便后续的市场开发,定价方案简介,感谢聆听!,Thanks for your time!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号