风险点: Binder 的服务 任何 应用都可以bindService,或者提供类似的Binder服务(第三方应用可以做成和Binder 服务相同包名)
安全建议:
① 、需要确保 AIDL应用优先安装/预制(不要OTA后下载);
②、Binder 里 可以获取 Binder.getCallingPid(),然后通过pid获取应用包名、签名来 对调用方的来源进项验证 (高版本普通应用 未必能通过pid获取包名,系统应用除外);
③、Binder接口里增加鉴权参数(需要自行设计)
风险点:unix socket的安全性由 bind的文件 来保证。
安全建议:
①、需要确保该文件 只有 socket 服务、可信的socket client 可以读写(权限700); 如果第三方应用具有该文件的 读写权限,那么第三方的socket也可以connect ;
②、确保selinux 已开启。在开启selinux的情况, 系统安全性有加强,即使chmod 777,在不同应用(包名)间访问的unix socket 也会被拦截;