具有 GooglePlay 权限的 BroadcastReceiver 的安全威胁

Security threat by a BroadcastReceiver with GooglePlay's permissions

以下情况是否会造成安全威胁?

想象一下情况。

  1. 您的设备没有安装 GooglePlay 服务。
  2. 您使用 android:permission="com.google.android.c2dm.permission.SEND" 权限创建广播接收器(此权限由 GooglePlay 服务持有)并在设备上安装此应用程序。
  3. 该应用不会检查设备上是否提供 GooglePlay 服务。

恶意软件是否可能利用此开发人员错误?

这不太可能导致问题。这个问题很小,因为:

  1. 此权限由Google为GCM(已被FCM取代)定义。用于确保只有持有此权限的发件人才能发送Intent 到注册的接收者。不过,在宏伟的计划中,这只是一小部分安全措施。

  2. 即使不同的应用程序/服务定义了相同的权限以在不存在 GMS 的设备上伪造它,Intent 的正常有效负载也可能具有某种类型里面有额外的数据,所以 Google 的接收者(在你的清单中指定的)可以在对它做任何事情之前验证它的内容。

  3. 从 Android 4.4.3 开始,检查已添加到系统中,以便系统捆绑 apps/services(例如 GMS)权限定义优先于第 3 方应用程序。这可以防止 3rd 方应用程序重新定义权限以尝试后门系统应用程序权限。与您描述的情况不完全相同,但仍然很重要。