This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Permit2サインフィッシング初心者法 資産の安全性リスクに警戒が必要
Uniswap Permit2 Signature フィッシング詐欺の謎を解く
ハッカーはWeb3エコシステムにおいて恐れられる存在です。プロジェクト側にとって、オープンソースコードは彼らを怯えさせ、一行の誤ったコードが脆弱性を残すことを恐れています。個人ユーザーにとって、チェーン上のインタラクションや署名のたびに資産が盗まれる可能性があります。したがって、安全性の問題は暗号の世界における痛点の一つです。ブロックチェーンの特性により、盗まれた資産はほぼ回収不可能であるため、安全に関する知識が特に重要です。
最近、ある研究者が新しいフィッシング手法を発見しました。署名を行うだけで資産が盗まれる可能性があります。この手法は非常に巧妙で防ぐのが難しく、過去にある取引プラットフォームとやり取りしたアドレスはすべてリスクにさらされる可能性があります。本記事では、この署名フィッシング手法について解説し、さらなる資産の損失を避けるための情報を提供します。
###イベント
最近、友人(小A)のウォレット資産が盗まれました。一般的な盗まれ方とは異なり、小Aはプライベートキーを漏らしておらず、フィッシングサイトの契約とも相互作用していません。
ブロックチェーンブラウザが表示するように、小Aウォレット内のUSDTはTransfer From関数を通じて移動されました。これは、別のアドレスがトークンを移動させる操作を行ったことを意味し、ウォレットの秘密鍵が漏洩したわけではありません。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
取引の詳細は重要な手がかりを明らかにしています:
問題は、このアドレスがどのように資産の権限を取得したのか、なぜ特定の取引プラットフォームと関係があるのかということです。
Transfer From関数を呼び出すには、呼び出し元がTokenの限度額権限(approve)を持っている必要があります。そのアドレスから小Aの資産を移動させる前に、Permit操作が行われ、両方の操作がある取引プラットフォームのPermit2コントラクトと相互作用しています。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
Permit2は、ある取引プラットフォームが2022年末に導入した新しい契約で、トークンの承認を異なるアプリケーション間で共有管理することを許可します。これは、より統一された、コスト効率の良い、安全なユーザー体験を創出することを目的としています。より多くのプロジェクトが統合されるにつれて、Permit2はすべてのアプリケーションでトークン承認の標準化を実現し、取引コストを削減し、スマートコントラクトの安全性を向上させることが期待されています。
Permit2の導入はDappエコシステムのルールを変える可能性があります。従来の方法では、ユーザーがDappとやり取りするたびに承認が必要ですが、Permit2を利用することでこのステップを省略でき、ユーザーのインタラクションコストを効果的に削減します。Permit2はユーザーとDappの間の仲介者として機能し、ユーザーはPermit2コントラクトに対してのみ承認を与えれば、すべてのこのコントラクトを統合したDappが承認枠を共有できます。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
しかし、これは二刃の剣でもあります。Permit2はユーザー操作をオフチェーン署名に変え、すべてのオンチェーン操作は中間者によって行われます。これにより、ユーザーのウォレットにETHがなくても、他のトークンでガス代を支払ったり、中間者に払い戻してもらったりすることができます。しかし、オフチェーン署名はユーザーが最も見落としやすい部分であり、大多数の人は署名内容を詳しく確認しません。
このフィッシング手法を使用するには、釣られるウォレットがPermit2コントラクトにトークンを許可していることが重要な前提です。現在、Permit2を統合したDappや取引プラットフォームでスワップを行うには、Permit2コントラクトへの許可が必要です。
さらに恐ろしいのは、Swapの金額に関わらず、Permit2コントラクトはユーザーにそのトークンの全残高の権限をデフォルトで与えることです。ウォレットはカスタム入力金額を提示しますが、ほとんどの人は最大またはデフォルト値を直接選択する可能性が高く、Permit2のデフォルト値は無制限の権限です。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
これは、2023年以降にある取引プラットフォームとやり取りし、Permit2契約に権限を与えた場合、フィッシング目薬のリスクに直面する可能性があることを意味します。
重要なのはPermit関数であり、これによりユーザーがPermit2契約に対して与えたTokenの額を他のアドレスに移転できます。ハッカーはユーザーの署名を取得するだけで、ユーザーのウォレット内のTokenの権限を得て、資産を移転することができます。
イベントの詳細な分析
Permit関数はユーザーが"契約"を事前に署名できるようにし、他の(spender)が将来一定量のトークンを使用することを許可します。ユーザーは"契約"の真実性を証明する署名を提供する必要があります。
関数のワークフロー:
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
焦点は、検証機能と_updateApproval機能にあります。
verify関数は、署名情報からv、r、sの3つのデータを取得し、取引署名アドレスを復元するために使用されます。契約は復元されたアドレスと渡されたトークン所有者のアドレスを比較し、同じであれば検証が通過します。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
_updateApproval関数は、署名検証を通過した後に承認値を更新し、権限が移転することを意味します。この時、承認された側はtransferfrom関数を呼び出して、トークンを指定されたアドレスに移転することができます。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
チェーン上の実際の取引が表示されます:
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
小Aのインタラクション記録を振り返ると、以前にある取引プラットフォームを使用している際にデフォルトの承認額、つまりほぼ無限の額をクリックしていたことがわかりました。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
簡単な復習: 小Aは以前、Permit2に無制限のUSDTの権限を与えていましたが、その後、誤ってハッカーが設計した署名フィッシングの罠に陥りました。ハッカーは署名を取得した後、Permit2契約内でPermitとTransfer From操作を行い、小Aの資産を移転しました。現在、Permit2契約はフィッシングの楽園となっているようで、このようなフィッシング手法は約2ヶ月前から活発になっています。
どう防ぐか?
Permit2コントラクトが将来的にさらに普及し、より多くのプロジェクトや統合が許可共有を行う可能性を考慮すると、効果的な防止手段には以下が含まれます:
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
資産ウォレットとインタラクティブウォレットの分離: 大量の資産はコールドウォレットに保管することをお勧めします。オンチェーンのインタラクティブウォレットには少量の資金を残すだけで、フィッシングに遭遇した際の損失を大幅に減らすことができます。
認可の制限または取り消し: ある取引プラットフォームでSwapする際には、インタラクションに必要な金額のみを承認してください。毎回のインタラクションで再承認が必要になるとコストが増加しますが、Permit2サインフィッシングリスクを回避できます。承認されたユーザーは、安全なプラグインを通じて承認を取り消すことができます。
! 署名が盗まれましたか? Uniswap Permit2署名フィッシング詐欺の謎を解く
トークンの性質を識別し、permit機能のサポートを確認する: 今後、より多くのERC20トークンがpermit機能を実装する可能性があります。保有しているトークンがサポートしているかに注意が必要で、もしサポートしている場合は取引操作を特に慎重に行い、未知の署名を厳密にチェックする必要があります。
目薬後に他のプラットフォームにトークンがある場合、救済計画を策定する必要があります: もし詐欺に遭った場合でも、他のプラットフォームでステーキングなどの方法でトークンが存在する場合は、慎重に引き出しや移転を行う必要があります。ハッカーはいつでもアドレスの残高を監視している可能性があり、一旦トークンが現れると移転される可能性があります。救済プロセスを整備し、引き出しと移転を同時に実行する必要があります。MEV転送を使用するか、専門のセキュリティチームの支援を求めることができます。
未来Permit2に基づくフィッシングが増加する可能性があり、この方法は非常に隠密で防ぎにくいです。Permit2の適用範囲が広がるにつれて、リスクにさらされるアドレスも増加します。読者がこの記事を見た後、より多くの人々に広めて、さらなる損失を避けることを願っています。