[发明专利]一种数据流跟踪方法有效
申请号: | 201310733715.3 | 申请日: | 2013-12-26 |
公开(公告)号: | CN103714288A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 邹德清;金海;袁劲枫 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种数据流跟踪方法,包括三个阶段:客户操作系统指令静态反汇编,根据静态的客户机x86指令生成对应的污点传播指令,进行污点数据传播更新操作,对于在静态反汇编时不能获取的内存操作数物理地址,通过采用共享缓存的方式在动态执行过程中获取;编译产生宿主机执行代码,根据上一阶段的污点指令生成宿主机上的可执行代码,以处理函数的形式进行生成,方便下一阶段的执行;开启新的执行线程,执行污点指令,逐条取出污点指令,调用其处理函数。本发明方法通过将污点跟踪操作和模拟器动态二进制翻译执行模块分离,实现基于x86指令级的污点语义翻译和并行化的污点传播更新,减少无用的污点跟踪操作,提高系统和用户的交互体验。 | ||
搜索关键词: | 一种 数据流 跟踪 方法 | ||
【主权项】:
一种数据流跟踪方法,其特征在于,该方法基于模拟器进行数据流跟踪的优化,包括对客户操作系统指令进行反汇编的阶段、编译产生宿主机执行代码的阶段和最终代码执行的阶段,其中:在对客户操作系统指令进行反汇编的阶段,模拟器对客户操作系统指令进行反汇编的同时产生污点指令,污点指令为特定的编码形式,固定大小为4个字节,包括操作码(opcode)、源操作数、目的操作数以及ArgLogPos字段;在编译产生宿主机执行代码的阶段,对之前产生的污点指令进行编译产生宿主机上运行的指令,每一个污点指令对应于一个处理函数,用于执行该污点指令代表的污点更新操作;在最终代码执行阶段,开启新的线程执行污点指令,进行污点跟踪的操作,执行的过程就是逐条取出污点指令并调用污点指令处理函数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310733715.3/,转载请声明来源钻瓜专利网。