virtual

Know Your Enemy:

Defining Virtual Honeynets

Different types of Virtual Honeynets.

Honeynet Project

http://www.honeynet.org

Last Modified: 27 January, 2003

Translated by NAKAMURA kazuki(The Tokyo Marine Research Institude)

Original document is here

過去数年にわたって、ハニーネットはセキュリティメカニズム (ブラックハットコミュニティのツール、戦術、動機について 学ぶこと)としての価値を提示してきた。この情報は、直面する脅威を理解し 保護する組織にとって批判的だ。ハニーネットに関する問題の1つは、資源集 約的で、構築が困難で、維持が複雑であるということだ。ハニーネットは有効 に配置するための様々な物理的システムおよびセキュリティメカニズムの両方 を要求する。しかしながら、ハニーネットプロジェクトは新しい可能性、すな わち仮想ハニーネットを研究してきた。これらのシステムには、従来のハニー ネットの価値の多くを共有するものの、単一システム上でシステムをすべて実 行するという長所がある。これは、仮想ハニーネットを安価に構築し、容易に 配置し、シンプルに維持させる。

What is a Honeynet

ハニーネットはハニー ポットの1つである。ハニーポットは、探査され、攻撃され、危険にさら した何者かの価値の資源である。ハニーネットは高対話型のハニーポットで、 攻撃者が対話するべき実際のオペレーティングシステムを提供することを意味 している。この高対話は我々に侵入者についての多くの処置、すなわち彼らが どのようにシステムに侵入してからどのように通信するか、そしてなぜ彼らが システムを攻撃するかの全てについて教えることができる。ハニーネットはネッ トワークシステムの建造によりこれを成し遂げる。全ての内向きと外向きのト ラフィックが制御されキャプチャされる場合、このネットワークは高度に含ま れる。ネットワーク内の各システムは実際にハニーポット、すなわち攻撃され るように設計されたシステムである。しかしながら、これらのハニーポットが 完全に機能的なシステムであるので、今日ほとんどの組織で同じものを見出し た。これらのシステムが攻撃される時、ハニーネットは攻撃者の活動をすべて キャプチャする。この情報は、後に私たちが日々直面する沢山の脅威について 教える。ハニーネットの技術的詳細については、Know Your Enemy の「Honeynets」をレビューすることを奨励する。この論文は、 仮想ハニーネットを構築する別の方法について記述する。これは仮想ハニーネッ トの構築についての HOWTO であることを意味するものではない。詳細な HOWTO が続くであろう。この点から、あなたがハニーネット技術やそれらの 必要性、特にデータ制御やデータキャプチャへの理解があると仮定している。

Virtual Honeynets

そうすると、仮想ハニーネットとは何か。それは、あなたが単一のコンピュー タ上で必要とするすべてを実行することを可能にするという解決手法である。 異なるオペレーティングシステムはすべて、彼ら自身の、独立したコンピュー タ上で実行するための「外観」を持っているので、我々は バーチャル(仮 想)という用語を使用する。これらの解決手法は、同一のハードウェア上に多 数のオペレーティングシステムを同時に実行することを可能にする仮想化ソフ トウェアのために可能である。仮想ハニーネットは根本的に新しい技術ではな く、それらは単にハニーネット技術のコンセプトをとり、単一のシステムへそ れらをインプリメントする。このインプリメンテーションは、従来のハニーネッ ト上にそのユニークな長所と短所を持つ。

すべてが単一のシステム上で組み合わせられるので、長所はコストの縮減と管 理の容易さである。十分なハニーネットを配置させるために 8 台のコンピュー タを使用する代わりに、わずか1台だけでそれを行うことができる。しかしな がら、この単純さはコストに達する。まず、ハードウェアおよび仮想化ソフト ウェアによって配置可能なオペレーティングシステムのタイプに制限される。 例えば、ほとんどの仮想ハニーネットは、インテルの X 86 チップに基づいて いる。したがって、そのアーキテクチャに基づいたオペレーティングシステム に制限される。あなたは仮想ハニーネットの中に、Alteon スイッチ、VAM 、Cray コンピュータを配置することができない。次に、仮想ハニーネッ トには危険が伴う。特に、全てのシステムの制御権を与えることにより、攻撃 者は仮想化ソフトウェアを危険にさらし、全ハニーネットを乗っ取ることがで きるかもしれない。最後に、指絞採取の危険がある。一旦、悪人たちがあなた の仮想ハニーネット内のシステムをハックしたならば、彼らは仮想環境におい て実行するシステムを決めることができるかもしれない。

