源代码安全扫描服务_第1页
源代码安全扫描服务_第2页
源代码安全扫描服务_第3页
源代码安全扫描服务_第4页
源代码安全扫描服务_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、源代码平安扫描及审计效力 方案报告2021年05月汇报提纲扫描内容2定价方案4效力引见33背景引见31工程背景源代码平安扫描及效力工程 随着市场竞争的日益猛烈,以及通讯与计算机技术的不断开展,业务支持系统的软件规模日益庞大,运用环境日益复杂,新业务需求层出不穷,旧业务不断更新优化;对系统源代码的质量要求权也越来越高.从提高系统的平安性及稳定性出发;由中国挪动广东分公司牵头针对开发商(目前是针对华为,从兴)的源代码进展质量控制,保证源代码的质量;确保系统稳定,高效的运转行业现况工程规模越来越庞大,业务复杂度越来越高开发团队庞大,个人开发风格,程度不一致,导致开发出来的代码质量高低不一对行业工程的

2、平安要求越来越高,因此对工程的质量那么越高由此上三大要素,故引入代码扫描控制不利要素,提升质量 引入背景背景引见 工程优点源代码扫描是基于专利技术分析引擎开发的软件根底上实施综合运用了多种近年来最先进的静态分析技术是出色的软件静态分析软件 是独一集效率与速度为一身的强大而又准确的企业级源代码分析工具经过该工程开发人员在桌面端快速而准确的定位平安隐患识别错误 和软件架构问题;经过工程分析软件研发经理可以直接看到软件代码和架构的 平安性和可靠性视图,防止软件研发经理往往需求研读软件代码才干发现软件中 的问题的弊端软件平安经理可以在软件开发生命周期中发现、 评价、纠正和度量软件平安优点1优点2工程效

3、益引进代码扫描工程之后当年的工程本钱降低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&C汇报提纲扫描内容2定价方案4效力引见33背景引见31 扫描内容 1. 缺陷检测 2. 平安破绽检测 3.

4、软件架构分析 4. 软件度量分析 5. 可定制代码分析 扫描中心内容简介除了提供一些中心的扫描内容外,还可与IDE集成运用;提高开发代码质量扫描内容 JAVA1.效率错误(如:空的finalize方法)2.可维护性问题(如:空的catch从句)3.可靠性问题(如资源走漏) c/c+空指针释放 内存管理问题(如内存走漏) 数组越界 未初始化数据运用 编码风格问题下面引见下缺陷检测中的一些详细信息,支持不同言语的扫描;其中可以检测出180种Java的错误,220种C+错误,下面列举详细缺陷类型,其中每个缺陷类型下包含各类子错误扫描内容以下图是源代码扫描之后所生成的十大错误报告:总结了工程中最现个数

5、最多的前十个错误,包括错误称号(这里为了直观将英文翻译成中文),出现次数及所占百分比 下面对在源代码扫描中的缺陷类型选取几例常见的加以阐明缺陷类型:内存管理问题子错误代码: MLK.MIGHT-能够存在的内存走漏能够存在的内存走漏(类似的代码错误MLK.MUST-曾经存在内存走漏),这个报告并非一定存在内存走漏,提示在源码中存在此类风险.摘取的代码实例如下:源码:G:c+reportreport3tasksftpfile00128_FixFeeCompoGd.cpp 行 115错误描画: Possible memory leak. Dynamic memory stored in loadIn

6、fo 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

7、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+reportprvcodelazydevhppFileOperato

8、r.hpp 行 510错误描画:Pointer destfname checked for NULL at line 503 may be dereferenced at line 510.分析:指针destfname将会在NULL值检查后被解援用.导致内存走漏.扫描内容扫描内容在源代码扫描工程中可以提供对缺陷的跟踪,并提供相关的错误信息开发人员可以专注于高优先级的缺陷,深化到源代码阅读器,检查缺陷和分配情况源代码扫描工程运用的独一的缺陷跟踪技术构建整个释放建立缺陷形状和形状跟踪平安破绽检测:确信软件平安性是软件质量中一个重要的、并越来越受注重的方面。同样的,一切的平安破绽分析是基于市场领先的

9、缺陷检测才干。从原来的缺陷检测分别出来单独的平安破绽检测和违反引荐的平安代码最正确实际的缺陷检测。可以检测到的平安破绽类型举例详细参见下表扫描内容平安破绽类型平安破绽错误代码:下面将列出平安破绽中的错误代码及描画以供参考扫描内容平安破绽检测-错误代码平安破绽错误代码:下面将列出平安破绽中的错误代码及描画以供参考扫描内容平安破绽检测-错误代码下面对在源代码扫描中的平安破绽选取几例常见的错误进展阐明平安破绽类型:缓冲区溢出子错误代码: ABV. TAINTED-缓冲区溢出缓冲区溢出中的一个子类报错信息-未阅历证的输入缓冲区溢出,即形参超出了本身定义的范围上限摘取的实例如下:源码:G:c+bizli

