区块见闻 区块见闻
Ctrl+D收藏区块见闻

ethereum:Aave经历惊魂一刻,这个漏洞差点酿成一场危机_AVE

作者:

时间:

12月3日,知名DeFi借贷协议Aave部署了V2版本,尽管我们并没有被雇佣来查看其代码,但在次日,我们还是对其进行了简单审查。很快,我们就发现了一个影响AaveV1和V2版本合约的漏洞,并报告了该问题。在将我们的分析发送给Aave的一小时内,他们的团队修复了该漏洞,以减轻潜在影响。如果该漏洞被利用,这一问题将破坏Aave,并影响外部DeFi合约中的资金。据悉,有5家不同的安全公司审查了Aave代码库,其中有一些使用了形式化验证。然而,这个漏洞并没有被这些公司注意到。这篇文章描述了这一问题,以及“该漏洞是如何逃过检测”等其它的一些经验教训。此外,我们也在开发一种新的Slither检测器,它可以识别这一漏洞,从而为以太坊社区提高安全性。漏洞

Aave使用了delegatecall代理模式,这一点我们在过去的文章中已经详细讨论过了。简单来看,每个组件被分成了两个合约:包含实现的逻辑合约,包含数据并使用delegatecall与逻辑合约进行交互的代理。在逻辑合约上执行代码时,用户与代理合约进行交互。这是delegatecall代理模式的简化表示:

太阳币SUN将与JustSwap合作开启新一期质押挖矿,今晚11:30开放八大矿池:据太阳币基金会社区公告显示,太阳币SUN挖矿第三轮减产将于?2020/10/28,?23:30(香港时间)正式开始,并将继续和Justswap.org合作持续新的一期为期21天的质押挖矿,同步上线八大矿池。

本期开启的矿池有:TRX-SUN?LP矿池,TRX-JST?LP矿池,TRX-USDT?LP矿池,TRX-WBTT?LP矿池,TRX-WIN?LP矿池,TRX-USDJ?LP矿池,?以及SUN与TRX的单币质押矿池。对于已经参与的挖矿,用户可直接在挖矿上线日一键点击即可挖矿。无需提取,按照官方提供流程,即可点击官网“继续挖矿”。更多详情见原文链接。[2020/10/28]

在Aave中,LendingPool是使用delegatecall代理的可升级组件。而我们发现的漏洞依赖于这些合约中的两个功能:可以直接调用逻辑合约的函数,包括初始化函数;借贷池具有其自己的delegatecall功能;初始化可升级合约

声音 | 黄奇帆:区块链技术主要有八大应用场景 同时面临三大问题:中国经济周刊今日发文《听黄奇帆讲“区块链”》。文中,中国国际经济交流中心副理事长黄奇帆表示,区块链技术属于信息技术、记账技术,从应用视角来看,基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动,无论是公有链、私有链,还是联盟链,其首要目标是确保信息数据的安全、有效、无法篡改。目前,在许多领域的应用都有很大进展,如金融、供应链和物流、公共服务、认证和公证、公益和慈善、数字版权开发、保险、信息和数据共享等八大方面。总体而言,区块链通过创造信任来创造价值,使得离散程度高、管理链条长、涉及环节多的多方主体能够有效合作,从而提高协同效率、降低沟通成本。

同时,黄奇帆表示,区块链技术在理论和实践上至少有三个问题无法回避:一是存储空间的相对稀缺性。二是去中心化的相对性。三是安全的相对有效性。[2019/11/13]

这种可升级模式的一个限制是,代理不能依赖逻辑合约的构造函数进行初始化。因此,状态变量和初始设置必须在公共初始化函数中执行。在LendingPool中,初始化函数设置提供者地址:

动态 | 八大加密交易所的钱包持有近100亿美元BTC:10月8日,根据提供实时和历史区块链数据的推特账户The Token Analyst的说法,比特币(BTC)全部流通供应的6.7%(接近120万枚)被保存在八个主要加密货币交易所的钱包中。其中,火币集团(Huobi Group)钱包中的比特币数量最多, Binance和Bitmex正在争夺第二名。[2019/10/9]