我々は2つのカテゴリ、すなわち自給自足とハイブリッドの点から仮想ハニー ネットに入り込んだ。2つのうち、自給自足はより一般的なものである。我々 は最初にこれらの異なる2つのタイプを定義し、次に仮想ハニーネットが配置 することができる異なる方法をカバーするであろう。

Self-Contained Virtual Honeynet

自給自足の仮想ハニーネットは、単一のコンピュータ上に圧縮されたハニーネッ トのネットワーク全体のことである。全ネットワークは、単一かつ物理的なシ ステムとして仮想的に含まれている。ハニーネットのネットワークは、データ 制御およびデータキャプチャのためのファイアウォールゲートウエイ、および ハニーネット内のハニーポットからなる。あなたはここでその配置図を見ることができる。 このタイプの仮想ハニーネットの利点は次の通りである。

  • ポータブル。仮想ハニーネットはラップトップに置かれ、いかなる場所 にも置くことが出来る。ハニーネットプロジェクトでは、2002年8月にブ ラックハットのブリーフィングにおいてこの機能を実証した。
  • プラグとキャッチ。あなたは1つの箱を取りネットワークにそれを組み 込み、ブラックハットをキャッチするよう準備することができる。物理的にたっ た1つのシステムを配置し接続しているので、これは配置をはるかに容易にす る。
  • 金銭の安さとスペース。1台のコンピュータだけを必要とするので、あ なたのハードウェア費用を減らす。足跡が小さく、そしてたった1つの出口と ポートだけを取る。我々にとって、スペースやパワーが非常に制限されている ので、これは救い手である。

いくつかの欠点がある。

  • 失敗の単一ポイント。もしハードウェアがどこか調子が悪くなる場合、全 ハニーネットが故障中になる。
  • 高品質なコンピュータ。たとえ自給自足のハニーネットがたった1台のコ ンピュータを要求するとしても、それは強力なシステムでなければならないだ ろう。あなたのセットアップに依存するので、多くのメモリや処理能力を必要 とするかもしれない。
  • セキュリティ。すべてが同一のハードウェアを共有しているかもしれない ので、攻撃者がシステムの他の部分を手に入れるという危険がある。この多く は仮想化ソフトウェア(それは後で議論されるだろう)に依存する。
  • 限られたソフトウェア。すべてが1つの箱の上で実行されなければならな いので、使用可能なソフトウェアに制限される。例えば、Intel チップ上 で、Cisco IOS を実行するのは難しい。

Hybrid Virtual Honeynet

ハイブリッドな仮想ハニーネットとは、古典的ハニーネットと仮想化ソフトウェ アとの融合だ。ファイアウォールのようなデータキャプチャ、IDS センサや ロギングのようなデータ制御は、分けられ、孤立したシステムである。この孤 立は、危険にさらすというリスクを減らす。しかしながら、ハニーポットはす べて、単一の箱の上で事実上実行される。あなたはここでその配置図を見ることができる。 このセットアップへの利点は次のとおりである。

  • 安全。我々が自給自足の仮想ハニーネットで見た場合、ファイアウォール のようなハニーネットの他の部分を攻撃者が得るという危険がある。ハイブリッ ドな仮想ハニーネットにより、唯一の危険は攻撃者が他のハニーポットにアク セスするということになるであろう。
  • 柔軟性。ハイブリッドなネットワークのデータ制御およびデータキャプチャ のために、あなたは無数のソフトウェアとハードウェアを使用することができ る。一例は、ネットワーク上で OpenSnort センサ、あるいは Cisco の pix アプライアンスを使用できるということだろう。さらに、(仮想ハ ニーポットの箱に加えて)ネットワーク上で別のコンピュータをドロップする ことができるので、あなたが望むどんな種類のハニーポットでも実行すること ができる。

