マルウェア
「EMOTET」運用の仕組み:異なる役割を持つインフラストラクチャを交互に使用
EMOTETの活動とインフラストラクチャに関する2018年11月のブログ記事(英語)に続いて、本記事では「不正な文書ファイルを利用した拡散」と「実行ファイルのパックおよびデプロイ」を別々のインフラストラクチャが担う多層的な運用の仕組みについて解説します。
2014年に初めて確認された「EMOTET」は、追加モジュールによってさまざまな不正活動を行う機能によって現存するマルウェアの中で最も悪名高いものの1つとなっています。米コンピュータ緊急事態対策チーム(US-CERT)は、2018年7月、EMOTETによる被害の修復に州および地方政府は事例あたり最大100万ドル(2019年1月28日時点で約1億1,000万円)を費やしたとする注意喚起を公開しています。
EMOTETの活動とインフラストラクチャに関する2018年11月のブログ記事(英語)に続いて、本記事では「不正な文書ファイルを利用した拡散」と「実行ファイルのパックおよびデプロイ」を別々のインフラストラクチャが担う多層的な運用の仕組みについて解説します。
EMOTETに関する広範な解析とロシア語話者と思われる攻撃者とのつながりについては、リサーチペーパー「Exploring Emotet’s Activities」を参照してください。
■多層的な運用の仕組み
EMOTETは主に不正なURLを含むスパムメールによって拡散します。問題のURLからは不正な文書ファイルがダウンロードされ、この文書ファイルがEMOTETの実行ファイルのドロッパとして機能します。トレンドマイクロは、不正な文書ファイルの作成と拡散を担うインフラストラクチャと、実行ファイルをパックしてデプロイするインフラストラクチャが異なるものであることを確認しています。不正な文書ファイルの作成時刻と実行ファイルのコンパイル時刻を分析することにより、それぞれのインフラストラクチャの活動パターンが浮かび上がってきました。
不正な文書ファイルの作成時刻
EMOTETの攻撃者は頻繁に文書ファイルを利用するため、まとまった量の文書ファイルを収集することができました。それらのファイルを作成日時に基づいてグラフ化したところ、図1および図2のような活動パターンを確認することができました。
図1は、EMOTETをドロップする不正な文書ファイルを作成日ごとに集計したものです。縦軸は作成時刻のタイムスタンプに基づいて重複を取り除いた固有のファイル数です。週に1日か2日、ファイルが作成されていない日があることが分かります。また、2018年9月には不正な文書ファイルが1日に20回以上作成されていました。
図 1:作成日ごとに集計した不正な文書ファイルの数
※作成時刻に基づく固有なファイル数を集計
図2は作成時刻に基づいて不正な文書ファイルを集計したグラフです。UTC 1:00時台から6:00時台の間に活動が低下する時間帯があることがあることから、不正な文書ファイルを作成するインフラストラクチャのタイムゾーンはUTC+0近辺だと考えられます。
図 2:作成時刻に基づいて集計した不正な文書ファイルの数
※作成時刻に基づく固有なファイル数を集計
実行ファイルのコンパイル時刻
次に、自作ツールでパックされたEMOTETの検体のコンパイル時刻を調査しました。通常のマルウェアパッカはコンパイル時刻を消去または改ざんしますが、EMOTETの検体の一部では正しいコンパイル時刻と思われるタイムスタンプを確認することができました。
トレンドマイクロが確認した以下のSHA256値を持つEMOTETの検体は、コンパイル時刻のわずか数分後に検出されています。
- 30049dadda36afb0667765155aa8b3e9066511f47e017561bee7e456d4c0236d
- 2f93c8c97f99c77880027b149d257268f45bce1255aeaefdc4f21f5bd744573f
EMOTETの検体がコンパイルされてから検出されるまでの時間を調べるために、以下の数式でコンパイル時刻と検出時刻の差を計算しました。
delta = Math.Floor(初めて検出された時刻 – コンパイル時刻のタイムスタンプ) |
タイムゾーンが異なる可能性を考慮し、deltaの値が-24時間から+24時間の範囲にあるものを改ざんされていないコンパイル時刻と想定し、571個の中から371個の検体を抽出しました。得られたdeltaの値を分毎に集計したグラフが図3です。もしコンパイル時刻がランダムに改ざんされていた場合、均一な分布となるはずです。そのため、deltaが2つのグループに分かれたことは注目に値する結果だと言えます。
図 3:初検出時刻とコンパイル時刻の差(delta)の分布(単位は分)
単純にdeltaの値に基づくと、101個の検体は検出される約7時間前にパックされていました。コンパイル後、比較的短時間で検出されると想定した場合、これらの検体をコンパイルしたインフラストラクチャのタイムゾーンはUTC+7に設定されていると考えられます。同様に、deltaが60分未満で分布している267個の検体をコンパイルしたインフラストラクチャのタイムゾーンは、UTC+0だと予想されます。残りの検体についてはコンパイル時刻が偽の時刻に書き換えられている可能性が高く、特に情報は得られませんでした。
deltaの値に基づく2つの検体グループを初検出された日付に基づいてグラフ化したところ興味深い振る舞いを確認することができました。EMOTETの攻撃者は、1日~5日ごとに使用するインフラストラクチャを切り替えながら、実行ファイルを作成およびデプロイしているようです。
図 4:初検出された日付ごとに集計した検体の数(青:UTC+7、赤UTC+0)
※点の大きさは検体数を表す
多層的な運用の仕組み
続いて、不正な文書ファイルと実行ファイルの活動状況を1つのグラフにまとめてみたところ、一方の活動が確認された日付に他方が活動していない日があることが確認できました。これはおそらく、役割を分担した多層的な運用の仕組みが存在していることを意味していると考えられます。
図 5:不正な文書ファイル(赤)と実行ファイル(青)の活動状況
■被害に遭わないためには
EMOTETはソーシャルエンジニアリングの手法を利用してスパムメールに含まれた不正なURLをクリックさせることで拡散します。そのため、不審なEメールを開かないことでこの脅威に感染するリスクを減らすことが可能です。利用されている言語として、英語、ドイツ語、フランス語が確認されており、件名と添付ファイルには、通常、支払いに関する「invoice」、「payments」、「receipts」のような単語が含まれています。
EMOTETをドロップする不正な文書ファイルのダウンロードURLには、以下のように、「US」や「DE」のような国を表すコードや、「commercial」、「small business」、「payroll」といった文字列が含まれています。
- hxxp://arad-net[.]ir/files/En_us/Invoice-for-sent/Deposit/
- hxxp://arendaufa02[.]ru/files/En_us/Aug2018/Invoice-067831
- hxxp://cestenelles[.]jakobson[.]fr/521EHMUI/BIZ/Personal
- hxxp://checkout[.]spyversity[.]com/9iifVzAhH4pD3D/BIZ/Firmenkunden
- hxxp://challengerballtournament[.]com/9773605LDMSIR/identity/Smallbusiness
EMOTETはWindowsで利用されるServer Message Block(SMB)の脆弱性を利用して拡散することも知られています。問題の脆弱性が残っている場合、直ちにオペレーティングシステム(OS)を更新することが推奨されます。また、ユーザの認証情報を窃取するためにブラウザおよびEメールのパスワードを窃取するモジュールや、ハッキングツールの利用も確認されています。定期的にパスワードを変更することによりこのような攻撃の影響を緩和することが可能です。
EMOTETの感染の流れ、バイナリファイルの解析、攻撃者に関する考察、運用の仕組み等の詳細についてはリサーチペーパー「Exploring Emotet’s Activities」を参照してください。
参考記事:
- 「Going In-depth with Emotet: Multilayer Operating Mechanisms」
by Trend Micro
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)