记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

ASM: A Programmable Interface for Extending Android Security

2016-08-05 22:00

论文下载

Abstract

这篇文件主要的贡献在于设计了一种具有可扩展性、可编程的Android安全框架。通过对近年来Android安全增强工作关注点的总结,作者使用hook技术对一系列系统中有关安全的重要组件进行了hook,通过增加一个虚拟的ASM bridge层来允许开发者使用这些hook进行安全增强app的开发。

Introduction

文章主要的切入点是在于增强Android平台的安全扩展性。主要贡献有3点:

  • 总结了Android平台上和安全有关的需要hook的API。
  • 设计并实现了一个可扩展的ASM(Android Security Modules)框架。
  • 为了展示ASM的能力,实现了两种ASM app。

Background

介绍了一下Android的安全机制。

Design Goals

ASM的设计目标为:

  • 可自由扩展的授权模式
  • 不破坏已有的安全机制
  • 保证内核的完整性
  • 多重授权模式
  • 尽可能小的系统开销

ASM的威胁模型是认为底层的内核、系统以及服务是可信的。

Authorization Hook Semantics

这一节回顾了现有的Android安全增强机制,总结了他们对系统不同资源所做的hook,如下图所示:

Fig

作者根据这些以往的工作,尽可能的完善ASM对系统的hook,但是没有引进TaintDroid和AppFence,因为这两者无法在ASM的框架中实现。

ASM Design

ASM总体结构如下:

Fig

总的来说,ASM就是事先在所有可能需要hook的地方做好插装,之后允许开发者开发app来调用这些接口,在对应的hook点注册一些回调函数。当被插装过的地方被触发的时候,所有注册了接受该hook点的app的回调函数就会触发。 这部分是讲的各种实现的细节,有兴趣可以看paper。

Evaluation

  • 作者首先选了2个已有的Android安全增强工具,MockDroid和AppLock。
  • MockDroid是一个安全增强框架,用来保护Android系统中的敏感components。MockDroid修改了Android原有的权限系统,对所有涉及到敏感信息的权限都复刻了一个mock版,当有mock版权限的app访问对应的隐私数据时,会返回虚假信息。
  • AppkLock是一个Google Play上的app,可以允许用户给其他app上锁,当用户调用被锁的app时,就会被要求输入密码。
  • 作者在ASM的框架内,实现了和这两个安全增强工具相同的功能,下图是ASM版MockDroid的hook情况:

Fig

之后给出了对系统效率的评估:

Fig

Related Work

ASM遵循了LSM和TrustedBSD的设计原则。

Conclusion

作者表达了希望AOSP接受ASM的强烈渴望。


知识来源: www.securitygossip.com/blog/2016/08/05/2016-08-05

阅读:140362 | 评论:0 | 标签:Android

想收藏或者和大家分享这篇好文章→复制链接地址

“ASM: A Programmable Interface for Extending Android Security”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

❤人人都能成为掌握黑客技术的英雄⛄️

ADS

标签云