オリジナルタイトル'大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’を転送します
「なぜ名前をサインするだけでお金を失ったのですか??」「署名フィッシング」は現在、Web3でのハッカーのお気に入りのフィッシング手法になっています。最近、Cosineなどの多くの専門家やさまざまなウォレット、セキュリティ企業が、フィッシング署名の知識について継続的に宣伝や啓発活動を行っています。しかし、それでも多くの人が毎日フィッシングされています。
スピナッチは、多くの人々がウォレットスワップの基本的なロジックを理解していないため、技術に疎い人々にとって学習コストが高すぎると考えている理由の1つです。そのため、スピナッチは、イラスト入りのバージョンを作成して、非技術者でも理解しやすいように署名フィッシングの基本的なロジックについて人々に教育することにしました。
まず、ウォレットを使用する際には、「署名」と「交換」の2種類の操作しかないことを理解する必要があります。最も単純で直接的な理解は、署名はブロックチェーンの外(オフチェーン)で行われ、ガス手数料を支払う必要がないことです。一方、交換はブロックチェーン上(オンチェーン)で行われ、ガス手数料を支払う必要があります。
サインインの一般的なシナリオは、ウォレットへのログインなど、あなたがあなたであることを確認することです。たとえば、Uniswapでトークンを交換したい場合、まずウォレットに接続する必要があります。この時点で、ウェブサイトに「私はこのウォレットの所有者です」と伝えるためにメッセージにサインする必要があります。その後、Uniswapを使用することができます。このステップはブロックチェーン上でデータや状態の変更を引き起こさないため、お金を支払う必要はありません。
スワッピングに関して、実際にUniswapでトークンをスワップしたい場合、Uniswapのスマートコントラクトにお金を支払って「100 USDTをほうれん草コインに交換したい」と伝え、「100 USDTを移動する権限をあなたに与えます」と言う必要があります。このステップを承認と呼びます。その後、Uniswapのスマートコントラクトにお金を別の額支払って、「100 USDTをほうれん草コインに交換する準備ができたので、操作を開始してください。」と伝える必要があります。その後、100 USDTをほうれん草コインに交換する操作を完了します。
シグネチャとスワップの違いを簡単に理解した後、フィッシングの原則を紹介しましょう。フィッシングには、通常、3つの異なる方法が関与しています:認証フィッシング、許可署名フィッシング、および許可2署名フィッシング。これらの3つは非常に一般的なフィッシング手法です。
Authorization Phishingの開始から始めましょう。これはWeb3のクラシックなフィッシング技術の1つです。その名前が示すように、認可(承認)メカニズムを悪用しています。Uniswapの例で見られるように、認可はスマートコントラクトが「あなたにxxx量のトークンを移動することを承認する」ことを可能にします。ハッカーは、魅力的なフロントエンドを持つNFTプロジェクトとして偽のフィッシングウェブサイトを作成できます。ウェブサイトの中央には、「エアドロップを請求する」という美しい大きなボタンがあります。クリックすると、ウォレットがポップアップし、ハッカーのアドレスにトークンを認可するよう求める画面が表示されます。これを確認すると、おめでとうございます、ハッカーはKPIを成功裏に達成しました。
しかし、認証フィッシングには問題があります。なぜなら、ガス手数料が必要だからです。多くの人々はお金を使う際に注意深いため、怪しいウェブサイトをクリックした後、すぐに何かがおかしいと気づくことがよくあるため、比較的簡単に防ぐことができます。
今日の焦点に移りましょう。Web3資産セキュリティ分野のホットスポットであるPermitとPermit2署名フィッシングです。なぜこれらが防御しにくいのでしょうか?それは、Dappを使用するたびにウォレットにサインインする必要があるからです。多くの人が考え方に慣性を持ってしまっています。「この操作は安全だ」と。さらに、お金を使う必要もなく、ほとんどの人が各署名の背後にある意味を理解していません。
まず、許可メカニズムを見てみましょう。許可は、ERC-20 標準に基づく承認の拡張機能です。例えば、私たちがよく使っているUSDTはERC-20トークンです。簡単に言うと、Permitを使用すると、他の人がトークンを移動することに署名して承認できます。承認(承認)とは、スマートコントラクトに「トークンをxxx個移動できます」と伝えることです。つまり、Permitは、誰かに「メモ」に署名するようなもので、「私は誰かが私のトークンをxxx個移動することを許可します」と述べています。次に、この人物はこの「メモ」をスマートコントラクトに提示し、ガス料金を支払い、スマートコントラクトに「彼は私にトークンのxxx個の移動を許可します」と伝えます。その後、トークンを他の誰かに譲渡することができます。このプロセスでは、名前に署名するだけですが、その背後には、他の人が承認(承認)を呼び出してトークンを転送できるようにすることを意味します。ハッカーはフィッシングWebサイトを作成し、ウォレットのログインボタンをフィッシングの許可ボタンに置き換えて、資産を簡単に釣り上げることができます。
Permit2とは実際にはERC-20の機能ではなく、ユーザーの便宜のためにUniswapが立ち上げた機能です。以前の例では、UniswapでUSDTをスピナッチコインに交換したい場合、一度承認(Approve)する必要があり、次に交換する必要があります。2つのガス手数料がかかるため、Uniswapは次のような方法を考え出しました。「一度にすべての割り当てを私に承認し、引き換えるたびに署名をすることになります。私が代わりに処理します。」この機能はUniswapユーザーのお手伝いをします。使用時に1回だけガス手数料を支払う必要があり、この手順は署名であり、そのためガス手数料は実際にはあなたが支払うのではなく、Permit2契約が支払いますが、最終的に引き換えるトークンから差し引かれます。
ただし、Permit2フィッシングの条件は、Uniswapを以前に使用し、Permit2スマートコントラクトに無制限の許可を与えている必要があることです。Uniswapのデフォルト動作は現在無制限の許可を与えることなので、この条件を満たすユーザーはかなり多いです。同様に、ハッカーがあなたをPermit2に署名させるようにだましてしまえば、あなたのトークンを転送できます(以前に許可したものに限定)。
要約すると、承認フィッシングの本質は、あなたがお金を使ってスマートコントラクトに伝えることです。「ハッカーに私のトークンを移動することを承認します」ということです。署名フィッシングの本質は、他の人があなたの資産をハッカーに移動することを許可する「メモ」に署名することであり、ハッカーがスマートコントラクトにお金を使って「彼のトークンを私に移動させたい」と伝えることです。許可と許可2は現在、署名フィッシングのホットスポットです。許可はERC-20の承認拡張機能であり、許可2はUniswapが導入した新機能です。
ですので、これらのフィッシング攻撃を理解したら、どのようにして防ぐことができますか?
セキュリティ意識を高める:ウォレットとやり取りするたびに実行している操作を常に確認することは重要です。
オンチェーン活動用に大口資金とウォレットを分離する:**オンチェーン活動用のウォレットから大口資金を分離することで、フィッシング詐欺の被害に遭った場合の損失を最小限に抑えることができます。
許可および許可2署名形式を識別する方法を学ぶ:以下の署名形式に遭遇した場合は注意してください:
インタラクティブ:スワップのURL
所有者:承認者のアドレス
支出者:許可された当事者のアドレス
値: 承認済み数量
Nonce: ランダムな番号
締め切り:有効期限
分享
目錄
オリジナルタイトル'大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’を転送します
「なぜ名前をサインするだけでお金を失ったのですか??」「署名フィッシング」は現在、Web3でのハッカーのお気に入りのフィッシング手法になっています。最近、Cosineなどの多くの専門家やさまざまなウォレット、セキュリティ企業が、フィッシング署名の知識について継続的に宣伝や啓発活動を行っています。しかし、それでも多くの人が毎日フィッシングされています。
スピナッチは、多くの人々がウォレットスワップの基本的なロジックを理解していないため、技術に疎い人々にとって学習コストが高すぎると考えている理由の1つです。そのため、スピナッチは、イラスト入りのバージョンを作成して、非技術者でも理解しやすいように署名フィッシングの基本的なロジックについて人々に教育することにしました。
まず、ウォレットを使用する際には、「署名」と「交換」の2種類の操作しかないことを理解する必要があります。最も単純で直接的な理解は、署名はブロックチェーンの外(オフチェーン)で行われ、ガス手数料を支払う必要がないことです。一方、交換はブロックチェーン上(オンチェーン)で行われ、ガス手数料を支払う必要があります。
サインインの一般的なシナリオは、ウォレットへのログインなど、あなたがあなたであることを確認することです。たとえば、Uniswapでトークンを交換したい場合、まずウォレットに接続する必要があります。この時点で、ウェブサイトに「私はこのウォレットの所有者です」と伝えるためにメッセージにサインする必要があります。その後、Uniswapを使用することができます。このステップはブロックチェーン上でデータや状態の変更を引き起こさないため、お金を支払う必要はありません。
スワッピングに関して、実際にUniswapでトークンをスワップしたい場合、Uniswapのスマートコントラクトにお金を支払って「100 USDTをほうれん草コインに交換したい」と伝え、「100 USDTを移動する権限をあなたに与えます」と言う必要があります。このステップを承認と呼びます。その後、Uniswapのスマートコントラクトにお金を別の額支払って、「100 USDTをほうれん草コインに交換する準備ができたので、操作を開始してください。」と伝える必要があります。その後、100 USDTをほうれん草コインに交換する操作を完了します。
シグネチャとスワップの違いを簡単に理解した後、フィッシングの原則を紹介しましょう。フィッシングには、通常、3つの異なる方法が関与しています:認証フィッシング、許可署名フィッシング、および許可2署名フィッシング。これらの3つは非常に一般的なフィッシング手法です。
Authorization Phishingの開始から始めましょう。これはWeb3のクラシックなフィッシング技術の1つです。その名前が示すように、認可(承認)メカニズムを悪用しています。Uniswapの例で見られるように、認可はスマートコントラクトが「あなたにxxx量のトークンを移動することを承認する」ことを可能にします。ハッカーは、魅力的なフロントエンドを持つNFTプロジェクトとして偽のフィッシングウェブサイトを作成できます。ウェブサイトの中央には、「エアドロップを請求する」という美しい大きなボタンがあります。クリックすると、ウォレットがポップアップし、ハッカーのアドレスにトークンを認可するよう求める画面が表示されます。これを確認すると、おめでとうございます、ハッカーはKPIを成功裏に達成しました。
しかし、認証フィッシングには問題があります。なぜなら、ガス手数料が必要だからです。多くの人々はお金を使う際に注意深いため、怪しいウェブサイトをクリックした後、すぐに何かがおかしいと気づくことがよくあるため、比較的簡単に防ぐことができます。
今日の焦点に移りましょう。Web3資産セキュリティ分野のホットスポットであるPermitとPermit2署名フィッシングです。なぜこれらが防御しにくいのでしょうか?それは、Dappを使用するたびにウォレットにサインインする必要があるからです。多くの人が考え方に慣性を持ってしまっています。「この操作は安全だ」と。さらに、お金を使う必要もなく、ほとんどの人が各署名の背後にある意味を理解していません。
まず、許可メカニズムを見てみましょう。許可は、ERC-20 標準に基づく承認の拡張機能です。例えば、私たちがよく使っているUSDTはERC-20トークンです。簡単に言うと、Permitを使用すると、他の人がトークンを移動することに署名して承認できます。承認(承認)とは、スマートコントラクトに「トークンをxxx個移動できます」と伝えることです。つまり、Permitは、誰かに「メモ」に署名するようなもので、「私は誰かが私のトークンをxxx個移動することを許可します」と述べています。次に、この人物はこの「メモ」をスマートコントラクトに提示し、ガス料金を支払い、スマートコントラクトに「彼は私にトークンのxxx個の移動を許可します」と伝えます。その後、トークンを他の誰かに譲渡することができます。このプロセスでは、名前に署名するだけですが、その背後には、他の人が承認(承認)を呼び出してトークンを転送できるようにすることを意味します。ハッカーはフィッシングWebサイトを作成し、ウォレットのログインボタンをフィッシングの許可ボタンに置き換えて、資産を簡単に釣り上げることができます。
Permit2とは実際にはERC-20の機能ではなく、ユーザーの便宜のためにUniswapが立ち上げた機能です。以前の例では、UniswapでUSDTをスピナッチコインに交換したい場合、一度承認(Approve)する必要があり、次に交換する必要があります。2つのガス手数料がかかるため、Uniswapは次のような方法を考え出しました。「一度にすべての割り当てを私に承認し、引き換えるたびに署名をすることになります。私が代わりに処理します。」この機能はUniswapユーザーのお手伝いをします。使用時に1回だけガス手数料を支払う必要があり、この手順は署名であり、そのためガス手数料は実際にはあなたが支払うのではなく、Permit2契約が支払いますが、最終的に引き換えるトークンから差し引かれます。
ただし、Permit2フィッシングの条件は、Uniswapを以前に使用し、Permit2スマートコントラクトに無制限の許可を与えている必要があることです。Uniswapのデフォルト動作は現在無制限の許可を与えることなので、この条件を満たすユーザーはかなり多いです。同様に、ハッカーがあなたをPermit2に署名させるようにだましてしまえば、あなたのトークンを転送できます(以前に許可したものに限定)。
要約すると、承認フィッシングの本質は、あなたがお金を使ってスマートコントラクトに伝えることです。「ハッカーに私のトークンを移動することを承認します」ということです。署名フィッシングの本質は、他の人があなたの資産をハッカーに移動することを許可する「メモ」に署名することであり、ハッカーがスマートコントラクトにお金を使って「彼のトークンを私に移動させたい」と伝えることです。許可と許可2は現在、署名フィッシングのホットスポットです。許可はERC-20の承認拡張機能であり、許可2はUniswapが導入した新機能です。
ですので、これらのフィッシング攻撃を理解したら、どのようにして防ぐことができますか?
セキュリティ意識を高める:ウォレットとやり取りするたびに実行している操作を常に確認することは重要です。
オンチェーン活動用に大口資金とウォレットを分離する:**オンチェーン活動用のウォレットから大口資金を分離することで、フィッシング詐欺の被害に遭った場合の損失を最小限に抑えることができます。
許可および許可2署名形式を識別する方法を学ぶ:以下の署名形式に遭遇した場合は注意してください:
インタラクティブ:スワップのURL
所有者:承認者のアドレス
支出者:許可された当事者のアドレス
値: 承認済み数量
Nonce: ランダムな番号
締め切り:有効期限