時価総額: $2.1969T 0.49%
ボリューム(24時間): $59.7945B -8.14%
恐怖と貪欲の指数:

38 - 恐れ

  • 時価総額: $2.1969T 0.49%
  • ボリューム(24時間): $59.7945B -8.14%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.1969T 0.49%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

スマートコントラクトにおけるリエントラント攻撃とは何ですか?

Reentrancy attacks exploit Ethereum’s external call mechanism, allowing malicious contracts to recursively drain funds before state updates—famously enabling The DAO hack.

2025/12/24 02:20

リエントラント攻撃について

1. リエントラント攻撃は、最初の実行が完了する前に、悪意のあるコントラクトが別のコントラクトの脆弱な機能を繰り返しコールバックするときに発生します。

2. このエクスプロイトは、状態の変更が完了する前に制御が外部アドレスに転送される、イーサリアム スマート コントラクトの外部呼び出しメカニズムを利用します。

3. 攻撃者は、ターゲットの出金または転送ロジックの再帰的呼び出しをトリガーするフォールバックまたは受信関数を含むコントラクトを展開します。

4. Ethereum はシングルスレッドの同期方式で呼び出しを実行し、デフォルトではアトミックな状態の更新を強制しないため、残高やフラグはコールバック ウィンドウ中に変更されないままになる可能性があります。

5. その結果、適切なチェックなしで資金が同じ残高から複数回流出する可能性があり、システムの意図された経済的不変条件に違反します。

有名な歴史的例: DAO ハック

1. 2016 年 6 月、DAO として知られる分散型自律組織が、当時の価値で 5,000 万ドル以上に相当する約360 万 ETHで侵害されました。

2. この脆弱性は、提案が可決された後にユーザーが自分の株式を引き出すことを可能にする分割機能に存在していましたが、資金を送金した後に寄稿者の残高を更新していました。

3. 攻撃者は、残高更新が行われる前に分割関数を再帰的に呼び出すフォールバック関数を含むコントラクトをデプロイしました。

4. 各再帰呼び出しにより元の残高値が読み取られ、同じ割り当て金額から繰り返し引き出すことが可能になります。

5. この事件はイーサリアム ブロックチェーンのハード フォークを引き起こし、その結果イーサリアムとイーサリアム クラシックが 2 つの別個のチェーンとして誕生しました。

リエントラントを可能にする技術的条件

1. 信頼できないアドレスへの外部呼び出しは、残高の更新やアクセス フラグの切り替えなどの重大な状態変更の前に行う必要があります。

2. コントラクトは、再入保護を強制することなく、所有権または資格を反映する変更可能なストレージ変数に依存する必要があります。

3. ロックされたブール値または再入可能修飾子の使用など、ミューテックス パターンが存在しない場合、ネストされた呼び出しコンテキスト全体でエントリ ポイントが保護されないままになります。

4. transfer()send()のようなより安全な代替手段の代わりにcall()のような低レベルの呼び出しを使用すると、ガス給付制限の欠如と自動復帰動作によりリスクが増加します。

5. 古いライブラリまたは未監査のライブラリから継承したコントラクトにより、継承された再入可能サーフェスを持つ関数が意図せず公開される可能性があります。

現在展開されている緩和戦略

1. Checks-Effects-Interactions パターンでは、条件の検証、内部状態の更新、その後でのみ外部呼び出しの実行が義務付けられます。

2. OpenZeppelin のReentrancyGuardなどのリエントランシー ガードは、ロックされたブール値を使用して、アクティブな実行中の関数の再入力を防ぎます。

3. raw call()の代わりにtransfer()またはsend()を使用すると、2300 ガスの制限が適用され、フォールバック関数はさらなる再入可能な呼び出しを含む複雑なロジックを実行できなくなります。

4. Slither や MythX などの静的分析ツールは、開発および CI パイプライン中に潜在的なリエントランシー ベクトルを検出します。

5. Certora や KEVM などの形式的検証フレームワークは、ネストされた外部呼び出しを含む、任意の呼び出しシーケンスの下でコントラクトの不変条件を検証します。

