筋金入りのハッカーが「フィッシング」に取り組み始めたとき、あなたのNFTはまだ安全ですか?

少し前に、JayChouのBoringApe NFTがフィッシングに襲われ、損失は300万元を超えました。

その後、世界最大のNFT取引プラットフォームの1つであるOpenSeaの多数のユーザーがフィッシング攻撃を受け、多くの人々の資産が被害を受けました。

Web3の世界では、ハッカーが依然として横行していることがわかります。ハッカーの傲慢さに対抗するために、ドライに関する一連の記事を引き続き出力します。 NFTの詐欺防止スキルを教えるための商品。

このペーパーでは、2つの典型的なNFTフィッシング攻撃について調査します。1つは盗難フィッシング攻撃です。 Openseaフィッシングメールインシデントなどのユーザー署名。模倣ドメイン名とコンテンツが高いNFTフィッシングWebサイトの一種。私たちと一緒に見てください

「ユーザーの署名を盗むためのフィッシング」

2022年2月21日、今日、Opensea、暗号化されたデジタルコレクションの世界最大の市場は、ハッカーによって攻撃されました。 Openseaの公式回答によると、ハッカーへの承認に署名したためにNFTが盗まれたユーザーもいます。

このインシデントを再度再現します。攻撃者の情報は次のとおりです:

攻撃アドレス(偽_ Phishing5169):

0x3e0defb880cd8e163bad68abe66437f99a7a8a74

攻撃者契約(Fake_Phishing5176):

0xa2c0946ad444dccf990394c5cbe019a858a945bd

攻撃者のトランザクション関連するNFTを取得するには、次の図に示します。

いずれかを分析します。トランザクション、

0xee038a31ab6e3f06bd747ab9dd0c3abafa48a51e969bcb666ecd3f22ff989589、次のとおりです。

上の図からわかるように、攻撃者はユーザーの承認を取得し、transferfromメソッドを直接呼び出してユーザーのNFTを盗みます。

OpenseaCEOのDevinFinzerが投稿したTwitterによると、攻撃者はフィッシングを通じてOpenseaでのユーザーの注文承認を取得しました。

攻撃トランザクションを分析すると、ハッカーの攻撃は主に次の3つに分けられます。ステップ。

1。署名する正しいトランザクションを作成します;

2。ユーザーをだまして認証をクリックさせます;

3。ユーザーの署名を取得した後、攻撃契約を作成してユーザーのNFTを盗みます。

ステップ1

まず、攻撃者が作成したトランザクションシグネチャコンテンツを分析し、関数呼び出しを追跡しますスタック特定の署名情報は次のとおりです。

上の図、署名の計算方法次のとおりです。keccak256( "\ x19 Ethereum署名付きメッセージ:\ n32"、hashOrder(order));この署名方法は、注文の前にメッセージプレフィックスを追加します:'\ x19 Ethereum署名付きメッセージ: \ n32'、署名が変更されていることを確認するためにEthereumの外部では使用できません。その後、メッセージのプレフィックスが付いた完全なデータが計算され、keccak256値が計算され、最後に秘密鍵で署名されます。

ただし、この方法では所有権を主張することしかできず、リプレイ攻撃を防ぐことはできません。たとえば、ユーザーAがメッセージに署名して契約Mに送信し、別のユーザーBがこの署名を契約Nに再生できます。次の図は、注文署名に関連する特定の情報を示しています。

関連する署名の主なパラメータは次のとおりです。

上記の署名情報には、注文金額やターゲットアドレスなどの機密情報が含まれていますが、keccak256によるハッシュ計算後の値は、ユーザーが認識できないバイナリ文字列の文字列にすぎません。

攻撃者は、上記の注文情報に基づいて署名を作成し、上記の署名に含まれるbasePriceパラメータの量を0に設定し、受信アドレスを自分自身に設定できます。 、など。

ステップ2

攻撃者が署名するデータを作成した後、攻撃者はユーザーをだますことができます承認をクリックします。署名のメタデータはKeccak256によって計算された0xを含む66の16進文字であるため、ユーザーは署名の特定の意味を知ることができず、署名を直接クリックして、攻撃者がユーザーの保留中の注文承認を取得できるようにする可能性があります。

上の写真の署名は、ユーザーのブラインド署名に似ています。つまり、署名メッセージの内容は署名者には見えず、署名者はメッセージの特定の内容を見ることができません。

ステップ3

ステップ2では、攻撃者はECDSA署名メッセージでR、Sを取得します。 V値は、ユーザーNFTを盗むための攻撃コントラクトを構築するために使用できます。次の図はOpenSeaです。WyvernExchangev1コントラクトの注文を検証する関数validateOrder()。具体的なソースコードは次のとおりです。

