シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション

Slides:



Advertisements
Similar presentations
九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
Advertisements

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

シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション 九州工業大学  鵜木智矢  光来健一

クラウドにおける帯域外リモート管理 IaaS型クラウドが広く普及 クラウドはユーザに帯域外リモート管理を提供 ネットワーク経由でユーザに仮想マシン(VM)を提供 クラウドはユーザに帯域外リモート管理を提供 ユーザは仮想デバイスを用いてVMにアクセス 仮想キーボードにキーを入力 仮想ビデオカードから画面情報を取得 ユーザ ユーザVM 仮想化システム 仮想デバイス 10〜55秒 図を使い仮想デバイスを具体的に説明 クラウド VNC/SSH

帯域外リモート管理での情報漏洩 仮想化システムの管理者は信頼できるとは限らない 仮想デバイスから入出力を盗聴される可能性 サイバー犯罪の28%は内部犯行 [PwC '14] 管理者の35%が機密情報に無断でアクセス [CyberArk '09] 仮想デバイスから入出力を盗聴される可能性 仮想デバイスは仮想化システムの管理者が管理 容易にログインパスワードなどの機密情報を盗まれる ユーザ 管理者 ユーザVM 仮想化システム 仮想デバイス 55〜2分5秒 しかし帯域外リモート管理では情報漏洩の危険性がある 機密情報

