Transcript slide - KSL

仮想シリアルコンソールを用いた
クラウドの安全なリモート管理
九州工業大学
情報創成工学専攻
光来研究室
梶原達也
IaaS型クラウド
 クラウドコンピューティングの普及



1つの形態としてIaaS型クラウドが挙げられる
ユーザに仮想マシン(VM)を提供
ユーザはネットワーク経由でVMにアクセス
ユーザ
インターネット
VM
VM
IaaS型クラウド
VMの管理
 一般的に,ネットワーク経由で直接接続する

例:SSH
 欠点:VM内のシステム障害で管理ができなくなる
ネットワーク設定のミス:ファイアウォールなど
 SSHサーバの障害・設定ミス
 OSの障害

ユーザ
クラウド
ネットワーク
ユーザVM
SSH
クライアント
ログイン
SSH
サーバ
仮想シリアルコンソール
 VMの仮想的なシリアルデバイスを経由してアクセス
する管理手法
ネットワーク経由でVMにアクセスできない状況でもVMの
操作が可能
 ユーザVMのコンソールに直接アクセス
 管理VMにログインして利用

クラウド
ユーザ
仮想シリアル
デバイス
管理VM
SSH
クライアント
ユーザ
VM
SSH
サーバ
ログイン
仮想シリアルコンソール
セキュリティの不安
 クラウド内の管理VMが信用できるとは限らない


セキュリティの不備により攻撃者に侵入される可能性
悪意あるクラウド管理者が存在する可能性
クラウド
SSHによって保護
SSH
クライアント
SSH
無防備な状態
管理VM
VM
攻撃者
ユーザ
悪意のある
管理者
VM
VM
管理VMへの情報漏洩
 管理VMの改ざんによる情報の漏洩

SSHクライアントからのコンソール入力


パスワード
ユーザVMからのコンソール出力

VMのセキュリティ設定
クラウド
管理VM
SSH
クライアント
セキュリティ
設定
ユーザ
SSH
サーバ
パスワード
VM
仮想シリアル
コンソール
漏洩
ユーザ
攻撃者
セキュリティ
パスワード
設定
提案:SCCrypt
 管理VMに対して暗号化された仮想シリアルコン
ソールを提供

入力:ユーザが暗号化したコンソール入力


出力:暗号化されたユーザVMのコンソール出力

ls
復号してユーザVMに送る
ユーザが復号
暗号化
**
暗号入力
暗号出力
ユーザ
復号
Document Picture
Music …
管理VM
ls
ユーザ
VM
*************** Document Picture
暗号化された
*******
Music …
仮想シリアルコンソール
安全な暗号化・復号化
 信頼できる仮想マシンモニタ(VMM)を用いてコ
ンソール入出力を暗号化・復号化


VMMは管理VMの下で動作するソフトウェア
管理VMは復号後の入力および暗号化前の出力を見
ることができない
クラウド
管理VM
ユーザVM
仮想シリアル
コンソール
ユーザ
VMM
復号/暗号化
クラウド内のVMMの信頼性
 復号化・暗号化を行うクラウド内のVMMの正当性
を保証

起動時のリモート・アテステーション
起動時にVMMのハッシュ値を計算し,外部の検証サーバに送信
 あらかじめ登録しておいたハッシュ値と照合して確認
 ハードウェア(TPM)によりハッシュ値の改ざんを防止


実行時のVMM自身による保護
ユーザ
VM
管理VM
VMM
TPM
ハードウェア
検証
検証サーバ
コンソール入力の復号
 従来は仮想シリアルデバイスが直接コンソール
バッファに入力を書き込んでいた

ユーザVMはコンソールバッファから入力を取得
 SCCryptではVMMに暗号入力を渡す


VMMが復号し、コンソールバッファに書き込む
ユーザVMへの変更は不要
管理VM
クラウド
コンソール
バッファ
仮想シリアル
デバイス
入力
VMM
ユーザVM
書き込み
復号
コンソール入力の暗号化と問題点
 SSHクライアントでSCCrypt用に入力を暗号化

SSHによる従来の暗号化とは別に行う
 問題:仮想シリアルコンソールに接続するまでの
入力も一律に暗号化されてしまう

接続コマンドの入力

アクセス権を取得するためのパスワード入力
クラウド
SCCrypt用
暗号化
SSH
クライアント
管理VM
入力
xenconsole
?????????
Pass:****
????:****
SSH
サーバ
仮想シリアル
コンソール
仮想シリアルコンソールへの接続
 SSHのリモートコマンド実行機能を利用


通常の入力とは別にコマンドを送信できる
コマンドは暗号化せずに管理VMに送信
 このコマンドに限り,パスワード入力を省略できる
ように設定
ssh –t user@host sudo xenconsole vm
クラウド
非暗号化
SSH
クライアント xen
console
管理VM
SSH
サーバ
実行
コンソール出力の暗号化
 VMの出力情報も同様に暗号化する


従来は仮想シリアルデバイスがユーザVMのコンソー
ルバッファから直接読み込んでいた
SCCryptではVMMを経由して取得


その際に暗号化を行う
SSHクライアントで復号
管理VM
出力
SSH
クライアント
SCCrypt用
復号
クラウド
SSH
サーバ
VMM
ユーザVM
コンソール
バッファ
暗号化
読み込み
コンソールバッファの特定
 VMMは管理VMとユーザVM間の通信を監視して
