この投稿は Nick Biasini の寄稿に基づき Steve Poulson が作成しました。
エクスプロイト キットは絶えず進化し、変化しています。Angler に加えられた軽微な変更については、最近投稿しましたが、その後、3 月 8 日に大幅な変更が行われました。このブログ記事では、これらの変更点の概要に触れ、Angler の URL 構造の新たな特性と、その作成に利用された単語の出所について考察します。
新しくなった Angler
3 月 8 日、Talos は Angler の URL 構造が大きく変化していることを発見しました。
これは大幅な変更であり、ランディング ページの URL のあらゆる部分に及びます。
最初に、従来の構文をみてみましょう。
e.serenawilliamsbeauty.com/forum/view.php?forum_id=t4g&id=tnm9epz5bt3cua9snw8b1etdv2fd46zmo5-6s4n94yeh023g_y8ym2896c-0fnmmzxpec27qye_x2dswec8dgxxapds5ngbt3
このランディング ページには、すでに確認されている最近のすべての変更が含まれています。このランディング ページは、3 月 8 日 9 時 9 分(UTC)に配信されています。この後、9 時 12 分(UTC)に変更が開始され、ランディング ページの URL は次のようになりました。
e.serenawilliamsbeauty.com/topic/8v5b9e6bm4bviy3nn-bctjwc-ey18kdoil8mlj4o5n1zmpq26he6ta1hhfxakimx6n25dg9zhlw6vjmlevqb8vviwey8j-ikkhdw/
さらに 9 時 28 分(UTC)には、次の最終バージョンに変更されています(変更は翌日まで続きました)。
d.studentmarketingnow.com/topic/0647949414-underemphasis-griffon-reacts-prevented-royals-ceiling-pliers-misappropriated/
これらすべてが 1 台のサーバでホストされていたため、この 20 分の間にプロキシ サーバ上でランディング ページのバージョンの変更が何度か繰り返された後、上記の最終バージョンに落ち着きました。同時間帯に観察したすべての Angler プロキシ サーバについても、同じ現象が確認されました。
これは Angler に復元力が備わっていることと、機能が巧妙に分散されていることを示しています。攻撃者がプロキシ サーバとエクスプロイト サーバを分離し、ある種の自動更新を志向しているのには理由があります。サーバは長時間ダウンすることはなく、
また、更新中も機能し続けていたからです。
それ以降は 1 回だけわずかな変更が加えられ、最終的に次のような URL 構造になりました。
board.soxtix.com/topic/16750-gunshot-bureaucratic-cults-truth-mistime-donned-delta-campfire/?
最後の 2 つのランディング ページの違いは、サブフォルダの先頭の桁数だけです
(10 桁から 5 桁に減少)。最終的な構文は、次のように表すことができます。
/topic/[5 桁の数字]-word1-word2-word3-word4-word5-word6-word7-word8/
更新情報: Angler は最近また変更を加えており、ランディング ページの URL の単語数が 8 から 7 に減少しました。
この「topic」フォルダ以降への変更、つまり、5 桁の数字と、8 つのハイフンで分割された単語という形式は、フォーラム エンジンとしてよく知られた IP.Board に似ています。以下の複数の URL は、IP.Board を使用して得られたものです。Angler がいかにこのソフトウェアと似た動作をしているかが分かります。
forums.colts.com/topic/44923-both-grigson-and-pagano-at-alabama-pro-day
vse.kz/topic/53979-internet-ot-ao-kazakhtelekom-megaline-idnet-i-tp
boards.dallascowboys.com/topic/60399-how-much-liquor-will-you-drink-when-osweilermillerhopkins
以後数日にわたってランディング ページの URL の分析を行い、使用されている単語を調査しました。
辞書の分析
私たちはランディング ページの URL の何千もの単語から、epigrammatic、atropine、umbrageous などのように、重複がないか、または、使用頻度が少ないものを抽出しました。
問題は、これらの単語の出所です。インターネットには簡単に利用できる辞書がいくつもあります。しかし、これらの URL の単語が含まれていない辞書は、候補から除外することができます。URL の単語がすべて含まれていて、収録語数が最も少ない辞書を特定できれば理想的です。
調査の結果、そのような辞書が 3 つ見つかりました。
- ftp://ftp.cs.princeton.edu/pub/cs226/puzzle/wordlist-d.txt
- http://www.wyrdplay.org/12dicts-5.0.zip
- http://advancedsoftweb.googlecode.com/svn/CrosswordBuilder/dict/corncob.dict
この中からさらに 1 つに絞り込むために、収集した URL の単語を対象に次の 2 つの特性の出現率を調べました。(実測)
- 単語の長さ
- 先頭の文字
同様に、それぞれの辞書についても同じ特性の出現率を計算し、類似性を図に示しました。類似性の客観的尺度としてピアソンの相関係数も計算しました。この係数では 1.0 に最も近い辞書の類似性が最も高いことになります。
単語の長さ
すべての辞書が高い類似性を示しています。ただし、wordlist-d.txt では 7、8、9 文字の単語以外に、それよりも文字数の多い単語の割合が多くなっています。2of12inf.txt はさらに類似性が高く、最も類似性の高いのが Corncob です。
相関係数では corncob.dict が、1 に最も近い値を示しています。
先頭文字の頻度
ここでもすべての辞書がサンプルのパターンに類似しています。ただし、wordlist-d.txt ではサンプルの文字数をわずかに上回るか下回る例が多くなっています。この場合も corncob.dict が最も類似しています。
ここでも相関係数を用いると、corncob.dict が 1 に最も近い値となります。
結論
Angler の URL コード生成に使用される単語の出所として、corncob.dict の可能性が最も高いと考えられます。URL で使用されているすべての単語が、通常あまり使用されない単語も含め、すべてこの辞書に含まれており、さらに、単語の長さと先頭文字の分布が似通っているからです。また、corncob の収録語数が最も少ないことも理由として挙げられます。収録語数が少なければ少ないほど、サンプルの URL で発見された全 1776 語が偶然含まれていた確率は低くなるからです。この発見により、より効果的な検出が可能になるとともに、Angler トラフィックで見られるその他の単語の出所も説明できます。またこれは、DGA など他のトラフィックの生成メカニズムを特定する手法としても有効です。
カバレッジ
最近行われた Angler エクスプロイト キットの変更に対応するために、更新ルール 38228 をリリースします。該当するドメインは発見され次第、シスコのドメイン レピュテーション システムによりブロックされます。また、エクスプロイトに悪用されている Flash ファイルや Sliverlight ファイルもブロックされます。
最新のルールの詳細については、Defense Center、FireSIGHT Management Center、または Snort.org を参照してください。
Cisco Advanced Malware Protection(AMP)は、このような攻撃者が使用するマルウェアの阻止に最適です。
CWS や WSA の Web スキャンは、悪意のある Web サイトへのアクセスを阻止し、それらの攻撃に使用されたマルウェアを検出します。
IPS のネットワーク セキュリティ保護や NGFW には、攻撃者による不正なネットワーク アクティビティを検出できる最新のシグネチャが備わっています。
本稿は 2016年3月21日に Talos Group のブログに投稿された「MALWARE WORD SEARCH: IDENTIFYING ANGLER’S DICTIONARY」 の抄訳です。