原文タイトル:DeFiハッキングによる損失を止める方法 原文作者:sysls、openforage 原文翻訳:AididiaoJP、Foresight News
原文作者:律動BlockBeats
原文出典:
転載:火星财经
引言
大量のDeFiプロトコルのハッキング事件を理解する中で、「国家行為体」に対する恐怖を抱くようになった。彼らは技術に長け、資源も豊富で、非常に長期的なゲームをプレイしている;これらのスーパー悪役は、あなたのプロトコルやインフラの隅々までを調査し、脆弱性を探すことに集中している。一方、普通のプロトコルチームの注意は六七つの異なる事業に分散している。
私は自称安全の専門家ではないが、高リスク環境でチームを率いた経験(軍隊や巨額資金の金融分野を含む)があり、緊急対応策の思考と計画に長けている。
私は心から信じている、偏執的な者だけが生き残れると。どのチームも最初から「安全に対して無頓着でいい加減にしよう」とは考えない;しかし、ハッキングは依然として起こる。私たちはもっと良くなる必要がある。
AIは今回本当に違うことを意味している
ハッキングは珍しくないが、その頻度は明らかに増加している。2026年第1四半期は記録上最も多くのDeFiハッキングが発生した四半期であり、第2四半期が始まったばかりにもかかわらず、すでに前四半期の記録を破る見込みだ。
私の核心仮説は:AIは脆弱性探索のコストを大幅に下げ、攻撃面を飛躍的に拡大している。人間は数週間かけて100のプロトコルの設定を調査し誤設定を見つける必要があるが、最新の基盤モデルは数時間でこれを完了できる。
これは私たちのハッキングへの思考と対応方法を根本的に変えるはずだ。AIが強力になる前の安全策に慣れ親しんだ古いプロトコルは、「秒殺」のリスクにますます直面している。
表面と階層的思考を用いる
ハッキングの表面積は実際には3つに集約できる:プロトコルチーム、スマートコントラクトとインフラ、ユーザーの信頼境界(DSN、ソーシャルメディアなど)。
これらの表面を特定したら、防御層を重ねる:
· 予防:厳格に実行すれば、悪用される確率を最大限に低減できる。 · 緩和:予防失敗時にダメージを制限する。 · 一時停止:巨大なプレッシャー下では最良の決定はできない。一旦攻撃を確認したら、即座に全停止スイッチを起動。凍結はさらなる損失を防ぎ、思考の余裕を得る…… · 取り戻す:有毒または侵害されたコンポーネントの制御を失った場合、それらを放棄し交換する。 · 復旧:失ったものを取り戻す。資金凍結や取引取消、調査支援を行う機関と事前に連携しておく。
原則
これらの原則は、各層の防御を具体的に実施するための指針だ。
最先端AIの積極的利用
最先端モデルのAIを大量に使い、コードベースや設定をスキャンして脆弱性を探し、広範な表面に対してレッドチームテストを行う:フロントエンドで脆弱性を探し、それがバックエンドに到達できるか試す。攻撃者もそうしている。あなたの防御的スキャンで見つかるものは、彼らの攻撃的スキャンですでに発見されている。
pashov、nemesisなどのスキルや、Cantina(Apex)、Zellic(V12)などのAIプラットフォームを使い、完全な監査前に素早くコードベースをスキャンする。
時間と摩擦は良い防御
損害をもたらす可能性のある操作には、多段階の手順とタイムロックを追加する。異常を発見したら介入し、凍結できる十分な時間を確保する。
過去にはタイムロックや多段階設定に反対する理由は、プロトコルチームに摩擦をもたらすことだったが、今や心配無用:AIはこれらの摩擦を裏で簡単に通過させることができる。
不変条件
スマートコントラクトは、不変の「事実」を記述することで防御的に構築できる:これらの事実が破られた場合、プロトコルのロジックは崩壊する。
通常、少数の不変条件しかない。それらをコードレベルに慎重に昇格させる必要がある;各関数内で複数の不変条件を強制すると管理が難しくなる。
権力のバランス
多くのハッキングは、攻撃されたウォレットに起因している。これに対し、次のような設定が必要だ:多署名が攻撃されても、損害を迅速に抑制し、プロトコルをガバナンス可能な状態に戻すこと。
これには、ガバナンス(すべてを決定)と救援(回復可能な安定性を取り戻す能力)の間でバランスを取る必要がある。
常に問題は起こる
最初からこう仮定しよう:あなたがどれだけ賢くても、ハッカーに攻撃される。あなたのスマートコントラクトや依存関係は失敗する可能性がある。社会工学攻撃を受けることもあり、新しいアップグレードが予期しない脆弱性をもたらすこともある。
こう考えると、損害を制限するレートリミッターや断路器は最良の味方となる。損害を5-10%に抑え、凍結し、対応策を計画する。銃弾の雨の中で最良の決定を下すことは誰にもできない。
今こそ最良の計画時間
ハッキングされる前に対応策を考え始める。できるだけプロセスをコード化し、チームとリハーサルを行う。そうすれば、衝撃時に慌てることはない。AI時代には、大量の情報をできるだけ早く提示できるスキルとアルゴリズムを持ち、要約や長文でコアメンバーに共有することが求められる。
完璧である必要はないが、生き延びる必要がある。システムは最初から完璧ではない。何度も改善を重ね、教訓を吸収して脆弱性に強くなる。
被害を受けていない証拠は、攻撃されない証拠ではない。最大のリスクは、最大の安心点が最も危険な点であることだ。
予防策
スマートコントラクト設計
不変条件を特定したら、それらをランタイムチェックに昇格させる。どの不変条件を実際に強制すべきか慎重に考える。
これがFREI-PI(Function Requirements, Effects, Interactions, Protocol Invariants)モデルだ:価値に関わる各関数の終了時に、その関数が約束した王冠の不変条件を再検証する。CEI(Checks-Effects-Interactions)を用いた抽干攻撃(フラッシュローン三明治、オラクル支援の清算グリーフ、関数間の支払い能力の抽干)も、関数終了時の不変条件チェックで捕捉できる。
良いテスト
状態化模糊テスト(Stateful fuzzing)は、プロトコルの公開された表面に対してランダムな呼び出しシーケンスを生成し、各ステップで不変条件を断言する。多くの本番環境の脆弱性は複数取引にまたがるものであり、状態化模糊テストはこれらのパスを攻撃者より先に発見する唯一の信頼できる方法に近い。
不変条件を用いたテストで、模糊器が生成するすべての呼び出しシーケンスにおいて属性が成立することを断言し、形式検証と併用すれば、すべての到達可能な状態で属性が成立することを証明できる。あなたの王冠の不変条件は、この処理を受け入れるべきだ。
オラクルと依存関係
複雑さは安全の敵だ。外部依存は攻撃面を拡大する。原語を設計する際は、誰を信頼し何を信頼するかをユーザーに委ねる。依存を排除できない場合は、多元化し、単一故障点があなたのプロトコルを破壊しないようにする。
シミュレーションオラクルや依存関係の失敗パターンも監査範囲に含め、それらの失敗による災害の可能性に速率制限をかける。
最近のKelpDAOの脆弱性は一例だ:LayerZeroのデフォルト設定requiredDVNCount=1を継承したが、この設定は監査範囲外だった。最終的に攻撃されたのは、監査範囲外のオフチェーンインフラだった。
表面攻撃
DeFiの表面攻撃のほとんどは既に列挙済みだ。各カテゴリを逐一確認し、自分のプロトコルに該当するかどうかを判断し、その攻撃ベクトルに対するコントロールを実施せよ。レッドチームスキルを育成し、AIインテリジェンスに自らのプロトコルの脆弱性を積極的に探させることは、今や基本的な要件だ。
ネイティブの救援能力を持つ
投票ベースのガバナンスでは、権力は最初はチームのマルチシグに集中し、拡散には時間がかかる。トークンの分散が広くても、委任はしばしば少数のウォレット(時にはn=1)に権威を集中させる。これらのウォレットが攻撃されると、ゲームオーバーだ。
「ガーディアンウォレット」を導入し、厳格に狭い権限を付与:それらはプロトコルの一時停止のみ可能で、>=4/7の閾値で、損傷した委任を事前定義の代替ウォレットに切り替えることができる。ガーディアンは決定的なガバナンス提案を実行できない。
こうして、常にガバナンスの安定性を回復できる救援層を持ちつつ、ガバナンスを覆す権限は持たない仕組みだ。>=4/7のガーディアンを失う最悪のケース確率は非常に低い(所有者の多様性を考慮)。ガバナンスが成熟し分散すれば、この層は段階的に廃止できる。
ウォレットと鍵のトポロジー
マルチシグウォレットは最低4/7の要件。すべての7つの鍵を一人が制御しない。署名者は頻繁に交代させ、静かに行う。
鍵は常に日常使用のデバイスと連携させてはならない。署名デバイスでインターネット閲覧やメール送受信、Slackの起動を行うと、その署名者は既に攻撃されているとみなす。
複数のマルチシグを持ち、それぞれ異なる用途に使う。少なくとも一つの完全なマルチシグが攻撃されることを想定し、そこから計画を始める。どの個人も、極端なシナリオ(誘拐、拷問など)でも、十分な制御権を持つことは避けるべきだ。
賞金を考慮
資源があれば、プロトコルのTVLに対して高額な脆弱性賞金を設定する価値は非常に高い。たとえ規模が小さくても、賞金はできるだけ寛大に(最低7-8桁の金額)設定すべきだ。
国家行為体の攻撃に直面している場合、交渉は難しいかもしれないが、「ホワイトハットセーフハーバー」プログラムに参加し、ホワイトハットに資金保護のための行動を委任し、漏洩した脆弱性の一部金額を報酬として支払うことも可能だ(実際には預金者が支払う賞金)。
良い監査人を見つける
以前書いたが、大規模言語モデルがより賢くなるにつれ、監査人の限界価値は低下している。だが、これは見解の変化も伴う。
まず、良い監査人は最先端を行く。新しいことに取り組む場合、そのコードや脆弱性は訓練データに含まれていない可能性が高い。トークン数を増やすだけでは、新型の脆弱性を見つける効果は証明されていない。あなたは、唯一無二の脆弱性の最初のサンプルになりたくない。
次に、あまり評価されていない利点は、監査人に依頼することは彼らの名誉を保証に使うことだ。彼らが署名して承認し、あなたが攻撃された場合、彼らは強く動機付けられる。安全の専門家と関係を築くことは大きなアドバンテージだ。
操作の安全性を実践
操作の安全性を成功の指標とみなす。フィッシング演習を行い、信頼できるレッドチームに社会工学攻撃を仕掛けさせる。予備のハードウェアウォレットやデバイスを準備し、必要に応じてマルチシグ全体を置き換える。D-dayに慌てて購入しないように。
緩和策
退出経路の損失上限
価値をプロトコルから移す経路の最大封鎖額が、その経路が脆弱性を悪用されたときの最大理論損失だ。簡単に言えば:上限のないミント関数は、無限ミントの脆弱性に対して空白の小切手を切ることになる。上限のない償還関数も同様だ。
退出経路の明確な数値を慎重に検討せよ。この数字は、あなたが許容できる最大損害と、ユーザーの最も極端なUXニーズの間でバランスを取る必要がある。問題が起きた場合、これがあなたを破滅から守るものだ。
ホワイトリスト(とブラックリスト)
ほとんどのプロトコルには、呼び出しや取引、受信が可能なリストと、ユーザーが絶対に行ってはいけないリストがある。暗黙のものも含め、これらは信頼境界であり、正式に定義すべきだ。
これを正式化することで、二段階のセッターを設定し、意味のある摩擦を生み出せる。攻撃者はまずホワイトリストに追加(またはブラックリストから除外)し、その後行動できる。両方を持つことで、攻撃者は新たなベクトルを密かに導入しようとしたとき、二つのプロセスを同時に突破しなければならなくなる:市場に許可されている(上場・統合)、かつ禁止されていない(安全審査)必要がある。
取り戻す
アルゴリズム監視
誰も監視しなければ、殺開スイッチは役に立たない。オフチェーンの監視者は、不変条件を継続的に監視し、問題があれば自動的に警報を上げる仕組みを持つべきだ。最終的には、ガーディアンのマルチシグの人間が判断できる状態にし、数分以内に決定できる十分な情報を提供する。
リセットと再調整
攻撃を受けたら、まず止血を行う。倒れる前に対処することが重要だ。これが殺開スイッチ(UIにも反映させる)だ:一つのボタンで全ての価値移動経路を一時停止できる。すべて一括で停止させる補助スクリプトを用意し、原子化して停止させる。
ガバナンスだけが解除できるため、殺開スイッチはガバナンスコントラクト自体を停止できてはならない。守護者層がガバナンスコントラクトを停止できると、攻撃された守護者層は永久に復旧を妨害できる。
戦情室の立ち上げ
凍結と止血を行い、信頼できる関係者(事前に合意した少人数のグループ)をコミュニケーションチャネルに招集する。情報漏洩を防ぐため、表面上は小規模に保つ。
チームの役割を演じる:意思決定者、攻防スクリプトと停止操作の熟練操作員、脆弱性の再構築と根本原因の特定者、キーパーソンとの連絡役、観察・事件・決定の記録者。
全員が役割を理解しリハーサルを行えば、最悪の事態でも冷静に対応できる。
連鎖反応を考慮
攻撃者が非常に巧妙だと仮定しよう。最初の脆弱性はおとりかもしれず、その後の攻撃の種まきかもしれない。攻撃は、あなたに完全に誤った行動を取らせ、真の脆弱性を引き出すためのものだ。
一時停止は十分に調査され、完全にコントロールされた状態で行う必要がある。全プロトコルの凍結を意味し、特定のコンポーネントだけを停止させる誘導を避ける。根本原因と攻撃ベクトルを見つけたら、隣接する表面や連鎖反応も調査し、一度にすべて修復する。
事前に承認された後継者の交代
事前に後継者を知っていることが安全な交代の前提だ。私は「事前承認された後継者登録リスト」のアイデアが好きだ:これにより、攻撃者は健全な守護者やガバナンスウォレットを攻撃されたものに置き換えるのが難しくなる。これは、「ホワイトリスト/ブラックリスト」の考え方とも一致する。
重要な役割ごとに後継者アドレスを登録。緊急時に唯一実行可能な原始は、「役割Xを後継者に置き換える」ことだ。これにより、平時に後継者を評価し、慎重に調査し、面会もできる。
アップグレード前の慎重なテスト
根本原因と影響範囲を特定したら、アップグレードを実施する。これは最も危険なコードのデプロイになる可能性がある。プレッシャー下で書き、すでにあなたのプロトコルを理解し、脆弱性を見つけた攻撃者向けに作る。
十分なテストなしにリリースを遅らせる。時間がなければホワイトハットとの関係を頼りにするか、48時間の競争を設定し、新たな対抗レビューを受ける。
復旧
迅速な行動
盗まれた資金には半減期がある。脆弱性が実現すると、すぐにマネーロンダリングに流れる。Chainalysisなどのオンチェーン分析サービスを事前に準備し、攻撃者のアドレスクラスターをリアルタイムでマークし、クロスチェーンの跳躍時に取引所に通知して追跡させる。
事前に取引所のコンプライアンス部門、クロスチェーンブリッジの管理者、ホルダーの管理者、その他の管理権限を持つ第三者のリストを用意しておく。
交渉
確かに痛みを伴うが、攻撃者と対話を試みる価値はある。多くの事柄は交渉で解決できる。期限付きのホワイトハット賞金を提供し、期限前に全額返還された場合は法的措置を取らないと公表する。
国家行為体に直面している場合、交渉は難しいかもしれないが、未熟な攻撃者なら、あなたの資金を利用しようとするだけで、低コストで逃げることも可能だ。
その前に、必ず法律顧問を同席させること。
結論
ハッキングは止まらない。AIがより賢くなるにつれ、攻撃は増加するだけだ。防御側を「敏感に」するだけでは不十分だ。攻撃者と同じツールを使い、レッドチームテストを行い、継続的に監視し、損害に硬い制限を設けることで、最悪の事態でも生き残ることができる。
612.51K 人気度
58.81M 人気度
42.48K 人気度
1.05M 人気度
48.41K 人気度
DeFi安全ガイドライン:AI時代における効果的なハッカー攻撃防御法は?
原文タイトル:DeFiハッキングによる損失を止める方法
原文作者:sysls、openforage
原文翻訳:AididiaoJP、Foresight News
原文作者:律動BlockBeats
原文出典:
転載:火星财经
引言
大量のDeFiプロトコルのハッキング事件を理解する中で、「国家行為体」に対する恐怖を抱くようになった。彼らは技術に長け、資源も豊富で、非常に長期的なゲームをプレイしている;これらのスーパー悪役は、あなたのプロトコルやインフラの隅々までを調査し、脆弱性を探すことに集中している。一方、普通のプロトコルチームの注意は六七つの異なる事業に分散している。
私は自称安全の専門家ではないが、高リスク環境でチームを率いた経験(軍隊や巨額資金の金融分野を含む)があり、緊急対応策の思考と計画に長けている。
私は心から信じている、偏執的な者だけが生き残れると。どのチームも最初から「安全に対して無頓着でいい加減にしよう」とは考えない;しかし、ハッキングは依然として起こる。私たちはもっと良くなる必要がある。
AIは今回本当に違うことを意味している
ハッキングは珍しくないが、その頻度は明らかに増加している。2026年第1四半期は記録上最も多くのDeFiハッキングが発生した四半期であり、第2四半期が始まったばかりにもかかわらず、すでに前四半期の記録を破る見込みだ。
私の核心仮説は:AIは脆弱性探索のコストを大幅に下げ、攻撃面を飛躍的に拡大している。人間は数週間かけて100のプロトコルの設定を調査し誤設定を見つける必要があるが、最新の基盤モデルは数時間でこれを完了できる。
これは私たちのハッキングへの思考と対応方法を根本的に変えるはずだ。AIが強力になる前の安全策に慣れ親しんだ古いプロトコルは、「秒殺」のリスクにますます直面している。
表面と階層的思考を用いる
ハッキングの表面積は実際には3つに集約できる:プロトコルチーム、スマートコントラクトとインフラ、ユーザーの信頼境界(DSN、ソーシャルメディアなど)。
これらの表面を特定したら、防御層を重ねる:
· 予防:厳格に実行すれば、悪用される確率を最大限に低減できる。
· 緩和:予防失敗時にダメージを制限する。
· 一時停止:巨大なプレッシャー下では最良の決定はできない。一旦攻撃を確認したら、即座に全停止スイッチを起動。凍結はさらなる損失を防ぎ、思考の余裕を得る……
· 取り戻す:有毒または侵害されたコンポーネントの制御を失った場合、それらを放棄し交換する。
· 復旧:失ったものを取り戻す。資金凍結や取引取消、調査支援を行う機関と事前に連携しておく。
原則
これらの原則は、各層の防御を具体的に実施するための指針だ。
最先端AIの積極的利用
最先端モデルのAIを大量に使い、コードベースや設定をスキャンして脆弱性を探し、広範な表面に対してレッドチームテストを行う:フロントエンドで脆弱性を探し、それがバックエンドに到達できるか試す。攻撃者もそうしている。あなたの防御的スキャンで見つかるものは、彼らの攻撃的スキャンですでに発見されている。
pashov、nemesisなどのスキルや、Cantina(Apex)、Zellic(V12)などのAIプラットフォームを使い、完全な監査前に素早くコードベースをスキャンする。
時間と摩擦は良い防御
損害をもたらす可能性のある操作には、多段階の手順とタイムロックを追加する。異常を発見したら介入し、凍結できる十分な時間を確保する。
過去にはタイムロックや多段階設定に反対する理由は、プロトコルチームに摩擦をもたらすことだったが、今や心配無用:AIはこれらの摩擦を裏で簡単に通過させることができる。
不変条件
スマートコントラクトは、不変の「事実」を記述することで防御的に構築できる:これらの事実が破られた場合、プロトコルのロジックは崩壊する。
通常、少数の不変条件しかない。それらをコードレベルに慎重に昇格させる必要がある;各関数内で複数の不変条件を強制すると管理が難しくなる。
権力のバランス
多くのハッキングは、攻撃されたウォレットに起因している。これに対し、次のような設定が必要だ:多署名が攻撃されても、損害を迅速に抑制し、プロトコルをガバナンス可能な状態に戻すこと。
これには、ガバナンス(すべてを決定)と救援(回復可能な安定性を取り戻す能力)の間でバランスを取る必要がある。
常に問題は起こる
最初からこう仮定しよう:あなたがどれだけ賢くても、ハッカーに攻撃される。あなたのスマートコントラクトや依存関係は失敗する可能性がある。社会工学攻撃を受けることもあり、新しいアップグレードが予期しない脆弱性をもたらすこともある。
こう考えると、損害を制限するレートリミッターや断路器は最良の味方となる。損害を5-10%に抑え、凍結し、対応策を計画する。銃弾の雨の中で最良の決定を下すことは誰にもできない。
今こそ最良の計画時間
ハッキングされる前に対応策を考え始める。できるだけプロセスをコード化し、チームとリハーサルを行う。そうすれば、衝撃時に慌てることはない。AI時代には、大量の情報をできるだけ早く提示できるスキルとアルゴリズムを持ち、要約や長文でコアメンバーに共有することが求められる。
完璧である必要はないが、生き延びる必要がある。システムは最初から完璧ではない。何度も改善を重ね、教訓を吸収して脆弱性に強くなる。
被害を受けていない証拠は、攻撃されない証拠ではない。最大のリスクは、最大の安心点が最も危険な点であることだ。
予防策
スマートコントラクト設計
不変条件を特定したら、それらをランタイムチェックに昇格させる。どの不変条件を実際に強制すべきか慎重に考える。
これがFREI-PI(Function Requirements, Effects, Interactions, Protocol Invariants)モデルだ:価値に関わる各関数の終了時に、その関数が約束した王冠の不変条件を再検証する。CEI(Checks-Effects-Interactions)を用いた抽干攻撃(フラッシュローン三明治、オラクル支援の清算グリーフ、関数間の支払い能力の抽干)も、関数終了時の不変条件チェックで捕捉できる。
良いテスト
状態化模糊テスト(Stateful fuzzing)は、プロトコルの公開された表面に対してランダムな呼び出しシーケンスを生成し、各ステップで不変条件を断言する。多くの本番環境の脆弱性は複数取引にまたがるものであり、状態化模糊テストはこれらのパスを攻撃者より先に発見する唯一の信頼できる方法に近い。
不変条件を用いたテストで、模糊器が生成するすべての呼び出しシーケンスにおいて属性が成立することを断言し、形式検証と併用すれば、すべての到達可能な状態で属性が成立することを証明できる。あなたの王冠の不変条件は、この処理を受け入れるべきだ。
オラクルと依存関係
複雑さは安全の敵だ。外部依存は攻撃面を拡大する。原語を設計する際は、誰を信頼し何を信頼するかをユーザーに委ねる。依存を排除できない場合は、多元化し、単一故障点があなたのプロトコルを破壊しないようにする。
シミュレーションオラクルや依存関係の失敗パターンも監査範囲に含め、それらの失敗による災害の可能性に速率制限をかける。
最近のKelpDAOの脆弱性は一例だ:LayerZeroのデフォルト設定requiredDVNCount=1を継承したが、この設定は監査範囲外だった。最終的に攻撃されたのは、監査範囲外のオフチェーンインフラだった。
表面攻撃
DeFiの表面攻撃のほとんどは既に列挙済みだ。各カテゴリを逐一確認し、自分のプロトコルに該当するかどうかを判断し、その攻撃ベクトルに対するコントロールを実施せよ。レッドチームスキルを育成し、AIインテリジェンスに自らのプロトコルの脆弱性を積極的に探させることは、今や基本的な要件だ。
ネイティブの救援能力を持つ
投票ベースのガバナンスでは、権力は最初はチームのマルチシグに集中し、拡散には時間がかかる。トークンの分散が広くても、委任はしばしば少数のウォレット(時にはn=1)に権威を集中させる。これらのウォレットが攻撃されると、ゲームオーバーだ。
「ガーディアンウォレット」を導入し、厳格に狭い権限を付与:それらはプロトコルの一時停止のみ可能で、>=4/7の閾値で、損傷した委任を事前定義の代替ウォレットに切り替えることができる。ガーディアンは決定的なガバナンス提案を実行できない。
こうして、常にガバナンスの安定性を回復できる救援層を持ちつつ、ガバナンスを覆す権限は持たない仕組みだ。>=4/7のガーディアンを失う最悪のケース確率は非常に低い(所有者の多様性を考慮)。ガバナンスが成熟し分散すれば、この層は段階的に廃止できる。
ウォレットと鍵のトポロジー
マルチシグウォレットは最低4/7の要件。すべての7つの鍵を一人が制御しない。署名者は頻繁に交代させ、静かに行う。
鍵は常に日常使用のデバイスと連携させてはならない。署名デバイスでインターネット閲覧やメール送受信、Slackの起動を行うと、その署名者は既に攻撃されているとみなす。
複数のマルチシグを持ち、それぞれ異なる用途に使う。少なくとも一つの完全なマルチシグが攻撃されることを想定し、そこから計画を始める。どの個人も、極端なシナリオ(誘拐、拷問など)でも、十分な制御権を持つことは避けるべきだ。
賞金を考慮
資源があれば、プロトコルのTVLに対して高額な脆弱性賞金を設定する価値は非常に高い。たとえ規模が小さくても、賞金はできるだけ寛大に(最低7-8桁の金額)設定すべきだ。
国家行為体の攻撃に直面している場合、交渉は難しいかもしれないが、「ホワイトハットセーフハーバー」プログラムに参加し、ホワイトハットに資金保護のための行動を委任し、漏洩した脆弱性の一部金額を報酬として支払うことも可能だ(実際には預金者が支払う賞金)。
良い監査人を見つける
以前書いたが、大規模言語モデルがより賢くなるにつれ、監査人の限界価値は低下している。だが、これは見解の変化も伴う。
まず、良い監査人は最先端を行く。新しいことに取り組む場合、そのコードや脆弱性は訓練データに含まれていない可能性が高い。トークン数を増やすだけでは、新型の脆弱性を見つける効果は証明されていない。あなたは、唯一無二の脆弱性の最初のサンプルになりたくない。
次に、あまり評価されていない利点は、監査人に依頼することは彼らの名誉を保証に使うことだ。彼らが署名して承認し、あなたが攻撃された場合、彼らは強く動機付けられる。安全の専門家と関係を築くことは大きなアドバンテージだ。
操作の安全性を実践
操作の安全性を成功の指標とみなす。フィッシング演習を行い、信頼できるレッドチームに社会工学攻撃を仕掛けさせる。予備のハードウェアウォレットやデバイスを準備し、必要に応じてマルチシグ全体を置き換える。D-dayに慌てて購入しないように。
緩和策
退出経路の損失上限
価値をプロトコルから移す経路の最大封鎖額が、その経路が脆弱性を悪用されたときの最大理論損失だ。簡単に言えば:上限のないミント関数は、無限ミントの脆弱性に対して空白の小切手を切ることになる。上限のない償還関数も同様だ。
退出経路の明確な数値を慎重に検討せよ。この数字は、あなたが許容できる最大損害と、ユーザーの最も極端なUXニーズの間でバランスを取る必要がある。問題が起きた場合、これがあなたを破滅から守るものだ。
ホワイトリスト(とブラックリスト)
ほとんどのプロトコルには、呼び出しや取引、受信が可能なリストと、ユーザーが絶対に行ってはいけないリストがある。暗黙のものも含め、これらは信頼境界であり、正式に定義すべきだ。
これを正式化することで、二段階のセッターを設定し、意味のある摩擦を生み出せる。攻撃者はまずホワイトリストに追加(またはブラックリストから除外)し、その後行動できる。両方を持つことで、攻撃者は新たなベクトルを密かに導入しようとしたとき、二つのプロセスを同時に突破しなければならなくなる:市場に許可されている(上場・統合)、かつ禁止されていない(安全審査)必要がある。
取り戻す
アルゴリズム監視
誰も監視しなければ、殺開スイッチは役に立たない。オフチェーンの監視者は、不変条件を継続的に監視し、問題があれば自動的に警報を上げる仕組みを持つべきだ。最終的には、ガーディアンのマルチシグの人間が判断できる状態にし、数分以内に決定できる十分な情報を提供する。
リセットと再調整
攻撃を受けたら、まず止血を行う。倒れる前に対処することが重要だ。これが殺開スイッチ(UIにも反映させる)だ:一つのボタンで全ての価値移動経路を一時停止できる。すべて一括で停止させる補助スクリプトを用意し、原子化して停止させる。
ガバナンスだけが解除できるため、殺開スイッチはガバナンスコントラクト自体を停止できてはならない。守護者層がガバナンスコントラクトを停止できると、攻撃された守護者層は永久に復旧を妨害できる。
戦情室の立ち上げ
凍結と止血を行い、信頼できる関係者(事前に合意した少人数のグループ)をコミュニケーションチャネルに招集する。情報漏洩を防ぐため、表面上は小規模に保つ。
チームの役割を演じる:意思決定者、攻防スクリプトと停止操作の熟練操作員、脆弱性の再構築と根本原因の特定者、キーパーソンとの連絡役、観察・事件・決定の記録者。
全員が役割を理解しリハーサルを行えば、最悪の事態でも冷静に対応できる。
連鎖反応を考慮
攻撃者が非常に巧妙だと仮定しよう。最初の脆弱性はおとりかもしれず、その後の攻撃の種まきかもしれない。攻撃は、あなたに完全に誤った行動を取らせ、真の脆弱性を引き出すためのものだ。
一時停止は十分に調査され、完全にコントロールされた状態で行う必要がある。全プロトコルの凍結を意味し、特定のコンポーネントだけを停止させる誘導を避ける。根本原因と攻撃ベクトルを見つけたら、隣接する表面や連鎖反応も調査し、一度にすべて修復する。
事前に承認された後継者の交代
事前に後継者を知っていることが安全な交代の前提だ。私は「事前承認された後継者登録リスト」のアイデアが好きだ:これにより、攻撃者は健全な守護者やガバナンスウォレットを攻撃されたものに置き換えるのが難しくなる。これは、「ホワイトリスト/ブラックリスト」の考え方とも一致する。
重要な役割ごとに後継者アドレスを登録。緊急時に唯一実行可能な原始は、「役割Xを後継者に置き換える」ことだ。これにより、平時に後継者を評価し、慎重に調査し、面会もできる。
アップグレード前の慎重なテスト
根本原因と影響範囲を特定したら、アップグレードを実施する。これは最も危険なコードのデプロイになる可能性がある。プレッシャー下で書き、すでにあなたのプロトコルを理解し、脆弱性を見つけた攻撃者向けに作る。
十分なテストなしにリリースを遅らせる。時間がなければホワイトハットとの関係を頼りにするか、48時間の競争を設定し、新たな対抗レビューを受ける。
復旧
迅速な行動
盗まれた資金には半減期がある。脆弱性が実現すると、すぐにマネーロンダリングに流れる。Chainalysisなどのオンチェーン分析サービスを事前に準備し、攻撃者のアドレスクラスターをリアルタイムでマークし、クロスチェーンの跳躍時に取引所に通知して追跡させる。
事前に取引所のコンプライアンス部門、クロスチェーンブリッジの管理者、ホルダーの管理者、その他の管理権限を持つ第三者のリストを用意しておく。
交渉
確かに痛みを伴うが、攻撃者と対話を試みる価値はある。多くの事柄は交渉で解決できる。期限付きのホワイトハット賞金を提供し、期限前に全額返還された場合は法的措置を取らないと公表する。
国家行為体に直面している場合、交渉は難しいかもしれないが、未熟な攻撃者なら、あなたの資金を利用しようとするだけで、低コストで逃げることも可能だ。
その前に、必ず法律顧問を同席させること。
結論
ハッキングは止まらない。AIがより賢くなるにつれ、攻撃は増加するだけだ。防御側を「敏感に」するだけでは不十分だ。攻撃者と同じツールを使い、レッドチームテストを行い、継続的に監視し、損害に硬い制限を設けることで、最悪の事態でも生き残ることができる。