人工对智能合约的代码安全审计测评

通过手工分析3,855份可疑智能合约,我们收集了一些有趣的观察结果,这些数据与更广泛的以太坊关于社会工程攻击的讨论有关。请注意1[相同代码的多个版本]:众所周知,绝大多数智能合约在OrouZeppelunConetracts库文件应用了安全模式、修饰符和抽象类。然而,尽管在预处理阶段删除了所有重复的智能合约,但对可疑智能合约进行的手工分析表明,在这些自定义代码稍加修改即可复用的大规模合同集群中,自定义代码数量很大。这种可复用的定制代码模式在可语义化的集合中也得到广泛的应用,这表明代码复用在智能合约中非常普遍,从而导致不安全模式的传播。


观测2[没有关于社会工程攻击的测试网络试验的证据]:为了追查社会工程攻击模式的早期试验迹象,应用来自两个测试网络(Ropsten和Kovan)的开放源码合同来补充数据集。最早的假设是,首次实验开发社会工程攻击可能会首先在测试网络中流行起来。但与Mainnet相比,在3,165个可疑合约中有937个(29.6%)是可以获得的,Ropsten为11.9%,Kovan为16.0%。由此,测试网络降低了社会工程契约遭遇语义可用性的可能性。


安全审计公司检测,为进一步评估拟议的攻击,我们发出了两份调查问卷,如上图所示。至下列7家智能合约公司,如Audithor、CertiK、CoinFabrik、ConsenSys、Dedaub、TrailofBits,以及选择匿名的公司。每个公司的实际智能合约开发人员和安全审核员(每个公司的一名参与者)(6名男性和1名女性专业人员)提供了答复。以上是专家们对六种社会工程攻击的回答。竖直红色表示对六次攻击的平均反应。研究结果显示,专家们同意,社会工程攻击可能对其客户造成伤害。另外,专家认为社交工程攻击不大可能被人类使用者发现。


分享: