VSCodeで数百万回ダウンロードされた悪意のある拡張機能が確認される

セキュリティニュース

投稿日時: 更新日時:

イスラエルの研究者グループが実験で Visual Studio Codeの拡張機能をインストールできるVisual Studio Marketplaceで人気のエディターテーマ「Dracula(ドラキュラ)」をコピーした、「なりすまし」テーマを作成し、数百万回ダウンロードされ、有名企業や大手セキュリティ企業でもダウンロードされている事が発表されました。

さらに実験の後に、実際に悪意のあるコードが内包された拡張機能がリリースされている事を指摘しました。

概要

研究者は、過去Visual Studio Marketplaceで偽の拡張機能をインストールさせている脅威アクターを確認しており、今回彼らの実験で「Darcula」をコピーした「Darcula」を作成し大手企業を含む様々な企業へダウンロードさせる事が成功しました。

また今回の実験の後にVisual Studio Codeの拡張機能へ悪意のあるコードが混入されている拡張機能を確認し、リスクの高いVisual Studio Codeの拡張機能を見つけ、コードスニペットを調査する

無料のツール「ExtensionTotal」をリリース予定です。

研究者が行った実験

研究者は今回の実験で「Darcula」をコピーした「Darcula」を作成しました。

 Visual Studio Codeの「Dracula(ドラキュラ)」テーマとは

Dracula(ドラキュラ)テーマは色分けが分かりやすい、シンタックスハイライトと豊富なカスタマイズ項目で約700万回ダウンロードされています。

Dracula(ドラキュラ)テーマ公式

※上記は正規のテーマリンクです。

似たドメイン(darculatheme.com)を取得

研究者は「Darcula」の公式ドメイン「draculatheme.com」と似たドメイン「darculatheme.com」を登録しました。このドメインは、VSCode Marketplace で検証済みの発行者になるために使用され、偽の拡張機能の信頼性を高めました。

VSCode Marketplace で認証済みのパブリッシャーになるために必要なのは

GitHub リポジトリを追加

GitHub リポジトリを追加するだけで、package.jsonMicrosoft がリポジトリを所有していなくても、拡張機能ページに公式リポジトリとしてリストできます。

そこで、信頼性をさらに高めるために彼らは公式の Dracula テーマ リポジトリを配置することにしました。

テーマへコードを追加

信頼性が高まったので、テーマ拡張機能に追加したコードの一部を以下に示します。

簡単に言うと、このコードは被害者がエディターでドキュメントを開くたびに、コードが読み取られ、Retool サーバーに送信され、さらに、ホスト名、ドメイン、プラットフォーム、拡張子の数など、ホスト マシンの情報を含むビーコンがサーバーに送信されます。

最初の被害者が確認

なんと、拡張機能を公開してからわずか数分後には、VSCode Marketplace で公開され、

最初の被害者が現れました(DESKTOP-97KBB6Hさん)。

たった 1 日で、拡張機能を宣伝したり、開発者にインストールしてもらうために特別なことをしたりしていないにもかかわらず、すでに 100 人以上の被害者がいました

(「Darcula Theme」を検索すると、最初のページに実験者たちのサイトが表示され、検証済みの発行元は実験者たちだけでした)。

大手企業にダウンロードされる

数日後、大きな出来事が起こりました。実験者たちは、時価総額 4,830 億ドルの上場企業のドメインとネットワーク内に Windows マシンとして特定された被害者がいることに気付きました

その後、広く知られている数十億ドル規模の企業、世界最大のセキュリティ企業の 社、およびある国の裁判所ネットワーク内にも被害者がいることが確認され、

この攻撃ベクトルの計り知れない危険性が明らかになりました。

また、24時間以内にダウンロードされた被害者たちの都市は以下です。

偽の「Dracula(ドラキュラ)」テーマがトレンドに

Visual Studio Marketplaceのホームページは、毎月 450 万回 閲覧されるページです

この拡張機能は世界中で何千もインストールされています。

※トレンド入りしている実験アプリドメインは「darculatheme.com」で
 公式は「draculatheme.com」
 darとdraでタイポスクワッティングしている。

実験後の調査 悪意のあるコードを含む拡張機能が約2億回インストール

実験が成功した後、研究者たちは、独自に開発した「ExtensionTotal」というカスタム ツールを使用して、リスクの高い拡張機能を見つけ、それらを解凍し、疑わしいコード スニペットを精査し、VSCode マーケットプレイスの脅威状況を詳しく調査することにしました。

このプロセスを通じて、彼らは次のことを発見しました。

  • 既知の悪意のあるコードを含む1,283 件(インストール数 2 億 2,900 万件)。
  • 8,161 がハードコードされた IP アドレスで通信しています。
  • 1,452 個の不明な実行可能ファイルが実行中です。
  • 2,304 件 は開発者とは別の Github リポジトリを使用しており、模倣品であることを示しています。

以下は、サイバー犯罪者のサーバーへのリバース シェルを開く、悪意のある Visual Studio Code Marketplace 拡張機能で見つかったコードの例です。

なお。研究者らは、「ExtensionTotal」ツールとその運用機能の詳細を公開し、開発者が環境をスキャンして潜在的な脅威を検出するのに役立つ無料ツールとしてリリースする予定です。

また、別のメディアBleepingComputer は Microsoft に連絡し、Visual Studio Marketplace のセキュリティを見直し、タイポスクワッティングやなりすましを困難にする追加対策を導入する予定があるかどうかを尋ねましたが、記事の公開時点で返答はなかったとのこと

ExtensionTotalが公開される(2024年6月16日)

開発者が Visual Studio Code Marketplace 拡張機能をスキャンして潜在的な脅威を検出するのに役立つ無料ツール「ExtensionTotal」が公開されました。