1 / 19

KVM における IDS オフロードの実現

KVM における IDS オフロードの実現. 中村孝介(九州工業大学) 光来健一(九州工業大学 /JST CREST ). 侵入検知システム (IDS). IDS は攻撃者の侵入を検知するシステム 監視対象 ディスク、メモリ、ネットワーク 攻撃者により改竄・停止させられる可能性がある 侵入を検知できなくなる. IDS. 検知. 改竄・停止. 監視. ディスク メモリ ネットワーク. 攻撃者. 仮想マシンによる IDS オフロード. IDS と監 視対象 VM を別々の VM 上で動作させる IDS 自身が攻撃を受けにくくなる

katina
Download Presentation

KVM における IDS オフロードの実現

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KVMにおけるIDSオフロードの実現 中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)

  2. 侵入検知システム(IDS) • IDSは攻撃者の侵入を検知するシステム • 監視対象 • ディスク、メモリ、ネットワーク • 攻撃者により改竄・停止させられる可能性がある • 侵入を検知できなくなる IDS 検知 改竄・停止 監視 ディスク メモリ ネットワーク 攻撃者

  3. 仮想マシンによるIDSオフロード • IDSと監視対象VMを別々のVM上で動作させる • IDS自身が攻撃を受けにくくなる • IDSを動作させる仮想マシンへの侵入は困難 • 外部へのサービスを提供しない VM VM IDS 監視 検知 攻撃 ディスク メモリ ネットワーク 攻撃者

  4. KVMの普及 • Linuxベースの仮想マシンとしてKVMが普及してきている • LinuxにXenよりも先にマージされた(2.6.20) • Xenは2.6.23で一部マージ、3.0で完全にマージ • RedHat、IBM、HPらがKVM採用促進コンソーシアムを設立 • NTTコム、さくらレンタルサーバらがKVMを用いたサービスを提供

  5. KVMにおけるIDSオフロード • KVMでIDSオフロードは実現されていない • IDSオフロードの研究は主にXenを用いて行われてきた • KVMに適用できるかは不明であった • KVMはアーキテクチャがXenとは異なる • Linuxカーネル内で仮想マシンモニタを動作 • QEMUを使用しVMをホストOSの1つのプロセスとして管理 ドメイン0 ドメインU VM VM ? IDS IDS 通常の プロセス ディスク メモリ ネットワーク 監視 QEMU QEMU Xen(VMM) Linuxカーネル(ホストOS) KVM

  6. 提案:KVMonitor • KVMでIDSオフロードを実現するシステム • IDSをホストOS上のプロセスとして実行する • IDSを攻撃から守る • IDSがVMのディスクとメモリを監視 • VMとIDSへの統一的なCPU・メモリ制限 • 一定のリソースを保証 VM IDS QEMU 通常の プロセス メモリ ディスク 監視 Linuxカーネル(ホストOS) KVM

  7. ディスクの監視 • ホストOSにVMのディスクをマウントすることで監視 • qcow2形式は直接マウントできない • qemu-nbdを経由することで仮想的にブロックデバイスとして見せる IDS(Tripwire) VM 監視 ブロック デバイス ディスク イメージ (qcow2) qemu-nbd ホストOS

  8. メモリの監視 • VMの物理メモリをIDSの仮想メモリ上にマップ • QEMUにメモリ用ファイルをメモリとして使わせる • mmapを用いてメモリマップする • QEMUがファイルを削除しないように修正 • 従来はオープンした後に削除していた • IDSもメモリ用ファイルをマップして参照する IDS VM 監視 QEMU マップ マップ VM物理 メモリ VM物理 メモリ メモリ用 ファイル ホストOS

  9. メモリアドレスの変換 • QEMUと通信して仮想アドレスを物理アドレスに変換 • VM内部の変数等は仮想アドレスだけが分かっている • IDSがアクセスできるのは物理アドレスである • QEMUにxaddrコマンドを追加し、QMPを使って通信 VM IDS QMP QEMU 監視 xaddr VM物理 メモリ ページ テーブル ホストOS

  10. IDSオフロードを考慮したリソース管理 • VMとIDSをグループ化してCPUとメモリを割り当て • LinuxのCgroupsを用いてグループ化 • Cgroupsは複数のプロセスをグループ化しグループ単位での資源管理を可能にする • KVMではVMもプロセス • グループ内ではリソースを融通し合える CPU:50% CPU:50% VM IDS QEMU ホストOS

  11. ディスク監視手法の比較 • KVMonitorでは • qemu-ndb経由でマウントする • qcow2形式はディスクイメージを小さくできる • Xenでは • 主にraw形式を使用するため直接マウントできる • ディスクアクセスが速い • qcow2形式を使用すればKVMonitorと同様 ドメイン0 ドメインU VM ディスクイメージ (raw) ディスクイメージ (raw) ブロック デバイス ディスク イメージ (qcow2) qemu-nbd Xen(VMM) ホストOS

  12. メモリ監視手法の比較 • KVMonitorでは • メモリ用ファイルをマップしQEMUがアドレス変換 • QEMUとの通信に時間がかかる • Xenでは • メモリページを直接マップし、自力でアドレス変換 • ページテーブルを何度もマップする必要がある ドメイン0 ドメインU IDS VM QMP アドレス 変換 IDS アドレス空間 監視 ページ テーブル QEMU xaddr メモリ ページ VM物理 メモリ ページ テーブル メモリ用 ファイル ホストOS Xen(VMM)

  13. リソース管理手法の比較 • KVMonitorでは • Cgroupsを使ってIDSとVMをグループ化 • 標準機能で実現可能 • Xenでは • VMMやドメイン0のOSに機能を追加[新井ら’10][内田ら’11] • CPUの上限も設定可能 ドメイン0 ドメインU VM IDS IDS QEMU ホストOS Xen(VMM)

  14. 実験:Tripwireによる監視 • Tripwireによるディスクの検査にかかる時間を比較した • オフロードした方が実行時間が長くなった • NBD経由のためファイルアクセスに時間がかかることが原因 実験環境 ホストOS ・IntelXeon 2.53GHz ・メモリ 6GB VM ・ディスク 30GB ・メモリ 512MB

  15. 実験:システムコールテーブルの監視 • ホストOSからVMのカーネルメモリ上にあるシステムコールテーブルを監視する時間を測定した • システムコールテーブルを読み出すIDSを1000回実行 • ほとんどの時間はアドレス変換に費やされている

  16. 実験:CPUにおける性能分離 • IDSとVMのグループに対してCPU使用率の下限が設定できていることを確認 • IDSとしてTripwireを使用しVMとホストOSで無限ループを行うプログラムを実行 • CPUの割合を40:60とした /dev/cgroup 40% 60% Group1 Group2 Tripwire loop VM (loop)

  17. 実験結果 • Group1のCPU使用率は設定した40%でほぼ一定しており制御できている Group1 Group2 Tripwire loop VM (loop)

  18. 関連研究 • VMwatcher [Xuxian et al.’07] • VMware、Xen、QEMU、UMLで実装 • ディスクとメモリの監視を行う • QEMUでの実装はKVMでも適用できる可能性あり • アドレス変換はゲストOSのページテーブルを参照する • KVMonitorではQEMUに行わせることでアーキテクチャ依存度を減らしている • リソースプール • VMwareでVMをグループ化しCPU・メモリの制御を行う • プロセスをグループ化することはできない • KVMonitorではVMとプロセスをグループ化できる

  19. まとめ • KVMにおけるIDSオフロードを実現するシステムKVMonitorを提案 • 仮想ディスクをマウントできる形式に変更してディスクの監視 • ファイルをメモリとして使いメモリの監視 • Linux既存のCgroupsを使用しCPUとメモリの制限 • 今後の課題 • ネットワークIDSへの対応 • Xenとの定量的な性能比較

More Related