毒代理——绕过HTTPS和VPN黑掉你的在线身份

研究人员证明,代理设置漏洞暴露 HTTPS URL,黑客可肆意发起攻击。该漏洞影响绝大多数操作系统和Web浏览器,可被用于渗漏 HTTPS URL 及进行各种恶意活动。

该攻击依赖于代理自动配置(PAC)文件,也就是指定Web浏览器和其他用户代理如何处理HTTP、HTTPS和FTP流量的文件。PAC文件使用名为FindProxyForURL的JavaScript函数,确定URL是直接获取还是通过代理服务器获取。

该PAC文件的位置,可被系统使用Web代理自动发现(WPAD)协议,通过DHCP或DNS自动检测到。微软Windows系统和IE浏览器默认开启了此项功能,OS X 和Linux操作系统,以及Chrome、Safari和火狐浏览器也支持。WPAD常被公司企业用于确保他们所有系统都有统一的Web代理配置。

以色列安全公司SafeBreach的研究人员发现,通过在FindProxyForURL函数内部实现恶意逻辑,攻击者可以读取用户访问的URL,包括 HTTPS URL,进而渗漏它们。

该攻击对Windows、Mac和Linux系统都有效,所有主流Web浏览器也没能幸免于难。

下周在拉斯维加斯举行的黑帽大会上,SafeBreach首席技术官兼共同创始人伊特兹克·科特勒,该公司安全研究副总裁阿密特·克雷恩,将分享有关该漏洞的详细信息,并发布利用该攻击方式的概念验证恶意软件。值得指出的是,PAC文件也被很多恶意软件利用,比如说,影响到韩国10万名用户的“黑月(BlackMoon)”木马。

科特勒和克雷恩在访谈中说,发起攻击的方式有两种。一种是通过可以访问目标系统的恶意软件将静态“proxy.pac”文件放进去,配置被感染的计算机使用该文件。

第二种方法涉及到WPAD。如果受害设备被配置为使用该协议,攻击者可利用中间人攻击劫持WPAD相关通信,确保恶意PAC资源被浏览器使用。该攻击方法在攻击者可访问局域网或开放WiFi连接的情况下最理想,比如说公共场所可用的那些(咖啡馆、酒店、机场等等)。

一旦攻击者将系统配置为使用他们的恶意代理,他们可截获受害者访问的所有URL,并渗漏到被攻击者控制的机器上。

该问题的根源在于,低信任代码(如JavaScript)可被下载并在此类环境(HTTPS流量-高信任)中执行而不需要任何的证书、数字签名或保护措施。

HTTPS URL可被攻击者截获,带来了严重的安全和隐私风险。研究人员指出,恶意行为人不仅可以获取从URL中能直接找到的敏感信息(比如搜索项),还可以获得用户重设账户口令时访问的URL。如果攻击者成功抢在合法用户之前重设了口令,他们便可将受害用户锁在账户门外。

另一个问题与文档共享有关。企业用户通常通过文件或文档共享服务产生的链接来共享敏感信息。一旦获取了这些URL,黑客可很容易地读取到这些信息。

该攻击方法会打开一个双向通信信道——攻击者不但可以渗漏数据,还能像受害者发送数据。分布式拒绝服务(DDoS)之类的攻击都可利用该方式发起。

只要建立起感染了PAC恶意软件的僵尸网络,发起DDoS攻击易如反掌。他们可以指定目标网站的IP地址和端口,让所有受感染设备在用户想要访问某在线资源的时候发起对目标网站的访问。黑客可以保证受害者被带往他们试图访问的站点以避免引起怀疑,但那必须是在访问请求被发往目标网站以造成过载之后了。

威胁行为人当然还可以导致本地DoS状况。攻击者可以配置PAC在用户想要访问特定在线服务(比如浏览网页或更新杀软)的时候使用无效代理。通过指定一个不存在的代理地址,攻击者便成功阻止了用户获得该服务。

该问题不止影响到了浏览器——任何依赖代理配置的应用都会受到影响,比如前文提到的杀软更新——这种未必使用到Web浏览器的情况。

某些情况下,该漏洞还可以用于网络钓鱼。一些Web浏览器,比如IE,支持JavaScript的 alert() 函数返回PAC变量和函数的值。Alert()函数会在被访问网站页面上打开一个基本对话框窗口,让威胁行为人可以显示诱拐用户去访问钓鱼URL,或在用户试图访问特定站点(如银行、支付服务等)时能被诱骗去拨打诈骗电话的信息。

虽然问题的根源在于WPAD/PAC安全设计缺陷,每个浏览器和操作系统厂商也可以采取措施来降低潜在攻击的暴露面。

安全公司 Context Information Security 也独立进行了类似的研究,并通知了受影响的厂商。这家公司表示,苹果在5月份解决了 OS X 和iOS中的问题,而谷歌在7月打上了Chrome和安卓补丁。

DEF CON 上,Context Information Security 将会在题为“毒代理--绕过HTTPS和VPN黑掉你在线身份”的展演中揭示其发现。

---

最新版,长按,可“置顶”