森基金 研究成果報告書 (2007年度)

大学院政策・メディア研究科 修士2年 渡邊昌幸
学籍番号:80625506 ログイン名:masayuki

DNSを用いたボットネット無効化の研究

背景

 近年,ネットワークにおけるセキュリティ上の大きな問題となっているのがボットネットの存在である.ボットネットとは,ボットと呼ばれるウイルスの一種が構成するネットワークの総称である.ボットネットは,通常のウイルスやワームなどと同じく感染・拡散機能,外部からの操作を有効にするバックドアの機能,PC 内の情報を外部に送出するスパイウェア機能を有するほか,herder または botmaster と呼ばれる人間の指示によりDDoS 攻撃やスパムメールの送信といったさまざまな活動を行う.
 日本においては,Telecom-ISAC と JPCERT/CC が 2005 年に共同で実施した「ボットネット実態把握プロジェクト」で,国内の 40 万~50 万台の PC がボットに感染しているとの報告があり,これは全体の 2~2.5%,つまり 40~50 台に 1 台の割合でボットに感染しているとの報告があった.しかし,IPAが行った「2007 年度第 1 回情報セキュリティに関する脅威に対する意識調査報告書」において,ボットを「聞いたことがない」と回答した人が全体の 6割に上っており,ボットネットに対する一般の認識は薄いのが現状である.また,ボットネットに対する研究も,ボットネットの登場自体がここ数年の出来事であるため,ボットネットの実態が十分に明らかになっているとはいえない.また,ボットネットは日々進化を続けており,以前の研究が現在では実情にそぐわないことも十分に考えられる.
 本研究ではまずボットネットの特徴を理解するために,ボットネットに関する調査を行った.その後,調査結果を基に,ボットを検知するためのシステムを構築し,運用・評価によって有効性を検証した.

活動の詳細

1.ボットネットの調査

本研究では,ボットネットの無効化を最終的な目的にしているが,ボットおよびボットネットの実態は十分に明らかになっているとはいえない.ボットネットの調査に関する先行研究は存在するものの,ボットネットは常に進化を続けており,数年前の研究であっても現状と異なる場合が考えられる.そのため,本研究ではまずボットネットの実態を把握するためにボットネットに対する調査を行った.

 ボット検体の捕獲と挙動観測

ボットネットの実態解明のために,まず実際にボットネットで用いられているボットを捕獲し,その挙動を観測した.ボットを含むマルウェア検体の捕獲には,低対話型ハニーポットである Nepenthesを用いた.また,マルウェア検体を活動させるために VMwareを用いて仮想環境を構築し,VMware 上のWindows で検体を活動させ,その挙動を観測した.
挙動観測の結果,IRC(Internet Relay Chat)の仕組みを用いたボットネットについて,ボットネットの命令サーバ(Command and Control server : C&Cサーバ)の以下の情報を取得することができた.

これらの情報は,IRC サーバに接続を行う際に必要な情報であり,ボットネットが IRCのメカニズムを用いて C&C サーバを構築している限り,必要不可欠な情報である.

ボットネットの運用に関する調査

ボットネットの冗長性確保の実態を調査するため,前節で抽出したボットネット C&Cサーバの FQDN に対し,DNS クエリを 1 時間毎に行うことによって,C&C に割り当てられた IP アドレスを取得した.得られた IP アドレスは,データベースソフトウェアであるPostgreSQLを使用し,データベースに格納した.
また,IPアドレスから地理上の緯度経度を求めることができるGeoIP というデータベースを用いて,C&Cサーバの地理上の緯度経度を求めた.また,GoogleMapsAPIを用いてC&Cサーバの移動の様子を視覚化した.図1に視覚化によって得られたC&Cサーバの移動の例を示す.

視覚化
図1 C&CサーバのIPアドレスの変化とIPアドレスからの緯度経度変化の視覚化

この例の場合,2007 年 4 月 6 日から 5 月 31 日までの約 2ヶ月の IP アドレス観測期間中に,home.na jd.us という同一の FQDN に対して 4 つの IP アドレスが対応していたことが分かる.2007 年 4 月 6 日の観測開始時にはアメリカのカリフォルニア州の IP アドレス 216.102.21.26に C&C サーバが存在したが,4 月 7 日にはマレーシアの IP アドレス 203.115.204.58 に移動している.その後,4 月 12 日にアメリカのコロラド州の IP アドレス 72.174.8.243 に移動し,さらに 4 月 21 日には中東のイエメンの IP アドレス 63.173.172.98 に移動し,5 月31 日の観測終了日を迎えている.

考察

