中文

图书馆里太安静:Android 应用原生代码中安全更新的实证研究

密码学与安全 2021-03-04 v2 软件工程

摘要

Android 应用包含第三方原生库以提升性能并复用功能。原生代码通过 Java Native Interface 或 Android Native Development Kit 从应用中直接执行。Android 开发者将预编译的原生库添加到其项目中以供使用。遗憾的是,开发者常常难以或干脆忽视及时更新这些库。这导致在补丁发布数年后,仍持续使用带有未修补安全漏洞的过时原生库。为进一步理解此类现象,我们研究了 2013 年 9 月至 2020 年 5 月期间 Google Play 上最热门的 200 个免费应用中原生库的安全更新。本研究面临的一个核心困难是库及其版本的识别。开发者常重命名或修改库,使其识别颇具挑战。我们提出了一种称为 LibRARIAN(LibRAry veRsion IdentificAtioN)的方法,基于我们新颖的相似性度量 bin2sim,精确识别 Android 应用中发现的原生库及其版本。LibRARIAN 利用从库的元数据和只读区中识别字符串提取的不同特征。我们发现 2013 年 9 月至 2020 年 5 月间,53/200(26.5%)的热门应用存在已知 CVE 的漏洞版本,其中 14 个应用始终处于脆弱状态。我们发现应用开发者平均花费 528.71 天应用安全补丁,而库开发者在 54.59 天后发布安全补丁——更新速度慢了 10 倍。

关键词

引用

@article{arxiv.1911.09716,
  title  = {Too Quiet in the Library: An Empirical Study of Security Updates in Android Apps' Native Code},
  author = {Sumaya Almanee and Arda Unal and Mathias Payer and Joshua Garcia},
  journal= {arXiv preprint arXiv:1911.09716},
  year   = {2021}
}