よくある質問

Q1.リエントランシー攻撃はイーサリアム以外のブロックチェーンでも発生する可能性がありますか? A1.はい。 BNB チェーン、ポリゴン、アービトラムを含む EVM 互換チェーンは、コントラクトが同じ欠陥のある対話パターンを複製する場合、同様に影響を受けます。特定の条件下での Solana のプログラム間呼び出しなど、同様の外部呼び出しセマンティクスを持つ非 EVM チェーンも同様のリスクに直面します。

Q2. require() ステートメントの使用は再入を防ぐのに十分ですか? A2.いいえ。Require ステートメントは前提条件を検証しますが、再エントリをブロックしません。これらは状態が変化する前に動作し、外部呼び出しが発生すると後続のコールバックを制限できません。

Q3.プロキシベースのアップグレード可能な契約では、追加の再入可能サーフェスが導入されますか? A3.はい。実装コントラクトに再入保護が欠如しており、プロキシが通話の深さを傍受または検証せずに通話を転送する場合、アップグレード可能なパターンが既存の脆弱性を継承または増幅する可能性があります。

Q4.悪意のある契約がなくても、フラッシュ ローンはリエントラントを引き起こす可能性がありますか? A4.はい。フラッシュ ローンを利用した攻撃は、dYdX、Harvest Finance、BurgerSwap に対するエクスプロイトに見られるように、価格オラクル操作とリエントランシーを組み合わせて流動性プールや融資プロトコルを枯渇させることが多く、すべてクリティカル パス内の無防備な外部呼び出しに依存しています。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

ブロックチェーンセキュリティとは何ですか?ユーザーはどうすれば暗号通貨詐欺を回避できるでしょうか?

ブロックチェーンセキュリティとは何ですか?ユーザーはどうすれば暗号通貨詐欺を回避できるでしょうか?

2026-07-26 04:40:10

ブロックチェーンのセキュリティの基礎を理解する1. ブロックチェーンのセキュリティは、暗号化ハッシュに依存して、チェーン内のすべてのブロックにわたるデータの整合性を確保します。 2. 各ブロックには、その内容と前のブロックのハッシュから派生した一意のハッシュが含まれており、不変のシーケンスを形成しま...

クリプトエアドロップとは何ですか?ユーザーはどのようにして特典を受ける資格を得るのですか?

クリプトエアドロップとは何ですか?ユーザーはどのようにして特典を受ける資格を得るのですか?

2026-07-29 06:20:01

定義と中心的な目的1. 暗号エアドロップは、ブロックチェーン プロジェクトが無料のトークンを適格なウォレット アドレスに直接割り当てる配布メカニズムです。 2. これらのトークンは販売されるのではなく、インセンティブとして付与され、多くの場合、ユーザーの行動、保有、または参加マイルストーンに関連付け...

トークンバーンとは何ですか?なぜプロジェクトはトークンを破棄するのでしょうか?

トークンバーンとは何ですか?なぜプロジェクトはトークンを破棄するのでしょうか?

2026-07-22 10:39:51

定義と技術的な実行1. トークン バーンとは、一般にバーン アドレスまたはイーター アドレスとして知られるアクセスできないアドレスにデジタル トークンを送信することにより、デジタル トークンを流通から不可逆的に削除することを指します。 2. これらのアドレスは秘密キーを持たないため、転送されたトーク...

循環供給とは何ですか?トークンの供給がなぜ重要なのか?

循環供給とは何ですか?トークンの供給がなぜ重要なのか?

2026-07-21 13:40:08

循環供給とは何ですか? 1. 流通供給量とは、現在公開市場で取引および使用できるトークンの数を指します。 2. これらのトークンはユーザー、取引所、またはパブリックウォレットに配布されており、ロックされたり、予約されたり、アクセスできない契約で保持されたりすることはありません。 3. チームメンバー...

仮想通貨の時価総額とは何ですか?どのように計算されますか?

