重新审视了

2021-03-28 02:33:40

2014年,OpenSSL中发现了一个流行的加密库,用于保护互联网上的大多数服务器。此错误允许攻击者滥用名为TLS HeartBeats的模糊功能以读取受影响服务器的内存。 Heartbleed是大消息,因为它允许攻击者提取服务器上最重要的秘密:其TLS / SSL证书私钥。确认错误易于利用,我们撤销并重新发行超过100,000个证书,这突出了互联网如何保护的一些主要问题。

对于世界各地的安全和运营团队来说,与其他关键的妥协事件一样令人痛苦,他们还为行业提供了学习机会。在过去的七年里,Cloudflare采取了令人毛骨悚然的经验教训,并应用了他们的系统设计和整体互联网的弹性。请继续阅读,以了解CloudFlare如何降低关键损害的风险,并降低如果发生的恢复费用。

安全系统设计的一个重要宗旨是深防御性。重要的事情应该用多层防御保护。这就是为什么安全意识的人在安全的锁箱中保持备用房屋钥匙而不是在垫子下方。对于面向互联网的加密系统,深入的设计意味着设计系统,以便键不是被盗的攻击。这不是openssl和sheastbled的情况。私钥被加载到内存中的内存 - 不安全的互联网进程中,因此只需要单个内存泄露错误来抵消它们。

用于保护TLS / SSL私钥的有效防御措施策略正在将该过程分成两部分:私钥/认证部分,以及加密/解密部件。这正是为什么我们开发了无密钥SSL,允许客户保持完全控制私钥,同时允许CloudFlare处理其余的连接细节。无钥匙SSL提供在使用密钥的位置和存储位置之间的物理分离。我们支持软件和硬件安全模块(HSMS)的无钥匙SSL,今天我们宣布我们现在支持基于云的HSM。

Heartbled显示了我们,这种策略也很有用,为我们为客户提供私人钥匙的私人钥匙,为我们提供额外的安全性。 2017年,我们推出了一个允许客户在世界中选择哪些位置要存储的位置的功能。 Geo Key Manager保护键免受不同地理位置的服务器的物理折衷。 2019年,我们进一步通过实施一个名为锁无钥匙的策略来实现这一目标,将所有托管密钥移动到一个系统之间提供互联网和私钥之间的逻辑分离。

无钥匙SSL是一个伟大的安全解决方案,但根据存储键的位置,它可以引入一些延迟。因此,我们使用IETF来开发一个名为委派凭据的新标准,允许连接使用证书签名的短寿键而不是在TL中使用证书本身。这消除了无钥匙SSL引入的附加延迟。我们支持所有无钥匙SSL和Geo Key Manager客户的委派凭据;默认情况下,Firefox 89(5月2021)将启用委派凭证支持。

当Heastbled发生时,数十万证书被认为可能受到损害,逻辑要做的就是撤销并重新发出这些证书。这样做造成了一些意想不到的后果。

撤销的首次结果是与撤销信息相关的网络流量的大规模激增。 2014年,证书撤销有三种主要机制:

在线证书状态协议(OCSP)可以通过浏览器查询OCSP或者服务器可以在连接时间“OCSP Stapling”中包含响应。

由于Helfleded潜在的危害,成千上万的证书被撤销。在此之后,为一个着名的CA,Globalsign的CRL增加到每天22kb到4.7MB。这引起了CloudFlare的内部缓存基础设施和带宽尖峰的严重中断,这些尖峰在大量影响互联网上,因为依赖于CRL的所有客户端来检查证书验证(大多数Microsoft Windows)下载了该文件。

在此撤销事件之后,它变得清楚地,还有其他原因,为什么撤销不是功能系统。在Firefox中,如果用户与站点的连接,并且未提供拼写的OCSP响应,Firefox会查询OCSP服务器以获取响应。但是,Firefox实现了一个失败打开策略:如果OCSP响应需要太长,则绕过撤销检查并呈现页面。具有特权网络位置的攻击者可以通过简单地阻止OCSP请求并让浏览器跳过撤销检查来使用受损和撤销的证书来攻击用户。 OCSP装订是服务器以可靠的方式将OCSP响应获取OCSP响应的方式,但由于装订不是客户端的要求,攻击者无法包含订书钉,浏览器将失败打开,让用户易受攻击去攻击。 OCSP也没有提供强烈的防止失败模式的关键折衷(加上,OCSP是一个隐私泄漏,但这是另一个问题)。

从安全角度来看,Chrome的情况甚至更糟糕。由于OCSP和CRL都不检查大多数证书(CRLSets仅包含撤销的“扩展验证”证书),因此大多数证书都是值得信任的,而无需检查撤销状态。在Chrome中撤销CloudFlare管理证书的解决方案实际上是铬CodeBase的短贴片。显然不是可扩展的解决方案!

2014年大规模撤销证书,明显不起作用。当时的一些证书有效期多达五年,因此受损的关键在很长一段时间内是一个问题。

2015年,出现了一个新的标准,似乎为这个问题提供了合理的解决方案:OCSP必须装订。如果伴随有效的OCSP订书钉,则仅使用必要主题功能颁发的证书。如果必须妥协和撤销必备证书,那么它只能用于攻击用户最后发出的OCSP的生命周期(通常为10天或更短时间)。这是一个很大的改进,允许证书所有者限制他们的整体风险。

CloudFlare自2012年以来支持了最佳努力的OCSP装订。2017年,我们旨在提高OCSP装订的可靠性,以便我们可以支持OCSP必备的证书。 这项工作的结果是高可靠性OCSP装订和在IMC中发布的研究研究,表明OCSP必须在互联网上更广泛地提供了OCSP的可行性。 CloudFlare现在支持OCSP必备证书,如果未来的关键妥协,则提供额外的安全网。 我们在七年来走了很长的路。 CloudFlare在TLS / SSL关键保护和安全空间中不断创新。 这是过去几年的变化: 这些改进和更多的原因是CloudFlare是安全空间的领导者以及为什么下一个患者不会像最后一样糟糕。 安全周Heartbleed TLS