BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Web3.0モバイルウォレットに独自のフィッシング攻撃手法「モーダルフィッシング」が続々登場

CertiK
特邀专栏作者
2023-04-20 06:30
この記事は約2615文字で、全文を読むには約4分かかります
フィッシング攻撃はすでに広範囲に広がっていますが、新たなモーダル フィッシング攻撃は存在するのでしょうか?
AI要約
展開
フィッシング攻撃はすでに広範囲に広がっていますが、新たなモーダル フィッシング攻撃は存在するのでしょうか?

fbcb39b574e19076e8c10105ef0188f9

私たちは最近、接続された分散型アプリケーション (DApp) の身元について被害者を誤解させるために使用できる新しいフィッシング手法を発見しました。

私たちはこの新しいフィッシング手法を「モーダル フィッシング」と名付けました。

攻撃者は、正規の DApp を装ったモバイル ウォレットに偽の偽情報を送信し、モバイル ウォレットのモーダル ウィンドウに誤解を招く情報を表示することで被害者をだまして取引を承認させることができます。このフィッシング手法は広く使用されています。私たちは各コンポーネントの開発者と連絡を取り、このリスクを軽減するために新しい認証 API をリリースすることを確認しました。

モーダルフィッシングとは何ですか?

CertiK のモバイル ウォレットに関するセキュリティ調査中に、Web3.0 通貨ウォレットの特定のユーザー インターフェイス (UI) 要素が攻撃者によって制御され、フィッシング攻撃が実行される可能性があることに気づきました。攻撃者は主に暗号化されたウォレットのモーダル ウィンドウをフィッシング攻撃のターゲットにするため、このフィッシング手法をモーダル フィッシングと名付けました。

モーダル (またはモーダル ウィンドウ) は、モバイル アプリケーションで頻繁に使用される UI 要素です。モーダルは通常、メイン アプリケーション ウィンドウの上部に表示されます。このような設計は通常、Web3.0 通貨ウォレットからのトランザクション要求の承認/拒否など、ユーザーが迅速な操作を実行できるようにするために使用されます。

画像の説明

553e5ae5d096235b41d6719e9270de35

本物の取引承認モデルとフィッシング取引承認モデル

上のスクリーンショットでは、通常のトランザクション承認モーダル ウィンドウがメタマスクにどのように表示されるかを示しています。

接続された分散型アプリケーション (DApp) によって新しいトランザクション要求が開始されると、ウォレットは新しいモーダル ウィンドウを表示し、ユーザーに手動による確認を求めます。

上の画像の左側に示すように、モーダル ウィンドウには通常、Web サイトのアドレス (この場合は localhost)、アイコンなどの要求者の ID が含まれています。 Metamask のような一部のウォレットでは、リクエストに関する重要な情報も表示されます。このインスタンスでは、これが通常のトランザクション リクエストであることをユーザーに思い出させるために、「確認」とマークされたいくつかの UI 要素が表示されました。

ただし、これらの UI 要素は、モーダル フィッシング攻撃のために攻撃者によって制御される可能性があります。右側のスクリーンショットでは、攻撃者がトランザクションの詳細を変更し、トランザクション リクエストを「メタマスク」からの「セキュリティ アップデート」リクエストとして偽装し、ユーザーをだまして承認させることができることがわかります。

スクリーンショットに示されているように、攻撃者はいくつかの UI 要素を操作できます。

そこでこの記事では、2 つの典型的なケースを紹介し、攻撃者によって制御される可能性のある UI 要素を特定します。

詳細は以下のとおりです。

① Wallet Connectプロトコルを使用した場合、攻撃者はDApp情報UI要素(名前、アイコン等)を制御することができます。

画像の説明

23a27a5e1da49556b85c034c6255a76b

攻撃者が制御するモーダルと関連情報ソース(DApp 情報とメソッド名)の例

事例①:Wallet Connectを通じたDAppフィッシング攻撃

Wallet Connect プロトコルは、QR コードまたはディープリンクを介してユーザーのウォレットを DApps に接続するための一般的なオープンソース プロトコルです。ユーザーは、Wallet Connect プロトコルを通じて自分のウォレットを DApps に接続し、そのプロトコルを使用して取引や送金を行うことができます。

Web3.0 通貨ウォレットと DApp 間のペアリング プロセス中に、Web3.0 通貨ウォレットが、DApp の名前、Web サイトのアドレス、アイコンなど、受信したペアリング リクエストのメタ情報を表示するモーダル ウィンドウを表示することに気付きました。と説明します。 Web3.0ウォレットで表示される情報や方法は、ユーザーが閲覧するDApp名、アイコン、Webサイトアドレスによって異なります。

ただし、この情報は DApp によって提供され、ウォレットは提供する情報が合法的かつ本物であるかどうかを検証しません。たとえば、フィッシング攻撃では、特定の Lebi が特定のスプライト (両方とも DApps) になりすまして、ユーザーがトランザクション要求を開始する前にユーザーをだましてそれに接続することができます。