仮想通貨の時価総額とは何ですか?どのように計算されますか?

2026-07-24 21:40:18

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin のリードを頻繁に追随しますが、低流動性期間中に増幅されたボラティリティを示します。 3. 上場投...

暗号通貨の流動性とは何ですか?なぜ取引に影響するのでしょうか?

暗号通貨の流動性とは何ですか?なぜ取引に影響するのでしょうか?

2026-07-30 23:19:48

暗号通貨の流動性の定義1. 暗号通貨の流動性とは、大きな価格変動を引き起こすことなくデジタル資産を売買できる容易さを指します。 2. 成行注文の深さ、つまり取引所全体のさまざまな価格レベルでの買い指値注文と売り指値注文の数を反映します。 3. 流動性が高いということは、注文簿が大きく、買値と買値のス...

ブロックチェーンセキュリティとは何ですか?ユーザーはどうすれば暗号通貨詐欺を回避できるでしょうか?

ブロックチェーンセキュリティとは何ですか?ユーザーはどうすれば暗号通貨詐欺を回避できるでしょうか?

2026-07-26 04:40:10

ブロックチェーンのセキュリティの基礎を理解する1. ブロックチェーンのセキュリティは、暗号化ハッシュに依存して、チェーン内のすべてのブロックにわたるデータの整合性を確保します。 2. 各ブロックには、その内容と前のブロックのハッシュから派生した一意のハッシュが含まれており、不変のシーケンスを形成しま...

クリプトエアドロップとは何ですか?ユーザーはどのようにして特典を受ける資格を得るのですか?

クリプトエアドロップとは何ですか?ユーザーはどのようにして特典を受ける資格を得るのですか?

2026-07-29 06:20:01

定義と中心的な目的1. 暗号エアドロップは、ブロックチェーン プロジェクトが無料のトークンを適格なウォレット アドレスに直接割り当てる配布メカニズムです。 2. これらのトークンは販売されるのではなく、インセンティブとして付与され、多くの場合、ユーザーの行動、保有、または参加マイルストーンに関連付け...

トークンバーンとは何ですか?なぜプロジェクトはトークンを破棄するのでしょうか?

トークンバーンとは何ですか?なぜプロジェクトはトークンを破棄するのでしょうか?

2026-07-22 10:39:51

定義と技術的な実行1. トークン バーンとは、一般にバーン アドレスまたはイーター アドレスとして知られるアクセスできないアドレスにデジタル トークンを送信することにより、デジタル トークンを流通から不可逆的に削除することを指します。 2. これらのアドレスは秘密キーを持たないため、転送されたトーク...

循環供給とは何ですか?トークンの供給がなぜ重要なのか?

循環供給とは何ですか?トークンの供給がなぜ重要なのか?

2026-07-21 13:40:08

循環供給とは何ですか? 1. 流通供給量とは、現在公開市場で取引および使用できるトークンの数を指します。 2. これらのトークンはユーザー、取引所、またはパブリックウォレットに配布されており、ロックされたり、予約されたり、アクセスできない契約で保持されたりすることはありません。 3. チームメンバー...

仮想通貨の時価総額とは何ですか?どのように計算されますか?

仮想通貨の時価総額とは何ですか?どのように計算されますか?

2026-07-24 21:40:18

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin のリードを頻繁に追随しますが、低流動性期間中に増幅されたボラティリティを示します。 3. 上場投...

暗号通貨の流動性とは何ですか?なぜ取引に影響するのでしょうか?

暗号通貨の流動性とは何ですか?なぜ取引に影響するのでしょうか?

2026-07-30 23:19:48

暗号通貨の流動性の定義1. 暗号通貨の流動性とは、大きな価格変動を引き起こすことなくデジタル資産を売買できる容易さを指します。 2. 成行注文の深さ、つまり取引所全体のさまざまな価格レベルでの買い指値注文と売り指値注文の数を反映します。 3. 流動性が高いということは、注文簿が大きく、買値と買値のス...

すべての記事を見る

User not found or password invalid

Your input is correct