複数ホストに分割されたメモリを用いる仮想マシンの監視機構

Slides:



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

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

複数ホストに分割されたメモリを用いる仮想マシンの監視機構 九州工業大学 情報工学部 機械情報工学科 光来研究室 14237065 大和功輝

大容量メモリを持つVM IaaS型クラウドは仮想マシン(VM)を提供 大容量メモリを持つVMも利用可能 例:Amazon EC2は4TBのメモリを持つVMを提供 ビッグデータの解析などに利用 仮想マシンをユーザに提供すrIaaS型クラウドが普及している IaaS型クラウドではユーザは自由にVM内のシステムを構築可能 中では大容量メモリを持つVMも提供されている アマゾンでは4TBのメモリを持つVMも利用できる これらはビッグデータの解析等に使われる VM VM VM

VMマイグレーション VMは停止することなく他のホストへ移送できる 大容量メモリを持つVMはマイグレーションが困難 十分な空きメモリを持つホストを確保しておくコストが高い VMはVMマイグレーションという技術をつかって、VMを停止させることなく他のホストへ移送できる マイグレーションはホストのメンテナンス時などに行われる マイグレーションを行う時には、ネットワーク経由でVMのメモリが転送される (アニメーション) そのため、移送先に十分な空きメモリが必要 しかし、大容量メモリを持つVMの場合には、十分な空きメモリを持つホストを確保しておくコストが高区、マイグレーションが困難になる もし、移送先ホストの空き容量が不足するとマイグレーションが失敗する 移送元ホスト 移送先ホスト VM VM VM 大容量 メモリ メモリ マイグレーション できない 空きメモリ

分割マイグレーション [Suetake et al.’16] VMのメモリを複数のホストへマイグレーション アクセスが予測されるメモリはメインホストへ 残りのメモリはサブホストへ メモリデータはリモートページングを用いてやりとり VMがサブホストのメモリを必要とした時 移送元ホスト メインホスト サブホスト そこで、メモリを分割して複数のホストへ転送する分割マイグレーションが提案されている 分割マイグレーションでは、アクセスが予測されるメモリをメインホストへ、メインホストに入りきらないメモリをサブホストへ転送する。 マイグレーション後はメインホスト上でVMを起動し、VMがサブホストのメモリを必要とすると、リモートページングでメモリを取得する ************************************** 準備するコストは安い 一台当たりのメモリ容量にも関わる たくさんさせるのは 高い 大きい方 運用が大変 開けておくのがコスト高い 1TBで得する 分割が かならず有利ではない バランスは 変わる 移送元の穴は開けない VM VM メモリ メモリ メモリ メモリ

IDSオフロードの問題 (1/2) 分割マイグレーション後はIDSオフロードが困難に 従来、侵入検知システム(IDS)はVM内で攻撃を検知 システムの状態、ディスク、ネットワークを監視 IDSオフロードはIDSをVMの外で安全に動作させる VMのメモリを解析することでVM内のシステムを監視 VMへの侵入者によるIDSへの攻撃を防ぐ しかし、分割マイグレーション後にはIDsオフロードと呼ばれる手法を用いてVMを監視することが難しくなる 従来、IDSをVM内で動作させ攻撃を検知していた IDSはシステムの状態、ディスク、ネットワークを監視して攻撃を検知する。 しかし、攻撃者が侵入後にIDSが無効化される恐れがある そこでIDsをVMの外にオフロードし、VMの外側からメモリを解析することで監視する これでIDSが無効化されることはない *********************** IDSについてちゃんと どんな風に 色が濃ゆい 色を改善 攻撃者っぽい絵 侵入するアニメ 攻撃者が侵入 オフロードするとメモリを出す VM IDS メモリ

IDSオフロードの問題 (2/2) VMのメモリが分割されているとIDSはVM内のすべてのデータを監視できない しかし、分割マイグレーション後のようにメモリが分割されていると、全てのデータを監視できない。 I図のようにIDSをメインホスト上にオフロードするとサブホストのメモリにアクセスできない IDSはメモリを解析することで必要な除法を取得しVMを監視するため、全てのメモリにアクセスできないと、監視を行えなくなる可能性がある IDSがサブホストと通信してメモリを取得する手法も考えられるが、この手法では処理が煩雑になってしまう サブホストのメモリにアクセスするために、サブホスト上にオフロードしても、メインホストにアクセスできなくなる。 メインホスト サブホスト VM メモリ IDS メモリ

提案:VMemTrans 複数ホストに分割されたメモリを用いるVMに対してIDSオフロードを可能にする IDSをメインホスト上にオフロード そこで、複数ホストに分割されたメモリを用いるVMに対して、IDSオフロードを可能にするシステムVMemTransを提案する。 VMemTransでは IDSをメインホスト上にオフロードし、VTランタイムを用いてIDSを動作させる。 必要に応じてVTランタイムがサブホストのメモリを自動取得するためIDSはサブホスト上のメモリにもアクセスできようになる これにより、IDSはVMのメモリが分割されていることを意識せずにVMの監視を行うことができる これから、どのようにして分割されたメモリにアクセスするのかについて説明する メインホスト サブホスト VM メモリ IDS VMemTransランタイム メモリ

