野生状态下智能合约的重放攻击
摘要: 重放攻击的基本思想是监视发送给一个合同的签名消息,并在受害者合同上重播该消息。当两个契约都具有相同的验证签名消息的算法时,攻击者可以在受害者合同的上下文中模拟其他人。
在CON 26介绍Etalum智能契约的重放攻击,它使用两个丙溢流——以受影响的SMART合同为例。由此做了一项后续研究,在野外发现了多次重放攻击。另外,还发现了更聪明的合同重放攻击部署在Esumum主干网上。
回顾一下之前的,基本思想是监视发送给一个合同的签名消息,并在受害者合同上重播该消息。当两个契约都具有相同的验证签名消息的算法时,攻击者可以在受害者合同的上下文中模拟其他人。
图1:重放攻击示例
图1演示了上面提到的重放攻击。在UGT合同中,签名的消息Sig(A、B、100、3)包含在A发出的用于发送100 UGT从A到B3 UGT从A到C的费用有趣的是Sig(A、B、100、3)也为MTC合同工作。因此,攻击者可以重放MTC合同中用于发送的消息100 MTC从A到B3 MTC从A到C的费用。
图2:ProxyOverflow影响的智能契约也受到重放攻击的影响
引擎盖下的魔力在图2中的209-210行中。这两份合同都是有效的。___通过检查___带着(_v,_r,_s)。因为现在是可预测的(第221行),攻击者可以使用相同的验证机制在任何合同上重播签名的消息,这导致了这样的说法:“您支付的费用可能比您想象的要高”。
图3:重播狂野中的攻击
根据分析了链上数据,并观察到至少7例野生重放攻击。图3显示了窃听嵌入到指定给UGT契约(TX1)的事务中的输入数据并在另一个事务(TX2)中对智能契约进行重放的一种情况。下表显示了发现的七种重放攻击中的事务散列:
然后通过使用可能是相同的输入模式对所有Etalum事务进行分组来收集上面的数据。(v,r,s)。除此之外,还发现了新的重播攻击影响合同。
图4:影响智能契约的重放攻击
总结:到目前为止,分析还没有完成。但是都觉得,有更多的重放攻击案件有待挖掘。
(作者:曲速未来安全区,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)
评论(0)
Oh! no
您是否确认要删除该条评论吗?