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

ドメイン生成アルゴリズム(DGA)は、コマンドおよび制御サーバーとのランデブポイントとして使用できる多数のドメイン名を定期的に生成するために使用されるマルウェアのさまざまなファミリに見られるアルゴリズムです。 潜在的なランデブポイントの数が多いため、感染したコンピュータは毎日これらのドメイン名の一部に連絡して更新やコマンドを受信しようとするため、法執行機関がボットネットを効果的にシャットダウンすることが困難になります。 マルウェアコードで公開鍵暗号化を使用すると、一部のワームはマルウェアコントローラによって署名されていない更新を自動的に拒否するため、法執行機関や他のアクターがマルウェアコントローラからのコマンドを模倣することは不可能になります。

例えば、感染したコンピュータはwww.<gibberish>.comのような何千ものドメイン名を作成し、更新やコマンドを受信する目的でこれらの一部に接触しようとします。

以前に生成された(コマンドおよび制御サーバーによって)ドメインのリストの代わりにDGAをマルウェアのunobfuscatedバイナリに埋め込むことは、企業内の感染したホストからのアウトバウンド通信を制限しようとするために、ネットワークブラックリストアプライアンスに先制的に供給される可能性のある文字列ダンプから保護します。

この技術はワームのConfickerファミリーによって普及されました。と。bは、最初は一日あたり250のドメイン名を生成しました。 Confickerから始まります。C、マルウェアは毎日50,000のドメイン名を生成し、そのうちの500に接続しようとし、マルウェアコントローラが一日あたり一つのドメインのみを登録した場合、感染したマシンに毎日更新される可能性が1%になります。 感染したコンピュータがマルウェアを更新するのを防ぐために、法執行機関は毎日50,000の新しいドメイン名を事前登録する必要がありました。 ボットネットの所有者の観点からは、各ボットが毎日照会するいくつかのドメインのうち、一つまたはいくつかのドメインを登録するだけです。

最近、この手法は他のマルウェア作成者によって採用されています。 ネットワークセキュリティ会社Damballaによると、最も普及しているDGAベースのクリムウェアファミリーのトップ5は、2011年現在、Conficker、Murofet、BankPatch、Bonnana、Bobaxです。