Honeynet Project

 日本では馴染みの少ないハニーポットだが,欧米には前述した通り,Honeynet Projectなどのいくつかのプロジェクトがある。Honeynet Projectには,書籍『不正アクセス防衛大全(原文はHacking Exposed)』を手がけたfoundstone社のメンバーや,Windowsのパスワード推測ツールとして有名な「L0phtCrack」を開発した@stakeのメンバーなどが参加している。メンバーは数十人で構成され,参加メンバーの国籍は米国,カナダ,イスラエル,オランダ,ドイツなどと幅広い。

 プロジェクトは1999年に始まった。すべての成果はオープンソースとして公開している。現在のところ,Honeynet Projectでの成果として,有用なツールやホワイト・ペーパーなどが多数公開されている(Honeynet Projectでは,おとりや単体のシステムとして使われる場合を「ハニーポット」,ハニーポットを組み合わせた場合や研究用途に使われる場合を「ハニーネット」と用語を使い分けている)。

 Honeynet Projectの活動は,大きく分けると次のようなフェーズで段階的に発展してきている。

(1)フェーズI(過去)
 1999年~2001年までの間に行われた研究で,このときに構築されたハニーネットは「Gen I(1st Generation)Honeynets」と呼ばれた。デフォルト設定のままインストールしたOSやアプリケーションに対して行われる一般的な攻撃を分析するのが目的だった。

 このフェーズでは,レイヤー3(IPのレイヤー)でアクセス制御するファイアウォールを設置し,外から内に向かうトラフィックはすべて許可するシステム構成を採った。

 ただ,サービス不能(DoS)攻撃やワームの感染被害拡大を防ぐため,ハニーネットから外に向かうトラフィックは制限した。外部に対して指定回数以上の接続を試みた場合,トラフィックを遮断する仕組みになっていた。この仕組みによって,ハニーネットが踏み台となり,他のネットワークを攻撃するリスクを減らした。が,半面で攻撃者に,それがハニーポットだと悟られやすい欠点を持っていた。

