12

想象一个场景,安装在您移动设备上的游戏 X 想要从社交网络 Y 访问您的帐户信息。假设 Y 公开了一些 API,并具有“使用 Y 登录”等功能。在桌面 PC 上 X 可能会弹出新的浏览器窗口,地址栏中清楚地显示了 Y 的域,带有一个挂锁图标清楚地指示 SSL 连接,在此弹出窗口中,社交网络 Y 会要求用户提供登录名、密码和协议以传递一些信息(如姓名、头像、电子邮件)到应用程序 X。例如 OAuth 2 使用这种方法。

在我看来,在移动设备上情况就大不相同了,因为应用程序 X 可以控制整个屏幕。特别是它可以在设备的屏幕上绘制与真实浏览器无法区分的内容,并劫持用户提供的登录名和密码。

如何对抗覆盖整个屏幕并伪装成浏览器甚至操作系统设置窗口等的恶意应用程序?

4

3 回答 3

3

即使在桌面上也没有针对此的技术防御。模仿浏览器的外观并在虚假地址栏中绘制绿色 SSL 锁是微不足道的。或者您可以简单地在您的应用程序中包含一个键盘记录器,以获取输入同一系统上任何应用程序的密码。

对于包括键盘记录器的移动应用程序来说更难。绘制令人信服的假浏览器窗口很容易。另一个防御措施是应用商店的审查过程。官方应用商店作为可信应用的唯一来源,在一定程度上缓解了此类问题。虽然恶意应用程序可以通过任何审核流程,但一旦被发现就可以将其删除。

于 2014-09-05T09:23:15.777 回答
2

怎么样:双击主页按钮,以便看到应用程序名称?
iOS 示例

于 2014-09-04T23:38:11.160 回答
0

您还可以运行任务管理器来查看应用程序的名称 fe com.android.chrome。我认为谷歌不会允许市场上有两个同名的应用程序。

于 2014-09-05T12:31:42.753 回答