9月初旬以来、ジョシュ・ミューア氏と他の5人のnoblox.js
パッケージ管理者は、サイバー犯罪者が同様の名前のコードライブラリを通じてランサムウェアを配布するのを阻止しようと努めてきた。
Noblox.js
Roblox APIのラッパーで、多くのゲーマーが絶大な人気を誇るゲームプラットフォームRobloxとのやり取りを自動化するために利用しています。ここ数ヶ月、このソフトウェアは「マルウェアを使ってユーザーベースを攻撃することに固執し、そのためのパッケージを作り続けているユーザー」の標的となっていたと、ミュア氏はThe Registerへのメールで説明しました。
この犯罪者は、少なくとももう 1 人の協力を得て、noblox.js
オープンソースの JavaScript ライブラリのレジストリである NPM にランサムウェアを配布する同様の名前のパッケージをアップロードし、その後、メッセージングおよびチャット サービスの Discord を通じてマルウェアを含んだファイルを宣伝することで、パッケージを「タイポスクワッティング」していました。
先月、セキュリティ企業の Sontatype は、noblox.js に類似したマルウェアの改ざんに関するブログ記事を公開したが、この特定のソフトウェア サプライ チェーンの侵害はいたずらである可能性が高いとして一蹴した。
ミュア氏はこれに異論を唱える。「ソナタイプ社はこの攻撃を『いたずら』の可能性として説明していたと思いますが、決してそうではありません。むしろ、私たちの図書館とその利用者に対する執拗で継続的な攻撃です」と彼は述べた。
いたずらじゃない、誰かが子供たちをストーカーしている
ミュア氏は、正規のライブラリではなく侵害されたコードをダウンロードするように無意識のうちにユーザーを騙すために、紛らわしいほど似た名前で作成されたライブラリが少なくとも 6 つあることを認識していると述べたnoblox.js
。
noblox.js-rpc
noblox.js-proxy
noblox.js-beta
noblox.js-promise
noblox.js-promises
discord.buttons-js
「これらはすべて報告済みですが、noblox.js-rpc
現在オンラインになっているのは だけです」と、ミュア氏は日曜日のメッセージで述べた。「これらの攻撃のうち最初のものは、discord.buttons-js
9月7日に作成された最初のものでした。Discordに関連するタイトルにもかかわらず、noblox.js
Readmeファイルが含まれていました。」
それ以来、noblox.js-rpc
フラグが付けられ、削除されました。
— グラディエーター(@Lonegladiator_)2021年11月14日
Sonatype の上級セキュリティ研究者 Ax Sharma 氏はThe Registerへの電子メールで、同社が悪質な NPM パッケージをますます多く目にしていることを確認した。その中には、noblox.js
同社が NPM に報告した noblox.js-rpc と呼ばれる別のタイポスクワットも含まれている。
「このパッケージは、以前にもランサムウェアを配布する偽のNobloxパッケージを公開したのと同じ脅威アクターによるものです」とシャルマ氏は述べた。「この脅威アクターは、感染したリポジトリの情報を共有し、被害を受けた被害者から身代金を要求するためのDiscordサーバーも運営しています。」
不和は必ずしも良い形ではない
シャルマ氏によると、脅威アクターがDiscordを利用して悪意のあるペイロードを共同作成し、ホストするのは今回が初めてではないという。彼は、Sonatypeが1年前に発見したCursedGrabber NPMマルウェアを例に挙げた。このマルウェアは、Discordの添付ファイルを利用してマルウェアを配信し、Webhookを利用してデータを盗み出していた。
「これらのタイポスクワットの中には、正規のパッケージ名と1文字だけ異なる巧妙な名前が付けられているものもあるため、一部の開発者がこれらのパッケージに感染した可能性は十分に考えられますが、その影響の全容は未だ不明であり、評価もまだ行われていません」とシャルマ氏は述べた。「これまでのところ、Sonatypeのお客様がこれらの悪意のあるパッケージの影響を受けたという報告はありません。」
確かに、ターゲットユーザーは子供たちのようです。利用者の大多数は未成年者ですnoblox.js
。
ミュア氏は、犯人らは若いユーザー(ロブロックスによると「当社のユーザーの大半は13歳未満」)がいるDiscordサーバーに参加させてマルウェアを拡散させ、信頼を得て、侵害されたライブラリをダウンロードするよう仕向けていると述べた。
クリックして拡大
ミュア氏によると、このようなメッセージは、Discordがホストする「Condos」サーバーを通じて頻繁に共有されている。「The Condo」とは、性的に露骨なゲームキャラクターを描写したため同社によって閉鎖されたロブロックスのゲームを指すが、この用語は今も露骨な素材を指し示すものとして使われている。
クリックして拡大
「これらのパッケージのインストール数だけを見ると、約200人のユーザーがマルウェアをインストールしたと推定されます」とミュア氏は述べた。「いくつかのパッケージではインストール数が人為的に水増しされているため、正確な数を特定することは困難です。おそらく、より正当なものに見せかけるためでしょう。」
ミューア氏によると、被害に遭ったと思われる人のうち、彼自身または他のメンテナーが連絡を取っているのは4人だという。彼は、「Condos」サーバーのスクリーンショットを提供した。このサーバーは、被害者が身代金を支払って身代金を要求されたファイルを解放してもらうためのコールバックポイントとして利用されている。(「Condos」サーバーは数多く存在する。)
彼によると、同僚のメンテナーの一人が仮想マシンにランサムウェアをロードし、それがdiscord.gg/condos
サーバーを参照していることに気づいたという。
クリックして拡大
ミューア氏は、少なくとも1人の未成年者が盗まれたファイルで脅迫されたと信じる理由があり、このことはDiscordに報告されていると述べた。
- Roblox API コードを装った NPM パッケージがランサムウェアを運んでいたことが判明
- GitHubがNPM JavaScriptパッケージレジストリの認証脆弱性を修正
- 荒らしは気にしないで、DiscordはCDNで「大量のマルウェア」をホストしている
- PyPIのPythonライブラリの約半分にセキュリティ上の問題がある可能性があると専門家が指摘
GitHub の NPM は削除要請に対してそれなりに対応してきたが、Discord はそこまで丁寧ではないと Muir 氏は語った。
「Discordは通常、元のメッセージが削除されている場合、これらの問題には対処しません。問題のユーザーは頻繁にメッセージを削除したり、別のアカウントを使って措置を回避したりしています」とミュア氏は説明した。「これは、私たちがメッセージを報告した後に削除された場合でも同様です。つまり、ほとんどの場合、違反者は捕まらないのです。」
セキュリティ企業Sophosによると、Discordは人気のマルウェア配布チャネルとなっており、マルウェアのコマンドアンドコントロールメッセージングによく使用されているという。
奇妙なタイミング
ミューア氏によると、DiscordのTrust & Safetyチームに提出された報告は遅延または無視されているという。彼は11月1日にチケットを提出したところ、11月3日に返信があり、Discordがリクエストの優先順位付けを行えるよう緊急度を指定するよう求められたという。緊急とマークしたが、2週間経っても何の対応も取られていないという。
「とはいえ、問題のDiscordサーバーは招待制でありdiscord.gg/condos
、主に未成年者向けの性的なゲームであるRobloxの堕落したコンドミニアムの作成に特化していることを考えると、Discordの対応のなさは少々衝撃的です」とミュア氏は述べた。「このサーバーには5万人のメンバーがおり、決して小規模なサーバーではありません。」
これらのうちいくつかは偽のボットアカウントだと彼は推測しているが、 The Registerの記事を書いた時点では1万2000のアカウントがオンラインだったと述べており、少なくともいくつかは本物である可能性を示唆している。
月曜日、The RegisterがDiscordにコメントを求めてから約1時間後、Muir氏はDiscordのTrust & Safetyチームから調査を開始したという通知を受け取った。
「プラットフォームのセキュリティは当社にとって最優先事項です。Discordは、ウイルス対策スキャンなどのプロアクティブスキャンとリアクティブレポートを組み合わせて、マルウェアやウイルスがユーザーに届く前にサービス上で検出します」とDiscordの広報担当者はThe Registerに語った。
また、Discordを悪用してこの目的に利用しているコミュニティや個人を特定し、排除するために積極的に取り組んでいます。こうした事例や悪質な行為者を発見した場合、コンテンツを削除し、参加者に対して適切な措置を講じます。®