友人はリンク [https://www.youtube.com/watch? v=x 6 muJmDBC 3 o] をブラウザにコピーして、CertiK が作成した小規模なテストを表示できます。

ビデオの中で、CertiK は、攻撃者が Uniswap DApp を「だます」方法を示しています。攻撃者は、Uniswap DApp であると主張し、Metamask ウォレットに接続することで、ユーザーをだまして受信トランザクションを承認させます。

ペアリング プロセス中に、ウォレット内に表示されるモーダル ウィンドウに、準拠した Uniswap DApp の名前、Web サイト URL、およびファビコンが表示されます。

URL に https スキームが使用されているため、南京錠のアイコンも表示され、モーダル ウィンドウがより現実的で正当なものになります。ペアリングのプロセス中、被害者が偽の Uniswap Web サイトでトランザクション操作を実行したい限り、攻撃者はトランザクション要求パラメータ (宛先アドレスやトランザクション金額など) を置き換えて、被害者の資金を盗むことができます。

モーダル設計はウォレットごとに異なりますが、攻撃者はいつでもメタ情報を制御できることに注意してください。

画像の説明

a199aad38b4820fc4d1516e81628092d

モーダルフィッシング: Zengo および 1Inch ウォレットに接続された偽の DApp

ペアリングおよびトランザクション モーダル ウィンドウが攻撃者によって操作される可能性があることがわかったので、そのような攻撃を使用して、トランザクション リクエストが正規の DApps からのものであるとユーザーに信じ込ませることができます。

以下のスクリーンショットに示されているように、「メタマスク」を名乗る偽の DApp を作成し、フィッシング スマート コントラクトを開始しました。攻撃者は、トランザクション承認モーダルでメタマスクまたは Uniswap DApp になりすます可能性があります。

a993c48bb4a6d8f1b262cd5e96065cea

上記の例に示されているように、大規模に使用される Wallet Connect プロトコルでは、ペアになっている DApp 情報の正当性が検証されません。操作されたメタ情報はウォレット アプリケーションによってさらに使用され、ユーザーに提示され、モーダル フィッシングに使用される可能性があります。潜在的な解決策として、Wallet Connect プロトコルは DApp 情報の有効性と合法性を事前に検証できます。 Wallet Connect の開発者は、この問題を認識していることを認めており、解決策に取り組んでいます。

事例②:MetaMaskによるスマートコントラクト情報フィッシング

メタマスク承認モーダルのアイコンまたは Web サイト名の下に、「確認」や「不明な方法」などの浮動文字列を表示する別のビューがあることに気づいたかもしれません。この UI 要素は、対応するトランザクション タイプを識別するためにメタマスクによって設計されています。

画像の説明

fa8ae007632ff21d32777f8e60d11c22

画像の説明

63844eb2b333264ab6cfec85712339d5

MetaMask のスマート コントラクト メソッド名の説明

メタマスク上に「セキュリティ アップデート」というラベルの付いたトランザクション リクエスト モーダルが表示されます。攻撃者は、支払い機能を備えた SecurityUpdate を備えたフィッシング スマート コントラクトを構築し、被害者がスマート コントラクトに資金を送金できるようにします。

攻撃者はまた、SignatureReg を使用して、メソッドのシグネチャを人間が読める文字列「SecurityUpdate」として登録します。前述したように、メタマスクはこのフィッシング スマート コントラクトを解析するときに、関数署名バイトを使用して対応する関数メソッドをクエリし、それを承認モーダルでユーザーに提示します。

画像の説明

f41b454ff4248432e0f1b734f2b7e5fc

フィッシング取引承認モーダル

上の例では、スマート コントラクト情報に関連するウォレット上の UI 要素がフィッシング詐欺師によってどのように操作されるかを示しました。

最後に書きます

最後に書きます

この記事では、盲目的に信頼すべきではない、Web3.0 通貨ウォレットの一般的な UI コンポーネントであるモーダル ウィンドウについて説明します。

モーダル ウィンドウの特定の UI 要素は、攻撃者によって操作されて、非常に「本物で説得力のある」フィッシング トラップを作成する可能性があります。したがって、この新しいフィッシング手法を Modal Phishin と名付けました。

この攻撃の根本原因は、ウォレット アプリケーションが、提示された UI 要素の正当性を完全に検証していないことです。

たとえば、ウォレット アプリケーションは、Wallet Connect SDK からのメタデータを直接信頼し、それをユーザーに提示します。

また、Wallet Connect SDK は受信メタデータを検証しないため、場合によっては、提示されたメタデータが攻撃者によって制御される可能性があります。メタマスクでは、モーダル ウィンドウに不正なスマート コントラクト関数のメソッド名を表示するために、同様の攻撃原則が攻撃者によって悪用されていることがわかります。

全体として、ウォレット アプリケーションの開発者は、受信データが信頼できないことを常に想定する必要があると考えています。開発者は、ユーザーに表示する情報を慎重に選択し、その情報の正当性を検証する必要があります。さらに、ユーザーは、セキュリティの観点から自分の「1 エーカー 3 ポイントの土地」を守るために、あらゆる未知のトランザクション要求に対して懐疑的な態度を保つ必要もあります。

DApp
財布
スマートコントラクト
開発者
Web3.0
Uniswap
テクノロジー
安全性
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk