🛡 概要
最近、npmパッケージに対するサプライチェーン攻撃が発生し、週に26億回以上ダウンロードされるパッケージにマルウェアが注入されました。この攻撃は、メンテナーのアカウントがフィッシング攻撃によって侵害されたことに起因しています。攻撃者は、npmjs.comを模倣したドメインを使用して、メンテナーに対しアカウントのロックを脅し、フィッシングサイトへのリンクをクリックさせました。
🔍 技術詳細
この攻撃では、攻撃者がコントロールを奪った後、パッケージを更新し、index.jsファイルにブラウザベースのインターセプターとして機能する悪意のあるコードを注入しました。このコードは、ネットワークトラフィックやアプリケーションAPIを監視し、暗号通貨のアドレスやトランザクションを攻撃者が制御するウォレットアドレスにリダイレクトします。特に、EthereumやBitcoinなどのウォレットアドレスを監視し、トランザクションの送信先を変更することで、ユーザーが意図したアドレスに送信される前に攻撃者が資金を奪う仕組みです。攻撃者はfetchやXMLHttpRequestなどのJavaScript関数をフックすることで、悪意のあるコードを実行しています。
⚠ 影響
この攻撃の影響を受けたパッケージは、週に合計26億回以上のダウンロードがあり、特にdebugパッケージは3億5760万回のダウンロードがありました。これにより、攻撃者は広範囲なユーザーに対して脅威を与えることが可能となります。影響を受けたユーザーは、暗号通貨のトランザクションが攻撃者にハイジャックされる危険性があります。さらに、この攻撃は最近の他のサプライチェーン攻撃の一環であり、開発者に対する脅威は増加しています。
🛠 対策
このような攻撃を防ぐためには、ユーザーは二要素認証(2FA)の更新を定期的に行い、フィッシング攻撃への警戒を高める必要があります。また、npmパッケージのインストール時には、信頼できるソースからのものであるかを確認することが重要です。攻撃者によるフィッシングメールや偽サイトの識別能力を高めるために、開発者やメンテナーはセキュリティ教育を受けるべきです。さらに、npmチームは悪意のあるバージョンを迅速に削除するなどの措置を講じていますが、ユーザー自身の警戒も不可欠です。


