- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 港口安全管理思路.pptx
- 港口消防安全培训shirley0504.pptx
- 温江金马体育城策划0820.pptx
- 港口物流企业与港口物流园区规划概述.pptx
- 港口物流概述.pptx
- 港口物流保税区.pptx
- 港口铁路高速公路行业投资分析教材.pptx
- 渤海计划·东方湾全年营销策划方案.pptx
- 港股通业务介绍.pptx
- 湖北东方化学工业公司项目建议书.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)