位于德国的一位安全研究人员发现苹果公司的iOS 11在其Camera应用程序中处理二维码的方式存在缺陷。
去年,随着iOS 11的推出,Apple给它的相机应用程序提供了自动识别二维码的功能。
在周末,Roman Mueller 发现这个功能有一个缺陷,可以用来引导人们去意想不到的网站。
第一步涉及从URL创建二维码,例如:
https://xxx\@facebook.com:443@infosec.rm-it.de/
如果您在iOS 11.2.6(最新版本)下打开相机应用程序,并将设备的相机指向由该URL制作的二维码,它将立即识别出二维码的存在,解析嵌入的URL并询问是否要在Safari中打开“facebook.com”。
问题是,该应用程序将在Apple的Safari浏览器中打开一个不同的网站 - “infosec.rm-it.de”。
想象一下,有人在公共交通,银行,商店,咖啡馆等海报上弹出代码,假冒为导向一个合法的网站,但真正去的其实是密码收集虚假的网站或试图下载和运行恶意软件的恶意网页。
Mueller在他的文章中说:“相机应用程序的URL解析器在检测此URL中的主机名时存在一个问题,就像Safari一样。这会导致通知中显示的主机名与实际在Safari中打开的主机名相比显示的不同。”
从技术上讲,示例URL有问题,建议应该使用字符“%5C”代替“\”来代表转义或百分比编码。
但是El Reg从百分比编码的URL创建了一个二维码,并得到了相同的结果。
问题在于其他地方,苹果软件处理最初的“@”字符的方式。目前还不清楚这个bug究竟在哪里 - 因为相关的Apple代码不是开源的 - 但通知显示机制和Safari以不同的方式处理URL字符串。
通知系统在字符串“facebook.com”中选取第一个域,而Safari检测到第二个域。
如果您从URL中删除前导“@”字符并从此修订的URL创建QR码,问题就会消失:
https://xxx\facebook.com:443@infosec.rm-it.de/
根据穆勒的说法,这个问题已于2017年12月23日向苹果安全团队报告,截至周一仍未确定。
二维码所带来的安全风险已为人所知。但是苹果Camera应用程序处理二维码的方式存在的问题提醒人们,当URL不明显时打开网站并不是一个好主意。
苹果没有立即回应评论请求。预计iOS 11.3将会很快发布。
领取专属 10元无门槛券
私享最新 技术干货