| 关键词: 缓存 Squid 漏洞 攻击者 攻击 污染 网络 com 网站 内容 |
著名开源软件Squid存在高危漏洞,该漏洞被Squid团队评为危险级别最高(Blocker)的漏洞。 ![]() 我们最近发现了著名开源软件Squid存在高危漏洞(CVE-2016-4553),可以导致攻击者远程污染任意HTTP网站的缓存。Squid是经典的Web代理或缓存软件,许多商业的Web缓存、代理或安全产品也是基于Squid开发的,这些设备被广泛部署于网络运营商(ISP)、宽带小区、公司或校园网,用于节省网络带宽、改善网络性能、提升用户体验。攻击者可以通过污染这种公共的基础设施向该网络所有用户(受害者)的Web访问返回任意指定内容,从而导致页面替换、盗号、挂马等严重后果。此外,由于这种攻击发生在中间网络,因而客户端浏览器和服务端网站都很难察觉,因此攻击隐蔽性非常高。 这一漏洞是由于Squid对于HTTP请求中Host头处理不当,导致使用Squid缓存服务器不同网站缓存之间的隔离被打破,攻击者只需发送一个恶意请求就可以完成缓存污染攻击。该漏洞被Squid团队评为危险级别最高(Blocker)的漏洞。这个漏洞作为研究成果的一部分,将在国际安全顶级会议CCS2016上发表[4]。图1是在某真实网络中,攻击者污染www.nsa.gov缓存后,受害者看到的被污染页面。 ![]() 图 1 我们发现,在部署有Squid透明缓存的网络中,攻击者只需要发送一个如下构造的HTTP请求,便可以造成任意HTTP网站的缓存被污染: GET http://victim.com/HTTP/1.1 Host:attack.com 该攻击具体工作原理和流程如图2所示。攻击者向自己的服务器(attack.com)建立TCP连接,然后通过这个连接发送如图所示的恶意请求。Squid的验证模块利attack.com来检查Host头与IP地址是否匹配,但是当攻击服务器返回内容时,Squid的缓存模块却利用victim.com来缓存内容,因此Squid将攻击服务器的恶意内容缓存victim.com。最后当受害者访问victim.com时,得到的是攻击者指定的内容。 ![]() 需要指出的是,攻击者可以通过投放Flash广告的方式大规模远程地发起这种攻击。由于Squid软件被大量ISP用来部署透明缓存,因此这个漏洞对互联网安全有很大影响。 下面链接是整个攻击过程的视频演示: https://drive.google.com/file/d/0ByM36MBckzBaQUFES0VYRlZydUE/view 这个漏洞是我们此项研究成果的一小部分,还有更多的一系列攻击(Host of Troubles),例如污染Apache Traffic Server缓存,污染CDN缓存,绕过Firewall,绕过WAF等。有关于更多详细攻击请参考我们的网站(hostoftroubles.com)[2]和论文[4]。 该漏洞同时存在于Squid 3和Squid 4中。需要提醒注意的是:目前Squid官方已经修复了这个漏洞[1]。 1.网络运营商应当升级Squid缓存软件到最新版,来完全防御这种攻击。 2.网站管理员可以通过部署HTTPS,并启用preloadedHSTS来减轻这种攻击的影响。 3.浏览器用户可以使用作者提供的在线检测工具[3],检测自己的网络是否可以被攻击。 |
| 本文出处: https://www.toutiao.com/a6723846267371258379/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|