この記事の公開に尽力してきた SophosLabs の
Graham Chantry、Fraser Howard、Benjamin Humphrey
の 3 名に感謝します。
最新のランサムウェア Zepto にご注意ください。
実際、Zepto と Locky はよく似たマルウェアファミリであり、データを復旧するのに必要な金額を指示する Zepto の「支払いページ」は次のようなものです。
ただし、Locky に感染した場合と明らか異なる点があります。それは、Zepto の攻撃を受けるとファイル名が変更され、拡張子が .zepto
になる点です。(Locky では .locky
という拡張子が使用されます。)
攻撃者がファイル名を変更する目的は、身代金を支払わなかった場合の被害の深刻さをユーザーに知らしめるためです。
同時に、ユーザーはお金さえ払えば大切なデータを復旧できるのだと考えるようになります。
Zepto の感染経路
この 1 週間に主に 2 つの方法で Zepto の複数の亜種が拡散していることが確認されています。どちらの方法もランサムウェアを使った攻撃では一般的です。
-
ZIP
アーカイブが添付された電子メール。 -
ZDOCM
ファイルが添付された電子メール。
1 つ目の場合、ZIP
アーカイブを開くと、拡張子が .JS
(JavaScript) のファイルが解凍されます。
ドキュメントだとされる添付ファイルの形式が JavaScript なのは奇妙に思えますが、Windows では名前の .JS
の部分はデフォルトで表示されず、テキストファイルのような印象を与えるアイコンのファイルが表示されます。
しかし、JavaScript ファイルを開くと、組み込まれていたスクリプトプログラムが実行されます。このプログラムは Zepto ランサムウェアを EXE
(Windows プログラム) ファイルとしてダウンロードし、実行します。
2 つ目の場合、添付ファイルは DOCM
です。したがって、このファイルをダブルクリックすると、デフォルトでは Microsoft Word でファイルが開きます。
ところが、DOCM
は「document with macros (マクロを含んだドキュメント)」を表しています。これは、VBA (Visual Basic for Applications) で記述されたスクリプトが埋め込まれている特殊なドキュメントです。
VBA は、JavaScript と多くの共通点を持つプログラミング言語で、JavaScript とほぼ同じ目的 (マルウェアの拡散など) に使用することができます。
Microsoft が何年も前に導入したセキュリティ対策のおかげで Word ファイルに含まれるマクロはデフォルトでは実行されませんが、上記のようなプロンプトが表示されるので、[Options]
ボタンを押してセキュリティ設定を変更するようにユーザーを誘導する可能性があります。
最近確認された Zepto の攻撃では、悪意のあるドキュメントは空で、珍しいことに次のように白紙のページが表示されます。
マクロベースのランサムウェアを含んだドキュメントの多くには、ユーザーに [Options]
をクリックさせ、セキュリティ設定を変更させるために何らかの説明や理由が書かれているものです (多くの場合、セキュリティ強化を謳っています)。
それがこの例では何も書かれておらず、ユーザーが自発的に [Options]
をクリックするのを待ちます。
これが偶然なのか (説明や指示を入れるのを忘れてしまったのか)、それとも意図的なのか (ランサムウェアに関連していることが知れ渡ってしまったメッセージを敢えて外したのか) は不明です。
マクロを有効にしても、上記の JavaScript ファイルを開いた時と同じことが起きます。つまり、VBA スクリプトによって Zepto ランサムウェアが EXE
(Windows プログラム) ファイルとしてダウンロードされ、実行されます。
ソフォス製品は本記事で説明した攻撃を、Mal/DrodZp-A (添付の ZIP ファイル)、Troj/JSDldr-LU (ZIP 内の JavaScript ダウンローダー)、Troj/DocDl-DUN (添付の Word マクロファイル)、Mal/Ransom-EM および Troj/Ransom-DJF (ランサムウェアの EXE ファイル) など、さまざまな名前で検出し、ブロックします。
身代金の支払い
Locky 同様、Zepto もサイバー犯罪者が実行する Web サーバーにアクセス (Call Home) することから始めます。この Web サーバーから、データの暗号化に必要な暗号鍵をダウンロードします。
サイバー犯罪者は暗号鍵に対応する復号鍵を保管しておき、後でユーザーに売り付けます。(上記をご覧ください。身代金は 0.5 ビットコイン (BTC 0.5、約 300 ドルです。)
ユーザーのデータファイルは暗号化され名前も変更されているので、次のような名前のファイルになります。
FA3D5195-3FE9-1DBC-E35E-89380D21F515.zepto FA3D5195-3FE9-1DBC-7E8D-D6F39B86044A.zepto FA3D5195-3FE9-1DBC-1683-7BF4FD77911D.zepto FA3D5195-3FE9-1DBC-30B9-E2FF891CDB11.zepto
ファイル名の前半は共通していますが、これはユーザーが身代金の支払いを決めた時にユーザーを識別するための一意の識別子です。
Zepto はファイルを暗号化した後、身代金を支払えばデータを復旧できることをユーザーに分からせるため、「支払い方法」のメッセージを表示します。
このメッセージの表示方法は、1) デスクトップの壁紙として表示される、2) Windows Photo Viewer に画像として表示される、3) ファイルが暗号化されたすべてのディレクトリに保存される HTML ページとして表示される、の 3 通りです。
「支払い方法」メッセージに記載されているユーザー識別用 ID は、暗号化されたファイルの名前の前半と同じです。
_HELP_instructions.html
の指示に従っていくと、本記事の冒頭に示した「支払いページ」が表示されます。
対策
ソフォスはこれまでにも定期的にランサムウェアなどのマルウェアによる攻撃を阻止する方法 (および復旧方法) についてアドバイスをお届けしてきました。
皆さんのお役に立ちそうなリンクをいくつかご紹介します。
- ランサムウェアを総合的に阻止するには、ソフォスの記事ランサムウェア対策を万全にするにはをお読みください。
- JavaScript の添付ファイルからコンピュータを守るには、.JS ファイルをメモ帳で開くようにエクスプローラーを設定します。
- 紛らわしいファイル名に騙されないようにするには、ファイルの拡張子を表示するようにエクスプローラーを設定します。
- VBA のマルウェアからコンピュータを守るには、インターネット経由で受信したドキュメントのマクロを許可しないように Office を設定します。
- ランサムウェアの詳細については、ソフォスの Techknow ポッドキャストをお聴きください。