九州工業大学大学院 情報工学府 情報創成工学専攻 13675013 梶原達也 IaaS(Infrastructure as a Service) ◦ ユーザに仮想マシン(VM)を提供 ◦ ユーザはネットワーク経由でVMにアクセス 一般に,ネットワーク経由でVMに直接接続する ◦ 例:SSH ◦ 欠点:VM内のネットワーク障害で管理ができなくなる IaaS ユーザ ユーザVM SSH クライアント ログイン SSH サーバ VM VM VMの仮想的なシリアルデバイスを経由してアクセ スする管理手法 ◦ ネットワーク経由でVMにアクセスできない状況でもVMの操 作が可能 ◦ ユーザVMのコンソールに直接アクセス ◦ 管理VMにログインして利用 クラウド ユーザ 仮想シリアル デバイス 管理VM SSH クライアント ユーザ VM SSH サーバ ログイン 仮想シリアルコンソール クラウド内の管理VMが信用できるとは限らない ◦ セキュリティの不備により攻撃者に侵入される可能性 ◦ 悪意あるクラウド管理者が存在する可能性 SSHによって保護されるのは管理VMまで ◦ 管理VMから先は無防備 クラウド SSHによって保護 SSH クライアント SSH 管理VM VM 攻撃者 ユーザ 無防備な状態 悪意のある 管理者 VM VM 管理VMの改ざんにより機密情報が漏洩する恐れ ◦ SSHクライアントからのコンソール入力 例:パスワード ◦ ユーザVMからのコンソール出力 例:VMのセキュリティ設定 クラウド 管理VM SSH クライアント セキュリティ 設定 ユーザ SSH サーバ パスワード VM 仮想シリアル コンソール ユーザ 漏洩 攻撃者 セキュリティ パスワード 設定 管理VMに対して暗号化された仮想シリアルコン ソールを提供 ◦ 入力:クライアントで暗号化されたコンソール入力 SCCryptが復号してユーザVMに送る ◦ 出力:SCCryptが暗号化したユーザVMのコンソール出力 クライアントで復号 ls ** 暗号化 暗号入力 暗号出力 クライアント 復号 Document Picture Music … 管理VM ls ユーザ VM Document Picture *************** 暗号化された Music … ******* 仮想シリアルコンソール 信頼できる仮想マシンモニタ(VMM)を用いてコンソー ル入出力を暗号化・復号化 ◦ ◦ ◦ ◦ VMMは管理VMの下で動作するソフトウェア 管理VMは復号後の入力も暗号化前の出力も見られない ストリーム暗号RC4を用いて暗号化 完全仮想化と準仮想化の両方に対応 復号/暗号化 管理VM クラウド ユーザVM 仮想シリアル コンソール ユーザ VMM 復号/暗号化 復号化・暗号化を行うクラウド内のVMMの正当性を保 証 ◦ 起動時のリモート・アテステーション 起動時にVMMのハッシュ値を計算し,外部の検証サーバに送信 あらかじめ登録しておいたハッシュ値と照合して確認 ハードウェア(TPM)によりハッシュ値の改ざんを防止 ◦ 実行時のVMM自身による保護 ユーザ VM 管理VM VMM TPM ハードウェア 検証 検証サーバ ユーザVMで実行された出力命令がVMMにトラップさ れた時に暗号化 ◦ 暗号化された出力が仮想シリアルデバイスに格納される 入力命令の結果を返す時にVMMが復号 ◦ 暗号化された入力を仮想シリアルデバイスから取り出す クラウド 管理VM SSH クライアント SSHサーバ 仮想シリアルデバイス 復号化 ユーザVM シリアル ドライバ 出力命令 暗号化 VMM ユーザVMで実行された出力命令がVMMにトラップさ れた時に暗号化 ◦ 暗号化された出力が仮想シリアルデバイスに格納される 入力命令の結果を返す時にVMMが復号 ◦ 暗号化された入力を仮想シリアルデバイスから取り出す クラウド 管理VM SSH クライアント SSHサーバ ユーザVM シリアル ドライバ 仮想シリアルデバイス 暗号化 入力命令 VMM 復号化 入力情報 仮想シリアルデバイスはVMMに暗号化された入力を 送り,VMMがそれを暗号化 ◦ VMMがユーザVMのコンソールバッファに書き込む VMMがコンソールバッファ内の出力を暗号化 ◦ 暗号化された出力が仮想シリアルデバイスに格納される SSH クライアント 管理VM クラウド ユーザVM 仮想シリアル デバイス 暗号化 VMM 復号化 コンソール バッファ 仮想シリアルデバイスはVMMに暗号化された入力を 送り,VMMがそれを暗号化 ◦ VMMがユーザVMのコンソールバッファに書き込む VMMがコンソールバッファ内の出力を暗号化 ◦ 暗号化された出力が仮想シリアルデバイスに格納される SSH クライアント 管理VM クラウド ユーザVM 仮想シリアル デバイス 復号化 VMM 暗号化 コンソール バッファ 仮想シリアルコンソールに接続するまでの入力も一律 に暗号化されてしまう ◦ 接続コマンド、アクセス権を取得するためのパスワード入力 SSHのリモートコマンド実行機能を利用 ◦ 通所の入力とは別に扱われる ◦ このコマンドに限り,パスワード入力を省略できるように設定 ssh –t user@host sudo xenconsole vm クラウド 非暗号化 SSH クライアント xen console 管理VM SSH サーバ 実行 SCCryptの有効性を確かめる実験を行った ◦ ◦ ◦ ◦ 管理VMでの入出力の盗聴 SSHクライアントにおける応答時間 画面表示のスループット CPU使用率 実験環境 クライアントマシン サーバマシン マシン Linux-3.2.0.35 Xen-4.1.3 Linux-3.2.0.60 CPU Intel Xeon E5630 2.53GHz Intel Core i7 870 2.93GHz LAN ギガビット イーサネット ギガビット イーサネット SSH OpenSSH 6.0p1 OpenSSH 5.9p1 コンソール入出力の盗聴ができるかどうか調べた ◦ 管理VMで入出力を取得,ログファイルに書き込ませる デモ 管理VM クラウド 盗聴 仮想シリアル コンソール ユーザ VMM 復号/暗号化 ユーザVM 入力から出力までの応答時間を測定 ◦ SSHクライアントでの入力がユーザVMで処理され、ユーザ端 末に表示されるまで 完全仮想化ではほぼ同じ応答時間 ◦ 入出力の途中で暗号化・復号化するため 準仮想化では0.14msの遅延が発生 ◦ VMMを呼び出して 暗号化・復号化を行うため 2.0 応答時間(ms) 1.75 1.70 1.5 従来 SCCrypt 1.23 1.37 1.0 0.5 0.0 完全仮想化 準仮想化 巨大なファイルを表示するのにかかる時間を測定 ◦ ユーザVMにログインしてcatコマンドで表示 表示スループットにはほとんど差がなかった 準仮想化は完全仮想化よりも大幅にスループットが 高かった 600 スループット(KB/s) 400 従来 SCCrypt 522.7 519.5 200 0 38.4 40.5 完全仮想化 準仮想化 SSHクライアントから10.9字/秒で入力を行った場合 ◦ 完全仮想化はほとんど同じ ◦ 準仮想化ではCPU使用率が3ポイント高い ユーザVMで1000字/秒で出力を行った場合 ◦ 完全仮想化、準仮想化ともにほとんど同じ 20 従来 21 20 SCCrypt 21 18 10 0 150 CPU使用率(%) CPU使用率(%) 30 120 従来 124 123 SCCrypt 120 124 90 60 30 0 完全仮想化 入力時 準仮想化 完全仮想化 出力時 準仮想化 FBCrypt [Egawa et al. ‘12] ◦ VNCを用いたVM管理において情報漏洩を防止 ◦ データ量の多いビデオ出力を暗号化するためオーバヘッ ドが大きい Xoar [Colp et al. ‘11] ◦ 仮想シリアルデバイスを専用のコンソールVMで動作 ◦ クラウド管理者による攻撃について考慮されていない VMware vSphere Hypervisor [VMware Inc.] ◦ VNCサーバをVMM内で動作させてリモート管理 ◦ VNCサーバが攻撃されるとVMMに影響する恐れがある クラウド内の仮想シリアルコンソールから入出力情報 の漏洩を防ぐSCCryptを提案 ◦ 暗号化された仮想シリアルコンソールを提供 ◦ 信頼できるVMMを用いて入出力を復号化・暗号化 SCCryptの有効性を確認 ◦ 管理VM内では盗聴することができなかった ◦ オーバヘッドは十分小さい 今後の課題 ◦ ユーザVMへの再接続時における暗号鍵の同期 ◦ ユーザとVMの安全な関連付け
© Copyright 2024 ExpyDoc