中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
ファイルキャッシュを考慮したディスク監視のオフロード
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
XenによるゲストOSの解析に 基づくパケットフィルタリング
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
型付きアセンブリ言語を用いた安全なカーネル拡張
仮想マシンを用いて既存IDSを オフロードするための実行環境
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
仮想マシン間にまたがる プロセススケジューリング
Xenによる ゲストOSの監視に基づく パケットフィルタリング
セキュリティ機構のオフロードを考慮した 仮想マシンのスケジューリング
分散IDSの実行環境の分離 による安全性の向上
仮想マシンモニタによる きめ細かい パケットフィルタリング
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
Intel SGXを利用する 巨大なアプリケーションの マイグレーション機構
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
仮想マシンと物理マシンを一元管理するための仮想AMT
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST) KVMにおける IDSオフロードの実現 中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST) ネットワークの見通しは? 物理アドレスは連続していないと読めなさそうだけどどういうふうになってるの? 物理アドレスとページ情報が必要じゃないの? ホストにオフロードする利点は? ホストにオフロードした分Xenには勝てそう? 負けそう・・・ 反省 知識が少ないから自信がなくちゃんとした説明が出来なかった

侵入検知システム(IDS) IDSは攻撃者の侵入を検知するシステム 攻撃者により改竄・停止させられる可能性がある 監視対象 ディスク、メモリ、ネットワーク 攻撃者により改竄・停止させられる可能性がある 侵入を検知できなくなる IDS 改竄・停止 検知 監視 ディスクとかを消さない 近年、インターネットに接続されたホストへの攻撃に対抗する手段としてIDSが用いられている IDSはディスクメモリネットワークのパケットを監視することで攻撃者の侵入の予兆を検知し管理者に伝える しかし、IDSが侵入した攻撃者を検知するよりも先に改ざん停止させられる可能性があり、IDSが侵入を検知できなくなる ディスク メモリ ネットワーク 攻撃者

仮想マシンによるIDSオフロード IDSと監視対象VMを別々のVM上で動作させる IDS自身が攻撃を受けにくくなる 外部へのサービスを提供しない VM VM IDS 監視 検知 このIDSへの攻撃に対抗する手法として仮想マシンによるIDSオフロードという手法が用いられている これはIDSと監視対象VMを別々のVM上で動作させる手法である これにより攻撃者が監視対象VMに侵入してきてもIDSは別のVM上で動作しているので攻撃されることなく検知することができる IDSを動作させるVMへの侵入は外部へのサービスを提供しないことで侵入が困難になるように運用する 攻撃 ディスク メモリ ネットワーク 攻撃者

KVMの普及 Linuxベースの仮想マシンとしてKVMが普及してきて いる LinuxにXenよりも先にマージされた(2.6.20) RedHat、IBM、HPらがKVM採用促進コンソーシアムを設立 NTTコム、さくらレンタルサーバらがKVMを用いたサービスを 提供 KVMとXenのシェア KVMの重要性 ニュースなどからデータセンタの適用率 Xen(2007/10/9) 約8年フル(2011) KVM(2007/2/5) RedHatがXenからのマイグレーションをサポート http://www.plathome.co.jp/solution/virtualserver/introduction/04.html

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

提案:KVMonitor KVMでIDSオフロードを実現するシステム IDSをホストOS上のプロセスとして実行する IDSがVMのディスクとメモリを監視 VMとIDSへの統一的なCPU・メモリ制限 一定のリソースを保証 VM IDS QEMU 通常の プロセス 安全性はKVMが弱そう?(比較) メモリ ディスク 監視 Linuxカーネル(ホストOS) KVM

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

メモリの監視 VMの物理メモリをIDSの仮想メモリ上にマップ QEMUにメモリ用ファイルをメモリとして使わせる mmapを用いてメモリマップする QEMUがファイルを削除しないように修正 従来はオープンした後に削除していた IDSもメモリ用ファイルをマップして参照する IDS VM 監視 Hugetlbfsによって性能向上するの? ページフォールトが起きると2MB探索したことに QEMU マップ マップ VM物理 メモリ VM物理 メモリ メモリ用 ファイル ホストOS

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

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

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

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

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

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

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

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

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

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

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