Back to Blog

フィッシングサイトはいかにしてウォレットのセキュリティ警告を回避するのか:その手法を解剖する

2024年5月10日
4 min read

概要

近年、Web3フィッシングサイトは、多くのユーザーに対して合計数百万ドル規模の損失をもたらしています。これらのフィッシングサイトにおいて、ユーザーは知らぬ間に、自身のトークンを詐欺師が管理するアカウントへ転送することを許可するトランザクションに署名させられています。フィッシング攻撃からユーザーを保護するため、多くのWeb3ウォレットは、既知のフィッシングアカウントに関連するトランザクションを積極的にブロックするブラックリストメカニズムを実装してきました。

しかし、我々の観察によると、この戦略はフィッシングアカウントのブロックにおいて効果的ではないことが判明しています。詐欺師はこのセキュリティメカニズムを回避するためにいくつかの手法を開発しました。第一の手法は、Create2関数を使用してフィッシングコントラクトのアドレスを予測し、トークンの盗難に成功した後にフィッシングコントラクトをデプロイするというものです。第二の手法は、ブラックリストの更新頻度を上回るペースで、毎日新しいフィッシングコントラクトをデプロイするというものです。

既存のウォレットセキュリティ警告メカニズム

フィッシングサイトに関する警告
フィッシングサイトに関する警告

ウォレット内のセキュリティ警告メカニズムには、ウェブサイトとアカウントの両方のチェックが含まれています。現在、すべてのシステムにおいて、ウェブサイトのドメインとアカウントに関するブラックリストが維持されています。ユーザーがウェブサイトにアクセスすると、ウォレットはそのドメインがブラックリストに載っているかどうかを確認します。もし載っていれば、そのウェブサイトへのアクセスは拒否されます。同様に、ユーザーがトランザクションに署名する前に、ウォレットはトランザクションに介在するアカウントがブラックリストに載っていないかを確認します。もし載っていれば、ユーザーが手続きを進めないようにトランザクションはブロックされます。これらのセキュリティ機能は、MetaMaskのようなシステムによって例示されます。

Create2を活用したセキュリティ警告の回避

イーサリアムの Create2 オペコードを使用すると、コントラクトを実際にデプロイする前にアドレスを予測することが可能です。これは以下の式を使用して実現されます:

address = hash(deployer address, bytecode, salt)

デプロイヤーの署名、コントラクトのバイトコード、そして指定されたソルト値があれば、事前にコントラクトアドレスを特定することが可能になります。

当然ながら、デプロイヤーのアドレス、バイトコード、ソルト値があれば、デプロイ前にコントラクトアドレスを予測できます。フィッシングサイトでは、ユーザーはETHの送信またはトークンの承認を、外部所有アカウント(EOA)に対して行うよう促されます。このEOAは Create2 を通じて予測されたものであり、ブラックリストには含まれていません。その後、トークンの盗難に成功した時点でフィッシングコントラクトがデプロイされ、被害者のトークンがさらなる処理のために別のアカウントへ転送されます。このプロセス全体が自動的に行われます。

Phalcon Explorerによって実証された事例を以下に示します:

フィッシングサイトは最初、0x0ddbへのトークン承認をユーザーに要求します。その後、詐欺師がフィッシングトランザクションを開始します。これには2つの内部トランザクションが含まれています。最初の内部トランザクションは、Create2を使用してフィッシングコントラクトをデプロイします。2番目の内部トランザクションは、そのフィッシングコントラクトを呼び出し、被害者のトークンを転送します。

セキュリティ警告を回避するためのフィッシングコントラクトの頻繁なデプロイ

フィッシングコントラクトのデプロイからブラックリストが更新されるまでのわずかな時間差を突くことで、詐欺師はセキュリティ警告を回避しています。彼らは毎日新しいフィッシングコントラクトをデプロイすることでこれを実現しています。その結果、ユーザーがフィッシングサイトにアクセスした際、これらのコントラクトはまだブラックリストに登録されていないため、一部のウォレットでの警告をすり抜けてしまいます。

