|
|
新手口や攻撃傾向を調べるためのシステム構築・運営テクニック(下)ハニーポットを構成する技術では,ハニーポット構築に必要な技術やツールをまとめておこう。前述のHoneynet Projectでは,ハニーポットを構築するのに必要なツールを次のカテゴリに分けて定義している。これに沿って説明する。 (1)Data Control フェーズIで必要なData Controlは,主にiptablesとSnortである。iptablesを使って,外向きのパケットのコネクション数を制限したり,外向きパケットのトラフィック量を一定以下に制限する。Snortは攻撃パターンの統計を取る用途で使う。 フェーズIIでは,ブリッジ型のネットワークを構築するユーティリティを使ってゲートウェイを作る。トラフィックはiptablesとSnortを組み合わせて遮断する場合と,Snortルールをベースとしたレイヤー2レベルのIDSである「Hogwash」(http://hogwash.sourceforge.net/)を使う場合の2パターンが考案されている。 (2)Data Capture ネットワーク経由でデータを取得し,攻撃者の動きを観察するのには限界がある。このため,さらに攻撃者のキーストロークを保存できるような仕組みも求められる。これらの仕組みは,Linuxなら専用のカーネルパッチ(http://www.axehind.com/honeynet/)やシェルのパッチを当てることで実現できる。Windowsなら,コマンドプロンプトの動きを追う「ComLog」(http://securit.iquebec.com/)などのツールが使える。ただ,これらはハニーポット上で動く場合が多く,その場合はログもハニーポット内に記録される。このため,攻撃者にログを削除されてしまう危険をはらんでいる。syslogなどを使って監視用ログサーバーにログを転送可能だが,その場合は盗聴されないような仕組みを考えなければならない。 トラフィック解析やセッション解析を集中的に行うのなら,トラフィックの流量がそれほどでもない場合に限られるが,「tcpdump」(http://www.tcpdump.org/)や「ethereal」(http://ethereal.netarc.jp/)ですべてキャプチャしてしまうのも手だ。上記二つのツールで収集したデータなら,いろいろな解析ツールに読み込ませることもできる。記録したログを定期的にローテーションするようにして,ファイル化していけば完璧だろう。 (3)Data Analysis ・起動しているプロセス これらシステム状態のスナップショットを取ったり,その差分をチェックするツールやテクニックは,WindowsとLinuxそれぞれに多数ある。また,取得したトラフィック・データの解析ツールもこの分野に含まれる。 VMwareを使ったハニーポット構築
次に,VMwareを使ったハニーポットのシステムを簡単に紹介する。 VMwareは実機のPCの中に,仮想的に別のOS環境を構築するツールである。図5[拡大表示]はX Window System上の一つのウインドウの中で,PCのBIOS起動画面が表示されている。初めて見ると不思議な光景だと感じると思うが,これがVMwareだ。このように,VMwareはハードウェア的にPCをエミュレートする。1台のPC上に,異なるOS環境を複数作成することができるのだ。 このため,VMwereを使ってWindows 2000やLinuxをインストールし,そこで脆弱なアプリケーションを立ち上げれば,そのままで単純なハニーポットして利用することができる。ここで,VMwareをインストールしている実機上のOSを「ホストOS」,仮想的なOSを「ゲストOS」と呼ぶ。 VMwareがハニーポットとして優れているのは,ゲストOSからホストOSへはネットワークを介さないと絶対に接続できないなど,仮想マシン内だけに危険をとどめておくことができ,ホストOSで安全に監視できるところにある。また,ゲストOSはホストOS上から単なる一つのファイルのように見える。単なるファイルのため,初期状態や侵入された状態のバックアップを,そのファイルをコピーするだけで実現できる。VMwareをハニーポットとして使えば,1台のマシンで複数OSのハニーポットを立ち上げることもでき,管理もその分だけ簡単だ。 ハニーポットの設計最後に,筆者がVMwareを使ったハニーポットを設計したときのキーポイントについてまとめておこう。 まず,VMwareの設定において,ゲストOSの通信する場合,必ずホストOSを通るようにする「Host-only」オプションを選択した。これは,ホストOSをファイアウォール兼IDSゲートウェイとして機能させ,通信のアクセス制御をするための設定だ。 VMwareのホストOSとしては,Linuxを選択した。Linuxを選択したのは,前述したHoneynet ProjectのフェーズIIを参考に,ブリッジ型IDSゲートウェイを構築したかったからだ。また,WindowsをホストOSに選択するのに比べて,メモリの使用量が少なく負荷も低い。 ホストOSは,ブリッジ型IDSゲートウェイとして機能するように設定し,Etherealを使って全パケットをキャプチャする。加えて,tcpflowでセッション情報を取得し,トラフィック統計を取得できる「iplog」(http://ojnk.sourceforge.net/)とSnortを使って,攻撃統計情報取得を行う。
ハニーネットの内側には,1台のハニーポットPC「A」を設置し,インターネットに対して全サービスを公開する(図6[拡大表示])。ハニーポットPC「A」は,後でフォレンシック的な調査ができるように,あらかじめ正常時の情報を記録しておき,コマンドプロンプトやシェルのキーストロークが保存できるような仕組みを導入する。また,これらのログ情報はSyslogサーバーであるPC「B」に転送する。 ハニーポットPC「A」で立ち上げるサービスは,脆弱な設定にするが,他のネットワークに迷惑をかけないように細心の注意を払う。特に,ワーム感染は避けなければならず,アンチウィルス対策も必要だろう。PC「B」はSyslogサービス以外を立ち上げないようにし,不正侵入でログを消されないように防御を固める。 ただし,これらは実際にハニーポットを構築・運用する前に考えた構成のため,実運用に入った場合,さまざまな制約により仕様変更せざるを得ない事態に陥る場合も考えられる。なお,ハニーポット構築に関する情報は,表2[拡大表示]のサイトにも掲載されている。参考にしていただきたい。
連載新着記事一覧へ >>
|