对敏感数据使用 startActivityForResult() 是否安全?



我正在考虑使用一些参数(敏感会话(启动活动(不同的应用程序(,并且想知道这里最安全的方法是什么。例如,startActivityForResult(( 可以在 Android 上使用,我想知道是否有任何其他应用程序可以看到此请求,或者它是否需要 root 权限才能拦截此类请求?所以基本上,使用它是否安全?默认情况下,我们假设用户没有根权限。

我想知道是否有任何其他应用程序可以看到此请求

响应startActivityForResult()呼叫的应用可以看到请求。这可能是:

  • 您希望将数据发送到的真实未修改的应用程序

  • 该应用的黑客版本

  • 一个完全独立的应用程序,恰好与您的Intent相匹配,特别是如果您使用的是隐式Intent

您可以尝试检查签名以确认其他应用程序是否确实是真正的未修改应用程序,从而避免后两种情况。

在旧版本的 Android 上,该Intent将作为支持概览屏幕(最近任务列表(的数据的一部分对其他应用可见。这在4.x系列IIRC的某个地方得到了澄清。

这是我所知道的针对无根设备的唯一两种攻击。

最新更新