8月17日,區塊鏈投資機構Paradigm研究合伙人、著名白帽黑客samczsun撰文披露了BitDAO在SushiSwapIDO平臺MISO進行的荷蘭拍的智能合約存在安全漏洞,多名白帽黑客聯手從眾籌資金池中拯救回10
}
看看上面這個函數,它似乎被正確地實現了。然而,在我腦海的角落里,有什么東西在提醒著我。那時我意識到我過去曾看到過非常相似的東西。
二、發現
上午9:47
距離今天打印一年多前,我在與Opyn團隊的Zoom視頻通話中,試圖弄清楚如何在遭受毀滅性黑客攻擊后恢復和保護用戶資金。
黑客攻擊手法本身很簡單但很巧妙:它使用一次ETH支付來行使多個期權,因為Opyn合約在循環中使用了msg.value變量。
Bitget繁體字版本全新上線,持續拓展全球市場:據官方消息,Bitget官網繁體字版本正式上線,新合約版本為繁體字地區用戶量身定制,以提高全球多語言用戶的交易體驗。用戶可以在網站右上角語言欄目進行語言切換。
Bitget總部位于新加坡,是一家專注于衍生品的全球數字資產交易平臺。Bitget首發一鍵跟單,是首家同時擁有正反向合約功能的交易平臺,幣種豐富,功能全面,匯聚數千知名交易員,累計注冊用戶超過120萬。[2021/3/19 18:59:32]
雖然處理代幣支付涉及每個循環迭代的單獨transferFrom調用,但處理ETH支付只是檢查msg.value是否足夠。這允許攻擊者多次重復使用相同的ETH。
回到今天,我意識到我正在看到的是兩個完全相同的漏洞,只是形式不同。在委托調用中,msg.sender和msg.value被持久化。這意味著我應該能夠批量調用commitEth并在每個commitment中重復使用我的msg.value,這將允許我在拍賣中能夠免費出價。
Bitget合約大數據中心:BTC多空持續膠著:據Bitget合約大數據中心行情播報,截至今日11:00,Bitget交易所BTC/USDT合約過去24小時交易量高達12.6億美金,其中:盈利用戶占比46%,多頭盈利27%,空頭盈利21%;虧損用戶占54%,多頭虧損23%,空頭虧損29%。此外,Bitget正向合約當前盤口價差在0.5USDT左右,合約基差在0.2USDT左右。Bitget合約分析師表示,BTC四小時線看,布林帶收縮狀態,MACD在零軸上方金叉運行。[2020/9/1]
上午9:52
我的直覺告訴我這是真實的交易,但我無法在沒有實際驗證的情況下確定。我迅速打開Remix并編寫了一個概念驗證。
令我沮喪的是,我的主網分叉環境之前不久被完全損壞了。我一定是在倫敦硬分叉期間不小心弄壞了它。有這么多資金正處于風險之中,而我卻沒有足夠的時間。我很快在命令行上拼湊了一個簡陋的主網分叉并測試了我的漏洞。結果跟我想的一樣。
動態 | 因已解決與存款相關垃圾郵件攻擊 Bitfinex取消存款費用:Bitfinex已經宣布取消低于1000美元加密貨幣或穩定貨幣的存款費用。但目前存入法定貨幣仍然要收取0.1%的手續費,且存在60美元最低存款額度限制。Bitfinex的首席技術官Paolo Ardoino表示,由于已解決與存款相關垃圾郵件攻擊問題,所以不再需要支付小額存款費用。據悉,Bitfinex于2017年12月首次引入存款收費制度,以阻止大量旨在向其系統發送垃圾郵件并降低其服務速度的小額存款。(Decrypt)[2019/12/19]
上午10:13
在對外報告這個漏洞風險之前,我給我的同事GeorgiosKonstantopoulos打了電話,讓他??們再看一遍。在等待回應的同時,我又回到合約中尋找確定嚴重性的方法。在這種情況下,能夠免費參加拍賣是一回事,但能夠竊取所有其他參與者的出價則是另一回事。
公告 | 韓國交易所Upbit將于3月13日12:00暫停THETA存取款:韓國虛擬貨幣交易所Upbit公告稱:由于THETA主網遷移,將于3月13日12:00暫停THETA的存取款服務,待THETA主網遷移完成并穩定后恢復。[2019/3/11]
我注意到在我最初的掃描過程中有一些退款邏輯,但當時我并未多想。現在,這已是一種讓ETH退出合約的方法。我很快檢查了我需要滿足哪些條件才能讓合約為我提供退款。
令我驚訝的是,我發現發送的任何超過拍賣硬上限的ETH都會獲得退款。即使達到硬上限,這也適用,這意味著合約不會完全拒絕交易,而是簡單地退還您的所有ETH。
突然間,我發現的這個漏洞變得巨大。我不是在處理一個讓你出價可以超過其他參與者的漏洞。我在看的是一個價值3.5億美元的漏洞。
動態 | 韓國Allstarbit交易所疑似遭受攻擊:據newstomato報道,今日(10月17日)韓國虛擬貨幣交易所Allstarbit向用戶發送內容為“充值比特幣和以太坊時,將獲得額外10%的虛擬貨幣”的郵件。隨后Allstarbit發出公告解釋稱:“經確認此郵件并非Allstarbit官方發送”,目前Allstarbit尚未解釋是否遭受黑客攻擊。[2018/10/17]
三、披露
上午10:38
在與Georgios確認這個漏洞后,我讓他和DanRobinson嘗試聯系SushiCTOJosephDelong。幾分鐘后,Joseph做出了回應,然后我與Georgios、Joseph、Mudit、Keno和Omakase一起進行了Zoom通話。我就漏洞向其他參與者進行了快速匯報,然后他們開始四處協調響應。整個通話只持續了幾分鐘。
四、準備
上午11:26
在救援行動室里,Mudit,Keno,Georgios和我正在忙著寫一份簡單的救援合約。我們決定最干凈的做法是發起一筆閃電貸,直接購買到硬上限,結束拍賣,然后使用拍賣本身的收益償還閃電貸。這種方法不需要前期準備資金,效果非常好。
下午1:36
當我們完成救援合約的工作時,我們討論了批量拍賣的后續步驟。Mudit指出,即使在拍賣進行時也可以設置一個積分列表,并且在每次ETHcommitment期間都會調用它。我們立即意識到這可能是我們正在尋找的暫停功能。
我們集思廣益,想出了不同的方法來使用這個方法。立即還原是一個顯而易見的解決方案,但我們想要更好的方案。
我考慮添加一個檢查,每個源只能為每個區塊做出一個commitment,但我們注意到該函數被標記為視圖,這意味著Solidity編譯器將使用靜態調用操作碼。我們的方式不允許進行任何狀態修改。
經過一番思考,我意識到我們可以使用積分列表來驗證拍賣合約是否有足夠的ETH來匹配所做的commitment。換句話說,如果有人試圖利用這個漏洞,那么commitment會比ETH多。我們可以很容易地檢測到這一點并還原交易。Mudit和Keno開始編寫測試以進行驗證。
五、救援
下午2:01
通信突圍團隊與救援突圍團隊合并工作以同步進度。他們已經與執行拍賣的團隊取得了聯系,但該團隊希望手動完成拍賣。我們討論了風險并認為某個自動化機器人注意到這筆交易或能夠對其采取任何行動的可能性很小。
下午2:44
執行拍賣的團隊完成了拍賣,消除了直接威脅。我們互相祝賀成功,然后各自解散。這次批量拍賣將在當天晚些時候悄悄結束。不知情的人恐怕不知道剛剛避免了一場多么嚴重的災難。
六、反思
下午4:03
過去的幾個小時讓人感覺很模糊,時間好像靜止一樣。我從相遇這個項目到發現漏洞只用了半個多小時,20分鐘內進行了披露,另外30分鐘內作戰室,三個小時內修復漏洞。總而言之,只用了五個小時就保護了3.5億美元不落入壞人之手。
即使沒有金錢上的損失,我相信所有參與其中的人都更愿意一開始就沒有經歷過這個過程。針對這次事件,我有兩個主要的要點給你。
首先,在復雜系統中使用msg.value很困難。它是一個全局變量,您無法更改并在委托調用中保持不變。如果您使用msg.value來檢查是否已收到付款,則絕對不能將該邏輯置于循環中。
隨著代碼庫復雜性的增加,很容易忘記發生的位置并意外地在錯誤的位置循環某些內容。雖然封裝和釋放ETH很麻煩并且引入了額外的步驟,但如果想要避免這樣的事情,那么WETH和其他ERC20代幣之間的統一接口可能值得一試。
其次,兩個安全組件組合在一起,可能就會得到不安全的東西。我之前曾在可組合性和DeFi協議的背景下聲明過這一點,但這次事件表明,即使是安全的合約級組件也可能以產生不安全的合約級行為的方式混合。這里沒有像“檢查-效果-交互”這樣的包羅萬象的建議,所以你只需要了解新組件引入的額外交互。
我要感謝Sushi的貢獻者,Joseph、Mudit、Keno和Omakase對這個問題的快速響應,以及我的同事Georgios、Dan和Jim在整個過程中提供的幫助,包括審閱了這篇文章。
Tags:BITETHBITGBitgetBitcoin最新價格etherdimensionbitGet交易所代言人bitGet交易所
在2020年初期,DeFi合約的總鎖倉量只有不到10億美元,而在2021年巔峰時期總鎖倉量達到了驚人的900億美元.
1900/1/1 0:00:00作者:胡韜 2021年,是NFT崛起的一年。從NBA?球星的高光時刻,到猿猴、外星人和僵尸JPEG,再到“搬運礦機的藏族婦女”,NFT正在以前所未有的速度推動加密行業“出圈”,越來越多垂直行業也.
1900/1/1 0:00:00本文來自Coinbase博客,作者為Coinbase創始人BrianArmstrong,并由鏈捕手編譯。從一開始,我建立Coinbase就是為了利用加密貨幣的力量并在世界上創造更多的自由.
1900/1/1 0:00:00本文系鏈捕手原創文章,作者谷昱。2020年7月,合成資產協議Synthetix撤銷了基金會,調整為社區自治模式,并啟用一個被稱為“斯巴達理事會(TheSpartanCouncil)”的委托治理理.
1900/1/1 0:00:00本文內容來源于ChainBreakerPodcast2021年7月23日,由Winkrypto、區塊先生以及鏈聞主辦的「ChainBreakerPodcast」播客活動第一期拉開帷幕.
1900/1/1 0:00:00整理:布蘭 當前,大多數加密貨幣交易所都在追求高流動性來使交易者能以較低的滑點執行大宗交易,但這對于散戶投資者而言則需要支付更高的交易費用才能激勵如此大量的流動性.
1900/1/1 0:00:00