ネストした仮想化を用いた VMの安全な帯域外リモート管理

Slides:



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

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

ネストした仮想化を用いた VMの安全な帯域外リモート管理 九州工業大学 二神翔太  光来健一

クラウドにおける帯域外リモート管理 IaaSクラウドはユーザが仮想マシン(VM)にアクセスできるように帯域外リモート管理を提供 仮想シリアルデバイス、仮想キーボードなど ユーザVM内の管理サーバに依存せずに管理が可能 ユーザVM内のネットワーク障害時でも管理が行える ユーザ VM ハイパーバイザ 管理 クライアント サーバ 仮想 デバイス 仮想化 システム

帯域外リモート管理における情報漏洩 クラウドの管理者は信頼できるとは限らない 帯域外リモート管理の入出力を盗聴される可能性 サイバー犯罪の28%は内部犯行 [PwC '14] 管理者の35%が機密情報に無断でアクセス [CyberArk '09] 帯域外リモート管理の入出力を盗聴される可能性 クラウドの管理者が仮想化システムを管理 例:ログインパスワードなどの機密情報 ユーザ VM ハイパーバイザ 管理 クライアント サーバ 仮想 デバイス 仮想化 システム 管理者

従来のアプローチ 管理クライアントとハイパーバイザの間で入出力を暗号化 [Egawa+'12][Kourai+'15] 管理サーバや仮想デバイスからの情報漏洩を防ぐ クラウドの管理者は暗号化された情報しか取得できない 仮想化システム内のハイパーバイザを信頼 リモートアテステーションなどを利用 管理 クライアント 暗号化 ユーザ VM サーバ 仮想 デバイス 仮想化 システム 復号化 ハイパーバイザ 管理者

従来のアプローチの問題点(1/2) 信頼できない管理者に仮想化システム全体を管理させられない 信頼するハイパーバイザのアップデートができない 仮想化システム内にいる管理者がハイパーバイザを攻撃するのは比較的容易 管理用の様々なインタフェースが提供されている ユーザVM ハイパーバイザ 仮想化 システム 管理者

従来のアプローチの問題点(2/2) 特定の仮想化システムにのみ適用可能 既存の管理クライアントが利用できない ハイパーバイザだけを信頼するには、ハイパーバイザが明確に分離されている必要 既存の管理クライアントが利用できない 入出力の暗号化・復号化処理の追加が必要 ユーザ VM 仮想 デバイス 仮想化 システム ハイパーバイザ OS 管理者

提案:VSBypass ネストした仮想化を用いて、仮想化システムの外側で帯域外リモート管理を実現 従来の仮想化システム全体をVM内で動かす リモート管理の入出力は仮想化システムに漏洩しない クラウドVM ユーザVM ハイパーバイザ クラウドハイパーバイザ 仮想デバイス 管理サーバ 管理 クライアント 仮想化 システム

