火星链 火星链
Ctrl+D收藏火星链

DAO:智能合约中的重入攻击

作者:

时间:1900/1/1 0:00:00

智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由NickSzabo首次提出。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。

漏洞概述:

因为以太坊智能合约中是可以调用外部的合约代码,外部合约可能是攻击者构造的恶意不安全的合约代码,当在转账操作时执行代码,迫使攻击的合约回调包括自身的代码,和绕过源代码的限制发生了重入攻击事件。

发生重入攻击漏洞有两个原因:

1.?调用了外面不安全的合约代码

报告:如果SBF没被指控从事欺诈活动,FTX也会因为大量安全问题而倒闭:金色财经报道,正在进行的FTX破产传奇中的一份新中期报告描绘了该交易所资产的不安全程度,并提供了有关公司无能和可能渎职行为的更多细节。该报告表示,如果SBF没有被指控从事欺诈活动,那么FTX及其附属公司可能会因为新报告中概述的大量安全问题而倒闭。报告称,持有价值数千万美元资产的热钱包的密钥没有安全存储,对热钱包本身的依赖违反了标准的行业惯例。FTX和Alameda的数字资产可能永远丢失,除了极易遭到盗窃或黑客攻击外,许多钱包密钥也没有备份。 该报告由公司临时首席执行官JohnRay III和一个外部法律团队编写,对SBF商业行为的混乱进行了更多详细说明,并将其归因于“傲慢、无能和贪婪”。[2023/4/11 13:55:31]

2.?外部合约的函数早于状态变量的修改

Curve原生稳定币 crvUSD或将于下月推出:8月31日消息,Curve 创始人 Michael Egorov 在社群表示,Curve 原生 Stablecoin crvUSD 有可能将于下月推出。此前 Michael Egorov 曾表示 crvUSD 将在今年年底前早些时候推出。目前团队尚未公布 crvUSD 的详细信息。[2022/8/31 12:59:43]

PeckShield:Nody代币NODY发生Rug Pull,价格下跌93%:7月4日消息,派盾(PeckShield)监测显示,分布式节点基础设施项目Nody代币NODY发生Rug Pull,代币价格下跌93%。[2022/7/4 1:48:48]

漏洞分析:

看withdraw函数,我们可以看到它接收了一个_amount参数,将其与发送者的balance进行比较,不超过发送者的balance就将这些_amount发送给sender,同时我们注意到这里它用来发送ether的函数是call.value,发送完成后,它才在下面更新了sender的balances,这里就是可重入攻击的关键所在了,因为该函数在发送ether后才更新余额,所以我们可以想办法让它卡在call.value这里不断给我们发送ether,同样利用的是我们熟悉的fallback函数来实现。

比特币市值占比跌至约43%:金色财经消息,据coinglass数据显示,比特币当前的市值占比为43.47%,有意思的是,此前比特币接近7万美元时其市值占比也大约在43%。[2022/6/19 4:37:49]

当然,这里还有另外一个关键的地方——call.value函数特性,当我们使用call.value()来调用代码时,执行的代码会被赋予账户所有可用的gas,这样就能保证我们的fallback函数能被顺利执行,对应的,如果我们使用transfer和send函数来发送时,代码可用的gas仅有2300而已,这点gas可能仅仅只够捕获一个event,所以也将无法进行可重入攻击,因为send本来就是transfer的底层实现,所以他两性质也差不多。

2016年6月以太币组织TheDAO被攻击,攻击者利用两个代码漏洞创建子合约提取了360万个以太币。接下来我们简单说一下这个事件

攻击者利用the?DAO函数智能合约中splitDAO()函数,重复对DAO资产进行重入攻击,不断从项目的资产里面分离出DAO资产并转移到自己的账户中

1.?创建钱包,调用splitDAO函数

2.?创建一个分割提案到一个新的钱包地址

3.?等待再调用splitDAO函数

4.?成功获取了ether

?解决方法:

1.?使用其他转账函数

进行以太坊转账时发送给外部地址时使用Solidity的内置函数,这将不足以调用另一份合约.

2.?先修改状态变量

这种方式就是确保状态变量的修改要早于转账操作,即Solidity官方推荐的检查-生效-交互模式(checks-effects-interactions)。

1.?使用互斥锁

互斥锁就是添加一个在代码执行过程中锁定合约的状态变量以防止重入攻击。

2.?使用OpenZeppelin官方库

OpenZeppelin官方库中有一个专门针对重入攻击的安全合约

??本文作者:权星实验室团队

来源:金色财经

标签:DAOALLTHEENDExtractoDAO BullMALLY币The Simpsons InuTREND

比特币行情热门资讯
UND:数字资产价值投资(二十五)智能合约

作者?|?武大饼众所周知,区块链改变了整个加密空间。该技术的简单性、不变性、去中心化和安全性等关键特性为业务流程带来了重大变化。然而,消除中介是使区块链更受欢迎的特征之一.

1900/1/1 0:00:00
NFT:NFT助力,生肖贺岁更添新意

十二生肖作为一个经久不衰的中华民俗文化,是十二地支的形象化代表,至今仍被广为流传。作为一种民族文化符号,十二生肖被制作成了各种艺术作品来用作收藏和纪念,像贴画、剪纸、邮票等等.

1900/1/1 0:00:00
Voyage:币圈白峰 1.19 BTC/ETH行情分析

  币圈白峰??1.19BTC/ETH行情分析  在一个该出手的地方没有出手,顶多错失利润,但在一个不该出手的地方,管不住自己的手,那造成的将是不必要的损失,做交易,虽不能做到弹无虚发.

1900/1/1 0:00:00
CHE:金色趋势丨BTC熊市已来?

Ledger联创反驳Charles Hoskinson:开源固件钱包安全性较低:5月20日消息,Ledger联合创始人Eric Larchevêque澄清说.

1900/1/1 0:00:00
元宇宙:西班牙知名媒体:元宇宙空间设计是门大生意

西班牙《世界报》网站1月21日发表题为《元宇宙架构的巨额生意》的报道,报道认为,元宇宙空间设计是门大生意。全文摘编如下:虚拟现实对人类意味着什么?这个问题的完整答案唯有时间才能给我们.

1900/1/1 0:00:00
AUC:华语地区最佳游戏公会LGG:游戏公会为何是元宇宙的基础设施丨追风社 AMA

2022年1月20日19:00,LGG公会做客追风社,与大家分享AMA内容的嘉宾是LGG公会发起人Jay。为大家分享主题是:游戏公会为何是元宇宙的基础设施;以下是本次AMA的文字整理.

1900/1/1 0:00:00