2016年6月30日木曜日

ランサムウェアを拡散する「ばらまき型」スパムメールに対する対策

前々回前回 のエントリでは、標的型メールを見分けるポイントについて述べた。せっかくなので、ランサムウェアを拡散するばらまき型のスパムメールに対する対策についても考察してみる。

現在、犯罪者がランサムウェアを拡散する手段としては、大きく分けて不正広告(マルバタイジング)や正規のサイトの改ざんによるWebアクセス(ドライブバイダウンロード)によるものと、ばらまき型のスパムメールによるものの2つがある。Webアクセスからの感染の対策については別途、紹介するとして、ここでは、スパムメールによる感染の対策について考えてみたい。

標的型メールの典型的な手法が、実行ファイルを文書ファイルにアイコン偽装して添付するのに対し、ランサムウェアの拡散に使われる主な手口は、Office文書(特にWord)のマクロ機能を使ったものと、JavaScript(拡張子 .js )を使用したものだ。2015年まではOffice文書のマクロ機能を使用したものが主流であったが、2016年に入ってからはJavaScriptを使用したものが主流になってきている。

なぜなら、Officeのマクロ機能はデフォルトで無効になっており、ランサムウェアに感染させるには、なんらかの方法でユーザにマクロを有効にさせる必要があるからだ。

図1 マクロを使ってランサムウェアに感染させようとするWord文書の例

それに対し、JavaScriptを使った手口ではそのような制限は存在せず、スクリプトを実行させることが出来ればランサムウェアに感染させることが出来る。メールに添付されるJavaScriptは、ブラウザ上で実行されるのではなく、Windows上のWindows Script Host (WSH) で実行される。WSHには、ブラウザでのサンドボックスの様な制限はなく、実行ファイルと同様の処理が実行できてしまう。

ランサムウェア「Locky」のスパムメールの実例


図2は、実際に筆者宛に届いた「Locky」のスパムメールである。未払い金があるため添付の請求書を確認してくれという内容だ。メール本文の挨拶や添付ファイル名に筆者の実名を使用して本物だと思い込まそうとしているが、差出人もメールの内容も全く心当たりのないものだ。大量に拡散させるばらまき型なので、標的型メールの様に巧妙にはなっていない。注意していればこの段階で不審なメールと気付けるはずだ。

図2 「Locky」に感染させようとするスパムメールのサンプル

この添付ファイルをクリックしてエクスプローラーで開いてみる。尚、OSはWindows 7だ。
圧縮ファイルの中身は、拡張子「.js 」のJavaScriptのファイルだが、Windowsの初期設定では、登録されている拡張子は表示しない設定になっているため図3の様に表示される。いまどきJavaScriptなんかを実行する奴がいるのかと思う人もいるかもしれないが、この様に拡張子「.js 」のアイコンは、メモ用紙の様にも見えるためテキストファイルだと勘違いして開いてしまう人も多いのだろう。

図3 添付のZIPをエクスプローラーで開く(拡張子は非表示)

「登録されている拡張子は表示しない」のチェックを外し、拡張子を表示させる設定に変更すると、拡張子「.js 」が表示される。


図4 拡張子を表示させる

更に、「詳細表示」にしてみると、「種類」が「JScript Scriptファイル」と表示される。JScriptとはWindows上で動作するスクリプト言語であり、JavaScriptと互換性を持つ。

図5 詳細表示にし、種類を表示させる

このファイルをクリックして開いてみる。
前々回前回 のエントリでも述べたとおり、Windows標準のエクスプローラーを使用し、ZoneIDが維持される様にしていれば、拡張子が「.js」の場合でも、図6の様に「セキュリティの警告」が表示される。ここで「キャンセル」をクリックすればスクリプトは実行されないが、警告を無視して「開く」をクリックしたり、警告が出ないような設定になっていれば、スクリプトが実行され、ランサムウェアに感染してしまう。

図6 ZoneIDが付加されているため「セキュリティの警告」が表示される


このように、JavaScriptを使用してランサムウェアに感染させようとするスパムメールでは、標的型メールと同じく
  1. Fromアドレスや件名、本文などに不自然な箇所がないかを確認する
  2. アイコンを確認する
  3. 拡張子を確認する
  4. ファイル種類を確認する
  5. 実行時に「セキュリティの警告」が表示されたら「キャンセル」する

これらを常に確認することを習慣にしていれば、感染は防げるはずだ。


拡張子「.js 」の関連付けを「メモ帳」に変更する


しかし、そもそもJavaScriptをWindows上で実行することは殆どのユーザに取って不要と思われるため、より安全にするために拡張子「.js 」の関連付けを既定から変更して「メモ帳」で開く様にし、スクリプトが実行されないようにする。

ここでは、単一のコンピュータでの設定例を示すが、Active Directory環境では、グループポリシーのフォルダオプションから拡張子の関連付けを設定出来る。

コントロールパネルから「あるファイルの種類を特定のプログラムで開く」を選択する。図7の様に、既定では、拡張子「.js」がWindows Based Script Hostに関連付けられている。

図7 「あるファイルの種類を特定のプログラムで開く」

「プログラムの変更」をクリックし、プログラムの選択から「メモ帳」を選択する。

図8 プログラムの選択から「メモ帳」を選択する

再度、拡張子「.js」が「メモ帳」に関連付けられていることを確認する。

図9 .jsに「メモ帳」が関連付けられていることを確認

この状態で、図2と同じメールの添付ファイルを開いてみる。アイコンが「メモ帳」のものになっていることが確認出来る。

図10 添付のZIPをエクスプローラーで開く

拡張子が「.js」であるため、ここで不審なメールであることに気付くことが望ましいが、もしクリックして実行してしまっても「セキュリティの警告」が表示される。

図11 ZoneIDが付加されているため「セキュリティの警告」が表示される

更に、ここで「セキュリティの警告」を無視して「開く」をクリックしてしまったとしても、拡張子「.js」の関連付けとして「メモ帳」が設定されているため、図12の様に「メモ帳」で .js ファイルが開かれる。結果としてスクリプトが実行されることはなく、ランサムウェアに感染することは避けられる。

図12 .js がメモ帳で開かれる


まとめ


  1. ランサムウェアを拡散させる手段としては、不正広告(マルバタイジング)や正規のサイトの改ざんによるWebアクセスによるもの(ドライブバイダウンロード)とばらまき型のスパムメールによるものに分けられる。
  2. ランサムウェアを拡散させるスパムメールに使われる主な手口は、Office文書(特にWord)のマクロ機能を使ったものと、JavaScript(拡張子 .js )を使用したもの。最近はJavaScriptを使用したものが主流になっている。
  3. ばらまき型のスパムメールの本文などは、標的型メールの様には巧妙な内容にはなっていない。見に覚えのない不審なものの場合は、添付を開かない。
  4. 標的型メールの対策と共通で、拡張子、ファイル種類(詳細表示)を常に表示させる設定を行う。添付の中のファイルを開く場合は、アイコン、拡張子、ファイル種類を確認し、セキュリティの警告が出たらキャンセルする。
  5. Officeのマクロを有効にしない。
  6. もし、ファイルを開いてしまった場合でもスクリプトが実行されないように、拡張子「.js」の関連付けを変更して「メモ帳」で開くように設定する。


追記(8/4)

拡張子 .js だけでなく

.jse (JavaScript)
.vbs (VBScript)
.wsf (Windows Script)

を用いた攻撃も観測されている様なので、運用等で問題がないようであれば、これらについても同様の対策を取っておいたほうが良いだろう。

それぞれの、既定のアイコンは以下の様になる。