ブログ

FFRI BLOG

Monthly Research 「Mac OS X を狙う新たなランサムウェアの登場

今回のMonthly Research では、3月上旬に発見され、話題となったMac OS X(以下、OS X)で動作するランサムウェアであるKeRangerについて紹介したいと思います。OS Xで動作するランサムウェアは過去、2014年に発見されていますがその動作は不完全なものだったようです。そのため、今回発見されたKeRangerはOS Xで「初めて完全に動作する」ランサムウェアとなります。

KeRangerの感染経路と特徴

KeRangerを発見したパロアルトネットワークス社のレポート(http://researchcenter.paloaltonetworks.com/2016/03/new-os-x-ransomware-keranger-infected-transmission-bittorrent-client-installer/)によると、BitTorrentのクライアントアプリであるTransmissionの公式ダウンロードサイトにアップロードされているインストーラ(DMGファイル)が何者かによってランサムウェア入りのファイルに置き換えられていたようです。

KeRanger発見後の注意文
図 1 BitTorrentクライアントアプリの公式ページとKeRanger発見後の注意文
https://www.transmissionbt.com/

KeRangerは以下のような特徴を持つランサムウェアです。

  • BitTorrentクライアントアプリに偽装しているトロイの木馬型マルウェア
  • アップル社が発行した有効な証明書によるコード署名が行われており、Gatekeeperを回避する
  • 感染後(実行後)、3日間の潜伏期間を経て特定領域のファイルを暗号化し、復号と引き換えに金銭を要求する

1つめのクライアントアプリへの偽装ですが、Transmission.appの中を確認すると、通常は含まれていない、「General.rtf」が追加されています。このファイルはリッチテキストファイル形式に偽装していますが、実体はMach-O形式の実行ファイルで、UPX 3.91を使用してパックされています(図 2、図 3)。

Transmission.app内検証_1
図2

Transmission.app内検証_2
図3

2つめの有効な証明書によるコード署名は、codesignコマンドを使用することで確認する事ができます。パロアルトネットワークス社のレポートによると、今回のマルウェアに使用されていた開発者IDは従来のTransmissionで使用されていたものと異なるものだったとのことです。なお、該当する証明書は既にアップル社によって失効させられているとのことです。

codesignコマンドによるTranmission.appの署名情報
Ex. 1 codesignコマンドによるTranmission.appの署名情報

3つめの潜伏期間については、アンパック後の「General.rtf」ファイルを静的解析すると以下のようなコードになっています。コードを分析すると、5分間隔で時刻差分を取得し、その差分が259,201(秒)より大きい場合に暗号化処理が実行される仕組みです(図 4)。なお、暗号化は、「/Users」および「/Volumes」以下のファイルに対して行われます。暗号化されるファイルは拡張子によって指定され、対象となる拡張子300種類がコード内に記述されていました(Ex. 2)。

General.rtf暗号化処理の仕組み
図 4

バイナリに記述されていた拡張子
Ex. 2 バイナリに記述されていた拡張子

これらの情報を元に、想定される感染経路を図に示します(図 5)。なお、調査のため実際に動作確認を行ったところ、実行直後にkernel_serviceプロセスが立ち上がり、定期的なC2サーバへのアクセス試行を確認しましたが、3月25日現在では、C2サーバはエラー(500 Internal Server Error)を返しているようです。

想定される感染経路
図 5


図 6

アップル社の対策

アップル社は、証明書の失効以外にも対応を行っています。OS XはGatekeeperのほか、XProtectと呼ばれるパターンマッチ型のアンチマルウェア機能を搭載しています。対策前後のXProtectの差分を確認したところ、新たに「OSX.KeRanger.A」がリストに追加されている事を確認しました。

XProtectの差分
図 7

ランサムウェア対策

今回紹介したKeRangerを含むランサムウェアにもし感染してしまった場合、暗号化されたデータが必ず復号できる保証は無いため、犯罪者が要求する金銭を支払うべきではないと我々は考えています。そこで、感染を防ぐための対策と感染してしまった場合の被害軽減策の例を紹介します。

  • 感染予防策
    • 脆弱性対策のためOSやアプリのアップデートを自動化する。自動化ができないものは定期的にアップデートのチェックと適用を行う。
    • 信頼されない発行元、開発者の証明書によって署名されているアプリをインストール・実行しない。
      • KeRangerはアップル社が発行した証明書による正規のコード署名が行われていたため、Gatekeeperは回避されたが、開発者IDが従来のバージョンのものとは異なっているという違いがあった。ソフトウェアの開発元について注意深く確認することで感染を回避できる可能性がある。
  • 被害軽減策
    • Time Machine(https://support.apple.com/ja-jp/HT201250)等によるバックアップを定期的に実施し、リカバリ可能なポイントを増やす。Time Machineとクラウドストレージなどを併用して、重要なデータのバックアップを強化する。
      • KeRangerの開発者はTime Machineに対しても暗号化を試みようとしていた形跡があり、今後はTime Machineによるバックアップデータが狙われる恐れがある。(図 8)

KeRanger開発者によるTime Machineへの暗号化の痕跡
図 8

最近猛威を振るっているランサムウェアのほとんどはWindowsを標的にしたものでしたが、今回紹介したKeRangerとそれに類似したコードを持つLinux.Encoderの登場によってOS XやLinuxで動作するデバイスも例外ではなくなったといえます。また、KeRangerが悪用した手口の1つである正規の証明書によるコード署名については、コード署名用の証明書がブラックマーケット上で売買されていることを指摘する研究者もおり、その場合、今後も同一の手口によってGatekeeper等のセキュリティメカニズムをバイパスするマルウェアが出現する恐れがあります。ランサムウェアはサイバー犯罪者が容易に金銭を得られる手法であるため、今後プラットフォームを問わず、増加していくことが予想されますので引き続き十分に注意してください。


Monthly Researchのダウンロードはこちら(日本語 / English


関連記事

Monthly Research 「不正な開発環境によるマルウェアの拡散」

iOSのセキュリティについて今一度考える

Monthly Research 「OS X と iOS における脅威について」

pagetop