缘起:一次面试,问bleed F5证书卸载之事,totally unknown,科学上网后查询写资料,是记之
心脏出血漏洞(英语:Heartbleed bug),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查)[3],因此漏洞的名称来源于“心跳”(heartbeat)[4]。该程序错误属于缓冲区过读[5],即可以读取的数据比应该允许读取的还多[6]。
因为缺陷在于OpenSSL的实现,而不是SSL/TLS协议本身,所以除了OpenSSL之外的其他TLS实现方式,如GnuTLS、Mozilla的网络安全服务(NSS)和Windows平台的TLS实现都不受影响[9]。
第一个修复后的版本1.0.1g于同一天发布
The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library.
The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content. This allows attackers to eavesdrop on communications, steal data directly from the services and users and to impersonate services and users.