この数週間に、McAfee Labsではマクロマルウェアの新しい亜種を発見しました。この亜種が含まれるdocファイルをクリックすると、「This document is protected against unauthorized use. Enable Editing and Enable Content to read content(この文書は不正な使用から保護されています。コンテンツを読むには、編集とコンテンツを有効化してください)」というメッセージが表示され、マクロを有効化するよう求められます。ユーザーが「Enable Content(コンテンツの有効化)」をクリックすると、マクロが有効化され、悪質なコンテンツがダウンロードされます(デフォルトでは、Microsoft Windows は保護されたビューが有効化されており、ユーザーが有効化しない限り悪質なマクロは実行されません)。
3月の初頭から、私たちは高度な難読化アルゴリズムを使用して、静的で昔からあるマルウェア対策検知技法から自身を保護するマクロマルウェアを観察しています。マクロマルウェアは進化を続けており、新しい技法を使って検知を免れています。
一見するだけでは、このマクロマルウェアの意図を予想するのは困難です。このコードを解読すると、判別できる多くの文字列が見つかりました。難読化されたマクロは次のようになります。
以前のブログ(英文)では、ドキュメントファイル内のマクロがどのようにMaxMindサービスを使用してIPベースの地理位置データを収集するかについて説明しました。以前の亜種は、仮想マシン認識、サンドボックス認識などの回避技法を活用していました。私たちは先週、いくつかの新しい調査を行いました。
paintedイベントの使用
新しい亜種に見られた1つ目の大きな変化は、マクロの自動実行のためにAutoOpen()またはDocumentOpen()関数を使用しなくなった点です。この亜種は、その代わりにpaintedイベントを使用します。この回避技法によって、ペイロードがAutoOpen()を使用して実行されることを想定している一部のスキャナを迂回することができます。
ファイル名のチェック
もう1つの変化はファイル名をチェックすることです。これはシンプルかつスマートな手法です。大半のケースでサンドボックスに送信されるファイルには、ファイル名としてSHA256またはMD5ハッシュを使用した16進数しか含まれていません。ファイルの名前に16進数文字しか含まれていない場合、このファイルがこれ以上犠牲者のマシンに感染することはありません。次のコードスニペットでは、このマルウェアはファイル名「TestMacro」が16進数文字かどうかを確認します。
実行プロセス数
このマルウェアは、実行プロセス数もチェックします。プロセス数が50未満の場合、このマルウェアはふるまいを停止します。セキュリティ調査員は、実行中のプロセスが50未満の仮想環境の新しいコピーを使用することが多いため、この手法によって簡単に分析を回避できます。コードスニペットは以下の通りです。
プロセスのブラックリスト
これらのマクロベースのダウンローダは主にスパムやフィッシングメールを介して伝搬されるため、攻撃者は電子メールスキャナやゲートウェイ製品などの境界デバイスに侵入することに尽力しています。このマルウェアは、サンドボックス環境で実行されている可能性のあるプロセスの存在をチェックします。新しい亜種では、このチェックリストが拡張されています。
ネットワークのブラックリスト
私たちのブログでは、脅威実行者がMaxMindサービスを使用してIPベースの地理位置データを収集する方法についても紹介しました。この亜種は、オセアニア地域をチェックします。また、MaxMindを使用してチェックする文字列のリストも拡張されました。この文字列リストは高度に難読化されており、理解するのが困難です。難読化された文字列は、次のスニペットのようになります。
難読化アルゴリズムは頻繁に変更されます。この亜種については、小さいPythonスクリプトを使用してコンテンツを解読しました。
このマルウェアは、犠牲者のマシンのネットワークプロバイダの名前をチェックします。ドキュメントファイルが、これらのリストに含まれているいずれかのベンダーのネットワークで開かれていることが確認された場合、マシンはこのマルウェアの影響を受けません。
マルウェア作成者はサンドボックス回避技法をさらに進化させているため、マルウェア対策製品のセキュリティ強化はますます困難になっています。
インテル セキュリティでは、すべてのユーザーに対して、マルウェア対策用のシグネチャを常に最新の状態にしておくようにアドバイスしています。マカフィー製品は、このマルウェアをW97M/Downloaderとして検知します。
サンプルMD5
- 05ef99749dec84ffd670ffcfba457c68
- 2a03a7172b3fe4a8e50eb337643f8a55
- 317b3f381b8feeb84b7318b1c1bf0970
- 531364f5afadcadd83aef3158c100c98
- 535aba8b1a5f0585d2878fd39c8b05d2
- 73267a21adcf9b587cb44bf54d496b6c
※本ページの内容は 2016年9月29日更新のMcAfee Blog の抄訳です。
原文: Macro Malware Employs Advanced Sandbox-Evasion Techniques
著者: Diwakar Dinkar (a Research Scientist)
Satish Chimakurthi (a Security Researcher)
【参考文献】
Ursnif Banking Trojan Campaign Ups the Ante with New Sandbox Evasion Techniques(英文)
【関連記事】
第5回:今だから学ぶ! セキュリティの頻出用語 : マルウェアとは?
第6回:今だから学ぶ! セキュリティの頻出用語 : サンドボックスとは?
第16回:今だから学ぶ! セキュリティの頻出用語 : フィッシング とは?