论文部分内容阅读
iOS系统是当前移动互联网时代十分受欢迎的也是公认的较为安全的移动操作系统,其用户数量仅次于Android。iOS应用程序是由第三方开发者开发的,通过苹果公司的App Store提供给用户下载,并最终运行在iOS设备上的应用程序。随着移动互联网的快速发展,iOS应用程序数量也出现了井喷式增长。虽然苹果公司在系统安全与用户隐私方面采取了很多保护措施,但在越狱环境下运行的应用程序,将不再受到保护,被逆向分析和攻击的风险将大大增加。这种情况下,iOS应用程序的防护加固工作只能由开发者自己完成。然而数据显示,有许多iOS应用程序未做任何防护即上架到App Store。因此,为第三方iOS应用程序开发者提供一套行之有效的安全防护加固技术,对于保护iOS应用程序不被逆向分析与攻击至关重要。目前学术界对iOS系统安全和用户隐私保护相关的研究工作有不少,但是在如何增强应用程序自身防护能力方面的研究是比较少的。本文的主要目的是为iOS开发者提供一套切实可行的安全服务,防护并加固他们的应用程序。本文主要进行了如下的研究工作:(1)分析了iOS应用程序面临的安全现状,研究了针对iOS应用程序的逆向分析和攻击方法的原理,及现有的防范技术所存在的不足,提出了可抵抗class-dump攻击、静态反汇编分析、动态跟踪调试分析、iOS runtime攻击的iOS应用程序防护加固模型PRiOS及其实现。(2)提出了基于ARM二进制指令插入技术的Mach-O二进制可执行文件的重写技术,在此基础上实现了Mach-O数据段加解密、ARM指令混淆、越狱检测、反动态调试、反dylib注入等iOS应用程序防护加固技术。(3)选取了真实的iOS应用程序,对其进行PRiOS防护加固并测试,测试结果表明,PRiOS能够为iOS应用程序提供可行的防护加固服务。相比于现有的防护加固技术,本文给出的PRiOS防护加固服务无需应用程序源代码,不改变应用程序主体功能,几乎不影响应用程序性能,可无缝地应用于iOS应用程序开发和发布过程中,满足开发者对iOS应用程序防护加固的需求。