ソースコードからわかるように、注文の確認では、最初に注文の有効性と有効なパラメータが含まれているかどうかを確認し、次に注文が合格したかどうかを確認します。 -チェーン検証。ここで、approvedOrdersはマピンですg変数。オンチェーン承認によって検証されたすべての注文を保持します。注文が確認された場合、それは直接trueを返し、ECDSA署名を確認するためにecrecover()を使用する必要がないため、スマートコントラクトは直接注文を行うことができます。

以下はNFT盗用トランザクションの1つであり、攻撃者がユーザーの署名を使用して攻撃者の契約を呼び出すことがわかります(Fake _ Phishing5176):

0xa2c0946ad444dccf990394c5cbe019a858a945bd、0エーテルの価格でユーザーのNFTを盗みます。

「高模倣ドメイン名用のNFTフィッシング」

このタイプのフィッシングWebサイトは主にNFT用ですプロジェクトの公式ウェブサイトのドメイン名とコンテンツはほぼ同じように模倣されており、通常、ユーザーのウォレットを接続してユーザーのバランスを確認した後、その他のフィッシング詐欺を実行します。この種のフィッシングWebサイトは最も一般的であり、主に次のタイプに分類されます。

1は、元の公式Webサイトのトップレベルのドメイン名のみを置き換えます

ケース1

公式ウェブサイト:https://invisiblefriends.io/

フィッシングサイト:https://invisiblefriends.ch/

フィッシングサイトのWebページのソースコードを表示すると、次の攻撃アドレスを見つけることができます:

表示

0xEcAcDb9FA4Ed4ACD8977821737da7bCe688be1e0関連トランザクション:

< p cms-style = "font-L">はい上記の2つのトランザクションは、攻撃者によって得られた利益であることがわかりました。

ケース2

公式ウェブサイト:https://cyberbrokers.io/

< p cms-style = "font-L">フィッシングサイト:https://cyberbrokers.live/

フィッシングWebサイトのソースコードを確認し、次の攻撃アドレスを見つけます。

包括的このタイプのイベントは、主に、ユーザーがトランザクション署名に署名するときに、署名されたトランザクションコンテンツが暗号化された文字列であるため、ユーザーが署名されたトランザクションの特定のコンテンツを直感的に確認できず、習慣的にクリックして確認するためです。したがって、攻撃者は注文を販売してユーザーのNFTを盗むためのユーザーの許可を取得します。

2混乱を招くためにメインドメイン名に単語や記号を追加する

一部のフィッシングWebサイトでは単語が追加されますまたはメインドメイン名への記号othersidemeta-airdropなどの単語または記号の難読化。

公式ウェブサイト:https://

フィッシングウェブサイト:

フィッシングWebサイトのソースコードを確認し、setApprovalForAll()関数がページに存在することを確認します。 _演算子は、すべてのトークンを正しく制御します。ユーザーが攻撃者を承認した場合、ユーザーのアカウント内のすべてのNFTが盗まれます。

3混乱のためにセカンドレベルドメイン名を追加する

一部のフィッシングWebサイトでは、混乱のためにセカンドレベルドメイン名が追加されます。フィッシング詐欺。

公式ウェブサイト:https://

フィッシングサイト:https://okaybears.co.uk/

solana web3の公式ドキュメントAPIに従って、Webページのソースコードを表示し、次のアドレスが攻撃アドレスであることを確認します。

フィッシングインシデントが頻繁に発生するため、ユーザーはセキュリティ意識を高め、身を守る必要があります。セキュリティに関する推奨事項は次のとおりです。

1署名するときは、赤いボックスに示すように、取引価格、取引住所、その他の情報など、取引内容に明確に署名する必要があります。次の図:

識別できないコンテンツがある場合(次のような場合)署名されたコンテンツはバイナリ文字列コンテンツのみであり、署名しないでください。

2リンクや添付ファイルをクリックしたり、電子メールに個人情報を入力したりしないでください。

3 NFTの公式ウェブサイトにアクセスすると、公式のTwitter、不和、その他のソーシャルアカウントは、通常、公式ウェブサイトの右上隅などに表示されます。公式ウェブサイトのアドレスは公式アカウントで確認する必要があります。

4フィッシングプラグインをインストールして、フィッシングWebサイトを特定します。たとえば、次の例です(Google Chromeをコピーして直接インストールします)

(Golden Finance)

大量の情報、正確な解釈、すべてSina Finance APP 責任ある編集者:Zhang Jingdi

  1. 記事リンク : https://jp.sdqirong.com/article/dangyingheheikekaishiyanjiudiaoyunideNFThaianquanma_88606.html
  2. 記事のタイトル : 筋金入りのハッカーが「フィッシング」に取り組み始めたとき、あなたのNFTはまだ安全ですか?
  3. この記事はQirong.comのネチズンによって公開されたものであり、ウェブサイトの見解や位置を表すものではありません。転載が必要な場合は、記事へのリンクを追加してください。