initializer调节器防止多次调用initialize,它要求满足以下条件为true:

以下:初始化允许在相同交易中多次调用调节器;isConstructor是代理执行代码所需的;revision>lastInitializedRevision允许在合约升级时再次调用初始化函数;虽然它通过代理,预期可正常工作,但是也允许任何人直接在逻辑合约上调用initialize函数。一旦逻辑合约被部署:revision将为0x2(LendingPool.sol#L56);lastInitializedRevision将为0x0;而漏洞是:任何人都可以在LendingPool逻辑合约中设置_addressesProvider。任意delegatecall

公告 | D社发布声明:“被报案”图片存在八大造假点 有PS痕迹:近日,腾讯科技、凤凰网等传统主流媒体相继发文声称“D社区块链项目因涉已被立案”。对此,D社官网发文指出:网上流传的两张报案图片均有PS痕迹,且存在法条编号过时、案件编号地区不存在、行文格式不规范等八大造假点。[2019/9/16]

LendingPool.liquidationCall直接委托调用由_addressProvider返回的地址:

这允许任何人启动LendingPool逻辑合约,设置受控地址提供者,并执行任意代码,包括selfdestruct。利用漏洞的场景:任何人都可以破坏借贷池逻辑合约。下面是一个简化的视觉表示:

动态 | IBM大学合作部启动区块链等八大技能领域的产业技能学院项目:据凤凰网商业报道,近日举行的2019 IBM中国论坛“智能+”时代技术与产学合作峰会上,IBM大学合作部宣布启动人工智能等八大技能领域的产业技能学院项目,IBM产业技能学院由IBM全球大学合作部联合世界一流高校师资团队共同打造,覆盖人工智能、数据科学、云计算、区块链、物联网、网络安全和设计思维等八个快速发展的技术领域,以理论知识、技术实验、行业案例与创新方法四部分构成课程体系,以业界公认的数字徽章和面向行业开放的职位发布平台为学生提供择业导航。目前全球已有多家大学采用了该项课程计划。[2019/6/6]

缺乏存在检查

就问题本身而言,已经是很严重了,因为任何人都可以破坏逻辑合约,并阻止代理执行借贷池代码。然而,在代理合约中使用OpenZeppelin会加剧这一问题的严重性。我们在2018年撰写的一篇博客文章中强调,没有代码的合约委托调用能在不执行任何代码的情况下返回成功。尽管我们最初发出警告,但OpenZeppelin并未在其代理合约中修复回退函数:

如果代理委托调用了一个已破坏的借贷池逻辑合约,则代理将返回成功,而不会执行任何代码。由于Aave可以更新代理以指向另一个逻辑合约,因此这种漏洞利用不会持久。但在可利用此漏洞的时间范围内,任何调用该借贷池的第三方合约,都将表现为某些代码已被执行,但实际却并未执行。这将打破很多外部合约的基本逻辑。受影响的合约

所有AToken:AToken.redeem调用pool.redeemUnderlying的代码库(MyV2CreditDelegation.sol);如果我们发现的问题被利用,则Aave之外的很多合约都会受到各种方式的影响。确定一份完整的名单是困难的,我们没有试图这样做。这一事件凸显了DeFi可组合性的潜在风险,以下是我们找到的一些受影响的合约:DefiSaverv1(AaveSaverProxy.sol)DefiSaverv2(AaveSaverProxyV2.sol)PieDao–pieoven(InterestingRecipe.sol#L66)修复及建议

幸运的是,在我们报告这个漏洞之前,还没有人利用它。Aave对其两个版本的借贷池调用了initialize函数,从而保证了合约的安全:LendingPoolV1:0x017788dded30fdd859d295b90d4e41a19393f423修复时间:2020年12月4日07:34:26PM+UTCLendingPoolV2:0x987115c38fd9fd2aa2c6f1718451d167c13a3186修复时间:2020年12月4日07:53:00PM+UTC长期而言,合约部署者应:在所有逻辑合约中添加一个构造函数以使initialize函数无效;检查delegatecall代理fallback函数中是否存在合约;仔细检查delegatecall陷阱,并使用slither-check-upgradeability;形式化验证合约并不是防弹的

Aave的代码库经过了形式化验证,区块链领域的一个趋势是,人们会认为安全特性是圣杯。用户可能会尝试根据这些特性的存在与否,对各种合约的安全性进行排序。我们认为这是危险的,它会导致错误的安全感。Aave形式化验证报告列出了LendingPool视图函数以及池操作的属性。例如,已验证的属性之一是:

然而,如果逻辑合约遭到破坏,则该属性可能会被破坏。那如何才能对此进行验证?虽然我们无法访问定理证明或所使用的设置,但很可能证明proof没有考虑可升级性,或者prover不支持复杂的合约交互。这在代码验证中是很常见的。你可以通过对整体行为的假设来证明目标组件中的行为,但是在多合约设置中证明属性是具有挑战性和耗时的,因此必须进行权衡。形式化验证技术很棒,但是用户必须意识到它们覆盖范围很小,并且可能会错过攻击媒介。另一方面,自动化工具和人工审查可帮助开发人员以较少的资源来提升代码库的安全性。了解每种解决方案的优点和局限性,对开发人员和用户而言都至关重要。当前的问题就是一个很好的例子,Slither可以在几秒钟内发现这个问题,受过训练的专家可能会很快指出它,而要用安全特性来检测,则需要付出很大的精力。总结

Aave做出了积极反应,并在发现问题后迅速修复了该漏洞。危机避免了,但最近遭受黑客攻击的其他受害者却没有那么幸运。在部署代码并将其暴露于对抗性环境之前,我们建议开发者:查看这里的检查表和训练;将Slither添加到你的持续集成管道中并调查其所有报告;给安全公司适当的时间来审查你的系统;请注意可升级性,至少请审查合约升级反模式,合约迁移的工作方式,以及使用OpenZeppelin的可升级性;我们希望通过分享此信息以及与此问题相关的Slither检测器来防止类似的错误。

标签:ETHSYSethereumAVEETH是什么意思啊Game Engine SystemInverse Ethereum Volatility Index TokenAave USDT

以太坊交易所热门资讯
ETA:投资加密货币的宏观逻辑_今天加密货币为何暴跌

自比特币的诞生发展到现在,数字货币的发展超过11年了。虽然时间不长,但是这个领域却已经迭代了若干轮,涌现了大量的新赛道。在这些新赛道中涌现了无数明星.

STA:以太坊、莱特币和BCH本轮行情走势分析_Cindicator

昨天我在文章中和大家分享了对以太坊的猜想。简单地说就是我相信以太坊未来市值很有可能超过比特币,但如果在本轮行情中币价就达到甚至超过3800美元,就证明行情的风险太高了.

UBU:手把手带你参与以太坊2.0主网质押_MXRP价格

来源|someresat.medium.com 本文基于ConsenSys的Teku客户端,详细讲解如何参与以太坊2.0主网质押.

ANK:八大角度对比以太坊2.0 Staking服务商,寻找风险和收益的平衡点_Staking

作者:Dmash步入2020年的最后一个月的首日,以太坊2.0信标链如期启动创世,标志着以太坊正式跨入了2.0新纪元时代,给本就火爆的市场再添一把动力.

ING:星球日报 | 统计显示已有54家交易所下架XRP;波场上线非同质化代币标准TRC-721_ALETH

头条 已有54家交易所下架XRP据推特网友,今天早上XRP在192家交易所上市,目前仅有138家交易所。在20小时内,有54家交易所下架XRP.

DAPP:Dapp市场年度报告:2020年交易量超2700亿美元,同比增长近1200%_EFI

编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。12月18日,DappRadar发布了2020年DeFi报告,报告指出DeFi项目将在2021年成为加密经济的基础.