Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protection of Android External Resources

论文下载

这篇文章是2015发表在NDSS会议上,作者是美国印第安纳大学(Indiana University)的XiaoFeng Wang等。

文章首先提出并分析了目前Android系统中存在的一种安全问题,即对外部资源的保护力度不足。所谓的外部资源,包括蓝牙,NFC,网络,短信,音频等等资源。Android系统对此类外部资源的保护只有权限机制,而权限机制是远远不够的。目前Google Play的APP排行榜中,排名靠前的APP中有较大一部分都申请了这些外部资源对应的的敏感权限,而且这些APP的下载量也是十分庞大。而一旦一个APP申请了这些权限,就都可以自由的对这些外部资源进行任意行为操作,这就存在较大的安全隐患。例如,一个APP需要向手机发送短信来实现验证码登录,而这个包含验证码的短信可能会被手机中任意申请了读取短信权限的APP读取,这就可能导致敏感信息的泄漏。文章首先对Google Play中的APP进行了统计调查,如图1所示:

Fig

接下来,文章针对短信,音频,NFC等外部资源,各举了一个例子,分析了现实生活中可能会通过这些外部资源来泄漏信息的APP。

为了解决上述问题,文章设计并实现了一个安全系统——SEACAT(Security-Enhanced Android Channel Control)。该系统是在原有的SEAndroid基础之上进行改进,增加了新的类型,规则与策略,为Android系统中对安全需求较高的APP提供了链接外部资源的安全通道。策略包含强制访问控制(MAC)和自主访问控制(DAC)两个类型。MAC策略预先配置好并保存在内核中,之后不能修改。而DAC策略可以在系统运行过程中动态配置。文章通过对系统源码,系统APP源码的修改,增添了一些安全HOOK,实现了这样一个能够保护系统外部资源安全地系统。系统结构体如图2所示:

Fig

在文章的最后,作者实现了SEACAT系统并对其安全性及性能进行了测试。首先在该系统中,测试了所有已知的外部资源相关的攻击,发现SEACAT系统都能够成功的抵御这些攻击。接下来作者对系统性能做了测试,虽然存在一些效率和性能的损耗,但并不会影响用户体验,结果如图3所示:

Fig