智能合約是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智能合約概念于1995年由NickSzabo首次提出。智能合約的目的是提供優于傳統合約的安全方法,并減少與合約相關的其他交易成本。
漏洞概述:
因為以太坊智能合約中是可以調用外部的合約代碼,外部合約可能是攻擊者構造的惡意不安全的合約代碼,當在轉賬操作時執行代碼,迫使攻擊的合約回調包括自身的代碼,和繞過源代碼的限制發生了重入攻擊事件。
發生重入攻擊漏洞有兩個原因:
安全機構:Atlantis Loans遭治理攻擊,目前損失約為100萬美元:6月11日消息,據安全機構Beosin報道,BSC生態協議Atlantis Loans遭治理攻擊,攻擊者獲得了對合約的控制權,并替換為包含后門功能的合約,以轉移用戶資產,目前損失約為100萬美元。攻擊者于2023年6月7日在GovernorBravo合約中創建惡意治理提案(ID:52),將多個ABep20Delegator合約的admin設置為惡意合約。然后攻擊者投票通過了該提案。[2023/6/11 21:30:13]
1.?調用了外面不安全的合約代碼
Arbitrum生態DEX ArbiSwap疑似Rug Pull:3月2日消息,據Rugdoc.io監測,Arbitrum生態DEX ArbiSwap疑似Rug Pull。相關 Token ARBI 價格短時下跌 100%。Rugdoc.io提醒用戶盡快提取資產并撤銷相關權限。[2023/3/2 12:38:13]
2.?外部合約的函數早于狀態變量的修改
Discord 官方暗示用戶或將可通過其平臺賺取收益:12月1日消息,Discord 官方發推表示,“如果我們告訴你,明天可以開始在 Discord 上賺錢怎么辦。”[2022/12/1 21:15:14]
漏洞分析:
看withdraw函數,我們可以看到它接收了一個_amount參數,將其與發送者的balance進行比較,不超過發送者的balance就將這些_amount發送給sender,同時我們注意到這里它用來發送ether的函數是call.value,發送完成后,它才在下面更新了sender的balances,這里就是可重入攻擊的關鍵所在了,因為該函數在發送ether后才更新余額,所以我們可以想辦法讓它卡在call.value這里不斷給我們發送ether,同樣利用的是我們熟悉的fallback函數來實現。
Messari:三季度Filecoin存儲數據量為211個PiB,環比增長82%:11月6日消息,加密數據研究機構Messari發文表示,Filecoin的網絡使用情況,可以通過存儲用戶和存儲提供商之間的活躍交易中存儲的數據量來衡量;截至第三季度末,通過活躍交易,將近211個PiB存儲在Filecoin網絡上,與上一季度相比增加了82%。[2022/11/6 12:21:42]
當然,這里還有另外一個關鍵的地方——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官方庫中有一個專門針對重入攻擊的安全合約
??本文作者:權星實驗室團隊
來源:金色財經
眾所周知,以太坊是一個正在發生重要變化的區塊鏈網絡。近幾年,去中心化應用程序以及其他區塊鏈技術形式獲得了前所未有的發展,而其中諸多技術均構建于以太坊之上.
1900/1/1 0:00:00近日Opensea出現了多個低價成交的頭部項目,疑似掛單有bug被黑客攻擊,黑客通過低價買到頭部的NFT項目BoredApeYachtClub等等,再立馬高價售出,以此獲利數百ETH.
1900/1/1 0:00:002021萬象伊始?NFT與游戲快速增長在2021年,DeFi、NFT、GameFi、元宇宙等都得到了前所未有的發展。截至2021年底,Dapp領域每天吸引超過250萬個獨立活躍錢包.
1900/1/1 0:00:00幣安孵化次元空間鏈游AWAKEN上線公測Dimensionalspace次元空間發行的“AWAKEN”是一款3K策略卡牌手游。故事發生在一個名為“創世之山”的地獄世界.
1900/1/1 0:00:00幣圈葉秋:1.20主流幣多頭堅挺有望進一步上攻一個人快不快樂?完全取決于他對生活的態度,如果生活不快樂,那一定是態度不對.投資市場也是一樣,一半歡喜一半憂,這是一個金錢重新分配的的地方.
1900/1/1 0:00:00Jan.2022,LesleyDataSource:FootprintAnalytics2021年12月,BoredApeYachtClub(BAYC.
1900/1/1 0:00:00