文章 问答 视频

略融财经 > 视频问答 > 什么是重放攻击保护?

0.01

请使用微信扫码支付

什么是重放攻击保护?

责任编辑:小豆 分类:理财 发布时间:2020-07-25 16:44:14 来源:略融财经

重放攻击(Replay Attacks)又被称为重播攻击,也被叫做回放攻击,不仅存在于区块链的世界中,在传统网络中也有这种攻击方式。如果在传统网络中,重放攻击指的是攻击者发送一个接收者已接收过的数据包,这种数据包用于迷惑接收者。攻击者可能是最初的发送者,也可能是拦截并重发数据的第三者。在区块链网络中,尤其是在两条分叉链上,会非常容易出现这种问题。就像当时在以太坊和以太经典分叉时就出现过这样的问题。由于以太坊和以太经典在刚刚分叉时,除了ETH回滚了在The DAO事件被盗的token之外,没有任何系统差别。因此发布在ETH上的广播可以被拿到ETC网络上立即重播一次。在分叉过程中,同一个私钥对应的地址内既存着ETH,又存着ETC。因此在分叉后,攻击者就可以发出重放攻击了。说个例子,黑客Alice从B交易所提现100个ETH时,交易所B必须先向ETH矿工网络广播交易信息,这条交易信息中有交易所的私钥签名。这时候如果Alice想要作恶,她可以立刻将此广播在ETC网络中再广播一次。由于广播中包含交易所B的私钥签名信息,而且交易所地址中既有100个ETH,又有100个ETC,那么黑客Alice可以不经交易所同意(因为ETC矿工也看到了交易所的私钥签名),把交易所B地址中的100个ETC也划给自己。这时虽然Alice只提现了ETH,但是她同时把交易所B的ETH和ETC都取走了。但是后期的分叉中,各分叉链和持有者都对重放攻击有所准备,比如客户端有重放攻击保护,交易所暂停重提币等。再比如说在比特币和比特币现金分叉时,比特币现金交易广播必须使用SIGHASH_FORKID,这样比特币和比特币现金相互之间就没有重放攻击的干扰了。但是在本次分叉中,和过去分叉不同得是,由于SV版本主动移除了“重放攻击保护”,这就意味着两条链面临着巨大的重放攻击风险。作为持有者,在分叉竞争结束之前,如果担心风险,最好不要使用任何版本的BCH客户端发送交易给其他人,除非收发地址都是自己。不发送交易是没有被盗走的风险的,一旦发送广播就会面临着被恶意攻击者偷走两种资产中的一种的风险。