仮想環境を用いた 侵入検知システムの 安全な構成法 光来健一* 廣津登志夫** 佐藤孝治** 明石修** 福田健介** 菅原俊治** 千葉滋* *東京工業大学 **NTT未来ねっと研究所 侵入検知システム(IDS) ホストへの攻撃の徴候を検出・報告する ホストやネットワークの監視を続けなければなら ない ホスト型IDS(HIDS) ユーザの挙動、ファイルなどを監視 ネットワーク型IDS(NIDS) ネットワーク上を流れるパケットを監視 従来のIDS構成 ホスト型IDS IDSがサーバプロセスと同じ実行環境下で動く ネットワーク型IDS IDSは同一ネットワーク上の別ホストで動かせる 管理用のサーバプロセスを動かすとホスト型IDS と同じ構成 HIDS httpd NIDS sshd 攻撃によるIDSの停止 IDSの停止 IDSプロセスの停止 IDSのルールを変更 IDSのルール漏洩 攻撃方法 サーバプロセスの通信チャネルから侵入 IDSの利用する通信チャネルから侵入 管理者になりすまして侵入 アップデート時のIDSの停止 IDSの停止 アップデート時の不手際 新しいIDSの不具合 綿密なテストが必要 別個に同じ環境を作るのは大変 既存の環境で共存させるのは危険 ディレクトリやネットワークポートを変更 新しいIDS構成法 IDSを仮想環境の中で動かす IDSを攻撃から守る アップデートを安全に行う 構成要素 ホスト サーバ用 ポートスペース サーバ 監視用 ポートスペース IDS 監視用ポートスペース IDSを動かす サーバ用ポートスペース サーバプログラムを動かす ファイル システム ベース環境 ベース環境 ベースネットワーク ポートスペース [光来ら’03] 仮想的な実行環境 ファイルシステム空間 ベース環境のファイルシステムを継承できる 一から構築しなくてよい ネットワーク空間 ベース環境と同じIPアドレスが使える 専用のIPアドレスが必要ない プロセス空間 シグナルの送信を制限できる プロセス ネットワーク スタック 監視用ポートスペース サーバ用ポートスペー スを監視できる 他の監視用ポートス ファイルシステム ネットワークインタフェー ス サーバ用 ポートスペース VPNのみを利用する 監視 ペースと通信できる 閉じたネットワークを形 成する IDS 監視用 ポートスペース VPN サーバ用ポートスペース ベースネットワークを利用する サーバ用 ポートスペース インターネットからアクセスできる サーバプロセス宛てのパケットを サーバ サーバ 転送する ベース環境とサーバ用ポートスペー スの間 転送 複数のサーバ用ポートスペー スを使える ベース環境 インターネットへ ベースネットワーク IDSの保護 サーバ用ポートスペースから はアクセスできない ファイル、ネットワーク、プロセス 131.112.40.1 IDS 監視用 ポートスペース のいずれにも サーバプロセス経由で侵入され ても大丈夫 インターネットから直接アクセ スできない VPNが必要 131.112.40.1 サーバ用 ポートスペース IDSの多重化 複数の監視用ポートスペース でそれぞれIDSを動かす 万一の場合でも監視を続けるこ とができる IDS同士の衝突を防ぐことがで きる 同じIDSを同じ設定で使うこともで きる 監視用 ポートスペース IDS サーバ用 ポートスペース サーバ 監視 IDS IDSの安全なアップデート 別々の監視用ポートスペースの中で古いIDSと新し いIDSを同時に動かす アップデートが完了したら古いポートスペースは破棄 分散IDSも一括してアップデートできる 新しいIDS 新しいIDS サーバ サーバ 古いIDS 古いIDS 継承を用いたアップデート 古いIDSの動いているポートスペースを継承 必要なファイルだけ変更 アップデート完了時に古いIDSプロセスを停止 新しいIDS サーバ 継承 古いIDS 実装 FreeBSD 4.7にポートスペースを実装 ファイルシステムの仮想化 ネットワークの仮想化 監視機構 ファイルシステムの仮想化 ベース環境の/.filespace/<id> を利用 unionマウント 読み出し 書き込み 継承を実現 /の上に/.filespace/<id>を重ねる /.filespace/<id>には変更の差分 /.filespace/1 だけが保存される IDSのチェックを容易に / unionファイルシステム ネットワークの仮想化 VPNにはIPsecを用いる 監視用ポートスペース サーバ用 ポートスペース 監視用 ポートスペース httpd IDS1 popd IDS2 IPsecのSPIの値でパケットを 分離 サーバ用ポートスペース ポート番号でパケットを分離 外部ホストと通信する時は 動的NAPTのように変換 port=80 非IPsec port=110 SPI=1 SPI=2 IPsec ベース環境 ベースネットワーク ファイルシステムの監視 サーバ用ポートスペースの ファイルシステムをマウント unionマウント /.serverfs/<id>でアクセスで ポートスペース1の unionファイルシステム /.filespace/1 監視するための unionファイルシステム / きる /.serverfs/1 /.filespace/<id>だけをマウ ントすることもできる 変更部分のみ /.filespace/2 / ポートスペース2の unionファイルシステム ネットワークの監視 ベース環境のネットワーク インタフェースにアクセス パケットフィルタ(BPFなど)を 通して 全てのパケットを取得できる サーバ用 ポートスペース 監視用 ポートスペース IDS BPF システム全体に対する攻撃も監 視 ベース環境 実験:Tripwire ファイルの改ざんを監視 チェックにかかる時間 ベース環境にて サーバ用ポートスペース 全てのファイルをチェック ファイルに変更はなし オーバヘッド 80 時間(秒) 監視用ポートスペースから 100 60 40 20 0 ベース環境 ポートスペース 15% 変更部分だけチェックすれば 高速化できる PentiumIII-S 1.4GHz メモリ 512MB 実験:Snort ネットワークパケットを監視 パケットドロップ率 10 監視用ポートスペースにて UDPパケットを大量に送信 2,200パケット/秒 オーバヘッド ドロップ率(%) ベース環境にて 8 6 4 2 0 ベース環境 ポートスペース 0.9%多くとりこぼした 100baseT スイッチ NIC Intel Pro/100+ 実験:thttpdウェブサーバ サーバ用ポートスペース のオーバヘッド測定 ApacheBench オーバヘッド 継承なし: 9.5% 継承あり: 4.3% thttpdの性能 リクエスト数/秒 6000 4000 2000 0 1 2 3 4 5 6 並行度 7 8 ベース環境 サーバ用ポートスペース サーバ用ポートスペース+継承 関連研究(1) IDSをカーネル内で動かす ホストに侵入されても停止させられにくい 制御用のシステムコール経由の攻撃 専用のIDSが必要 IDSを別のホストで動かす サーバホストの影響を受けにくい アップデートで多重化がしやすい ネットワーク型IDSのみ対応できる 関連研究(2) VMI [Garfinkel et al.’03] ホスト サーバプロセスを仮想マシンの中で動かす IDSは仮想マシンの外で動かす IDSはサーバプロセス経由で攻撃されない 仮想マシン サーバ IDSが直接攻撃を受ける 仮想マシン越しにサーバプロセスを監視す 監視 るために専用のIDSが必要 IDS まとめ IDSをポートスペースの中で動作させるIDS 構成法を提案 IDSの安全性を確保 IDSのアップデート時に監視を継続 今後の課題 IDSに対するDoS攻撃への対処 IDSを多重化させた時の負荷対策
© Copyright 2024 ExpyDoc