Web加密方法HTTPS的广泛使用,使得很多网站能够保护自己的数据,并都挂上了小绿锁。
你每天访问的所有热门网站,都可能提供这种名为传输层安全(Transport Layer Security,简称TLS)的防御措施,TLS可以对浏览器和与其通信的web服务器之间的数据进行加密,以保护你的旅行计划、密码和令人尴尬的来自谷歌搜索的窥探。但意大利威尼斯Ca’ Foscari大学和奥地利Tu Wien大学的研究人员的新发现表明,有相当数量的加密网站仍然会暴露这些数据。
亚马逊旗下的分析公司Alexa,对全球排名前10,000的HTTPS网站进行了分析,研究人员发现5.5%的网站存在潜在可利用的TLS漏洞。这些漏洞是由于站点在实现TLS加密方案时产生的问题,以及没能对TLS及其前身安全套接字层(Secure Sockets Layer)中的已知漏洞(其中有很多)进行修补综合导致的。但最糟糕的是,这些漏洞很难被察觉,所以网站仍然会挂上小绿锁。
威尼斯Ca’ Foscari大学的网络安全和密码学研究员,同时也是Cryptosense审计公司的创始人之一的Riccardo Focardi表示:
我们在论文中的假设浏览器是最新的,但是我们发现的东西并没有被浏览器发现,这些问题还没有解决,甚至没有人注意到它们。我们想通过网站的TLS,找出这些还没有被用户指出的问题。
研究人员将于5月在旧金山举行的IEEE安全与隐私研讨会上,发表他们的全部研究成果。他们开发了TLS分析技术,并利用现有密码学文献中的一些技术来抓取和审查全球排名前10,000个站点存在的TLS问题。他们将发现的漏洞分成了三种类型。
有些漏洞会造成风险,但攻击者很难单独依靠它们,因为利用它们需要多次发起相同的查询,从小片段中缓慢推断信息。这些会导致“部分泄漏”(partially leaky)的bug能够帮助攻击者解密会话cookie之类的东西,因为每次站点查询都很有可能会同时发送cookie。但是如果想要获取用户在给定会话中通常只会发送一次的信息(比如密码),效率就会降低。
另外两种类型则更为危险。会导致“完全泄漏”(leaky)的漏洞,包括浏览器和web服务器之间存在严重缺陷的加密通道,攻击者能够解密经过这些通道的所有流量。最糟糕的是研究人员观察到的“受污染”(tainted)通道,攻击者利用这些通道不仅能够解密通信,还可能修改或操纵它们。这些都属于“中间人”攻击,HTTPS加密正是为了抵御这些攻击而创建的。
安全工程师兼开放密码审计项目(Open Crypto Audit Project)负责人,Kenn White表示,在实践中,研究人员发现的漏洞不一定是关键的漏洞。其中有很多是可利用漏洞,但它们可能对黑客没有什么吸引力,因为与其他常见漏洞相比,利用这些漏洞需要耗费更多时间,而它们在攻击中也更容易引起注意。但他强调了这些发现对清理互联网计划的重要性。
虽然 ‘不要像2005年那样在web服务器上处理cookie’ 并且 ‘使用TLS’ 显而易见,但这项研究发现,对于惊人数量的高流量网站来说,他们还在和这些基本的东西在作斗争。web开发人员使用现代HTTP防篡改技术是至关重要的。
研究人员表示,除了具体评估有多少站点存在TLS漏洞之外,这个项目中的一个关键还涉及到web的基本互联性,以及一个页面上的TLS小漏洞如何对其他网站产生潜在影响。Example.com的主页可能使用可靠的HTTPS,但是如果mail.example.com有问题,并且两者进行交互,它们之间的加密连接将被破坏。
当你拥有相互关联的域名时,他们之间可能会共享敏感数据和cookie之类的东西,这意味着当其中一个主机脆弱时,漏洞可能会传播。在网络上,URL和主机之间有很多联系,这可能会放大一个TLS漏洞的影响。
研究人员确定了近91,000个相关站点,这些域名或是属于排名前10,000个站点的子域名,或与这10,000个站点共享资源。这些相关站点存在的TLS漏洞可能会造成连锁反应。所以排名前10,000的网站中,有5.5%的存在漏洞的网站实际上包括292个排名前10,000的网站中自身存在漏洞的站点,以及5282个相关站点,这些相关站点存在的TLS漏洞,为这10,000个网站带来了潜在的风险。在所有漏洞中,4800多个漏洞属于最严重的 “受污染” (tainted)漏洞,733个是能够被解密但无法进行操控的 “泄漏” (leaky)漏洞,912个是威胁程度较低的 “部分泄漏” (partially leaky)漏洞。
在web安全研究中,相互关联会产生漏洞是众所周知的——本质上可以归纳为 “你的实力取决于你最薄弱的环节”。威尼斯Ca’ Foscari大学的研究结果从属于如何发现和减轻这种类型的暴露的研究领域。Ca’ Foscari的研究人员表示,他们正在根据其发现开发一种工具,帮助开发人员识别经常被忽视的TLS漏洞。
鉴于网络的核心在于大规模互连,因此能够捕捉到可能对整体安全产生巨大影响的小问题变得越来越重要。