ImageVerifierCode 换一换
格式:PPT , 页数:37 ,大小:2.09MB ,
资源ID:2741987      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2741987.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(源代码安全扫描及服务技术方案.ppt)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

源代码安全扫描及服务技术方案.ppt

1、源代码安全扫描及源代码安全扫描及审计服务审计服务 方案报告方案报告2012201220122012年年年年08080808月月月月2汇报提纲汇报提纲扫描内容2定价方案4服务介绍3 3背景介绍3 13项目背景源代码安全扫描及服务项目 随着市场竞争的日益激烈,以及通信与计算机技术的不断发展,业务支持系统的软件规模日益庞大,应用环境日益复杂,新业务需求层出不穷,旧业务不断更新优化;对系统源代码的质量要求也越来越高.从提高系统的安全性及稳定性出发;由中国移动广东分公司牵头针对开发商(目前是针对华为,从兴)的源代码进行质量控制,保证源代码的质量;确保系统稳定,高效的运行行业现况项目规模越来越庞大,业务复

2、杂度越来越高开发团队庞大,个人开发风格,水平不一致,导致开发出来的代码质量高低不一对行业项目的安全要求越来越高,因此对项目的质量则越高由此上三大因素,故引入代码扫描控制不利因素,提升质量 引入背景背景介绍背景介绍4 项目优点项目优点优点1优点2源代码扫描是基于专利技术分析引擎开发的软件基础上实施综合应用了多种近年来最先进的静态分析技术是出色的软件静态分析软件是唯一集效率与速度为一身的强大而又精确的企业级源代码分析工具通过该项目开发人员在桌面端快速而准确的定位安全隐患识别错误 和软件架构问题;通过项目分析软件研发经理可以直接看到软件代码和架构的 安全性和可靠性视图,避免软件研发经理往往需要研读软

3、件代码才能发现软件中的问题的弊端软件安全经理可以在软件开发生命周期中发现、评估、纠正和度量软件安全5项目效益项目效益引进代码扫描项目之后当年的项目成本降低50%引进代码扫描项目之后项目成本缩减200000美金We had a very tightschedule and withoutKlocwork Insight,we would have haddifficulty meeting ourobjectives on time.项目引进代码扫描项目之后项目成员减少900h/人的工作成本“Justin Thomas,Software Team Lead,Johns Hopkins APL C

4、&C6源码扫描在源码扫描在NGBOSS的应用的应用Klocwork是一个企业级源代码分析工具,支持对c,c+,java和c#语言的扫描分析;可快速而准确的定位安全隐患、识别错误和软件架构问题,为各大企业节约大量的成本,降低了整个软件过程中的风险成本在对从兴NGBOSS项目引进klocwork之后,一共扫描了12次,其版本质量明显提升;在以往代码出现的诸如内存溢出,数据越界等较严重错误的数量大幅下降.同时对各种不同类型错误还会生成对应的分析报告,指出其在开发中应注意的问题.l引进Klocwork后,代码错误减少l 十大错误报告7汇报提纲汇报提纲扫描内容2定价方案4服务介绍3 3背景介绍3 18

5、3.3.软件架构分析软件架构分析 2.2.安全漏洞检测安全漏洞检测 4.4.软件度量分析软件度量分析 5.5.可定制代码分析可定制代码分析 6.6.开发人员开发人员IDEIDE集成集成 1.1.缺陷检测缺陷检测180类Java错误、241类C/C+错误、40类C#错误自动生成软件架构图,根据结构和依赖关系给出建议代码行数、循环数、继承数等度量指标缓冲区溢出、DNS欺骗、注入缺陷等15类安全漏洞根据公司特色定制编码标准和扫描策略和Eclipse、Visual Stdio、Rational等集成,效率最高源代源代码安全安全扫描及描及审计项目目目前使用的源码扫描工具klocwork是一款基于专利技术

6、引擎开发的强大的静态代码分析软件,具备6大功能9扫描内容扫描内容扫描内容扫描内容 JAVAJAVA1.1.效率效率错误错误(如如:空的空的finalizefinalize方法方法)2.2.可可维护维护性性问题问题(如:空的如:空的catchcatch从从句句)3.3.可靠性可靠性问题问题(如如资资源泄漏源泄漏)c/c+c/c+1.1.空指空指针释针释放放 2.2.内内存管理存管理问题问题(如如内内存泄漏存泄漏)3.3.数数组组越界越界 4.4.未初始化未初始化数数据使用据使用 5.5.编码风编码风格格问题问题下面介绍下缺陷检测中的一些详细信息,支持不同语言的扫描;其中可以检测出180种Java

7、的错误,241种C+错误,下面列举详细缺陷类型,其中每个缺陷类型下包含各类子错误10下面对在源代码扫描中的缺陷类型选取几例常见的加以说明缺陷类型:内存管理问题缺陷类型:内存管理问题子错误代码:MLK.MIGHT-可能存在的内存泄漏可能存在的内存泄漏(类似的代码错误MLK.MUST-已经存在内存泄漏),这个报告并非一定存在内存泄漏,提示在源码中存在此类风险.摘取的代码实例如下:源码:G:c+reportreport3tasksftpfile00128_FixFeeCompoGd.cpp行115错误描述:Possiblememoryleak.DynamicmemorystoredinloadInf

8、oallocatedthroughfunctionnewatline111canbelostatline115分析:为loadInfo分配的内存可能在115行的代码中发生泄漏,需要对调用的代码增加验证条件扫描内容扫描内容扫描内容扫描内容11缺陷类型:数组越界缺陷类型:数组越界子错误代码:ABR-数组越界此类错误多发生在堆,栈和数据段中,但报出来的一般都是缺陷。摘取的实例如下:源码:G:c+bizlibcontrolccmCM_COM_MngSubs.cpp,行623接口:Initialize错误描述:Bufferoverflow,arrayindexofsubsproperty.enum_ma

