想象一个场景,安装在您移动设备上的游戏 X 想要从社交网络 Y 访问您的帐户信息。假设 Y 公开了一些 API,并具有“使用 Y 登录”等功能。在桌面 PC 上 X 可能会弹出新的浏览器窗口,地址栏中清楚地显示了 Y 的域,带有一个挂锁图标清楚地指示 SSL 连接,在此弹出窗口中,社交网络 Y 会要求用户提供登录名、密码和协议以传递一些信息(如姓名、头像、电子邮件)到应用程序 X。例如 OAuth 2 使用这种方法。
在我看来,在移动设备上情况就大不相同了,因为应用程序 X 可以控制整个屏幕。特别是它可以在设备的屏幕上绘制与真实浏览器无法区分的内容,并劫持用户提供的登录名和密码。
如何对抗覆盖整个屏幕并伪装成浏览器甚至操作系统设置窗口等的恶意应用程序?