[发明专利]一种Android平台的复合污点传播追踪方法有效
申请号: | 201610453185.0 | 申请日: | 2016-06-21 |
公开(公告)号: | CN107526966B | 公开(公告)日: | 2020-03-13 |
发明(设计)人: | 杨轶;黄桦烽;和亮;闫佳;苏璞睿 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种Android平台的复合污点传播追踪方法。本方法为:1)修改虚拟机层,在基类中添加污点传播标记记录;生成平台的操作系统镜像;2)利用硬件模拟器启动该操作系统镜像,运行该恶意代码;3)CPU执行指令时,若操作系统内核出现新的task_struct节点,且其中的进程名与该恶意代码进程的进程名一致,则当执行该节点中的进程时,将该进程执行产生的数据标记为污点数据,采用污点传播规则计算;4)当该进程调用JNI接口时,如果该JNI接口的调用过程的JNI输入参数是污点,则在传入原生代码层时,将该JNI输入参数传入的数据区域标记为污点,之后根据原生代码层的污点传播规则计算。本发明追踪准确度高。 | ||
搜索关键词: | 一种 android 平台 复合 污点 传播 追踪 方法 | ||
【主权项】:
一种Android平台的复合污点传播追踪方法,其步骤为:1)修改Android平台的虚拟机层,在基类中添加污点传播标记记录;生成该Android平台的Android操作系统镜像;2)利用硬件模拟器加载并启动该Android操作系统镜像;3)将恶意代码放入该硬件模拟器加载的Android操作系统镜像中,启动恶意代码进程运行该恶意代码;4)该硬件模拟器的CPU执行指令时,查找Android操作系统内核中是否出现新的记录进程信息的task_struct节点;若出现新的task_struct节点,且其中的进程名与该恶意代码进程的进程名一致,则当硬件模拟器的CPU上执行该task_struct节点中的进程时,将该进程执行产生的数据标记为污点数据,当该进程对该污点数据在虚拟机层、原生代码层进行操作时采用污点传播规则进行计算,分别得到对应的虚拟机层的污点状态、原生代码层的污点状态;5)当该进程在虚拟机层调用JNI接口时,拦截该JNI接口的调用过程,提取JNI调用的参数和返回值;如果JNI输入参数的污点状态是污点数据,则该JNI输入参数在传入原生代码层时,将该JNI输入参数传入的数据区域标记为污点,之后根据原生代码层的污点传播规则进行计算;最终得到该恶意代码中所有引用或操作了污点数据的指令与系统调用序列。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610453185.0/,转载请声明来源钻瓜专利网。
- 上一篇:恶意软件分析系统
- 下一篇:一种确定IP核安全级别的方法及装置