[发明专利]一种计算程序切片的方法及装置有效
| 申请号: | 201510460355.3 | 申请日: | 2015-07-30 |
| 公开(公告)号: | CN104978527B | 公开(公告)日: | 2017-12-08 |
| 发明(设计)人: | 马亚飞;姜百合;李新国;余小龙 | 申请(专利权)人: | 深圳数字电视国家工程实验室股份有限公司 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
| 地址: | 518057 广东省深圳市南山区高新技*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 计算 程序 切片 方法 装置 | ||
技术领域
本发明涉及信息安全领域,尤其涉及一种计算程序切片的方法及装置。
背景技术
随着安卓(Android)系统越来越广泛地被搭载在智能手机、平板电脑和数字电视中,Android终端应用的安全问题日益突出。恶意应用入侵系统后,可以获得用户账户、登陆口令、聊天记录等隐私信息,也可以进行非法订阅服务、发送短信等恶意操作,损害了用户的利益。如何有效准确的检测Android系统终端应用的安全性已经成为了一个至关重要的问题。
目前对于Android系统终端应用的分析有两种方法:静态分析法和动态分析。在分析非开源的Android终端应用时,通常都是分析反汇编后得到的smali字节码来获取调用参数值。
但是,无论是静态分析法,还是动态分析法,由于在获取smali字节码的过程中存在信息损失,所以都不能准确获得目标方法的调用参数值,使得终端应用对目标方法的行为的刻画粒度较粗,分析终端应用安全性的结果准确度不高。
发明内容
本发明实施例提供了一种计算程序切片的方法及装置,能够准确获得目标方法的调用参数值,使得终端应用对目标方法的行为的刻画粒度较细,提高了终端应用安全性的检测结果的准确度。
有鉴于此,本发明第一方面提供了一种计算程序切片的方法,包括:
在获取终端应用的smali字节码后,接收目标方法,从所述终端应用的smali字节码中获取用于调用所述目标方法的目标smali字节码,并确定所述目标smali字节码在所述终端应用的smali字节码中的目标位置;
在所述目标位置处通过预配置的回溯算法获取所述目标方法的调用参数对应的第一程序切片;
若确定通过所述回溯算法未回溯到所述目标方法的调用参数的初始化,则根据预配置的函数调用图CG,获取调用所述目标方法的上层调用者方法;
通过所述回溯算法递归处理所述上层调用者方法,得到所述目标方法的调用参数对应的第二程序切片;
根据所述第一程序切片和所述第二程序切片,获取所述目标方法的调用参数值。
结合本发明第一方面,本发明第一方面的第一实施方式中,可包括:
根据所述smali字节码构建原始CG;
将所述原始CG转换为所述预配置的CG;
所述将所述原始CG转换为所述预配置的CG包括:
在所述原始CG中将函数回调机制中的类方法与所述类方法对应的回调方法进行连接,并在所述原始CG中将反射机制中的调用反射的方法与所述调用反射的方法对应的被反射调用的方法进行连接,使得所述原始CG转换为所述预配置的CG。
结合本发明第一方面,本发明第一方面的第二实施方式中,可包括:
在所述目标位置处通过预配置的回溯算法进行回溯,获取对所述目标方法的调用参数值有影响的smali字节码,将对所述目标方法的调用参数值有影响的smali字节码组成所述第一程序切片。
结合本发明第一方面,本发明第一方面的第三实施方式中,可包括:
配置二元组,所述二元组包括所述目标方法和所述目标方法的调用参数值的集合;
所述接收目标方法包括:
接收所述二元组。
结合本发明第一方面,本发明第一方面的第一实施方式,本发明第一方面的第二实施方式,本发明第一方面的第三实施方式,本发明第一方面的第四实施方式中,可包括:
根据所述第一程序切片和所述第二程序切片,获取所述目标方法的调用参数的类型,分别计算不同类型的所述调用参数的调用参数值,以得到所述目标方法的调用参数值。
有鉴于此,本发明第二方面提供了一种计算程序切片的装置,包括:
第一获取单元,用于获取终端应用的smali字节码;
所述接收单元,用于接收目标方法;
第二获取单元,用于从所述终端应用的smali字节码中获取用于调用所述目标方法的目标smali字节码;
第一确定单元,用于确定所述目标smali字节码在所述终端应用的smali字节码中的目标位置;
第三获取单元,用于在所述目标位置处通过预配置的回溯算法获取所述目标方法的调用参数对应的第一程序切片;
第二确定单元,用于确定通过所述回溯算法未回溯到所述目标方法的调用参数的初始化;
第四获取单元,用于根据预配置的函数调用图CG,获取调用所述目标方法的上层调用者方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳数字电视国家工程实验室股份有限公司,未经深圳数字电视国家工程实验室股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510460355.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种棉籽剥壳机的进料通道
- 下一篇:一种水平皮带输送机





