北京時間の2022年5月9日午前4時34分42秒、CertiKセキュリティ技術チームはFortress Loansが神託操作による攻撃を受けたことを検知した。
北京時間5月9日午前10時5分、JetFuel Financeもオラクル操作に関するニュースを正式に認め、不審なアドレスと取引へのリンクを公開した。
現在、このプロジェクトは約 1,048.1 ETHと 400,000 DAI (総額約298 万米ドル) を失っています。攻撃者は、DAO とオラクル操作を通じて ETH と DAI を盗み、攻撃を完了します。盗まれたトークンを入手した後、すぐにすべてのトークンをETHと交換し、Tornado Cashを通じてETHを送金しました。
脆弱性トランザクション
https://bscscan.com/tx/0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf
https://bscscan.com/tx/0x851a65865ec89e64f0000ab973a92c3313ea09e80eb4b4660195a14d254cd425
関連アドレス
攻撃アドレス: https://bscscan.com/address/0xA6AF2872176320015f8ddB2ba013B38Cb35d22Ad
攻撃者の契約 (おそらく自爆):
https://bscscan.com/address/0xcd337b920678cf35143322ab31ab8977c3463a45
フォートレスローンのオラクル:
https://bscscan.com/address/0x00fcf33bfa9e3ff791b2b819ab2446861a318285#code
チェーンコントラクト: https://bscscan.com/address/0xc11b687cd6061a6516e23769e4657b6efa25d
攻撃ステップ
攻撃者は、プロポーザル ID 11 を使用して EOA (0x0db3b68c482b04c49cd64728ad5d6d9a7b8e43e6) を作成し、要塞ガバナー アルファ コントラクト (0xe79ecdb7fedd413e697f083982bac29e93d86b2e) に資金を提供しました。
提案 11: https://bscscan.com/tx/0x12bea43496f35e7d92fb91bf2807b1c95fcc6fedb062d66678c0b5cfe07cc002#eventlog
その後、別の攻撃者が制御する EOA (0x0db3b68c482b04c49cd64728ad5d6d9a7b8e43e6) がこの提案に賛成票を投じられました: https://bscscan.com/tx/0x83a4f8f52b8f9e6ff1dd76546a772475824d9aa5b953808dbc34d 1 f39250f29d #イベントログ
このようにして提案 11 が実装され、FTS トークンの担保が 70000000000000 に増加します。これにより、攻撃者は次の手順でそれを悪用して利益を得ることができます。
その後、攻撃者はコントラクト https://bscscan.com/address/0xcd337b920678cf35143322ab31ab8977c3463a45 を攻撃することで担保として 100 FTS を提供し、その見返りに他の大量のトークンを借りました。 https://bscscan.com/tx/0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf
攻撃者はまた、連鎖スマート コントラクト内の「submit()」関数を呼び出すことによってオラクルを操作します。この場合、「requiredSignatures」はバイパスでき、デプロイメントでは電源チェックが無効になります。
最終的に、利益の一部は攻撃者のアドレスに転送され、残りの利益は攻撃契約の外に転送されます。
契約の脆弱性分析
脆弱性①
最初の脆弱性は、ガバナンス契約の設計上の欠陥です。
ガバナンス契約は、融資関連の構成を変更する (つまり、担保とそれに対応する担保係数を追加する) 提案を成功裏に実行できます。ただし、提案が正常に実行されるためには、投票に必要な最小 FTS トークンは 400,000 です。 FTS トークンの価格が低かったため、攻撃者は約 11 ETH を 400,000 以上の FTS トークンと交換しました。
これらの FTS トークンを使用すると、攻撃者は悪意のある提案を自由に作成し、それを正常に実行できます。
脆弱性②
2 番目の脆弱性は、チェーン コントラクトの「コミット」機能に欠陥があり、誰でも価格を更新できることです。
L142 内の必要な文はコメントアウトされています。したがって、関数呼び出しが正しく起動されたことを確認する検証はありません。
資産の所在
2 回の攻撃トランザクションの後、780,000 + 228 万 USDT が攻撃者のアドレスに送金されました。
230万USDTがanySwap(Multichain)にイーサリアムに送金されました。
770,000 USDT が cBridge (Celer Network) を通じてイーサリアムに送信されました。
すべてのUSDTはUnswapを通じてETHとDAIに変換され、Tornado Cashに送信されます。
タイムライン
北京時間5月9日午前0時30分頃、Fortress(FTS)のトークン価格が急落した。すぐにプロジェクトチームは電報で次のように述べた:このプロジェクトにはいくつかの問題があり、現在調査中である。
しかし、攻撃は私たちが思っているより早く始まった可能性があります。
攻撃者が最初に「テスト」を開始したのは、北京時間の 4 月 20 日午前 1 時 41 分 59 秒で、未検証のカスタム コントラクトを展開しました。 「ストンプ」後の数週間、攻撃者は一連のトランザクションを通じてフォートレスとのやり取りを続け、未確認の契約を展開しましたが、この行為は攻撃の最初の数日まで治まりませんでした。
攻撃者がコントラクトを展開した後、攻撃者は以前に価格を操作していたように、一連のトランザクションを開始して、外部所有のアドレスを作成して資金を提供し、要塞ガバナー アルファ コントラクトに悪意のある提案を行って自分自身に投票することを許可しました。十分なFTS(必要な40万票)を簡単に購入し、FTSトークンの担保を非常に高く設定してFTSの価値が上昇し、それを使用して他の多数のトークンを借り、それをETHやDAIと交換します。
さらに、攻撃者によって展開されたコントラクトには「自己破壊」機能があり、すべての悪意のあるトランザクションが完了するとトリガーされます。
現在、資金は cBridge (Celer Network) ブリッジとマルチチェーン交換ブリッジを通過した後、イーサリアム チェーンに転送され、その後の一連のトランザクションで Tornado Cash に送られます。
最後に書きます
この攻撃はセキュリティ監査を通じて効果的に回避されるべきでした。
脆弱性①については、ガバナンストークンの価格や流通枚数が不明なため、リスクを発見することは容易ではありませんが、一定のリスク発見により関連する可能性のある攻撃を警告することは可能です。
脆弱性②については、監査によりキーの検証不足が発見され、関数を送信することで価格を操作することができなくなります。
オラクルマシン操作による攻撃はこれだけではありませんが、数日前にCertiK社が「オラクルマシンを操作するだけで手ぶらのオオカミになれる?」をリリースしました。 DEUS Finance DAO に対する 1,570 万ドルの攻撃の分析] 盗まれた資金はさらに多額です。
暗号化分野にはセキュリティリスクが無限に存在するため、プロジェクトチームは可能な限り警戒し、常にセキュリティインシデントに注意を払って自己点検し、契約コードをタイムリーに改善および監査する必要があります。