時価総額: $2.2565T -0.16%
ボリューム(24時間): $72.5642B -19.54%
恐怖と貪欲の指数:

22 - 極度の恐怖

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

言語を選択する

言語を選択する

通貨の選択

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

リエントランシー攻撃とは何ですか?契約でそれを防ぐにはどうすればよいですか?

Reentrancy attacks exploit unchecked external calls in smart contracts, allowing attackers to drain funds by re-entering functions before state updates—highlighted by the $60M DAO hack.

2025/11/10 16:20

スマートコントラクトにおけるリエントランシー攻撃を理解する

1. 再入攻撃は、最初の実行が完了する前に、悪意のあるコントラクトが脆弱な関数を繰り返しコールバックするときに発生します。この再帰的な動作は、スマート コントラクト内の外部呼び出しと状態変化の順序を利用します。

2. 中心的な脆弱性は、内部状態を更新する前に資金を送信したり、外部呼び出しを行ったりするコントラクトにあります。攻撃者はこのウィンドウを利用して、出金機能を再入力することで資金を複数回引き出すことができます。

3. 最も悪名高い例の 1 つは、2016 年の DAO ハッキングで、リエントランシーの欠陥により 6,000 万ドル以上相当のイーサが流出しました。攻撃者はフォールバック関数を使用して、引き出しメカニズムを再帰的に呼び出しました。

4. これらの攻撃はイーサ転送に限定されません。適切な保護策が講じられていない場合、ユーザー制御のコントラクトへの外部呼び出しは潜在的に武器化される可能性があります。

5.再入可能性は、分散型アプリケーション、特に多額のユーザー資金を扱う DeFi プロトコルにおいて、依然として最も重大なセキュリティ リスクの 1 つです。

再入可能を可能にする一般的なパターン

1. 「最初に呼び出し、後で更新」パターンに従う契約は本質的に影響を受けやすいです。ユーザーの残高を減らす前にイーサまたはトークンを送信すると、攻撃者は元の金額を反映した更新された残高で再侵入することができます。

2. 適切なチェックを行わずにcall()delegatecall() 、またはsend()などの低レベルの呼び出しに依存する関数は危険にさらされる可能性が高くなります。これらのメソッドは、受信者のフォールバックまたは受信機能をトリガーしますが、これには悪意のあるロジックが含まれる可能性があります。

3. プルオーバープッシュ支払いモデルの不適切な使用はリスクの一因となります。トランザクション中に積極的に資金を送信するプッシュベースのシステムは、再帰的な悪用の余地を生み出します。

4. 複数のインターフェースにわたる複雑なコントラクトのやり取りにより、危険が増幅されます。あるコントラクトが別のコントラクトを呼び出し、両方のコントラクトが可変状態である場合、実行フローの追跡が困難になり、見落としの可能性が高くなります。

5.状態の更新がアトミックではなく、外部との対話後に発生する場合は、一見安全なコードでも危険にさらされる可能性があります。

効果的な予防戦略

1. Checks-Effects-Interactions (CEI) パターンを厳密に適用します。常に入力を検証し、内部状態変数を更新してから、外部呼び出しを実行します。このシーケンスにより、再入場ウィンドウが排除されます。

2. OpenZeppelin のReentrancyGuardなどのライブラリによって提供されるミューテックス ロックまたは再入ガードを使用します。これらは、すでに実行中の関数が再入力されるのを防ぐロック メカニズムを強制します。

3. 低レベルの呼び出しの使用を制限します。 transfer()のような、再帰的な実行を防ぐガス給費制限などの保護機能が組み込まれた高レベルの転送関数を優先します。

4. 直接支払いの代わりに引き出しパターンを実装します。ユーザーが別の機能を通じて資金の取り出しを開始できるようにすることで、機密性の高い操作中の外部呼び出しの数を最小限に抑えます。

5.定期的な監査ツールと静的分析ツールを開発ライフサイクルに統合して、展開前に潜在的な再入ベクトルを検出する必要があります。

よくある質問

