源代码安全扫描及审计服务—策划方案分析报告课件

上传人:20****08 文档编号:242674277 上传时间:2024-08-31 格式:PPT 页数:38 大小:1.57MB
返回 下载 相关 举报
源代码安全扫描及审计服务—策划方案分析报告课件_第1页
第1页 / 共38页
源代码安全扫描及审计服务—策划方案分析报告课件_第2页
第2页 / 共38页
源代码安全扫描及审计服务—策划方案分析报告课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
,*,*,源代码安全扫描及,审计服务,方案报告,2012,年,05,月,源代码安全扫描及审计服务策划方案分析报告课件,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,3,背景介绍,3,1,汇报提纲扫描内容2定价方案4服务介绍33背景介绍31,项目背景,源代码安全扫描及服务项目,随着市场竞争的日益激烈,以及通信与计算机技术的不断发展,业务支持系统的软件规模日益庞大,应用环境日益复杂,新业务需求层出不穷,旧业务不断更新优化,;,对系统源代码的质量要求权也越来越高,.,从提高系统的安全性及稳定性出发,;,由中国移动广东分公司牵头针对开发商,(,目前是针对华为,从兴,),的源代码进行质量控制,保证源代码的质量,;,确保系统稳定,高效的运行,行业现况,项目规模越来越庞大,业务复杂度越来越高,开发团队庞大,个人开发风格,水平不一致,导致开发出来的代码质量高低不一,对行业项目的安全要求越来越高,因此对项目的质量则越高,由此上三大因素,故引入代码扫描控制不利因素,提升质量,引入背景,背景介绍,项目背景源代码安全扫描及服务项目 随着市场,项目优点,源代码扫描是基于专利技术分析引擎开发的软件基础上实施,综合应用了多种近年来最先进的静态分析技术,是出色的软件静态分析软件,是唯一集效率与速度为一身的强大而又精确的企业级源代码分析工具,通过该项目开发人员在桌面端快速而准确的定位安全隐患,识别错误 和软件架构问题;通过项目分析软件研发经理可以,直接看到软件代码和架构的 安全性和可靠性视图,避免软件,研发经理往往需要研读软件代码才能发现软件中 的问题的弊端,软件安全经理可以在软件开发生命周期中,发现、 评估、纠正和度量软件安全,优点,1,优点,2,项目优点优点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 Lead,Johns Hopkins APL C&C,项目效益引进代码扫描项目之后当年的项目成本降低50%引进代码,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,3,背景介绍,3,1,汇报提纲扫描内容2定价方案4服务介绍33背景介绍31,扫描内容,1.,缺陷检测,2.,安全漏洞检测,3.,软件架构分析,4.,软件度量分析,5.,可定制代码分析,扫描核心内容简介,除了提供一些核心的扫描内容外,还可与,IDE,集成使用;提高开发代码质量,扫描内容 1. 缺陷检测 扫,扫描内容,JAVA,1.,效率错误,(,如,:,空的,finalize,方法,),2.,可维护性问题,(,如:空的,catch,从句,),3.,可靠性问题,(,如资源泄漏,),c/c+,空指针释放,内存管理问题,(,如内存泄漏,),数组越界,未初始化数据使用,编码风格问题,下面介绍下缺陷检测中的一些详细信息,支持不同语言的扫描,;,其中可以检测出,180,种,Java,的错误,220,种,C+,错误,下面列举详细缺陷类型,其中每个缺陷类型下包含各类子错误,扫描内容 JAVA c/c+空指针释放 下,扫描内容,下图是源代码扫描之后所生成的十大错误报告,:,总结了项目中最现个数最多,的前十个错误,包括错误名称,(,这里为了直观将英文翻译成中文,),出现次数及所占百分比,扫描内容下图是源代码扫描之后所生成的十大错误报告:总结了项目,下面对在源代码扫描中的缺陷类型选取几例常见的加以说明,缺陷类型:内存管理问题,子错误代码,: MLK.MIGHT-,可能存在的内存泄漏,可能存在的内存泄漏,(,类似的代码错误,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,行的代码中发生泄漏,需要对调用的代码增加验证条件,扫描内容,下面对在源代码扫描中的缺陷类型选取几例常见的加以说明扫描内,缺陷类型:数组越界,子错误代码,: 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) 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 line 503 may be dereferenced at line 510.,分析:指针,destfname,将会在,NULL,值检查后被解引用,.,导致内存泄漏,.,扫描内容,缺陷类型:空指针引用扫描内容,扫描内容,在源代码扫描项目中可以提供对缺陷的跟踪,并提供相关的错误信息,开发人员可以专注于高优先级的缺陷,深入到源代码浏览器,检查缺陷和分配状况,源代码扫描项目使用的唯一的缺陷跟踪技术构建整个释放建立缺陷状态和状态跟踪,扫描内容在源代码扫描项目中可以提供对缺陷的跟踪,并提供相关的,安全漏洞检测:,确信软件安全性是软件质量中一个重要的、并越来越受重视的方面。同样的,所有的安全漏洞分析是基于市场领先的缺陷检测能力。,从原来的缺陷检测分离出来单独的安全漏洞检测和违反推荐的安全代码最佳实践的缺陷检测。能够检测到的安全漏洞类型举例(详细参见下表),扫描内容,安全漏洞类型,安全漏洞检测:确信软件安全性是软件质量中一个重要的、并越来越,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考,扫描内容,安全漏洞检测,-,错误代码,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考,扫描内容,安全漏洞检测,-,错误代码,安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参,下面对在源代码扫描中的安全漏洞选取几例常见的错误进行说明,安全漏洞类型:缓冲区溢出,子错误代码,: ABV. TAINTED-,缓冲区溢出,缓冲区溢出中的一个子类报错信息,-,未经验证的输入缓冲区溢出,即形参超出了本身定义的范围上限,摘取的实例如下:,源码:,G:c+bizlibviewHServer.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+ibankbankotherbankhz.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 of service condition. Check integers for reasonable limits.,分析:由于这里在分配内存时调用了一个外部函数,但此外部函数中并没有明确整形变量,lGetLen,的值,导致检测出来此错误,.,扫描内容,安全漏洞类型:未经验证的用户输入扫描内容,安全漏洞类型:注入缺陷,子错误代码,: SV.IL.DEV-,注入缺陷,揭示一个应用程序的实现细节是安全问题,因为它提供了攻击者与信息可以用于进一步的攻击。.一般而言,信息的数量向网络接口将降至最低,在特定的设计细节不应该被揭示,摘取的实例如下:,源码:,G:NGCRM_CODEsrc-backgroundcomsunrisengcrmbackgroundcomminterfaceBaseProcessor.java ,行,80,方法:,toHandTaskFile,错误描述,: Application is revealing design information parameter ex.getMessage() of call to doWriteLogFile(.) back to the web.,分析,:,设计信息的泄漏,可预防消除信息发送到网络接口的应用价值。一般用户的应用可能不会需要这样的信息,攻击者可以获得信息,可用于进一步的袭击。一个普通的情况设计信息的披露在java exception-handling发生。. 在编程求解过程中异常信息是有用的,但也很危险后放出。必须非常小心的展示或发送异常信息,并确保用户从未见过这样的信息。.所有的堆栈跟踪和调试信息应存放在服务器日志的地方,攻击者看不懂,扫描内容,安全漏洞类型:注入缺陷扫描内容,源代码扫描项目还可通过前端的工具,Klocwork Architect,来完成对,软件架构的分析,理解和优化您的架构,能够更好地了解大型软件系统,降低软件的复杂性,简化架构,提高系统的可维护性,创造更多的可重用的组件,执行所需的,API,的用法,清理和优化你的头文件的结构,从而导致更好的可维护性,缩短构建时间和降低复杂性,扫描内容,源代码扫描项目还可通过前端的工具Klocwork Archi,源代码扫描项目还可通过前端工具来完成对软件度量分析,报告,.,让您只需点击几下你构建复杂的问题的答案,.,跟踪整个释放的关键质量指标,支持为客户提供的主要指标,以创建自己的复合度量,监控关键指标建立了构建组件,度量类型,扫描内容,源代码扫描,-,软件度量,分析,源代码扫描项目还可通过前端工具来完成对软件度量分析扫描内容源,项目概述,互联网用户管理中心建设项目,源代码扫描,可定制的代码分析,定位:,许多组织有自己独特的编码标准、安全策略或质量目标。经过我们项目的扩展,您可以将我们的分析引擎应用到您独特的、公司特色的问题,另外,我们项目的可扩展性能够用于实现行业特定的编码标准,保证遵守最新的最佳实践。客户可使用项目中介绍的扩展性,API,或者使用项目提供的专业服务编写适合您的检查器,扫描内容,项目概述互联网用户管理中心建设项目源代码扫描可定制的,项目概述,互联网用户管理中心建设项目,源代码扫描,与,IDE,的集成,简介:,源代码扫描项目与众不同的核心之一就是我们能够集成到您选定的开发环境中去。,通过集成,在开发人员的桌面上即可自动进行代码的检查,您可创建更为优秀的,软件并通过在开发过程早期捕捉到潜在的问题而降低开发成本。目前能够,与,Eclipse,、,Wind River Workbench 2.3,、,Visual Studio 6/2002/2003/2005,、,IBM,Rational Application Developer for Websphere Software,、,Gvim,、,Emacs,、,Visual,SlickEdit,、,Platform Builder,、,KDevelop,、,MetroWerks CodeWarrior,、,IntelliJ,等集成,扫描内容,项目概述互联网用户管理中心建设项目源代码扫描与IDE,KW,客户端在安装时会自动将插件集成到,VS,打开,VS,在 工具,-,自定义 菜单下面将,klocwork,勾选上,如下图,扫描内容,与,VS,的集成,KW客户端在安装时会自动将插件集成到VS扫描内容与VS的集成,设置与服务端的连接,配置相应的,host,与,port.,如下图,扫描内容,设置与服务端的连接扫描内容,在,kw-user-installer,的安装目录下的,update-site,找到插件,kw-eclipse-update-site.zip,,安装到,eclipse,下面去,与,eclipse,的集成,扫描内容,在kw-user-installer的安装目录下的updat,在,eclipse,的,preferences,下面配置,klocwork,扫描内容,在eclipse的preferences下面配置klocwo,扫描内容,强类型检查,变量值跟踪,语义信息,错误分类,语法错误,内部错误,致使错误,告警,消息,赋值顺序检查,弱定义检查,格式检查,缩进检查,Const,变量检查,对象比较,空的,try/catch/finally,块,源代码扫描除了提供上述核心内容之外,还提供下列内容以供用户选择,扫描内容强类型检查变量值跟踪语义信息错误分类赋值顺序检查弱定,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,3,背景介绍,3,1,汇报提纲扫描内容2定价方案4服务介绍33背景介绍31,服务介绍,常规扫描,常规扫描所包含的扫描内容,缺陷检测:包含,C+/JAVA,所支持的语言缺陷类型检测,安全漏洞检测:包含,C+/JAVA,所支持的安全漏洞检测,软件架构分析,软件度量分析,可定制的代码分析,软件代码规范,开发人员,IDE,集成,版本扫描,缺陷检测,安全漏洞检测,可定制的代码分析,软件代码规范,临时扫描,缺陷检测,安全漏洞检测,服务介绍,服务形式,简介,根据所包含的扫描内容不同分为三种服务形式,服务介绍常规扫描服务介绍服务形式简介根据所包含的扫描内,服务介绍,任何一种服务形式都将包含下列完整的服务内容,需求调研,:,需求工程师现场与客户沟通,制定需求计划,确定清楚客户的服务需求。优点:贴近客户,灵活主动的制定客户服务需求,环境搭建,:,搭建扫描环境,进行扫描工作的配置,最后生存维护手册,方便维护。,策略制定,:,根据客户项目情况,讨论制定扫描策略,策略分为,4,个等级,根据情况设计扫描策略,进行预扫描,扫描结果进行分析,验证后,跟客户讨论制定出最终的扫描策略,代码扫描,:,现场扫描代码,根据制定的扫描策略完成扫描工作,报告分析,:,对扫描的结果数据进行统计,形成报告,分析扫描的结果,给出代码改进的建议方案。,策略优化,:,根据扫描的结果,结合项目的实际情况,优化扫描策略。,技术培训,:,对客户进行扫描技术的培训,服务介绍,服务内容,简介,无论客户选择可种服务形式,我们都将提供完整的服务内容,服务介绍任何一种服务形式都将包含下列完整的服务内容服务介绍,步骤一,针对项目所需要的相关,硬件,软件资源进行协调,包括网络的搭建事宜,;,确保整个环境是通畅稳定的,.,步骤二,将项目所使用的相关软件工具 进行安装,同时将相关的配置设定好,确保软件可以正常使用,步骤三,利用工具对开发商的测试代码进行了工具试用,掌握了该软件的使用方法和后续的扫描流程,软件安装,软件联调,环境搭建,服务介绍,服务介绍,环境部署,步骤一针对项目所需要的相关 步骤二将项目所使用,根据扫描结果,进行相关的调整,源代码预扫描,源代码扫描,源代码预扫描,扫描策略调整优化,源代码扫描,服务介绍,策略制定流程,服务介绍,根据扫描结果源代码预扫描 源代码扫描 源代码预扫描扫描,扫描策略最终版形成,扫描策略定制优化,扫描策略调整优化,初步扫描策略定制,进行中,进行中,进行中,进行中,服务介绍,服务介绍,策略优化,扫描策略最终版形成扫描策略定制优化扫描策略调整优化初步扫描策,源代码扫描,对源代码进行扫静态扫描,先生成扫描报告,扫描分析报告生成,对扫描报告进行分析,里面包含了各类错误的详细分析,;,生成扫描分析报告文档,详细的扫描分析报告可以参考下面文档,:,服务介绍,报告分析,服务介绍,源代码扫描对源代码进行扫静态扫描,先生成扫描报告扫描分析报告,汇报提纲,扫描内容,2,定价方案,4,服务介绍,3,3,背景介绍,3,1,汇报提纲扫描内容2定价方案4服务介绍33背景介绍31,定价方案,方案背景,目前源代码扫描已经在实施的项目中,定价还比较单一,;,考虑到后续项目的推广及客户的不同需求,可以适应不同客户的灵活需求,;,采用了按照项目规模来定价的方式,分为几个阶梯;参照项目的规模对所提供的服务收取相应的费用,(,可以对特定的客户进行一定折扣的优惠,).,远景目标,满足客户对价格的个性选择,促进项目的推广,实现项目定价的多样化,方便后续的市场开发,定价方案,简介,定价方案方案背景定价方案简介,感谢聆听!,Thanks for your time!,感谢聆听!Thanks for your time!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!