感染すると一瞬にして保存ファイルが開けなくなってしまうランサムウェア「Locky」が猛威をふるっている。ここでは感染のプロセスを振り返ることによって、どうしたら事前に被害を食い止めることができるのかをアドバイスする。
この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト「Welive security」の記事を基に、日本向けの解説を加えて編集したものである。

2015年から2016年にかけて、被害者のファイルを暗号化して身代金をビットコインで支払うように要求してくる「Locky」と呼ばれるランサムウェアに冒されたネットワークとユーザーの数が、著しく増加している。この脅威がどのような仕組みでコンピューターシステムのフィルターをくぐり抜けてデータを開けなくさせてしまうのか。以下では、サイバー犯罪者がセキュリティのもろもろのレイヤーを回避するために利用する手順と方法を解説する(ラテンアメリカESETリサーチラボより)。
下記の図式は、ペイロードに導かれてLockyが感染していくプロセスを表している。Lockyの攻撃は、まずユーザーがメールを受け取るところから始まる。内容は国よっても場合によっても異なり多様である。メールの言語に日本語が多いのが特徴だが、英語はもちろん、その他さまざまな言語も用いられている。このメールにはMicrosoftオフィスの文書が添付されている(DOC やDOCM、 XLSといった拡張子が多い。つまり、ワードやエクセル書類が多い)。この文書を開くとWindows上の処理を自動化するBATファイルが作り出される。次に、そのBATファイルによってVBスクリプトで書かれた新たなファイルが作り出される。この2つのファイル(.batと.vbs)が協力し合ってその後脅威の主役となるファイルをダウンロードする。このファイルこそ、ESETセキュリティソフトウェアが「Win32/Filecoder.Locky」として検出するLockyである。

Lockyの感染プロセス
以下では、上図のそれぞれのコンポーネントについての段階を追った説明をしながら、それらがどのように不正な操作を起こして目的を達成していくのかを見ていきたい。最終的に私たちは、どれだけ積極的で早めの検知がユーザーを守ることになるのかを知ることになるだろう。
1. 不正なマクロを含んだ文書
詐欺を行う文書には不正なマクロが含まれている。そのマクロはユーザーが「コンテンツを有効にする」と書かれたボタンをクリックすると実行される。いったんマクロが有効にされると、プログラムは下のイメージに見られるように自動的に実行され、感染が始まってしまう。

感染の端緒をなすこのマクロについてより詳しく分析をしてみよう。その中でも「Ugfdxafff.bat」と名付けられたBATファイルを生み出す特殊な3桁のコードに注目したい。まずそこに埋め込まれているのはWrite関数である。その関数は「Base64」を用いて暗号化されたコードをこのファイルの中に書き込む。そして最終的にはShell関数がこのBATファイルを実行する。その様子は下のスクリーンショットに見て取ることができる。

2. BAT とVBスクリプト
「ugfdxafff.bat」ファイルの目的はVBスクリプトで書かれたファイルを生み出すことである。そのVBスクリプトファイルはこのケースでは「asddddd.exe」と名付けられているが、それはペイロードをダウンロードするURLを含んでおり、BATファイルと並走する形でプログラムを走らせる。
最終的にはそのBATファイルは「start asddddd.exe」というコマンドを用いたBATファイルを実行し、そしてVBスクリプトを削除する。あたかもシステムに残る証拠を消すかのように、自分自身を削除するのである。この一連の動作は次のスクリーンショットの中で確認できる。

3. 事前に検知を行う
こういった中間段階における一連の流れについてユーザーが知っておくと、事前にセキュリティ対策を施すことができる。そうすれば、マルウェアがユーザーのデバイス内に侵入する前に、また、マクロが有効になる以前に、その攻撃をブロックすることができる。Lockyがどのように作動するかということを知るのが重要なのは、そのためである。
ユーザーや会社の従業員がスパムメールを開いてしまうことが、この手の脅威を侵入させる入り口の一つとなる。そうなるとマルウェアは会社のデータを乗っ取ったり、個人ユーザーに甚大な被害をもたらしたりすることになる。
結論
Microsoftオフィスの文書でマクロを使用することに伴う危険性について、頭の片隅に入れておくことが大事である。マクロは個人的な、あるいは業務関係のデータとファイル、さらに言えば企業ネットワーク全体を危険にさらすのである。
そのため、全てのユーザーがコンピューター犯罪の傾向について知り、ランサムウェアのような脅威のもたらす影響について理解する学習機会を持つことが、喫緊の課題となる。私たちは常に、コンピューターセキュリティの最善の実践を身に付けなければならない。もちろん一番大切なことは、適切に設定された最新のアンチウイルスソフトを使うこと、これが有害なシステムから発せられる不正なプログラムを避ける有効な手段である。そしてこの記事の情報もまた、ランサムウェアを予防するためのアドバイスとして役立つはずである。
<分析に用いられたデータ>
Win32/Filecoder.Locky.A
Md5: dba9a404a71358896100f9a294f7c9a3
VBA/TrojanDownloader.Agent.AUD
Md5: c7d3afbe92d91cd309cce2d61d18f268
BAT/TrojanDownloader.Agent.NHW
Md5: 30f0378659496d15243bc1eb9ba519ef
VBS/TrojanDownloader.Agent.NZN
Md5: 048820a62c0cef4ec6915f47d4302005