与安全攻击相关的智能合约交易通常与攻击事件前的历史良性交易相比,通常会表现出不同的行为模式。已经提出了许多运行时监测和守卫机制来验证不变性并停止异常交易,但使用不变的经验有效性仍然在很大程度上没有探索。在本文中,我们研究了23个流行的8个类别的普遍不变式,它们要么以引人注目的协议部署,要么由领先的审计公司和安全专家认可。使用这些完善的不变性作为模板,我们开发了一个工具Trace2Inv,该工具根据其历史交易数据动态生成针对给定合同定制的新不变性。我们评估了42份智能合约的Trace2Inv,这是以太坊区块链上27个不同漏洞的受害者。我们的发现表明,仅凭最有效的不变后卫就可以成功地阻止27个确定的漏气量,而气体开销最少。我们的分析还表明,即使经验丰富的攻击者试图绕开它们,大多数不变性也仍然有效。此外,我们研究了组合多个不变后卫的可能性,从而阻止了27个基准漏洞中的23个,并达到了低至0的假阳性率。28%。Trace2Inv显着胜过最先进的智能合同不变式采矿和交易攻击检测。trace2inv还出人意料地发现了两项先前未报告的利用交易。
主要关键词