Phalcon Explorerで解説されているPink Drainerの事例を以下に示します。0x5d77のDeploy関数が毎日呼び出され、新しいフィッシングコントラクトがデプロイされています。

まとめ

フィッシングサイトの開発者は、Web3ウォレットが採用しているセキュリティ検知メカニズムを回避するために、絶えず新しい戦略を編み出しています。我々は引き続き警戒を怠らず、彼らの最新の手口を継続的に監視していきます。ユーザーの皆様には、細心の注意を払い、トランザクションに署名する前に詳細を慎重に確認することを強く推奨します。

関連資料


BlockSecについて

BlockSecは、世界的に著名なセキュリティ専門家グループによって2021年に設立された、先駆的なブロックチェーンセキュリティ企業です。当社は、Web3のマスアダプションを促進するため、この新たなWeb3世界におけるセキュリティとユーザビリティの向上に取り組んでいます。そのために、BlockSecはスマートコントラクトおよびEVMチェーンのセキュリティ監査サービス、セキュリティ開発と脅威のプロアクティブな遮断を行うPhalconプラットフォーム、資金追跡と調査のためのMetaSleuthプラットフォーム、そしてWeb3ビルダーがクリプトの世界を効率的に利用するためのMetaSuites拡張機能を提供しています。

現在までに、当社はMetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapといった300を超える著名なクライアントにサービスを提供しており、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalを含む卓越した投資家から2回の資金調達ラウンドで数千万米ドルの資金を獲得しています。

公式サイト: https://blocksec.com/

公式Twitterアカウント: https://twitter.com/BlockSecTeam

Sign up for the latest updates
NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓
Security Insights

NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓

NEAR Intentsのエクスプロイトでは、過大な返金イベントを利用し、預け入れられた資産が返還された後も内部残高を維持しました。この分析では、レシートの処理フローと、合計3,865,021 USDTに上るBNB Chainでの7件の出金を再構成し、これらの資金流出とプロジェクトが報告した全額回収を区別したうえで、NEARスマートコントラクトの開発と監査におけるセキュリティ上の考慮事項を概説します。

損失約557万 USD:X100 FreezerとNEMへの攻撃 | BlockSec Weekly
Security Insights

損失約557万 USD:X100 FreezerとNEMへの攻撃 | BlockSec Weekly

本週次レポートでは、2026年10月19日–2026年10月25日にEthereumとBNB Chainで発生した2件のセキュリティインシデントを取り上げます。フラッシュローンを資金源としたX100 Freezerのガバナンス乗っ取りと、BNB Chain上のNEMトークンの流動性プールに影響を及ぼした税の精算処理の欠陥を検証します。本レポートの対象範囲における推定損失額は合計で約557万 USDです。内訳は、代表例として取り上げるX100のトランザクションによる損失が約475万 USD、NEMプールのインシデントによる損失が約82.0万 USDです。この合計には、別途報告された、その後のX100からの資金奪取は含まれません。

約387万 USDの損失:Autheo NetworkとUNCXへのハッキング | BlockSecウィークリー
Security Insights

約387万 USDの損失:Autheo NetworkとUNCXへのハッキング | BlockSecウィークリー

この週次レポートでは、2026年10月12日–2026年10月18日に発生した3件のセキュリティインシデントを取り上げます。推定損失額の合計は約387万 USDです。Autheo Networkでは秘密鍵の侵害により約176万 USD、Qubic Walletでは脆弱なシード生成により約130万 USDの損失が発生しました。また、Ethereum、BNB Chain、Base、Robinhood Chain上のUNCX NetworkのSmart Token Vesting V2コントラクトでは、会計処理上の誤りにより約80.7万 USDの損失が発生しました。重点的に取り上げるUNCXの分析では、シェア総数の計算に欠陥があり、異なるトークン対シェア比率で作成されたベスティングのトランシェが混同された結果、共通プールからの過剰な引き出しが可能になった仕組みを説明します。