[发明专利]基于软件安全缺陷检测的综合处理方法及其功能模块构架无效
申请号: | 200910216239.1 | 申请日: | 2009-11-18 |
公开(公告)号: | CN101706749A | 公开(公告)日: | 2010-05-12 |
发明(设计)人: | 王光卫;范明钰;侯孟书;朱大勇;宫亚峰 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/22 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 詹福五 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 软件 安全 缺陷 检测 综合 处理 方法 及其 功能模块 构架 | ||
技术领域
本发明属于网络安全技术领域,特别是一种针对软件安全缺陷检测的综合处理方法及为实现其方法所采用的功能模块构架(装置)。采用本发明方法及其装置可针对已知源代码形态的软件进行安全缺陷的检测。
背景技术
由于程序设计和编写本身的缺陷,使得软件安全性降低,是导致软件安全问题的一个重要原因。大量存在于软件系统中的安全缺陷,又使得软件在使用阶段受到意料不到的攻击,甚至造成重大损失。
目前针对软件缺陷的发现主要有三种方法,一是基于软件漏洞和缺陷模式的检测方法,例如,申请号为CN200810114261.0,发明名称为《一种基于软件缺陷模式的测试方法及系统》的专利文献,采用的方法是,读取被测程序源代码文件及缺陷状态机SDSM描述文件,对被测程序进行预处理,解析SDSM描述文件;对被测程序进行词法分析和语法分析,构造出抽象语法树;根据抽象语法树,生成控制流图和符号表,并根据控制流图和符号表,进行变量取值区间集的计算与更新;对被测程序进行函数调用关系分析,生成函数调用关系图;根据函数调用关系图以函数为单位对控制流图进行遍历,并计算控制流图上每个节点缺陷状态机的状态变迁,缺陷状态机进入缺陷状态时报告对应的检查点;该专利即属于此类技术。
二是利用软件执行过程中轨迹的相似度来定位软件缺陷,例如申请号为CN200810018981.7,发明名称为《一种基于执行轨迹块相似度的软件缺陷定位方法》的专利文献,采取的步骤是,(1)收集和整理测试用例的执行信息并生成执行轨迹;(2)根据执行轨迹块相似度选择用来定位缺陷的测试用例集;(3)对选择的测试用例执行轨迹进行系统比对计算代码怀疑率;(4)将代码怀疑率映射到源程序生成缺陷定位报告。该专利属于此类技术;
三是设计缺陷监控和分析模块采用插入点进行软件缺陷检测的方法,例如申请号为CN200710163839.7,发明名称为《一种快速诊断系统软件缺陷的系统及方法》的专利文献,采用的方法是,用以对导致系统错误的系统程序缺陷进行快速定位并向用户回馈。首先,依据用户需求,预先设定并在系统中写入系统缺陷分析准则的程序,且在系统的程序模块中依照用户对缺陷分析结果的精细度需求加入数个缺陷插入点,然后在系统程序运行过程中在上述各缺陷插入点处产生缺陷管理信息,并对此管理信息进行监控,以收集相关的系统缺陷数据,最后通过系统缺陷分析准则的程序实时分析所收集到的系统缺陷数据,借以获得造成系统错误的最小缺陷集合并实时记录到系统日志中,同时回报给用户。
现有常规程序缺陷分析检测工具主要有:基于程序句法的分析工具和基于程序语意的分析工具,以及使用代码进行运行测试的工具。
基于程序句法的分析工具主要有:Splint,Pscan,Flawfinder,RATS,ITS4,Smacth,这类工具采用正规表达和通用分割技术,对代码进行简单句法分析,查找可疑结构。因为是面上的分析,可能产生许多虚警,仅能检测简单的问题。但是其简单分析也使其处理包含扩展语言时更为稳健,这些扩展语言在其他地方常常被忽略;同时也因句法分析不需要大量计算,因此速度很快,可以处理任意大小的程序。
基于程序语意的分析工具主要有:BOON,PolySpace for C/C++,Coverity Prevent,GrammaTech CodeSonar,Klocwork K7,BLAST,MAGIC,MOPS,这类静态分析通常有两种模块构成:前端和后端,前端用于分析源代码、生成源代码模型,后端则分析这个模型、查找问题和缺陷。按照分析部分的实现方式,可把这类工具分为两个类型。一是基于形式化的方法,也称为数学规划,提供程序特性,例如模型检查和理论证明;这些工具通常存在规模问题,因为使用了大量计算,使其仅能处理小于20K行的程序,对于小于10K行的程序也需要花费15小时,但是收敛好,可以发现复杂的和看不清楚的问题。二是基于先进的启发式的方法,通过规则指纹发现问题;这种工具的特点是,规模化好,但其分析不彻底,仅能发现简单问题,不易收敛。一般可以处理1百万行代码,在10分钟或更短的时间内可以处理10K行代码。上述两类工具均会出现大约30%的虚警。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910216239.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种隧道干燥脱水机
- 下一篇:一种多样化显示的电子钟表