前言
可靠和安全是区块链网络的最大优势之一。区块链上所有区块都被密码学保证不可被篡改,这是区块链安全性的基础。然而,面对网络攻击的威胁,区块链并不是没有任何漏洞。
重放攻击是其中一种网络攻击类型,黑客或心怀恶意的人能够拦截数据,并以相同的方式重放来自原始网络的有效交易数据,从而欺骗安全协议。了解这种情况是如何发生的,对未来尝试阻止它们并避免此类欺诈非常有用。
什么是重放攻击?
当一个心怀恶意的入设法闯入网络并拦截部分有效数据传输以绕过区块链的密码学时,就会发生重放攻击。由于该原始数据是有效的,自然不会被拒绝。这就在网络中打开了一个漏洞。
这种类型的攻击在区块链中具有造成严重破坏的可能。因为这意味着犯罪者已经获得了有效的凭证,能够访问网络内的信息(因为隐私漏洞),直接从受害者的账户中取钱,开展重复交易以欺骗金融机构,并窃取可能在以后用于进一步利用的信息。
尽管这种类型的攻击给区块链领域带来了严重的影响,但黑客仅靠重放攻击就能造成的损害是很有限的。虽然对用户和一些依赖区块链的金融机构有损害,但攻击者无法篡改正在发送的数据(从而危及整个链),因为网络会将其作为无效条目拒绝。所以这些攻击也很容易进行防御,只需在数据传输中添加一个时间戳,以阻止复制、粘贴以及重放的企图。服务器也可以采取一些保护措施,以限制使用相同代码的交易次数。
为什么重放攻击在区块链中至关重要?
尽管重放攻击在大多数业内人士眼中被认为是容易防御的,而且此类攻击远非区块链专有,但这些攻击所带来的风险仍然需要认真对待。在加密货币交易的背景下,网络最终将发生协议变更和更新,其中交易账本分成两部分:一部分运行软件的原始版本,另一部分运行更新后的版本,作为一种安全实施措施。这个过程被称为硬分叉,它在区块链中被用来实现账本的更新,甚至是分支和扩展,形成新的链。
在这些大规模的升级和更新期间,理论上区块链可能会暴露更多的漏洞,使得攻击者更容易对两个账本进行重放攻击,生成将被两个协议验证的重复交易,并创造欺诈性的加密货币转账。这只有在硬分叉发生之前和之后利用区块链内存在的钱包才有可能发生。
如何防止重播攻击保护区块链安全?
尽管硬分叉发生时存在所谓的漏洞,但在此期间存在两类安全协议来保护交易:
强重放保护
在这种类型的保护中,新的分类账将自动收到一个独特的标记,该标记加强交易的安全性,确保它们在分叉的原始分支上无效。这通常为区块链创建新分支的升级过程中进行
选择性重放保护。
在这种重放保护中,用户需要手动实施对其交易的更改,以确保它们无法被重放。当硬分支旨在升级主区块链分类账本而不是创建新的分支时,通常会要求用户这样做。
个人重放保护措施
除了区块链范围内的保护措施,个人钱包所有者也可以采取一些措施来避免成为重放攻击的受害者:
- 对你的交易保持警惕。如果可以的话,在硬分叉期间等待,直到新账本有一些区块数量,然后再输入你自己的块。
- 在网上购买或出售产品时,请等到您的交易得到验证后,再接受交易为有效交易。
- 注意关于区块链的更新和警告。
结论
重放攻击是一种网络安全漏洞,通过绕过使区块链安全和隐私的密码学来进行欺诈交易。这种类型的攻击从理论上确实危及安全性,特别是在硬分叉期间(区块链的升级期),但也存在有效避免这些攻击的一些解决方案。
用户既可以自己实施安全措施(选择性重放保护)。而在另一些区块链中,网络会在硬分叉期间为交易添加特殊标记(强制性重放保护),以防范这些攻击。无论哪种方式,尽管对隐私和信息安全有威胁,重放攻击的方式并不能完全破坏区块链数据完整性。