中文

你不可重新打包!揭开 Android 反重打包技术的面纱

密码学与安全 2021-01-11 v3

摘要

应用重打包是指对现有移动应用进行定制并在市面上重新分发的行为。攻击者借此试图迫使部分移动用户安装重打包(可能为恶意)应用以取代原版应用。该现象在 Android 上尤为严重:应用发布于公开商店,且应用正常运行的唯一要求是经过数字签名。反重打包技术试图在编译期为应用添加逻辑控制以对抗此类攻击。这些控制在发生重打包时激活,并使重打包应用在运行时失效。另一方面,攻击者必须检测并绕过这些控制才能安全重打包。Android 生态中大量可用重打包应用的存在表明攻击方目前占据上风。对此,本文旨在揭示当前反重打包方法的主要问题。本文的贡献有三方面:1)分析当前最先进反重打包方案(即 Self-Protection through Dex Encryption、AppIS、SSN、SDC、BombDroid 和 NRP)的弱点;2)总结构成这些方案的反重打包技术的主要攻击向量;3)展示这些攻击向量如何规避当前已有提案。本文还将展示对 NRP(迄今唯一公开可用的反重打包工具)的一次完整攻击。

关键词

引用

@article{arxiv.2009.04718,
  title  = {You Shall not Repackage! Demystifying Anti-Repackaging on Android},
  author = {Alessio Merlo and Antonio Ruggia and Luigi Sciolla and Luca Verderame},
  journal= {arXiv preprint arXiv:2009.04718},
  year   = {2021}
}