サスペンドした仮想マシンの オフラインアップデート

Slides:



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

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
メモリ暗号化による Android端末の盗難対策
仮想計算機を用いたファイルアクセス制御の二重化
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
小型デバイスからのデータアクセス 情報処理系論 第5回.
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
IaaS型クラウドにおける キーボード入力情報漏洩の防止
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
SAccessor : デスクトップPCのための安全なファイルアクセス制御システム
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
仮想マシンを用いて既存IDSを オフロードするための実行環境
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
仮想計算機を用いて OSを介さずに行う安全な ファイルアクセス制御
分散IDSの実行環境の分離 による安全性の向上
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VM内コンテナを用いた サービス単位の オートスケール機構
Virtualizing a Multiprocessor Machine on a Network of Computers
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

サスペンドした仮想マシンの オフラインアップデート 機械情報工学科 光来研究室 09237206 塩田裕司 サスペンドした仮想マシンのオフラインアップデートと題しまして光来研究室の塩田が発表します 7

仮想マシンの利用形態 使う必要がある時だけ動かすのが一般的 仮想マシンを用いると一台の計算機上に複数の計算機を仮 想的に作成できる デスクトップ 別のOSを使用したい時のみ使用 サーバ 負荷によって仮想マシンの数を調整できるように予備を用意 VM 仮想マシンを用いると一台の計算機上に複数の計算機を仮想的に作成できます。 仮想マシンの主な利用方法として、デスクトップとサーバがあります。 デスクトップでは別のOSを使用したいときのみ使用します。図のように普段windowsを使用していて、linuxを使用したい時のみlinuxを起動するような使い方をします。 サーバでは、負荷によって仮想マシンの数を調整する予備を用意しています。図の青が動作している仮想マシンだとします。クライアントが増えるとサーバにかかる負荷が増えるので、予備を起動して負荷を分散します。 このように仮想マシンは使う必要があるときのみ使用するのが一般的です。 60 VM VM VM VM VM VM クライアント サーバ

長期間のサスペンド時の問題点 長期間使用しなかった仮想マシンを動かすと攻撃を 受ける可能性が高い 仮想マシンは使用しない時はサスペンドする サスペンド時の状態を保存して停止 使用する時にレジュームする サスペンドして保存した状態から再開 オフライン時にOSやアプリケーションに脆弱性が見つかる オフライン オンライン オンライン 仮想マシンは使わないときサスペンドする。サスペンドはサスペンド時の状態を保存して停止することです。 また、使用するときにレジュームし、サスペンドして保存した状態から再開します。 レジュームした仮想マシンはサスペンド時の状態から再開します。 そのため、サスペンドした仮想マシンはサスペンド後のオフライン時にOSやアプリケーションに脆弱性が見つかることが多く、長期間使用しなかった仮想マシンは攻撃を受ける可能性が高くなります。 45 VM サスペンド 脆弱性の 発見 VM レジューム

従来のアップデートの問題点 レジューム直後にアップデートするのも危険 ネットワーク経由で攻撃を受ける アップデートの処理中に攻撃を受ける ネットワーク接続しアップデータをダウンロード インターネットに接続しなければならない アップデートの処理中に攻撃を受ける アップデートの処理に時間が掛かる サーバ 攻撃者 従来のアップデートの問題点について説明します。 レジューム後にアップデートを行うのも危険です。 ネットワークに接続してサーバからアップデータをダウンロードします。インターネットに接続しなければなりません。ネットワークに接続するのでネットワークから攻撃される危険性があります。 また、アップデートの処理に時間がかかるので、アップデートの処理中にも攻撃される危険性があります。 35 アップデータ 仮想マシン

提案:OUasisster サスペンドした仮想マシンのオフラインアップデート 出来る限りオフラインで処理を行う オンライン時の処理時間を削減 アップデートのエミュレーション オンライン時の処理時間を削減 エミュレーション結果の反映 オンライン オフライン オンライン VM サスペンド アップデータの 発行 アップデートの エミュレート VM レジューム エミュレーション 反映 本研究ではサスペンドした仮想マシンのオフラインアップデートを可能にするOuasissterを提案します。 図の上側がOuasissterを使用したアップデート、下側が従来のアップデート方法です。 オフライン時にアップデータが発行されます。 従来の方法でレジューム後行っていたアップデートの一部をオフライン時にエミュレーションし、出来る限りオフラインで処理を行っておきます。 仮想マシンのレジューム後すぐにエミュレーションの結果の反映を行い、オンライン時の処理時間を削減して、アップデート中に攻撃される可能性を減らします。 40 VM サスペンド アップデータの 発行 VM レジューム アップデート

