论文标题
lios:取消iOS应用程序以获取娱乐和利润
liOS: Lifting iOS apps for fun and profit
论文作者
论文摘要
尽管iOS是第二受欢迎的移动操作系统,并且通常被认为是更安全的操作系统,但自动分析iOS应用程序的方法稀缺,而通用应用分析框架不存在。一方面,这是由于封闭的生态系统将反向工程师的障碍置于逆向工程的方式,另一方面由于反向工程和分析应用二进制文件的复杂性。可靠地提起准确的呼叫图,控制流和数据依赖图,以及重建面向对象的高级概念是一项非平凡的任务,而升起的目标表示形式的选择决定了分析功能。各种现有的中间表示都不适合所有类型的分析,而漏洞的检测需要从简单的模式匹配到复杂的过程间数据流分析的技术。我们通过引入LIOS来解决这一差距,Lios是iOS应用程序的二进制提升和分析框架,该框架从几个前端提取了升起信息,并以“超刻板”表示统一,可容忍丢失的零件,并通过lios“通过”进一步扩展和相互关联。然后以图形遍历查询的形式实现对二进制的静态分析,可以将其视为经典程序查询语言的进步。我们通过典型的JavaScript/Objective-C桥说明了这种方法,这可以导致iOS应用程序中的远程代码执行。
Although iOS is the second most popular mobile operating system and is often considered the more secure one, approaches to automatically analyze iOS applications are scarce and generic app analysis frameworks do not exist. This is on the one hand due to the closed ecosystem putting obstacles in the way of reverse engineers and on the other hand due to the complexity of reverse engineering and analyzing app binaries. Reliably lifting accurate call graphs, control flows, and data dependence graphs from binary code, as well as reconstructing object-oriented high-level concepts is a non-trivial task and the choice of the lifted target representation determines the analysis capabilities. None of the various existing intermediate representations is a perfect fit for all types of analysis, while the detection of vulnerabilities requires techniques ranging from simple pattern matching to complex inter-procedural data flow analyses. We address this gap by introducing liOS, a binary lifting and analysis framework for iOS applications that extracts lifted information from several frontends and unifies them in a "supergraph" representation that tolerates missing parts and is further extended and interlinked by liOS "passes". A static analysis of the binary is then realized in the form of graph traversal queries, which can be considered as an advancement of classic program query languages. We illustrate this approach by means of a typical JavaScript/Objective-C bridge, which can lead to remote code execution in iOS applications.