欠点もいくつかある。

  • ポータブルではないこと。ハニーネットのネットワークが1つ以上の箱か ら成るので、移動することが困難である。
  • 時間的空間的に高価であること。ネットワーク上に1台以上のコンピュー タがあるので、パワー、スペース、そして恐らく金銭をもっと費やさなければ ならないだろう。

Possible Solutions

今、仮想ハニーネットの2つの一般的なカテゴリを定義したので、仮想ハニー ネットをインプリメントする可能な方法のうちのいくつかを強調しよう。ここ に、あなた自身で配置することを許された3つの異なる技術について概説する。 確かに、 Bochs のような 他のオプションがある。しかしながら、ハニーネットプロジェクトは3つの方 法すべてを使用し、テストしてきた。他の方法に勝る解決手法ない。代わりに、 それらにはユニークな長所や短所があり、どの解決手法が最良に働くかを決定 するのはあなた次第である。我々がカバーする3つのオプションは、VMware ワークステーション、VMware GSX サーバ、そして User Mode Linux である。

VMware Workstation

VMware ワークステーションは、長く使用され確立された仮想化オプションである。デスクトップユーザのために設計され、また Linux と Windows のプラットフォームに利用可能である。仮想ハニーネットとして、VMware ワークステーションを使用する利点は次のとおりである。

  • オペレーティングシステムのサポートが広範囲であること。Linux 、 Solaris 、 Windows および FreeBSD のハニーポットを含む 仮想環境( GuestOS と呼ぶ)内の様々なオペレーティングシステムを実 行することができる。
  • ネットワークのオプション。ワークステーションは、ネットワークを扱う 2つの方法を提供する。第1はブリッジであり、ハニーポットにコンピュータ のカードを使用させ、ハニーネットネットワーク上の他のホストであるように 見せるので、ハイブリッドな仮想ハニーネットネットワークに役立つ。第2の オプションは Host-Only ネットワークであり、ファイアウォールを備 えてよりトラフィックを制御できるので、これは自給自足の仮想ハニーネット に適している。
  • VMware ワークステーションが、おのおののゲストオペレーティング システムのイメージを生成すること。これらのイメージは単なる1つのファイ ルであり、高度にポータブルにする。これは、あなたが他のコンピュータに移 すことができることを意味する。ハニーポットをオリジナルの状態に戻すため に、あなたは適所にバックアップをコピーすることができる。
  • VMware の仮想ディスクイメージをマウントする能力。 vmware-mount.pl を使用して駆動するように、 VMware イメージをマウントすることができる。
  • 使用が簡単。VMware ワークステーションには、オペレーティングシ ステムをインストールし、形成し、実行することを非常に単純にするグラフィ カルインターフェース( Windows と Linux の両方)が付属する。
  • 商用製品であること。 VMware ワークステーションにはサポート、アップグレード、そしてパッチが付属する。

いくつかの欠点がある。

  • 費用。 VMware ワークステーションは、1ライセンス当たり300ド ルかかる。これは愛好家、あるいは就業していない学生にとっては少し高いか もしれない。
  • リソースの必要条件。VMware ワークステーションは X の環境下で実 行されなければならず、個々の仮想マシンには自分のウィンドウが必要となる であろう。従って、GuestOS に分配するメモリの上に、X のシステムの オーバーヘッドを持つ。
  • GuestOS の数に制限があること。VMware により、わずかな数の仮想マシン(1-4台)を実行することができる。これは限られたハニーネットに役立つかもしれない。
  • ソースがクローズされていること。 VMware がクローズされたソース であるので、カスタムな調節を行うことができない。
  • 指紋。特に「 VMware ツール」がシステムにインストールされる場合、 ハニーポット上の VMware ソフトウェアの指紋をとることが可能かもしれ ない。これにより、ブラックハットにハニーポットを与えることができる。し かしながら、VMware ワークステーションには、仮想インターフェースの ために MAC アドレスをセットする能力のように、指紋をとることを困難にす るオプションがある。

VMware 製品は、仮想マシンを保留する能力のような、いくつかのよい特 徴がある。VM を休止することができ、また、保留の状態からそれを取り出す 場合、プロセスはすべて何も起こらなかったかのように動く。以前、システム が危険にさらされ、侵入者が ICMP のフラグメント攻撃を始めた。侵入者は IRC サーバにログインした。我々は価値のある情報を失うので、接続を切断 したくなかった。従って、我々は VM を保留し、攻撃を遮るためにファイア ウォールを調節し、その後 VM のバックアップを持ってきた。VMware 、 そして他の仮想化ソフトウェアの面白い使用法とは、VM を表に出す容易さと 速度である。一旦ハニーネットが危険にさらされ、それからできるだけ多くを 学んだならば、我々は最初からやり直したい。仮想ハニーネットで我々がすべ きことの全ては、作られたどんな変更をも廃棄するために、VMware ワー クステーション上にファイルをコピーすること又は動かないディスクや固定し ないディスクの特徴を使用することである。VMware ワークステーション の別の特徴は、HostOS の背後のいくつかのネットワークを実行する能力 である。従って、あなたが1つの箱だけを持っていれば、一方の側のデータの 汚染について心配することなく、1つの箱の上のハニーネットやパーソナルコ ンピュータのすべてを持つことができる。もしあなたが VMware やハニー ポット技術のための能力について学習したいのなら、 Kurt Seifiried 氏の優れた論文である、 Honeypotting with WMware ( The Basics ) 、さらに Ryan Barnett 氏のMonitoring WMware Honeypots をチェックせよ。

VMware GSX Server

VMware の GSX サーバは、VMware ワークステーションの丈夫なバー ジョンである。それはより高額なサーバの実行を意味する。私たちが見る限り、 これはハニーネットとして使用するには申し分ない。GSX サーバはホスト OS として、Linux と Windows の上で実行される。あなたが GSX 上 の仮想ハニーネットの配置についてもっと学習したいのなら、Know Your Enemy の Learning with VMware の論文をチェックせよ。利点。

  • オペレーティングシステムのサポートが広範囲であること。GSX サーバ は、 Windows (95、98、NT、2000、XP、そして.NET サー バを含む)、様々な Linux ディストレビューション、そして BSD と Solaris (公式にはサポートされていない)をサポートする。
  • ネットワーク。ワークステーションが持つオプションをすべて含んでいる。
  • X が GuestOS であるということを意味しない。GSX サーバは、VMware を実行させるために X を実行させておくという必要がない。これは、 同時により多くの GuestOS の実行を許可する。しかしながら、ホストが Linux を実行していれば、 X ライブラリのうちのいくつかがインストール される必要がある。
  • ウェブインターフェース。GSX サーバは、ウェブページインターフェー スを通じて管理することができる。GuestOS は、ウェブページによって 開始され、中断され、休止され、生成される。
  • 遠隔のターミナル。これは GSX サーバの最良の特徴のうちの1つだ。ウェ ブページを通して、そしていくつかの VMware ソフトウェアにより、あた かもコンソールの前に座っているかのように遠隔から GuestOS にアクセ スすることができる。ハニーネット上でトラフィックを生成することなく、遠 隔からのインストールやシステムのチェックのようなことが可能である。
  • VMware の仮想ディスクイメージをマウントする能力(ワークステー ションのように)。
  • VMware GSX サーバは、VMware ワークステーションと比べ、 より多くのホストメモリ(8GBまで)、より多くの CUP(8まで)、そし て仮想マシンごとにより多くのメモリ( 2.0 EG まで)をサポートする。
  • GuestOS を管理するための perl API を含んでいる。
  • ワークステーションに類似していること。GSX サーバはパッチとアップ グレードを含むサポート製品である。

いくつかの欠点がある。

  • 費用。 GSX サーバのライセンスには、約3,500ドルを要するであろ う。
  • GuestOS の制限されたタイプ。Solaris X86 や Free BSD のようなオペレーティングシステムは、公式にはサポートされていない (しかしながら、それらをインストールすることができるかもしれない)。こ れは、ハニーネットの多様性を制限することになる。
  • メモリの無駄遣い。GSX サーバは、GSX サーバのソフトウェアを実行 するため256 MG を推奨する。 Windows XP のような GUI ベース のオペレーティングシステムは、各インスタンスに対して256 MG を別々に 要求する。
  • ソースがクローズされていること(ワークステーションのように)。
  • 指紋。特に「 VMware ツール」がシステムにインストールされる場合、 ハニーポット上の VMware ソフトウェアの指紋をとることは可能かもしれ ない。これにより、ブラックハットにハニーポットを与えることができる。し かしながらワークステーションのように、そのリスクを縮小することができる 配置オプションがある。

