ランサムウェアとウイルスの特徴を併せ持つ「Zcrypt」

最近見つかったランサムウェアに大きな関心が集まっています。その理由はこのランサムウェアの特徴にあります。というのも、実際はウイルスであり、USBデバイスを介してユーザのPCに感染することも可能なのです。感染手法自体は目新しくはありませんが、ランサムウェアがこの能力を備えているとなると、ただごとでは済みません。USBなどのポートを保護するソフトウェアを実行していないユーザには、自動実行機能の無効化が推奨されます。

私たちは、Check Point SandBlast Agentによる自動フォレンジック分析を行い、この新しいランサムウェアの実態を明らかにしました。ランサムウェア「Zcrypt」は、USB経由でユーザのPCへの感染を試みます。autorun.infを作成し、USBキーが差し込まれた時点で「invoice.exe」というファイルを自動で実行します。また、これまでに確認された多くのランサムウェアとは異なる振る舞いパターンも示しています。シャドウ・コピーや自身の実行可能ファイルを削除せず、暗号化するファイルを探す際にディレクトリ・トラバーサルも実行しません。その代わりに、まずレジストリのシェル・フォルダのdescriptionを利用して、ファイル・システムに対する問い合わせを行うことなく目的のフォルダを見つけます。続いてファイル・システムへの変更を監視し、システムに追加または変更された新しいファイルを暗号化します。

また、DLL(ダイナミック・リンク・ライブラリ)ファイルを使用して書き込みます。DLLは共有ライブラリの一種で、複数のプログラムで同時に使用できるファイルが含まれています。このマルウェアの実行ファイルは複数のセキュリティ・ベンダーより報告されていますが、VirusTotalによると、DLLファイルは一見無害のようです。DLLファイルを解凍するため、Zcryptは正規アプリケーションでも幅広く使用されている著名なプロセスであるNSIS(NullsoftScriptable Install System)を利用します。最初のマルウェアが自身のコピーを実行して最初の呼び出し元プロセスからDLLを動的に読み込み、極めて広範な実行ツリーを作成します。その追跡は困難です。DLLは使用後すぐに削除されますが、必要に応じて何度でも再作成されます。このプロセスは、1,000回以上繰り返された可能性があります。

強欲なランサムウェア

Zcryptは、目的のファイルを2回上書きします。まずファイルを破壊し、次いで暗号化します。これは、ユーザがディスク・リカバリ・ツールを利用できなくするためです。この一手間加えることで、シャドウ・コピーを削除するよりも、はるかに強力になります。既存のファイルをすべて暗号化した後も、Zcryptは停止しません。続いてファイルの変更を監視し、ユーザが新たに作成したファイルも暗号化します。これにより、ユーザがファイルの復元をあきらめた場合でも、マルウェアが完全に削除されるまでPCを使用できなくなります。新たに作成されたファイルはすべて数秒以内に暗号化されます。

図1: SandBlast AgentによるZcryptのフォレンジック分析

上の画像は、USBドライブを介した最初の感染が発生してからファイルが実際に暗号化されるまでの、マルウェアの活動の一連の流れを表しています。私たちが分析したサンプルは、いずれもオランダに所在する同一の指令(C&C)サーバを使用していました。

新旧の攻撃の組み合わせ

車に例えれば、Zcryptの見た目は新車、中身は中古と言えばよいでしょうか。Zcryptの作者は、新たな「車」を創り上げる必要がありませんでした。すでにあるシャーシを新しいボディに取り付けるだけで良かったのです。Zcryptで採用されている手法の大半は、新型ランサムウェアにおける主 流と見て間違いないでしょう。実際、従来型の検出手法を念頭に作成されているCryptXXXをはじめとする他のマルウェアでも使用されています。従来のランサムウェアでは見られない手法を採用したことで、Zcryptは一般的な特徴に照準を合わせた検出ツールの回避を可能としています。このような手法を採用したランサムウェアは今後ますます増え、セキュリティ・ベンダー各社はその攻撃を防ぐための対応に追われると予想されます。