# Web3緊急救助活動の振り返りと反省2022年1月18日、私たちの異常取引監視システムは、AnySwapプロジェクト(、すなわちMultichain)に対する攻撃を発見しました。anySwapOutUnderlyingWithPermit()関数に脆弱性が存在するため、ユーザーがこのプロジェクトに許可したトークンが攻撃者に盗まれる可能性があります。プロジェクト側は影響を受けたユーザー(に取引のリマインダー)を送信するなど、さまざまな方法で通知を行ったにもかかわらず、多くのユーザーは権限を適時に取り消さず、攻撃者が継続的に利益を得ることができました。攻撃が続いているため、潜在的な被害者を保護するために、BlockSecチームは緊急対応措置を講じることを決定しました。私たちは主にEthereum上の影響を受けたアカウントを対象として、関連資金を特別に設立されたマルチシグホワイトハットアカウントに移転します。行動の透明性を確保するために、計画概要のドキュメントハッシュ(の内容)をコミュニティに公開し、私たちと攻撃者の行動を区別できるようにし、詳細を漏らさないようにします。救援活動は2022年1月21日に開始され、3月11日に終了しました。緊急救援は多くの技術的および非技術的な課題に直面しています。現在、行動は終了しましたので、私たちは全過程を振り返り、コミュニティと関連する経験や知見を共有したいと思います。これがDeFiエコシステムの安全に貢献できることを願っています。## 簡単なまとめ- Flashbotsの広範な使用は、ホワイトハットと攻撃者の間、及びそれぞれのコミュニティ内部で激しい競争を生み出し、支払われる費用も時間と共に急速に増加しています。- Flashbotsは万能ではなく、一部の攻撃者はmempoolを利用し、巧妙に取引を配置することで攻撃を成功させる。- 一部の攻撃者はプロジェクト側と合意し、一部の利益を返還し、一部を報酬として保持することで、成功裏に「洗浄」しました。この行為はコミュニティで議論を引き起こしています。- ホワイトハットは、機密情報を漏らすことなくコミュニティに行動を公開でき、この信頼構築の方法は効果的です。- コミュニティのさまざまな力の協力により、救援がより迅速かつ効果的に行われます。例えば、ホワイトハット間の協力により無駄な競争を減らすことができます。次に、私たちは4つの側面から議論を展開します。まず、事件の全体状況を振り返り、次に救助方法と直面している課題を紹介し、続いて行動の中での心得を共有し、最後にいくつかの提案をします。## 攻撃・救助状況の概要### 全体的な結果私たちが観察した期間は2022年1月18日から3月20日までです。全体の状況は以下の通りです:- 9つの救済アカウントが483.027693 ETHを保護しており、その中でFlashbots手数料として295.970554 ETH(が61.27%を占めています)- 21の攻撃アカウントが1433.092224 ETHの利益を得て、Flashbots手数料として148.903707 ETHを支払いました(は10.39%を占めます)注意が必要なのは、いくつかの複雑な状況が存在するため(、攻撃者がプロジェクト側と協議した後に一部の利益を返還する)ことです。これらのデータはあくまで大まかな統計に過ぎません。! [](https://img-cdn.gateio.im/social/moments-502b402f7119932988948ba461367a19)### Flashbotsの料金動向ホワイトハットは、救済を実施するために攻撃者と競争してFlashbotsトランザクションを送信する必要があり、支払われる手数料は競争の激しさを反映しています。私たちは、取引ブロックごとに攻撃および救済トランザクションのFlashbots手数料の割合を統計しました。最初のいくつかの攻撃取引におけるFlashbotsの手数料は0であり、攻撃者がFlashbotsをまだ使用していないことを示している。その後、手数料の割合は急速に上昇し、特定のブロックでは80%や91%に達することもあった。これは、Flashbots上のチェーン権を巡る手数料の軍拡競争に進化したことを示している。! [](https://img-cdn.gateio.im/social/moments-30d2c3346816e15ab7c89a6a25d0ad83)## 私たちが実施した救助活動と直面している課題### 救助活動の基本的な考え方我々は問題のある契約にWETHを承認した潜在的な被害者アカウントのグループを監視しました。これらのアカウントにWETHが入金されると、契約の脆弱性を利用してホワイトハットのマルチシグウォレットに転送します。重要なのは、次の3つの点を満たすことです:1. 被害者への送金のトランザクション(送金トランザクション)2. 正しく救助の取引(を構築して実施する救助取引)3. 攻撃者(や他の第三者)の取引(を成功裏に先取りする)最初の2つの点は、私たちにとって障害とはなりません。なぜなら、私たちにはmempoolを監視するシステムと、救済取引を自動的に構築するツールがあるからです。しかし、3つ目の点は依然として挑戦的です。理論的にはFlashbotsを使って先行取引に勝つことができますが、実際には簡単ではありません。まず、攻撃者もFlashbotsを使う可能性があり、成功率は入札の高低によります。次に、激しい競争によりFlashbotsが常に最良の選択肢とは限らず、私たちはmempoolを通じて通常の取引を送信することもあります。最後に、私たちは他の"ホワイトハット"と競争しており、特定のいわゆる"ホワイトハット"の行動は実際には疑わしい場合があります。###コンペティション私たちは171の独立した潜在的な被害者アカウントを保護しようとしました。そのうち10件は迅速に権限を取り消して自己防衛を行い、残りの161件の中から私たちはわずか14件を救出することに成功しました。失敗したケースには3つの救出アカウントと16の攻撃アカウントが含まれています。! [](https://img-cdn.gateio.im/social/moments-d22626977feebe325b02c899454022c7)## 学んだ教訓### Flashbotsの料金設定救助の過程で、私たちは他の競争者に12回敗北しました。その中には2つの救助アカウントと10の攻撃アカウントが含まれています。私たちの戦略は比較的保守的で、被害者の利益を守るために低いFlashbots手数料を設定する傾向があります。成功したFlashbotsを利用した攻撃取引が存在しない限り、私たちは積極的に使用したり手数料を増加させたりすることはありません。しかし、この戦略は効果が悪く、相手はしばしばより攻撃的です。- ある攻撃者は手数料の割合を70%に設定しました- あるホワイトハットが手数料の割合を79%、80%に設定しました。- 別のホワイトハットは手数料の割合を81%に設定しました- 攻撃者はその後、手数料の割合を86%に引き上げました。これはゼロサムゲームのようであり、各方面の行動パターンをモデル化して探索する必要があります。実践においては、コストをできるだけ抑えつつ、競争に勝つための最適な戦略を見つけることが非常に挑戦的な課題です。! [](https://img-cdn.gateio.im/social/moments-3a365a505b5c5ac87a42a6d277af23ff)### Mempoolトランザクションのソート激しい競争により、Flashbotsが常に効果的であるとは限りません。mempoolを通じて通常の取引を送信する場合、適切な位置に配置できれば(、送金取引の直後に)、目標を達成することも可能です。ある攻撃者はこの戦略を用いて312 ETHの利益を上げ、Flashbotsの手数料を支払う必要がありませんでした。例えば:- ブロック14051020:被害者の送金トランザクションは65にあり、攻撃トランザクションは66にあります- ブロック14052155:被害者の送金取引は161にあり、攻撃取引は164にあります。この巧妙な戦略は実用性と啓発性を兼ね備えており、注目に値します。! [](https://img-cdn.gateio.im/social/moments-cb547989448abc96498684cb89da8860)## その他の考察### ホワイトハットと攻撃者の定義ホワイトハットを識別することは、必ずしも単純ではありません。例えば、あるアカウントが最初に攻撃者としてマークされた後、プロジェクト側と協議し、50 ETHを報酬として保持し、他の利益を返還することで、再びホワイトハットとしてマークされました。この現象は初めてではなく、そのインセンティブメカニズムの公正性はコミュニティで議論を引き起こしています。### ホワイトハット間の競争コミュニティは、ホワイトハット間の競争を減らすために調整機構を設立する必要があります。この競争は、リソースの浪費を引き起こすだけでなく、救助コストを押し上げる原因にもなります。例えば、私たちは他の3つのホワイトハット団体と同時に54人の被害者(を保護しようとし、450 ETH)に関与しています。調整機構がなければ、ホワイトハットはこの競争を放棄したり停止したりすることが難しいのです。### 救助活動の改善1. ホワイトハットは、機密情報を漏らさない前提でコミュニティに行動を公開することができ、この方法は効果的です。2. コミュニティの各方面が協力して救助効率を向上させることができる: - Flashbots/マイナーは信頼できるホワイトハットにグリーンチャンネルを提供 - プロジェクト側がFlashbotsの費用を負担する - プロジェクトチームはより便利なユーザー警告メカニズムを採用しています - プロジェクトチームはコードに緊急対策を追加しましたさまざまな関係者の共同努力により、私たちはWeb3エコシステムの安全な課題により良く対処し、ユーザーの利益を保護することができます。! [](https://img-cdn.gateio.im/social/moments-adbfab235ed4a4c2a3ef7a58915c4deb)
Web3セキュリティ攻撃と防御記録:AnySwapのレスキュー作戦の経験と啓発
Web3緊急救助活動の振り返りと反省
2022年1月18日、私たちの異常取引監視システムは、AnySwapプロジェクト(、すなわちMultichain)に対する攻撃を発見しました。anySwapOutUnderlyingWithPermit()関数に脆弱性が存在するため、ユーザーがこのプロジェクトに許可したトークンが攻撃者に盗まれる可能性があります。
プロジェクト側は影響を受けたユーザー(に取引のリマインダー)を送信するなど、さまざまな方法で通知を行ったにもかかわらず、多くのユーザーは権限を適時に取り消さず、攻撃者が継続的に利益を得ることができました。
攻撃が続いているため、潜在的な被害者を保護するために、BlockSecチームは緊急対応措置を講じることを決定しました。私たちは主にEthereum上の影響を受けたアカウントを対象として、関連資金を特別に設立されたマルチシグホワイトハットアカウントに移転します。行動の透明性を確保するために、計画概要のドキュメントハッシュ(の内容)をコミュニティに公開し、私たちと攻撃者の行動を区別できるようにし、詳細を漏らさないようにします。救援活動は2022年1月21日に開始され、3月11日に終了しました。
緊急救援は多くの技術的および非技術的な課題に直面しています。現在、行動は終了しましたので、私たちは全過程を振り返り、コミュニティと関連する経験や知見を共有したいと思います。これがDeFiエコシステムの安全に貢献できることを願っています。
簡単なまとめ
Flashbotsの広範な使用は、ホワイトハットと攻撃者の間、及びそれぞれのコミュニティ内部で激しい競争を生み出し、支払われる費用も時間と共に急速に増加しています。
Flashbotsは万能ではなく、一部の攻撃者はmempoolを利用し、巧妙に取引を配置することで攻撃を成功させる。
一部の攻撃者はプロジェクト側と合意し、一部の利益を返還し、一部を報酬として保持することで、成功裏に「洗浄」しました。この行為はコミュニティで議論を引き起こしています。
ホワイトハットは、機密情報を漏らすことなくコミュニティに行動を公開でき、この信頼構築の方法は効果的です。
コミュニティのさまざまな力の協力により、救援がより迅速かつ効果的に行われます。例えば、ホワイトハット間の協力により無駄な競争を減らすことができます。
次に、私たちは4つの側面から議論を展開します。まず、事件の全体状況を振り返り、次に救助方法と直面している課題を紹介し、続いて行動の中での心得を共有し、最後にいくつかの提案をします。
攻撃・救助状況の概要
全体的な結果
私たちが観察した期間は2022年1月18日から3月20日までです。全体の状況は以下の通りです:
注意が必要なのは、いくつかの複雑な状況が存在するため(、攻撃者がプロジェクト側と協議した後に一部の利益を返還する)ことです。これらのデータはあくまで大まかな統計に過ぎません。
!
Flashbotsの料金動向
ホワイトハットは、救済を実施するために攻撃者と競争してFlashbotsトランザクションを送信する必要があり、支払われる手数料は競争の激しさを反映しています。私たちは、取引ブロックごとに攻撃および救済トランザクションのFlashbots手数料の割合を統計しました。
最初のいくつかの攻撃取引におけるFlashbotsの手数料は0であり、攻撃者がFlashbotsをまだ使用していないことを示している。その後、手数料の割合は急速に上昇し、特定のブロックでは80%や91%に達することもあった。これは、Flashbots上のチェーン権を巡る手数料の軍拡競争に進化したことを示している。
!
私たちが実施した救助活動と直面している課題
救助活動の基本的な考え方
我々は問題のある契約にWETHを承認した潜在的な被害者アカウントのグループを監視しました。これらのアカウントにWETHが入金されると、契約の脆弱性を利用してホワイトハットのマルチシグウォレットに転送します。重要なのは、次の3つの点を満たすことです:
最初の2つの点は、私たちにとって障害とはなりません。なぜなら、私たちにはmempoolを監視するシステムと、救済取引を自動的に構築するツールがあるからです。しかし、3つ目の点は依然として挑戦的です。
理論的にはFlashbotsを使って先行取引に勝つことができますが、実際には簡単ではありません。まず、攻撃者もFlashbotsを使う可能性があり、成功率は入札の高低によります。次に、激しい競争によりFlashbotsが常に最良の選択肢とは限らず、私たちはmempoolを通じて通常の取引を送信することもあります。最後に、私たちは他の"ホワイトハット"と競争しており、特定のいわゆる"ホワイトハット"の行動は実際には疑わしい場合があります。
###コンペティション
私たちは171の独立した潜在的な被害者アカウントを保護しようとしました。そのうち10件は迅速に権限を取り消して自己防衛を行い、残りの161件の中から私たちはわずか14件を救出することに成功しました。失敗したケースには3つの救出アカウントと16の攻撃アカウントが含まれています。
!
学んだ教訓
Flashbotsの料金設定
救助の過程で、私たちは他の競争者に12回敗北しました。その中には2つの救助アカウントと10の攻撃アカウントが含まれています。
私たちの戦略は比較的保守的で、被害者の利益を守るために低いFlashbots手数料を設定する傾向があります。成功したFlashbotsを利用した攻撃取引が存在しない限り、私たちは積極的に使用したり手数料を増加させたりすることはありません。しかし、この戦略は効果が悪く、相手はしばしばより攻撃的です。
これはゼロサムゲームのようであり、各方面の行動パターンをモデル化して探索する必要があります。実践においては、コストをできるだけ抑えつつ、競争に勝つための最適な戦略を見つけることが非常に挑戦的な課題です。
!
Mempoolトランザクションのソート
激しい競争により、Flashbotsが常に効果的であるとは限りません。mempoolを通じて通常の取引を送信する場合、適切な位置に配置できれば(、送金取引の直後に)、目標を達成することも可能です。
ある攻撃者はこの戦略を用いて312 ETHの利益を上げ、Flashbotsの手数料を支払う必要がありませんでした。例えば:
この巧妙な戦略は実用性と啓発性を兼ね備えており、注目に値します。
!
その他の考察
ホワイトハットと攻撃者の定義
ホワイトハットを識別することは、必ずしも単純ではありません。例えば、あるアカウントが最初に攻撃者としてマークされた後、プロジェクト側と協議し、50 ETHを報酬として保持し、他の利益を返還することで、再びホワイトハットとしてマークされました。
この現象は初めてではなく、そのインセンティブメカニズムの公正性はコミュニティで議論を引き起こしています。
ホワイトハット間の競争
コミュニティは、ホワイトハット間の競争を減らすために調整機構を設立する必要があります。この競争は、リソースの浪費を引き起こすだけでなく、救助コストを押し上げる原因にもなります。例えば、私たちは他の3つのホワイトハット団体と同時に54人の被害者(を保護しようとし、450 ETH)に関与しています。調整機構がなければ、ホワイトハットはこの競争を放棄したり停止したりすることが難しいのです。
救助活動の改善
ホワイトハットは、機密情報を漏らさない前提でコミュニティに行動を公開することができ、この方法は効果的です。
コミュニティの各方面が協力して救助効率を向上させることができる:
さまざまな関係者の共同努力により、私たちはWeb3エコシステムの安全な課題により良く対処し、ユーザーの利益を保護することができます。
!