Defi協議乃至整個區塊鏈安全問題是主流資金無法進入行業的主要因素
原標題:《一文揭秘2021年區塊鏈黑客攻擊頻發的原因》
区块链以无审查著称,是一片鼓励创新的热土,也是滋生犯罪的温床。当年众筹超过1.5亿美金的The Dao被黑客盗币后,进行了硬分叉操作,由此产生了如今的以太坊。自区块链创世以后,各种针对交易所、钱包以及dapp的黑客盗币事件频发。那么,2021年区块链安全领域又经历了何种波澜,后续的处理工作又是如何的呢?
(本文由分佈式資本原創,顧問CertiK高級安全工程師王沛宇,撰文有匪。)
2021年區塊鏈黑客盜幣事件整理
由於2021年市場情緒熱烈,黑客盜幣的金額打破了往年的歷史記錄。截至三季度,統計一共有32起黑客入侵事件導致了15億美金的資產被盜,而去年全年這個數字是1.8億美金。
1)defi協議
Uranium Finance——邏輯漏洞
2021年4月份流動性挖礦協議Uranium受到了攻擊,被攻擊的智能合約是MasterChief的修改版本。 (MasterChief是用於創建質押池並向用戶返還質押獎勵的智能合約。)其中,用於執行“質押獎勵”的代碼出現了邏輯漏洞,使得黑客可以獲得比別人多的挖礦獎勵。黑客抽乾了RAD/sRADS的池子,並將它換成了價值130萬美元的BUSD以及BNB。
Cream Finance——預言機操縱
10月27日,Cream Finance預言機受到操縱。攻擊者從MakerDAO借用DAI來創建大量yUSD代幣,同時通過操縱多資產流動性池(包含yDAI、yUSDC、yUSDT和YTUUSD)來操縱預言機對yUSD的報價。在提高了yUSD的價格後,攻擊者的yUSD價格被人為提高,從而創造了足夠的借款限額以藉走Cream Finance在以太坊v1借貸市場的絕大部分資金。而Cream.Finance於8月30日也曾遭到閃電貸攻擊。
Badger DAO——前端惡意代碼注入
攻擊者獲取了項目方在Cloudflare後台的API Key,以此在網站的前端代碼裡面注入一系列的惡意代碼。當用戶訪問前端網站時,觸發惡意代碼後會發起交易讓用戶去確認。假如用戶確認了那筆惡意交易,就會將通證使用權給到攻擊者。攻擊者就可以通過託管使用權將錢全部轉走。
Anyswap——後台簽名
出事是因為後台簽名時採用了不恰當的值,攻擊者通過兩筆交易來推導出了它簽名的私鑰。
簡而言之,defi協議除了自身的代碼需固若金湯,因其需與其他協議交互的可組合型,業務邏輯也要嚴絲合縫。最重要的是,Defi協議需借助第三方服務(外部預言機、中心化的雲平台等),而這些第三方服務很有可能面臨外部操縱的風險,這也是產品受到黑客攻擊的主要原因。
2)錢包——釣魚信息
舉個比特幣錢包Electrum的例子,當用戶舊版本並連接到攻擊者的節點是,攻擊者通過節點向這個錢包發送釣魚信息。當用戶看見釣魚信息並下載帶有後門的錢包時,黑客便輕鬆掌握了用戶的私鑰。
3)交易所
不同於項目方一旦出事,人們可以通過鏈上公開的交易記錄進行分析;交易所出事只有內部人員知道發生了什麼,那些信息也不會被公開。一般交易所出事來自於這幾個方面:交易所的服務器被黑了,攻擊者訪問到了服務器裡面存在熱錢包的私鑰。交易所的工作人員被釣魚攻擊,然後攻擊者通過工作人員的賬號訪問到內部系統,接觸到了熱錢包的私鑰等等。
資產被盜後的處理方式
關於資產被盜後的處理方式,可以從三個角度(即項目方、交易所以及第三方安全公司)來分析。
項目方一般會採取這幾個解決方式:
1)即時暫停智能合約中的通證轉移和交易服務;對於不能暫停的合約,查看合約裡可以使用的特權函數並屏蔽掉一部分合約的服務,避免合約被再次攻擊。
2)同時向社區發出警告,避免新的投資者把財產放到有漏洞的合約裡面。
3)聯繫第三方安全公司,請求幫助分析漏洞產生的原因,並合作共同修復漏洞。
4)對於被盜資金的去向,假如合約裡面存在黑名單功能;第一時間屏蔽黑客地址,防止黑客進行資金轉移。
5)和安全公司和執法部門合作追回被盜的財產,同時想出合理的補償方案來減少用戶的損失。
從交易所的角度來說,有兩種情況:
1)假如交易所本身被盜,需第一時間暫停所有的提現充值功能,把損失降到最少。交易所保留系統裡面的所有信息(比如說日誌)以便日後做分析使用,聯繫安全公司或者執法部門,幫忙做財產追踪。
2)假如某個項目被黑的話,交易所可以監控黑客相關鏈上地址,如果監測到最新充值的關聯地址,凍結該賬戶。
安全公司需要做到以下幾點:
1)在事件發生之後分析漏洞產生的原因,並修復漏洞。
2)在項目重新上線之前提供安全審計服務,以減少項目重新上線之後的安全風險。
3)發布社區警告,同時查看有沒有別的項目存在相同的漏洞。如果有項目存在相同漏洞,可以通過保密渠道發出警告。
4)通過鏈上技術手段來追踪資金流向以及分析鏈下信息(比如說黑客的IP地址以及設備),幫助執法部門抓到黑客。
那麼,為何安全公司對於漏洞已經層層篩查,還會被黑客有機可趁?事實是,對於某個項目的審計工作只能持續數個星期,而黑客的時間和精力是無限的。他們一旦瞄準某類項目,便會有比審計公司多得多的時間進行研究並展開行動。
今年出現的跨鏈橋項目屢次受到攻擊便是因為此類項目中鎖著大量的用戶資產。其次,跨鏈橋和其他Defi項目的不同的點是:普通Defi項目幾乎100%的邏輯是在智能合約上實現的,而跨鏈橋是web2和web3的結合,是智能合約和傳統後台的結合。非去中心化且存有巨額鎖倉資金的賽道給到了黑客攻擊的機會。
未來區塊鏈安全展望
未來隨著技術的發展,區塊鏈行業會變得日益安全嗎?理論上是的。先說底層技術,首先編寫智能合約的solidity語言是在慢慢變得成熟的。在最近的solidity版本8.0之後,之前比較常見的一種漏洞叫做integer overflow(整數溢出)便銷聲匿跡了。
其次,安全的開源代碼庫也會提高安全係數。 OpenZeppelin代碼庫是由專業人員寫的一個開源的代碼庫,它的代碼質量會相對比較高、比較安全。項目方只需要在代碼庫的基礎上添加想實現的一些功能,便能實現從零開始寫代碼。 https://github.com/OpenZeppelin/openzeppelin-contracts
現在有很多安全工具會對代碼進行檢查;它可以幫助項目方在沒有聯繫安全公司的情況下,找到一些潛在的漏洞,從而提高代碼的安全性。隨著越來越多的技術人員加入到這個領域來,區塊鏈行業的安全壁壘會不斷被加固。
從人為因素出發,項目方需要考慮金融模型以及商業邏輯是否值得推敲,並進行不計其數的測試才能消弭潛在的風險。
總而言之,Defi協議乃至整個區塊鏈安全問題是主流資金無法進入行業的主要因素。環顧Defi出事的所有原因,最主要的還是Defi項目還無法完全去中心化,需要藉助第三方的外部服務。 Defi行業在安全性上達到無懈可擊,是這一賽道項目必需實現的目標(尤其對中心化嚴重的跨鏈賽道而言),期待行業下一周期跑出擁有全新業務邏輯的Defi產品來!
展開全文打開碳鏈價值APP 查看更多精彩資訊