Logo

2507.07927 论文笔记

July 22, 2025

摘要:

  • 发现:大量应用不使用安卓提供的可信环境(TEE),只有极少数正确使用了最安全的配置(SE安全元件,or StrongBox)
  • 原因:使用TEE对大部分加密进行硬件存储是可行的,但是使用安全元件会有严重性能损失。

前置知识(Android可信环境分类):

  • software based,最不安全,直接dump内存就能提取密钥
  • TEE,稍微安全一些,使用keystore api访问。仍然存在安全隐患。
  • SE,安全元件,独立的CPU内存存储,放篡改特性。抵御更强的攻击,更安全,但是性能损失大,不是默认配置。

研究方法:

  1. 数据集:AndroiZoo选择了在Google Play上架,下载数量超过1w次的约50万个软件
  2. 数据安全标签:爬取了这些应用在Play商店上由开发者自行报告的“数据安全”信息,以识别哪些应用承认自己收集了敏感用户数据。
  3. 开发了一个叫做Keydroid的工具,通过关键字筛选出使用了Keystore的应用,后使用soot框架生成调用图,深入分析api使用方法:自己写的/第三方库

软件统计发现:

  1. 使用TEE,SE的软件很少
  2. 大多使用第三方库,可能供应链投毒等(也许开发者不知道使用了这些功能)
  3. 密钥认证(指纹,PIN)较少
  4. 为了兼容第三方库,禁用IND-CPA策略

密钥存储性能:

  • TEE对于中小型数据(1MB)的性能开销忽略不计
  • Strongbox:1MB 37s,(Pixel 8),
  • 硬件生成rsa开销大,Strongbox需要9s

Survey(这也是安全科研吗?):

  • 处理敏感数据但未使用硬件密钥库的开发者:兼容旧版本设备,性能担忧,项目开发时间早
  • 主动禁用Strongbox:没人回复(

局限性:

  • 只进行了静态分析,没有动态分析。(当然动态分析50w个成本就很大了)

comment

留言 / 评论

如果暂时没有看到评论,请点击下方按钮重新加载。