先行研究:VSBypass [二神ら'16] 信頼できない仮想化システムの外側で安全に帯域外リモート管理を実現 仮想化システムの外側でシャドウデバイスを動かす シャドウデバイスは信頼できるものとする ユーザはシャドウデバイスを用いてVMにアクセス 仮想化システム内の管理者は入出力を盗聴できない ユーザVM 仮想化システム ユーザ 管理者 2分5秒〜3分24秒 そこで(先行研究として)提案されている VSBypassでは仮想化、、、 図を使って仮想化システムの外であることを強調 シャドウ デバイス 仮想デバイス

VSBypassの実現手法 ネストした仮想化を用いて仮想化システム全体をクラウドVM内で動作させる シャドウデバイスを用いて入出力命令を処理 シャドウデバイスで発生した割り込みはユーザVMに転送 3分25秒〜4分45秒 割り込みまで話して従来の仮想デバイスについて話す ----- 会議メモ (17/05/15 13:49) ----- VM見方の違い(クラウドVMと仮想化システム) 例パソコンとさした時とwindowsとさした時 ユーザVM 仮想 デバイス 仮想化システム クラウドVM ゲストハイパーバイザ ユーザ シャドウ デバイス クラウドハイパーバイザ

VMマイグレーションにおける問題 VSBypassではVMマイグレーション後に帯域外リモート管理が再開できなくなる 従来、仮想デバイスの状態を転送することで再開可能 仮想化システムの外側にあるシャドウデバイスの状態は転送されない シャドウデバイスの状態が失われる 移送元ホスト 移送先ホスト 4分45秒〜6分33秒 ホストをメンテナンスする時、VMの管理には必須の技術 ----- 会議メモ (17/05/15 13:49) ----- アニメーション シャドウデバイス シャドウデバイスにはレジスタの情報、いろんな状態、デバイスが持っているもの 帯域外リモート管理ができない。制御用の情報がなくなると起動しない。 仮想化システム ユーザVM 移送 クライアント 仮想 デバイス 仮想化システム ユーザVM 移送 クライアント 仮想 デバイス シャドウ デバイス 転送

提案:USShadow VMマイグレーション後にシャドウデバイスを用いた帯域外リモート管理を再開可能にするシステム 仮想化システムの外側で動作するシャドウデバイスの状態を転送可能にする シャドウデバイス自身が状態を暗号化することで仮想化システムへの情報漏洩を防ぐ 移送元ホスト シャドウ デバイス 移送先ホスト 6分35秒〜7分30秒 仮想化システム ユーザVM 仮想化システム ユーザVM シャドウ デバイス 移送 クライアント 転送 移送 サーバ

VMマイグレーションの拡張 移送クライアントはシャドウデバイスと通信することにより暗号化された状態を取得 それを移送サーバに転送し、シャドウデバイスを停止 移送サーバは受信したデータをシャドウデバイスに送信して状態を復元 それまでにシャドウデバイスを起動しておく 7分30秒〜8分40秒 USShadowを実現するために〜しました できるようにした シャドウデバイスを起動する前に状態が転送されてしまうとシャドウデバイスが正しく復元できずVMが起動しない可能性。 ----- 会議メモ (17/05/15 13:49) ----- 移送マネージャに統合? 仮想化システム シャドウ デバイス 移送元ホスト 状態 s 移送先ホスト 移送 クライアント サーバ

シャドウデバイスとの通信方法の検討 従来、移送マネージャと仮想デバイスの通信にはプロセス間通信が用いられていた 同一OS上で動作している場合にのみ可能な方法 ネットワーク通信を用いる方法が考えられる シャドウデバイスが攻撃を受ける危険性が増大 仮想化システムからのリクエストを処理する必要 多くのコンポーネントを経由するためオーバヘッドが大きい 8分40秒〜10分 ここで従来の仮想デバイスとの通信について説明していきます 図を使って ネットワーク通信では仮想化システムの管理者からも攻撃されやすい(移送ツールからネットワークアクセスを許可) ----- 会議メモ (17/05/15 13:49) ----- 移送マネージャが混乱 仮想 デバイス OS シャドウ 移送 マネージャ 仮想化システム

クラウドハイパーバイザ経由での通信 クラウドVMの下で動作するクラウドハイパーバイザを経由してシャドウデバイスと通信 クラウドハイパーバイザを呼び出し、シャドウデバイスにイベントを送信 ネットワーク通信より制限されたインタフェースを提供 移送マネージャのバッファを共有して高速にデータをやりとり 10分〜11分 そこでUSShadowでは ウルトラコール:ハイパーコールのようなもの、ハイパーコールでは一つ下のゲストハイパーバイザとやりとり ネストした環境では一番権限のある最下層のハイパーバイザへ移る、CPUの仕様 クラウドハイパーバイザはVSBypassで仮想化システムの外側でシャドウデバイスを動作させるために導入 共有メモリ 読み込まれる間自由に書き込む 制限されてないよね ネットワーク通信では想定以上のメモリが送られる そういった意味で共有メモリでは制限される 自由度(インターフェースの) 安全性低下(ケースバイケース) クラウドVM 移送マネージャ クラウドハイパーバイザ 仮想化システム バッファ 呼び出し シャドウ デバイス イベント

クラウドハイパーバイザの呼び出し方法 クラウドVM内のゲストハイパーバイザ経由で呼び出す方法が提案されている [Williams et al.’12] ゲストハイパーバイザにハイパーコールを発行 さらにクラウドハイパーバイザにハイパーコールを発行 ゲストハイパーバイザへの改変が必要 ハイパーコールを二回呼び出すオーバヘッドが大きい 11分〜11分35秒 クラウドVM 移送マネージャ ゲストハイパーバイザ バッファ ハイパーコール ハイパーコール クラウドハイパーバイザ

ウルトラコール 仮想化システムをバイパスしてクラウドハイパーバイザを直接呼び出す機構 vmcall命令を用いてクラウドハイパーバイザに対してVM Exitを発生させる 呼び出しオーバヘッドを軽減 既存の仮想化システムが利用可能 移送マネージャのバッファを渡す 11分35秒〜12分25秒 クラウドハイパーバイザ クラウドVM 移送マネージャ ゲストハイパーバイザ VM Exit バッファ

バッファのアドレス変換 ウルトラコールで渡されたバッファの仮想アドレスをクラウドVMの物理アドレスに変換 シャドウデバイスと共有できるようにするため クラウドハイパーバイザが移送マネージャのページテーブルをたどる CR3レジスタの値からページテーブルを特定 クラウドハイパーバイザ 移送マネージャ ゲストハイパーバイザ ページ テーブル バッファ 12分25秒〜13分35秒 ゲスト管理VMのバッファのメモリにアクセスするためにアドレス変換を行う。 クラウドVMの仮想CPUのCR3レジスタにページテーブルのアドレスが格納されている。メモリがどこにあるかのアドレスが書いてある。辞書のようになっている。仮想アドレスから物理アドレスに対応。移送マネージャの仮想アドレス。 言わない ゲスト管理VMは準仮想化されており、クラウドVMの仮想CPUとゲスト管理VMのレシスタ値は同一。 ゲスト管理VMではメモリも準仮想化されており、ページテーブルには物理アドレスが直接格納されている。 クラウドVM

シャドウデバイスの呼び出し シャドウデバイスの状態を保存・復元するための特殊なI/Oリクエストを送信 シャドウデバイスは移送マネージャのバッファをメモリマップ クラウドVMの物理アドレスを指定 13分35秒〜14分15秒 クラウドVM 移送マネージャ シャドウデバイス バッファ マップ I/Oリクエスト クラウドハイパーバイザ

シャドウデバイスの状態の保存・復元 保存 復元 シャドウデバイスのレジスタの値を取得して暗号化 暗号化した状態をバッファに書き込む 仮想化システムの管理者による盗聴を防ぐ 復元 バッファに格納されたデータを復号 復号した状態をシャドウデバイスのレジスタに設定 14分35秒〜16分 シャドウデバイスの状態はレジスタの値から構成されている データの流れとしてはメモリマップをすることによりバッファに直接書きこんでいる メモリマップ:ディスク上のメモリのデータを仮想メモリに対応させる機能(端的に言うとファイルに仮想アドレスを与える機能) メモリマップはAPIで準備されている データが入っているのや制御のものがある。制御用、データ用。入出力の情報。 THR RDR IER IIR LCR 移送マネージャ シャドウデバイス 状態

実験 目的 比較対象 VMマイグレーション後にシャドウデバイスを用いた帯域外リモート管理が継続して行えることの確認 ネストした仮想化を用いた従来システム VSBypass(シャドウデバイスの状態を転送しない) 15分10秒 16分〜(5分50秒)21分40秒 実験環境 CPU: Intel Xeon E3-1226 v3 メモリ: 8GB ホストVM:1 vCPU、3GB ゲスト管理VM:1 vCPU、2.7GB、Linux 4.2 ホストハイパーバイザ: Xen 4.4.0 ホスト(2台) クラウドVM VM CPU Intel Xeon E3-1226v3 メモリ 8GB 3GB 256MB ネットワーク ギガビットイーサネット 仮想化ソフトウェア Xen 4.4

実験に用いたシステム構成 Xen 4.4の上でXen 4.4が動作 シャドウデバイス、移送マネージャは管理VMで動作 シャドウデバイスとして仮想シリアルデバイスを使用 クラウド管理VM クラウドVM ユーザ ゲスト管理VM SSH 仮想シリアル デバイス 移送 マネージャ 14分2秒〜14分22秒(30秒) ユーザVM ゲストハイパーバイザ クラウドハイパーバイザ

帯域外リモート管理の継続の確認 USShadowを用いたVMマイグレーション後に帯域外リモート管理を再開 xl consoleコマンドを用いてシャドウデバイスにアクセス マイグレーション前の状態から再開できた マイグレーション前にVMにログイン 〜17分30秒(56秒) Xl console:VMのコンソール画面に直接アクセスできる機能 マイグレーション後にコマンドを実行

マイグレーション性能 VMマイグレーションにかかる時間を測定 VMマイグレーション中のダウンタイムを測定 VSBypassより0.2秒増加 シャドウデバイスの状態を扱うオーバヘッド VMマイグレーション中のダウンタイムを測定 VSBypassより0.03秒増加 〜18分(34秒) 考えます ----- 会議メモ (17/05/15 13:49) ----- ネスとした実験結果に触れる

関連研究 D-MORE [Kawahara et al.’14] CompSC [Pan et al.'12] VMマイグレーション後に帯域外リモート管理を継続可能 VSBypassに適用すると仮想化システムの外側で動作するリモート管理用VMもマイグレーションする必要 CompSC [Pan et al.'12] 物理デバイスをパススルーで使うVMをマイグレーション VM内のOSでの対応が必要 CloudVisor [Zhang et al.’11] 仮想化システムの外側でメモリが暗号化されたVMをマイグレーション 18分40〜19分30秒(58秒) D−MORE 帯域外リモート管理で送信するVMが仮想化システムの外にある。一言追加。仮想デバイスとVMを用意して操作 仮想化システムの外にあるVMと中にあるVMを送る必要がある。 仮想化システムの内部でマイグレーション。外にあるVMを送る権限は与えれない。 USShadowに少し似ている 暗号化したのが今回はシャドウデバイスだから違う。 データの入出力を守ってもVMがやられると元も子もない

まとめ VMマイグレーション後にシャドウデバイスを用いた帯域外リモート管理を可能にするUSShadowを提案 仮想化システムの外側で動作するシャドウデバイスの状態を転送 ウルトラコールを用いたシャドウデバイスとの通信 シャドウデバイスの状態の保存・復元 シャドウデバイス自身による状態の暗号化により仮想化システムへの情報漏洩を防止 マイグレーション性能への影響は小さいことを確認 19分30秒〜20分(52秒)

今後の課題 他の仮想化システム(KVM)への対応 他の仮想デバイスへの対応 USShadowをクラウドVM内でKVMが動作するXen 4.8に移植し、マイグレーション可能に KVM用の割り込み処理部分は作成済み 他の仮想デバイスへの対応 現状では仮想シリアルデバイスにしか対応していない 帯域外リモート管理で仮想キーボードや仮想ビデオカードを用いる場合でもVMマイグレーションを可能に 20分〜20分30秒 トピックだけで10秒で終わる