アップデータ実行のエミュレーション Transcall [飯田ら’10]を用いて仮想マシンに対する アップデートをエミュレート アップデータのダウンロード ホストOSのネットワークを使用 仮想マシンのディスクへのアクセス ホストOSにマウントして使用 アップデータが発行するシステムコールのエミュレーションを行います。 Transcallを用いてアップデータから発行されるシステムコールをトラップし、必要に応じてエミュレーションを行います。 例えば、アップデータをダウンロードする際に使われるネットワーク用のシステムコールは、エミュレーションを行わずにホストOSで実行します。 また、仮想ディスクへのディスクアクセスを行うシステムコールはエミュレーションを行います。 30 apt-get アップデータ システムコール Transcall カーネル ホストOS 仮想マシン

更新ファイルの抽出 アップデータが更新したファイルをホストOS上に保存 仮想マシンのディスクには更新を行わない サスペンド時に仮想ディスクの更新を行うと壊れる 仮想マシン内の状態と整合性が取れなくなるため アップデータ 更新ファイルの抽出について説明します。 アップデータが更新したファイルをホストOS上に保存します。 このとき、仮想マシンの仮想ディスクは更新を行わないようにします。 なぜなら、サスペンド時に仮想ディスクの更新を行うと、仮想マシン内の状態と整合性が取れなくなり、仮想ディスクが壊れてしまうからです。 45 更新ファイル ホストOS 仮想マシン

aufsを用いたファイル抽出 aufs [岡島’06]を用いてファイル更新のエミュレー ションを行う 複数のディレクトリを透過的に重ねるファイルシステム 仮想ディスクを読み込み専用、更新ファイル用ディレクトリを読み 書き可能に設定 上のディレクトリから読み込まれる aufsでマウントしたディレクトリ アップデータ パッケージ データベースA パッケージ データベースB bcc Aufsを用いてファイル更新のエミュレーションを行うことによって更新ファイルの抽出を行うようにします。 Aufsは複数のディレクトリを透過的に重ねるファイルシステムです。 各ディレクトリを読み込み専用と読み書き可能に設定でき、仮想ディスクを読み込み専用、保存用ディレクトリ読み書き可能に設定する。 AUFSでマウントしたディレクトリには上のディレクトリが優先されて読み込まれます。 AUFSでマウントしたディレクトリにアップデートを行うと、更新ファイルは保存用ディレクトリに保存される。 上のディレクトリから読み込まれるので、パッケージデータベースは更新されたBの方が読み込まれます。このようにアップデータから見ると仮想ディスクが更新されたように見えます。 これによって、更新ファイル用ディレクトリに更新ファイルを保存することができます。 更新ファイル用ディレクトリ 抽出 パッケージ データベースB bcc 仮想マシンのディスク パッケージ データベースA

エミュレーション結果の反映 更新ファイルをレジュームした仮想マシンに送り結果 の反映を行う 更新ファイル用ディレクトリをtarコマンドで固める scpコマンドで更新ファイルを仮想マシンに送る sshコマンドを使い仮想マシン上の更新ファイルを展開 仮想マシンのディスクをアップデート後の状態にする ホストOS 仮想マシン 更新ファイルをレジュームした仮想マシンに送りエミュレーション結果の反映を行います。 大まかな順序を説明します。 まず、保存用ディレクトリをtarコマンドで固めます。 次に、scpコマンドを使い更新ファイルを仮想マシンに送ります。 最後に、sshコマンドを使用し仮想マシン上の更新ファイルを展開し、エミュレーション結果の反映し、仮想マシンのディスクをアップデート後の状態にする。 Tar ファイル パッケージ データベース パッケージ データベース bcc bcc

実験:パッケージのインストール OUasissterを用いたオフラインアップデートを行う bccパッケージのインストールを行った 実験について説明します。 Ouasissterを用いて用いたオフラインアップデートを行った。 Bccパッケージのインストールを行いました。実験環境は以下の表のとおりです。 bcc関連のインストールとパッケージデータベースの更新が行われました。 アップデート後、仮想マシンでbccをインストールしようとすると、以下のように表示されbccパッケージが正常にインストール出来たことがわかった。 実験環境 CPU Intel Quad 2.83GHz メモリ 4GB Xen4.0 ドメイン0 Linux2.6.32.25 Ubuntu10.0.4 ドメインU Linux2.6.32.24 Ubuntu10.0.4