メインホスト上のVMとのメモリ共有 メモリファイルを用いてメモリを共有 [Kourai et al.’14] ファイルをVMとIDSのメモリにマッピングしてアクセス データはメモリ上に置かれるため性能は低下しない メモリファイルにはメインホスト上のメモリデータだけを格納 サブホスト上にあるメモリ領域へのアクセスを検知 まず、メインホスト上にあるVMのメモリについてだが、VTでは、既存の研究で用いたれていた手法である、メモリファイルをもちいたVMのメモリの共有を行う。 メモリを共有するために、VMのメモリデータをメモリファイルと呼ばれるファイルに格納する。 このメモリファイルをVMとVTランタイムの両方からメモリにマッピングする これによりメインホスト上にあるVMのメモリを共有する。 これによりメモリデータをIDSに提供することができる VTでは既存研究と異な李、VMのメモリの一部がサブホスト上にある。 この領域はメインホスト上には存在せず、メモリファイルにもこの領域は存在しないため、IDSはこの領域にアクセスできない。 VTでは、IDSガサブホスト上にあるメモリ領域にアクセスしたことを検知し、メモリを取得する VMemTrans ランタイム VM メモリファイル メモリ メモリ IDS

サブホスト上のメモリの取得 (手法1) VMemTransランタイムがサブホストと通信してメモリを取得 取得したデータを保持し続けるとメモリ容量を圧迫し、内容が古くなる恐れ 最小限のデータのみ保持することで対処 はじめに処理の流れを説明する メインホスト サブホスト VM メモリ IDS メモリ転送要求 VMemTransランタイム メモリ

サブホスト上のメモリの取得 (手法2) VMemTransランタイムがVMにリモートページングを依頼してメモリを取得させる メモリ容量を圧迫せず、常に最新のデータを監視可能 リモートページングのオーバヘッドがある VMのメモリ管理に影響を与えるため、VMの性能も影響を受ける可能性 利点と欠点 この手法では、先ほどの手法と異なり、メインホスト上のメモリ容量を圧迫せず、常に最新のデータを監視できます。 しかし、リモートページングのオーバヘッドがあります。 この手法では、VMのメモリ管理に影響を与えるため、VMの性能も影響を受ける可能性があります メインホスト サブホスト VM メモリ IDS コマンド送信 VMemTransランタイム メモリ

既存のIDSのオフロード VMemTransをTranscall [飯田ら’10]に統合 メモリが分割されたVMに対して既存のIDSのオフロードを可能にする オフロードされたIDSのための実行環境を提供 VM内のプロセスやネットワークなどの情報を収集してIDSに提供 メインホスト サブホスト 既存のIDSに修正を加えることなくIDSpフロードを可能にするため、TranscallとVMemTransを統合しました、Transcallは、VMのプロセスやネットワークの情報を取得して、シャドウprocファイルシステムを構築し、IDSに提供します。 VMemTransと統合することによって、複数ホストに分割されたメモリを用いるVMに対してもIDSオフロードが可能になりました 。 IDS VM メモリ Transcall VMemTransランタイム メモリ

実験 VMemTransの性能を調べる実験を行った IDSオフロードの性能を調査 VMの性能への影響を調査 それぞれ2種類のメモリ取得手法を比較 メインホスト サブホスト CPU Intel Xeon E3-1225 v5 メモリ 8GB OS Linux 4.11 仮想化ソフトウェア QEMU-KVM 2.4.1 VMのメモリ 2GB(1GBずつに分割) 実験でVMemTransによるIDSオフロードの性能を測定しました。 IDSオフロードの性能や、VMのメモリアクセス性能への影響を測定し、VMemTransが提供する二つのメモリアクセス手法について比較を行いました。 実験環境は以下の通りで、メインホストとサブホストとして二台のマシンを用意し、分割マイグレーションを実装したLinux 4.11とQEMU-KVM 2.4.1を動作させ、ギガビットイーサネットで接続しました。

IDSオフロードの性能 Transcallを用いてオフロードしたchkrootkitの実行時間を測定 メモリ分割前と比較して最大3.6%の性能低下 一度に取得するデータサイズの影響を測定 VMによるメモリ取得(手法2)ではデータサイズに反比例 左のグラフに示す実験結果から、メモリ分割前と比較して、性能低下は最大3.6%程度であることがわかった。 VMへのコマンド送信とリモートページングのオーバーヘッド

VMの性能への影響 Transcallを用いて情報を収集した後、VM内でpsコマンドを実行する時間を測定 psコマンドはTranscallが収集する情報を使用 VMによるメモリ取得(手法2)を行った場合には高速化 必要な情報がVMのメモリに保持されていたため メインホスト 理由 Transcallが取得した情報がVMのメモリ上に保持されていたため VTランタイムがメモリ取得をした場合には、VMのメモリにデータが書き込まれることはないので、psコマンド実行時にリモートページングを行う必要がある VM IDS PS実行 ラン タイム メモリ

関連研究 KVMonitor [Kourai et al.’14] RemoteTrans [Kourai et al.’16] メモリファイルを用いてVMとIDSがメモリを共有 VMのメモリが分割されている場合には未対応 RemoteTrans [Kourai et al.’16] IDSがリモートホスト上のVMのメモリを監視 VMのメモリは一つのホスト上にあることを仮定 vNUMA [Chapman et al.’09] 分散共有メモリを用いて複数ホストで一つのVMを実行 メモリ全体を監視可能だがオーバヘッドが大きい

まとめ 複数ホストにまたがるVMに対してIDSオフロードを可能にするシステムVMemTransを提案 今後の課題 マイグレーション前後で監視を中断せずに継続 二つの手法にはトレードオフがあった 質問 メインホスト以外へオフロードする利点は A. クラウド自体(メインホスト)が信頼できない場合でもリモートで監視できる リモートでの監視ができれば、マイグレーションへの対応もできる 現在、メインホスト上へのオフロードにしか対応していないため、メインホスト以外へのオフロードに対応させる 現在では、ミグレーション時に一旦監視を中断し、マイグレーション後に監視を再開する必要がある そのため、マイグレーション時にも監視を中断せずに継続できるようにする