はじめに
10月1日、BSC上のBabySwapとTransitSwapが攻撃を受けました。一部の攻撃トランザクションは、ボットによってフロントランされました。興味深いことに、このボットはProfanityツールの脆弱性に対して脆弱であることが判明し、私たちはその秘密鍵を回収することに成功しました。また、ボットコントラクトのリバースエンジニアリングを行い、ボットコントラクトから安全なアカウントへ資金を引き出すことに成功しました。資金はTransitSwapに送金され、現在はBabySwapとの連携を進めている段階です。
タイムライン
BabySwapにおける攻撃の検知
2022年10月1日 14:47 (UTC)、当社の内部システムが攻撃トランザクションを報告しました。その後の分析により、これはスマートルーターコントラクトにおける制御されたファクトリーに起因することが判明しました。しかし、プロジェクトがまだ脆弱であったため、当時は詳細を公開しませんでした。Twitter DMとTGを通じてBabySwapに連絡を試みましたが、返信はありませんでした。
調査中、このトランザクションがボットアカウントによって発行されたことを発見しました。このボットは元の攻撃トランザクションをフロントランしていました。また、このアカウントは先頭に8つのゼロを持つパターンをしており、Profanityツールの脆弱性に脆弱なProfanityツールで生成されたものと思われます。
ボットの秘密鍵の回収
2022年10月1日 16:10 (UTC)、当社のツールは20分ほどでこのボットの秘密鍵の回収に成功しました。回収した秘密鍵については、資金を安全なアカウントに移動させました(これは当社の救済活動における標準的なプロセスです)。そうでなければ、秘密鍵を回収した他の人物がアカウントを乗っ取り、アカウント内の資金が危険にさらされる可能性があります。
ボットからの資金の移動
課題は、資金がボットのEOAアカウント自体ではなく、ボットがデプロイしたコントラクト内にあることでした。資金をどのように移動させるかが課題でした。
コントラクトを逆コンパイルしたところ、コントラクト内にwithdraw関数があることを発見しました(以下の図を参照)。

この関数を利用して、コントラクト内の資金を引き出すことができます。最初の引数はトークンのアドレス、2番目の引数はゼロである必要があります。
トランザクションを送信し、コントラクトからボットへ資金を正常に引き出し、その後安全なアカウントへ資金を移動させました。
さらなる攻撃の発生!
数時間後、当社のシステムがTransSwapへの別の攻撃を報告しました。複数のアドレスからいくつかの攻撃トランザクションがあり、そのうちの1つのトランザクションが**このボットによって再びフロントランされました!**しかし、ボットがデプロイしたコントラクトは異なるものであったため、資金を移動させるための関数も異なっていました。

資金の返還
内部での審議を経て、以下の理由により、資金を攻撃されたプロジェクト(ボットではなく)に返還することを決定しました。
-
第一に、資金はボットが脆弱なコントラクトへの攻撃を通じて取得したものです。ボットは攻撃トランザクションをフロントランしたに過ぎませんが(最初に攻撃を開始したわけではありません)、私たちは攻撃トランザクションのフロントランも攻撃であると考えます。
-
第二に、資金は攻撃の被害者、すなわち影響を受けたDeFiプロトコルのユーザーのものである。ユーザーはDeFiプロトコルの脆弱性により多大な損害を被りました。彼らは攻撃者からの資金を受け取るべきです。
資金はTransitFinanceの公式資金受取アドレスに送金され、現在BabySwapと連絡を取っています。
救済活動の更新
当社は現在も脆弱なアドレスの救済活動を進めています。課題は、秘密鍵を回収するまでアドレスが脆弱かどうかを判断できないことです。最適化されたアルゴリズムがありますが、計算能力の限界により、全体の救済を完了するにはまだ時間がかかります。後日、プロセス全体を詳細に検討し、以下の質問に答えるための詳細なレポートを公開します。
- 脆弱なアドレスはいくつあるか?
- 脆弱性の影響はどの程度か、つまり、脆弱性によりリスクにさらされている資産はどれだけか?
- この脆弱性に対する攻撃の全体的な状況は?
続報にご期待ください。安全にお過ごしください。
まとめ
DeFiプロジェクトを安全にすることは容易ではありません。コード監査に加えて、コミュニティはプロジェクトの状況を積極的に監視し、攻撃が発生する前にブロックするべきだと考えています。
BlockSecについて
BlockSecは、2021年に世界的に著名なセキュリティ専門家グループによって設立された、先駆的なブロックチェーンセキュリティ企業です。当社は、Web3の世界のセキュリティとユーザビリティの向上を促進し、その普及を支援することに尽力しています。そのために、BlockSecはスマートコントラクトおよびEVMチェーンのセキュリティ監査サービス、プロアクティブなセキュリティ開発と脅威ブロックのためのPhalconプラットフォーム、資金追跡と調査のためのMetaSleuthプラットフォーム、そしてWeb3開発者が仮想通貨の世界を効率的にサーフィンするためのMetaDock拡張機能を提供しています。
現在までに、MetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapなど300以上の著名なクライアントにサービスを提供し、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalなどの著名な投資家から2回の資金調達で数千万米ドルを獲得しています。
公式サイト: https://blocksec.com/ 公式Twitterアカウント: https://twitter.com/BlockSecTeam



