-
bitcoin $76464.156879 USD
0.86% -
ethereum $2445.495804 USD
1.91% -
tether $0.999058 USD
-0.01% -
bnb $725.991560 USD
1.93% -
xrp $1.303704 USD
0.85% -
usd-coin $0.999942 USD
0.00% -
solana $100.064497 USD
3.06% -
tron $0.335357 USD
0.24% -
zcash $1358.632097 USD
14.53% -
hyperliquid $79.355311 USD
2.37% -
dogecoin $0.081165 USD
1.50% -
monero $495.294239 USD
-2.55% -
chainlink $11.205049 USD
3.83% -
unus-sed-leo $8.932502 USD
0.55% -
cardano $0.198341 USD
1.78%
スマートコントラクトにおけるリエントラント攻撃とは何ですか?
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) までご連絡ください。速やかに削除させていただきます。
- AML RightSource、デジタル資産コンプライアンス優秀賞で名誉あるDobra-Sight賞を獲得
- 2026-09-18 00:40:01
- Solana と XRP は、より広範なトークン化トレンドに同意し、暗号市場の変化する潮流を乗り越える
- 2026-09-17 20:40:01
- HBO Max Reddit アカウントが暗号通貨窃盗マルウェア攻撃でハイジャック: 巧妙な詐欺の新たな波
- 2026-09-17 12:50:01
- 下院委員会が戦略的ビットコイン準備法案を前進させ、連邦暗号資産保有の将来を形作る
- 2026-09-17 12:40:01
- 仮想通貨税法案:デジタル資産は新たな税制に直面しているが、依然として明確性は得られていない
- 2026-09-17 09:10:02
- MemeToro、AI とフェアローンチ スマート コントラクトで BNB チェーンでの Memecoin のローンチに革命を起こす
- 2026-09-17 09:10:01
関連知識
DAIとは何ですか?USDTとの違いは何ですか?
2026-09-08 17:00:22
市場のボラティリティパターン1. 2021 年以降、Bitcoin の取引日の 68% 以上で、24 時間枠内で 15% を超える価格変動が発生しました。 2. イーサリアムは、流動性が低い期間、特に UTC の 02:00 から 06:00 の間で、Bitcoin よりも高い日中ボラティリティを示...
なぜステーブルコインは1ドルペッグを失う可能性があるのでしょうか?
2026-09-08 02:00:03
組成と透明度のギャップを確保する1. 多くのステーブルコインは、現金または短期米国国債によって完全に裏付けられていると主張していますが、準備金の開示にはリアルタイムの検証メカニズムが欠けていることがよくあります。 2. 第三者による認証は四半期ごとにのみ行われる可能性があるため、資産と負債の構造の不...
暗号通貨における自己保管とは何ですか?なぜそれが重要ですか?
2026-09-10 04:19:32
定義とコアメカニズム1. 自己保管とは、個人がその権限をサードパーティのサービスに委任することなく、自分の秘密鍵を完全に制御する慣行を指します。 2. セルフカストディアルウォレットはサーバー上に資産を保持しません。代わりに、ローカルに保存された暗号キーを使用してブロックチェーン ネットワークと対話...
カストディアルウォレットと非カストディアルウォレット: 違いは何ですか?
2026-09-17 03:19:46
保管ウォレットの定義1. カストディアル ウォレットは、サードパーティのサービス プロバイダーがユーザーの秘密キーを保持および管理するデジタル資産ストレージ ソリューションです。 2. ユーザーは、直接的な暗号化制御ではなく、電子メール、パスワード、2 要素認証などのログイン資格情報を介して資金にア...
マルチシグウォレットとは何ですか?いつ役立つのですか?
2026-09-12 14:20:01
定義とコアアーキテクチャ1. マルチシグ ウォレットは、単一のブロックチェーン トランザクションを承認するために複数の秘密キーを必要とする暗号化構造です。 2. これは、M-of-N 署名スキームに基づいて動作します。ここで、 M は必要な署名の最小数を表し、 N は許可された署名者の総数を表します...
Bitcoin とライトニング ネットワーク: 違いは何ですか?
2026-09-13 15:40:16
コアアーキテクチャとトランザクションモデル1. Bitcoin は、単層のパーミッションレス ブロックチェーン上で動作し、すべてのトランザクションが暗号的に検証され、数千の完全なノードに伝播され、約 10 分ごとに連続したブロックに永続的に記録されます。 2. ライトニング ネットワークは、Bitc...
DAIとは何ですか?USDTとの違いは何ですか?
2026-09-08 17:00:22
市場のボラティリティパターン1. 2021 年以降、Bitcoin の取引日の 68% 以上で、24 時間枠内で 15% を超える価格変動が発生しました。 2. イーサリアムは、流動性が低い期間、特に UTC の 02:00 から 06:00 の間で、Bitcoin よりも高い日中ボラティリティを示...
なぜステーブルコインは1ドルペッグを失う可能性があるのでしょうか?
2026-09-08 02:00:03
組成と透明度のギャップを確保する1. 多くのステーブルコインは、現金または短期米国国債によって完全に裏付けられていると主張していますが、準備金の開示にはリアルタイムの検証メカニズムが欠けていることがよくあります。 2. 第三者による認証は四半期ごとにのみ行われる可能性があるため、資産と負債の構造の不...
暗号通貨における自己保管とは何ですか?なぜそれが重要ですか?
2026-09-10 04:19:32
定義とコアメカニズム1. 自己保管とは、個人がその権限をサードパーティのサービスに委任することなく、自分の秘密鍵を完全に制御する慣行を指します。 2. セルフカストディアルウォレットはサーバー上に資産を保持しません。代わりに、ローカルに保存された暗号キーを使用してブロックチェーン ネットワークと対話...
カストディアルウォレットと非カストディアルウォレット: 違いは何ですか?
2026-09-17 03:19:46
保管ウォレットの定義1. カストディアル ウォレットは、サードパーティのサービス プロバイダーがユーザーの秘密キーを保持および管理するデジタル資産ストレージ ソリューションです。 2. ユーザーは、直接的な暗号化制御ではなく、電子メール、パスワード、2 要素認証などのログイン資格情報を介して資金にア...
マルチシグウォレットとは何ですか?いつ役立つのですか?
2026-09-12 14:20:01
定義とコアアーキテクチャ1. マルチシグ ウォレットは、単一のブロックチェーン トランザクションを承認するために複数の秘密キーを必要とする暗号化構造です。 2. これは、M-of-N 署名スキームに基づいて動作します。ここで、 M は必要な署名の最小数を表し、 N は許可された署名者の総数を表します...
Bitcoin とライトニング ネットワーク: 違いは何ですか?
2026-09-13 15:40:16
コアアーキテクチャとトランザクションモデル1. Bitcoin は、単層のパーミッションレス ブロックチェーン上で動作し、すべてのトランザクションが暗号的に検証され、数千の完全なノードに伝播され、約 10 分ごとに連続したブロックに永続的に記録されます。 2. ライトニング ネットワークは、Bitc...
すべての記事を見る














