SSL-加密网络连接是怎样被截获的

日期: 2009-09-22 作者:Sherri Davidoff翻译:Sean 来源:TechTarget中国 英文

企业常常有正当的理由截获加密的网络连接。不幸的是,黑客可以用相同的方法接入安全连接,这通常是因为终端的脆弱性。   在本文中,我们将研究企业和黑客如何拦截用传输层安全(TLS)协议或者其前身——加密套接字协议层(SSL)——加密的网络连接。   数字证书——通常与TLS / SSL配合使用——只是带有数字签名用于描述身份的一小块数据——比如一个组织的名称和网址。

签名是一个基于证书内容和签名者的密钥的复杂的数学运算。如果证书中的值在传输中改变,数字签名将不匹配,于是浏览器将显示错误信息。   你怎么知道一个数字证书真的是你所以为的人所拥有?这一切都基于信任链(chain of trust)。例如……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

企业常常有正当的理由截获加密的网络连接。不幸的是,黑客可以用相同的方法接入安全连接,这通常是因为终端的脆弱性。

  在本文中,我们将研究企业和黑客如何拦截用传输层安全(TLS)协议或者其前身——加密套接字协议层(SSL)——加密的网络连接。

  数字证书——通常与TLS / SSL配合使用——只是带有数字签名用于描述身份的一小块数据——比如一个组织的名称和网址。签名是一个基于证书内容和签名者的密钥的复杂的数学运算。如果证书中的值在传输中改变,数字签名将不匹配,于是浏览器将显示错误信息。

  你怎么知道一个数字证书真的是你所以为的人所拥有?这一切都基于信任链(chain of trust)。例如,当你去Alice的网站,她向你提供她的证书。Alice的证书已得到她的朋友Bob的确认和签署。反过来,Bob的证书已得到确认并由他的朋友Charlie签署。Charlie也是你的好朋友,你很自然地信任他。在这种情况下,Charlie是作为我们的公钥基础设施(PKI)的根(root)认证中心(CA)。当你看到Alice的核查证书链上Charlie的签名,你就会相信这的确是Alice。

  在现实生活中, Web浏览器拥有预安装的——比如网络基础设施公司VeriSign——受信根证书颁发机构的证书。你的Web浏览器会自动信任被预安装的根证书颁发机构的数字证书。但是,黑客可以利用这种信任。

  数字证书有多值得信赖?

  没有什么东西是完美的——即使是受信的根证书颁发机构。 2001年,VeriSign错误地“给一个谎称是微软雇员的人发出代码签名数字证书”(MS01-017)。根据微软安全公告,“拥有使用属于微软的密钥来签署可执行内容的能力,无疑非常有利于那些想要说服用户同意代码执行的恶意用户。该证书可用于签署程序、ActiveX控件、微软Office宏和其他可执行的内容。

  数字签名也可以是伪造的。去年,在柏林的Chaos通信大会上,一组研究人员揭示了可以用MD5加密算法来创造一种“无赖”证书的缺陷,而该证书拥有有效根证书颁发机构的签名。此证书从未被受信根证书颁发机构认证过,但由于它拥有一个有效的签名,它将被所有常见的浏览器信任。

  SSL拦截工具

  更常见的情况是,攻击者可以使用凭空造出来的证书和中间人攻击技术,绕过TLS/SSL连接。

  企业经常拦截的TLS / SSL连接。为什么?想象一下,你是一个在工作时检查基于网络的个人邮箱的公司雇员。你的公司会有强烈的动机窥视你的数据流,以确保你没有泄露私密数据或者错误的下载病毒。企业经常要检查所有进出其网络的数据流,以防止恶意软件感染并保护他们的私密数据。

  企业常常使用SSL代理(如Blue Coat Systems公司的ProxySG),来破解TLS/SSl连接和监视雇员的数据流量。SSL代理可以截取私人电脑和外面世界的数据流。当用户访问一个“安全”的网站,SSL代理提取真正的Web服务器证书,并在代理服务器和网络服务器之间建立一个合法的TLS/SSL连接。然后,代理工具凭空制作一个虚假的证书,这个证书类似于网络服务器的证书。它提供这个假数字证书给用户,并在用户的浏览器和网络代理之间建立另一个TLS/SSL会话。用户可能会收到弹出的错误信息(点击它,可以让它消失),因为假数字证书不受信任。当然,如果企业花时间为用户网络浏览器引入代理证书为受信根证书,那么用户完全不会看到错误的消息。而最终的结果会是什么呢?在用户的计算机和代理之间有一个“安全的”TLS / SSL会话,以及另一个在代理和网络服务器之间的“安全的”TLS/SSL会话。作为代理,个人信息可以被作为纯文本检查,这样公司就能够自动搜索流量中特定关键字或屏蔽其中的恶意代码。

  不幸的是,攻击者可以使用和公司一样的技术拦截SSL连接。一个特别自由、公开的工具使这样做很轻松。因为有了企业TLS/SSL拦截工具,攻击者可以利用这些工具来自动连接到真正的网络服务器、捕获证书信息,并用同样的信息凭空生成一个新的证书。随后提供新证书给用户,并建立一个SSL连接。在这个以后,用户的计算机和黑客之间建立起了一个“安全的”SSL会话,以及另一个在黑客和网络服务器之间的“安全的”SSL会话。其他类似的工具完全移除了客户的SSL连接,并使用社会工程技术(比如锁图标(lock icons))来欺骗客户,使他以为连接是加密的。

  用户可以做什么来防止SSL拦截攻击?这里有四个关键策略:

  始终使用受信任的计算机访问有价值的信息的网站。如果你的计算机不受信任或曾受到过危害,那么有人可能在你的网络浏览器安装了非法的信任证书。

  考虑使用完整检查或回滚的软件,检测并消除那些未经授权的、对受信任的证书颁发机构列表的更改。

  不要接受非信任证书。如果可能的话,配置用户的浏览器,从而自动拒绝不受信任的证书。

  在点击前先想想。请记住,即使是受信任的证书管理机构也会犯错误。对员工和家庭用户进行培训,让他们学会谨慎地访问网站。

  TLS / SSL就像一个很好的坚固的小玩意(two-by-four)。你能使用它来建立一个安全的基础设施吗?能。单就它自身而言是一个安全的基础设施吗?不是。

  围绕SSL拦截,整个行业在进步。企业和执法者,以及黑客都一样希望能够获取加密数据流的信息,所以终端对一个更强的保护措施的需求是很复杂的。然而,只要注意细节,企业和家庭用户可以检测并避免TLS / SSL拦截和迂回(bypass)攻击。

翻译

Sean
Sean

相关推荐