对于DNS重绑定攻击来说,安全社区都已经讨论了20年了;尽管安全研究人员在这方面做出了很大的努力,但是,浏览器供应商仍然没有实现一种稳定的防御方法。不过,据说八年前有人声称已经将这种漏洞降服了,哪曾想,随着新型新攻击手段的出现,此类攻击又重新露出水面。
总的来说,目前黑客攻击手法的发展趋势是,组合多种现有攻击手法,形成新的攻击手段。举例来说,将加密货币钱包打得落花流水的DNS重绑定攻击就是这些新攻击手段中的一个典型例子。
在本文中,我们将为读者介绍普林斯顿大学和加州大学伯克利分校在针对物联网(IOT)设备发动的基于Web的攻击方面的研究,利用这些攻击方法,黑客可以发现、攻击并接管这些物联网设备。该研究发表于2018年8月,所以,目前还是比较新颖的。
研究人员的目标是对15个物联网设备进行安全测试。测试时,研究人员发现在这些设备中,只有7个提供了本地HTTP服务器,因此,决定集中研究这些设备。其中包括:Google Chromecast、Google Home,一台智能电视、一个智能开关以及三个摄像头。
他们使用的攻击方法旨在:
严格来说,这不是一种全新的手法。研究论文引用了之前的研究成果,这些研究发现,攻击者利用这些攻击方法拿下这些设备的平均时间为一分钟。奇怪的是,一项著名的研究结果(What You Think You Know About the Web is Wrong)表明,对于55%的用户来说,通常在一个网站上逗留的时间不会超过15秒。由此看来,大多数用户似乎不会受到物联网漏洞的影响。
然而,在普林斯顿和加州大学伯克利分校的研究中,研究人员显著降低了攻击所需的时间。他们指出,如果使用他们发现的方法,可以更快地发现和访问本地网络中的设备——但是Chrome除外,因为它会缓存DNS请求并“无视”TTL,如果它低于某个阈值的话。需要注意的是,非军事区(DMZ、内部网络、防火墙后面的网络)中的设备通常被认为是安全的,因为用户通常假设外部人员无法访问这些设备。但是,在这项研究中描述的攻击中,攻击者已经获得了访问受害者内部网络中的浏览器的权限!
研究人员通过将设备连接到Raspberry Pi无线接入点来分析这些设备。研究人员观察和分析的数据分组分为两种类型,即发送到设备以及从设备接收的数据分组,以及发送到绑定到每个设备的移动应用和从移动应用接收的分组。分析结果表明,共发现了35个GET请求端点和8个POST请求端点。这些端点的作用在于,在研究的发现阶段识别相应的IP地址。
研究人员将这项研究过程分为了两个不同的阶段,即发现设备和获取访问权限阶段:
以下是在该研究的发现设备阶段需要采取的步骤:
该研究本来打算使用3种不同的操作系统(Windows10、MacOS和Ubuntu)和4种不同的浏览器(Crome、Firefox、Safari、Microsoft Edge)进行测试。然而,后来发现只有Chrome和Firefox这两款浏览器适合这项研究。所以,Safari和Edge浏览器就被排除在外了,具体原因为(Web-based Attacks to Discover and Control Local IoT Devices):
对于Safari来说,所有的Fetch请求都会超时,因此,攻击脚本认为所有IP地址都处于非活动状态。相反,该脚本可以使用Fetch请求来正确标识Edge上的活动IP地址,但Edge浏览器并没有公开详细的HTML5错误消息。因此,该攻击脚本无法识别Edge上的任何设备。
以下是本研究在获取访问权限阶段中所采取的步骤:
http://domain.tld/hello.php
上的消息"hello")。借助于这种攻击方法,恶意脚本能够绕过同源策略,并获得设备上运行的Web应用程序的访问权限。这样,攻击者就可以重新启动Google Chromecast、Google Home、智能电视和智能交换机设备,并录制视频或音频了。
研究人员称,用户、浏览器供应商、物联网制造商和DNS提供商都必须采取相应的预防措施,才能够避免DNS重绑定攻击。以下是本研究给出的一些对策:
有关本文中讨论的普林斯顿和BC Berkeley研究报告的更多信息,请访问Web-based Attacks to Discover and Control Local IoT Devices。
关于针对本地网络中的应用程序和设备的基于Web的攻击手法的详细信息,请参阅Vulnerable Web Applications on Developers' Computers Allow Hackers to Bypass Corporate Firewalls。