A graphic showing a DNA strands and a microcope
脅威の調査

macOS の機密データを窃取する Atomic macOS Stealer

Sophos X-Ops が Atomic macOS Stealer (AMOS) の配信と機能を調査しました。

** 本記事は、Atomic macOS Stealer leads sensitive data theft on macOS の翻訳です。最新の情報は英語記事をご覧ください。**

macOS は Windows よりもマルウェアの影響を受けにくいと長らく信じられてきました。おそらく、macOS は Windows よりも市場シェアが小さい上、マルウェア開発者に特異なアプローチの採用を強要するネイティブな一連のセキュリティ機能を備えているためでしょう。macOS に影響を与えるマルウェアがあるとすれば、そのマルウェアは奇抜で型破りな攻撃手法を用いているに違いないというのが従来の考えでした。しかし、時代の流れとともに状況は変わってきました。主流のマルウェアが (Windows ほどではないにせよ) 定期的に macOS も攻撃するようになっています。情報窃取ツールはその典型的な例です。ソフォスのテレメトリでは、過去 6 か月間の macOS における検出の 50% 以上を情報窃取ツールが占めており、中でも Atomic macOS Stealer (AMOS) は最もよく見られるマルウェアファミリの 1 つです。

Cyble が 2023 年 4 月に初めて報告した AMOS は、感染したマシンからクッキー、パスワード、自動入力データ、暗号通貨ウォレットの内容などの機密データを盗み出し、攻撃者に送り返すように設計されていました。攻撃者が窃取した情報は、少なくとも自身の攻撃に利用できます。さらに、より現実的な使われ方は、犯罪市場で他の攻撃者に販売することです。

この窃取されたデータ (サイバー犯罪の地下組織では「ログ」と呼ばれています) の市場は大きく、非常に活発であり、AMOS の価格は過去 1 年間で 3 倍になっています。この事実は、macOS のユーザーを標的にしたいという攻撃者の願望と、実際に標的とする価値の大きさを示しています。

攻撃に用いられる情報窃取ツールは AMOS だけではなく、MetaStealerKeysteal、Cherrypie なども用いられます。そのため、AMOS とは何か、AMOS がどのように動作するのかについて、簡単なガイドをまとめました。

配信

AMOS は Telegram の公開チャンネルで宣伝・販売されています。2023 年 5 月の時点では、月額 1000 ドル (価格未公開の「生涯」ライセンスもありました) で販売されていましたが、2024 年 5 月現在、月額 3000 ドルに値上がりしているようです。以下のスクリーンショットに示すように、AMOS の広告には、(クッキーやパスワード、自動入力情報を窃取する機能とともに) 標的となるブラウザ、暗号通貨ウォレット、および (Appleのキーチェーンと macOS パスワードを含む) 機密システム情報の長大なリストが掲載されています。

A screenshot of a Telegram channel listing various features of AMOS, some in Russian and some in English

図 1: Telegram チャンネル上の AMOS の広告。下部に記載されている 3000 ドルという金額に注目してください。

初期感染経路

私たちのテレメトリでの観察や、他の研究者の発見によると、多くの攻撃者はマルバタイジング (攻撃者が有効なオンライン広告の枠組みを悪用して、ユーザーをマルウェアを含む悪意のあるサイトに誘導する手法) や「SEOポイズニング」(検索エンジンのランキングアルゴリズムを活用して、悪意のあるサイトを検索エンジンの検索結果の上位に表示させる手法) を介して、ターゲットを AMOS に感染させていました。無防備なユーザーが特定のソフトウェアやユーティリティの名前を検索すると、攻撃者のサイトが検索結果の上位に表示されます。これらの Web サイトからダウンロードできるファイルは通常、正規のアプリケーションを装っていますが、ユーザーのマシンにマルウェアを密かにインストールします。

AMOS がなりすます正規のアプリケーションには、生産性向上アプリ Notion、プロジェクト管理ツール Trelloブラウザ ArcSlack、ToDo リストアプリ Todoist があります。

A screenshot of a malicious domain imitating the legitimate Slack website

図 2: 正規の Slack ドメインを装い、ユーザーを騙して情報窃取ツールをダウンロードさせる悪意のあるドメイン

さらに、AMOS のマルバタイジングはソーシャルメディアにも及んでいます。たとえば、X.com で確認されたあるマルバタイジングキャンペーンでは、macpaw[.]us に似せたドメインでホストされている「Clean My Mac X」(正規のmacOSアプリケーション) の偽インストーラーにユーザーを誘導していました。

A screenshot of a post on X, which points users to a malicious domain imitating a genuine domain. There is a preview of the site in the post, showing a man pointing to a computer

図 3: X.com のマルバタイジングキャンペーン

A screenshot of a domain hosting malware. The site resembles the official iTunes store.

図 4: AMOS をホストするドメイン (urlscan から取得)。攻撃者は、iTunes Store によく似たページを利用していることに注意してください。ソフォスや他のベンダーは、このドメインを悪意のあるドメインとして分類しています。

あるお客様の AMOS に関連するインシデント対応において調査した結果、攻撃者がおそらくはマルバタイジングに類似したキャンペーンの一環として GitHub 上で AMOS のバイナリをホストしていることが判明しました。

A screenshot of a GitHub project owner page

図 5: GitHub リポジトリでホストされる AMOS (現在は削除されています)

また、AMOS マルウェアをホストするオープンディレクトリもいくつか発見しました。これらのドメインのいくつかは、Windows を標的にするマルウェア (情報窃取ツール Rhadamanthys) も配布していました。)