図3●Gen I(1st Generation) Honeynets のシステム構成
図4●Gen II(2nd generation) Honeynets のシステム構成

 さらに,侵入者の行動を収集するため,ネットワーク上を流れたトラフィックを収集し,システムレベルでログを記録した。システムは図3[拡大表示]のような構成である。ファイアウォールは,イスラエルCheckpoint Software Technologies社のFirewall-1などの商用製品,IDSはフリーのSnort(http://www.snort.org/)などを使った。そして,ログはsyslogdを使って集めた。

 初期段階ということで,フェーズ?ではハニーポットの仕組みが単純だった。これらの成果は『Know Your Enemy.』という名称で,書籍としてまとめられている。

(2)フェーズII(現在)
 これは2002年から2003年(現在)にかけての研究で,優れたハニーネットを開発すること,つまり設置しやすく,かつ攻撃者に検知されにくいシステムを目指した。データを効率良く収集することも目標の一つである。このシステムは,「Gen II(2nd generation) Honeynets」と呼ばれる。

 このフェーズでは,ペネトレーション(監査)レベルの技術を持った攻撃者を想定し,システムとしてレイヤー2(ブリッジ・レベル)で透過的にアクセス・コントロールする仕組みを持っている。これが特徴だ。ブリッジ・レベルでアクセス制御するため,TTL(Time to Live)値の減少を見てファイアウォールの存在を探索するテクニックが通用しない。

 TTLとはIPヘッダにある8ビットの領域で,多くの場合,パケットがルーターを通るたびに一つずつ減るように実装されている。フェーズ2は,攻撃者がアクセス制限の仕組みを検知しにくいシステムである。

 システムは図4[拡大表示]のような構成である。Honeynet SensorのインタフェースAからBに抜ける道が,ブリッジ・ファイアウォールである。監視用にインタフェースCが設けられ,ここを使ったVPN接続ができるようにもなっている。

 外向きのパケットは,拡張したSnortなどのツールを使い,危険なパケットを修正し,他のネットワークを攻撃しないようにしている。具体的には,無害なパケットに変更するか,もしくはパケットそのものを止めてしまう。これにより,ハニーポットが踏み台となるリスクを回避する。攻撃者にとってみれば,ファイルのダウンロードやコンパイルによるツールの作成など,望む作業を行うことができるが,ハニーネットから外部に対しては攻撃できない。

 ほかにも,VMware(詳しくは後述)を使ったハニーネットの構築方法や無線LANのハニーポット,複数のハニーネット(インド,米国ワシントン,メキシコ,ブラジル,米国イリノイ,米国フロリダなど)の攻撃データを集めたデータベースの構築などが試されている。攻撃者に知られることなく,攻撃者の行動情報を収集・検知するカーネル・モジュールの開発なども行われた。これらの技術の多くは,ホワイト・ペーパーとしてWeb上で公開されている。

 また,教育プログラムとして,1カ月ごとに問題が出され,参加者がさまざまなハニーポット技術に挑戦する「The Honeynet Challenges」が開始されたのも,フェーズIIからである。これらの技術は『Know Your Enemy. 2nd edition』として,2003年中に書籍としてまとめられる予定である。

(3)フェーズIII(未来)
 これは2003年に開始予定のプロジェクトである。フェーズIIで使用したブリッジ・レベルのアクセス・コントロール・システムを機能拡張した「Honeynets Gateway」や「Honeywall」を開発する。このシステムは,容易に設置・稼働できるようにCD-ROMでブートする。かつ,システムの内側でより安全にハニーポットを公開できることを目標とする。今まで公開されたハニーポットに関するホワイト・ペーパーの技術がすべてインプリメントされ,さらに集中管理できるように,オプションでハニーネットのログ集中管理システムにデータを送る機能も備える。これらのシステムはISOイメージで公開される予定だ。  このように,Honeynet Projectではいくつもの有用なプロジェクトが進行している。ホワイト・ペーパーなどの貴重な資料がオープンソースとして無償で公開されているので,参照されることをお勧めする。

 また,日本でも日本ネットワークセキュリティ協会(http://www.jnsa.org/)の技術部会の一つである不正アクセス調査ワーキンググループがハニーポットを研究している。2003年度末には,何らかの報告書が公開される予定だ。

ハニーポット運用上のリスク

表1●ハニーポットを公開する二つの方法

 ハニーポットを構築・運用(公開)する場合,いくつかの段階的なレベルが存在する。リスクレベルで大まかに分けると,表1[拡大表示]のように2段階に分かれる。

 単なる防御目的なら,表1に示した「シミュレート・サービス公開レベル」でよい。これは,本物のサーバー・アプリケーションではなく,前述のSpectorのようなサーバー・アプリケーションをシミュレートするソフトウェアを使う。攻撃者に対して,シミュレート・ソフトが本物のサーバー・アプリケーションと同じバナーを送り,本物のサーバー・アプリケーションのように見せかける。これで攻撃者を誘う。

 これに対して,できる限り攻撃者の詳細な情報を得ようと思った場合は,表1に示した「実サービス公開レベル」にする。これは見せかけではなく,実際のOSとアプリケーションを立ち上げ,攻撃者に対してすべての攻撃を容認するレベルである。

 実サービス公開レベルの場合は,表1にも示している通り,ハニーポット自身が踏み台となって他人のシステムを攻撃したり,新たに発生したワームに感染してウィルスをばら撒くのを防がなければならない。これらのリスクを回避するための仕組みとしては,人間による監視以外に,先に説明した(1)外向きのパケットの接続回数を制限,(2)パケットの流量を考えて,ある一定以上の外向きのパケットが流れるとネットワークを遮断,(3)Snortと組み合わせて攻撃パケットを無害なパケットに変更,(4)攻撃パケットそのものを止める,などの仕組みが考えられる。

 ただ,細心の注意を払ったのにもかかわらず,他人のシステムに対する攻撃の踏み台になる可能性を完全にゼロにすることはできない。可能なのは,出来る限りゼロに近づけることだ。このため,他人から訴訟を受けてしまう可能性もある。実サービス公開レベルのハニーポットを構築・運営する場合は,このことを十分に念頭において,構築・運営する必要がある(こういったリスクが存在することが,ネットワーク・セキュリティの研究手段として,ハニーポットが日本であまり浸透していない原因ではないかと思われる)。

 ほかにもリスクはある。Linuxなどを使ってハニーポットを公開した場合,電源周りのサービスを止められ,かつCPU負荷を多大にかけるプログラムを仕掛けられ,機器がオーバーヒートし破損するかもしれない。このリスクは,VMwareなどの仮想マシンを使うことで回避できるが,実サービス公開レベルでハニーポットを運営するなら,さまざまなリスクを想定しておく必要がある。

濱本 常義 Hamamoto Tsuneyoshi
筆者は株式会社エネルギア・コミュニケーションズに勤務。ソリューション事業部で,セキュリティ対策関連事業に従事している。現在は,主にセキュリティ・ポリシー策定事業に携わっている。常時接続とセキュリティ関連のメーリング・リスト「connect24h」(http://cn24h.hawkeye.ac/)を運営している。