脅威モデル クラウド事業者は信頼する 仮想化システムの管理者は信頼しない VSBypassで用いるクラウドハイパーバイザ、仮想デバイス、管理サーバを管理 仮想化システムの管理者は信頼しない クラウドVM内のハイパーバイザ等を管理 ユーザVMはCloudVisor [Zhang+'11]を用いて保護 管理者 クラウド 事業者 ユーザVM ハイパーバイザ クラウドハイパーバイザ 仮想デバイス 管理サーバ 仮想化 システム クラウドVM

VSBypassの特徴 信頼できない管理者が仮想化システム全体を管理可能 仮想化システム内からクラウドVM外部を攻撃するのは困難 仮想化システム内のハイパーバイザを信頼しないため 仮想化システム内からクラウドVM外部を攻撃するのは困難 VMによる強い隔離があるため どのような仮想化システムであっても利用可能 仮想化システム全体を仮想化するため 管理クライアントへの変更が不要 入出力の暗号化を必要としないため

ネストした仮想化における 通常の入出力処理 ネストした仮想化を用いるだけではクラウドVM内の仮想デバイスが使われる ユーザVMの入出力は一旦、クラウドハイパーバイザによって捕捉 クラウドVM内のハイパーバイザに転送され、ユーザVMの仮想デバイスで処理 クラウドハイパーバイザ 仮想 デバイス ハイパーバイザ ユーザVM クラウド VM

強制パススルー ユーザVMの仮想デバイスに対する入出力をクラウドハイパーバイザが横取り クラウドVM外部の仮想デバイスで発生した仮想割り込みをユーザVMに挿入 ユーザVM ハイパーバイザ クラウドハイパーバイザ 仮想デバイス クラウド VM

ネストした仮想化のオーバヘッド ネストした仮想化によりシステムの性能が低下 オーバヘッドを減らす手法が提案されている Xen 4.4においてUnixBenchのスコアが40%程度に [大庭ら'14] 仮想化を二重に行うオーバヘッド オーバヘッドを減らす手法が提案されている Turtles Project [Azab et al.'10] 一般的なワークロードで6〜8% TinyChecker [Tan et al.'12] カーネルコンパイルで1.3%

実装 VSBypassをXen 4.4.0に実装 SSH経由で仮想シリアルコンソールにアクセスする帯域外リモート管理に対応 ハイパーバイザとデバイスエミュレータ(QEMU)を修正 クラウドVM内では既存のXenを動作させる SSH経由で仮想シリアルコンソールにアクセスする帯域外リモート管理に対応

プロキシVM ユーザVMに強制パススルー先の仮想デバイスを提供するためのVM 対応するユーザVMと同じ数の仮想CPUを割り当て それ以外は最低限のリソースを割り当て ユーザはプロキシVMを指定してアクセスすることでユーザVMに透過的にアクセス クラウドVM ユーザVM ハイパーバイザ クラウドハイパーバイザ 仮想 デバイス プロキシ VM

ユーザVMとプロキシVMの対応づけ ユーザVMごとに作られる拡張ページテーブル(EPT)を用いてユーザVMを識別 ユーザVMでVM Exitが発生した時にVMCSから取得 初めて検出されたEPTなら新しいプロキシVMと対応づけ プロキシVMはあらかじめクラウドハイパーバイザに登録 ユーザVM2 クラウドハイパーバイザ ユーザVM1 プロキシVM2 プロキシVM1 ハイパーバイザ EPT1 EPT2 クラウド VM

ユーザVMの入出力命令の横取り ユーザVMによる入出力命令の実行時に発生するVM Exitをクラウドハイパーバイザが横取り 仮想 デバイス ハイパーバイザ ユーザVM クラウド VM クラウドハイパーバイザ VM Exit VM Entry プロキシ 命令の例:out al, 0x3f8

ユーザVMへの仮想割り込みの挿入 仮想デバイスで発生した仮想割り込みをユーザVMに挿入 クラウドVM内の割り込みサーバに割り込み情報を送る 従来通り、ハイパーバイザ経由で仮想割り込みを挿入 割り込みが準仮想化されたゲストOSにも対応 仮想割り込みには機密情報は含まれない ユーザVM ハイパーバイザ 仮想 デバイス 割り込み サーバ IRQ番号 電圧レベル ハイパー コール クラウド VM

実験 目的 比較対象 帯域外リモート管理の盗聴が防げることを確認 VSBypassにおける帯域外リモート管理の性能を測定 従来のクラウド環境 ネストした仮想化を用いた 仮想クラウド環境 クラウド側 CPU Intel Xeon E3-1290v2 メモリ 8GB クラウドVM 4GB ユーザVM 2GB ハイパーバイザ Xen 4.4.0 OS Linux 3.13 クライアント側 CPU Intel Xeon E3-1290v2 メモリ 8GB OS Linux 3.13

帯域外リモート管理の入出力の盗聴 従来の仮想化システム内のハイパーバイザにおいて仮想デバイスへの入出力を盗聴 SSHクライアントを用いてユーザVMの仮想シリアルコンソールに対して文字を入力 従来のクラウド環境ではユーザの入力した文字が盗聴できた VSBypassでは盗聴できなかった

応答時間 仮想シリアルコンソールに文字を入力してから、ユーザVM経由で表示されるまでの時間を測定 性能低下の原因 従来のクラウド環境より3.5ミリ秒増加 仮想クラウド環境よりも1ミリ秒増加 性能低下の原因 ネストした仮想化のオーバーヘッド 仮想割り込みの挿入時のネットワーク通信

スループット ユーザVMでテキストファイルを表示する時間を測定 従来のクラウド環境の12%に低下 仮想クラウド環境の2.7倍に向上 応答時間の増加と同様の原因 システムにより高い負荷がかかったため 仮想クラウド環境の2.7倍に向上 仮想デバイスや管理サーバがクラウドVMのオーバヘッドを被らないため

関連研究 デバイスパススルー BitVisor [Shinagawa et al.'09] 1つのVMが物理デバイスを占有して直接アクセス 強制パススルーでは各VMが仮想化システムの外側の仮想デバイスに直接アクセス BitVisor [Shinagawa et al.'09] 必要に応じて付加的な処理を行う準パススルーを提供 強制パススルーでも付加的な処理が可能 CloudVisor [Zhang et al.'11] ユーザVMを仮想化システムの管理者から保護 ディスク以外の仮想デバイスの保護は行っていない

まとめ ネストした仮想化を用いて、仮想化システムの外側で帯域外リモート管理を実現するVSBypassを提案 今後の課題 仮想化システム全体をクラウドVM内で動かす 強制パススルーによりユーザVMの入出力を横取り クラウドVM外部の仮想デバイスで安全に処理 今後の課題 仮想割り込みを挿入するオーバーヘッドを削減 仮想化システムに依存しない割り込み処理の実現 VNCを用いた帯域外リモート管理にも対応 仮想キーボードや仮想ビデオカードを動作可能に