关键信息 漏洞描述 漏洞名称: Android Manifest Misconfiguration Leading to Task Hijacking in RICEPO by BuzzFeed(com.buzzfeed.android) 影响范围: 所有Android版本在Android 11之前。 攻击方式: 任务劫持允许恶意应用程序继承易受攻击应用程序的权限,并通常用于网络钓鱼登录凭据。 复现步骤 1. 用户下载恶意应用程序。 2. 用户使用恶意应用程序。 3. 用户使用受害应用程序,此时看到的活动不是应用程序的原始活动,而是恶意应用程序的网络钓鱼活动。 4. 用户认为他正在使用受害应用程序(实际上是恶意应用程序)输入个人信息,导致帐户信息泄露或诱导用户授予恶意应用程序相应的权限。 原理 由于大多数应用程序的taskAffinity属性未设置且默认为包名none,可以将与应用程序包名一致的taskAffinity值设置为恶意软件的taskAffinity属性。当黑客活动启动时,它将创建一个与受害者应用程序的taskAffinity属性相同的任务堆栈,并位于任务堆栈的根部。当我们启动受害应用程序时,受害者的任务将被带到前台,然后黑客活动将在根部被带到前台。然后,当我们打开受害应用程序时,我们实际上不会看到应用程序的主活动,而是我们的黑客活动。我们可以设计一个网络钓鱼页面作为黑客活动的主界面,进行网络钓鱼攻击,获取用户的隐私并诱导用户授予恶意软件相应的权限。 缓解措施 为了防止这种攻击,需要在AndroidManifest.xml文件的标签中将应用程序活动的taskAffinity属性设置为“:”以强制活动使用随机生成的任务亲和性,或者将其设置为标签以对应用程序中的所有活动强制执行。 攻击者应用代码 提供了攻击者应用的AndroidManifest和MainActivity代码示例。 影响 由于Android清单文件中的错误配置,可以执行任务劫持攻击。攻击者可以创建一个恶意移动应用程序,该应用程序可以劫持合法应用程序并窃取受害者设备上安装的任何潜在敏感信息。 参考资料 提供了一个参考资料链接,详细说明了Android StranDroid安全问题及其缓解方法。