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

2017-10-16 +8 135047人围观 ,发现 4 个不明物体 终端安全

你想知道用户的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一样的弹出框,所以许多用户会以为这是一个系统弹框。

参考链接:https://github.com/KrauseFx/steal.password

*本文作者:ang010ela,转载请注明来自 FreeBuf.COM

发表评论

已有 4 条评论

取消
Loading...
css.php