Symantec Security Response Weblog
W32.Downadup.C Pseudo-Random Domain Name Generation 」より
March 27,2009 Posted by John Park

 疑似乱数から生成したドメインを中継地点(ランデブー・ポイント)に使うというのは,賢いアイデアだ。一般にボットネットの管理者(ボット・マスター)は,1カ所だけ設けた中継地点を介してボットネットを制御する。この中継地点は変化しない静的な存在なので,ここを乗っ取れば誰でもボットネット全体を手中に収められる。つまりこの静的な中継地点がボットネットの弱点であり,ボット・マスターにとっての悩みの種である。中継地点のサーバーが陥落するか,そのサーバーのIPアドレスが悪質なものとみなされてブラックリストに登録されると,ボット・マスターはボットネットの制御権を完全に失う。IPアドレスのブラックリスト登録に対抗する手段として,ドメインのIPアドレスを短い時間間隔で変更する「Fast-Flux」という手法が存在する。ただしこの方法は,ドメイン名のブラックリスト登録には手も足も出ない(関連記事:攻撃の高度化,「Fast-Flux」から「RockPhish」まで――その1)。

 疑似乱数を使って生成した静的でないドメイン名は,現実的にはリスト化することは難しいため,ドメイン名のブラックリスト登録への対抗策となる。これによって,現時点でボットネットに存在する最大の弱点が解消される。

 中継地点をたくさん持ったとしても,大量のドメイン全部を登録できるとは限らないし,基本的にそのすべてを手にしているとは限らないことである。疑似乱数ドメイン名生成アルゴリズムと通信プロトコルがリバース・エンジニアリングによって解析されてしまえば(Downadupのケースがそうだった),ボットネットを盗まれかねない。Downadupの作者はこの短所に気付いており,クライアントで非対称暗号による認証を実行するという対抗手段を用意した。この認証処理のおかげで,ボットネットは正しい秘密鍵を知られない限り乗っ取られない。

 Downadup対策を目的とする業界団体「Conficker Working Group」は先回りしてドメインを登録していたが,Downadupの最新の亜種「Downadup.C」は,その上を行くよう進化した。それまで1日当たり250個生成していた中継地点用ドメインの数を5万個に増やし,実質的にドメインを毎日漏れなく登録することができないようにした(関連記事:Windowsの脆弱性悪用ウイルスに新たな亜種、セキュリティ機能を停止/「W32.Downadup」ワーム対策の業界団体を設立)。

 Downadup.Cには興味深い点が一つある。感染したパソコンから返信される問い合わせの頻度が,以前の亜種は2~3時間に1回だったのに対し,Downadup.Cでは1日1回程度に減った。さらに,生成した5万個のドメインからランダムに500個を選んで問い合わせる。正しい秘密鍵を持っているボット・マスターがあるドメインを一つだけ登録すると,そのドメインに直接アクセスできるDownadup感染パソコンは全体の1%に限られる。なお,この1%という割合は理想的な条件のときに成り立つ数字で,実際には疑似乱数ドメイン名生成機能の内容やパソコンのオンライン/オフライン状況,時刻,問い合わせ先ドメインにアクセスできるかどうかなど,状況によって大きく変わる。問い合わせ頻度を下げた理由の一つとして,300万台超もの感染パソコンから届く膨大なトラフィックを処理できるサーバーは簡単には構築できないことが考えられる。これだけクライアントが増えると,トラフィックを絞らない限り,サーバーは分散サービス妨害(DDoS)攻撃を受けたのと同じ状態になる。

 1%という割合は少なく思えるが,ボット・マスターが毎日1ドメインずつ登録していけば,1カ月以内でボットネットに所属するパソコンの3分の1が直接アクセスできる状態になる。以下に掲載したWebアプリケーションを使うと,アクセス可能になるDownadup感染パソコン台数を2009年4月1日基点でシミュレーションできる。これは極めて単純なモデルといくつか理想的な条件を仮定したシミュレーションであり,ドメイン名の生成や問い合わせの時刻,パソコンのオンライン/オフライン状況,感染パソコンの地域的分布には偏りがないものとした。少数のドメインを地道に登録していくだけでも大きな結果につながる可能性を読み取ってほしい。三つのパラメータを設定できるようにしてある。

・初期感染数(Initial infection):Downadup.Cに感染したパソコンの合計台数。Downadup.Cは,「Downadup.B」に感染していたパソコンがDownadup.Cにアップデートされて広まった。Downadup.C用アップデートのリリース時点で,Downadup.B感染パソコンは約300万台あった。ただし,Downadup.BからDownadup.Cにアップデートされたパソコンの割合は少ないようだ。

・ペイロード配布用ドメイン(Domain with payload):ボット・マスターが毎日登録するドメインの数(初期値は1日1個とした)。

・ドメイン封鎖時間(Take Down Time):攻撃用ドメインが発見されてから封鎖されるまでにかかる時間。攻撃用ペイロードの配信用サーバーが発見から6時間以内に封鎖されれば,ペイロードを受け取るDownadup感染パソコンの台数は4分の1になる。

 さらに,PtoPネットワークを使い,この1%のドメインをシード・ノードとしてペイロードを再配信すると,配信効率が上述した直接配信に比べ飛躍的に高まる。


Copyrights (C) 2009 Symantec Corporation. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「W32.Downadup.C Pseudo-Random Domain Name Generation 」でお読みいただけます。