10、bviewHServer.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+ibankbankother

11、bankhz.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 condit

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

13、sor.java ,行 80方法:toHandTaskFile错误描画: Application is revealing design information parameter ex.getMessage() of call to doWriteLogFile(.) back to the web.分析: 设计信息的走漏,可预防消除信息发送到网络接口的运用价值。普通用户的运用能够不会需求这样的信息,攻击者可以获得信息,可用于进一步的袭击。一个普通的情况设计信息的披露在java exception-handling发生。. 在编程求解过程中异常信息是有用的,但也很危险后放出。必需非常小心的展

14、现或发送异常信息,并确保用户从未见过这样的信息。.一切的堆栈跟踪和调试信息应存放在效力器日志的地方,攻击者看不懂扫描内容源代码扫描工程还可经过前端的工具Klocwork Architect 来完成对软件架构的分析了解和优化您的架构可以更好地了解大型软件系统降低软件的复杂性,简化架构,提高系统的可维护性发明更多的可重用的组件,执行所需的API的用法清理和优化他的头文件的构造,从而导致更好的可维护性,缩短构建时间和降低复杂性扫描内容源代码扫描工程还可经过前端工具来完成对软件度量分析报告.让您只需点击几下他构建复杂的问题的答案.跟踪整个释放的关键质量目的支持为客户提供的主要目的,以创建本人的复合度量

15、监控关键目的建立了构建组件,度量类型扫描内容源代码扫描-软件度量分析工程概述互联网用户管理中心建立工程源代码扫描可定制的代码分析定位: 许多组织有本人独特的编码规范、平安战略或质量目的。经过我们工程的扩展您可以将我们的分析引擎运用到您独特的、公司特征的问题 另外,我们工程的可扩展性可以用于实现行业特定的编码规范,保证遵守最新的最正确实际。客户可运用工程中引见的扩展性API 或者运用工程提供的专业效力编写适宜您的检查器扫描内容工程概述互联网用户管理中心建立工程源代码扫描与IDE的集成简介: 源代码扫描工程与众不同的中心之一就是我们可以集成到您选定的开发环境中去。经过集成,在开发人员的桌面上即可自

16、动进展代码的检查,您可创建更为优秀的软件并经过在开发过程早期捕捉到潜在的问题而降低开发本钱。目前可以与Eclipse、Wind River Workbench 2.3、Visual Studio 6/2002/2003/2005、IBMRational Application Developer for Websphere Software、Gvim、Emacs、VisualSlickEdit、Platform Builder、KDevelop、MetroWerks CodeWarrior、IntelliJ 等集成扫描内容KW客户端在安装时会自动将插件集成到VS翻开VS,在 工具-自定义 菜单

17、下面将klocwork勾选上,如以下图扫描内容与VS的集成设置与效力端的衔接配置相应的host与port.如以下图扫描内容在kw-user-installer的安装目录下的update-site找到插件kw-eclipse-update-site.zip,安装到eclipse下面去与eclipse的集成扫描内容在eclipse的preferences下面配置klocwork扫描内容 扫描内容强类型检查变量值跟踪语义信息错误分类 语法错误内部错误致使错误告警 音讯赋值顺序检查弱定义检查格式检查缩进检查Const 变量检查对象比较空的try/catch/finally块源代码扫描除了提供上述中心内

18、容之外,还提供以下内容以供用户选择汇报提纲扫描内容2定价方案4效力引见33背景引见31效力引见常规扫描常规扫描所包含的扫描内容缺陷检测:包含C+/JAVA所支持的言语缺陷类型检测平安破绽检测:包含C+/JAVA所支持的平安破绽检测软件架构分析软件度量分析可定制的代码分析软件代码规范开发人员IDE集成版本扫描缺陷检测平安破绽检测可定制的代码分析软件代码规范暂时扫描缺陷检测平安破绽检测效力引见效力方式简介根据所包含的扫描内容不同分为三种效力方式效力引见任何一种效力方式都将包含以下完好的效力内容需求调研: 需求工程师现场与客户沟通,制定需求方案,确定清楚客户的效力需求。优点:贴近客户,灵敏自动的制定客户效力需求环境搭建: 搭建扫描环境,进展扫描任务的配置,最后生存维护手册,方便维护。战略制定:根据客户工程情况,讨论制定扫描战略,战略分为4个等级,根据情况设计扫描战略,进展预扫描,扫描结果进展分析,验证后,跟客户讨论制定出最终的扫描战略代码扫描: 现场扫描代码,根据制定的扫描战略完成扫描任务报告分析: 对扫描的结果数据进展统计,构成报告,分析扫描的结果,给出代码改良的建议方案。战略优化: 根据扫描的结果,结合工程的实践情况,优化扫描战略。技术培训: 对客户进展扫描技术的培训效力引见效力内容简介无论客户选择可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论