源代码安全扫描服务.pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
源代码安全扫描及 审计服务 —— 2012年05月;汇报提纲;项目背景——源代码安全扫描及服务项目; ;项目效益;汇报提纲; ;扫描内容;扫描内容; 下面对在源代码扫描中的缺陷类型选取几例常见的加以说明 缺陷类型:内存管理问题 子错误代码: MLK.MIGHT-可能存在的内存泄漏 可能存在的内存泄漏(类似的代码错误MLK.MUST-已经存在内存泄漏),这个报告并非一定存在内存泄漏,提示在源码中存在此类风险. 摘取的代码实例如下: 源码:G:\c++\report\report3\tasks\ftpfile\00128_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++\bizlib\control\ccm\CM_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++\report\prvcode\lazydev\hpp\FileOperator.hpp 行 510 错误描述:Pointer destfname checked for NULL at line 503 may be dereferenced at line 510. ? 分析:指针destfname将会在NULL值检查后被解引用.导致内存泄漏.;扫描内容;安全漏洞检测:确信软件安全性是软件质量中一个重要的、并越来越受重视的方面。同样的,所有的安全漏洞分析是基于市场领先的缺陷检测能力。 从原来的缺陷检测分离出来单独的安全漏洞检测和违反推荐的安全代码最佳实践的缺陷检测。能够检测到的安全漏洞类型举例(详细参见下表);安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考;安全漏洞错误代码:下面将列出安全漏洞中的错误代码及描述以供参考;下面对在源代码扫描中的安全漏洞选取几例常见的错误进行说明 安全漏洞类型:缓冲区溢出 子错误代码: ABV. TAINTED-缓冲区溢出 缓冲区溢出中的一个子类报错信息-未经验证的输入缓冲区溢出,即形参超出了本身定义的范围上限 摘取的实例如下: 源码:G:\c++\bizlib\view\HServer.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\bank\bankother\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

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地河北
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档