论文部分内容阅读
随着互联网技术的飞速发展,移动终端市场也在蓬勃发展,一些新兴的移动终端操作系统迅速崛起,而Android操作系统由于其开放、开源性,短短几年成为了占有最大市场份额的移动终端操作系统,围绕Android操作系统也出现了各式各样的第三方Android应用商店市场,而用户下载的应用程序有80%是来自于第三方应用商店市场,而用户在下载过程中并没有明确的目的性和相应的专业知识,对将要下载的应用程序的安全性的关注度也不高,使得用户很容易下载那些和合法应用程序“一模一样”的重打包恶意应用程序,对用户的体验和手机安全造成严重威胁,这个问题也引起了越来越多的研究者的关注。同时,Android应用程序属于用户交互密集型应用程序,用户界面(UI)作为用户与设备交互的唯一接口,其操作的流畅性、简易性和舒适度以及交互的人性化都对应用程序的成功与否起到重要作用,致使UI成为Android应用程序必不可少的一部分,并且它的UI信息也可以反映应用程序的功能和操作逻辑等信息,这使得针对Android应用程序的UI方面的工作具有重要意义。本文面向Android环境下的移动应用程序借助于逆向技术和程序分析理论提出并实现了一种基于属性图的UI建模方法,并成功将其应用于重打包应用程序的检测和家族UI相似性的评估。该方法利用属性UI图来刻画Android应用程序的UI所包含的Widgets及其关系,在Android应用程序中,Activity[10]是用户唯一能够看见并与之交互的组件,可以定义并显示控件,如按钮、文本框等,在绝大部分应用程序中有多个不同的Activity,不同的Activity在特定的条件下可以进行切换来完成不同的任务。根据这种情况,将Activity抽象为UI属性图中的结点,结点属性则是结点对应的Activity里各个控件的数目及其子组件的属性,有向边则用来表征不同的UI单元(Activity)之间的切换关系,整个方法中不再使用API的信息,可有效的克服对API信息的依赖所致使的一些缺陷。根据重打包应用程序具有UI相似性的特点和家族成员之间功能和外观具有高相似性的特点将其应用于重打包应用程序的检测并进一步验证其高危险性和家族UI相似性的评估。实验对8745个Android应用程序进行UI建模,建模成功率达94.74%,检测出2231个(26.13%)重打包应用程序,其中在检测出的UI完全相同的重打包应用程序中约包含有50.0%的恶意应用程序。对497个家族进行UI相似性评估,发现90%的家族成员间的UI相似度达到80%以上。该结果表明所提出的方法有助于在应用市场上开发更全面的检测重打包应用程序,包括恶意的移动应用程序的系统,也有助于研究移动应用程序方面的家族演化问题。