実験:オンライン処理時間の比較 レジューム後にかかる処理時間の比較 従来のアップデートとOUasissterを用いたオフラインアップ デートを比較 従来のアップデートはアップデータのダウンロードとアップデート Ouasissterはエミュレーションの反映 bccパッケージのインストール OUasissterでオンライン時の処理時間を削減 オンライン処理時間の比較を行いました。 従来のアップデートとOuasissterを用いたオフラインアップデートのレジューム後にかかる処理時間の比較を行いました。 従来のアップデートはアップデータのダウンロードとアップデート、Ouasissterはエミュレーションの反映に掛かる時間を計測しました。 実験に使用したパッケージはbccパッケージです。 結果は、Ouasissterによるアップデートが7.2秒、従来のアップデートが43.3秒掛かりました。 Ouasissterを使用することでオンライン時の処理時間を削減することができました。

関連研究 NetChk protect [Shavlik] Nuwa [Zhou et al.’10] オフライン時の仮想ディスクにアップデータを書き込み、レ ジューム後にアップデータを実行 サスペンド状態の仮想マシンには対応してない Nuwa [Zhou et al.’10] アップデータを書き換え、オフライン時にできるだけ実行 サスペンド状態の仮想マシンには対応していない Offline Virtual Machine Servicing Tool [Microsoft] アップデート環境を作成しVMをレジュームしてアップデート アップデート環境の作成をしなければならない 関連研究です。 はじめのNetChk protect はオフライン時の仮想ディスクにアップデータを書き込み、レジューム後にアップデータを実行します。オフライン時に仮想ディスクへの書き込みを行うため、サスペンド状態の仮想マシンには対応してない 次に、Nuwa はアップデータを書き換え、オフライン時にできるだけ実行を行います。こちらも、サスペンド状態の仮想マシンには対応していない Offline Virtual Machine Servicing Tool は、アップデート環境を作成しVMをレジュームしてアップデートします。アップデート環境の作成をしなければならず、コストと手間がかかってしまいます。

まとめ サスペンドした仮想マシンのオフラインアップデートを 行うOUasissterを提案 今後の課題 オフライン時にアップデートのエミュレーション レジューム後にエミュレーション結果の反映 レジューム後のアップデート処理を削減できた 今後の課題 アップデータによるファイルの消去の対応 アップデータに含まれるスクリプトの実行への対応 最後にまとめです。 本研究では、サスペンドした仮想マシンのオフラインアップデートを行うOUasissterを提案しました。 Ouasissterでは、オフライン時にアップデートのエミュレーション、レジューム後にエミュレーション結果の反映を行い、レジューム後のアップデート処理を削減することができた。 今後の課題は、アップデータによるファイルの消去の対応やアップデータに含まれるスクリプトの実行への対応があります。

長期サスペンド時の問題点 OSやアプリケーションに脆弱性が見つかることが多い レジューム後のアップデートも危険 レジュームすると脆弱性を利用した攻撃を受ける可能性が高 い レジューム後のアップデートも危険 ネットワークからの攻撃 ネットワーク接続しアップデータをダウンロードするため アップデートの処理中に攻撃 アップデートの処理に時間が掛かるため

仮想マシンのアップデート 仮想マシンを停止させたままアップデートする サスペンド状態の仮想ディスクを更新すると壊れる 仮想マシンの仮想ディスクを直接更新 OSをシャットダウンした状態のみ有効 サスペンドした仮想マシンは適用できない サスペンド状態の仮想ディスクを更新すると壊れる

Transcall 実行環境VMシャドウの提供 ホストOSから仮想マシン内の情報を取得 仮想ディスク内のファイルへのアクセスが可能 アップデータを仮想マシン内で動作しているのと同じ ように扱えるようにする ホストOS 仮想マシン VMシャドウ アップデータ Transcall

長期間サスペンド時の問題点 長期間使用しなかった仮想マシンは攻撃を受ける可 能性が高い 仮想マシンは使わないときサスペンドする 状態を保存して停止 使用するときレジュームする サスペンドして保存した状態から再開 サスペンド中にOSやアプリケーションに脆弱性が見つかる オンライン オフライン オンライン サスペンド サスペンド アップデート VM VM VM VM

提案:OUasisster サスペンド状態の仮想マシンをオフラインアップデート 出来る限りオフラインで処理を行う オンライン時の処理を削減 アップデートのエミュレーション オンライン時の処理を削減 エミュレーションの反映 オンライン オフライン オンライン 結果の反映 サスペンド サスペンド アップデート VM VM アップデートの エミュレーション VM

ファイル更新のエミュレーション aufsを用いてファイル更新のエミュレーションを行う 複数のディレクトリを透過的に重ねるファイルシステム 各ディレクトリに読み込み専用及び読み書き可能を設定できる 上のディレクトリから読み込まれる アップデータから見た場合、仮想ディスクがアップデートされ たように見える AUFSでマウントしたディレクトリ パッケージ データベースB bcc 保存ディレクトリ パッケージ データベースB bcc ゲストOSの仮想ディスク パッケージ データベースA