SSL和TLS协议攻击全解析
一、Heartbleed攻击
Heartbleed攻击是基于SSL/TLS协议中心跳机制的漏洞展开的。在正常情况下,心跳请求会发送一个字节字符串,远程对等方需要回复包含该字节字符串副本的心跳响应。例如,发送“请将这5个字符‘Hello’返回给我”,对方应回复“Hello”。
然而,OpenSSL 1.0.1版本存在一个简单的编程错误,它没有检查心跳请求中的长度值是否与发送的字符串长度匹配。攻击者可以发送一个较大的长度值,如“请将这16,384个字符‘Hello’返回给我”。此时,存在漏洞的OpenSSL服务器会返回“Hello”以及额外的16,379个字节,这些字节来自OpenSSL进程的内存。
这些额外的字节可能包含机密数据,如主密钥、会话密钥,甚至是可用于计算服务器私钥的信息。该攻击造成巨大影响的因素有:
1. 心跳机制默认启用,需要重新编译OpenSSL源代码才能禁用。
2. 由于BEAST攻击(在OpenSSL中已缓解),许多用户从TLS 1.0迁移到TLS 1.1,进而使用OpenSSL 1.0.1。
3. 存储长期私钥(或直接从其派生的数据)的进程内存与其他短期数据的进程内存没有充分分离。
不过,从Heartbleed攻击返回的数据中计算服务器私钥并非易事。
二、小分组攻击
基于Diffie - Hellman的密码系统的安全性依赖于使用安全的数学组,这些组必须至少包含2^160个组元素。如果算法实现中没有检查所有计算是否在选定的组内进行,就可能出现攻击,迫使一方在小分组中进行计算。
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



