
Microsoft Threat Intelligence は、Xcodeプロジェクトを感染させることでmacOSユーザーを標的にするXCSSETの新たな亜種を発見しました。このマルウェアは2022年以来初めて確認されたもので、難読化手法の強化、持続的な感染手法の更新、新たな感染戦略を備えています。
目次
マルウェアの概要
macOS モジュラー マルウェア「XCSSET 」と呼ばれ、デジタル ウォレットや正規の Notes アプリのデータなど、ユーザーの機密情報を標的とするサイバー攻撃に悪用されます。
マルウェアの配布手段
Gitなどからマルウェアに感染したXcodeのプロジェクトをダウンロードすると、プロジェクト内にマルウェアが仕込まれており
マルウェアに感染した端末を介して感染が広がっています。
XCSSETのマルウェアはトレンドマイクロによって指摘されたXcodeのプロジェクトを標的にするキャンペーンで利用されており、
今回発見された新たなマルウェアは亜種になります。
脅威アクターはGitHubなどに掲載されている有名なプロジェクトに偽装したりアドバタイジング攻撃を利用し、macOS 開発者へ
マルウェアが混入されたXcodeのプロジェクトをダウンロードさせようとします。
関
VSCodeで数百万回ダウンロードされた悪意のある拡張機能が確認される
偽のHomebrewのGoogle広告でマルウェアを拡散するキャンペーンが確認
強化された難読化手法
この新たに発見したXCSSETは、より巧妙な手法を用いてペイロードを生成し、Xcodeプロジェクトに感染させます。
-
エンコーディングの多様化
これまでのXCSSETはxxd(hexdump)
を利用したエンコーディングに限定されていましたが、今回の亜種ではBase64エンコーディングも採用し、さらにエンコーディングの回数をランダム化することで、セキュリティツールによる検出を逃れようとしています。 -
モジュール名の難読化
各モジュールの名称をランダム化することで、マルウェアの挙動を把握しにくくする仕組みが施されています。
持続的な感染手法(Persistence)の更新
新たなXCSSETは、感染したシステムに長期間潜伏するため、以下の2つの手法を活用しています。
1. zshrc(シェルスクリプト)を利用した手法
~/.zshrc_aliases
というファイルを作成し、マルウェアのペイロードを埋め込む。~/.zshrc
にコマンドを追加し、新しいシェルセッションが開始されるたびにマルウェアが実行されるように設定。
2. Dockを利用した手法
- コマンド&コントロール(C2)サーバーから署名済みの
dockutil
ツールをダウンロードし、Dockのアイテムを操作。 - 偽のLaunchpadアプリ を作成し、正規のLaunchpadのパスを偽物のものと入れ替え。
- ユーザーがLaunchpadを起動すると、正規のLaunchpadとマルウェアの両方が実行される仕組み。
新たな感染手法
XCSSETは、Xcodeプロジェクトにマルウェアのペイロードを埋め込む際に、複数の手法を使い分けます。
- TARGET戦略 – ペイロードをターゲットのXcodeプロジェクト内に配置。
- RULE戦略 – Xcodeのビルドルールを悪用し、ペイロードを実行。
- FORCED_STRATEGY戦略 – ペイロードを強制的に埋め込み、特定のフェーズで実行を試みる。
- TARGET_DEVICE_FAMILY戦略 –
TARGET_DEVICE_FAMILY
キーの値を変更し、ビルド設定の後のフェーズで実行するように細工。
XCSSETから身を守るための対策
Microsoft Defender for Endpoint on Mac は、この新しいXCSSET亜種を含む既知のXCSSETマルウェアを検出できます。しかし、開発者や企業自身が意識して対策を講じることも重要です。
Xcodeプロジェクトの安全性を確認する
- リポジトリからクローンする際は、必ずコードの安全性をチェックする。
- 不審なスクリプトや未知のプロジェクトの実行は避ける。
信頼できるソースからのアプリインストールを徹底する
- macOSアプリは、公式App Storeや開発元の正規サイトからダウンロード する。
- サードパーティ製のインストーラーや署名のないアプリは極力使用しない。
システムの監視を強化する
~/.zshrc
やLaunchpad
などの改ざんされやすいシステムファイルを定期的にチェック する。- GatekeeperやXProtectを有効 にし、システムのセキュリティ設定を最大限に強化する。