云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_阿里云物流_是什么

小七 141 0

执行和防止SSL剥离:一个简单的英语入门

在过去的几天里,我们了解到了一种新的攻击,它在用于保护所有现代Wi-Fi网络的加密协议中造成了严重的弱点。KRACK攻击有效地允许拦截WPA2协议保护的无线网络上的流量。虽然可以通过反向补丁实现来减轻此漏洞,但很少普遍安装安全更新。在此漏洞之前,不乏容易受到拦截攻击的无线网络。一些无线网络继续使用过时的安全协议(称为WEP),该协议明显"完全不安全"[1];其他无线网络,如咖啡店和机场的无线网络,仍然完全开放,不验证用户身份。一旦攻击者获得对网络的访问权,他们就可以充当代理来拦截网络上的连接(使用称为ARP缓存中毒和DNS劫持的策略)。是的,这些拦截策略可以很容易地针对有线网络部署,在有线网络中有人可以访问以太网端口。在所有这些已知的情况下,毫无疑问,盲目地信任将用户连接到互联网的媒介是不安全的。创建HTTPS是为了允许HTTP流量以加密的形式传输,但是KRACK攻击的作者提供了一个视频演示如何在一个流行的约会网站上完全取消加密(尽管网站支持HTTPS)。简简单单地介绍了一篇关于HTTPS保护机制的文章,并介绍了如何在这篇博客上减轻伤害。基于TLS的HTTP互联网是建立在一系列标准的基础上的,在新发布的标准中,组件被重构和重建。当一个标准被发现有缺陷时,它将被修补或被一个新的标准代替。当一个标准被伪造并被一个更好的标准取代时,整个互联网变得更好。HTTP协议最初被指定为在因特网上以透明的方式进行数据通信。在http1.0正式引入之前,HTTP的第一个文档版本被称为httpv0.9,并于1991年发布。Netscape是第一个认识到需要在internet上提供更大安全保障的公司,1994年中期,HTTPS被应用到Netscape浏览器中。为了实现更大的安全保障,一种称为SSL(securesocketlayer)的技术应运而生。由于一些安全问题和缺陷,ssl1.0的生命周期很短(甚至没有正式标准化)。该协议在ssl2.0和ssl3.0中进行了增量更新,然后被TLS(传输层安全性)标准反复取代。.tg{边框-折叠;边框间距;折叠:0;宽度:100%;}.tg td{font-系列:Arial,无衬线字体-尺寸:14px;填充:10px 5px;边框-样式:实心;边框宽度:1倍;溢出:隐藏;分词:正常;}.tg th{font-系列:Arial,无衬线字体-大小:14px;字体粗细:正常;填充:10px 5px;边框样式:实心;边框-宽度:1px;溢出:隐藏;单词-断开:正常;}.tg.tg-yw4l{垂直-对齐:顶部}协议SSL 1.0SSL 2.0SSL 3.0TLS 1.0版TLS 1.1条TLS 1.2条TLS 1.3条释放不适用19951996199920062008草稿每一个版本都有不同的安全约束,支持也因浏览器而异。另外,所使用的加密密码可以在某种程度上独立于覆盖协议进行配置。因此,确保任何支持HTTPS的web服务器都设置为使用经过优化的配置,以平衡浏览器支持和安全性,这一点至关重要。在这篇文章中,我不会详细介绍这一点,但是您可以在SSL实验室提供的文档中阅读SSL和TLS部署最佳实践。从高层来看,HTTP over TLS的最终结果是,当通过https://而不是请求站点时,连接将以加密方式完成。这个过程为隐私和完整性提供了一个合理的保证;换句话说,我们不仅仅加密我们发送的消息,我们还确保我们收到的消息不会在网络上被更改。建立安全连接后,web浏览器可以通过将浏览器栏亮起绿色来向其用户指示这一点。由于SSL证书本身是由证书颁发机构签署的,所以会执行一定程度的"域验证"——证书颁发机构确保它们只验证一个证书,该证书由有能力更改网站的人拥有。这在一定程度上保证了证书不会颁发给在截获web流量时看起来合法的攻击者。如果证书最终落入坏人手中,可以使用证书吊销列表收回证书。这样的列表会被现代操作系统自动下载,以确保当一个无效的证书被服务时,它会在浏览器中被标记为不安全的。由于有相当多的(>100)个证书颁发机构有权颁发SSL证书,所以可以通过配置CAA DNS记录来允许列出哪些证书颁发机构应该为给定的域颁发证书。现在可以简化此过程,例如,当您的流量通过Cloudflare网络代理时,我们将为您动态管理证书的续签和签名(同时使用Cloudflare的源CA生成一个证书,将流量加密回原始web服务器)。类似地,EFF提供了一个名为CertBot的工具,使安装和生成Let's Encrypt certificates变得相对容易。当使用HTTPS时,重要的是网站的整个内容随后通过HTTPS加载,而不仅仅是登录页面。过去,网站通常会通过一个安全的加密连接显示登录页面,然后当用户登录时,他们会将连接降级回HTTP。一旦登录到网站,会话cookie将存储在本地浏览器上,以允许网站确保用户已登录。2010年,埃里克·巴特勒(ericbutler)通过构建一个名为FireSheep的简单拦截工具,展示了这是多么不安全。通过窃听无线连接,FireSheep可以捕获常见网站的登录会话。虽然攻击者不一定能够捕获网站的密码,但他们能够捕获登录会话并在网站上执行行为,就像他们登录一样。他们还可以拦截用户登录时的流量。当使用SSL连接到网站时,第一个请求通常应该将用户重定向到网站的安全版本。例如,当你第一次访问 301重定向用于将您发送到站点的HTTPS版本,https://www.cloudflare.com/。这就提出了一个重要的问题:如果有人能够截获对站点HTTP版本的未加密请求,那么他们就不能去掉加密并在没有加密的情况下将站点返回给用户吗?这是莫希·马林斯派克(Moxie Marlinspike)探索的一个问题,后来导致了HST的诞生。HTTP严格传输安全(HSTS)2009年,在BlackhatDC,Moxie Marlinspike推出了一个名为SSLStrip的工具。这个工具将拦截HTTP流量,并且每当它发现指向使用HTTPS的站点的重定向或链接时,它就会透明地将它们剥离。而不是受害者直接连接到网站;受害者将连接到攻击者,攻击者将启动回网站的连接。这种攻击称为路径攻击。SSLStrip的神奇之处在于,每当它在未加密的HTTP连接上发现指向HTTPS网页的链接时,它就会用HTTP替换HTTPS,并坐在中间拦截连接。拦截器将加密后的连接以HTTPS方式返回到web服务器,并将流量以未加密的方式返回给站点访问者(在这个过程中记录任何感兴趣的密码或信用卡信息)。作为回应,一个名为HTTP严格传输安全(HSTS)的协议在2012年被创建,并在rfc6797中指定。该协议由服务器使用一个名为Strict Transport Security的特殊头进行响应,该头包含一个响应,告诉客户端无论何时重新连接到站点,都必须使用HTTPS。此响应包含一个"max age"字段,该字段定义了自上次看到该规则以来该规则应持续的时间。虽然这在防止拦截攻击方面提供了改进,但它并不完美,还存在一些不足之处。HSTS预压HSTS的一个缺点是它需要以前的连接才能知道总是安全地连接到特定的站点。当访问者第一次连接到网站时,他们不会收到HSTS规则,该规则告诉他们始终使用HTTPS。只有在随后的连接上,访问者的浏览器才会意识到HSTS规则要求他们通过HTTPS进行连接。其他攻击hst的机制也已被探索;例如,通过劫持用于同步计算机时间(NTP)的协议,将来可以将计算机的日期和时间设置为一个。此日期和时间可以设置为HSTS规则过期时的值,从而绕过HSTS[2]。HSTS预加载列表是帮助解决这些问题的一个潜在解决方案,它们通过硬编码只需要使用HTTPS连接到的网站列表来有效地工作。启用了HSTS的站点可以提交到Chrome HSTS预加载列表,网址为hstspreload.org网站;它也用作其他浏览器中使用的预加载列表的基础。在googlechrome的源代码中,有一个文件包含一个硬编码文件,其中列出了预加载列表中所有域的HSTS属性。每个条目都采用JSON格式,如下所示:即使有预加载,事情仍然不是完美的。假设有人正在阅读一个关于书籍的博客,在这个博客上有一个从在线零售商那里购买一本书的链接。尽管在线零售商使用HSTS强制实施HTTPS,但还是有可能存在欺诈行为