重放攻击

原理

重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。很多时候,网络上传输的数据是加密过的,此时窃听者无法得到数据的准确意义。但如果他知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到愚弄接收端的目的。例如,有的系统会将鉴别信息进行简单加密后进行传输,这时攻击者虽然无法窃听密码,但他们却可以首先截取加密后的口令然后将其重放,从而利用这种方式进行有效的攻击。再比如,假设网上存款系统中,一条消息表示用户支取了一笔存款,攻击者完全可以多次发送这条消息而偷窃存款。

类型

1.根据重放消息的接收方与消息的原定接收方的关系,重放攻击可分为3种:

第一种是直接重放,即重放给原来的验证端,直接重放的发送方和接收方均不变。

第二种是反向重放,将原本发给接收方的消息反向重放给发送方。

第三种是第三方重放,将消息重放给域内的其他验证端。

2.基于重放法发生在什么回合,可以将重放攻击分为两类:

(1)在当前回合外攻击中,重放的消息来自协议当前回合之外,因此至少涉及协议的两个回合运行,可以并发也可以顺序地实现。

①交错攻击需要两回合或多回合同时执行协议,著名的例子是Lowe对NSPK协议的攻击。
②经典重放也涉及当前回合外执行协议,但不要求同时执行协议。攻击者存储在前面的回合中所传送的消息,并抓住机会重放它们,对协议的当前回合进行攻击。Denning和Sacco对NSSK协议的攻击,就是经典重放的一个著名例子。

(2)在当前回合内攻击中,重放的消息来自协议当前回合。

3.考查攻击者对消息重定向,这种分类法称为目的地分类法。分类如下。

(1)偏转重放攻击:重放消息重新定向,发送给不同于原接收者的第三方。这种情形可进一步分为如下子类:

①重放消息重定向,发送给原发送者,称为反射重放攻击。

②重放消息重定向,发送给第三方,即不同于原发送者和原接收方的第三方。

(2)攻击者通过延时的方法(可能涉及不同的协议回合),将消息传送给目的地,称为直接重放攻击。

区块星球登载此文出于传递信息目的,并不意味着赞同其观点或证实其描述。本文不构成投资建议。投资者据此操作,风险自担。