ActivityManagerService 使用系统权限保护其部分API,有时会调用handleIncomingUser()
以验证没有应用影响其他用户的应用行为。
但是,其中一些API不受保护,例如:startActivityAsCaller()
,notifyActivityDrawn()
以及其他使用IBinder token
来识别受影响的应用的API(但不会进行比较)在调用应用程序的uid和此令牌所属的活动之间进行的。其他应用/用户无法伪造此令牌吗?
有些API甚至没有这种“令牌”安全性!
这是setTaskResizeable()
,其中所有需要的是用户B知道分配给用户A的任务的任务编号,并且他/她可以针对不属于他们的任务调用该API。
为什么不检查调用uid?我错过了什么吗?
setTaskResizeable()
等可能影响其他用户任务的API如何受到保护?