Permitは、ERC-20標準の認可のための拡張機能です。単純に言えば、他のアドレスがあなたのトークンを移動するための承認をするために署名できます。原則として、認可されたアドレスがこの署名を使用してトークンを使用できることを示す署名を使用し、その後、認可されたアドレスは署名を取得してオンチェーンの許可インタラクションを行い、呼び出し認証を取得し、あなたの資産を転送できます。オフチェーン署名フィッシングは通常、次の3つのステップに分かれています。
(1) 攻撃者はフィッシングリンクやフィッシングウェブサイトを偽造し、ユーザーにウォレットを介してサインさせるよう誘導します(契約の相互作用なし、チェーン上になし)。
Signature object: DAI/USDC/WETH および他のERC20トークン(ここではDAI)
holder:// シグネチャー アドレス
spender:// phisherアドレス
nonce:0
expiry:1988064000 // 有効期限
allowed:true
署名された場合、フィッシャーは、被害者からDAI/USDC/WETHおよびその他のERC20トークン(ここではDAI)を盗むために使用される署名(r、s、v値の期間)を取得します。フィッシャーが許可機能とやり取りする際には使用する必要があります)。
(2) 攻撃者は許可機能を呼び出して承認を完了します。
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) 攻撃者はtransferFrom関数を呼び出して、被害者の資産を移転し、攻撃を完了します。
まず、transferとtransferFromの違いを説明します。 ERC20を直接転送する場合、通常、ERC20契約の転送機能を呼び出し、transferFromは通常、サードパーティに当初のウォレット内のERC20を他のアドレスに転送することを許可する場合に使用されます。
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
追加の説明:この署名はガス不要のオフチェーン署名です。 攻撃者が取得した後、オンチェーン相互作用でpermitとtransferFromを実行しますので、被害者のアドレスのオンチェーンレコードには承認記録が表示されません。攻撃者のアドレスには表示されます。一般的に、この署名は一度しか使用されず、繰り返しのフィッシングリスクを作成しません。
Permit2は2022年末にUniswapによって開始されたスマートコントラクトで、ユーザーの利便性を図るためのものです。これはトークン承認コントラクトであり、異なるDAppsでトークンの承認を共有および管理できるようにします。今後、より多くのプロジェクトがPermit2と統合されるにつれて、Permit2コントラクトはDAppエコシステムでより統一された承認管理体験を実現し、ユーザーの取引コストを節約することができます。
Permit2の登場以前、Uniswapでのトークン交換には承認(Approve)が必要で、その後に交換(Swap)が必要であり、2つの手続きと2つの取引のガス手数料が必要でした。 Permit2のローンチ後、ユーザーは一度にすべての割り当てをUniswapのPermit2契約に承認することができ、その後の償還にはオフチェーンの署名だけが必要です。
Although Permit2 improves the user experience, it is followed by phishing attacks targeting Permit2 signatures. Similar to Permit off-chain signature phishing, Permit2 is also off-chain signature phishing. This attack is mainly divided into four steps:
(1) 必要条件は、ユーザーのウォレットがフィッシングされる前にUniswapを利用し、UniswapのPermit2契約にトークンの制限を許可していることです(Permit2により、ユーザーはデフォルトでトークンの残高全体を承認できます)。
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) 攻撃者はフィッシングリンクまたはフィッシングページを偽造して、ユーザーに署名させる。フィッシング攻撃者は、必要な署名情報を取得し、これはオフチェーン署名フィッシングに類似しています。
(3) 攻撃者は、許可を完了するためにPermit2契約の許可機能を呼び出します。
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) 攻撃者は許可2契約のtransferFrom関数を呼び出して、被害者の資産を転送し、攻撃を完了します。
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
補足事項:通常、攻撃者が資産を受け取る複数のアドレスがあります。通常、最も多くの金額を持つ受取人の1人は、フィッシングを実施する攻撃者であり、他の受取人はフィッシング・アズ・ア・サービス(フィッシング・アズ・ア・サービスDaaSプロバイダー)を提供するブラックアドレスです。例えば、PinkDrainer、InfernoDrainer、AngelDrainerなどのアドレスがあります。
eth_signは、任意のハッシュに署名できるオープンな署名方法です。攻撃者は、署名が必要な任意の悪意のあるデータ(トークンの転送、契約の呼び出し、承認取得など)を構築し、ユーザーにeth_signを通じて署名させる必要があります。攻撃は完了する可能性があります。
MetaMaskは、eth_signに署名する際にリスク警告を表示します。imTokenやOneKeyなどのWeb3ウォレットは、この機能を無効にするか、リスク警告を提供しています。すべてのウォレットメーカーに、セキュリティ意識や必要な技術蓄積の不足によるユーザーへの攻撃を防ぐために、このメソッドを無効にすることをお勧めします。
personal_signとsignTypedDataは一般に使用される署名方法です。通常、ユーザーは発信者、ドメイン名、署名内容などが安全かどうかを注意深く確認する必要があります。もしリスクがある場合は、特に注意が必要です。
さらに、personal_signとsignTypedDataが上記のように「ブラインド署名」として使用される場合、ユーザーは明確なテキストを見ることができないため、フィッシング団に悪用されやすくなり、フィッシングのリスクも高まります。
悪意のあるウェブサイトを偽造したり、プロジェクトの公式ウェブサイトに偽の情報を掲載し、ユーザーにsetApprovalForAll、Approve、Increase Approval、Increase Allowanceなどの操作を確認させ、ユーザーの資産操作権限を取得して盗難を行う攻撃者がいます。
(1)setApprovalForAll
PREMINT馬フィッシング事件を例に、jsファイル(https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) on the project website was injected with malicious code. A malicious js file (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) will be created dynamically. The attack is initiated by this malicious script.
ユーザーが時間通りにリスクを発見しなかったため、setApprovalForAll操作を確認し、誤って資産の操作承認を漏洩させ、資産が盗まれる結果となりました。
(2)承認
setApprovalForAllに類似して、ユーザーは承認操作を確認し、資産の操作権限を漏洩させ、資産が盗まれる結果になりました。
承認ミス承認:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
増加承認と増加許可機能の攻撃原則はこれに類似しています。デフォルトでは、攻撃者の被害者のアドレストークンを操作する上限は0です。しかし、これらの2つの機能によって認可された後、攻撃者は被害者のトークンの操作制限を増やします。その後、トークンの量を転送することができます。
(3)承認を増やす
承認不正の増加:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)手当を増やす
許可許可の不正使用:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
アドレス汚染フィッシングは、最近増加しているフィッシング手法の1つです。攻撃者はチェーン上の取引を監視し、その後、標的ユーザーの履歴取引中の相手のアドレスに基づいて悪意のあるアドレスを偽造します。通常、最初の4〜6桁と最後の4〜6桁は正しい相手に関連しています。両当事者のアドレスが同じであり、それからこれらの悪意のある偽造アドレスが使用されて、わずかな金額や無価値なトークンが標的ユーザーのアドレスに送金されます。
対象ユーザーが、個人の習慣により過去の取引注文から相手のアドレスをコピーして後続の取引で送金する場合、不注意により資産が悪意のあるアドレスに誤って送金される可能性が非常に高いです。
2024年5月3日、このアドレスの汚染フィッシング手法により、7,000万ドル以上の価値がある1155WBTCが詐取されました。
正しいアドレス:0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
悪意のあるアドレス:0xd9A1C3788D81257612E2581A6ea0aDa244853a91
通常の取引:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
アドレス汚染:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
誤送金トランザクション:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
現在、さまざまなウォレットやセキュリティプラグインは、徐々にフィッシングブラックリストや一般的なフィッシング手法に対するビジュアルリスクリマインダーを実装してきました。さらに、署名情報もますます完全に表示されるようになり、一般ユーザーがフィッシング攻撃を識別する能力が向上しています。しかし、攻撃と防御の技術は常に競い合い、常に発展しています。より隠れたフィッシング手法も次々に登場しており、より警戒が必要です。最近、ウォレットやセキュリティプラグインのブラックリスト検出をバイパスするためにCREATE2を使用する方法が比較的一般的です。
Create2は、イーサリアムの「コンスタンティノープル」アップグレード中に導入されたオペコードで、ユーザーがイーサリアム上でスマートコントラクトを作成できるようにします。元のCreateオペコードは、作成者のアドレスとナンスに基づいて新しいアドレスを生成します。Create2を使用すると、契約の展開前にアドレスを計算できます。Create2は、イーサリアム開発者にとって非常に強力なツールであり、高度で柔軟な契約の相互作用、パラメータベースの契約アドレスの事前計算、オフチェーン取引、特定の分散型アプリケーションの柔軟な展開と適応を可能にします。
Create2が利点をもたらす一方で、新しいセキュリティリスクを生み出します。Create2は悪意のある取引履歴のない新しいアドレスを生成するために悪用される可能性があり、ウォレットのブラックリスト検出やセキュリティアラートをバイパスします。被害者が悪意のある取引に署名すると、攻撃者は事前計算されたアドレスに契約を展開し、被害者の資産をそのアドレスに移動させることができ、これは不可逆的なプロセスです。
この攻撃の特徴:
(1)契約アドレスの予測的な作成を許可し、攻撃者が契約を展開する前にユーザーをだまして権限を付与させることができます。
(2) 承認時点で契約がまだ展開されていないため、攻撃アドレスは新しいアドレスであり、検出ツールは歴史的なブラックリストに基づいて早期警告を提供することができず、より高い隠匿性を持っています。
CREATE2を使用したフィッシングの例です:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
この取引では、被害者はアドレス内のsfrxETHを悪意のあるアドレス(0x4D9f77)に送金しました。このアドレスは取引履歴のない新しい契約アドレスです。
しかし、この契約の作成トランザクションを開くと、契約が作成されたと同時にフィッシング攻撃を完了し、被害者のアドレスから資産を移転したことがわかります。
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
このトランザクションの実行を見ると、CREATE2を呼び出した後に0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40が作成されたことがわかります。
さらに、PinkDrainerの関連アドレスを分析することで、このアドレスが毎日CREATE2を通じてフィッシングのための新しい契約アドレスを作成していることがわかります。
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
フィッシング攻撃はますます横行しており、巨額の不正利益により、Drainer as a Service(DaaS)に基づくブラック産業チェーンが徐々に発展しています。より積極的なものには、Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusaなどが含まれます。フィッシング攻撃者はこれらのDaaSサービスを購入し、迅速かつ低い閾値で数千のフィッシングWebサイト、詐欺アカウントなどを構築します。このような災禍がこの産業に押し寄せ、ユーザーの資産の安全を脅かしています。
例えば、悪名高いフィッシングギャングであるInferno Drainerを取ると、彼らはさまざまなウェブサイトに悪意のあるスクリプトを埋め込んでいます。たとえば、彼らは自分自身を人気のあるWeb3プロトコル機能(Seaport、WalletConnect、Coinbase)として偽装するために、seaport.js、coinbase.js、wallet-connect.jsを広めています。ユーザーを統合またはクリックさせるために。ユーザー確認を受けると、彼らは自動的にユーザー資産を攻撃者のアドレスに転送します。悪意のあるSeaportスクリプトを含むWebサイトは14,000以上、悪意のあるWalletConnectスクリプトを含むWebサイトは5,500以上、悪意のあるCoinbaseスクリプトを含むWebサイトは550以上、Inferno Drainerに関連する悪意のあるドメインは16,000以上、および100以上の暗号通貨ブランド名が影響を受けています。以下はInferno Drainerに関連するフィッシングWebサイトです。
ウェブサイトのヘッドセクションには、seaport.jsとwallet-connect.jsという2つの悪意のあるスクリプトが含まれています。インフェルノドレーナーのフィッシングウェブサイトのもう1つの典型的な特徴は、ユーザーが右クリックでウェブサイトのソースコードを開けないことです。これにより、これらのフィッシングウェブサイトはより隠されます。
フィッシングサービスフレームワークにおいて、通常、盗まれた資産の20%が自動的にインフェルノドレイナーの主催者アドレスに送金され、残りの80%がフィッシング加害者に保持されます。さらに、インフェルノドレイナーは、無料サービスを定期的に提供し、フィッシングウェブサイトの作成とホスティングを行います。時にはフィッシングサービスによって、詐取された資金の30%の手数料が必要とされることもあります。これらのフィッシングウェブサイトは、被害者を引き付ける能力があるが、ウェブサイトをホストする技術的能力がない人々のために設計されています。これらは、単に自分で作業を行いたくないフィッシング攻撃者によって作成されたものです。
そうですね、このDaaS詐欺はどのように機能しますか? Inferno Drainerの暗号詐欺スキームのステップバイステップの説明はこちらです。
(1) Inferno Drainerは、Inferno Multichain DrainerというTelegramチャンネルを通じて彼らのサービスを宣伝しており、時々攻撃者もInferno Drainerのウェブサイトを通じてサービスにアクセスします。
(2) 攻撃者は、DaaSサービス機能を使用して自分自身のフィッシングウェブサイトを設定および生成し、X(Twitter)、Discord、および他のソーシャルメディアを通じて拡散します。
(3) 被害者は、これらのフィッシングウェブサイトに含まれるQRコードやその他の方法をスキャンして、ウォレットを接続するよう誘導されます。
(4) ドレイナーは被害者の最も貴重で簡単に移転可能な資産をチェックし、悪意のある取引を開始します。
(5) 被害者は取引を確認しました。
(6)資産が犯罪者に移されます。盗まれた資産のうち、20%がインフェルノドレイナーの開発者に移され、80%がフィッシング攻撃者に移されました。
Inferno Drainer が顧客に統計データを表示する DaaS サービスページが以下に示されています:接続数 (被害者がウォレットをフィッシングサイトに接続した場合)、成功したクリック数 (被害者が取引を確認した場合)、および盗まれた資産の価値。
DaaSサービスの各顧客は、独自のDrainer機能をカスタマイズできます:
(1) まず最初に、ユーザーは報酬、エアドロップなどと偽って知らないリンクをクリックしてはいけません。
(2)公式ソーシャルメディアアカウントの盗難事件が増加しており、公式情報はフィッシング情報である可能性があり、公式情報であるからといって絶対に安全であるとは限りません;
(3) ウォレット、DApps、およびその他のアプリケーションを使用する際には、スクリーニングに注意を払い、偽サイトや偽アプリには注意してください;
(4) 確認が必要な任意の取引または署名メッセージには注意が必要であり、対象、内容、およびその他の情報を交差確認し、盲目的に署名するのを拒否し、警戒し、すべてを疑い、操作の各段階が明確かつ安全であることを確認してください。
(5) さらに、ユーザーは、本文で言及されている一般的なフィッシング攻撃手法を理解し、積極的にフィッシングの特徴を識別することを学ぶ必要があります。 一般的な署名、承認機能とそのリスクをマスターし、インタラクティブ(インタラクションURL)、所有者(承認者アドレス)、支出者(承認されたパーティーアドレス)、価値(承認された数)、ノンス(ランダムな数)、締め切り(有効期限)、送金/transferFrom(転送)およびその他のフィールドの内容をマスターしてください。
Permitは、ERC-20標準の認可のための拡張機能です。単純に言えば、他のアドレスがあなたのトークンを移動するための承認をするために署名できます。原則として、認可されたアドレスがこの署名を使用してトークンを使用できることを示す署名を使用し、その後、認可されたアドレスは署名を取得してオンチェーンの許可インタラクションを行い、呼び出し認証を取得し、あなたの資産を転送できます。オフチェーン署名フィッシングは通常、次の3つのステップに分かれています。
(1) 攻撃者はフィッシングリンクやフィッシングウェブサイトを偽造し、ユーザーにウォレットを介してサインさせるよう誘導します(契約の相互作用なし、チェーン上になし)。
Signature object: DAI/USDC/WETH および他のERC20トークン(ここではDAI)
holder:// シグネチャー アドレス
spender:// phisherアドレス
nonce:0
expiry:1988064000 // 有効期限
allowed:true
署名された場合、フィッシャーは、被害者からDAI/USDC/WETHおよびその他のERC20トークン(ここではDAI)を盗むために使用される署名(r、s、v値の期間)を取得します。フィッシャーが許可機能とやり取りする際には使用する必要があります)。
(2) 攻撃者は許可機能を呼び出して承認を完了します。
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) 攻撃者はtransferFrom関数を呼び出して、被害者の資産を移転し、攻撃を完了します。
まず、transferとtransferFromの違いを説明します。 ERC20を直接転送する場合、通常、ERC20契約の転送機能を呼び出し、transferFromは通常、サードパーティに当初のウォレット内のERC20を他のアドレスに転送することを許可する場合に使用されます。
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
追加の説明:この署名はガス不要のオフチェーン署名です。 攻撃者が取得した後、オンチェーン相互作用でpermitとtransferFromを実行しますので、被害者のアドレスのオンチェーンレコードには承認記録が表示されません。攻撃者のアドレスには表示されます。一般的に、この署名は一度しか使用されず、繰り返しのフィッシングリスクを作成しません。
Permit2は2022年末にUniswapによって開始されたスマートコントラクトで、ユーザーの利便性を図るためのものです。これはトークン承認コントラクトであり、異なるDAppsでトークンの承認を共有および管理できるようにします。今後、より多くのプロジェクトがPermit2と統合されるにつれて、Permit2コントラクトはDAppエコシステムでより統一された承認管理体験を実現し、ユーザーの取引コストを節約することができます。
Permit2の登場以前、Uniswapでのトークン交換には承認(Approve)が必要で、その後に交換(Swap)が必要であり、2つの手続きと2つの取引のガス手数料が必要でした。 Permit2のローンチ後、ユーザーは一度にすべての割り当てをUniswapのPermit2契約に承認することができ、その後の償還にはオフチェーンの署名だけが必要です。
Although Permit2 improves the user experience, it is followed by phishing attacks targeting Permit2 signatures. Similar to Permit off-chain signature phishing, Permit2 is also off-chain signature phishing. This attack is mainly divided into four steps:
(1) 必要条件は、ユーザーのウォレットがフィッシングされる前にUniswapを利用し、UniswapのPermit2契約にトークンの制限を許可していることです(Permit2により、ユーザーはデフォルトでトークンの残高全体を承認できます)。
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) 攻撃者はフィッシングリンクまたはフィッシングページを偽造して、ユーザーに署名させる。フィッシング攻撃者は、必要な署名情報を取得し、これはオフチェーン署名フィッシングに類似しています。
(3) 攻撃者は、許可を完了するためにPermit2契約の許可機能を呼び出します。
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) 攻撃者は許可2契約のtransferFrom関数を呼び出して、被害者の資産を転送し、攻撃を完了します。
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
補足事項:通常、攻撃者が資産を受け取る複数のアドレスがあります。通常、最も多くの金額を持つ受取人の1人は、フィッシングを実施する攻撃者であり、他の受取人はフィッシング・アズ・ア・サービス(フィッシング・アズ・ア・サービスDaaSプロバイダー)を提供するブラックアドレスです。例えば、PinkDrainer、InfernoDrainer、AngelDrainerなどのアドレスがあります。
eth_signは、任意のハッシュに署名できるオープンな署名方法です。攻撃者は、署名が必要な任意の悪意のあるデータ(トークンの転送、契約の呼び出し、承認取得など)を構築し、ユーザーにeth_signを通じて署名させる必要があります。攻撃は完了する可能性があります。
MetaMaskは、eth_signに署名する際にリスク警告を表示します。imTokenやOneKeyなどのWeb3ウォレットは、この機能を無効にするか、リスク警告を提供しています。すべてのウォレットメーカーに、セキュリティ意識や必要な技術蓄積の不足によるユーザーへの攻撃を防ぐために、このメソッドを無効にすることをお勧めします。
personal_signとsignTypedDataは一般に使用される署名方法です。通常、ユーザーは発信者、ドメイン名、署名内容などが安全かどうかを注意深く確認する必要があります。もしリスクがある場合は、特に注意が必要です。
さらに、personal_signとsignTypedDataが上記のように「ブラインド署名」として使用される場合、ユーザーは明確なテキストを見ることができないため、フィッシング団に悪用されやすくなり、フィッシングのリスクも高まります。
悪意のあるウェブサイトを偽造したり、プロジェクトの公式ウェブサイトに偽の情報を掲載し、ユーザーにsetApprovalForAll、Approve、Increase Approval、Increase Allowanceなどの操作を確認させ、ユーザーの資産操作権限を取得して盗難を行う攻撃者がいます。
(1)setApprovalForAll
PREMINT馬フィッシング事件を例に、jsファイル(https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) on the project website was injected with malicious code. A malicious js file (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) will be created dynamically. The attack is initiated by this malicious script.
ユーザーが時間通りにリスクを発見しなかったため、setApprovalForAll操作を確認し、誤って資産の操作承認を漏洩させ、資産が盗まれる結果となりました。
(2)承認
setApprovalForAllに類似して、ユーザーは承認操作を確認し、資産の操作権限を漏洩させ、資産が盗まれる結果になりました。
承認ミス承認:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
増加承認と増加許可機能の攻撃原則はこれに類似しています。デフォルトでは、攻撃者の被害者のアドレストークンを操作する上限は0です。しかし、これらの2つの機能によって認可された後、攻撃者は被害者のトークンの操作制限を増やします。その後、トークンの量を転送することができます。
(3)承認を増やす
承認不正の増加:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)手当を増やす
許可許可の不正使用:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
攻撃者はtransferFromを通じて資産を転送します:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
アドレス汚染フィッシングは、最近増加しているフィッシング手法の1つです。攻撃者はチェーン上の取引を監視し、その後、標的ユーザーの履歴取引中の相手のアドレスに基づいて悪意のあるアドレスを偽造します。通常、最初の4〜6桁と最後の4〜6桁は正しい相手に関連しています。両当事者のアドレスが同じであり、それからこれらの悪意のある偽造アドレスが使用されて、わずかな金額や無価値なトークンが標的ユーザーのアドレスに送金されます。
対象ユーザーが、個人の習慣により過去の取引注文から相手のアドレスをコピーして後続の取引で送金する場合、不注意により資産が悪意のあるアドレスに誤って送金される可能性が非常に高いです。
2024年5月3日、このアドレスの汚染フィッシング手法により、7,000万ドル以上の価値がある1155WBTCが詐取されました。
正しいアドレス:0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
悪意のあるアドレス:0xd9A1C3788D81257612E2581A6ea0aDa244853a91
通常の取引:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
アドレス汚染:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
誤送金トランザクション:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
現在、さまざまなウォレットやセキュリティプラグインは、徐々にフィッシングブラックリストや一般的なフィッシング手法に対するビジュアルリスクリマインダーを実装してきました。さらに、署名情報もますます完全に表示されるようになり、一般ユーザーがフィッシング攻撃を識別する能力が向上しています。しかし、攻撃と防御の技術は常に競い合い、常に発展しています。より隠れたフィッシング手法も次々に登場しており、より警戒が必要です。最近、ウォレットやセキュリティプラグインのブラックリスト検出をバイパスするためにCREATE2を使用する方法が比較的一般的です。
Create2は、イーサリアムの「コンスタンティノープル」アップグレード中に導入されたオペコードで、ユーザーがイーサリアム上でスマートコントラクトを作成できるようにします。元のCreateオペコードは、作成者のアドレスとナンスに基づいて新しいアドレスを生成します。Create2を使用すると、契約の展開前にアドレスを計算できます。Create2は、イーサリアム開発者にとって非常に強力なツールであり、高度で柔軟な契約の相互作用、パラメータベースの契約アドレスの事前計算、オフチェーン取引、特定の分散型アプリケーションの柔軟な展開と適応を可能にします。
Create2が利点をもたらす一方で、新しいセキュリティリスクを生み出します。Create2は悪意のある取引履歴のない新しいアドレスを生成するために悪用される可能性があり、ウォレットのブラックリスト検出やセキュリティアラートをバイパスします。被害者が悪意のある取引に署名すると、攻撃者は事前計算されたアドレスに契約を展開し、被害者の資産をそのアドレスに移動させることができ、これは不可逆的なプロセスです。
この攻撃の特徴:
(1)契約アドレスの予測的な作成を許可し、攻撃者が契約を展開する前にユーザーをだまして権限を付与させることができます。
(2) 承認時点で契約がまだ展開されていないため、攻撃アドレスは新しいアドレスであり、検出ツールは歴史的なブラックリストに基づいて早期警告を提供することができず、より高い隠匿性を持っています。
CREATE2を使用したフィッシングの例です:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
この取引では、被害者はアドレス内のsfrxETHを悪意のあるアドレス(0x4D9f77)に送金しました。このアドレスは取引履歴のない新しい契約アドレスです。
しかし、この契約の作成トランザクションを開くと、契約が作成されたと同時にフィッシング攻撃を完了し、被害者のアドレスから資産を移転したことがわかります。
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
このトランザクションの実行を見ると、CREATE2を呼び出した後に0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40が作成されたことがわかります。
さらに、PinkDrainerの関連アドレスを分析することで、このアドレスが毎日CREATE2を通じてフィッシングのための新しい契約アドレスを作成していることがわかります。
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
フィッシング攻撃はますます横行しており、巨額の不正利益により、Drainer as a Service(DaaS)に基づくブラック産業チェーンが徐々に発展しています。より積極的なものには、Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusaなどが含まれます。フィッシング攻撃者はこれらのDaaSサービスを購入し、迅速かつ低い閾値で数千のフィッシングWebサイト、詐欺アカウントなどを構築します。このような災禍がこの産業に押し寄せ、ユーザーの資産の安全を脅かしています。
例えば、悪名高いフィッシングギャングであるInferno Drainerを取ると、彼らはさまざまなウェブサイトに悪意のあるスクリプトを埋め込んでいます。たとえば、彼らは自分自身を人気のあるWeb3プロトコル機能(Seaport、WalletConnect、Coinbase)として偽装するために、seaport.js、coinbase.js、wallet-connect.jsを広めています。ユーザーを統合またはクリックさせるために。ユーザー確認を受けると、彼らは自動的にユーザー資産を攻撃者のアドレスに転送します。悪意のあるSeaportスクリプトを含むWebサイトは14,000以上、悪意のあるWalletConnectスクリプトを含むWebサイトは5,500以上、悪意のあるCoinbaseスクリプトを含むWebサイトは550以上、Inferno Drainerに関連する悪意のあるドメインは16,000以上、および100以上の暗号通貨ブランド名が影響を受けています。以下はInferno Drainerに関連するフィッシングWebサイトです。
ウェブサイトのヘッドセクションには、seaport.jsとwallet-connect.jsという2つの悪意のあるスクリプトが含まれています。インフェルノドレーナーのフィッシングウェブサイトのもう1つの典型的な特徴は、ユーザーが右クリックでウェブサイトのソースコードを開けないことです。これにより、これらのフィッシングウェブサイトはより隠されます。
フィッシングサービスフレームワークにおいて、通常、盗まれた資産の20%が自動的にインフェルノドレイナーの主催者アドレスに送金され、残りの80%がフィッシング加害者に保持されます。さらに、インフェルノドレイナーは、無料サービスを定期的に提供し、フィッシングウェブサイトの作成とホスティングを行います。時にはフィッシングサービスによって、詐取された資金の30%の手数料が必要とされることもあります。これらのフィッシングウェブサイトは、被害者を引き付ける能力があるが、ウェブサイトをホストする技術的能力がない人々のために設計されています。これらは、単に自分で作業を行いたくないフィッシング攻撃者によって作成されたものです。
そうですね、このDaaS詐欺はどのように機能しますか? Inferno Drainerの暗号詐欺スキームのステップバイステップの説明はこちらです。
(1) Inferno Drainerは、Inferno Multichain DrainerというTelegramチャンネルを通じて彼らのサービスを宣伝しており、時々攻撃者もInferno Drainerのウェブサイトを通じてサービスにアクセスします。
(2) 攻撃者は、DaaSサービス機能を使用して自分自身のフィッシングウェブサイトを設定および生成し、X(Twitter)、Discord、および他のソーシャルメディアを通じて拡散します。
(3) 被害者は、これらのフィッシングウェブサイトに含まれるQRコードやその他の方法をスキャンして、ウォレットを接続するよう誘導されます。
(4) ドレイナーは被害者の最も貴重で簡単に移転可能な資産をチェックし、悪意のある取引を開始します。
(5) 被害者は取引を確認しました。
(6)資産が犯罪者に移されます。盗まれた資産のうち、20%がインフェルノドレイナーの開発者に移され、80%がフィッシング攻撃者に移されました。
Inferno Drainer が顧客に統計データを表示する DaaS サービスページが以下に示されています:接続数 (被害者がウォレットをフィッシングサイトに接続した場合)、成功したクリック数 (被害者が取引を確認した場合)、および盗まれた資産の価値。
DaaSサービスの各顧客は、独自のDrainer機能をカスタマイズできます:
(1) まず最初に、ユーザーは報酬、エアドロップなどと偽って知らないリンクをクリックしてはいけません。
(2)公式ソーシャルメディアアカウントの盗難事件が増加しており、公式情報はフィッシング情報である可能性があり、公式情報であるからといって絶対に安全であるとは限りません;
(3) ウォレット、DApps、およびその他のアプリケーションを使用する際には、スクリーニングに注意を払い、偽サイトや偽アプリには注意してください;
(4) 確認が必要な任意の取引または署名メッセージには注意が必要であり、対象、内容、およびその他の情報を交差確認し、盲目的に署名するのを拒否し、警戒し、すべてを疑い、操作の各段階が明確かつ安全であることを確認してください。
(5) さらに、ユーザーは、本文で言及されている一般的なフィッシング攻撃手法を理解し、積極的にフィッシングの特徴を識別することを学ぶ必要があります。 一般的な署名、承認機能とそのリスクをマスターし、インタラクティブ(インタラクションURL)、所有者(承認者アドレス)、支出者(承認されたパーティーアドレス)、価値(承認された数)、ノンス(ランダムな数)、締め切り(有効期限)、送金/transferFrom(転送)およびその他のフィールドの内容をマスターしてください。