セキュリティ

1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも


パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を含む1000以上のプロジェクトで採用されています。そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。

Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js · Issue #536 · faisalman/ua-parser-js · GitHub
https://github.com/faisalman/ua-parser-js/issues/536

Popular NPM library hijacked to install password-stealers, miners
https://www.bleepingcomputer.com/news/security/popular-npm-library-hijacked-to-install-password-stealers-miners/

Malware found in npm package with millions of weekly downloads - The Record by Recorded Future
https://therecord.media/malware-found-in-npm-package-with-millions-of-weekly-downloads/

UAParser.jsはウェブサイトを訪れたユーザーのユーザーエージェント文字列を解析して、ブラウザの種類やレンダリングエンジン、OS、CPU、デバイスの種類やモデルを識別するために使用されるライブラリです。非常に便利であることから、Facebook・Microsoft・Amazon・Google・Instagram・Slack・Mozilla・Discordなどの有名企業を含む数多くのプロジェクトで使用されており、1週間に数百万回もダウンロードされるほどの人気があります。IT系ニュースサイトのBleeping Computerによると、2021年10月のダウンロード数は10月23日の時点で2400万回を超えているとのこと。


ところが、2021年10月22日にnpmで配布されたUAParser.jsの新たなバージョンには、ダウンロードしたLinuxおよびWindowsデバイスにマルウェアをインストールするトロイの木馬が仕込まれていたことが判明しました。

開発者のFaisal Salman氏はバグレポートの報告で、「みなさんこんにちは、そして申し訳ありません。数百のウェブサイトから大量のスパムメールが殺到した時、何かが変わったことに気付きました。何者かが私のnpmアカウントをハイジャックし、いくつかの欠陥があるパッケージ(0.7.29、0.8.0、1.0.0)をリリースしたようです。以前のバージョンとの差分からわかるように、これはおそらくマルウェアをインストールします」と述べています。


ハッカーに侵害されたUAParser.jsをインストールすると、preinstall.jsスクリプトがデバイスで使用されているOSの種類をチェックし、OSに応じてLinuxシェルスクリプトまたはWindowsバッチファイルを起動します。

デバイスがLinuxだった場合、preinstall.shスクリプトが実行されてユーザーがロシア・ウクライナ・ベラルーシ・カザフスタンにいるかどうか確認し、これらの国でなかった場合はjsextensionプログラムを実行するとのこと。jsextensionプログラムは暗号資産のMoneroを採掘するツールのXMRigを設置し、ユーザーから検出されにくいようにCPUの50%のみを使用してMoneroを採掘するそうです。

デバイスがWindowsだった場合はXMRigをjsextension.exeとして保存することに加え、バッチファイルがsdd.dllファイルをダウンロードしてcreate.dllとして保存するとのこと。ダウンロードするDLLはデバイスに保存されているパスワードを盗もうとするトロイの木馬であり、おそらくDanaBotではないかとみられています。DLLがロードされるとメッセージアプリ・ブラウザ・FTPクライアントVNC・ゲームアプリなどのプログラムや、Windows資格情報マネージャーからもパスワードを盗むと報告されています。

今回の攻撃を行ったハッカーは、他のnpmライブラリに同様の攻撃を仕掛けたハッカーと同一だと推測されています。Salman氏はnpmアカウントのハッキングに気付いてから数時間後に、問題を修正したクリーンなUAParser.jsのバージョン(0.7.30、0.8.1、1.0.1)をリリースしました。記事作成時点では、欠陥のあるパッケージ「0.7.29、0.8.0、1.0.0」はnpmサポートを通じて非公開とされており、ダウンロードできない状態になっています。


BleepingComputerは、UAParser.jsを介したサプライチェーン攻撃の影響は広範囲に及び、全てのユーザーはプロジェクトに悪意のあるバージョンが含まれていないか確認するべきだと指摘。jsextensionやjsextension.exeが存在する場合はこれらを削除し、Windowsユーザーの場合はcreate.dllを速やかに削除する必要があります。

また、パスワードを盗むトロイの木馬に感染したのはWindowsユーザーだけだと考えられているものの、Linuxユーザーも自身のデバイスが危険にさらされていると想定する方が賢明だとのこと。トロイの木馬に感染した全てのWindowsおよびLinuxユーザーは、パスワードやトークンを変更する必要があるとBleepingComputerはアドバイスしました。

この記事のタイトルとURLをコピーする

・関連記事
ソフトウェアの「パッケージ」を利用してAppleやPayPalなどの大企業をハッキングする方法とは? - GIGAZINE

Amazon・Slack・Lyftなどを標的に「ソフトウェアの依存関係」を狙った新たなサプライチェーン攻撃が急増 - GIGAZINE

アプリユーザーのビットコインを盗み出すバックドアがオープンソースのコード改変により仕込まれる - GIGAZINE

GitHubのサーバーを仮想通貨マイニングに利用する攻撃の存在が判明、GitHub Actionsを悪用 - GIGAZINE

YouTuberのチャンネル乗っ取りを狙うCookie盗難マルウェアがロシアのハッカーによって使われている - GIGAZINE

Python製のマルウェアが台頭してきているという指摘 - GIGAZINE

「世界で最も接続された企業」が5年にわたりハッキング被害を受けていたことが判明 - GIGAZINE

キャッシュカードの暗証番号はATMのキーパッドを手で隠していても推測できてしまう - GIGAZINE

in ソフトウェア,   セキュリティ, Posted by log1h_ik

You can read the machine translated English article A popular JavaScript library that is dow….