[发明专利]多重循环的数据流分析方法、系统、设备及存储介质在审
| 申请号: | 202011595969.X | 申请日: | 2020-12-30 |
| 公开(公告)号: | CN112286831A | 公开(公告)日: | 2021-01-29 |
| 发明(设计)人: | 朱宏杰;周亮;方帅;王杰;宋小芹;左海峰 | 申请(专利权)人: | 中国电力科学研究院有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901 |
| 代理公司: | 北京中巡通大知识产权代理有限公司 11703 | 代理人: | 文骊鹍 |
| 地址: | 100192 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多重 循环 数据流 分析 方法 系统 设备 存储 介质 | ||
本发明公开了一种多重循环的数据流分析方法、系统、设备及存储介质,包括:对待分析数据流的值依赖图进行全局循环摘要提取;以提取的全局循环摘要为基础构建状态图;根据状态图求解待分析数据流的循环执行次数,该方法、系统、设备及存储介质能够准确求解数据流的循环执行次数。
技术领域
本发明属于软件分析中的静态分析领域,涉及一种多重循环的数据流分析方法、系统、设备及存储介质。
背景技术
数据流分析指在控制流图的基础上通过迭代分析得到感兴趣的数据流结果,包括可达定义分析、活跃变量分析、可用表达式分析等。这些分析是建立在划分好基本块和流图的基础上,通过在控制流图中的迭代、传递和合并完成对流图中不动点状态的计算。
Stanford大学的YichenXie及其合作者关于溢出漏洞检测中循环次数求解问题,提出了模拟运行的方案。在处理循环时,程序模拟运行被检测程序的循环内代码,在循环变量符合循环终止条件时停止运行循环,统计循环运行次数,其缺点在于:采用模拟执行的方式计算循环不动点,效率十分低,大部分循环的执行状况在进行程序静态分析时无法被模拟执行完全。以此方案进行的缺陷检测,无法解决含有较复杂循环的缓冲区溢出漏洞检测问题,检测时间长、精度差、缺陷漏报率高。
另外,Marple中对每个循环都设置一个固定的迭代次数,简单推测循环可能的执行次数,这种方法计算速度非常快,解决了模拟运行会陷入死循环的问题。其缺点在于:指定循环次数仅能满足效率需求,错误率非常高,给循环内变量取值计算引入很多的误差。
使用静态分析技术检测缓冲区溢出漏洞一般遵循以下步骤:(1) 选取合适的分析模型对目标代码进行建模 (2) 在模型中寻找脆弱性结点(可能发生溢出漏洞的结点)(3)在结点附近作进一步分析,提取信息生成判断约束,使用约束求解工具 判断溢出是否发生。生成判断溢出是否发生的约束需要进行区间的结果。
在值依赖图上进行的区间分析可以很好地处理流敏感信息,对不含跳转的程序得出精确的结果。在实际程序中,大部分运行过程是在循环中完成的,以上区间分析过程无法对循环进行处理。现有的数据流区间分析方法处理循环是困难的,一般只能跳过或者模拟一定次数的运算。对于多重嵌套的循环,此类近似方法也失去了效果,其主要问题在于无法准确求解循环的执行次数。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种多重循环的数据流分析方法、系统、设备及存储介质,该方法、系统、设备及存储介质能够准确求解数据流的循环执行次数,实现数据流分析。
为达到上述目的,本发明所述的多重循环的数据流分析方法包括:
对待分析数据流的值依赖图进行全局循环摘要提取;
以提取的全局循环摘要为基础构建状态图;
根据状态图求解待分析数据流的循环执行次数,根据待分析数据流的循环执行次数进行数据流分析。
提取的全局循环摘要包括值依赖图的值依赖条件中所有条件变量以及与条件变量相关的节点与边形成的约束条件。
所述状态图中记录有循环层层数变化进行状态转移时的约束条件、触发条件以及条件变量在状态转移后的赋值。
对待分析数据流的值依赖图进行全局循环摘要提取之前还包括:获取对待分析数据流的值依赖图,对待分析数据流的值依赖图进行简化。
对值依赖图进行简化的具体过程为:
对值依赖图中的所有条件变量筛选,仅保留与值依赖条件中条件变量相关的节点及边,删除与值依赖条件中条件变量无关的节点及边。
以提取的全局循环摘要为基础构建状态图的具体过程为:
提取全局循环摘要中记录的所有循环变量值转化路径,以各条循环变量值转化路径作为状态节点构建状态图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电力科学研究院有限公司,未经中国电力科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011595969.X/2.html,转载请声明来源钻瓜专利网。





