导语:3月27日,苹果发布了iOS10.3正式版本,在这个版本中,苹果对操作系统中的许多漏洞进行了修复,这其中就包括 Safari 中的一个漏洞。
3月27日,苹果发布了iOS10.3正式版本,在这个版本中,苹果对操作系统中的许多漏洞进行了修复,这其中就包括 Safari 中的一个漏洞。Safari 的这个漏洞是Lookout公司发现的,Lookout是一家致力于为智能手机提供安全服务的创业公司,他们推出的iOS版客户端《Lookout》大家应该不陌生。
根据Lookout的安全人员的研究,在旧版中,攻击者会利用Safari 中的JavaScript来无限循环显示弹窗,然后执行scareware攻击。Scareware,假杀毒软件,又叫假冒安全软件,意指伪装成杀毒软件的恶意软件,其工作原理是:Scareware会通过诱骗用户,提醒他们计算机感染了病毒,从而诱使用户下载恶意软件。这个攻击方式很具有欺骗性,它会通过貌似合法的Windows(弹出)窗口这种惯用伎俩(也是很容易让用户上当的手段),以极其有欺骗性的话告诉用户“你的系统存在漏洞和风险”等。
Lookout 的安全人员发现攻击者会在 Safari 中无限循环显示弹窗,直到用户点进攻击者制定的网站,然后,该网站会伪装成执法网站,并“善意”提醒用户存在违法行为,只有在交付罚款后,才能使用 Safari 的所有功能,攻击者通常会让用户以 iTunes 礼品卡的形式来支付,另外攻击者还会显示出一些威胁信息,恐吓用户付钱。
在 iOS 10.3 发布之前,用户可以通过清除浏览历史和缓存的方式来解决这个问题,如今 iOS 10.3 发布了,这个漏洞被封堵,用户只要安装更新即可。
Safari scareware漏洞被发现的过程
这个漏洞最初是由运行iOS 10.2版本的一位用户发现并报告给Lookout的,用户报告说,他被引导前往 pay-police[.]com 的木马网站,在进入网站之后 Safari 就完全不受控制了,一直跳出弹窗,用户提供了一个屏幕截图,如下图所示,显示了来自pay-police[.]com的勒索软件消息,其中包含来自Safari的“无法打开页面”对话框,可是当用户每次点击“确定”后,弹窗会无限循环提示他点击“确定”,攻击者通过让Safari进入无限循环的状态,来达到阻止他使用Safari的目的,让他误以为真的是自己的浏览器出了问题。
我们可以在用户报告中看到“你的设备已锁定”、“你必须使用iTunes礼品卡支付100磅的罚款”这样的消息。
Safari中的弹出窗口被滥用
在 iOS 10.3 发布之前,攻击者通过滥用Safari中弹出窗口的方式,将用户的Safari锁定,除非他们支付费用或清除浏览历史和缓存。Safari scareware攻击包含在Safari的应用程序沙箱中,Safari scareware没有使用具有攻击性的代码,这与间谍软件套装Pegasus这样的高级攻击方式完全不同,Pegasus是一套高度定制化和自动化的间谍软件,其内置三叉戟(3个iOS零日漏洞组合),可以有效刺破iOS的安全机制,抵达内核,完全控制手机,然后窃取其中数据。
攻击者会先注册域名,然后用他们所拥有的域名对用户发起攻击,例如pay-police[.]com显然是攻击者为了欺骗用户而命名的,目的是恐吓用户,经过调查,攻击者主要针对那些会在网络上查看色情内容、下载盗版歌曲等内容的用户。攻击者正是利用了这部分用户做贼心虚的特点,来进行勒索。
在 iOS 10.3 发布之前,基于iOS的代码攻击似乎是非常常见的,例如iOS 8。无限循环的弹窗可以有效地锁定浏览器,从而阻止用户使用Safari。 而在iOS 10.3中,即使这些弹出窗口出现也不会让整个浏览器崩溃,因为在iOS 10.3中,一个浏览器的窗口,对应一个运行标签,这样如果一个选项卡运行错误,用户就可以将其关闭或打开新的窗口。
Safari scareware的解决方案
其实在iOS 10.3修复这个漏洞之前,用户其实完全没有必要向攻击者支付任何费用,就可以重新获得访问权限。 Lookout确定的最佳方法便是清除Safari缓存以重新获得对浏览器的控制。
在iOS上清除浏览器历史记录的过程:设置> Safari>清除历史记录和网站数据。不过还是,强烈鼓励大家升级到iOS 10.3。
Safari scareware攻击过程还原
根据调查,攻击者使用的这些JavaScript代码似乎都是定制的:
saved from url=(0070)http://apple-ios-front.gq/29300000/index.php?DATARE=Vylet%3A30_15%3A29
这种攻击最开始出现在一个俄罗斯网站上。 JavaScript包括了一些专门设置了一些UserAgent字符串来匹配iOS 10.3以前的代码。
Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A366 Safari/600.1.4
攻击代码会创建一个弹出窗口,无限循环,直到受害者付钱,攻击者会让用户通过短信将iTunes礼品卡代码发送到诈骗网站上显示的电话号码。而在iOS 10.3中,这个弹出窗口在弹出时会显示为一个错误信息,但由于代码中的无限循环特性,Safari上还是会不断显示这个错误的对话框消息,这是由于 JavaScript代码被混淆,LooKOut的研究人员对这些代码进行了模糊处理,以确定其意图。
研究人员通过对pay-police[.]com域中获得的JavaScript进行分析后发现,JavaScript使用了十六进制数组对代码行为进行了轻微的模糊处理,对 iOS 10.3的弹出式攻击显示为DOS下的网络浏览器(DOS下的网络浏览器可以分为图形浏览器和文本浏览器两大类)。
在执行混淆代码之前,此页面上的代码还会运行以下脚本:
<script type=”text/javascript”>navigator.__defineGetter__(‘userAgent’, function () { return ‘Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A366 Safari/600.1.4’; });</script>
参与这一攻击活动的组织,很明显已经购买了大量的网域,试图吸引那些在互联网上进行色情和见不得人活动的用户。
我们发现提供恶意JavaScript的其他一些URL包括:
hxxp://x-ios-validation[.]com/us[.]html hxxp://x-ios-validation[.]com/ie[.]html hxxp://x-ios-validation[.]com/gb[.]html hxxp://x-ios-validation[.]com/au[.]html hxxp://x-ios-validation[.]com/nz[.]html
每个站点将根据国家代码标识符提供不同的消息,这些网站是用来定位来自世界不同地区的用户的。每个消息都有一个单独的电子邮件地址,用于联系目标受害者。
以下是每个有效载荷的网络钓鱼域和电子邮件地址:
美国:us.html [email protected][.]com 爱尔兰:ie.html [email protected][.]com 英国:gb.html [email protected][.]com 澳大利亚:au.html [email protected][.]com 新西兰:nz.html [email protected][.]com
Lookout的研究人员会继续监控这些域和电子邮件地址的活动,我们也会继续进行追踪报道。