Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Decomposable Trust for Android Applications

论文下载

Introduction

  • 作者针对APP的提权攻击问题,提出了一个基于虚拟化技术的app隔离框架,保证即使恶意APP提权之后也不能窃取到正常app的敏感数据。
  • 本文的贡献:
    • 将操作系统的服务按照可信等级隔离开,对于不可信的服务进行严格的权限控制。
    • 设计了一个可用的模型Anception,修改内核代码,实现权限控制。

Anception Design

  • 威胁场景:带有敏感数据的app,例如银行手机客户端,需要发送用户名密码。恶意APP可以进行提权攻击,可以获得root权限,或者通过控制一些服务来窃取信息
  • low assurance app:可能有恶意行为,通过漏洞提权,窃取用户隐私。
  • high assurance app:包含用户隐私数据的应用,要求网络流量使用TLS/SSL,内存以外的地方不存在机密信息的明文。

不预先区分app的可信程度,两个app运行步骤相同。

认为host kernel是可信的 UI/Input也是可信的,虚拟机不会逃逸。

Fig

app从host开始运行,他的代码是存在CVM之外的,并且为只读。host的内存是被严格保护的,被重定向到cvm内的代理app,CVM内的kernel不被信任,权限被控制。app的非UI/Input操作就会被重定向到cvm中执行。

Fig

Fig

  1. app的代码在cvm之外严格保护,不能被cvm中的操作修改。
  2. 假设ui/input是可信的,恶意app不能截获。
  3. app可能在内存中保持机密信息的明文,但是host的user-level内存页面是被保护的,cvm中的进程也不能访问。

Implementation

所有app共用一cvm,host kernel区分系统调用的受信程度,判断是否重定向到CVM。

Fig

Evaluation

测试了25个提权攻击的应用,23个可以防御,剩下两个通过添加策略也可以被防御。

内存开销大概为64M

Fig

Fig