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

Slides:



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

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

九州工業大学 塩田裕司 光来健一

 仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM サーバクライアン ト

 仮想マシンの再開時に攻撃を受ける可能性が高い ◦ 長期間停止している間に OS やアプリケーションに脆弱性 が発見されることが多い ◦ 動いている仮想マシン  攻撃が蔓延する前に対策が可能  短期間でセキュリティアップデートが適用される ◦ 停止している仮想マシン  脆弱性が残ったままになる  セキュリティアップデートが適用されない

 再開後にアップデートを行うのは危険 ◦ ネットワーク経由の攻撃を受ける  アップデータをダウンロードするためにネットワークに接 続  即座に攻撃を受ける可能性が高い ◦ 無防備な時間が長い  アップデートの処理に時間がかかる  完了するまでは攻撃にさらされる サーバ 仮想マシン アップデー タ 攻撃者

 仮想マシンを停止させたままでアップデートする 方法が提案されている ◦ シャットダウンした仮想マシンが対象  サスペンドした仮想マシンには適用できない  仮想マシンのディスクが壊れる  OS 内の状態と整合性がとれなくなるため オンラインオフラインオンライン アップデート サスペンド レジューム

 サスペンドした仮想マシンのオフラインアップ デート ◦ オフラインでアップデートをエミュレーション  仮想ディスクが壊れるのを防ぐ ◦ レジューム後にエミュレーション結果を反映  ネットワークに接続しないため安全  短時間でアップデートを完了できる オンラインオフライン オンライン アップデータ の ダウンロード アップデート の エミュレート エミュレー ション 反映 サスペンドレジューム

 可能な限りアップデータを実行する ◦ アップデータのダウンロード ◦ アップデート実行のエミュレーション  パッケージ・データベースの参照・更新  パッケージの展開  前処理・後処理の実行 ◦ ただし、仮想マシンのディスクの状態を変更しない アップデータ のダウンロー ド アップデートの エミュレーショ ン 更新ファイルの 抽出 サスペンド

 エミュレーション結果を仮想マシンに反映 ◦ 更新されたファイルを仮想ディスクに反映 ◦ 仮想ディスクの整合性を保つために仮想マシンの中から 行う  オフライン時に実行できなかった処理の実行 ◦ エミュレーション結果の反映の前後に行う ◦ サーバの再起動など 前処理 エミュレーショ ン結果の反映 後処理 レジューム

 VM Shadow [ 飯田ら ’11] を用いてアップデータ実 行のエミュレーション環境を構築 ◦ 既存のプログラムを実行できる  仮想マシン内の情報を参照 ◦ システムコールと proc ファイルシステムをエミュレート ◦ 仮想ディスクへのアクセスを提供 アップデー タ VM Shadow ホスト OS 仮想 ディスク 仮想 ディスク VM

 システムコールを必要に応じてエミュレーション ◦ OS の情報を取得するシステムコール  仮想マシン内のカーネルメモリを解析して取得 ◦ ネットワーク関連のシステムコール  ホスト OS で実行  proc ファイルシステムをエミュレーション ◦ 仮想マシン内のプロセス等の情報をメモリ解析により取 得 VM Shadow アップデー タ システムコール ホスト OS 仮想マシン カーネ ル

 Union ファイルシステムを用いて仮想ディスクの 更新をエミュレーション ◦ Union ファイルシステムとは?  複数のディレクトリを透過的に重ねることができる  上のディレクトリが優先して読み書きされる ◦ 保存用ディレクトリを仮想ディスクの上に重ねる  仮想ディスクは書き込み専用  保存用ディレクトリは読み書き可能 ◦ Aufs [Okajima] を用いて実装 保存用ディレクトリ 仮想ディスク アップデータ

 保存用ディレクトリに書き込まれ、仮想ディスク は変更されない ◦ 新規ファイル  保存用ディレクトリに新たに作成 ◦ 既存ファイル  仮想ディスクにしかなければ、同名のファイルを保存用 ディレクトリに作成  保存用ディレクトリにあれば上書き 仮想ディスク ファイル A ファイル B’ ファイル B アップデータ 保存用ディレクトリ

 保存用ディレクトリに whiteout ファイルが作成さ れ、仮想ディスクは変更されない ◦ whiteout ファイルとは?  下層のファイルが消去されたことを示す  消去されたファイル名の先頭に.wh. をつけたファイル ◦ 保存用ディレクトリにしかないファイルを削除したとき には作成されない 仮想ディスク.wh. ファイル C ファイル C アップデータ 保存用ディレクトリ

 アップデータから見ると更新されたように見える ◦ 保存用ディレクトリにファイルがある場合  そのファイルを読み込む ◦ 保存用ディレクトリに whiteout ファイルがある場合  仮想ディスクのファイルを読み込まない Aufs でマウントしたディレクトリ 仮想ディスク ファイル A ファイル B’ ファイル B ファイル C.wh. ファイル C ファイル D ファイル A ファイル B’ ファイル D 保存用ディレクトリ

 仮想ディスクへの更新は保存用ディレクトリに抽 出されている ◦ 保存用ディレクトリにすべての更新ファイルが作成され る  削除リストを作成 ◦ 保存用ディレクトリを検索して、 whiteout ファイルのパ スを取得 仮想マシンのディスク ファイル A ファイル B’ ファイル B 保存用ディレクトリ ファイル C.wh. ファイル C 削除リス ト 抽出

 仮想マシンのレジューム直後に仮想ディスクへの 更新を実際に行う ◦ 保存用ディレクトリのアーカイブを tar コマンドで作成  仮想ネットワーク経由でアーカイブを送る ◦ ssh コマンドを使って仮想マシン上でアーカイブを展開  削除リストに基づいてファイルを消去 ホスト OS 仮想マシ ン ファイル A ファイル B ファイル B’.wh. ファイル C 削除リス ト ファイル C Tar ファイ ル Tar ファイ ル ファイル A ファイル B’.wh. ファイル C 削除リス ト

 仮想ディスクを更新する前と後でアップデータの 前処理・後処理を実行 ◦ Ubuntu のパッケージには前処理と後処理を行うスクリ プトが含まれている場合がある  前処理  設定ファイルの保存やサーバの停止など  後処理  新しい設定ファイルの作成やサーバの再起動など ◦ 現在は未実装 前処理 エミュレー ション結果の 反映 後処理

 実験内容 ◦ Ouassister を用いたオフラインアップデートの動作確認 ◦ 従来手法とのレジューム後の処理時間の比較  実験環境 ◦ CPU Intel Core2 Quad 2.83GHz ◦ メモリ 4GB ◦ Xen 4.0 ◦ ドメイン 0 Linux ◦ ドメイン U Linux ◦ Ubuntu10.04

 OUassister を用いて bcc パッケージをオフライン でインストールした ◦ bcc パッケージ  C コンパイラ  前処理・後処理はなし  実験結果 ◦ bcc 関連のインストールに成功した ◦ パッケージデータベースの更新を確認できた

 レジューム後のアップデート時間を測定した ◦ bcc パッケージをインストール  従来手法はアップデータのダウンロードと実行  OUassister はエミュレーション結果の反映のみ  実験結果 ◦ OUassister はオンライン時の処理時間を削減できた

 NetChk Protect [VMware, Inc.] ◦ オフライン時にアップデータをダウンロードし、仮想 ディスク内に保存  仮想マシンの再開時にはアップデータを実行するだけ ◦ サスペンド状態の仮想マシンには対応してない  Nuwa [Zhou et al.’10] ◦ オフライン時にアップデータを実行して仮想ディスクを 更新  アップデータのスクリプトを書き換えてできるだけ実行 ◦ サスペンド状態の仮想マシンには対応していない ◦ システムコール等のエミュレーションは行なっていない  アップデータがホスト OS 側の情報を参照してしまう

 Offline Virtual Machine Servicing Tool [Microsoft] ◦ アップデート専用環境を用意し、その中でオフライン状 態の仮想マシンを動かしてアップデート  内部のサーバからアップデータをダウンロードするので安 全  サスペンド状態の仮想マシンにも適用可能 ◦ 専用環境を構築してメンテナンスする必要がある  仮想マシンを動かすマシン  アップデート・サーバ

 サスペンドした仮想マシンのオフラインアップ デートを可能にする OUassister を提案 ◦ オフライン時にアップデータ実行をエミュレーション  VM Shadow と Aufs を用いて更新されたファイルを抽出 ◦ レジューム後にエミュレーション結果を反映  オンライン時のアップデート時間を削減  今後の課題 ◦ アップデータに含まれる前処理と後処理をエミュレー ション  まず、オフライン時にはスクリプト実行しないようにする  次に、オフライン時にできるだけスクリプト実行できるよ うにする