影响苹果用户体验的重要一项估计就是IOS应用的隐私泄露问题,为什么IOS应用的隐私会出现泄密的问题?接下来跟随苹果企业签名小编来了解一下吧:
IOS系统构建的复杂、缜密的安全防范机制在防范恶意攻击的同时,也给应用程序安全监测的逆向工程带来了巨大阻碍。由于绝大部分应用程序都运行在普通的苹果设别上,运行权限均是用户权限,而不是系统(root)权限,如上所述,普通用户权限的应用程序,其可执行代码需要签名认证才能被处理器执行,由此,解密应用程序的可执行文件是应用逆向工程的首要任务。对于IOS系统而言,只能通过设备越狱,利用系统漏洞来解锁设备,进而获得系统(root)访问权限。其次,成功越狱提升权限后就可以修改系统加载策略,使所有签名的程序运行得到许可,这样在运行正常的通过苹果认证的应用程序的同时,就可以装载测试工具软件进行逆向分析,如调试器、反汇编工具等。最后,利用安装的调试器启动程序,在应用程序入口设置一个断点,一旦程序运行就会自动触发这个断点,转而加载系统验证签名,解密应用程序的可执行代码,然后分析、研究二进制地址空间所占的内存区域,获得解密后的应用程序代码。应用程序的逆向分析除过解密应用技术外,还需要直接分析汇编代码等工作动态分析是指使用一组技术从不同方面来监控程序运行时的行为。通过真實设备或模拟机器实际运行应用程序执行过程,达到对未知恶意软件的检测目的。由于动态分析能够实时的跟踪程序的运行行为,因而检测效果较静态分析好一些,并且具有较强的直观性。常用的动态分析技术有:动态二进制重写、调试机制、信息流分析法等。动态二进制重写技术可以用来监控由应用程序或有动态链接库实现的函数调用关系。调试机制也可以被用来收集彼此之间的调用关系等信息,而且,具有调用机制分析功能的操作系统还可以提供有效的Hook机制,用于监控系统调用。
这些技术都可用于动态监测IOS应用的运行行为,实现应用动态监测分析。另外一种相对独立的监控函数调用称为信息流分析法。与前面几种方法不同的是,这种分析法不特别关注程序运行过程中函数调用的情况,而是专注于输入程序的数据的行为。例如程序可以为从网络接收数据包或者从移动设备上获取相关的信息,通过追踪这些数据在系统内部的路径,信息流分析工具会在敏感数据通过网络传输等危险行为发生之前,提前预警,以达到动态监控的目的。此外,还有Enck等人提出的TaintDroid系统,用污点分析技术跟踪数据流,从而判定应用是否存在数据泄露。