浅析C语言代码漏洞的静态检测工具,计算机应用技术论文.docx
《浅析C语言代码漏洞的静态检测工具,计算机应用技术论文.docx》由会员分享,可在线阅读,更多相关《浅析C语言代码漏洞的静态检测工具,计算机应用技术论文.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浅析C语言代码漏洞的静态检测工具,计算机应用技术论文内容摘要:由于C语言本身缺乏对内存边界的检查、不对接收参数类型做校验、安全保卫机制和异常处理机制的缺失,使得C语言开发的软件存在安全漏洞,为了确保软件质量,软件开发人员都会对软件进行代码检测。而软件构造之间的关联性决定了,越早发现漏洞,修复越及时,漏洞所导致的损失越小,软件上线时间越早,质量越容易保证。在分析了静态检测和动态检测的基础上,进一步分析了静态检测的关键技术,并分析和研究了4种比拟常见的静态检测工具。 本文关键词语:静态检测; 静态检测技术; 静态检测工具; 1 概述 随着软件技术的飞跃发展,软件规模的不断扩大,软件构造也越来越复杂
2、,软件的稳定性、可靠性等质量问题越来越难保障。由于C语言缺乏对内存边界的检查、不对接收参数类型做校验、安全保卫机制和异常处理机制的缺失,使得C语言开发的软件存在安全漏洞,而安全隐患一旦发生,有可能造成数据错误、信息被窃取或篡改、系统运行缓慢、系统被攻击甚至崩溃。为了保障软件的稳定性、可靠性和安全性都会在软件生命周期的各个阶段采用软件检测来检测、预防漏洞的产生。由于漏洞发生的原因比拟多,没有一种统一的解决方案来杜绝安全隐患的发生。根据检测漏洞时能否需要程序运行,能够将软件检测分为静态检测和动态检测。 2 软件检测 2.1 动态检测 动态检测技术是指在真实或虚拟的环境下运行程序,检测程序运行时的情
3、况,即通过改变对某次执行经过中产生的真实信息进行检测和分析,判定能否在预期范围内。由于程序是在真实的或虚拟的环境下运行的,所牵涉到的环境及变量信息都是真实的,此时所进行的错误检测准确率是比拟高的,原则上是没有误报的。动态检测技术主要是利用插桩技术在代码运行时进行代码检测。主要的内存错误检测技术有基于对象技术、值验证技术、影子内存技术、扩展指针技术和基于指针技术等5种技术,这些技术都在不同程度上知足了对内存错误进行检测的目的1。 但动态检测存在下面缺点:(1)动态检测需对进程做插桩或修改,假如检测不够深切进入,在接下来的程序运行中,可能会引发一些安全问题,如对运行环境或系统等造成损害。(2)由于
4、动态检测技术需要的是运行时的真实信息,可能会存在分支途径覆盖不完全、不能枚举所有途径的情况,不可避免地造成漏报的问题,如并发程序和递归。(3)由于动态检测是依靠测试用例驱动被测源程序运行来进行的检测,动态检测的结果与测试用例的设计质量、测试人员的能力以及对测试用例的选择密切相关。(4)随着软件规模的不断扩大,测试用例集合将会变得非常庞大,途径覆盖率变低,测试结果的漏报率将会变高。尤其是很多边界条件的故障难被检测到。(5)动态检测需要对不同条件进行测试,意味着重复动态的运行软件,代价比拟高。 而静态检测不需要执行源程序,只对代码进行静态的分析和评估,并且如今绝大多数的静态检测技术已经集成到测试工
5、具,静态测试前不需要做过多的前期准备,只需要根据测试工具的要求或讲明进行测试即可。动态检测存在于软件生命周期的各个阶段,且动态检测依靠测试用例的设计,测试人员的能力,导致测试结果漏报率高、分支覆盖不全面,以及测试效率低。 2.2 静态检测 静态检测是指代码处于非运行状态下对程序源代码或二进制代码进行检测,以其找到发生程序错误的代码片段。静态检测的经过能够分为开创建立源程序代码、建立漏洞特征库、断定漏洞以及检测结果分析等4个步骤2。 静态检测技术是在非运行状态下对代码检测,通常是利用静态检测工具,执行效率高,但因存在途径覆盖不全和建模的不完善等缺点,会存在错报或漏报。由于静态检测和动态检测都存在
6、不同的优缺点,一般是静态和动态结合使用。下面内容将重点研究静态检测技术。 3 静态检测工具 为了确保软件的强健性和鲁棒性,软件公司会在软件生命周期的各个阶段进行漏洞检测。对于软件来讲,漏洞越早被检测出来,越容易修改,造成的损失越小。由于软件构造之间是互相关联的,某一模块的漏洞有可能影响其他的模块。越晚发现漏洞,安全威胁越大,造成的损失越大。而静态检测由于不需要运行程序,在开发早期能尽快发现软件中的错误,及时进行软件修复,加快开发进度,缩短产品上线时间和降低安全隐患,进而使得静态检测遭到广泛关注。 3.1 静态检测技术 静态分析技术分为4类:基本分析、基于形式化方式方法的分析、指向分析和其他辅助
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文化交流
限制150内