根据两位研究者的介绍,运输层安全性(TLS)协议的最新漏洞并不会马上造成问题,但是却会为后续改进的同类攻击留下可趁之机。此外,它也属于基础的客户端-安全机制的最新问题。
Kenneth Paterson教授是一篇最新发表的TLS(运输层安全)攻击论文的共同撰写人,他在一次电话访谈中说道:“多年以来,我一直热衷于加密技术的实际应用,在这种环境中,TLS是我们的最大研究目标。”他说,他已经对其他协议研究了几年时间的,研究内容是通过这些协议的各种消息调用顺序来了解消息内容。该论文名称是《幸运13:攻破TLS和DTLS记录协议》,它由Paterson及博士生Nadhem AlFardan共同完成,他们均属于伦敦皇家霍洛威大学的小组。
Paterson指出,对于TLS帐户,攻击者位于使用TLS协议的客户端与服务器之间,而且“攻击者所做的事情就是拦截数据包,然后以一种诡秘的方式篡改它们。”传输给服务器的数据包具有特殊的排列方式,其中有一个报头域包含13个字节,因此将这种攻击命名为:“幸运13”。教授指出,攻击者“随后会将这些数据包发送到服务器,进行解密,而因为TLS有一种完整性保护机制,所以服务器解密时会产生错误。”
“服务器很听话,它一定会向客户端发送一个错误的消息。”接下来发生的事情很重要:“实际上,根据解密具体过程,产生错误消息所需要的时间会有所差别。我们修改了数据包,并且修改过程会占用一定的服务器处理时间,然后在这段时间差就泄露了明文。”
根据Paterson的介绍,测得的时间差在毫秒级。这个数据量“主要取决于服务器所使用的硬件。时间差还受到另一个因素的影响,即包含这些错误消息的数据包还需要通过网络进行传输。所以,它们会受到诸如网络路由等各种延迟和抖动因素的影响。”
测量精确时间差的最佳场景是攻击者与服务器位于同一网断。Paterson指出,这并不是一种典型情况,但是这也是可能的,攻击者实际上就是一个,而您是ISP实际对抗的人。
但是,一般而言,论文作者说明这并不是任何机智的攻击者都希望出现的第一攻击位置。首先,攻击者在网络拓扑中离服务器越远,那么时间差就会越难估值。而即使就在,恢复每一个字节才能得到许多时间差样例。
所有这些样例都意味着需要初始化许多的TLS会话。这样会造成许多的“噪音”,从而很容易暴露攻击者(而且,即使不考虑攻击者的问题,实际上大多数商业服务器也不会为同一个IP地址启动多到不正常的会话)。
虽然这个版本的幸运13攻击可能在实际环境中并不常见,但是研究幸运13的团队指出,他们并不明确这种攻击会出现多少种改进版本,也不知道后续改进版本是否会产生更为可靠的攻击效果。
可能有哪些改进呢?第一种可能是减少破解底层密码所需要的会话数量。而且,Paterson指出了一些已经能够有效减少会话数量的方法:“如果您希望获取一些内容——例如,假设您要解析Cookie头的前几个字节,并且知道标准Cookie的格式,那么所需要的样例数量可以从223下降为219。”他说:“然后,还有另一个方法:如果攻击者还知道块中最后2个字节之一,那么所需要的样例数量又可以从219下降为213。”
这仍然是噪音,但是攻击速度已经显著提高;在论文所使用的测试环境中,它在15分钟内就破解了1个字节的明文。如果Paterson想要发起攻击(他选择了发送一封电子邮件),那么这种方法并不是他的第一选择,但是这是在TLS安全及上层安全性()的所有问题出现的新问题。举一些最新例子:SSL的处理缺陷已经被用于远程消除和iOS移动设备的内存;JavaScript攻击工具BEAST也被用于攻击的SSL会话;经常出现的问题通过伪装SSL协议的底层信任破坏了互联网最广泛使用的SSL安全机制。关于TLS/SSL攻击的例子还有很多很多,而本文谈到的幸运13只是其中之一……