Sphinxの大DGA

dennis

投稿者:Dennis Schwarz
投稿アーカイブ:analysis、Botnets、Interesting Research、Malware、Reverse Engineering、threat analysis

great_sphinx_of_giza_may_2015-1024x683

本稿では、Sphinxのドメイン生成アルゴリズム(DGA)について手短に考察します。Sphinxは、Zeusをベースにした銀行を標的とするトロイの木馬の亜種で、2015年8月頃に出現しました。DGAのドメインは、ハードコードされたプライマリコマンド&コントロール(C2)サーバーがダウンした場合のバックアップメカニズムとして使用されます。今のところ、どのバージョンでDGAの機能が追加されたかは不明です。

この検体は分析に使用されたもので、バージョン1.7.1.0です。

ドメイン生成アルゴリズム

このアルゴリズムが特に複雑であるということはありません。現在の日付を開始シード値として計算し、個別のドメイン文字を生成します。16文字が生成されたらTLDに追加されます。この場合は[“.com”]です。以下にこの機能のIDAのスクリーンショットを示します。

dga_ida

Python実装の概念実証は、当社調査機関ASERTのGithubでも公開予定です。このDGAコードは、任意の日付に対するドメインを決定する際にも使用できます。例えば、2016年10月13日の最初のドメインは以下のとおりです。

DGAの特徴

この分類体系を用いると、このDGAは時間依存で、決定論的、かつ演算ベースまたはTDD-Aであるといえます。

アクティビティ

年初から今日までのドメイン名空間を分解してみると、以下のアクティビティが示されますが、そのほとんどはシンクホールです。

さらに詳しく調べるために、2016年10月13日のドメインに対してシンクホールを設定してみました。24時間の時間枠に、1,230の固有ソースIPアドレスが通信してきました。IPの地理的な分布は以下のとおりです。

geoip_map

TLDのトップ10は以下のとおりでした。

tlds-1024x647

この攻撃キャンペーンで使用されたWebインジェクトはブラジルの金融機関4社を標的としたものだったため、ブラジルが24%を占めることについては分析対象の検体に関連してある程度うなずけます。

このシンクホールのデータは、DGAがマルウェア・ファミリーに対してグローバルであり、攻撃キャンペーンや顧客に特有でないということをさらに証明することにもなりました。マルウェアが実行されると、DGAのドメインは以下のテンプレートを使用してURLにフォーマットされます。

ファイル名の部分は、基本構成に保存されている構成パラメータによって追加されます。分析した検体について、パラメータは[“unique_name”]ですが、シンクホールのデータはさらに多くのパラメータを示しています。

結論

本稿は、Zeusの亜種でSphinxとして知られているマルウェアに使用されているバックアップのためのDGAと、シンクホールを利用したそのアクティビティを考察しました。興味深いことに、このマルウェアはアンダーグラウンドのフォーラムで特異な顧客に対してキットとして販売されているにもかかわらず、DGAはマルウェア・ファミリー全体に対してグローバルであるように見えます。DGAがバックアップのためのものでも、防御側は、先手をうって、脅威を監視して軽減することができる絶好の機会が得られます。