暗号化型ランサムウェア「Locky」、今度は暗号化された DLLファイルを利用

暗号化型ランサムウェア「Locky」、今度は暗号化された DLLファイルを利用

暗号化型ランサムウェアLocky」ファミリは、2016年2月に確認されて以来、注目度の高いランサムウェアの1つとなっています。そしてブラジルのアンダーグラウンドで販売されたり、様々なエクスプロイトキットにより拡散されたりしてきました。また、拡散の手法にマクロや JavaScript、VBScript、Windows スクリプトファイルといったファイルを利用することで知られています。そして今回、トレンドマイクロは、DLLファイルを利用する「Locky」を新たに確認しました。

今回弊社が確認した「Locky」の亜種「RANSOM_LOCKY.F116HM」は、何の変哲もないメッセージの書かれたメール(図1参照)を送信する大規模なスパムメール送信活動で拡散されており、一見、従来の「Locky」と同様の手法が採用されているように見えます。しかし、実際には、幾つかの変更が確認されました。

図1
図1:暗号化型ランサムウェア「Locky」を拡散するためのスパムメール

まず、添付の ZIPファイルに含まれる JavaScript のファイル(拡張子「.JS」)には、「Locky」の特徴とも言える高度な難読化が確認できます。

図2
図2:JavaScript ファイルのコード

弊社では、難読化された JavaScript コードが復号されると、以下を実行することを確認しています。

  1. 不正な URL の一覧がハードコードされており、そのすべての URL に暗号化された「Locky」が組み込まれていた。JavaScript は、任意の URL を1つ選択し、「Locky」をダウンロード。失敗した場合他の URL からのダウンロードを試みる。
  2. ダウンロードしたファイルを “Windows Temporary フォルダ“ に保存する。
  3. 排他的論理和「XOR」と「擬似乱数生成器(Pseudo-Random Number Generator、PRNG)」を用いてダウンロードしたファイルを復号し、DLLファイル(拡張子「.dll」)として保存する。
  4. “rundll32.exe ” を利用して DLLファイルが実行されると、PC に脅迫状が表示され、ユーザのファイルが暗号化される。

攻撃者は、独自に作成したストリーム暗号を利用して、「key stream(鍵ストリーム)」と呼ばれる擬似乱数系列を生成しています。PRNG は、初期設定値として「seed(シード)」と呼ばれる初期値が必要となりますが、このシードは秘密鍵のような役割を果たします。通常の暗号化の実装の場合には、毎回異なるシードを用いて、妥当な PRNG を利用することにより、ストリーム暗号をランダムなものにすることができます。

一方、同一のシードを利用した場合には、同一の鍵ストリームが生成されることになります。今回確認した「Locky」への実装では、このシードの値が JavaScript のコードでハードコードされていました。

図3
図3:「XOR」と「PRNG」によって復号されたコード

PRNG の作成は大変な作業のため、攻撃者は既存の PRNG を借用することにしたようです。「Ultra-High Entropy Pseudo-Random Number Generator(UHE PRNG)」の実装を参考に、コードにわずかに変更を加えたものを自身の JavaScript のファイルに利用していました。利用されていたコードは、UHE PRNG のコードの Windows スクリプト版の一部を、ほぼそのままコピーしたものでした。

図4
図4:UHE PRNG の関数

図5
図5:「Locky」の DLLファイルを実行する “rundll32.exe” とその引数

感染後の「Locky」 の活動については、前回確認された「Locky」の亜種とほとんど差異はありません。

図6
図6:暗号化型ランサムウェア「Locky」の脅迫状

DLLファイルの導入は、最新のセキュリティ対策製品が備える挙動監視機能による検出の回避を意図したものと推察できます。“rundll32.exe” によって DLLファイルが実行されることにより、新規プロセスが開始されないため、検出が困難になります。「CrypMIC」や「CryptXXX」などの他の暗号化型ランサムウェアでもこの手法が採用されていますが、「Locky」で確認されたのは今回が初めてです。

暗号化の利用で、この暗号化型ランサムウェアが自身を隠ぺいする機能はさらに強化されています。「Locky」がダウンロードされるために必要なパラメータは JavaScript ファイルにあり、難読化されています。パラメータがなければ、暗号化された「Locky」のファイルは復号されず、論理上不正なファイルは検出されないことになります。

■ トレンドマイクロの対策

個人ユーザおよび企業は、これらの脅威によるリスク軽減のために、多層的かつ段階的な対策をとることができます。メール攻撃対策製品「Deep Discovery™ Email Inspector」および Webゲートウェイ対策製品「InterScan Web Security」は、ランサムウェアを検出し、侵入を防ぎます。ネットワーク挙動監視ソリューション「Trend Micro Deep Discovery(トレンドマイクロ ディープディスカバリー)」は、「文書脆弱性攻撃コード検出を行うエンジン(Advanced Threat Scan Engine、ATSE)」などによりランサムウェア脅威を警告します。

トレンドマイクロの中小企業向けクラウド型のエンドポイントセキュリティサービス「ウイルスバスター ビジネスセキュリティサービス」は、「FRS」技術によりウイルス検出を行っています。また同時に、これらのエンドポイント製品では挙動監視機能(不正変更監視機能)の強化により、侵入時点で検出未対応のランサムウェアであってもその不正活動を検知してブロックできます。

トレンドマイクロの個人向けクライアント用総合セキュリティ対策製品「ウイルスバスター クラウド」は、不正なファイルやスパムメールを検出し、関連する不正な URL をブロックすることによって、強固な保護を提供します。

関連する SHA256ハッシュ値:

  • ff3e29a31f05016dedcd61a7aac588757c8364f04fa85b7a86196c9805cd811c
  • f7d0ccb86876cd4852fa376d69e6a0073a2c5cefaa3bfc012a9b8fe371d8cdb6

※調査協力:Jaaziel Carlos

参考記事:

翻訳:室賀 美和(Core Technology Marketing, TrendLabs)