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

论文下载:http://www.internetsociety.org/sites/default/files/02_2_2.pdf

Abstract

  • External resource:Bluetooth,NFC,Internet,SMS,Audio and so on。
  • 目前Android系统对于这类外部资源的保护仅仅只有权限机制。这种保护力度是不足的。
  • SEACAT(Security-Enhanced Android Channel Control)—A new security system。
  • 在SEAndroid基础上,增加了一些特殊的针对外部资源的保护策略。

Problems

http://sharps.org/wp-content/uploads/NAVEED-NDSS.pdf

Android对于这类外部资源的保护仅仅只有权限机制,而这类权限有很多应用都会申请。

Fig

之后,针对SMS,Audio,NFC都举了一个例子,可能会泄漏信息的APP。

SEACAT

SEAndroid:

  • user: role: domain or type[: level]
  • allow untrusted_app shell_data_file:file rw_file_perms
  • :允许domain:untrusted_app中的APP对type:shell_data_file的file进行读写操作。 目前的SEAndroid不能控制这些外部资源。

SEACAT:

  • BT_type:Bluetooth device’s MAC address
  • NFC_type:NFC serial number
  • SMS_type:SMS Sender ID
  • allow trusted_app bt_dev:btacc rw_perms:允许信任的APP对该蓝牙设备执行所有功能。

策略分为MAC,DAC:

  • MAC预先设定好,不能修改,如果DAC与MAC冲突以MAC为准。
  • DAC可以让用户或开发者来制定。

  • App label: 通过签名文件识别APP。 APP安装时,会让用户决定whether the app should be given a domain associated with certain channels(Bluetooth,NFC,SMS,Intenet,Audio); APP安装后也可以手动配置。

  • External resource label:
    1. 连接外部资源时动态设定
    2. APP自己声明:比如在manifest声明只有systemapp和自己可以接受某个号码发来的短信。
    3. 手动设置 整个过程需要修改系统源码及系统APP。
  • Policy check and enforce 通过修改系统及添加一系列HOOK

Evaluation

  1. 测试了已知的攻击,都能抵御
  2. 效率:

Fig