MacRansom(Macを標的とするランサムウェア):サービスとしてのランサムウェア(RaaS)モデルによって提供

Mac OSユーザーの多くの方が、自分のコンピュータはランサムウェアなどの攻撃を受けることがなく、「安全に利用できる」と信じています。確かに、マルウェアによる攻撃を受けて感染する可能性は、Mac OSユーザーの方がWindowsユーザーよりも低くなっています。しかし、これはオペレーティングシステムにおける脆弱性レベルとはまったく別の話です。Mac OSユーザーが感染する確率が低いのは、パーソナルコンピュータの90%以上がMicrosoft Windowsで動作しており、Apple社のMac OSのシェアはわずか約6%であることが大きな理由です。

Windows:91.64%, Mac OS:6.34%, Linux:1.99%
図1:デスクトップOSの市場シェア(参考資料:NetMarketShare

MacRansomのポータル

最近、FortiGuard Labsでは、TORネットワークでホスティングされているWebポータルを使用したサービスとしてのランサムウェア(Ransomware-as-a-Service、RaaS)を検出しました。RaaSの脅威は最近多く見られるようになっています。興味深いことに、この攻撃では、サイバー犯罪者はWindows以外のオペレーティングシステムを標的にしています。これは、Mac OSを標的とした初のRaaSかもしれません。


図2:MacRansomのTORポータル

このMacRansomのマルウェアは、ポータルから簡単には入手できません。ランサムウェアを作成するためには、作成者に直接コンタクトする必要があります。最初は、ランサムウェアのサンプルがありませんでしたので単なる詐欺だと思っていましたが、確認のためにこの作成者へ電子メールを送信したところ、意外にも返信がありました。


図3:About Us

最初の電子メールでは、攻撃を受けたユーザーが支払うビットコインの額、ランサムウェアが動作を開始する日時、USBドライブをMacに接続した時に実行されるかどうかなど、この作成者が私たちの要件として示している事項について問い合わせました。

午前11時(GMT+8時間)頃に電子メールを送信し、最初に応答があったのはその日の午後9時頃でした。

応答1:(午後9時)

6月1日を動作開始日とすることに同意し、私のビットコインのアドレスを伝えると、作成者は嬉しそうにサンプルを送ってきました。

応答2:(午前11時)

作成者による返信が迅速であったため、ランサムウェアについてさらに詳しく聞いてみることにしました。

応答3:(午前12時)

応答があった時刻から考えて、作成者と私たちのタイムゾーンは異なる可能性があります。返信があったのは夜遅くでしたが、作成者のタイムゾーンでは午前中だったかもしれません。また、最初の返答で、この作成者は「あなたの現地時間で6月1日深夜」という表現を使っていました。つまり、私たちが電子メールを送信した時に、時差について認識していた可能性があります。

このマルウェアの作成者の地理的な場所を確認するために、元のSTMPヘッダーを調査したところ、GMT-4時間のタイムゾーンで活動していることが分かりました。


図4:SMTPヘッダー

挙動の分析

次に、私たちはマルウェア自体の検証を開始しました。以下は、このランサムウェアの作成者が公表している特徴です。コードを確認して、これらの特徴が本当であるかどうかを確認することにしました。


図5:MacRansomの特徴

MacRansomのサンプルを実行してみると、このプログラムの開発者は不明であるというメッセージが表示されました。つまり、開発者が不明の不審なファイルを開くことがない限り、ユーザーが攻撃を受けることはありません。[Open(開く)]をクリックすると、ランサムウェアの実行が許可されます。

分析への対策

ランサムウェアは最初に、サンプルがMac以外の環境で実行されているかどうか、またはデバッグされていないかどうかを確認します。これらの条件を満たしていない場合、ランサムウェアは動作を終了します。

このランサムウェアは、ptraceを呼び出し(つまり引数PT_DENY_ATTACHを使用してプロセストレースコマンドを実行し)、ランサムウェアがデバッガーに渡されていないかどうかを確認します。


図6:Ptraceコマンド

次に、sysctl hw.modelコマンドを使用してマシンのモデルをチェックし、「Mac」という文字列と比較します。


図7:モデルのチェック

最後に、マシンにCPUが2つ搭載されているかどうかをチェックします。


図8:論理CPUのチェック

実行拠点

最初期のチェックをパスすると、ランサムウェアは~/LaunchAgent/com.apple.finder.plistに実行拠点を作成します。悪意のある挙動を検出されにくくするため、このファイルはMac OSの正規のファイル名を意図的に模倣します。この実行拠点を確立すると、MacRansomはMacが起動するときに毎回実行されるようになり、指定された時間に確実に暗号化できるようになります。

com.apple.finderのコンテンツ:

元の実行可能ファイルは、次に、~/Library/.FS_Storeにコピーされます。このファイル名も、正規のファイルに非常に似せています。ファイルがコピーされた後に、ファイルのタイムスタンプは、touch -ct 201606071012 '%s'コマンドを使用して変更されます。タイムスタンプの操作は、通常、デジタルフォレンジック調査の担当者を混乱させる目的で使用されます。

ランサムウェアは、次に、launchctlを使用して、作成したcom.apple.finder.plistをロードします。

暗号化

先に説明したように、暗号化が実行される時刻は作成者によって設定されます。今回のケースでは、2017年6月1日の午前12時に実行されるように設定されていました。日付がこれより前であれば、ランサムウェアは終了します。


図9:実行時刻のチェック

実行時刻が条件を満たしていれば、ランサムウェアは、次のコマンドを使用して、標的とするファイルの列挙を開始します。これは、ランサムウェアがファイルを列挙する方法としては珍しいものですが、ほとんどのランサムウェアがディレクトリをトラバースし、暗号化する対象のファイルの拡張子のリストを追加するため、これも有効な方法の1つです。

%sは、ランサムウェアのファイルパスです。


図10:ファイルの列挙

このランサムウェアは、上記のコマンドで返された最大128個のファイルのみを暗号化します。

暗号化を行う他のランサムウェアと同じように、私たちは、分析の多くの時間を中核のコンポーネントである暗号化アルゴリズムに費やしました。その狙いは、RSA暗号ルーチンを見つけることでしたが、この暗号化ランサムウェアは、これまでに見つかっているOSXを標的とする暗号化ランサムウェアほど高度ではありません。攻撃を受けたユーザーのファイルを人質にするために、ハードコードされたキーによる対称暗号化を利用しています。ランサムウェアによって使用される対称キーのセットは、次の2つです。

  • ReadmeKey:0x3127DE5F0F9BA796
  • TargetFileKey:0x39A622DDB50B49E9

ReadmeKeyは、ランサムウェアに関する説明と操作指示が記載された._README_ファイルの復号に使用され、TargetFileKeyは、攻撃を受けたユーザーのファイルの暗号化と復号に使用されます。

暗号化と復号のアルゴリズムをリバースエンジニアリングして分かった注目すべき点は、TargetFileKeyがランダムに生成された数で変更されることです。つまり、このマルウェアの実行が終了すると、暗号化されたファイルを復号化することはできなくなります。TargetFileKeyはプログラムのメモリから解放されてしまうため、暗号化されたファイルを復元するための復号プログラムや復元ツールを作成することがさらに難しくなります。さらに、TargetFileKeyについてC&Cサーバーと通信する機能はありません。つまり、ファイルを復号するためのキーのコピーは簡単には入手できません。ただし、それでも技術的にTargetFileKeyを復元することは可能です。有効な手法の1つは、ブルートフォース攻撃を使用することです。ファイルのコンテンツを予測できる既知のファイルを暗号化するために同じキーが使用されている場合、8バイト長のキーに対してブルートフォース攻撃を実行しても、最新のCPUを使用するとその処理に長時間かかることはないはずです。

しかし、図12の「ランサムウェアの説明」に記載されているように、攻撃を受けたユーザーがこの作成者に不明なファイルをランダムに送信しても、人質となったファイルを復号できるという作成者の主張は疑わしいと私たちは考えています。

暗号化プロセスの擬似コードは以下のとおりです。


図11:暗号化ルーチン

標的のファイルを正常に暗号化したら、ランサムウェアは、com.apple.finder.plistと元の実行ファイルの両方を暗号化します。タイムスタンプを変更してから、削除します。ランサムウェアの痕跡を取得するために復元ツールを使用しても、ファイルをほとんど意味をなさないものにするために、作成者はこの処理を行っています。

ランサムウェアは、0.25ビットコイン(約700ドル)を要求します。攻撃を受けたユーザーは、復号する場合にgetwindows@protonmail.comに連絡する必要があります。


図12:ランサムウェアの説明

結論

Mac OSプラットフォームを標的とする新しいランサムウェアは、毎日登場しているわけではありません。Windowsを標的とする最新のランサムウェアと比較してその機能がはるかに劣っていても、攻撃を受けたユーザーのファイルは暗号化され、重要なファイルにアクセスできなくなります。

-= FortiGuard Lion Team =-

最後に重要なことを説明しますが、過去のOSXランサムウェアと似たコードと設計思想が多く見られていることから、このMacRansomの亜種は、模倣犯によって生成されている可能性があります。これは、以前のOSXランサムウェアとは異なる分析対策のための手法が採用されていますが、これは多くのマルウェアの作成者によって広く取り入れられているありふれた手法です。MacRansomは、さまざまなOSプラットフォームでランサムウェアの脅威が拡散していることを示す1つの例です。ランサムウェアを完全に防止する術はありません。しかし、重要なファイルを定期的にバックアップしたり、不明なソースや開発者のファイルを開くときに注意したりすることで、その影響を最小限にすることができます。

-= FortiGuard Lion Team =-

付録

  • サンプル:
    a729d54da58ca605411d39bf5598a60d2de0657c81df971daab5def90444bcc3 - Zip
    OSX/MacRansom.A!trとして検出
    617f7301fd67e8b5d8ad42d4e94e02cb313fe5ad51770ef93323c6115e52fe98 - Mach-O file
  • ドロップされるファイル:
    ~/LaunchAgent/com.apple.finder.plist
    ~/Library/.FS_Store
  • MacRansomポータルのFAQ: