这几年以来,以太币备受了很大的喜爱,从二零一六年一月的平均每天交易量12,000,到2019年一月的平均50万。差不多地,智能合约逐渐充分发挥较大的市场价值,使其变成攻击者的目标,导致用户变成攻击的受害者,损失数百万美元。针对这种攻击,学术界和产业界已经提出了很多软件,用于扫描智能合约中的漏洞,并在数字货币上开展布署。但这种软件大多数聚集在探测漏洞并非攻击上,更不要说量化分析和跟踪被盗资产的数量了。该软件具有逻辑驱动和图驱动两种交易深入分析功能,可以自动检测和深入分析智能合约攻击行为。霍加鲁给予了1种更快的量化分析和跟踪失窃资产在以太币数字货币中的流量的方法。这一项科学研究对在2019年8月之前布署在以太币上的所有智能合约开展了大规模深入分析,结果发现有1,888个智能合约被攻击,还有8,095个交易被攻击。利用对Unixwap和Lenptx.memv攻击的详细分析,证实了该软件的可行性。
以太币率先将图灵完全智能合约的概念引入到数字货币中,从而彻底改变了数字资产的交易方式,即跨数字货币执行和存储的程序。但由于数字货币具有防篡改性,智能合约一旦布署,就不能再开展修改。写这篇文章时,以太币的市值超过了420亿美元,是市场上第二有市场价值的加密货币,最有市场价值的以太币智能合约WETH所持有的ether资产超过了20亿美元。另外,以太币的日交易量从二零一六年一月的12,000笔每天交易量增加到2019年一月的平均50万笔。增加市场价值和可见度会导致滥用,缺少监管也会导致一些攻击者逐渐使用容易被攻击的智能合约来窃取资金。所以在过去的几年里,有很多的科学研究工作和软件被用来发现智能合约的漏洞,但大部分的软件都只关注智能合约的字节码深入分析,而没有关注它的交易或者活动。只有很少的人使用事务来检测攻击,大多数人或者需要对以太币客户端开展修改,或者需要编写大型复杂的攻击检测脚本。而且,在发现被偷的资产后,所有这种软件都不允许直接追踪。
本文介绍了Horus,它是1种基于数字货币的历史数据自动检测和深入分析智能合约攻击的架构。除探测攻击外,架构还给予了量化分析和跟踪以太币账户中被盗资产流的方法。这个架构无需修改以太币客户机就可以重放交易,并将其作为fact逻辑执行。随后,Datalog查询被用来检测攻击,这使得架构很容易扩展来检测新的攻击。把被侦测到的交易载入数据资料库,并开展交易数据分析,以追踪失窃的资金。用Horus做的纵向研究涵盖了整个以太币数字货币的历史,从2015年8月到2019年8月,其中包含超过300万个智能合约。其中一个最基本的科学研究问题是,这些年的努力是否减少了在野攻击。要确定这个问题的答案,首先要确定攻击是持续发生还是偶尔发生。虽然大部分众所周知的攻击都有相当大的货币价值,但人们还是想知道,较小的、持续的攻击是否会更频繁,而且仍未被发现。。