據區塊鏈安全審計公司Beosin旗下Beosin EagleEye安全風險監控、預警與阻斷平台監測顯示,7月2日,Poly network跨鏈橋項目疑似遭受私鑰洩露或多簽服務被攻擊,黑客利用偽造的憑證向多條鏈的跨鏈橋合約進行取款操作。這次Poly network 的攻擊事件有多個攻擊地址,下面以0x906639ab20d12a95a8bec294758955870d0bb5cc地址為例。 1.攻擊者首先調用LockProxy跨鏈橋合約中的lock函數進行鎖定很小的Lever Token。 (https://etherscan.io/tx/0x1b8f8a38895ce8375308c570c7511d16a2ba972577747b0ac7ace5cc59bbb1c4)這裡需要注意的是toChainid為6指的是BNB chain,可以通過https://explorer.poly.network/查看。這裡只要poly網絡上查到,就表示已經通過中繼鏈驗證的。 2.切換到BNB鏈上,分析攻擊者調用verifyHeaderAndExecuteTx函數進行取款操作,注意到這裡的數量和原先的lock的數量完全對不上。 (https://bscscan.com/tx/0x5c70178e6dc882fba1663400c9566423f8942877a0d42bb5c982c95acc348e31)然而在中繼鍊網絡查詢該筆交易,並未找到該筆交易記錄。 3.現在有理由懷疑是不是簽名洩露或者keeper被修改(因為keeper是給用戶提款簽名的,只要控制了keeper就可以用偽造的簽名提款)。第一次的poly被攻擊就是黑客利用攻擊修改了keeper導致的。通過分析黑客調用verifyHeaderAndExecuteTx函數進行取款操作,發現keeper並沒有被修改,目前keeper還是用的官方的keeper,現在我們有理由相信其中的三個keeper(0x4c46e1f946362547546677bfa719598385ce56f2、0x51b7529137d34002c4ebd81a2244f0ee7e95b2c0、0x3dfccb7b8a6972cde3b695d3c0c032514b0f3825)可能私鑰洩露或多簽服務被攻擊,導致攻擊者可以利用偽造的憑證取款。