论文部分内容阅读
近年来,随着移动互联网的快速发展,移动设备在消费领域乃至企业领域不断扩展,不论从速度还是数量上的增长都是相当惊人的。移动设备的爆发式增长,移动市场规模的扩大都急剧增加了信息安全的攻击面,越来越多的安全问题不断发生,例如隐私泄露、手机病毒、恶意软件等。苹果手机在移动智能手机市场占据了很大的份额,苹果研发的操作系统在整体设计上拥有很好的安全机制,经过多年的发展,安全性能已经很完善了。但是近年来iOS系统依然被不断爆出漏洞,尤其是iOS设备被越狱。越狱后的设备,系统安全性被破坏,未签名的恶意程序能够在i OS设备上运行。未知攻,安知防。只有通过逆向分析恶意软件原理,不断从被攻击中总结经验,才能更好的保护应用程序的安全。因此研究iOS平台下应用程序攻防技术是十分必要的。首先,针对应用程序攻击部分本文主要研究iOS平台下的应用程序逆向工程技术。介绍iOS逆向工程的理论基础,针对iOS平台软件的特点,总结一种iOS逆向工程分析框架,该逆向分析框架主要包含网络分析、静态分析、动态分析三种逆向分析方法。在静态分析方法中,针对解密二进制文件提出两种方法。一种基于自动化工具实现,另一种基于调试器来实现。在动态分析方法中,针对难以确定函数参数的含义主要提出“参数打印法”来确定函数参数的意义,以软件调试、运行时hook、参数打印、反反调试四个技术为主导,形成一整套软件逆向动态分析方案。其次,根据研究的iOS逆向分析方法对iOS平台通讯录软件进行逆向分析、调试,通过逆向分析结果进行tweak开发,实现侧滑删除联系人操作。最后,应用程序防护部分主要从防逆向和安全功能设计方面展开研究。根据iOS平台应用程序的特点,分析目前iOS应用程序存在的安全问题,设计应用程序安全框架,建立安全评估指标,给出防逆向保护方法和安全功能设计思路。根据给出的安全指标对某金融App进行安全评估,评估结果中不安全指标采用给出的安全思路进行整改,回归测试。从设计,开发到测试形成一套完整有效的应用程序防护方案。