Download presentation
Presentation is loading. Please wait.
1
分散IDSの実行環境の分離 による安全性の向上
光来健一 千葉滋 (東京工業大学) 廣津登志夫 (豊橋技術科学大学) 菅原俊治 (NTT)
2
分散侵入検知システム(IDS) ワームやウィルスの拡がりを防ぐ 継続した監視が必要 各ホストのIDSの情報を集める
攻撃の兆候や 各ホストの状態を解析 IDS サーバ 分散システム
3
IDSへの能動的な攻撃 IDSに直接アクセスする攻撃 分散システム外部から直接攻撃 分散システム内部のサーバを経由する攻撃
攻撃者
4
IDSへの受動的な攻撃 IDSが攻撃用データを読むのを待つ攻撃 例:フォーマット文字列の脆弱性 ネットワーク型IDS ホスト型IDS
サーバのファイルの内容 や属性を書き換える IDS パケット 監視 ファイル 監視 サーバ
5
分散IDSの構成に問題 各IDSが監視対象から分離されていない ホスト型IDS ネットワーク型IDS 監視対象のサーバホスト上に配置される
ファイルシステム、ネットワーク、プロセス空間を共有 ネットワーク型IDS 監視対象のネットワーク上に配置される ネットワークを共有
6
仮想分散環境:HyperSpector 分散IDSを分散システムから分離する IDSを仮想マシン(VM)上で動かす VMをVPNで結ぶ
監視 別の分散IDS 分散IDS 分散システム
7
VMの独立性 独立した名前空間を提供 ホストからのアクセスを制限 ネットワークシステム空間 ファイルシステム空間 プロセス空間
VPNのみと接続され、ホストのネットワークから分離 ホストと同じIPアドレスを利用できる ファイルシステム空間 IDSプログラムやポリシーファイルを分離 プロセス空間 ホストのプロセスとの通信を禁止 ホストからのアクセスを制限 network system VPN
8
VMの監視機構 IDSはVM内からサーバを監視できる ユーザレベルIDSをそのまま動かせる ファイルシステム ネットワーク プロセス
サーバの使うファイルシステムを検査 ネットワーク ホストが送受信する全てのパケットを盗聴 サーバの行うUnixドメインソケットによる通信を盗聴 プロセス サーバプロセスの実行を追跡 ユーザレベルIDSをそのまま動かせる
9
能動的な攻撃からの保護 HyperSpector は外部からのアクセスを禁止 分散システム外部からの直接攻撃を防ぐ
VPNによるネットワーク空間の分離 分散システム内のサーバを経由した攻撃を防ぐ IDSの使う通信ポートに アクセスできない IDSプロセスにアクセス できない IDSポリシーファイルに アクセスできない
10
受動的な攻撃への対処 被害が拡がるのを防ぐことができる サーバや他の HyperSpector に能動的な攻撃はできない
同じ機能を持った分散IDSを同時に動かしておけば監視を継続できる HyperSpector 外にサーバ情報を送信できない 監視機構によりサーバ情報を盗み見ることはできる 分散IDSの実装2 分散IDSの実装1
11
ホスト構成 ポートスペース サーバスペース ベース環境 IDSを動かすVM サーバを監視する サーバを動かすVM LANに接続される
それ以外のプログラムを動かす ホスト サーバ スペース ポート スペース サーバ プロセス IDS VPN ベース環境 LAN
12
ポートスペースによる仮想化 ファイルシステムの仮想化 ネットワークシステムの仮想化 union ファイルシステムを利用
ベース環境のファイルシステムの 上に専用のディレクトリを重ねる サーバスペースも同様の仮想化 ネットワークシステムの仮想化 独自のルーティングテーブル等を用意 パケットはVPNのIDで振り分ける ポートスペース ベース環境
13
ファイルシステムの監視 /.serverfs ディレクトリ /.dserverfs ディレクトリ サーバスペースのファイルシステムをマウント
サーバスペースの union ファイルシステムの 上位層(差分)だけをマウント 変更部分のみ検査できる ポートスペース サーバスペース /.dserverfs /.serverfs マウント
14
ネットワークの監視 パケットフィルタ(/dev/bpf) mkdup システムコール ホスト全体のパケットを盗聴可能
盗聴のためのUnixドメインソケットを作成 サーバがUnixドメインソケットに送ったメッセージを複製 サーバスペース ポートスペース syslogd 複製 サーバ ソケット syslogd
15
プロセスの監視 システムコール・トレース サーバスペースのプロセスがシステムコールを発行した時に情報を得ることができる
ptrace システムコール proc ファイルシステム 受動的な攻撃に備えて操作を制限 レジスタ、メモリの読み出しのみ許可 トレースのためのターゲットプロセスの停止時間を制限
16
実験 ポートスペースでIDSを動かすオーバヘッドを測定 実験環境 Tripwire:ファイルシステムの整合性チェック
Snort:ネットワークパケットの監視 Truss:システムコールのトレース 実験環境 PC 2台 (Pentium 4 3.0Gz, メモリ 1GB, Intel Pro/100+) 100Base-Tスイッチングハブ
17
実験:Tripwire Tripwireがファイルシステムをチェックする時間を測定 ケース1 (/.serverfs)
ポートスペースでチェック フルチェック ケース2 (/.dserverfs) 変更のみチェック ケース3 ベース環境でチェック ホスト サーバ スペース ポート スペース Tripwire Tripwire ベース環境
18
実験結果:Tripwire ベース環境と比較 /.serverfs /.dserverfs 17%~26%のオーバヘッド
変更率が80%までは高速化
19
実験:Snort Snortのパケットドロップ率を測定 1バイトのUDPパケットを送信 ケース1 ケース2 ポートスペースから監視
ベース環境から監視 ホスト1 ベース環境 ポート スペース Snort Snort ネットワーク ホスト2
20
実験結果:Snort ベース環境と比較 ポートスペースのSnort より多くのパケットを取りこぼす 最大で0.5%多い
21
実験:Truss thttpdの性能を測定 Trussでシステムコールをトレース ApacheBenchで測定 ケース1 ケース2
ホスト1 thttpdの性能を測定 Trussでシステムコールをトレース ApacheBenchで測定 ケース1 ポートスペースでトレース ケース2 ベース環境でトレース サーバ スペース ポート スペース thttpd Truss thttpd Truss ベース環境 ネットワーク ホスト2 ab
22
実験結果:Truss ベース環境と比較 ポートスペースのTruss 0.8%~7.3%のオーバヘッド
23
関連研究 専用のIDSが必要 受動的な攻撃に弱い サーバ IDS
ReVirt [Dunlap’02] Livewire [Garfinkel’03] ログ LIDS サーバ IDS ログ SODA [Jiang’04] HyperSpector IDS ログ サーバ サーバ IDS ログ 専用のIDSが必要 受動的な攻撃に弱い
24
まとめと今後の課題 分散IDSを分離する HyperSpector を提案 今後の課題 ポートスペース VPN
独立したファイルシステム空間、ネットワーク空間、プロセス空間 VPN 今後の課題 分散IDSの多重化における負荷の軽減 分散IDSに対するDoS攻撃への対処
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.