ブロックチェーン・セキュリティ・プラットフォームCyversのチームによると、12月14日に複数のWeb3アプリから少なくとも48万4000ドルを盗んだ「レジャーハッカー」は、Web3ユーザーを騙して悪意のあるトークン承認をさせていたという。
複数の関係者の発表によると、このハッキングは12月14日の朝に発生した。攻撃者はフィッシングの手口を使い、元レジャー社員のコンピュータを侵害し、その社員のノードパッケージマネージャーJavaScript(NPMJS)アカウントへのアクセスを得た。
We have identified and removed a malicious version of the Ledger Connect Kit.
— Ledger (@Ledger) December 14, 2023
A genuine version is being pushed to replace the malicious file now. Do not interact with any dApps for the moment. We will keep you informed as the situation evolves.
Your Ledger device and…
アクセス権を得た後、攻撃者はGitHubのレジャー・コネクトのリポジトリに悪意のあるアップデートを行った。レジャー・コネクトはWeb3アプリケーションで一般的に使用されるパッケージだ。
一部のWeb3アプリは新しいバージョンにアップグレードし、その結果、ユーザーのブラウザに悪意のあるコードを配布した。Zapper、SushiSwap、Phantom、Balancer、Revoke.cashなどのWeb3アプリがこのコードに感染した。
その結果、攻撃者はこれらのアプリのユーザーから少なくとも48万4000ドルを盗むことができた。他のアプリも影響を受けている可能性があり、専門家はこの脆弱性がイーサリアム仮想マシン(EVM)エコシステム全体に影響を及ぼす可能性があると警告している。
どのようにしてそれが起こったのか
Cyversのデディ・ラビドCEO、最高技術責任者のメイア・ドレブ氏、ブロックチェーンアナリストのハカル・ウナル氏は、攻撃がどのように発生したかについてコインテレグラフに語った。
彼らによると、攻撃者はユーザーのウォレットに混乱を招く取引データを表示させる悪意のあるコードを使用し、ユーザーに意図しない取引を承認させた可能性がある。
開発者がWeb3アプリを作成する際、オープンソースの「コネクトキット」を使用してアプリとユーザーのウォレットを接続させるとドレブ氏は解説する。これらのキットは、複数のアプリにインストール可能な標準的なコードであり、開発者がコードを書く手間を省くことができる。レジャーのコネクトキットは、このタスクを処理するためのオプションの1つだ。
開発者が最初にアプリを書いた際、通常はノードパッケージマネージャー(NPM)を通じてコネクトキットをインストールする。ビルドを作成しサイトにアップロードした後、そのアプリはコネクトキットをコードの一部として含むことになり、ユーザーがサイトを訪れるたびにユーザーのブラウザにダウンロードされる。
Cyversのチームによると、レジャー・コネクト・キットに挿入された悪意のあるコードにより、攻撃者はユーザーのウォレットにプッシュされる取引を変更することができたという。例えば、アプリを使用するプロセスの一環として、ユーザーはしばしばトークン契約に承認を発行する必要があり、アプリがユーザーのウォレットからトークンを使えるようにする。悪意のあるコードにより、ユーザーのウォレットで攻撃者のアドレスをトークン承認確認リクエストに表示したり、解読しにくいコードで構成されたウォレット確認が表示され、ユーザーが何に同意しているのか理解せずに「確認」を押してしまう可能性がある。

ブロックチェーン データは、攻撃の被害者が悪意のあるコントラクトに対して非常に大量のトークン承認を行ったことを示している。例えば、攻撃者はイーサリアムアドレス0xAE49C1ad3cf1654C1B22a6Ee38dD5Bc4ae08fEF7から1回の取引で1万ドル以上を引き出した。この取引のログには、ユーザーが悪意のある契約によって非常に大量のUSDCを使うことを承認したことが示されている。

Cyversのチームは、この承認はユーザーが悪意のあるコードにより誤って行った可能性が高いと指摘する。ウォレットが常にユーザーに明確な情報を提供するわけではないため、この種の攻撃を避けることは非常に困難だと警告している。
セキュリティ対策としては、アプリを使用中に表示される各取引確認メッセージを慎重に評価することだが、取引が読みにくいコードで表示されたり、混乱を招く場合は役に立たないかもしれない。
Cyversは、同社のプラットフォームで契約アドレスをチェックし、それらのアドレスがセキュリティインシデントに関与していたかどうかを判断できると主張している。例えば、この攻撃で使用されたスマートコントラクトを作成したアカウントは、Cyversによって180件のセキュリティインシデントに関与していたと検出された。

将来のWeb3ツールによってこのような攻撃が事前に検出され、阻止される可能性があるが、業界はこの問題を解決するまで「まだ長い道のりがある」とチームはコインテレグラフに語った。
翻訳・編集 コインテレグラフジャパン