Skip to main content
QUICK REVIEW

[论文解读] Too Quiet in the Library: A Study of Native Third-Party Libraries in Android

Sumaya Almanee, Mathias Payer|arXiv (Cornell University)|Nov 21, 2019
Advanced Malware Detection Techniques参考文献 15被引用 2
一句话总结

本文提出 LibRARIAN,一种基于二进制相似性的方法(bin2sim),可识别 Android 应用中的原生库及其版本,准确率达 92.53%,且无误报。该方法揭示了顶级 Android 应用中广泛存在过时且存在漏洞的原生库,凸显了因缺乏更新而带来的严重安全风险,尽管补丁已可获取。

ABSTRACT

Android applications (apps) make avid use of third-party native libraries to increase performance and to reuse already implemented functionality. Native code can be directly executed from apps through the Java Native Interface or the Android Native Development Kit. Android developers drop precompiled native libraries into their projects, enabling their use. Unfortunately, developers are often not aware that these libraries (or their dependencies) must be updated. This results in the continuous use of outdated native libraries with unpatched security vulnerabilities years after patches are available. To assess the severity of the use of outdated and vulnerable libraries in the Android ecosystem, we study the prevalence of native libraries in the top applications of the Google Play market over time, correlating the time when native libraries are updated with the availability of security patches. A core difficulty we have to solve for this research is the identification of libraries and versions. Developers often rename or modify libraries but we require precise information about each binary. Our binary similarity metric bin2sim uses diverse features extracted from the libraries to identify and map the required information. Leveraging this bin2sim, we create an approach called LibRARIAN (LibRAry veRsion IdentificAtioN) that can accurately identify native libraries and their versions as found in Android apps with a a 92.53% true-positive rate, no false positives, and a 7.46% false-negative rate.

研究动机与目标

  • 调查 Google Play 上顶级 Android 应用中过时且存在漏洞的原生库的普遍程度。
  • 解决在开发者重命名或修改库时,识别原生库及其版本的挑战。
  • 开发一种精确的方法,用于在编译后的 Android 二进制文件中识别库版本。
  • 将库的更新时间与公开的安全补丁发布日期进行关联,以评估风险。

提出的方法

  • 提出 bin2sim,一种基于从原生库中提取的多样化特征的二进制相似性度量,用于识别并映射库版本。
  • 设计 LibRARIAN 系统,利用 bin2sim 在 Android 应用中高精度检测原生库及其版本。
  • 从原生二进制文件中提取静态和结构化特征,包括符号表、节头信息以及指令级模式。
  • 采用多阶段匹配流水线,将库二进制文件与经筛选的已知库版本数据库进行对比。
  • 使用真实世界 Android 应用数据集和已知库版本对方法进行验证。
  • 将应用中库的更新时间与公开安全补丁发布日期进行关联,以评估漏洞暴露程度。

实验结果

研究问题

  • RQ1在 Google Play 上市的顶级 Android 应用中,过时的原生库有多普遍?
  • RQ2在安全补丁发布后,开发者在多大程度上未能更新原生库?
  • RQ3当重命名或修改普遍存在时,能否在编译后的 Android 二进制文件中准确识别原生库版本?
  • RQ4从公开安全补丁发布到真实 Android 应用中库更新之间存在多长的时间延迟?
  • RQ5bin2sim 度量在识别经过修改或混淆的二进制文件中的库版本方面有多有效?

主要发现

  • LibRARIAN 在识别 Android 应用中原生库版本时,实现了 92.53% 的真正例率和 0% 的误报率。
  • 该系统报告了 7.46% 的假负例率,表明部分库被遗漏,但未发生错误匹配。
  • 大量顶级 Android 应用在补丁发布数年后仍使用存在未修补安全漏洞的原生库。
  • 许多应用即使在安全修复公开后也未更新原生库,表明维护实践较差。
  • bin2sim 度量在识别经过修改或重命名的二进制文件中的库版本方面表现良好,证明其对常见混淆技术具有鲁棒性。
  • 本研究揭示了由于长期使用过时且存在漏洞的原生库,Android 生态系统存在系统性风险。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。