保护Android Intent中的额外数据

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

解决方法@H_404_8@
Android 4.1.1开始,添加了一项额外的权限,以防止第三方应用使用RecentTaskInfo读取额外内容.此权限(android.Manifest.permission.GET_DETAILED_TASKS)只能由系统获取.如果没有此权限,则在通过RecentTaskInfo返回baseIntent之前,将替换extra. @H_502_10@来自commit http://androidxref.com/4.2.2_r1/history/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java#8238e717df4bc5eebf15f97172d68af3599a95bb评论

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

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

@H_502_10@Change-Id: I95af9e181ac42557bc8b981807e7ddd266a88d0e

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

猜你在找的Android相关文章