保护Android Intent中的额外数据

前端之家收集整理的这篇文章主要介绍了保护Android Intent中的额外数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Intent在新任务中启动一个新的Activity.此Intent在其附加内容中携带该Activity所需的一些私有数据.其他应用程序不应读取此数据. @H_502_2@我们已经调查过这些数据是否确实没有泄露.我们发现通过使用getRecentTasks()中的RecentTaskInfo,任何具有GET_TASK权限的任意应用程序都可以读取这些额外数据. @H_502_2@这不是很安全. @H_502_2@一旦发现这种泄漏,我们就停止了搜索.这些数据泄露的方式有多少? @H_502_2@而且,我如何确保其他应用程序无法读取额外数据?

解决方法

Android 4.1.1开始,添加了一项额外的权限,以防止第三方应用使用RecentTaskInfo读取额外内容.此权限(android.Manifest.permission.GET_DETAILED_TASKS)只能由系统获取.如果没有此权限,则在通过RecentTaskInfo返回baseIntent之前,将替换extra.

来自commit http://androidxref.com/4.2.2_r1/history/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java#8238e717df4bc5eebf15f97172d68af3599a95bb评论

Add new signature-level permission to get details of tasks.

Third party apps now can’t get access to the extras of the intents@H_502_2@ associated with tasks,to keep private data in them from leaking out.

Change-Id: I95af9e181ac42557bc8b981807e7ddd266a88d0e

因此,似乎正在努力使意图更安全地传输敏感信息.我不知道是否还有其他方式可以泄漏这些额外的东西,但至少从JB上来看,额外的东西似乎没问题.

猜你在找的Android相关文章