リエントランシー攻撃におけるフォールバック機能の役割は何ですか?フォールバック機能は、コントラクトがデータなしの Ether を受信すると自動的に実行されます。攻撃者は、脆弱な機能を再度呼び出す悪意のあるフォールバックを作成し、元のトランザクションが完了する前に資金を枯渇させるループを作成します。

同じ契約内の異なる機能間でリエントラントが発生する可能性はありますか?はい。関数間の再入は、ある関数が同じコントラクトの別の関数に戻る外部呼び出しを行い、更新されていない共有状態を利用するときに発生します。このような経路をブロックするには、適切な状態管理とガードが不可欠です。

プロキシ契約はリエントラントの影響を受けませんか?いいえ。ロジック実装にチェックされていない外部呼び出しが含まれている場合、プロキシ コントラクトは依然として脆弱である可能性があります。プロキシは呼び出しをアップグレード可能なロジック コントラクトに委任するため、再入性を含むロジック層の欠陥は依然として悪用可能です。

ガス制限は再入試行にどのような影響を与えますか?初期の防御の一部は、再帰をブロックするために利用可能なガスをすべて消費することに依存していました。ただし、最新の攻撃は、正確なガス推定を使用してこれを回避します。ガス制限のみに依存するのは信頼できません。構造的なコード パターンにより、より強力な保護が提供されます。

免責事項:info@kdj.com

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

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

関連知識

ボラティリティスパイクとは何ですか?市場の動きが速いときに安全に取引する方法

ボラティリティスパイクとは何ですか?市場の動きが速いときに安全に取引する方法

2026-06-18 12:39:38

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. レイヤー 2 アップグレード提案が GitHub リポジトリで最終投票段階に達すると、イーサリアムのボラ...

資金調達率フリップとは何ですか?なぜそれが市場センチメントの変化を示唆することが多いのか

資金調達率フリップとは何ですか?なぜそれが市場センチメントの変化を示唆することが多いのか

2026-06-14 03:57:05

市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中の 24 時間枠内で 10% を超えることがよくあります。 2. マージイベント中にイーサリアムのボラティリティ指数は 95 を超えて急上昇しました。これは、レイヤー 1 とレイヤー 2 のエコシステム全体にわたる...

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

ファンディングレート裁定戦略とは何ですか?リスクとメリットの説明

ファンディングレート裁定戦略とは何ですか?リスクとメリットの説明

2026-06-18 04:19:37

資金調達レート裁定取引の仕組み1. ファンディングレート裁定取引は、主要な仮想通貨取引所の無期限先物契約に組み込まれた定期決済メカニズムを利用します。 2. 資金調達レートがプラスの場合、ロング ポジション保有者は 8 時間ごとにショート ポジション保有者に資金を転送します。このフローにより、相殺ポ...

ボラティリティスパイクとは何ですか?市場の動きが速いときに安全に取引する方法

ボラティリティスパイクとは何ですか?市場の動きが速いときに安全に取引する方法

2026-06-18 12:39:38

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. レイヤー 2 アップグレード提案が GitHub リポジトリで最終投票段階に達すると、イーサリアムのボラ...

資金調達率フリップとは何ですか?なぜそれが市場センチメントの変化を示唆することが多いのか

資金調達率フリップとは何ですか?なぜそれが市場センチメントの変化を示唆することが多いのか

2026-06-14 03:57:05

市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中の 24 時間枠内で 10% を超えることがよくあります。 2. マージイベント中にイーサリアムのボラティリティ指数は 95 を超えて急上昇しました。これは、レイヤー 1 とレイヤー 2 のエコシステム全体にわたる...

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

ファンディングレート裁定戦略とは何ですか?リスクとメリットの説明

ファンディングレート裁定戦略とは何ですか?リスクとメリットの説明

2026-06-18 04:19:37

資金調達レート裁定取引の仕組み1. ファンディングレート裁定取引は、主要な仮想通貨取引所の無期限先物契約に組み込まれた定期決済メカニズムを利用します。 2. 資金調達レートがプラスの場合、ロング ポジション保有者は 8 時間ごとにショート ポジション保有者に資金を転送します。このフローにより、相殺ポ...

すべての記事を見る

User not found or password invalid

Your input is correct