智能合約是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智能合約概念于1995年由NickSzabo首次提出。智能合約的目的是提供優于傳統合約的安全方法,并減少與合約相關的其他交易成本。
漏洞概述:
因為以太坊智能合約中是可以調用外部的合約代碼,外部合約可能是攻擊者構造的惡意不安全的合約代碼,當在轉賬操作時執行代碼,迫使攻擊的合約回調包括自身的代碼,和繞過源代碼的限制發生了重入攻擊事件。
發生重入攻擊漏洞有兩個原因:
本周比特幣礦工收入升至2260萬美元/天,創2022年6月以來最高水平:金色財經報道,據區塊鏈分析公司Glassnode最新數據顯示,本周比特幣7日均價收盤上漲35.8%,從2015年開始只有16天出現過這種現象,隨著價格反彈比特幣周交易量的月平均數已經達到30.95萬筆/天,這是自2021年4月以來的最高水平,歷史上只有不到12.2%的交易日的交易活動比本周更多。此外,比特幣鏈上新增實體的數量達到12.2萬個/天, 歷史上,只有10.2%的交易日體現了更高的新用戶采用率。比特幣礦工成為市場復蘇的受益者,挖礦收入飆升到2260萬美元/天,已升至2022年6月以來的最高水平。[2023/3/23 13:21:37]
1.?調用了外面不安全的合約代碼
保時捷中國“911–夢想家”系列數字藏品將于1月23日正式發行,車主預定通道已開啟:1月11日消息,保時捷中國“911–夢想家”系列數字藏品將于1月23日正式發行,本次911-夢想家系列藏品共限量發售996個,藏家的夢想家之旅會從一輛白色的保時捷911數字藏品開始,藏家在擁有此輛“啟程”款數字藏品后,可以此位夢想畫布后續進行主題更換,從夢境、永恒、專屬、極致、冒險和先鋒六大不同主題中選擇最喜愛的一個主題,為夢想添色,最終得到一臺擁有獨一無二皮膚的911數字藏品。
同時,藏家會擁有包括實物禮品和線下活動名額等額外權益。保時捷中國希望未來可以與藏家一起打造深度共創的Web3.0社區。
目前,車主預定通道已于2023年1月9日00:00正式開啟。[2023/1/11 11:05:21]
2.?外部合約的函數早于狀態變量的修改
FTX債務人:FTX捐款的領款人自愿返還將避免訴訟程序:12月20日消息,FTX債務人宣布,今日宣布已與接受FTX債務人、SBF、其他職員或負責人(統稱“FTX出資人”)捐款或其他款項的領款人接洽。這些領款人被要求按照指示將這些資金返還給FTX債務人。“FTX債務人”正與這些領款人合作,確保該等款項迅速歸還“FTX產業”,使客戶及債權人受益。
如果此類付款不是自愿退還的,FTX債務人打算向破產法院提起訴訟,要求退還此類付款,利息從任何訴訟開始之日起產生。[2022/12/20 21:55:22]
數據:當前Solana生態總市值為139.69億美元:金色財經消息,據CoinGecko最新數據顯示,當前Solana生態總市值為139.69億美元(截至發稿時為13,969,863,974美元),24小時交易額為572,799,211美元。[2022/8/7 12:08:08]
漏洞分析:
看withdraw函數,我們可以看到它接收了一個_amount參數,將其與發送者的balance進行比較,不超過發送者的balance就將這些_amount發送給sender,同時我們注意到這里它用來發送ether的函數是call.value,發送完成后,它才在下面更新了sender的balances,這里就是可重入攻擊的關鍵所在了,因為該函數在發送ether后才更新余額,所以我們可以想辦法讓它卡在call.value這里不斷給我們發送ether,同樣利用的是我們熟悉的fallback函數來實現。
當然,這里還有另外一個關鍵的地方——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官方庫中有一個專門針對重入攻擊的安全合約
??本文作者:權星實驗室團隊
來源:金色財經
Tags:FTXDAOALLTHEBONSAI Vault (NFTX)DAO MakerKALLYMothership
中國有些成語“一丘之貉、狼狽為奸”,形容的正是一群人同流合污的景象。陳彬毅(音譯),英文名BinyiChen,據英文領英等信息,畢業于上海交通大學,是一個不折不扣的名牌大學生.
1900/1/1 0:00:00近日,YouTube游戲主管RyanWyatt做客DelphiDigital旗下MetaverseMusings最新一期節目.
1900/1/1 0:00:00今日行情分析 ?大餅昨日晚間最高觸及42545一線后依舊是承壓回落,直至凌晨最低觸及41557一線,目前幣價運行在41800附近.
1900/1/1 0:00:002022年1月18日MulticoinCapital宣布和JumpCrypto一起領投Metaplex4600萬美元的戰略投資.
1900/1/1 0:00:00去年大放異彩的DeFi,以Uniswap、Compound、AAVE等為代表的DeFi1.0,采用了流動性挖礦模式,引爆了整個加密領域。今年的表現卻是暗淡許多,人們逐漸發現了流動性挖礦的弊端.
1900/1/1 0:00:00LYCC的目標是建立一個完善的DeFi生態系統,為用戶提供完備的去中心化金融基礎設施。DeFi(DecentralisedFinance),即“去中心化金融”,其核心是開放公平,互聯互通.
1900/1/1 0:00:00