[发明专利]数据流分析方法和装置有效
申请号: | 201310548222.2 | 申请日: | 2013-11-07 |
公开(公告)号: | CN103809966A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | J·杜比;S·A·瓜尔涅里;M·皮斯托亚;O·特里普 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;张亚非 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据流 分析 方法 装置 | ||
1.一种数据流分析方法,包括:
使用适合于程序污染分析的程序数据流模型,利用基于所述程序的堆模型从污染源到所述堆中的实体来跟踪信息,其中执行所述跟踪以便所述信息与污染传播相关,并且针对所述堆中的所述实体以字段敏感的方式执行所述跟踪;以及
基于所述跟踪的输出,执行数据流分析以便确定从所述污染源通过数据流路径到使用所述污染的汇的污染流。
2.根据权利要求1的方法,其中跟踪信息进一步包括使用指针分析模型执行字段敏感分析,以便将所述堆中的抽象对象的字段彼此区分开并将所述堆中的不同抽象对象的字段彼此区分开。
3.根据权利要求2的方法,其中所述字段敏感分析区分不同抽象对象的字段指针键,即使当此类字段指针键表示具有相同名称的字段时也是如此。
4.根据权利要求2的方法,其中所述指针分析模型包括指向图。
5.根据权利要求2的方法,还包括通过分析所述程序确定所述数据流模型,并且通过分析所述程序确定所述指针分析模型。
6.根据权利要求2的方法,其中使用指针分析模型执行字段敏感分析进一步包括创建堆图,所述堆图包括具有所述程序中的环境和堆指针的第一集合与具有参与所述指针分析模型的所述抽象对象的第二集合的交集,并且还包括连接所述第一和第二集合的元素的边集合。
7.根据权利要求6的方法,其中具有所述程序中的环境和堆指针的第一集合包括所述堆中的局部变量和引用所述堆中的对象的字段。
8.根据权利要求6的方法,其中跟踪信息进一步包括:
确定污染流入给定访问路径,其中每个访问路径是将变量与字段标识符集合相链接的对,并且其中可以评估访问路径以便产生在所述堆中分配的唯一对象;
确定与所述给定访问路径对应的满足条件集合的所有访问路径,所述确定所有访问路径的步骤使用所述堆图;以及
输出所确定的满足所述条件集合的访问路径。
9.根据权利要求8的方法,其中使用特定环境和给定堆在所述程序的特定具体状态下执行访问路径评估,以便在所述给定堆中产生所述唯一对象。
10.根据权利要求8的方法,其中确定污染流入给定访问路径进一步包括使用所述程序中的函数的关系摘要映射来确定污染流入所述给定访问路径。
11.根据权利要求10的方法,其中确定污染流入给定访问路径进一步包括针对所述程序中被首次分析的函数,确定将所述函数的一个或多个输入参数映射到所述函数的一个或多个返回值的关系摘要。
12.根据权利要求8的方法,其中所述条件集合包括:
所有访问路径中的所述访问路径以局部变量为根;
所述局部变量属于同一方法;以及
所有所述访问路径均与所述给定访问路径混淆。
13.根据权利要求12的方法,其中所述条件集合进一步包括:可以将所有所述访问路径截断为特定长度。
14.根据权利要求1的方法,其中以针对字段而言还为流不敏感的方式执行所述跟踪信息的步骤,其中响应于在两个不同程序点为所述堆中的对象o的字段f分配值v和值w,所述字段f被视为指向值集合{v,w}。
15.根据权利要求14的方法,其中所述跟踪信息进一步包括构建调用图和指向图,并且其中当构建至少所述调用图和指向图时,执行流不敏感性。
16.根据权利要求1的方法,还包括输出通过执行所述数据流分析而确定为被污染的所述数据流路径的指示。
17.一种数据流分析装置,包括:
被配置为使用适合于程序污染分析的程序数据流模型,利用基于所述程序的堆模型从污染源到所述堆中的实体来跟踪信息的模块,其中执行所述跟踪以便所述信息与污染传播相关,并且针对所述堆中的所述实体以字段敏感的方式执行所述跟踪;以及
被配置为基于所述跟踪的输出,执行数据流分析以便确定从所述污染源通过数据流路径到使用所述污染的汇的污染流的模块。
18.根据权利要求17的装置,其中被配置为跟踪信息的模块进一步包括被配置为使用指针分析模型执行字段敏感分析,以便将所述堆中的抽象对象的字段彼此区分开并将所述堆中的不同抽象对象的字段彼此区分开的模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310548222.2/1.html,转载请声明来源钻瓜专利网。