A screenshot of a directory listing on a website, showing various .dmg files hosted on the domain.

図 6: 正規のアプリケーションを装い、さまざまな悪意のあるサンプルをホストするドメイン

コマンドアンドコントロール (C2)

AMOS C2 パネルは認証情報で保護されています。以下のスクリーンショットに示すように、このパネルは、攻撃キャンペーンおよび窃取されたデータを攻撃者に役立つ形でシンプルに可視化します。

A screenshot of a domain showing a login page for the AMOS backend panel

図 7: アクティブな AMOS C2 ログインパネル (urlscan から取得)

An AMOS panel template

図 8: 窃取されたデータにアクセスするために使用される AMOS パネルのテンプレート (urlscan から取得)

A screenshot showing examples of AMOS logs

図 9: さまざまなデータを表示する AMOS のログ (この画像は AMOS のマーケティング資料から引用したもので、攻撃者自身により一部の情報が編集されています)

機能の進化

先述の通り、AMOS は 2023 年 4 月に初めて報告されました。それ以来、このマルウェアは検出を回避し、分析を複雑化するために進化してきました。たとえば、マルウェアの関数名や文字列が難読化されました。

Side-by-side screenshots of AMOS code in a disassembler

図 10: AMOS のコードのスクリーンショット。左が以前のバージョン、右が難読化されたバージョン。左側の画像では関数名が読み取れますが、右側の画像では難読化されていることに注意してください。

ソフォスはさらに、Python ドロッパーを使用した最近の AMOS 亜種を確認しています ((他の研究者もこの亜種について報告しています))。マルウェア開発者は検出を回避するために、文字列や関数などのいくつかの重要なデータを、メインの Mach-O バイナリではなく、このドロッパーに移行している可能性が高いと考えられます。

A screenshot of AMOS-related code from a Python dropper

図 11: Python ドロッパーの文字列と関数

Screenshot of AMOS-related code, from a Python dropper

図 12:「Filegrabber()」関数に用いる AppleScript を呼び出す Python サンプルからの抜粋。この関数は以前の亜種ではバイナリに含まれていましたが、このバージョンでは攻撃者が関数全体を Python で再実装しています。

考えられる今後の展開

AMOS の販売者は最近、このマルウェアの新バージョンは iPhone ユーザーへの攻撃に対応するという広告を出しました。しかし現在までのところ、そのような検体は確認されておらず、本記事執筆時点で iOS に対応した AMOS の販売は確認されていません。

A screenshot of a post on a Telegram channel, in Russian

図 13:iOS を狙った攻撃への対応に関する Telegram チャンネルへの投稿。ロシア語で以下のように書かれています。「さて、iOS への扉が開かれました。私たちは iOS 向けの新製品を皆様にお届けする予定です。テストは成功しました。価格は相応のものになるでしょう。」

この発表の背景には、EU のデジタル市場法 (DMA) があります。この法律の元、Apple は iOS 17.4 以降、EU を拠点とする iPhone ユーザーに代わりとなるアプリマーケットプレイスを提供する義務を負っています。さらに、開発者は自身の Web サイトから直接アプリケーションを配布できるようにもなります。この事実は、iOS に対応した AMOS の販売を試みる攻撃者が、現在 macOS ユーザーを標的にする際に使用しているのと同じマルバタイジング技術を採用する可能性があることを意味します。

保護と予防

最近 1 年間のテレメトリから判明したように、攻撃者は特に情報窃取ツールを通じて macOS を狙っており、AMOS の価格が上昇していることから、攻撃者がある程度の成功を収めている可能性があります。この事実を念頭に置き、ユーザーは他のデバイスと同様、評判の良い正規のソースからのみソフトウェアをインストールし、パスワードや権限の昇格を要求するポップアップには細心の注意を払うべきです。

現在までに確認されているすべての情報窃取ツールは、公式の Mac ストア以外で配布されており、Apple によって暗号検証されていません。そのため、上述の通りソーシャルエンジニアリングが用いられています。また、この種のツールはパスワードや本来は不要なはずのデータへのアクセスといった権限も要求するため、特にサードパーティのアプリケーションがこれらの許可を求めている場合、ユーザーは特に注意する必要があります (ただし、2024 年秋にリリース予定の macOS 15 (Sequoia) では、「正しく署名されていない、または公証されていないソフトウェアを開く際に」Gatekeeper を上書きするのはより困難になるとのことです。Control キーを押しながらクリックするのではなく、ユーザーは開きたいアプリごとにシステム設定を変更しなければならなくなります。)

A screenshot of macOS malware, resulting in a pop-up dialogue asking for the system password

図 14:パスワードを要求する macOS マルウェアの例。このような通知には特に警戒すべきです。右クリックから開くように要求していることにも注目してください

デフォルトでは、ブラウザは暗号化された自動入力データと暗号化キーの両方を特定の場所に保存する傾向があるため、感染したシステム上で実行されている情報窃取ツールは、ディスクから両方を窃取できます。マスターパスワードや生体認証に基づいた暗号化の利用は、この種の攻撃からの保護に役立ちます。

不審な macOS ソフトウェアに遭遇した場合は、ソフォスにご報告ください。

ソフォスは、OSX/InfoStl-* および OSX/PWS-* から始まる保護名でこれらの情報窃取ツールからマシンを保護しています。これらの情報窃取ツールに関連する IOC はソフォスの GitHub リポジトリで入手できます。

謝辞

Sophos X-Ops は、本記事への貢献に対し、ソフォスの Managed Detection and Response (MDR) チームの Colin Cowie に謝意を表します。

コメントを残す

Your email address will not be published. Required fields are marked *