
2024年1月16日、ソケットテックは攻撃され、約330万米ドルを失いました。攻撃者は、ソケット契約でデータ検証セッションの抜け穴を利用して、悪意のあるデータ入力を通じて承認された契約のユーザー資金を盗みました。この攻撃により損失が230の住所になり、最大の単一住所損失は約656,000米ドルでした。
背景の紹介
Socketは、クロスチェーンセキュリティ、効率的なデータ、アセット送信を提供する相互運用可能なプロトコルです。ソケットゲートウェイ契約は、ソケットの流動性層とのすべての相互作用のアクセスポイントです。 。 ルーティング。
ハッキング攻撃の3日前に、Socket Contract AdministratorはAddRouteコマンドを実行し、システムへの新しいルートを追加しました。ルートを追加する目的は、ソケットゲートウェイの機能を拡張することですが、誤って重要な抜け穴を導入しました。
次の図は、契約管理者を介してルーティングを追加する記録です
>
概要
1. 1月16日、北京の時間、攻撃者の財布は攻撃によって使用される資金に移されました。
>
2。これらの資金は、Socketの抜け穴を使用する2つの契約を作成および実行するために使用されます。最初の契約は、SocketGatewayアドレスの住所でUSDC(次のようにスクリーンショット)を目指しています。
>
3。次に、2番目の契約は、被害者の演説におけるWeth、USDT、WBTC、Dai、およびMaticを目指しています。その結果、他の104人の被害者が次の資産を失いました。
-42.47526105 WETH
-347,005.65 USDT
-2.88962154 WBTC
-13,821.01ダイ
-165,356.99マティック
4.攻撃者はUSDCとUSDTをETHに変換します。
>
脆弱性
攻撃者が使用する脆弱性は、新しく追加されたルーティングアドレスルーチャッドドレスに存在します。
このアドレスのパフォーマンス関数の元の関数は、ラッピングとアンラッピングの機能を支援することです。ただし、この関数には重要な脆弱性が表示されます。ユーザーは、検証なしで.call()のswapextradataを介して外部データを直接呼び出します。つまり、攻撃者は任意の悪意のある関数を実行できます。
>
この事件では、攻撃者は悪意のあるSwapextradata入力を行い、関数から転送をトリガーしました。悪意のあるコールは、ユーザーのSocketgateway契約の承認を利用し、それらから資金を盗みました。
ただし、契約により、ユーザーのバランスが変更されることを確認するために、バランスチェックをチェックすることにより情報が呼び出された後、ユーザーの残高が正しく変化することが保証されますが、攻撃者が金額を0に設定することをこの関数は考慮していません。
>
攻撃プロセスを復元します
1.攻撃契約を使用して、ソケットゲートウェイ契約で0x00000196()を呼び出します。
>
2。Fallback()は、六角形の署名196を使用して、ルータードレスを呼び出します。
>
3。以下のスクリーンショットでは、攻撃者の数がすべて0です。
>
4.次に、swapの場合はlappedtokenwapperimpl.performaction()を呼び出します。
>
5.確認なしで、誤ったswapextradataは、fromtoken(weth)によって受け入れられ、実行されます。
>
6.攻撃者は、被害者の資産が使い果たされるまで、上記のプロセスを繰り返し実行します。悪意のあるトランザクションが表示された後、ソケットはすぐにDisablerouteと呼ばれ、以前に抜け穴のルーティングをブロックして、攻撃の範囲を妨げました。
7。1月23日、Socketは1032 ETHを回収したことを発表し、25日にすべての損失を補償することを発表しました。このイベントは解決されます。
>
イベントの概要
無制限のユーザーによって承認されたルーティング契約では、悪意のあるCallData攻撃は珍しくありません。同様の攻撃には、DexibleおよびHector Bridgeが含まれます。2023年2月17日、分散型交換脱Xibleが攻撃され、150万米ドル以上を失いました。脆弱性ユーティリティは、悪意のあるcalldataを入力して、ユーザーアセットを盗むために脱Xibleのfill()関数に入ります。2023年6月2日、ヘクターネットワークプロトコルが攻撃されました。攻撃者は虚偽のUSDC契約を展開し、悪意のあるCallDataを可決して、被害者の契約から652,000の実際のUSDCを転送しました。
ブロックチェーンポリマープラットフォームは通常、一連のブリッジとルーティング契約を使用して、流動性を改善し、損失を減らします。ただし、この複雑なパッケージは、セキュリティにより多くの問題をもたらす可能性があります。ソケットのインシデントを解決できることを嬉しく思います。また、Certikは、プラットフォームの包括的な監査とテストの提供、さまざまな総合リスクの削減、コミュニティトラストと業界全体のセキュリティレベルの改善に引き続きコミットされます。