_Jukka_Palm_Alamy.png?width=1280&auto=webp&quality=80&format=jpg&disable=upscale)
出典: Jukka Palm via Alamy Stock Photo
自己増殖型ワームが、複雑なサプライチェーン攻撃でVisual Studio Code(VS Code)の拡張機能を標的とし、これまでに35,800台の開発者マシンが感染しました。研究者によれば、これまで野生で見たことのない手法が使われているとのことです。
Koi Securityの研究者は、「GlassWorm」と名付けられたこのマルウェアを10月18日に発見しました。これは、OpenVSXマーケットプレイス(Visual Studio Marketplaceのオープンソース代替)上のCodeJoyという拡張機能が「不審な動作の変化を示した」ことから発覚したと、KoiのCTO兼共同創設者Idan Dardikmanが土曜日にブログ記事で述べています。
調査の結果、この拡張機能には非常にステルス性の高いマルウェアが仕込まれており、コードエディタでは表示されない印刷可能なUnicode文字を利用して、「悪意のあるコードを文字通り消してしまう」とDardikmanは記しています。
「このマルウェアは見えません」と彼は書いています。「難読化もされていません。縮小化されたファイルに隠されてもいません。実際に人間の目には見えないのです。」
さらに分析を進めると、自己増殖型のマルウェアであり、SolanaブロックチェーンをC2として、Googleカレンダーをバックアップのコマンドサーバーとして利用し、NPM、GitHub、Gitの認証情報を収集してサプライチェーン内で拡散、暗号通貨ウォレットを標的とし、SOCKSプロキシサーバーを展開して開発者マシンをC2インフラとして利用、隠しVNCサーバーをインストールして完全なリモートアクセスを実現、盗んだ認証情報を使ってさらにパッケージや拡張機能を侵害し拡散することが判明しました。
GlassWormは当初、10月17日に複数の拡張機能に感染し、そのうち3つは現在もマルウェアを配布し続けており、4つはクリーンなバージョンに更新されたとDardikmanは月曜日にDark Readingに語っています。しかし、悪意のあるバージョンは依然としてオンラインでダウンロード可能だと述べています。
一方、GlassWormはOpen VSXを超えてMicrosoft公式のVS Codeマーケットプレイスの拡張機能にも拡散しました。しかし、Koiがその拡張機能を報告したところ、Microsoftは直ちに削除したとDardikmanはDark Readingに語っています。
ガラスのように「見えないコード」
Dardikmanは、GlassWormをKoiが発見したNPMパッケージのサプライチェーンに影響を与えた別のマルウェアキャンペーン、Shai Huludと比較しました。しかし、GlassWormはその不可視コード難読化技術(これが名前の由来)により、従来のコードレビューを完全に破壊してしまう点で、より危険だとDardkimanは記事で述べています。
「ガラスのように、完全に透明です」と彼は書いています。「じっと見ても何も見えません。アカウントが侵害された開発者もこのファイルを見て、自分の正当なコードがあるように見え、数百人のユーザーにマルウェアを配布することになるとは思いもしなかったでしょう。」
これはセキュリティ研究者にとって大きなパラダイムシフトです。これまで人間がコードをレビューすることで安全性や正当性を担保できるという前提でシステムが構築されてきましたが、GlassWormはその前提が誤りであることを証明しました、とDardikmanは書いています。彼は月曜日にDark Readingに「正直、これまで調査した中で最も高度な攻撃です」と語っています。
不可視性という特徴に加え、GlassWormは感染した拡張機能を通じて拡散した後、前述のさまざまな機能によって感染システムに甚大な被害をもたらす能力も持っています。
中でも特に危険なのは2つの側面です。1つは、盗まれたNPM、GitHub、OpenVSX、Gitの認証情報を使って、さらに多くのパッケージや拡張機能を侵害する点です。「新たな被害者一人ひとりが感染経路となる」ため、このマルウェアはワーム型であり、一度きりの感染ではないとDardikmanは書いています。
もう1つは最終段階で、「ZOMBI」と呼ばれるモジュールが「感染したすべての開発者ワークステーションを犯罪インフラネットワークのノードに変える」点です。これにより攻撃者は、ソフトウェアサプライチェーン全体に広がるマルウェア配布用の無料プロキシネットワークを手に入れることができます。
GlassWormの対策
脅威アクターは近年、コードレジストリを毒化し、ソフトウェア用の悪意あるツールや拡張機能を仕込むことで、サプライチェーンを通じてマルウェアを急速に拡散できることを発見しました。NPMレジストリが頻繁な標的となってきましたが、GlassWormの出現は、どのコードリポジトリやソフトウェアマーケットプレイスも安全ではなく、攻撃者がマルウェア拡散や痕跡隠蔽の手法をますます高度化させていることを示しています。
Koiは、GlassWormに感染したソフトウェアを特定できるよう、感染した拡張機能名、C2やペイロードのURL、永続化メカニズムなど、さまざまな侵害指標(IoC)を公開しています。
インフラ内でIoCを特定した組織は、侵害されたとみなすべきであり、認証情報が盗まれた可能性が高く、暗号通貨ウォレットが抜き取られ、マシンが犯罪活動のためのSOCKSプロキシとしてすでに利用されている可能性があるとDardikmanは述べています。
このような場合、Dardikmanは感染マシンに対して次の対応を推奨しています。NPMトークン、Githubトークン、OpenVSXおよびVSCodeトークン、すべてのパスワードを含むすべてのシークレットをローテーションすること。また、マルウェアを完全に除去するためにマシンを初期化(フォーマット)することも必要です。
翻訳元: https://www.darkreading.com/application-security/self-propagating-glassworm-vs-code-supply-chain