取消
普通评论
普通评论

iOS隐私安全之通过popup向用户索取Apple ID和密码

FreebuF.COM2017-10-20 09:17
iOS 隐私安全 信息安全 收藏

  你想知道用户的Apple ID和password吗?想访问用户的Apple帐号吗?或者在其他的web服务上使用Apple ID对应邮箱和密码?你只需要礼貌地问他们,他们可能就会告诉你哦。

iOS隐私安全之通过popup向用户索取Apple ID和密码


iOS隐私安全之通过popup向用户索取Apple ID和密码

  攻击原理

  iOS会在很多情况下要求用户输入iTunes密码,最常见的情况有安装iOS系统更新和app在安装时卡住了。

  因此,用户已经习惯了当系统提示输入Apple ID和密码时,输入ID和密码。但是,这些提示不仅出现在锁屏、主页,也可能会出现在一个随机的app中,比如app想要访问iCloud,游戏中心或者应用内购买的情况。

  因此,这种提示可以被任意的一个app滥用,通过UIAlertController就可以很简单的实现,效果看起来和系统对话框一模一样。即使了解一点钓鱼攻击的用户也很难在很短时间内发现这些警告(提示)是钓鱼攻击。

  如何保护

  如果出现这种情况,可以按home键,看app有没有退出:

  如果app和输入apple ID密码的对话框都关闭了,证明这是钓鱼攻击;

  如果app和对话框都可见,说明这是系统对话框;因为系统对话是不同的进程,不是iOS app的一部分。

  不要在弹出窗口中输入ID和密码,手动打开系统设定进行输入。这就跟不点击邮件中的链接,改为在浏览器中手动输入是一个道理。

  如果点击了cancel(取消)按钮,app仍然会记录你在password域输入的内容,所以关闭弹出对话框时,先清空弹出框中输入的内容。

iOS隐私安全之通过popup向用户索取Apple ID和密码

  我们之前想的是,伪造的警告信息需要app的开发者知道ID的邮箱地址,事实上这种弹出框的邮箱地址和密码都需要用户输入。所以,这种钓鱼app向用户问密码就变得更加简单了。

  建议

  因此,这种提示可以被任意的一个app滥用,通过UIAlertController就可以很简单的实现,效果看起来和系统对话框一模一样。即使了解一点钓鱼攻击的用户也很难在很短时间内发现这些警告(提示)是钓鱼攻击。

  现在的web浏览器在防钓鱼攻击方面做得很好,但是手机app里的钓鱼攻击是一个相对比较新的概念。

  当系统要求用户输入Apple ID和密码时,让用户在打开系统设置后输入;

  修复该问题的根本在于,系统不应该经常要求用户输入ID和密码;

  应用中的对话框应该在顶端显示app的标志,来跟系统对话框区分开;

  有时候iOS会在锁屏时弹出这样的通知(如下图),点击后会打开iCloud设置,这种方式比向用户直接问密码更好。

iOS隐私安全之通过popup向用户索取Apple ID和密码

  复杂性

  因此,这种提示可以被任意的一个app滥用,通过UIAlertController就可以很简单的实现,效果看起来和系统对话框一模一样。即使了解一点钓鱼攻击的用户也很难在很短时间内发现这些警告(提示)是钓鱼攻击。

  制作这样的弹出框非常容易,Apple docs中就有例子,实际的钓鱼弹出框代码不超过30行。

  Q&A

  双因子认证安全吗?

  答案是否定的,虽然有些人使用了双因子认证,但是仍然有很多用户在大多数web服务中使用相同的用户名和密码。即使你的账户是双因子认证的,那么app也可以问你第二部的code呀!

  Apple store会接受这样的app吗?

  答案是肯定的。虽然App Store有很多的安全机制,但是有很多的办法可以绕过,比如:

  使用远程代码,JS桥等;

  用 iTunes search API 来比较现在的版本号和App Store中的版本号,这样的话app可以在得到同意后,自动执行恶意代码;

  用远程配置工具来配置一个只有Apple通过后才执行的特征;

  使用基于时间的触发器,只有当app通过审核或拒绝后才执行;

  手机钓鱼攻击

  手机钓鱼攻击会变得越来越常见。因为iOS没有明确区分系统UI和应用的UI元素才引起这种钓鱼攻击。很多网站也会有macOS和iOS一样的弹出框,所以许多用户会以为这是一个系统弹框。

责任编辑:韩希宇

点击加载

点击加载

发送
普通评论
发送
普通评论
普通评论

为你推荐

暂无相关推荐