近4億美元損失,Solana的黑客攻擊都有什麼共同點?
ChinaDeFi
2022-09-08 11:30
本文约1955字,阅读全文需要约8分钟
如何防止未來類似的黑客攻擊?

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

  • 自一年前以來,Solana 生態系統實現了超高速增長,同時見證了多次黑客攻擊(包括Wormhole、CashioApp、CremaFinance、Nirvana和Slope Wallet),這些黑客攻擊總共造成了近4億美元的損失。

  • 重要的是,這些黑客攻擊(Slope Wallet除外)大多是由於智能合約漏洞,即鏈上協議的編碼缺陷:

  • Wormhole:3.2億美元被盜,原因是缺少帳戶驗證;

  • CashioApp :由於缺少賬戶驗證,導致5000萬美元被盜;

  • Slope錢包:由於助記詞被洩露,400萬美元被盜。


一級標題

一級標題

一級標題


  • 這些黑客有什麼共同之處?

  • 1. 幾乎所有黑客(Slope Wallet除外)都精心設計了一個或多個假賬戶。

  • Wormhole:黑客創建了兩個假的sysvar帳戶來跳過密鑰驗證。

  • CashioApp:黑客創建了8個假賬戶來通過有效性檢查。

  • CremaFinance :黑客創建了一個虛假的帳戶,並使用閃貸竊取費用。


Nirvana:黑客精心製作了一個閃貸賬戶來操縱代幣價格。


  • Slope Wallet:黑客通過洩露的助記詞直接獲取了用戶錢包的私鑰。

  • 2. 所有黑客攻擊都涉及多次交易

  • Wormhole:整個攻擊用了6個交易來完成:第一個tx創建第一個假sysvar帳戶,最後一個tx調用complete_wrapped。

  • CashioApp:整個攻擊從創建所有的假賬戶到發送最後的攻擊交易,期間進行了超過10筆的交易。

  • CremaFinance :每次攻擊至少需要進行3筆交易;創建一個虛假的帳戶,部署一個閃貸程序,發起竊取費用的攻擊;此外,黑客還多次發起10+筆閃貸交易,從不同的代幣池中進行竊取。


Nirvana:攻擊至少進行了2筆交易;部署一個精心設計的閃電貸款接收程序,並調用Solend閃貸。


  • Slope Wallet :整個攻擊抽乾了9000多個錢包,涉及9000多個SOL或SPL代幣轉賬交易。

  • 3. 所有攻擊至少持續幾分鐘(幾個小時甚至幾天)

  • Wormhole:從創建第一個假sysvar賬戶的tx到完成轉賬的tx之間的時間跨度為6個小時。

  • CashioApp:黑客的第一個假賬戶是在交易發生前5天創建的。

  • CremaFinance :這個假賬戶是在第一次攻擊前一個多小時創建的。


Nirvana:兩個交易(部署閃貸接收方和調用Solend閃貸)之間的時間窗口跨度為4分鐘。


Slope錢包:廣泛的攻擊持續至少8個小時。

4. 最大的損失是由於缺少帳戶驗證

前三次黑客攻擊(Wormhole、CashioApp和CremaFinance)的根源在於缺少正確的賬戶驗證。


無論是否是巧合,這些攻擊都造成了很大的經濟損失。

如何防止未來類似的黑客攻擊?

如何防止未來類似的黑客攻擊?

如何防止未來類似的黑客攻擊?

二級標題

二級標題


二級標題

1. 預部署:驗證智能合約的所有輸入帳戶

在編寫Solana智能合約時,要時刻牢記所有輸入都可能被攻擊者偽造,包括所有賬戶和外部程序(即用戶錢包賬戶、PDA賬戶和其他智能合約)。

  • Solana的編程模型將代碼和數據解耦,因此程序中使用的所有帳戶都必須作為數據輸入傳遞。

  • 在幾乎所有情況下,都應該驗證:

  • 賬戶所有權

賬戶簽名者

  • 如果任何內部價格預言機操縱閃電貸款(與大量轉移),需增加約束以防止差異。

  • 二級標題


二級標題


二級標題

2. 部署後:主動使用實時威脅監控

由於所有這些黑客攻擊都涉及跨越至少幾分鐘或幾小時的多個交易,因此可以提前主動檢測可疑交易,並在中間遏制攻擊。

  • 這是Solana的獨特屬性,它允許鏈上威脅監控技術作為一種防禦解決方案,來幫助有效地預防和阻止安全攻擊:

  • 原則上,威脅監控解決方案可能會有幫助:

  • 監控SOL或SPL代幣的大規模轉移;

  • 監控針對你的智能合約的閃貸交易;

  • 通過升級依賴程序來監控潛在的漏洞;

  • 監控異常狀態(例如,計算費用);

  • 任何針對協議特定屬性的自定義監控。


原文鏈接

原文鏈接

ChinaDeFi
作者文库