推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

云环境下基于函数编码的移动应用克隆检测

更新时间:2019-12-31 08:58:04 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:函数编码 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

提出了一种云环境下基于汇编函数层编码的App克隆检测方法,实现了Android应用克隆检测原型系统Pentagon。首先,针对App执行文件代码设计了二进制函数基本代码块特征提取方法;其次,提出了一种对二进制函数进行单调编码的算法,基于图形嵌入原理,融合执行流程图与函数代码基本块特征,形成每个函数代码的投影特征;最后,提出了一种高效的第三方库函数过滤方法,进一步提升了克隆检测效果。实验证明,所提方法具有97.6%的准确率,在实验条件下判定一个App克隆对只需要79ms,能够支撑云环境下应用市场级别的大规模克隆检测。


部分文件列表

文件名 大小
云环境下基于函数编码的移动应用克隆检测.pdf 1M

部分页面预览

(完整内容请下载后查看)
40 卷第 8 期  
2019 8 月  
Vol.40 No.8  
August 2019  
Journal on Communications  
云环境下基于函数编码的移动应用克隆检测  
杨佳 1,付才 1,韩兰胜 1,鲁宏伟 1,刘京亮 2  
1. 华中科技大学计算机学院,湖北 武汉 4300742. 北京航空精密机械研究所,北京 100876)  
摘 要:提出了一种云环境下基于汇编函数层编码的 App 克隆检测方法,实现了 Android 应用克隆检测原型系统  
Pentagon。首先,针对 App 执行文件代码设计了二进制函数基本代码块特征提取方法;其次,提出了一种对二进  
制函数进行单调编码的算法,基于图形嵌入原理,融合执行流程图与函数代码基本块特征,形成每个函数代码的  
投影特征;最后,提出了一种高效的第三方库函数过滤方法,进一步提升了克隆检测效果。实验证明,所提方法  
具有 97.6%的准确率,在实验条件下判定一个 App 克隆对只需要 79 ms,能够支撑云环境下应用市场级别的大规  
模克隆检测。  
关键词:克隆检测;函数编码;控制流程图;知识产权保护  
中图分类号TP391.4  
文献标识码A  
doi: 10.11959/j.issn.1000-436x.2019106  
Function encoding based approach for App clone  
detection in cloud environment  
YANG Jia1FU Cai1HAN Lansheng1LU Hongwei1LIU Jingliang2  
1. School of Computer Science & Technology, Huazhong University of Science and Technology, Wuhan 430074, China  
2. Avic Beijing Precision Engineering Institue Aircraft Industry, Beijing 100876, China  
Abstract: An efficient function-based encoding scheme in the cloud environment for detecting the cloned Apps was de-  
signed, called Pentagon. Firstly, a basic block feature extraction method was proposed. Secondly, a monotonic encoding  
algorithm for the App function was designed, which encoded the function based on the control flow graph structure and  
basic block attributes. Finally, a three-party libraries filtering method was proposed by using an efficient clustering algo-  
rithm based on the function feature. Experiments verified the effectiveness of the proposed scheme. The average search  
time is close to 79 ms, and the clone detection accuracy achieves 97.6%.  
Key words: clone detection, function encoding, CFG , intellectual property right protection  
Android 应用数量已经接近 140 些移动应用  
1 引言  
已在办公、娱乐等各个方面深入人们的生活,成  
为不可或缺的一部分。  
近年来着移动智能终端设备的迅速发展,  
Android 应用占据了移动应用市场的主要份额据  
统计,2017 年已有超过 15.5 亿部智能手机被使  
用,其中超过 80%的手机搭载了 Android 系统。  
海量规模的各类移动应用(App)投放在多个第  
三方应用市场供用户下载,例如谷歌应用市场中  
然而,由于 Android 系统的开放性和 Android 应  
用的易被破解性多非法开发者利用克隆技术或者  
反编译工具仿造出大量的克隆 App目前,应用重打  
包已经成为恶意软件传播的主要途径之一有  
超过 85%的安卓应用存在重打包行为不仅侵害了  
收稿日期2018-09-06修回日期2019-04-06  
通信作者:付才,
基金项目:国家自然科学基金资助项目(No.61572222No.61772194No.61272405)  
Foundation Item: The National Natural Science Foundation of China (No.61572222, No.61772194, No.61272405)  
2019106-1  
8 期  
杨佳等:云环境下基于函数编码的移动应用克隆检测  
·61·  
原开发者的知识版权和利益对移动用户的安全和  
隐私造成危害。此外,一些攻击者会修改原始 App  
中的函数逻辑,如去除 App 中的支付函数、修改原  
App 中的广告库,甚至插入各种各样的恶意代码,再  
用一个新的签名重新打包这些恶意 App。克隆 App  
在第三方应用市场中大量地被下载使用重干扰了  
应用市场的正常环境保护合法用户和原创开发者  
的正当权益何实现高效准确的 App 克隆检测是当  
前移动应用市场面临的技术挑战。  
法是利用代码的静态特征进行 App 克隆检测当  
恶意开发者对这些静态特征进行修改的时候,例如  
修改字段变量的常数或 API Call 的调用序列等这  
种方法的正确率就无法得到保障。Rendezvous[13]  
二进制代码上使用代码搜索的办法进行克隆检测,  
这种方法有 2 个限制:首先,需要代码的 ngram 特  
征来提高准确率;其次,需要将整个 CFG 分为几  
个子图来处理Pewny [14]提出了一种基于已知的  
漏洞签名的搜索方案,该方案计算二进制代码块  
的语义散列来进行函数的克隆比较,然而这种方  
案并不高效Feng [15]提出了基于控制流程图的  
恶意代码检测方案是需要复杂的图匹配过程。  
2) App 克隆检测  
由于 App 市场的规模庞大,App 的数量不断  
快速增长,仅基于本地的计算资源进行 App 克隆  
检测会因为硬件配置较低而出现计算能力有限、  
电源功耗过高等问题,本地检测技术已不能满足  
百万数量级的 App 分析需求。移动互联网中的云  
计算、大数据及虚拟化技术为解决大规模 App 克  
隆检测问题提供了技术支撑。本文基于云环境提  
出了一种高效 App 克隆检测方法,构建了检测原  
型系统,提高了 App 克隆检测的效率,能有效应  
对大规模 App 克隆检测挑战。  
传统方法检测恶意 App 主要通过权重很大的  
静态和动态特征来进行黑白名单检测,但是不能检  
测未知的恶意代码,如果之前并没有收录这种恶意  
代码无法进行检测Zhou[16]利用软件权  
限、API 调用顺序等静态特征进行检测,但是仅利  
用这些静态特征进行检测会导致较低的准确率。  
David[17]能够自动划分一个函数调用图的社区结  
构,这些划分的社区结构能够用于新的恶意代码检  
测。Arp [18]提出一种新的轻量级的检测方案,这  
种方案从安卓应用中提取八类特征,然后对这些特  
征用 SVM 进行分类实现检测[3]。  
许多研究者提出了多种 App 克隆检测技术,  
主要有以下三类于简单散列特征提取的技术[1]、  
基于静态语义特征提取的技术[2-6]加复杂有效  
的基于 Android 应用 UI 结构特征的提取技术[7-10]  
第三类检测技术中基于 UI 结构特征的检测方法  
主要分析用户接口之间的使用相似度进而判断  
3) 动态检测  
App 是 否 克 隆 。 目 前 , Androguard[11]  
该检测方式需要 App 在一个虚拟的环境下运  
行,从动态特征中提取信息。Andrubis[19]即是动态  
地进行检测是耗时过长Enck[20]提出了一个系  
Taintdroid过追踪敏感信息的流动来进行克隆  
行为的检测,这种方法同样非常耗时,在效率上有  
所欠缺,无法应对大规模的检测。  
FSquaDRA[12]是用于 App 克隆检测的主要公用工  
Androguard 能够在 Dalvik 字节码层进行比较,  
FSquaDRA 能够基于源文件进行相似度分析。然  
而这些研究还存在以下问题:基于散列值和某一  
特定静态语义分析方案的适应性还需增强如,  
在克隆中使用代码混淆可避免被基于静态语义特  
征的方法检测出来UI 结构特征提取方案需要  
提取整个 App UI 调用结构,同时需要复杂的  
图匹配计算来比较 App 相似度,因此对于小结构  
UI 图的 App 难以达到较好的检测效果。  
实现云环境下高效的函数层 App 克隆检测方  
案存在以下一些困难和挑战。  
1) 相比面向源代码的克隆分析,移动应用 App  
中基于可执行字节码的克隆分析更为复杂动应用  
的源码并不能轻易获取,同时,Android 应用中大量  
使用的代码混淆技术也给重打包检测增加了难度。  
2) 海量的应用规模为克隆检测效率提出了  
更高的要求着各类 Android 应用的普及App  
应用数量呈现出飞速增长的趋势,通过 App 的  
UI 调用图或者动态分析等方法都无法应对大规  
模级别的克隆分析。  
本文主要从以下 3 个方面来讨论目前的工作。  
1) 二进制层函数克隆检测方案  
在二进制层的克隆检测方案中,一种通用的方  
法是使用基于函数执行序列的路径进行代码相似  
度检测。这种方法能够检测控制流程图(CFG,  
control flow graph)的变化,但是不能准确地检测  
在不同平台或者代码混淆下的函数克隆。另一种方  
3) 移动应用中第三方库函数的大量使用干  
2019106-2  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载