日食攻擊(Eclipse attack)
1.日食攻擊是什么?
日食攻擊是通過其他節點實施的網絡層面攻擊, 這種攻擊目的是阻止最新的區塊信息進入到被攻擊的節點, 從而隔離節點。
2.日食攻擊是怎么產生的?
其攻擊手段為:囤積和霸占受害者的點對點連接時隙(slot, 類似時間間隔的意思), 將該節點保留在一個隔離的網絡中, 達到隔離節點的目的。
3.日食攻擊會影響哪些區塊鏈網絡?
目前的比特幣網絡和以太坊網絡已經被證實均受日食攻擊影響。
(1)針對比特幣網絡的日食攻擊:
攻擊者可以控制足夠數量的IP地址來壟斷所有受害節點之間的有效連接。
(2)針對以太坊的日食攻擊:
攻擊者可以壟斷受害節點所有的輸入和輸出連接, 從而將受害節點與網絡中其他正常節點隔離開來。 然后攻擊者日食攻擊可以誘騙受害者查看不正確的以太網交易細節, 誘騙賣家在交易其實還沒有完成的情況下將物品交給給攻擊者。
日食攻擊還可以攻擊以太坊合約, 方法就是讓受害節點無法看清楚區塊鏈信息, 從而延遲節點看清楚智能合約的內部計算可能用到的各個參數, 導致不正確的智能合約輸出, 因而攻擊者可以大撈一筆。
在論文中, 研究者僅用2臺主機就成功的發起了日食攻擊,
4.為什么以太坊網絡比比特幣網絡更容易被日身攻擊?
因為以太坊網絡中的節點通過它們的加密ECDSA公鑰來標識, 值得注意的是, Geth v1.8之前的以太坊版本允許從具有相同單個IP地址的同一臺機器運行無限數量的以太坊節點, 每個節點都具有不同的ECDSA公鑰。 由于生成新的ECDSA公鑰很簡單, 只需要運行ECDSA密鑰生成算法, 我們的攻擊者可以在幾秒鐘內輕松創建數千個以太坊節點ID, 而不會耗費大量計算資源。 因此, 我們的攻擊者生成一組以太坊節點ID, 然后使用協調策略從兩臺主機(每臺主機)僅使用一個IP地址便宜地發起eclipse攻擊。
5.日食攻擊的成本多大
日食攻擊為網絡層面的攻擊, 攻擊者擁有一個僵尸網絡(就算不是黑客, 買點云服務也可以做到`````)就可以發起攻擊, 所以說成本不算很高(在以太坊網絡上甚至兩個主機就可以做到)
6.面對日食攻擊, 我們要怎么辦?
注意平常電腦使用, 避免被惡意控制, 等待官方及時更新最新客戶端, 以免舊客戶端有漏洞而被黑客們利用。
本文作者為U贊發燒友Keen