QRコードをスキャンしてダウンロードしてください。
BTC $76,373.53 -0.88%
ETH $2,296.75 +0.08%
BNB $623.92 -0.01%
XRP $1.38 -0.75%
SOL $83.82 -0.56%
TRX $0.3230 -0.84%
DOGE $0.0995 +1.60%
ADA $0.2473 +0.50%
BCH $451.99 +0.71%
LINK $9.27 +0.51%
HYPE $39.90 -4.11%
AAVE $96.62 +0.69%
SUI $0.9259 +0.14%
XLM $0.1628 -1.10%
ZEC $335.33 -5.12%
BTC $76,373.53 -0.88%
ETH $2,296.75 +0.08%
BNB $623.92 -0.01%
XRP $1.38 -0.75%
SOL $83.82 -0.56%
TRX $0.3230 -0.84%
DOGE $0.0995 +1.60%
ADA $0.2473 +0.50%
BCH $451.99 +0.71%
LINK $9.27 +0.51%
HYPE $39.90 -4.11%
AAVE $96.62 +0.69%
SUI $0.9259 +0.14%
XLM $0.1628 -1.10%
ZEC $335.33 -5.12%

慢雾科技: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.