
原文編譯: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代幣的大規模轉移;
監控針對你的智能合約的閃貸交易;
通過升級依賴程序來監控潛在的漏洞;
監控異常狀態(例如,計算費用);
任何針對協議特定屬性的自定義監控。
原文鏈接