BTC $77,192.75 +0.38%
ETH $2,427.53 +0.55%
BNB $694.21 +0.46%
XRP $1.50 +0.91%
SOL $94.40 +1.58%
TRX $0.3436 +0.32%
DOGE $0.0927 +3.82%
ADA $0.2238 +0.67%
BCH $274.14 -0.73%
LINK $11.45 -1.35%
HYPE $79.98 +4.12%
AAVE $127.42 +5.22%
SUI $0.8156 -1.09%
XLM $0.1956 -0.78%
ZEC $819.65 +4.79%
BTC $77,192.75 +0.38%
ETH $2,427.53 +0.55%
BNB $694.21 +0.46%
XRP $1.50 +0.91%
SOL $94.40 +1.58%
TRX $0.3436 +0.32%
DOGE $0.0927 +3.82%
ADA $0.2238 +0.67%
BCH $274.14 -0.73%
LINK $11.45 -1.35%
HYPE $79.98 +4.12%
AAVE $127.42 +5.22%
SUI $0.8156 -1.09%
XLM $0.1956 -0.78%
ZEC $819.65 +4.79%

慢雾科技:Coverプロトコルのハッキングに関する簡単な分析

Summary: 12月29日、ハッカー攻撃を受けて、Coverプロトコルのトークン価格が暴落しました。
慢霧安全
2020-12-29 11:16:35
12月29日、ハッカー攻撃を受けて、Coverプロトコルのトークン価格が暴落しました。

2020年12月29日、Slow Mistの情報によると、Coverプロトコルの価格が暴落しました。以下は、Slow Mistセキュリティチームによる攻撃プロセスの簡単な分析です。

  1. CoverプロトコルのBlacksmithコントラクトでは、ユーザーはdeposit関数を通じてBPTトークンを担保に入れることができます;
  2. 攻撃者は最初のdeposit - withdrawの後、updatePool関数を使用してプールを更新し、accRewardsPerTokenを使用して累積報酬を記録します;
  3. その後、_claimCoverRewards関数を通じて報酬を配分し、rewardWriteoffパラメータを使用して記録します;
  4. 攻撃者は最初のwithdrawの後に少量のBPTを担保として残します;
  5. この時、攻撃者は2回目のdepositを行い、claimRewardsを通じて報酬を引き出します;
  6. 問題はrewardWriteoffの具体的な計算にあります。攻撃者が2回目のdeposit - claimRewardsを行う際に取得するプール値はmemoryとして定義され、この時memoryに取得されるプールは攻撃者が最初のwithdrawでupdatePoolを行った際に更新された値です;
  7. memoryに取得されるプール値が古いため、それに対応するaccRewardsPerTokenの記録も古く、minerに代入されます;
  8. その後、新たにupdatePoolを行う際、攻撃者が最初にwithdrawした後にプール内のlpTotalが減少しているため、最終的に得られるaccRewardsPerTokenは大きくなります
  9. この時、攻撃者に代入されるaccRewardsPerTokenは古いものであり、比較的小さな値です。rewardWriteoffの計算時に得られる値も小さくなりますが、攻撃者がclaimRewardsを行う際に使用するのはプール更新後のaccRewardsPerTokenの値です
  10. したがって、具体的な報酬計算を行う際にこの新旧パラメータの差異により、大きな数値が計算されることになります;
  11. そのため、最終的に計算結果に基づいて攻撃者に報酬を鋳造する際に、追加でより多くのCOVERトークンが鋳造され、COVERトークンの増発を引き起こします。

具体的なaccRewardsPerTokenパラメータの差異変化は以下の図の通りです:

image

関連タグ
warnning リスク警告
app_icon
ChainCatcher Building the Web3 world with innovations.