中文

反序列化链在 Android 平台并非路径性问题:对 AOSP 中 Java 链的深入研究

密码学与安全 2025-02-13 v1

摘要

跨应用通信是操作系统(如 Android)的必备且安全关键的功能。在应用层级,Android 通过 Intent 实现该功能,Intent 亦可通过 Java 的可序列化 API 传输非原始对象。然而,可序列化 API 长期存在反序列化漏洞,具体为反序列化链。研究者致力于 Java 平台反序列化链的检测。然而,关于链在 Android 平台中是否存在的认知仍有限。本文旨在通过搜索 Android SDK、Android 官方开发库以及频繁使用的第三方库中的链,填补这一认知空白。为处理大规模数据集,我们设计了一种针对可靠性和效率优化的链检测工具。在针对完整 Ysoserial 数据集的基准测试中,该工具在显著时间更少的情况下达到了与最先进方法相似的可靠性。借助我们的工具,我们首先展示 Android SDK 几乎包含与 Java 类库相同的trampoline链。我们也发现可通过 Android 的 Parcel API 触发 Java 本地序列化。然而,将我们的工具应用于 Android SDK 和 1,200 个 Android 依赖项,结合全面的数据集sink,结果未发现安全关键的链。这与 Java 反序列化链被视为广泛问题的普遍看法相矛盾。相反,问题似乎更为细致,我们提供了进一步研究方向的视角。

关键词

引用

@article{arxiv.2502.08447,
  title  = {Deserialization Gadget Chains are not a Pathological Problem in Android:an In-Depth Study of Java Gadget Chains in AOSP},
  author = {Bruno Kreyssig and Timothée Riom and Sabine Houy and Alexandre Bartel and Patrick McDaniel},
  journal= {arXiv preprint arXiv:2502.08447},
  year   = {2025}
}