H-Binder:加固安卓系统Binder框架的安全方案
1. 引言
安卓系统采用面向对象的设计理念,内置众多系统应用(被安卓称为管理器),用于管理系统资源,如显示和网络输入输出。用户应用(如游戏和移动银行应用)通常不直接访问系统资源,而是借助进程间通信(IPC)远程调用其他对象的方法。Linux 内核中的 Binder 机制是安卓系统 IPC 事务的主要途径。
然而,Binder 框架的重要性使其成为攻击者的目标。安卓平台上的 rootkit 可任意访问 Binder 事务数据,对系统安全造成严重影响。现有安全方案大多侧重于应用层保护,无法应对 rootkit 攻击。因此,本文提出 H - Binder 安全系统,用于保护 ARM 平台上 Binder 事务数据的保密性和完整性。
2. 背景
2.1 Binder 框架
安卓平台以面向对象的方式设计,系统管理器应用管理各种资源并为用户应用提供功能。Binder IPC 是用户应用与系统服务交互以及应用之间协作的主要通道。例如,用户应用需与安卓的 LocationManager 交互以获取手机位置数据。
Binder 事务遵循传统的客户端 - 服务器模型,典型场景涉及三方:资源管理器应用的线程作为服务器、用户应用的线程作为客户端以及内核中的 Binder 驱动。为方便应用进行 Binder 事务,安卓的 ServiceManager 作为注册服务,供用户应用查找已注册的服务提供者。Binder 事务的主要步骤如下:
1. 客户端线程发出阻塞的 ioctl 系统调用,向 Binder 驱动发出命令以请求服务。
2. Binder 驱动保存客户端线
超级会员免费看
订阅专栏 解锁全文
994

被折叠的 条评论
为什么被折叠?