VMware は、さらに VMware ESX Server になる。ソフトウェアソリュー ションである代わりに、 ESX サーバはインターフェースのハードウェアの中 で実行される。 ESX サーバは、ホストのハードウェアを引き継ぐそれ自身の 仮想マシン OS モニタを提供する。これは、 CPU のシェア、ネットワーク帯 域幅のシェア、そしてディスク帯域幅のシェアのような仮想マシンにおいて、 分配された資源のより細かな制御を許可するものであり、また、それらの資源 がダイナミックに変更されることを可能にするものである。この製品は GSX サーバよりもさらに高額である。その特徴は次のとおりである。 GSX サーバ と比べ、多数のプロセッサ、同時処理可能な仮想マシンの多さ(64 VM ま で)、より多くのホストメモリ(64 GB まで)、そして仮想マシンごとによ り多くのメモリ(3.6 GB まで)をサポートする。

User Mode Linux

User Mode Linux は、あなたが Linux の多くの仮想バージョ ンを同時に実行することを可能にする特別なカーネルモジュールである。 Jeff Dike 氏によって開発され、 UML は同一システム上で同時に実行さ れて、 Linux の多数の実例を持つ能力を与える。それは大量の可能性を備 えた比較的新しいツールだ。 Know Your Enemy の論文 ( Learning with User-Mode Linux ) の中で、 UML ハニーネットを配置する方法を詳細に学習することができる。 User Mode Linux を使用する利点は次のとおりである。

  • フリーのオープンソースであること。あなたはソースコードにアクセスす る。
  • 足跡が小さく、リソースの必要条件が少ないこと。 User Mode Linux では、 X を使用する必要がない。わずかなメモリで広範囲な量のシ ステムを実行することができる。
  • いくつかの仮想ネットワークを生成し、かつオリジナルの仮想ネットワー クの内部で仮想ルータを生成する能力。
  • ブリッジネットワーキング の両方をサポートすること( VMware と同様)。
  • UML は、 GuestOS のカーネルを通じて、キーストロークを記録す る能力を持っている。キーストロークは HostOS 上で記録される権利であ るので、秘密の方法でハニーポットからキーストロークを得る方法に関する問 題がない。
  • UML はあらかじめ形成されダウンロード可能なファイルシステムに付属 し、ハニーポットを備えたハニーネットに速く、かつ容易に定着する。 VMware のように、ファイルシステムイメージはマウント可能である。
  • telnet が可能なホスト上の偽りのターミナル、 xterm 、そして ポータルを通じて、様々な方法で UML コンソールにアクセスすることができ る。また常にスクリーンがある。スクリーンの内部の UML を実行して、それ を分離せよ(そうすれば、いかなる場所からもホストにログインすることがで き、戻ることが出来る)。

いくつかの欠点がある。

  • Linux の仮想マシンのみをサポートしているが、 Windows への ポートについては開発中である。
  • 新しいツールなので、バグ、ドキュメンテーション、セキュリティ上の問 題がある。
  • GUI インターフェースではなく、配置およびインプリメンテーションは すべてコマンドラインで行われる。学習が難しい。
  • オープンソースのツールであるので、公式又は商用のサポートが存在しな い。
  • VMware に類似しているので、仮想化ソフトウェアにより UML ハニー ネットの指紋をとることは可能かもしれない。しかしながら、メンテナンス者 である Jeff Dike 氏は、ゲストオペレーティングシステム上の /proc への修正のように、リスクを軽減するために調査している。

Conclusion

この論文の目的は、仮想ハニーネットとは何か、異なるタイプ、そしてそれらを配置するためのオプションを定義することであった。仮想ハニーネットは、ハニーネットの技術を取り入れ、単一システム上でそれらを組み合わせる。これはそれらの構築を安価にし、配置を容易にし、メンテナンスを単純にする。しかしながら共通の欠点があり、物理的なハードウェア並びに仮想ソフトウェアの両方を備えた、失敗と制限の単一ポイントを含んでいる。あなたの環境のための最良な解決手法を決定するのはあなた次第だ。今後、我々は、これらの技術を配置する方法を詳述するドキュメンテーションを開発するつもりだ。