コンソールバッファのアドレスを取得

VMMがユーザVM内のコンソールバッファを特定する
必要がある


従来のVMMはコンソールバッファを認識していなかった
ユーザVM起動時に管理VMがアドレスを通知
起動
管理VM
コンソール
バッファの
アドレス
通知
ユーザVM
コンソール
バッファ
チェック
VMM
仮想シリアルコンソールの鍵管理
 VMの所有者のみが仮想シリアルコンソール接続
のセッション鍵をVMMに登録できる必要


クラウド管理者が登録できると暗号化の意味なし
単純な鍵交換では不十分
セッション鍵
クラウド
管理VM
ユーザVM
仮想シリアル
コンソール
ユーザ
VMM
復号/暗号化
セッション鍵
ユーザとVMの関連付け
 VMとその所有者が生成した秘密IDを関連付け


ディスク暗号化により所有者のみがVMを起動可に
{VMの秘密ID,ディスク暗号鍵}をVMMに送信


鍵サーバから取得したVMMの公開鍵で暗号化
所有者のみが正常起動したVMに秘密IDを関連付け可
SSHクライアント
???
秘密ID
ディスク
???
暗号鍵
暗号化
鍵サーバ
公開鍵
接続
管理VM
起動
ユーザ
VM
SSHサーバ
ディスク
復号
秘密ID
ディスク
暗号鍵
復号
秘密鍵
VMM
VMへのセッション鍵の登録
 VMの秘密IDを介してセッション鍵をVMに登録



SSHクライアントは接続のたびにセッション鍵を生成
{VMの秘密ID,セッション鍵}をVMMに暗号化して送信
秘密IDからVMを見つけ、セッション鍵を登録

秘密IDを知っている所有者しか登録できない
SSHクライアント
秘密ID
???
???
セッション鍵
暗号化
鍵サーバ
公開鍵
接続
管理VM
SSHサーバ
接続
ユーザ
VM
秘密ID
セッション鍵
復号
秘密鍵
VMM
実験
 従来手法との比較



管理VMでの入出力の盗聴
SSHクライアントにおける応答時間
画面表示のスループット
実験環境
クライアントマシン
サーバマシン
マシン
Linux-3.2.0.63
Xen-4.1.3 Linux-3.2.0.63
CPU
Intel Xeon E3-1270 3.40GHz
Intel Core i7 870 2.93GHz
LAN
ギガビット イーサネット
ギガビット イーサネット
SSH
OpenSSH 6.0p1
OpenSSH 5.9p1
入出力の盗聴
 コンソール入出力の盗聴

管理VMで入出力を取得,ログファイルに書き込ませる
 デモ
管理VM
クラウド
盗聴
仮想シリアル
コンソール
ユーザ
VMM
復号/暗号化
ユーザVM
SSHクライアントにおける応答時間
 SSHクライアントでのコンソール入力から対応する
コンソール出力を受け取るまでの時間
暗号化しない従来の接続方法と比較して0.35msの遅
延が確認された
 ほとんどは暗号化・復号化のためにVMMを呼び出す
オーバヘッドと考えられる

abc
???
ユーザ
クラウド
管理VM
ユーザ
VM
abc
VMM
2.32
応答時間(ms)
入力
表示
2
1.97
0
従来
SCCrypt
画面表示のスループット
 ファイルの内容を画面に表示するのにかかる時
間を測定
対象とするファイルのサイズ:9.6MB

暗号化しない従来の接続方法と比較してもほとんど差
はない
表示
入力
???
cat
クラウド 実行
管理VM
ユーザ
VM
ユーザ
cat
?
VMM
スループット(万文字/秒)

60
53.09
53.18
従来
SCCrypt
40
20
0
関連研究
 FBCrypt
[Egawa et al. ‘12]

VNCを用いたVM管理において情報漏洩を防止

データ量の多いビデオ出力を暗号化するためオーバ
ヘッドが大きい
 Xoar[Colp


仮想シリアルデバイスを専用のコンソールVMで動作
クラウド管理者による攻撃について考慮されていない
 VMware


et al. ‘11]
vSphere Hypervisor[VMware Inc.]
VNCサーバをVMM内で動作させてリモート管理
VNCサーバが攻撃されるとVMMに影響する恐れがある
まとめ
 クラウド内の仮想シリアルコンソールからの入出
力情報の漏洩を防ぐSCCryptを提案


暗号化された仮想シリアルコンソールを提供
信頼できるVMMを用いて仮想シリアルコンソールの入
出力を復号化・暗号化

SSHクライアントで暗号化・復号化
 管理VM内では暗号化されていることを確認


従来の方法に比べて0.35msの遅延が発生
コンソール出力のスループットはほとんど差がない
今後の課題
 強度の高いストリーム暗号への対応


現在は固定鍵を用いた簡易な排他的論理和
RC4による暗号化を実装している途中
 SSH以外のリモート管理ソフトウェアに適用

例:Webベース・シリアルコンソール(Ajaxterm)
 完全仮想化環境への対応


現在は準仮想化環境にのみ対応
Windowsでも動かせるようにする
 鍵管理の実装