智能合約是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智能合約概念于1995年由NickSzabo首次提出。智能合約的目的是提供優于傳統合約的安全方法,并減少與合約相關的其他交易成本。
漏洞概述:
因為以太坊智能合約中是可以調用外部的合約代碼,外部合約可能是攻擊者構造的惡意不安全的合約代碼,當在轉賬操作時執行代碼,迫使攻擊的合約回調包括自身的代碼,和繞過源代碼的限制發生了重入攻擊事件。
發生重入攻擊漏洞有兩個原因:
比特幣閃電網絡容量增至5147BTC:金色財經報道,1ML數據顯示,當前比特幣閃電網絡節點為15,966個,過去30天減少0.29%;通道數量為75.779個,較一個月前減少了0.5%;網絡容量為
5147.42枚BTC,月漲2%。[2022/12/24 22:05:27]
1.?調用了外面不安全的合約代碼
2.?外部合約的函數早于狀態變量的修改
Celsius 第二次聽證會時間推遲至北京時間 8 月 17 日 2:00:8月4日消息,借貸平臺 Celsius 在 Twitter 上表示,由其客戶組成的債權人委員會的工作正在推進中,應其要求第二次聽證會時間已由此前的 8 月 10 日延遲至北京時間 8 月 17 日 2:00,屆時將繼續推進訴訟程序。[2022/8/4 4:46:12]
漏洞分析:
看withdraw函數,我們可以看到它接收了一個_amount參數,將其與發送者的balance進行比較,不超過發送者的balance就將這些_amount發送給sender,同時我們注意到這里它用來發送ether的函數是call.value,發送完成后,它才在下面更新了sender的balances,這里就是可重入攻擊的關鍵所在了,因為該函數在發送ether后才更新余額,所以我們可以想辦法讓它卡在call.value這里不斷給我們發送ether,同樣利用的是我們熟悉的fallback函數來實現。
Convex Finance的DNS被劫持,官方稱已修復此問題并正調查此事:6月24日消息,CRV質押和流動性挖礦一站式平臺Convex Finance今日發推文稱,Convex Finance的DNS被劫持,促使用戶批準該網站上某些交互的惡意合約,已驗證合約的資金不受影響。目前問題已得到修復,但調查仍在進行中。Convex已設置備用域作為用戶的預防措施,即convexfinance.fi和frax.convexfinance.fi,在對DNS劫持進行調查時,鼓勵用戶使用這些URL與站點進行交互。
Convex Finance發現目前已有5個地址批準了惡意合約,并呼吁這些地址及時和官方取得鏈接。
此外根據PieDao團隊核心成員Alexintosh的推文,Convex Finance正確的合約地址為0xF403C135812408BFbE8713b5A23a04b3D48AAE31,而黑客的合約地址為0xF403a2c10B0B9feF8f0d4F931df5d86aD187AE31。前后的4位數都一樣,請用戶注意辨別。[2022/6/24 1:28:41]
萬事達卡高管:看好加密貨幣,大規模采用“宜早不宜遲”:金色財經報道,萬事達卡新產品開發和創新副總裁 Harold Bossé 表示,區塊鏈技術和數字資產的大規模采用遲早會發生。如今全世界有數百萬人在消費和發送數字資產。他們是早期采用者和新采用者,但我們已經轉向大眾市場,并且這將是金融機構進入該領域的一個非常重要的方面。
然而,目前有許多挑戰阻礙了企業進入市場,Bossé 說:缺乏高級管理層的理解、圍繞可擴展性、成本和速度的商業原理以及監管問題。除非他們絕對確定這筆錢是好錢,否則沒有人會在區塊鏈上使用數字資產。[2022/5/25 3:39:17]
當然,這里還有另外一個關鍵的地方——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官方庫中有一個專門針對重入攻擊的安全合約
??本文作者:權星實驗室團隊
來源:金色財經
三、眾多大V的喊單 ???Shib的成功離不開大V的支持和營銷,幣圈最有用的大V便是馬斯克,他今年來多次喊單的狗狗幣暴漲,一個不斷增發的meme幣在不斷的喊單下,都漲了幾百倍.
1900/1/1 0:00:00比特幣在觸底34000美金附近之后,迎來了周末的震蕩行情。整體趨勢上并沒有一個明顯的反轉,短線上有一些止跌信號但是空投依然占上風.
1900/1/1 0:00:00???MetaLand是存在于數字時代元宇宙當中的新大陸,MetaLand是人類數字時代元宇宙發展歷史的縮影,在這里,全球玩家可以深度參與開辟、拓荒、建設、城市化、現代化五大階段.
1900/1/1 0:00:00Stargate投票通過“新增支持Circle歐元穩定幣EUROC”的提案:6月4日消息,據相關頁面信息,Stargate 投票通過“新增支持Circle歐元穩定幣EUROC”的提案.
1900/1/1 0:00:00據區塊鏈瀏覽器TRONSCAN數據,過去十二周,TRX連續處于通縮狀態,通縮量達1.63億枚TRX.
1900/1/1 0:00:00原文作者:KyleHarrison原文翻譯:blockunicorn 什么是品牌? 在1950年代,當品牌迎來DonDraper風靡一時的全盛時期,人們將品牌認知度作為識別質量和信任度的捷徑.
1900/1/1 0:00:00