
まずJamf Threat LabsのMatt Benyoは自分自身と、Jamf Threat Labsの中で自身が所属するMacOSマルウェアの研究と防御を行う専門チームについて紹介し、続いてマルウェアに対する彼の見解を示しました。
「セキュリティ製品のマーケティングでは、脅威研究をスパイvs超大国の諜報機関vs国民国家的な構図を描きがちであり、確かにそう言ったケースもありますがこれは違います。むしろダンプスターダイビングの一種である、詐欺まがいの卑劣な行為です。」
そのひとつがJamf Threat Labsが発見したクリプトジャッキングボットネットです。
最初に知っておくべきこと
Jamf Protect Threat Preventionの仕組み
このストーリーを理解するにはJamf ProtectのThreat Preventionの基本的な仕組みについて知っておく必要があります。
Jamf Protectはシステム拡張機能として実行され、ソフトウェアはAppleのエンドポイントセキュリティAPIを使ってシステム上のアクティビティをカーネルレベルで可視化することができます。「このAPIは、プロセスが実行しようとする際に介入する権限を私たちに与えてくれます。」
例えば、ソフトウェアがプロセスを起動しようとすると、カーネルは許可しているセキュリティ拡張にメッセージを送り、アプリケーションが開いても良いものであるかどうかを判断させます。
このようにしてJamf Protectはアクションの実行も阻止します。しかしBenyoが指摘するように、「Jamf Protectは、非常にわずかな時間でアプリケーションの実行を許可するかどうかを判断しなければなりません。」
Jamf Protectが使用するソース
- ファイルハッシュ:ファイルのデジタルフィンガープリント。Jamf Protectが同一値を持つ悪意のあるコードを含むファイルを識別、ブロックします
- チームID:署名されたコードの開発者IDであり、Jamf Protectは過去に悪意のあるコードを作成した開発者をブロックします
- Yaraルール:オープンソースのウィルス対策ルールエンジンであり、Jamf Protect が不審な文字列を検索できるようにします
暗号通貨マイニングの仕組み
Jamf Threat Labsが発見した特定のボットがどのように動作するかを理解するには、暗号通貨マイニングの仕組みの基本も理解しておく必要があります。Benyoが「簡単にいうと、複雑な数学の問題を解くために自分たちのリソースを無償で提供すること」だと説明するように、あるコンピュータが他のコンピュータより先に複雑な数学の問題を解決すると、ブロックがチェーンに追加され、例えば、各ブロックであなたのコンピュータが一番に問題を解決すれば、あなたがマイニングしていた通貨で報酬を得ることができます。
ただしその際、追加のハードウェアが必要になったり、電力使用量が増加したりと、オーバーヘッドが大きくなる可能性があります。そこで悪意のあるアクターは、気づかれないように他人のコンピューティングリソースを利用しようと試みるわけです。
発見の経緯
「始まりは、Jamf Protectの脅威防御機能が発したアラートでした。」とBenyoが語るように、
Jamf Threat Labsの脅威ハンティングモデルでは、再利用されたり、場合によっては改変されたりしているマルウェアを特定できるよう、Jamf Protectの脅威検出の実行状況を監視しています。
大物を捕獲
「ある日、これらのヒットをチェックしていると、偶然気になる脅威防御アラートを見つけました。このヒットは、ファイル内の文字列が私たちのルールと一致する場合は通知するというYaraルールに基づくものでした。」とBenyoは当時を振り返りました。
それはXMRigと呼ばれるオープンソースの悪意のないマイニングプログラムで、なにも不審な点はありませんでした。では何が疑わしかったのでしょうか?パスはFinal Cut Proのパスでした。Appleが自社のソフトウェアを使ってユーザのMacに暗号マイニングを忍び込ませるなんてあり得るでしょうか?
ありえません。
「私たちはこれが本物のFinal Cut Proであるはずがないとピンときました。」そこでチームはチームIDを実際のFinal Cut Proと比較。予想通り、本物のコピーではありませんでした。
正体は未知のマルウェアだった!
チームは、ウイルス、ワーム、トロイの木馬、その他の悪意のあるコンテンツについてファイルやURLを分析するために広く利用されているサービスVirusTotalでこのハッシュを調べました。
「しかし、この特殊なサンプルはVirusTotalには存在しない、未知のものだったのです。」
獲物が正体を現した!
そこでチームは一斉に調査を開始。
「ソフトウェアの違法コピーを買うとしたらPirate Bayでしょう。」とBenyoが言うように、
チームはまさにPirate Bayでそれを見つけ、何が起こるかを確かめるために
ダウンロード&インストールしました。
ソフトウェアを開くと、Final Cut Proと同じように動作しているように見えたので、
チームは、アプリケーションバンドルをさらに詳しく調査。署名以外はすべて正常で、構造も正しいように見えました。しかしチームはFinal Cut Proの実際のバージョンが3.9メガバイトであるのに対して、実行ファイルは11.9メガバイトであることに気づきました。「ハッシュを見比べたら、例のものと同じだったのです。」
ビンゴだ!
検証
文字列ユーティリティを使って実行ファイルを調べると、大きなテキストの壁が現れました。
チームはまず非常に複雑なBashスクリプトを発見し、さらにBase64コードのチャンクを見つけました。
Base64データを使って他のコンテンツにコンテンツを埋め込むのは攻撃者の常套手段。Base64を使えば、ハッカーは容易にデータをエンコード&デコードできます。これは攻撃者が実行ファイルのバイトを取り出し、別の実行ファイルにエンコードする非常に簡単な方法です。
「ジャンクなマルウェアの多くは、文字列が読み取られないようにBase64を使用します。言葉遊びの要領に似ていて、誰でも簡単なコマンドでそれを実行できます。」
手口を特定
マルウェアの仕組みは、ユーザがFinal Cut Proを起動すると、スクリプトが中に入り込み、以下の2つの細工を仕掛けるというものでした。
- その1:実際のFinal Cut Proをデコードする。ユーザ視点からは全てが正常に見えます。
- その2:相手のコンピュータをダークウェブのノードにするデーモンであるI2P(インビジブル・インターネット・プロトコル)を送信。これによりトラフィックが匿名化されます。
その後、コンピュータは埋め込まれたメッセージを攻撃者のサーバに送信し、攻撃者はコンピュータにチャレンジを送信し始め、それを解いてブロックを作成すると、攻撃者はそのブロックを奪って別のチャレンジを送信するということが何度も何度も繰り返されます。
そうすることで、悪意のあるアクターは他のコンピュータを使って自分たちのための暗号マイニングをオーバーヘッド不要で行うのです。これにより強力なデバイスや大量の電力が不要となり、感染したコンピュータがすべての作業を行って、攻撃者は匿名で報酬を得ることができます。
一段と深まる謎
ただし、ソフトに。チームは、このマルウェアがとても長い期間、検出を逃れていたことを突き止めました。
このマルウェアをアップロードした人物は、ユーザ名 "wtfisthat "の後に大きな数字をつけていました。Pirate Bayではアップローダーの名前からその人物が他に何をアップロードしたかを調べることができます。そこでJamf Threat Labsはこのマルウェアの履歴を作成。
このマルウェアの履歴の進化をみて、チームはXMRigまたはI2Pがインストールされているコンピュータを検索するという、このマルウェアの検出方法を編み出しました。
「これまで同人物は、LogicProやFinalCutのアップデートが出ると、1〜2日のうちに新しいバージョンを動かしていた」とBenyoは推察。
チームはこの問題をAppleに報告し、同社はすぐにアップデートをリリースして問題を解決しました。
プレゼンテーション終了後の質疑応答のハイライト:
Q:素晴らしいお話でした!Final Cutの被害者は、強力なシステムを持っていてもリソースの消耗には気づかないかもしれませんね。
A:はい。Photoshop、Final Cut Pro、Logic.....どれもCPUを大量に消費するプログラムなので、誰かのファンが回っていても気づかないかもしれません。
Q:セキュリティ研究者が海賊版ソフトウェアをダウンロードすることについてDMCAによる免責はありますか?インターネット警察が取り締まる対象となりますか?
A:わかりません。でもそれははっきりさせた方が良いですね。私も早い段階からそれは気になっていましたが、私たちはAppleと緊密な関係にあり、最終的にはAppleと協力することになるので、とりあえずは問題ないと思っていました。
Q:彼らはMacOSのデフォルトのセキュリティや署名入りアプリをどうやって回避したのですか?回避するために、アプリは右クリックで開くように要求しましたか?また署名はされていましたか?
A:一部ではそのようなことがありました。しかしこの乗っ取られたアプリを最新のmacOSで実行するのはほぼ不可能です。AppleがMontereyをリリースした時でさえも、このマルウェアの実行は困難でした。「右クリックで開く」とか「それを無効化する」などの指示はありました。これらのトレントの多くには、ファイルの隔離機能がすべて取り除かれる「Gatekeeperフレンドリーを開く」というボタンがあります。Jamf Protectがあれば、これを阻止することができます。その威力にきっと驚かれるはずです。仕事用コンピュータでトレントをしている人はたくさんいらっしゃいます。
Q:マルウェアがMDMソリューションを侵害するような状況で、このような設計はどのように機能するのでしょうか?
A:それこそJamfがずっと考えてきたことであり、Jamf Protectには改ざん防止検出があります。MDMレベルで不正侵入に対応できれば、世界はあなたの思うがままです。
Q:未知のマルウェアからどのように身を守れば良いでしょうか?
A:Jamf Protectが登場した当初の目玉のひとつが、行動検出というアイデアでした。例えば、何かがアクティビティモニターを開いていれば、それを行動検出のために抽出することができます。アクティビティモニタリングをチェックし、何かを攻撃すれば、それを見つけてブロックします。このマルウェアが使っている手法とは、古くからあるもので、より洗練されたマルウェアであっても、多くのウイルスに使われています。
Q:何か新しく独創的なものを発見し、それを体験しているカスタマーがたったひとりしかいない場合、全員が守られるように、どのようにしてそれを製品に反映させるのでしょうか?
A:それこそThreat Labの仕事!私たちの本業です。トリップワイヤを仕掛け、戻ってきたものを取り出して、行動またはその他の新たな検出に投入します。
Q:防衛回避の観点から、彼らはもっと上手く隠れることはできなかったのでしょうか?
A:確かに非常に巧妙な攻撃とは言えませんでした。明らかに、彼らは自分たちがやっていることを誤魔化すため、さまざまな小細工をしていましたが、もう少し目立たないようなやり方もあっただろと思います。でも彼らの立場からすれば、うまくいくならやればいいというスタンスなのだと思います。さまざまなベンダーが見つけてブロックしてから4年経ってもまだ続けているということは、彼らが手を広げているのだと推測します。これが動作しているエンドポイントの数や、相当する金額を定量化する方法はありませんが、彼らはそれだけのリスクを冒すのに見合う価値があると信じてるのでしょう。つまり、Minimum Viable Product(実用可能な最小限の範囲でのプロダクト)なのです。
このマルウェアの進化など、ブログだけでは紹介しきれません。さらに詳細については、このテーマに関する動画をご覧ください。
JNUCに登録すると、このセッションやその他のセッションをご視聴いただけます。
Jamfブログの購読
市場トレンドやAppleの最新情報、Jamfのニュースなどをお届けします。
当社がお客様の情報をどのように収集、利用、移転、および保存するかに関しては、プライバシーポリシーをご参照ください。