<em id="5xgjh"></em>
    <nav id="5xgjh"><code id="5xgjh"></code></nav>
  1. <sub id="5xgjh"><address id="5xgjh"></address></sub>
    <form id="5xgjh"></form>
    <sub id="5xgjh"><address id="5xgjh"></address></sub>
      <sub id="5xgjh"></sub>
    1. <nav id="5xgjh"></nav>

        首頁 > 安全 > 正文
        分享到:

        以太坊又被爆重大漏洞,七成節點一度出現癱瘓風險

        時間:2018-06-29 09:05:08 來源:一本區塊鏈 評論:0 點擊:0
          來源:一本區塊鏈(ID:yibenqkl)

          禍不單行。比特幣擊穿6000美元底線后,以太坊又爆隱患。

          今天凌晨,區塊鏈安全公司PeckShield披露了一個安全漏洞:通過發送一個惡意報文,攻擊者能向以太坊發動攻擊。一旦成功,以太坊2/3的節點將停擺,導致一場地震。

          在區塊鏈安全的世界里,安穩難求,步步驚心。

          01 “致命報文”

          這個漏洞,被命名為:“致命報文”。

          它出現在以太坊官方客戶端geth上。后者對于以太坊至關重要:有大約70%的節點運行在geth之上,包括交易所和礦池這些關鍵節點。

          通過這個漏洞,攻擊者可以直接讓以太坊癱瘓。一旦成功,以太坊市場將面臨巨震。

          PeckShield 向一本區塊鏈揭示了“致命報文”的漏洞細節:

          以太坊的核心,在于所有的客戶端都必須遵守同樣的協議,以保持共識。

          這些協議由RLPx、DΞVp2p和其他子協議組成,后者包括以太坊線路協議、輕量級以太坊協議等。

          為了支持輕量級的客戶端,輕量級以太坊子協議(LES)允許以太坊節點在同步獲取區塊時,僅下載區塊的頭部,在需要時再獲取區塊的其他部分。為了實現這一功能,還需要一個全節點(或archive節點)作為LES服務器,為輕量級節點提供服務。

          執行以下命令,可以啟動一個支持LES服務的geth全節點:

          geth --lightserv 20

          在向LES服務器請求區塊頭部時,LES客戶端會發起類型為GetBlockHeaders的消息,而LES服務器的消息處理器負責相應的解析工作。GetBlockHeaders的信息處理器的代碼片段如下:

          由LES客戶端發送的查詢請求遵循如下格式:

          從第17行開始,LES服務器處理not reverse分支。在第19行,LES服務器會檢測在忽略了query.Skip區塊之后,是否還有可用的區塊頭部。

          如果檢測通過,GetBlockHashesFromHash()方法就會被調用(即第20行),并返回一個區塊頭部數組。

          然而,對作為輸入的請求,LES服務器并未驗證其有效性。攻擊者可以構造形如query.Skip = -1 (0xFFF...F)這樣的惡意請求。

          當query.Skip+1被作為待分配數組的最大長度參數,傳遞至GetBlockHashesFromHash()方法時,長度為0的數組即被分配并返回。

          隨后,通過索引query.Skip = 0xFFF…F訪問該長度為0的數組時,LES服務器就會徹底崩潰。

          “在發現漏洞后的第一時間,我們就向以太坊基金會提交了漏洞報告。目前,以太坊geth客戶端的開發團隊,已發布了相應的補丁。”PeckShield告訴一本區塊鏈。

          因此,雖然這次漏洞危害面廣,危險性大,但并沒有對以太坊造成實際損失。

          PeckShield工作人員向一本區塊鏈展示了以太坊官方的回復郵件。

          “這只是一系列漏洞中的一個,我們會隨時公布其他漏洞。”PeckShield公司表示。

          02 以太坊黑歷史

          這不是以太坊第一次爆出安全漏洞,也不是最后一次。

          在歷史上,以太坊曾出現過兩次重大漏洞事件。

          最著名的一次,是2016年6月的“The DAO大劫案”。它直接導致了以太坊的硬分叉。

          The DAO是部署在以太坊網絡上的最大眾籌項目。黑客發現了其安全漏洞:其智能合約第666行代碼的首字母“t”,被誤寫成了“T”。

          區塊鏈歷史上最嚴重的攻擊事件,就此發生。

          6個小時里,黑客竊取了The DAO 30%的以太幣——1200萬個。它們當時價值約6000萬美元。

          這次的攻擊還引發了區塊鏈誕生至今最具爭議的事情之一。

          為將損失降到最小,以太坊團隊決定修改以太坊軟件的代碼,強行把The DAO的所有資金,轉到一個特定的退款合約地址,以奪回黑客手中的資產。

          因為對此事看法迥異,以太坊分裂成了兩條鏈,一條是以太坊(ETH),一條是以太坊經典(ETC)。它們各自代表不同的社區共識和價值觀。

          以太坊的另一次重大安全事故,發生在以太坊錢包Parity身上。

          2017年7月,Parity被爆出現重大安全漏洞:其多重簽名合約wallet.sol存在bug。

          官方確認,因為此事,150000ETH(約價值3000萬美元)被盜。但通過對比以太坊上的智能合約,一群計算機專家得出結論:這次攻擊至少造成了1.54億美元的損失。這一金額,是The DAO 事件損失的3倍多。

          教訓慘痛至極。

          在區塊鏈世界中,“代碼即法律”。但那些存在漏洞的代碼,正在成為黑客薅羊毛的得力工具。

          03 賣水好生意

          目前,全世界的數字貨幣已經超過2000種,市值超過3300億美元,這是一個廣闊的市場。

          人人淘金時,賣水就有市場。安全漏洞頻現時,堵漏就成了好生意。

          越來越多專注于區塊鏈安全的團隊,正在如春后雨筍般出現。知道創宇、慢霧科技、白帽匯、Haloblock.io、PeckShield等公司,都重兵投入區塊鏈安全領域。

          “在區塊鏈產業發展初期,安全事件已經頻繁暴露在各個環節,包括:交易所、礦池、錢包、智能合約……因此,區塊鏈安全公司在早期區塊鏈生態建設上,起著關鍵作用。” PeckShield公司工作人員表示。

          目前,市場上的區塊鏈安全公司,不僅提供智能合約審計服務,還要提供一整套安全防護解決方案。

          可以說,區塊鏈安全服務正逐漸從上面的業務層轉向更底層,著力從代碼層面解決漏洞問題。

          對于區塊鏈市場來說,這是一個健康的現象。

          從EOS漏洞到以太坊“致命報文”,底層公鏈的安全問題,層出不窮。

          每一個漏洞,都可能成為黑客手中的定時炸彈。

          從The DAO到EOS,智能合約成為了區塊鏈安全的重災區。

          在區塊鏈的狂野世界里,黑客和白帽子的戰爭,才剛開始。

        美女精品一区二区