避免Web3钓鱼诈骗:如何识别和预防攻击
Web3フィッシングとは何ですか
Web3 フィッシングは、公式 Web サイトを装った偽の Web サイトを作成し、ユーザーの認証、署名、および暗号通貨資産を盗むことにより、暗号通貨ユーザーをターゲットとするオンライン詐欺の一形態です。 Web3.0 テクノロジーの発展に伴い、新しい Web3 フィッシング詐欺が絶えず出現しています。以下では、新しい Web3 フィッシング攻撃手法、承認フィッシング、Uniswap許可 2 フィッシング、クレーム フィッシング、およびモデル フィッシングを紹介します。また、ユーザーがこれらの攻撃を特定して防止するのに役立つ効果的な手段を提供します。つまり、承認フィッシングに対する予防手段、許可 2 の署名の識別、クレーム フィッシング攻撃の防止、モーダル フィッシング攻撃の防止などです。
1.承認コール攻撃
Web3 フィッシング攻撃は主に以下に関連しています。承認・増額手当業務関連している。攻撃者は、偽造の電子メールやメッセージ、偽の Web サイトやアプリケーション、ソーシャル エンジニアリング、悪意のある広告やポップアップを通じてユーザーをだまして承認操作を実行させます。したがって、ユーザーは不要な権限を取り消す必要があります。認証の取り消しは、フィッシング詐欺師によって悪用される可能性もあります。
認証解除フィッシング攻撃はどのようにして起こるのでしょうか?
攻撃者は偽物を配備したERC-20 トークンコントラクト、承認機能を変更しました。
攻撃者は、多数のオンチェーン アドレスの認証を手動で偽造しました。ユーザーに認証をキャンセルするよう通知します;
ユーザーがリマインダーを受け取り、クリックして承認をキャンセルすると、トランザクションが送信されます。このトランザクションにより、トークンがコントラクト展開者のウォレットに鋳造されます。
raiseAllowance の承認されたフィッシング トランザクション リンク
https://arbiscan.io/tx/0xd598336fac79123952319c9cd9cc62aa275162ce5f39d08ccac0c5e6ef0538e5
「認証の取り消し」フィッシング取引リンクhttps://etherscan.io/tx/0xd4d606caddebf185dc6902ffcec78f3cc915826e1c0e37319d407d01681980ab
2.Uniswap Permit 2 フィッシング攻撃
Uniswap permit 2 トークン認証をさまざまなアプリケーション間で共有および管理できるようにします。ユーザーは 1 回のトランザクションで認証とトランザクションを完了するだけで済み、トランザクションのガス料金が削減され、トランザクション操作プロセスが簡素化されます。ただし、Permit 2 はユーザーの操作をオフチェーン署名に変えます。ユーザーにとって、オフチェーン署名は最も簡単に油断できる手段であり、大多数の人は署名の内容を注意深く確認したり、署名の内容を理解したりしません。
Uniswap Permit 2 Signature フィッシング攻撃はどのようにして発生しますか?
ユーザーは、Permit 2 コントラクトに対して保持するトークンの権限を承認します。これは重要な前提条件です。これは、認証時の署名がフィッシング詐欺のリスクにさらされていることを意味します。
ハッカーはユーザーの署名を取得し、この署名に基づいて許可 2 契約の許可および transferFrom 操作を実行して、ユーザーの資産を移転しました。
ハッカーは、permit 関数を呼び出します。この関数では、主に verify 関数と _updateApproval 関数が呼び出されます。 verify 関数は、ユーザーの署名を検証するために使用されます。検証に合格したら、_updateApproval 関数を実行します。 _updateApproval 関数は、承認値を更新するために使用されます。
承認された当事者は、transferFrom 関数を呼び出して、承認制限内で指定されたアドレスにトークンを転送できます。
許可 2 フィッシング取引リンク
https://etherscan.io/tx/0x1d8fa25f8f16d52cd4c5716e0cefd9b1cdbbbc060901cea223bab9de79b17ea3
3. フィッシング攻撃を主張する
クレーム フィッシング攻撃は、信頼できるエンティティからのリクエストを偽造することにより、ユーザーをだまして個人情報、ログイン資格情報、またはアクセス許可を提供させます。これらのクレームフィッシング契約は通常、ゼロアドレスとして偽装するユーザーの信頼を欺き、ユーザーの暗号化された資産を取得するため。
クレームフィッシング攻撃はどのようにして起こるのでしょうか?
フィッシング詐欺師は、詐欺コントラクトとハブコントラクトを展開し、盗まれたユーザー資金を受け取るための EOA を作成します。詐欺契約には、ユーザーの ETH、ERC 20 トークン、および NFT を盗む機能があります。この詐欺コントラクトはオープンソースではありませんが、オンチェーンのトランザクションデータから判断すると、このコントラクトには主に Cliam と Multicall という 2 つの機能が含まれています。
Claim 関数が呼び出されると、被害者が保持するトークンが内部トランザクションでハブ コントラクトに転送されます。
マルチコール機能は、被害者が承認したトークンを転送するために使用されます。
ハブ コントラクトは、さまざまな詐欺コントラクトから盗まれた資金の収集ポイントとして機能します。フィッシング詐欺師が作成した EOA は、ハブ コントラクトの引き出し関数を呼び出して資金を引き出すことができます。
フィッシング取引リンクを主張する
https://etherscan.io/tx/0xfe70f1b0a92e719bff0d291b7a79987e6e93ed129d52be8e8918c2b9acb1f3b0
4. モーダルフィッシング攻撃
Web 3.0 暗号通貨ウォレットの特定のユーザー インターフェイス (UI) 要素は、攻撃者によって制御されて、モーダル フィッシングとして知られるフィッシング攻撃を実行する可能性があります。 Web3.0 通貨ウォレットの典型的なモーダル デザインでは、通常、ユーザーがリクエストを確認するために必要な情報 (署名など) や、リクエストを承認または拒否するためのボタンが提供されます。
メタマスク ウォレットを例として、モーダル フィッシング攻撃がどのように発生するかを紹介しましょう。
フィッシング詐欺師は、支払い機能を備えた SecurityUpdate 機能を備えたフィッシング スマート コントラクトを展開し、被害者がスマート コントラクトに資金を送金できるようにします。
また、フィッシング詐欺師は、SignatureReg を使用して、SecurityUpdate 関数の署名を人間が読める文字列「SecurityUpdate」として登録します。
被害者は、メタマスク ウォレットで上記のフィッシング スマート コントラクトに接続します。
メタマスクはこのフィッシング スマート コントラクトを解析し、関数署名バイトを使用して、対応する関数メソッド (「SecurityUpdate」) をクエリします。
「SecurityUpdate」はメタマスク モデルでレンダリングされ、ユーザーに確認を求めます。ユーザーが「SecurityUpdate」ボタンをクリックすると、フィッシングは成功します。このとき、フィッシング詐欺師が作成したフィッシングスマートコントラクトが実行され、被害者の資金がスマートコントラクトに転送されます。
Web3 フィッシング攻撃を回避する方法
1. 承認フィッシングの防止策
認可操作の具体的な内容を理解し、認可情報を照会し、正しいチャネルから認可をキャンセルできれば、approval、increaseAllowance、認可取り消しなどのフィッシング詐欺を効果的に回避できます。
次の内容は、ユーザーが認可操作の具体的な内容を理解するのに役立ちます。
承認する場合、ユーザーは承認金額、承認通貨、承認アドレスを考慮する必要があります。承認金額と通貨を指定することで、ユーザーは承認された当事者が自分のアカウントから転送できる資産の量を制限し、このやり取りに関係のない通貨の承認を防ぐことができます。また、ユーザーは認可されたアドレスを慎重にチェックし、複数のチャネルを通じてアドレスを検証して、正しいアドレスに認可が与えられていることを確認する必要もあります。
正式な認可の前に、ユーザーは対応するトークンコントラクト内の認可トランザクションをシミュレートして認可情報を取得できます。
承認または増加Allowance、減少Allowanceなどの承認関連関数を見つけて、次の情報を入力して承認トランザクションをシミュレートします。
オーソリシミュレーション後、Phalcon上でシミュレーションしたトランザクションの具体的な情報が確認でき、入力データからオーソリアドレスとオーソリ金額が確認できます。
上記の結果がユーザーの期待どおりであれば、正式な承認を実行できます。
以下は、チェーン上の認可情報を追跡し、認可情報を取り消すための具体的な手順です。
認可の完了後、ユーザーは定期的にトークンの承認ステータスを追跡し、関連する認可を取り消すこともできます。Etherscan, BscScan and Polygonscanブロックチェーンエクスプローラーにはトークン承認チェッカー機能があります。
アドレスを入力すると、そのアドレスの過去の承認トランザクションが表示されます。各トランザクションの右側にある [取り消し] ボタンを使用すると、この承認を取り消すことができます。
取得したオーソリトランザクションでは、オーソリ通貨、オーソリアドレス、オーソリ金額を確認できます。
2. 許可証 2 の署名を確認します。
Permit 2 フィッシング詐欺は、署名の特定の内容を理解し、特定し、再確認できれば効果的に回避できます。
通常、署名形式には、所有者、支出者、値、ノンス、期限のキー フィールドが含まれており、それぞれ以下を参照します。
所有者: トークン所有者のアドレスを表し、署名によって承認するアドレスを指定するために使用されます。
Spender: トークンの使用を許可されたアドレスを表し、許可するアドレスを指定するために使用されます。
値: 承認するトークンの数を表します。Spender に承認するトークンの特定の数を指定できます。
nonce: トークン所有者を表すトランザクション カウンター。承認された各トランザクションが一意の識別子を持つことを保証するために使用されます。
Deadline: 署名の有効期限を表し、署名の有効期間を制限するために使用されます。有効期限が切れると、署名は無効になります。
ユーザーは、デフォルトの最大値を選択するのではなく、独自のニーズに応じて特定の値と期限を設定することをお勧めします。
Uniswap 許可 2 コントラクトを呼び出す前に、ユーザーは関連する認可機能をシミュレートして認可の詳細を理解できます。 「シミュレート」ボタンをクリックします。
承認機能を選択し、次のパラメータを入力して、許可 2 契約を承認するユーザーをシミュレートします。
3. クレームフィッシング攻撃を防ぐ
クレームフィッシングの罠に陥らないようにするには、フィッシングコントラクトアドレスを特定する必要がありますが、これらはユーザーの警戒心を解くためにゼロアドレスに偽装することがよくあります。以下に、クレームフィッシング詐欺に使用される詐欺契約の一部を示します。私たちが取引するとき、アドレスの前後には「0000」が付くことに注意してください。。
https://etherscan.io/address/0x0000b514c923f55180fc12428e05695666620000
https://etherscan.io/address/0x0000438e0f00fc35dff19d0062608057a1d20000
https://etherscan.io/address/0x0000a4998724e52f0886edff693aca33f9900000
https://etherscan.io/address/0x000062accd1a9d62ef428ec86ca3dd4f45120000
https://etherscan.io/address/0x000038f1e0c4417a3650c3f9a9a920b2e52e0000
https://etherscan.io/address/0x000056c346441ef8065e56b0cddd43fdec100000
クレームフィッシング攻撃の本質は、ユーザーのトークン認証を取得することであるため、依然として認証状況に常に注意を払う必要があります。
4. モーダルフィッシング攻撃を防ぐ
モーダル フィッシング攻撃の根本的な原因は、ウォレット アプリケーションが、提示された UI 要素の正当性を完全に検証していないことです。この種のフィッシング攻撃を回避するために、ウォレット アプリケーションの開発者は、外部から受信するデータは信頼できないものであると常に想定する必要があります。ユーザーは、上記のように署名情報や認可情報を確認することもできます。
要約する
要約すると、4 つの新しい Web3 フィッシング攻撃手法を詳細に紹介し、対応する識別と防止策を提供しました。ユーザーの警戒を高めるだけでなく、ユーザーが認可および署名関連のコンテンツを深く理解し、定期的に認可ステータスを確認し、不要な認可を適時に取り消すことをお勧めします。さらに、攻撃者が署名を入手して悪用することを防ぐために、無計画に署名しないことの重要性を強調します。 Web3 セキュリティまたはスマート コントラクト監査について他にご質問がある場合は、お気軽にお問い合わせください。接続する。喜んでお手伝いさせていただきます。


