动态分析iOS应用程序而无需越狱

静态分析与动态分析

让我们从不同类型的分析和一些比较开始这个冒险。

静态分析可以帮助检测大量问题,例如硬编码的敏感数据,各种漏洞,错误和后门。 通过分析iOS应用程序,我们可以注意到有用的工具,例如IDA Pro,Hopper Disassembler,MobSF或Radare2。 这种方法的优点是能够自动扫描文件和代码,包括几乎不覆盖100%的未使用代码。

动态分析可帮助您在应用程序运行时对其进行浏览。 例如,在运行时检查程序的状态(内存内容,寄存器,变量值),了解工作的逻辑,等等。

使用这两种方法,您可以在分析应用程序时执行最定性的工作 ,覆盖整个攻击面,并找到最大数量的错误和漏洞。

动态分析

没有设备或仿真器,就不可能对移动应用程序进行动态分析。 几乎总是首选实际设备(除非非常需要对该任务进行并行化)。 但是设备的存在增加了研究价格。 此外,您必须能够在设备上安装自己的应用程序和工具以执行应用程序分析。

Android情况

在浏览Android应用程序时,通常可以在IDE中使用设备和模拟器的旧版和廉价版。 Android有一种简单的方法来提升用户的权限,即“获得root访问权”,以便在其上安装自己的工具和应用程序。 在先前来自中国的智能手机型号中,设置中的切换器可让您一次点击即可获得超级用户特权。 在每天使用的个人设备上,root用户会大大削弱系统的安全性并导致恶意软件感染。 在研究中,这是一件有用的事情,可让您加快并改善研究进度。

iOS问题

在审核iOS应用程序期间,还有一些其他要点:

  • 设备的成本很高,但是需要单独的设备。 您不能使用个人设备。
  • 设备型号:较旧的智能手机和平板电脑缺少新功能(例如,强制触摸/面部识别/ ..),因此不适用
  • 设备类型:电话,平板电脑,手表-所有这些都在分析中起着重要作用(我们遇到了以下情况:同一应用程序中的漏洞仅在特定类型设备的版本中存在)
  • 最新版本的iOS:API不断发展,为了进行定性分析,应在最新版本的iOS上进行分析
  • 在设备上越狱:安装应用程序和工具进行检查,访问文件系统

越狱

早些时候,当第一部iPhone面世时,它在发布后几天就遭到了黑客攻击。 较低的安全级别一直保持到操作系统的第四版:研究人员创建了扩展(进行了调整),进行了iOS的组装并添加了应用程序。 随着时间的流逝,苹果通过在更新中添加了为越狱设备创建的一些最流行的功能,改变了其对安全性的态度并显着增强了系统保护。 例如,控制中心经过了调整,后来成为iOS的内置组件。 系统的每个新发行版都增加了查找和利用漏洞,更改API和可访问性功能的时间(将某些移动到私有区域,某些移动到公共区域)。 这些变化和许多其他变化使安全研究人员和调整开发人员(系统附加组件)和应用程序的工作变得困难,迫使他们更新其工具以使用新的API和功能。 对设备的增强保护还受到密切关注“坏蛋”,情报机构以及所有想要访问设备上数据的人员的影响。 因此,今天,iOS远程越狱的价格达到了150万美元。