作者:MetaTrustLabs
在Web3领域,重入漏洞导致了大规模黑客攻击和巨额财务损失,智能合约安全性逐渐面临严峻挑战。由MetaTrustLabs推出的Prover引擎正在引发一场新的安全革命,该引擎也是第一个通过形式验证证明智能合约防重入安全性的解决方案,并提供数学保证。
智能合约安全现状
由于其自治性和不可撤销性,智能合约容易出现安全问题。重入攻击是其中最具毁灭性且可预防的漏洞之一,导致价值数百万美元的黑客攻击。现有解决方案如人工审核、静态分析和模糊测试缺乏数学严密性和可扩展性。它们难以赢得开发者的信任,无法解决此关键问题。
安全公司:BistrooIO遭受重入攻击,损失约47000美元:5月8日消息,据成都链安“链必应-区块链安全态势感知平台“安全舆情监控数据显示,BistrooIO 项目遭受重入攻击,损失1,711,569个BIST(约47000美元),经成都链安技术团队分析,本次攻击原因是由于pTokens BIST代币支持ERC-777的代币标准,其合约在实现transfer调用的时候,会调用_callTokenToSend,进而调用tokensToSend()函数,攻击者在该函数中通过重入方式调用了EmergencyWithdraw函数,造成重入攻击。[2022/5/8 2:58:42]
一个形式验证的解决方案:Prover引擎
动态 | 以太坊君士坦丁堡升级因“可重入”漏洞延期:据PeckShield消息,今天凌晨,以太坊君士坦丁堡代码突然爆出“可重入”漏洞,该漏洞可以用来攻击相关合约修改用户余额或其他关键变量。PeckShield安全人员初步分析发现,在分叉之前一个存储操作至少需要5000gas,这个是远超缺省转账激励的2300gas。但分叉后一个存储只需200gas,这个造成了现有合约再处理转帐时候,如调用了攻击者合约,可以用来修改调用者合约的内部变量,其中可能包括账号余额等。由于该漏洞,以太坊君士坦丁堡升级延期,具体的升级时间将在周五的下一次核心开发者电话会议选出。[2019/1/16]
Prover引擎使用形式方法证明重入安全性,并提供数学证明。它让开发者、审核人员和资助人确信,如果一份合约被证明安全,则肯定不存在重入漏洞。我们在合约层面上定义重入安全性,而不是在追踪层面上定义。如果在任何方法执行期间可能发生的任何潜在的重入调用不会危及状态一致性,则该合约是重入安全的。具体来说,在调用之前修改但在调用之后使用的状态变量不存在。Prover引擎将一份合约分解为每个都只包含一个外部调用的片段。它对每个片段中的状态变量变化进行建模,并检查状态一致性,可扩展到追踪分析难以完成的复杂合约。通过结合所有片段的结果,Prover引擎证明整个合约的重入安全性。此保证在数学上是严格的。开发者可以放心发布,项目方也可以安全使用由Prover引擎证明重入安全的合约。
声音 | 古千峰评DAO损失1.2亿美金“重入漏洞” 重现江湖:昨日,降维安全实验室监测到,成人娱乐系统spankchain支付通道(payment channel)关联的智能合约LedgerChannel遭到了重入攻击,DAO损失1.2亿美金的“重入漏洞” 重现江湖。
对此BTCMedia亚太区CTO古千峰给出两点提示:1.合约开发者不能信任任何用户提供的数据,包括但不限于public/external函数的入参,回调合约的地址等。
2.关键操作必须原子化, 譬如在以太币/代币转账成功后,对应账户的余额修改必须立即执行,假如转账失败,必须通过 revert()等操作抛出异常,回滚状态。[2018/10/11]
Prover引擎的潜在影响
Prover引擎可以通过验证和可扩展的解决方案彻底改变智能合约安全性,实现安全可靠智能合约的广泛采用。它帮助开发者避免昂贵的漏洞,使审核人员能够专注于逻辑问题,为资助人提供识别低风险机会的方式,并建立人们对这项颠覆性技术的信任。我们设想Prover引擎作为实现一套完全由机器和数学(而不仅仅依靠易出错的人为努力)保障的智能合约系统的第一步。智能合约生态值得拥有比目前更可靠的安全基础,形式方法可以提供与区块链本身一样坚实的基础。
通过将形式验证引入区块链,Prover引擎改变了我们对web3安全的看法。它提供了一个机会,让我们不再满足于被动应对,而是主动确保关键系统的正确性。Prover引擎代表着安全领域的革新,为智能合约和区块链技术实现真正的企业应用之路敞开了大门。?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。