最新消息:图 床

EOS 回滾攻擊手法分析之重放篇

COOL IAM 321浏览 0评论

作者:yudan@慢霧安全團隊
公眾號:慢霧科技

事件背景:

據慢霧區情報,今日凌晨,攻擊 BetDice、ToBet 等遊戲的黑客團伙再次對 LuckyMe、GameBet 發動攻擊,造成數千 EOS 的損失。

經過慢霧安全團隊的分析,此次黑客採用的手法有別於上一次的攻擊。本次的攻擊為針對項目方的重放攻擊。

攻擊回顧:

據慢霧安全團隊威脅情報分析,截止北京時間上午8時,攻擊者ultnavrzhium此次攻擊共投入金額3773.95 EOS,收入6906.6 EOS,共獲利3132.65 EOS。

攻擊手法:

本次攻擊手法與上一篇文章有所不同。但依然利用到了黑名單的手法。以下是攻擊詳細過程。

(1)第一步,攻擊者調用非黑名單合約的 transfer 函數,函數內部有一個 inline action 進行下注,from 填寫的是攻擊者控制的非黑名單合約帳號,to 填寫的是遊戲合約帳號。這時,攻擊者發送交易是發向遊戲合約自己的全節點服務器。使用的是黑名單帳號進行。

(2)第二步,遊戲節點讀取到了這筆交易,立刻進行開獎,如果中獎,將對攻擊者控制的非黑名單帳號發送 EOS。到這裡和上一篇黑名單篇的第一步和第二步都是一樣的。

(3)第三步,因為項目方開獎和交易id綁定,所以按照上一篇文章的說法,下注交易和開獎交易都會被回滾。即使項目方給攻擊者開獎了,到了bp節點的時候,由於查詢不到開獎id,開獎交易也會失敗。所以為什麼還是能攻擊成功呢?答案在第四步

(4)上一篇文章說到,在攻擊者攻擊的時候,所有的邏輯都是在項目方的節點完成的,根據這一點,攻擊者就可以在項目方節點廣播交易時監聽到開獎結果,如果這筆下注是中的,立馬以同樣的參數(如種子)使用攻擊者控制的同一合約帳號發起相同的交易,actor為合約帳號本身,即可成功中獎。

本次攻擊可以參考下面的圖:

转载请注明:IAMCOOL » EOS 回滾攻擊手法分析之重放篇

0 0 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x