OpenSSL项目发布安全公告称存在一个影响 OpenSSL 1.1.1d, 1.1.1e 和 1.1.1f 的高危漏洞 (CVE-2020-1967),该漏洞可被用于发起 DoS 攻击。

根据官方对该漏洞的描述,在 TLS 1.3 握手期间或握手之后调用 SSL_check_chain() 函数的服务器或客户端应用可能会导致崩溃,原因是不正确处理"signature_algorithms_cert" TLS 扩展而引起的空指针引用。

如果从另一方接收到一个无效或未被识别的签名算法,则会发生崩溃。这可能会被恶意攻击者利用并发起 DoS 攻击。


1587957547528158.png

图:OpenSSL官方公告


该漏洞由 Bernd Edlinger 通过 GCC 中的新静态分析通道 -fanalyzer 发现,并已于2020年4月7日向 OpenSSL 报告。


安全应对建议

对于受影响的 OpenSSL 1.1.1(1.1.1d,1.1.1e 和 1.1.1f)用户,建议尽可能快地升级到 1.1.1g。

OpenSSL 1.1.1d 之前的版本不受此漏洞影响。

更早的版本如 OpenSSL 1.0.2 和 1.1.0 也均未受影响,不过这些版本都不再被支持,也无法再接受更新。


什么是OpenSSL?

OpenSSL是一个强大的安全套接字层密码库,其囊括了目前主流的密码算法,常用的密钥,证书封装管理功能以及SSL协议,并提供了丰富的应用程序可供开发人员测试或其它目的使用。

OpenSSL主要有两个作用:

1.实现SSL/TSL 协议,可用于 Web 服务器数据安全传输,比如 Node.js 的 TSL 模块就是基于我实现的;

2.密码库:用来保证计算机网络中的通信安全,实现了各种加解密算法,比如 RSA,DES。

大多数通过SSL/TLS协议加密的网站都使用了OpenSSL的开源软件包。当OpenSSL被爆出安全漏洞,影响将会涉及到所有使用OpenSSL开源包的应用。



如何应对 OpenSSL 潜在安全风险?

想要解决已知的安全漏洞(如:CVE-2020-1967),首先就需要发现它。

建议通过MySSL.com检测工具检查您目前使用的OpenSSL版本是否已升级,同时进行漏洞和安全等级评估,确定服务器中是否存在已知的漏洞,并及时采取应对措施。




1587957744851624.jpg