9、ybeoutofbounds.Arraysubsproperty.enum_ofsize21mayuseindexvalue(s)0.32分析:Arraysubsproperty.enum_sizeis21定义的长度是21,但在实际调用的过程有可能会访问到32的数据,这就超出了定义的长度范围了.扫描内容扫描内容扫描内容扫描内容12缺陷类型:空指针引用缺陷类型:空指针引用子错误代码:NPD.CHECK.MIGHT-空指针引用指针在NULL检查后可能被取消引用,同类型的错误代码还有NPD.CHECK.MUST摘取的代码实例如下:源码:G:c+reportprvcodelazydevhppFileO

10、perator.hpp行510错误描述:PointerdestfnamecheckedforNULLatline503maybedereferencedatline510.分析:指针destfname将会在NULL值检查后被解引用.扫描内容扫描内容扫描内容扫描内容13扫描内容扫描内容在源代码扫描项目中可以提供对缺陷的跟踪,并提供相关的错误信息开发人员可以专注于高优先级的缺陷,深入到源代码浏览器,检查缺陷和分配状况源代码扫描项目使用的唯一的缺陷跟踪技术构建整个释放建立缺陷状态和状态跟踪14安全漏洞检测:安全漏洞检测:确信软件安全性是软件质量中一个重要的、并越来越受重视的方面。同样的,所有的安全漏

11、洞分析是基于市场领先的缺陷检测能力。从原来的缺陷检测分离出来单独的安全漏洞检测和违反推荐的安全代码最佳实践的缺陷检测。能够检测到的安全漏洞类型举例(详细参见下表)扫描内容扫描内容扫描内容扫描内容u安全漏洞类型安全漏洞类型15安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考扫描内容扫描内容扫描内容扫描内容安全漏洞检测-错误代码16安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考扫描内容扫描内容扫描内容扫描内容安全漏洞检测-错误代码17下面对在源代

12、码扫描中的安全漏洞选取几例常见的错误进行说明安全漏洞类型:缓冲区溢出安全漏洞类型:缓冲区溢出子错误代码:ABV.TAINTED-缓冲区溢出缓冲区溢出中的一个子类报错信息-未经验证的输入缓冲区溢出,即形参超出了本身定义的范围上限摘取的实例如下:源码:G:c+bizlibviewHServer.cpp,行71错误描述:Bufferoverflowfromunvalidatedinputusedasanarrayindexofsconnamewhichmaybeoutofbounds.Arraysconnameofsize50mayuseindexvalue(s)0.SHRT_MAX-1分析:形参s

13、conname超出了定义的范围长度扫描内容扫描内容扫描内容扫描内容18安全漏洞类型:未经验证的用户输入安全漏洞类型:未经验证的用户输入子错误代码:SV.TAINTED.ALLOC_SIZE-未经验证的输入摘取的实例如下:源码:G:c+ibankbankotherbankhz.cpp行353错误描述:UnvalidatedintegervaluelGetLenisreceivedfromanexternalfunctionthroughacalltoatolatline344whichcanbeusedtoaltermemoryallocationsizethroughcalltoReadBuf

14、satline353.Useofunvalidatedinputformemoryallocationcanleadtoadenialofservicecondition.Checkintegersforreasonablelimits.分析:由于这里在分配内存时调用了一个外部函数,但此外部函数中并没有明确整形变量lGetLen的值,导致检测出来此错误.扫描内容扫描内容扫描内容扫描内容19安全漏洞类型:注入缺陷安全漏洞类型:注入缺陷子错误代码:SV.IL.DEV-注入缺陷揭示一个应用程序的实现细节是安全问题,因为它提供了攻击者与信息可以用于进一步的攻击。.一般而言,信息的数量向网络接口将降至最

15、低,在特定的设计细节不应该被揭示摘取的实例如下:源码:G:NGCRM_CODEsrc-backgroundcomsunrisengcrmbackgroundcomminterfaceBaseProcessor.java,行80方法:toHandTaskFile错误描述:Applicationisrevealingdesigninformationparameterex.getMessage()ofcalltodoWriteLogFile(.)backtotheweb.分析:设计信息的泄漏,可预防消除信息发送到网络接口的应用价值。一般用户的应用可能不会需要这样的信息,攻击者可以获得信息,可用于进

16、一步的袭击。一个普通的情况设计信息的披露在javaexception-handling发生。.在编程求解过程中异常信息是有用的,但也很危险后放出。必须非常小心的展示或发送异常信息,并确保用户从未见过这样的信息。.所有的堆栈跟踪和调试信息应存放在服务器日志的地方,攻击者看不懂扫描内容扫描内容扫描内容扫描内容20源代码扫描项目还可通过前端的工具源代码扫描项目还可通过前端的工具Klocwork Architect 来完成对来完成对软件架构的分析软件架构的分析理解和优化您的架构理解和优化您的架构能够更好地了解大型软件系统降低软件的复杂性,简化架构,提高系统的可维护性创造更多的可重用的组件,执行所需的API的用法清理和优化你的头文件的结构,从而导致更好的可维护性,缩短构建时间和降低复杂性扫描内容扫描内容21源代码扫描项目还可通过对度量文件配置完成对软件度量分析源代码扫描项目还可通过对度量文件配置完成对软件度量分析可以使用软件默认度量配置对项目进行软件度量分析同时也支持为客户提供的主要指标,以创建自己的复合度量监控关键指标建立了构建组件,度量类型扫描内容扫描内容源代码扫描-软件度量分析22项目概述

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1