论文标题
ILIBSCOPE:可靠的iOS移动应用程序的第三方图书馆检测
iLibScope: Reliable Third-Party Library Detection for iOS Mobile Apps
论文作者
论文摘要
iOS应用中第三方库引入的审查安全性影响需要可靠的库检测技术。尤其是当在第三方库中发现了新的漏洞(或隐私侵入性行为)时,实际上需要精确确定库的存在及其版本的iOS应用程序。但是,很少有人提出研究来解决这个问题,并且它们都遭受了不同库中的代码重复问题。在本文中,我们关注iOS应用中的第三方库检测。给定一个应用程序,我们旨在确定集成的库并查明其版本(或版本范围)。为了实现这一目标,我们首先对iOS第三方库进行了深入的研究,以使代码重复挑战神秘化。通过这样做,我们有两个关键的观察:1)即使两个库可以共享类,也不能同时集成到应用程序中,而不会引起类名称冲突; 2)两个库的多个版本之间的代码重复可能会有所不同。基于这些发现,我们提出了一种基于新颖的相似性比较方法来执行检测。具体来说,我们构建一个库数据库由具有不同版本的原始库二进制文件组成。为每个库版本和目标应用程序提取配置文件后,我们进行了相似性比较以找到最佳匹配项。我们在Ilibscope中实现了这种方法。我们构建了一个基准,该基准由5,807个应用程序组成,具有10,495个图书馆集成,并将我们的工具应用于它。我们的评估表明,ILIBSCOPE的召回率超过99%,精度超过了97%的图书馆检测。我们还应用ILIBSCOPE来检测现实世界中iOS移动应用程序中众所周知的脆弱的第三方库的存在,以显示我们工具的有希望的用法。它成功识别了4,249个应用程序中的405个弱势库用法。
Vetting security impacts introduced by third-party libraries in iOS apps requires a reliable library detection technique. Especially when a new vulnerability (or a privacy-invasive behavior) was discovered in a third-party library, there is a practical need to precisely identify the existence of libraries and their versions for iOS apps. However, few studies have been proposed to tackle this problem, and they all suffer from the code duplication problem in different libraries. In this paper, we focus on third-party library detection in iOS apps. Given an app, we aim to identify the integrated libraries and pinpoint their versions (or the version range).To this end, we first conduct an in-depth study on iOS third-party libraries to demystify the code duplication challenge. By doing so, we have two key observations: 1) even though two libraries can share classes, the shared classes cannot be integrated into an app simultaneously without causing a class name conflict; and 2) code duplication between multiple versions of two libraries can vary. Based on these findings, we propose a novel profile-based similarity comparison approach to perform the detection. Specifically, we build a library database consists of original library binaries with distinct versions. After extracting profiles for each library version and the target app, we conduct a similarity comparison to find the best matches. We implemented this approach in iLibScope. We built a benchmark consists of 5,807 apps with 10,495 library integrations and applied our tool to it. Our evaluation shows that iLibScope achieves a recall exceeds 99% and a precision exceeds 97% for library detection. We also applied iLibScope to detect the presence of well-known vulnerable third-party libraries in real-world iOS mobile apps to show the promising usage of our tool. It successfully identified 405 vulnerable library usage from 4,249 apps.