McAfee Labsは最近、主要なランサムウェアプログラムの1つであるCerberのバージョン2を分析しました。Cerberは、悪意のあるリンクや文書を含むスパムメール、悪質なキャンペーン広告、脆弱なWebサイトなどのソーシャルメディアを悪用してシステムに感染し、Angler、Nuclearなどのエクスプロイトキットを利用します。
この新しいバージョンの分析で、構成ファイル内の新しいフィールドが見つかりました。このブログでは、Cerberバージョン1とバージョン2の構成ファイルの違いについて説明します。
次のスクリーンキャプチャは、Cerber 2に感染したマシンを示しています。
Cerberバージョン2に感染したマシン
暗号化されたファイルの拡張子が.cerberから.cerber2に変わっています。
Cerber 1および2に感染したファイルのリスト(一部)
更新の理由
このランサムウェアの作者は、おそらく復号ツールのリリースに対応するためにマルウェアをアップグレードしたものと推察されます。また、このランサムウェアの検出率も向上していました。このバージョンでは、セキュリティ製品やアナリストによるマルウェアの検出と検査を困難にするために、新しいパッカー(ラッパー)が追加されています。
弊社の分析で見つかった大きな変更は多くありません。このバージョンではコンポーネントファイル(公開鍵や他のデータを含む)が暗号化処理後にディスク上に保持されますが、前のバージョンではコンポーネントファイルがレジストリエントリ内にのみ保持されていました。ファイルとレジストリエントリの内容は同じです。
%appdata%およびレジストリエントリ内のバージョン2のコンポーネントファイル
暗号化された構成ファイルの場所が、リソースセクションから最後のセクションに変更されました。これについては、後日ブログでご説明する予定です。
構成ファイル
2つのバージョン間で、構成ファイルにいくつかの変更が加えられています。そのほとんどは暗号化タグとマルウェア対策製品に関連した変更です。
最初に目を引いた変更は、暗号化タグに追加されたrc4_key_sizeです。この値は、以前は実行時に算出されていましたが、今回のバージョンではファイルに含められています。感染したファイルの拡張子も.cerber2に変更されており、rsa_key_sizeフィールドの値も変更されました。次のスニペットは、これらの変更の一部を示しています。
バージョン1の暗号化タグ(左)とバージョン2の暗号化タグ(右)
バージョン2には、セキュリティ製品に対抗するためのブラックリストが含まれています。構成ファイル内のav_blacklistタグには、複数のベンダーの名前のリストが含まれています。
バージョン2のav_blacklistタグ。
新しいav_blacklistタグは、構成ファイルのcheckタグ内にフラグとして反映されています。
バージョン1のcheckタグ。
バージョン2のcheckタグ。
close_processリストの改良
一部のアプリケーションでは、データの整合性を保持するために、他のアプリケーションからのファイルへのアクセスや変更を防ぐロック機構が使用されています。たとえば、Word for Windowsにはこの機能があります。ロック機構によるファイルの暗号化防止を防ぐために、Cerberはこの種のプロセスを終了させます。この種のプロセスのリストがclose_processリストタグの下にあります。次に示すように、このバージョンのCerberではこのリストが大幅に改良されています。
バージョン1のclose_processタグ。
バージョン2のclose_processタグ。
壁紙テンプレート
バージョン2にはwallpaperタグが追加されました。このタグは、感染したマシンでデスクトップ背景を作成するためのテンプレートです。TOR、SITE_N、PC_IDなどの変数フィールドは実行時に更新されます。
バージョン2のwallpaperタグ。
仮想化ソフトウェアへの対策
Cerberは、仮想マシンへの対策という点で最も包括的なマルウェアの1つです。Cerberは、Parallel、QEMU、VMware、VBoxなどの主要な仮想化ソフトウェアを検出します。Cerberで使用される最も興味深い手法の1つは(どちらのバージョンでも)、レジストリーキー”HKLMSYSTEM\\CurrentControlSet\\Enum\\PCI”の列挙です。
レジストリへのアクセス:HKLM\\SYSTEM\\CurrentControlSet\\Enum\\PCI
HKLM\\SYSTEM\\CurrentControlSet\\Enum\\PCIの各サブキーは、PCIバスで接続されたデバイスを表します。その形式は次のとおりです。
- VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXXX&REV_XX (VENは16進ビューでのベンダーIDを表し、DEVは16進ビューでのデバイスIDを表します)。
既知のハードウェアベンダーIDを持つ仮想マシンの表:
ベンダー | ベンダーID |
Vmware | 0x15AD |
Vbox | 0x80EE |
Parallel | 0x1AB8 |
次のコードスニペットは、サブキー名をVBoxのベンダーIDと比較しています。
VBoxのベンダーIDのチェック。
Cerberは、レジストリーキー名の中にいずれかのベンダーIDを見つけると、自分自身を停止して終了します。
まとめ
Cerberは、一般的な形態のランサムウェアです。その構成ファイル内で変更が見つかったことから、Cerberの暗号化手法にも変更が加えられるものと予想されます。これについては、近く詳細な分析でご説明します。
Intel Security製品は、Generic.*やBehavesLike.Win32.*などの一般名でCerberを検出します。
※本ページの内容は 2016年8月15日更新のMcAfee Blog の抄訳です。
原文:Cerber Ransomware Updates Configuration File
著者:Sudhanshu Dubey
【関連記事】