Android插件保护不存在

时间:2019-01-24 06:57:55

标签: android plugins protection

应用程序安全报告显示了几个安全错误,其中一个是“不存在Android插件保护”。 他们的解决方案是:

PluginKiller

ServiceName检查

未声明的权限

SharedUID ProcessCheck

AppRuntimeDir检查

ReceiverFilter检查

EnabledComp Check

请解释每个示例,并给我示例代码

tnx

1 个答案:

答案 0 :(得分:0)

该漏洞是在2017年黑帽亚洲大会上引入的。此漏洞的幻灯片显示here和该漏洞的文章为here
我描述一种方法。
在文章中,我们有“ SharedUID ProcessCheck”:

  

与PID(过程ID)是暂时的且始终保持变化的PID不同,在安装时为每个应用程序分配了UID,只要不重新安装该应用程序,它就保持不变。该UID对于每个应用程序都应该是唯一的,除非该应用程序明确要求与另一个应用程序共享用户ID。由于从未将插件APK文件安装到系统,因此插件包没有唯一的UID。即使主机应用程序可以分叉一个新的进程来启动它,例如DroidPlugindid,插件进程也会与主机应用程序进程共享不同的PID,但UID相同。

首先获取程序的uid和pid,然后获取android的所有进程并检查其uid,该进程具有相同的uid,但pid不同,这是安全问题。 这是简单的伪代码,您应该检查错误并对其进行优化,

public function myMethod(Request $request)
{
     return $this->showQuestion();
}