WordやExcelなどの文書ファイルを標的型メール訓練に使う方法
Microsoft WordやExcelではマクロを実行することができます。この「マクロ」を悪用し、WordやExcelなどの文書を開いたときに、悪意のあるマクロを実行してパソコンを乗っ取るなどする。というのが、マクロウィルスを使った手口です。
このようなことができるのはWord・Excelに限ったことではなく、一般によく使われているPDFや、ジャストシステムの一太郎なども使われます。
結果的に攻撃者がやりたいことができればよいので、「マクロが実行できる」ということは条件ではなく、例えば、マクロが実行できる機能とは全く別の、他のプログラムと連携ができる機能を逆手に取り、脆弱性のあるプログラムを呼び出して、そこで悪さをするといったことも方法の一つということになります。
参考情報:Ascii.jp掲載記事「PDFにまつわるセキュリティの問題とは?」
セキュリティ対策が進んでいる現在では、マクロを直接実行して悪さをするという方法は、流石に成功させることは難しくなっているとはいえ、自分自身でマクロを実行してしまうよう言葉巧みに誘導されれば、システムによる対策など意味を成しませんし、また、ソフトウェアの脆弱性が新たに見つかれば、それを悪用して攻撃を仕掛けてくる可能性は十分あります。実際、2014年3月には、Wordの脆弱性による危険性がマスコミで大きく取り上げられたこともあります。
このようなことから、訓練メールに添付する模擬のマルウェアファイルとして、WordやExcel、また、PDFなどの文書を使い、添付されているファイルを開いてしまったらマルウェアに感染してしまったと見なす。というのが、このタイプにおける訓練実施方法となります。
WordやExcelなどの文書を使う場合の模擬訓練実施の仕組み
WordやExcelを添付ファイルとして使う場合、文書にマクロ(VBA)を組み込むと、ウィルス対策ソフトが検知してしまう、また、Microsoft Ofiice自体がマクロが実行されることを警告するようになっていますので、ファイルを開いたかどうかをマクロによって判定する方法は、マクロの実行が保証されない以上、訓練に使うことができません。
このため、文書ファイルを模擬の訓練メールに添付する場合は、マクロなどのプログラムは使わずに、「Webビーコン」と呼ばれる、横1ドット×縦1ドットの画像リンクを文書中に埋め込み、文章自体は通常の業務文書もしくは、標的型攻撃の危険性などについて解説した教育用のコンテンツとします。
横1ドット×縦1ドットの画像リンクを文書中に埋め込む理由は、Wordなどのソフトウェア自体は、メールに添付されたファイルを開いたのが誰であるか?を第三者に通知する機能は持ち合わせていないためで、ファイルを開いたのが誰であるか?を第三者に通知する仕組みとして、画像リンクを使うためです。
文書中に画像リンクを埋め込んでおくと、ファイルが開かれることによって、その画像リンクに記載されたリンク先の画像データが呼び出されるという動作が発生します。呼び出された先のサーバ側で、この画像データが呼び出されたことを記録することにより、ファイルが開かれたことがわかるということになります。
ちなみに、この「画像データが呼び出された」という記録は、文書中に埋め込まれた画像リンクが呼び出されたという記録、つまり、URLリクエストの記録となるため、サーバ側に記録されるのは、どのURLリクエストがあったか?というものになります。
このため、文章中に埋め込む画像リンクを全て同じURLとしてしまうと、文章が開かれることによって画像の呼び出しが行われたことはわかっても、誰がその呼び出しを行ったのか?が特定できません。
この課題を解決する方法は、メールに添付する文書に記載する画像リンクの設定を、全て違うリンクにするということです。
ある画像リンクは、たった一つの文書ファイルからしか呼び出しが行われないことが保証されれば、後は、その文書を誰が持っているのか?さえわかれば、その文書を開いているのはその人しかいない。ということになります。
つまり、模擬の訓練メールを送る相手ごとに、個別の画像リンクを埋め込んだ文書ファイルを添付して送れば、どの画像リンクが呼び出されたか?を確認することにより、誰が添付ファイルを開いたのか?がわかるということになります。
これが、WordやExcelなどの文書ファイルを模擬のマルウェアファイルとして使う場合における、開封者情報収集の仕組みとなります。
Webビーコンを埋め込んだ添付ファイルの作り方
Webビーコンを埋め込んだWordファイルの作り方は以下の通りです。訓練実施の際は、訓練対象者ごとに画像リンクを設定したファイルを作成することになりますので、訓練対象者分だけ、以下の作業を繰り返すことになります。
これは対象者数が少ないうちは問題になりませんが、対象者数が数十、数百となってくると、さすがに手作業で行うのは現実的ではなくなってきます。
このため、訓練対象者数が多い場合は、以下の作業を自動で行うよう、Excelのマクロ(VBA)などのスクリプトを使った自動化の仕組みを用意することになります。
- 画像リンクを埋め込んだHTMLファイルを作成する。
- 保存したHTMLファイルをWordで開く
- Wordで文章を編集し、通常のWord文章として保存する
以下のHTMLコードを適当なhtmlファイル名(例えば、index.html)で保存します。
「画像のURL」の部分は、実際に呼び出す画像リンクのURLを設定して下さい。ちなみに、リンク先となる画像は、大きさも含めてどのようなものでも構いませんが、一般的には、1ドット×1ドットのサイズの画像が使われることが多いようです。
<html>
<head><title></title></head>
<body>
<img src=”画像のURL” width=”1″ height=”1″>
</body>
</html>
前期の手順で作成したHTMLファイルをWordで開きます。Wordで開くと、文章の末尾に小さな点があることに気づいてください。これが画像リンクを設定したWebビーコンになります。
誤ってこれを削除してしまうと、開封者を特定することができなくなってしまいますので、この小さな点については誤って消してしまわないよう、改行して文末に設定しておきます。
<訂正>
Word2007、Word2010では、Webビーコン画像が埋め込まれたページがディスプレイに表示された時点で、Webサーバへのアクセスが発生します。このため、添付する文章ファイルのページ数が2ページ以上となる場合、Webビーコンを文末に設定してしまうと、2ページ目をディスプレイに表示することがなければWebサーバへのアクセスが発生しないことになり、ファイルを開封したことがわからないことになります。
このことから、Webビーコン画像は必ず文章の1ページ目に設定するようにします。
なお、Word2013では、Webビーコン画像が埋め込まれているページがディスプレイに表示されるかどうかに関係なく、文章ファイルが開かれた時点でWebサーバへのアクセスが発生します。
後は通常通り、Wordで文章の作成、編集作業を行います。編集が完了したら、Word文章(.docxもしく、.doc)として保存します。これで、訓練メールに添付する模擬のマルウェアファイルの作成は完了です。
なお、WordではPDFへの変換・出力を行うことができますが、PDFへの出力ではタグの埋め込みを行うことができないため、Webビーコン方式のファイルを作ることができません。実際にやってみていただければわかりますが、PDFに点は出力されますが、これは画像リンクになっていないので、PDFファイルを開いても、サーバへのリクエストは行われません。
この方式を使う場合、開封者情報が取得できない可能性があることを考慮すること
Webビーコンについては、画像ファイルが呼び出されることによって、Webビーコンが埋め込まれた文章が開かれたことを確認できることから、メールアドレスの有効性を確かめるための手法として悪用されたという経緯があります。
このようなこともあり、Webビーコンが埋め込まれている文書については、今では以下のような警告が表示される仕組みになっています。
編集を有効にしない場合は、画像ファイルのダウンロードが行われない、つまり、サーバへのリクエストが発生しないので、サーバに記録が残りません。編集を有効にした場合はリクエストが発生し、画像ファイルのダウンロードが行われます。
このような動作となることを理解していないと、ファイルは開かれているのに、サーバ側には1件も記録が残らず、添付ファイルを開封した人は誰なのか?が全く分からないということもありえます。
また、Webビーコンを使う場合は、サーバへのリクエストが発生するので、そのサーバにアクセスできるようになっていることが前提となります。
社内のセキュリティ設定によっては、外部のサーバにアクセスする場合は認証ダイアログが表示されるような仕組みとしているところもあるかと思います。
このような場合、サーバへのリクエストが発生した時点で認証ダイアログが表示されることになるので、認証ダイアログでキャンセルボタンが押されたら、サーバにリクエストは届かないことになります。
文書ファイルを開いた際に、外部サーバへのリクエストが発生して認証ダイアログが表示されたら、大抵は違和感を感じるはずです。そうなると、キャンセルボタンが押される確率は高いと想定されるため、このような場合も、開封者情報が取得できない可能性が十分あります。
Webビーコンに対する警告が表示されないようだと逆に危険です
セキュリティ設定をしっかり行っていれば、通常はWebビーコンに関する警告が表示されるはずです。しかし、毎回警告が表示されるのはうっとうしいとして、マクロの実行を無条件で許可しているなど、セキュリティ対策を全くしていないか、あえて設定をゆるくしているような環境だと、逆に危険ということになります。
特に、「あえて設定を緩くする」というのは、利用者側でできる設定であるので、インターネットなどで方法を調べて自分で警告表示を解除しているケースは結構あるかと思います。
セキュリティに関して知識があれば、危険性の有無を自分で判断できるので問題ないと思いますが、ただ鬱陶しいから。という理由だけで、ネット上の情報を頼りに、危険性も理解せずに警告を解除しているようなケースだと、攻撃者側からすれば、これは格好のターゲットになります。
あなたの会社では、こうした社員は100%いないと言い切れるのであればよいですが、もしかしたら・・・と思えるようなら、実際にWebビーコンを埋め込んだファイルを作成し、メールに添付して送ってみる。というのは、社内のセキュリティ対策ができているかどうかを確認する意味でも、実際にやってみる価値はあると思います。
自社には人的なセキュリティホールがないと言い切れますか?
被害に遭っている組織はセキュリティ対策ができていない会社か?というとそうではありません。
セキュリティ対策はしっかりやっている、できている。と思っているのはセキュリティ担当者だけで、現場は会社のセキュリティ対策がうっとうしいとして、会社に内緒で対策を回避する方法を使っていたり、運用ルールを無視している、また、セキュリティ研修の内容は表面的に理解しているだけで、本質的な理解はできていないなど、攻撃者側から見たら、格好のセキュリティホールができているということはありがちです。
実際、そうしたことが原因で被害に繋がっているケースは、マスコミに取り上げられるニュースなどからも垣間見ることができます。
あなたの会社では、こうした人的なセキュリティホールなど存在しないと確実に言えるでしょうか?
具体的な調査結果などの根拠も無しに、そう思っているとしたら、それは「単なる思い込みかもしれない」と疑ってみるのは、決して損なことではないと思います。
キットを使えば、Webビーコン方式の訓練が簡単に実施できます
ところで、Webビーコン方式で標的型メール訓練を実施する場合、訓練対象者数の分だけ、アクセスする先となるWebビーコン画像ファイルのURLを用意しなければならないため、単純には、訓練対象者数分の画像ファイルをWebサーバにアップロードしなければならない。ということがあります。
つまり、訓練対象者が1,000人いたら、1,000個の画像ファイルをWebサーバにアップロードしなければならないことになる。というわけです。
しかし、同じ画像データを1,000個もWebサーバに置くのはあまりエレガントな方法とは言えませんし、そもそも面倒です。
このため、キットでは、
- 画像ファイル無しでWebビーコン方式での訓練を実施するためのWebサーバ側プログラム
- 訓練対象者ごとのWebビーコンリンクを埋め込んだWord文書ファイルを一気に作るツール
- 作成した個別のWord文書を各ユーザ宛のメールに添付して送付する一括メール送信ツール
を標準でご提供しており、1時間もかからずに、Word文書を使った標的型メール訓練の実施準備を行うことができます。
Webサーバの設定というと、「難しい」「わからない」と思われる方もいらっしゃるかもしれませんが、全く難しいものではありません。
具体的にどのようにして設定するか?については、こちらの記事で垣間見ることができますので、ご興味のある方はご覧になってみてください。
→次の記事へ( exe実行ファイルを模擬のマルウェアファイルとして使う )