来自智能合约中的威胁:去中心化应用安全威胁Top10榜单

作者:网友投稿 时间:2018-04-20 01:25

字号

NCC Group 发起了一个名为 2018 年去中心化应用安全 Top10 ( Decentralized Application Security Project)的项目。据悉,该项目会与类似于 OWASP 的方式发布去中心化应用安全领域中,每年的十大安全威胁报。与 OWASP 开放合作透明的运作理念相似,该项目也是以集成合作的方式披露智能合约中存在的安全漏洞。

本文是第一版的 DASP Top10 2018 内容,详细描述包括递归调用漏洞、权限控制漏洞、算数问题、返回值问题、拒绝服务、伪随机在内的智能合约威胁。因翻译时间所限,难免出现疏漏,在 FreeBuf 上分享仅为抛砖引玉之用,望对去中心化应用感兴趣的同学在此多指正、多交流。

Proponen-un-límite-de-120-millones-para-la-criptomoneda-Ethereum-1.jpg

一、递归调用漏洞

该漏洞的利用有一个知名的案例,以太坊(Ethereum)漏洞。在首次发现以太坊存在这个问题的时候,很多人都觉的不可思议,在高漏洞造成数千万美元的损失之后,该漏洞可谓直接导致了以太坊的硬分叉之路。

这个漏洞的触发在于外部合约对正在起草的合约进行新的调用,而这个调用发生在初次执行完成之前。对于函数而言,这个调用意味着合同状态发生了改变,调用的合约变得不可信,外部地址却上使用了低层功能。

该漏洞造成的损失:350万 ETH 损失(当时价值 5000万美元)

二、权限控制漏洞

权限控制问题在所有程序中都很常见,而不仅存在于智能合约之中。事实上,在OWASP中该问题也排行第5。我们通常通过公开或者外部函数获取到合约的内容。但如果合约的可视性没有进行良好的安全设置,攻击者也很容易查看并获取合约的隐私内容和内部逻辑,他们能够找到绕过限制的方式。这些漏洞通常在合约使用tx.origin 对调用者进行验证时触发。

漏洞造成的损失:大约15000ETH(当时约为3000万美元)

三、算数问题

整数的溢出并不少见,但这类问题在智能合约中尤其危险。合约中无符号整数的应用非常普遍,大多数开发人员习惯于简化 int 类型(有符号整数)。 如果溢出问题发生,许多良性代码路径会成为攻击者进行信息窃取或拒绝服务的载体。

四、未经核查的返回值问题

这个问题有时也称为无声的失败发送或者未经核实的发送。我们应该尽可能避免在合约中使用低层次的调用,因为返回值如果处理不当会出现很多意外的行为。

Solidity 中有一部分功能是低层函数,如 call() ,callcode(),delegatecall() 和send()。 这些函数在处理错误方面的行为与其他 Solidity 函数完全不同,他们不会回到当前执行的状态,而只会返回布尔值false,程序会继续执行。 

如果这些返回值没有得到核查,就会导致一些预想不到的结果。

五、拒绝服务问题

拒绝服务的情况,包括达到到达了程序的容量上限,意外抛出错误,意外的进程杀死,或者访问控制违规问题。

在去中心化应用、以太坊的世界中,拒绝服务问题往往会是致命的:尽管其他类型的应用程序最终总是可以恢复服务的,但智能合约可能会因一次拒绝服务攻击而永久下线。

有多种原因引发导致拒绝服务,如在合约交易时收到了对方恶意行为的攻击,人为地提高了执行操作消耗的容量,滥用访问控制来获取智能合约的隐私组件,遭到混淆攻击。

这一系列攻击都包括了各种变体,并在未来的时间中攻击方式会继续变化。

漏洞造成的损失:估计为 514,874 ETH(当时约3亿美元)

六、伪随机问题

该漏洞也被称为 “没有什么是秘密的”。

随机问题很难在以太坊中得到纠正。尽管 Solidity 提供了些难以预测值的函数和变量,但很多情况中还是难以保持隐私性。随机性在一定程度上是可预测的,所以恶意用户以此实施攻击。

漏洞造成的损失:超过400 ETH

七、竞争条件问题

由于矿工总是通过外部地址来获得报酬,因此用户可以指定更高的费用来让自己的交易更快地完成。 

而以太坊区块链是公开的,每个人都可以看到其他人尚未完成的交易内容。

这意味着,如果某个用户正在处理问题,恶意用户也可以窃取该解决方案,以较高的费用发起新交易,抢占原始解决方案。 

如果智能合约的开发者不太谨慎,这种情况会导致实际且毁灭性的攻击。

八、时间处理问题

从锁定令牌到在特定时间解锁资金,合约都需要依赖当前时间。 这通常通过 block.timestamp 或其 now 来在 Solidity 中实现。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接