基于LLVM的Android应用程序编译时虚拟化保护研究

来源 :西北大学 | 被引量 : 0次 | 上传用户:yyqzhang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
伴随着移动互联网的快速发展,Android平台随之普及并渗透到人们生活中的方方面面。在巨大发展前景的背后,Android应用程序面临着严峻安全问题,这给应用程序的开发者以及使用者都带来了巨大的安全威胁。无论是DEX文件还是反编译之后的Davilk指令都具有很强的语义性,这使得逆向人员可以轻松地从应用程序的安装包中获取Java源码,从而实现逆向分析以及二次打包。为了阻断攻击流程,目前主要采用混淆、防篡改、加壳等程序保护措施,然而这些保护方法在动态分析时表现出种种不足。针对于DEX文件容易被反编译以及SO文件存在保护力度不足的问题,本文综合考虑了Android平台的特殊性和代码层次的复杂性,提出一种基于LLVM的Android应用程序编译时虚拟化保护方法。即将DEX中字节码方法通过抽取以及语意重组的方式转为C代码,并在编译阶段实施虚拟化保护。编译时虚拟化保护不仅作为DEX中核心代码保护的一个阶段,更可以被封装为一条单独的编译链,作用于常规的本地层程序开发过程中。最终,通过虚拟化一次性解决Android应用程序的整体代码安全问题。本文主要的研究点包含如下几个方面:1)研究Android系统相关安全机制以及当前主流保护方法的基本原理、技术特点。针对当前Android应用程序保护技术中存在的弊端和不足,提出一种编译时虚拟化的保护方案。2)研究一种字节码程序的提前编译方法,分析并设计字节码抽取以及到C代码转换的流程,将已发布程序的字节码方法转化为更底层的实现。通过这种转化避免DEX文件在运行时被内存转储的攻击威胁,并使得虚拟化可以应用于Android上层代码保护问题中。3)研究基于LLVM的Android程序编译时虚拟化实现,通过对Android NDK开发套件的定制,实现一种独立于语言以及平台的虚拟化框架,利用于本地层代码编译过程,实现对核心代码的防护和隐藏工作。4)设计并实现Android应用程序编译时保护原型系统。选择真实的应用程序作为测试样例进行实验评估,通过攻击实验以及性能分析实验充分证明该原型系统具有良好的实用性和抗攻击性。
其他文献
文章以等级测评项目实施情况为立足点,阐述了等级测评过程中有可能存在分歧的现象,细致描述了等级测评双方就同一个问题而形成的观点,并对问题形成的原因和解决问题的可行性
综合模态测试的基本思想是将结构划分为若干个子结构,通过对子结构的模态测试,得到子结构模态参数,再将这些参数综合,从而得到整体结构的模态参数的方法。在汽车NVH研究领域,若对
随着经济的发展和全球一体化进程的加快,跨境电子商务的发展与壮大已经成为不可逆转的趋势,08年国际金融危机以来,国际市场一片萧条,加上西方贸易保护主义抬头,我国的对外贸
旅游成为休闲时代的一种生活方式,在备受欢迎的文化休闲旅游中,民俗以其丰富性、特色性成为重要的旅游吸引物,或者兴于乡村旅游或者兴于文旅创新,但旅游市场的特性和民俗的特
随着新课程改革的不断深入,促进学生核心素养发展是我国基础教育改革和发展的重点。而高效的课堂教学是发展学生核心素养直接且有效的途径。本文紧扣核心素养的四个维度,基于
期刊
最低待遇标准自十九世纪八十年代在国际投资协定领域出现以来,除美国、加拿大、墨西哥等国在缔结国际投资协定时纳入最低待遇标准条款之外,仅有少数国家在国际投资协定中对最低待遇标准进行了纳入。相较于更早出现在国际投资协定领域,并且被广泛纳入各国缔结的国际投资协定之中的公平公正待遇,最低待遇标准并未得到应有的重视。最低待遇标准究竟是怎样的待遇标准?最低待遇标准与更早被纳入国际投资协定的公平公正待遇存在怎样的
为了研究长期老化对沥青表面能以及其与集料粘附性的影响,选取基质沥青(JZ)、SBS改性沥青(SBS)、橡胶沥青(XJ)、高粘沥青(GN)四种沥青和石灰岩、玄武岩、辉绿岩三种岩性集料,通过接触角
内蒙古地区处于国家区域发展总体战略的特殊地位,其经济社会发展的关键在于发挥高层次应用人才的支撑和引领作用,因此培养适应社会需求的应用型人才是形成内蒙古新的经济增长
从应用的视角分析研究阻碍高职院校数字化教学资源共享的因素,探讨数字化资源共享的科学规划方法和实现的步骤,实现数字化教学资源共享的使用效率的提升。立足现有的国际国内
针对服装行业个性化定制信息系统各种对象多种标识体系不兼容问题,提出了基于Handle的信息系统标识体系,设计了面向服装行业个性化定制的Handle注册解析系统架构,给出了终端