ある FQDN と IP アドレスをもつボットネットの C&C サーバが何らかの理由で閉鎖したとしても,何らかの手段によって得られた異なる IP アドレスをもつコンピュータに IRCサーバを構築し,DynamicDNS を用いて FQDN を割り当てることでボットをその新しいサーバに誘導し,ボットネットの運用を継続することができる.または,視覚化した C&C サーバの例のように,定期的に DynamicDNS を用いて異なるIP アドレスを持つ IRC サーバに C&C サーバの FQDN を対応させることで,C&C サーバを IP アドレス的にも地理的にも移動させ,ISP などによる対策を予防する効果がある.
このように DynamicDNS を用いることで C&C サーバの冗長性を確保があるものと考えられる.また,DynamicDNS は C&C サーバの秘匿にも使用できる.ボットネットを使用しないときは,C&C サーバの FQDN に対して 0.0.0.0 や 127.0.0.1 のローカルループバックアドレスなどを割り当てておけば,ボットC&C サーバに接続しないため,C&C サーバへのトラフィックがなくなり,C&C サーバを秘匿できる.
このように,DynamicDNS を利用することでさまざまな応用が考えられ,ボットネットの冗長性確保に役立っている現状を,調査により明らかにすることができた.

2.ボット検知システムの設計・開発・評価

 ボットネットのC&Cサーバ(Command and Control サーバ)として,IRC(Internet Relay Chat)を利用したボットネットを対象とし,そのボットネットに属するボットを検知するシステムを構築した.検知方法として IDS(Intrusion Detection System : 侵入検知システム)であるSnortを用い,C&Cへの接続を検知するための独自ルールを Snort に適用することでボットの検知を行う.
 システムはハニーポット部とサーバ部で構成され,ハニーポット部で捕獲した検体をサーバ部で分析し,Snortのルールを作成する.
 Snortのルールを作成するシステムの概要を図2に示す.

system
図2 Snortルール作成システム概要図

本システムの有効性を確認するため,本システムで作成したルールを適用したSnortによるボットの検出実験を行った.
ある一定期間(約4ヶ月)収集したマルウェアの検体を,その期間の最後に活動させてC&Cサーバのの情報を抽出しSnortのルールファイルを作成した.つぎにそのルールを用いてそれ以降の期間(約4ヶ月)で捕獲したボットをどのくらい検出できるかの実験を行った.検出率は約60%〜70%程度であり,決して十分な割合ではなかった.検出率が低かった原因として,ルールを作成してから検出実験を行うまでの期間(約4ヶ月)に新たなボットネットが出現していたため,このボットネットを検出できなかったことが挙げられる.このことから,本システムを自動化(リアルタイム化)することにより,新たに出現するボットネットに対応できると考え,自動化(リアルタイム化)の実装を行った.

リアルタイム化により,ハニーポットが新たなボット検体を捕獲してから数分でそのボットに対応した Snort のルールを作成することが可能になった.短いタイムラグでルールファイルを最新のものに更新できることにより,新たな C&C サーバをもつボットネットが出現した場合であっても,短い時間でその C&C に接続するボットを検知できるようになる.また,本システムでは,1 時間毎に事前に収集した C&C サーバの FQDN に対して DNSクエリを行って IP アドレスを取得し,有効な IP アドレスを得られる C&C サーバのみをルールファイルに記述する.これは,Snort はルールヘッダに FQDN がある場合,FQDNを DNS サーバに問い合わせて IP アドレスを取得し,その IP アドレスで検出を行う.その際,FQDN に対応する IP アドレスが存在しない場合,Snort はエラーを出力して起動を停止してしまうため,これを回避するために C&C サーバの FQDN に IP アドレスが割り当てられているかどうかを定期的に確認する.
リアルタイム化により,リアルタイム化前は60~70%だった検出率が,リアルタイム化は約95%に向上した.このことから,リアルタイム化された本システムの有効性を確認することができた.また,市販のアンチウイルスソフトで検出できないマルウェアを検出した事例も確認できた.

まとめ

本研究では,ボットネットについて多角的な調査を行い,ボットネットの特性を解明するとともに,ボット検知システムを実装,運用調査によるシステムの有効性の検証を目的として,ハニーポットなどから得られたデータの分析と,ボット検知システムでのボット検知実験を行った.
ボットネットを調査することでその実態を確認し,攻撃者がさまざまな手段をもって,マルウェアや関係するサーバの存在を露呈したり分析されることを防止している現状について知見を得た.また,ボット検知を行うための IDS ルールファイルを作成し,その有効性を検証した.本システムで作成された IDS ルールを用いることで,IRC を用いたボットネットに所属するボットを検知できる.
本研究で明らかになったように,herder やマルウェア作成者はさまざまな手法を用いてマルウェアが分析されることやサーバの存在が露呈することを避けるような工夫を続けている.当面攻撃者優位の状況が続くものと思われるが,日々変化する状況を分析し,herderやマルウェア作成者の意図を推測して対策を行っていくことが重要であり,そのような対策の 1 つとして本研究が貢献できれば幸いである.