成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    政企安全 正文
    發私信給郭佳
    發送

    0

    以太坊生態缺陷導致的一起億級代幣盜竊大案

    本文作者: 郭佳 2018-03-21 08:48
    導語:單被盜的且還未轉出的以太幣價值就高達現價 2 千萬美金,還有代幣種類 164 種,總價值難以估計。

    本篇文章原創者為慢霧安全團隊,雷鋒網授權轉載。

    近日,慢霧安全團隊觀測到一起自動化盜幣的攻擊行為,攻擊者利用以太坊節點 Geth/Parity RPC API 鑒權缺陷,惡意調用 eth_sendTransaction 盜取代幣,持續時間長達兩年,單被盜的且還未轉出的以太幣價值就高達現價 2 千萬美金,還有代幣種類 164 種,總價值難以估計(很多代幣還未上交易所正式發行)。如下圖:

    以太坊生態缺陷導致的一起億級代幣盜竊大案

    攻擊過程

    安全團隊綜合受害者情報、Reddit 資訊及蜜罐日志分析,回溯攻擊行為,可能為:

    全球掃描 8545 端口(HTTP JSON RPC API)、8546 端口(WebSocket JSON RPC API)等開放的以太坊節點,發送 eth_getBlockByNumber、eth_accounts、eth_getBalance 遍歷區塊高度、錢包地址及余額

    不斷重復調用 eth_sendTransaction 嘗試將余額轉賬到攻擊者的錢包

    當正好碰上節點用戶對自己的錢包執行 unlockAccount 時,在 duration 期間內無需再次輸入密碼為交易簽名,此時攻擊者的 eth_sendTransaction 調用將被正確執行,余額就進入攻擊者的錢包里了

    備注:

    unlockAccount 函數介紹

    該函數將使用密碼從本地的 keystore 里提取 private key 并存儲在內存中,函數第三個參數 duration 表示解密后 private key 在內存中保存的時間,默認是 300 秒;如果設置為 0,則表示永久存留在內存,直至 Geth/Parity 退出。詳見:

    https://github.com/ethereum/go-ethereum/wiki/Management-APIs#personal_unlockaccount

    攻擊時間線

    我們在 Etherscan 上對攻擊者錢包地址進行細致的分析,得到如下主要攻擊時間線:

    2016/02/14 03:59:14 PM 第一次 IN(進賬),這天是情人節

    2016/02/16 06:33:30 PM 第二次 IN,時隔 2 天,猜測自動化攻擊程序首次上線

    2016/05/19 07:46:33 PM 第一次 OUT(出賬),此時共 IN 51 筆

    2016/07/20 06:35:57 PM 第二次 OUT,此時共 IN 57筆

    2017/05/11 06:34:35 PM Shapeshift(知名交易所) IN 7 筆,跨度 71 天

    2017/06/10 02:39:53 AM OUT 最后一筆,此時共 IN 約 207 筆

    2017/06/21 07:46:49 AM f2pool(知名礦池) IN 36 筆,跨度 4 小時

    這種時間線的跟蹤可以側面輔助分析攻擊者的行為痕跡。

    影響態勢

    通過安全團隊對全球約 42 億 IPv4 空間進行掃描探測,發現暴露在公網且開啟 RPC API 的以太坊節點有 1 萬多個。這些節點都存在被直接盜幣攻擊的高風險。

    以太坊生態缺陷導致的一起億級代幣盜竊大案

    以太坊生態缺陷導致的一起億級代幣盜竊大案

    以太坊生態缺陷導致的一起億級代幣盜竊大案

    防御建議

    更改默認的 RPC API 端口,配置方法如:--rpcport 8377 或 --wsport 8378

    更改 RPC API 監聽地址為內網,配置方法如:--rpcaddr  192.168.0.100 或 --wsaddr  192.168.0.100

    配置 iptables 限制對 RPC API 端口的訪問,舉例:只允許 192.168.0.101 訪問 8545 端口:
    iptables -A INPUT -s 192.168.0.101 -p TCP --dport 8545 -j ACCEPT
    iptables -A INPUT -p TCP --dport 8545 -j DROP

    賬戶信息(keystore)不要存放在節點上 (因為賬戶不在節點上,所以就不會用到 unlockAccount 了)

    任何轉賬均用 web3 的 sendTransaction 和 sendRawTransaction 發送私鑰簽名過的 transaction

    私鑰物理隔離(如冷錢包、手工抄寫)或者高強度加密存儲并保障密鑰的安全

    進一步思考

    通過這個事件的追蹤調查及攻擊手法的完整復現,我們越發意識到網絡空間遵循黑暗森林法則,這個法則參考自《三體》:“宇宙就是一座黑暗森林,每個文明都是帶槍的獵人,像幽靈般潛行于林間,輕輕撥開擋路的樹枝,竭力不讓腳步發出一點兒聲音,連呼吸都必須小心翼翼,他必須小心,因為林中到處都有與他一樣潛行的獵人,如果他發現了別的生命,能做的只有一件事,開槍消滅之。”

    我們仔細復盤了這起持續兩年且現在還在活躍的攻擊的所有細節,如果我們是攻擊者,我們一個腳本工程就可以輕松拿下全球數以萬計,甚至百萬千萬的數字資產。

    我們需要特別提下攻擊者的手法,不知道大家有沒有注意到,攻擊的第一步為什么調用的是 eth_getBlockByNumber 來獲取區塊高度?這個調用的細節是:eth_getBlockByNumber("0x00", false),如果區塊高度不是最新的,那么這個調用就會報錯,后續也就沒必要執行錢包地址、余額等查詢操作,因為余額不準確,且最后一步的轉賬操作肯定沒法完成。這種攻擊邏輯的設計,對于這個攻擊場景來說是一種非常暴力美學的設計。

    我們從上面提到的“攻擊時間線”來看,攻擊者其實很不一般,這種潛伏的攻擊發生在以太坊歷史上第一個知名的黑客攻擊事件 The DAO 事件之前(2016/06/17),且當時是以太坊技術被市場正式認可的時期??梢钥闯?,攻擊者是非常早期的以太坊技術研究者,并且很懂黑客工程化技術。攻擊者在實戰過程中不斷優化這套工程。

    我們還對 RPC API 相關模塊功能進行進一步分析,發現了一些潛在的安全風險,也是需要大家注意的,比如:如果 RPC API 啟用了 personal 模塊,就可以通過 personal_unlockAccount 方法爆破賬戶密碼,假如爆破成功,就可以一次性實現解鎖 + 轉賬。如果 RPC API 啟用了 miner 模塊,就可以通過 miner_setEtherbase 方法修改挖礦的錢包地址。

    在我們的墨子(MOOZ)系統的全網探測中,我們發現這些暴露在公網的以太坊節點開啟的 RPC API 模塊不盡相同。這為更復雜的攻擊提供了差異條件。

    從防御分析角度,我們還發現,Geth 等的日志機制不完善,無法記錄 RPC API 請求的來源 IP(配置 --debug、--verbosity 5 均無效),導致直接在被攻擊的以太坊節點上取證溯源攻擊者 IP 是一件很麻煩的事。

    雖然以太坊本身的健壯性已經經受住考驗,但是安全是一個整體。通過這個事件我們可以看出以太坊生態的一些安全缺陷,有的安全缺陷可能會被認為這是一種機制,需要使用者注意,但這個對使用者來說做安全的門檻太高。高門檻的安全一定是會更容易滋生這種大攻擊事件。

    本篇文章原創為慢霧安全團隊,雷鋒網授權轉載。

    雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。

    分享:
    相關文章
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說