IaaS型クラウドにおける キーボード入力情報漏洩の防止

Slides:



Advertisements
Similar presentations
ファイルキャッシュを考慮したディスク監視のオフロード
Advertisements

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

IaaS型クラウドにおける キーボード入力情報漏洩の防止 九州工業大学 情報工学部 機械情報工学科 光来研究室 07237019 江川友寿

IaaS型クラウド IaaS ユーザ インターネット 仮想マシン(VM)をネットワーク経由でユーザに提供 仮想マシン:ソフトウェアで作られた計算機 ユーザはVMにOS をインストールして使用 ユーザは高価な計算機を用意しなくてもいい ユーザ VM VM IaaS型クラウド 近年、ネットワークを介してサービスを提供するクラウドコンピューティングという手法が広がっている。 このクラウドコンピューティングの利用形態を表す用語としてイアース型クラウドが挙げられる。 IaaSとは Infrastructure as a Service の略でサーバで仮想化したマシンそのものをネットワーク経由でユーザに提供するサービスです。 仮想マシンとはソフトウェアで作られた計算機のことです。 [図を見る][レーザポインタ] イアース型クラウドにおいて、サービス提供側は図のように複数の仮想マシンを用意しています。 ユーザは仮想マシンに、ネットワーク経由でアクセスし、自由にOSをインストールして使用することができます。 イアース型クラウドサービスは、ユーザが高価な計算機を用意しなくても、、 必要に応じた台数を短時間で提供できるというメリットがあります。 VM VM VM インターネット

セキュリテイの不安 クラウド環境の管理体制に対する不安 従来環境 クラウド環境 従来:ユーザの管理下にある計算機を利用 クラウド環境:誰が管理しているかわからない計算機を利用 クラウドの中はユーザはわからない VMがどの国で動いているのかもわからない 情報漏洩の危険性 クラウド環境 VM 従来環境 OS ハードウェア しかしIaaS型クラウドにはセキュリティの不安が少なからずあります。 従来の環境ではユーザが使用するOSは常に手元のハードウェアで動作し、ユーザ自身で管理できていました。 [クリック] しかしクラウド環境においては、VMはデータセンター間を自由に移動できるため、 どの国のデータセンターのハードウェアでVMが動作しているかわかりません。 セキュリティ意識の低い、もしくはデータセンターのセキュリティが甘い国では、 クラウド管理者に対してのセキュリティの懸念があります。 # ある仮想マシンがどのハードウェアで動作しているかは不透明です。 # よって仮想マシンが実際に動作しているハードウェアを、クラウド提供側の管理者の誰が管理しているのかは分からないので # 十分に信用できるか分からない場合があります。 # データセンターの立地条件 # 地震やハリケーンなど自然災害がないところ # 電気代が安く冷却効率がいい、平均気温が低い国( 年間平均気温が19度のベルギー) # ひとつの企業でも世界に25箇所くらいデータセンターを持っている # 夜の地域だけのデータセンターを動かし、データセンター単位で稼働を切り替える

クラウド管理者への情報漏洩 クラウド管理者はユーザのキーボード入力を盗聴できる ユーザはVNCクライアントでユーザVMを操作 ユーザVMへのキーボード入力は管理VM内で処理 盗聴プログラムによりパスワード等の機密情報が漏洩 クラウド ユーザ 管理VM App ユーザVM VNC クライアント クラウド管理者が十分に信用できない場合のセキュリティリスクとして、 管理VMの不正な改ざんによる情報漏洩が考えられます。 [VNCの説明] ユーザはVNCクライアントを使用してユーザVMを操作することができます。 VNCとは離れた位置にある計算機をネットワーク経由で遠隔操作できるアプリケーションです。 [VNCの画面チェンジ] #これはVNCクライアントでネットワーク上の別のマシンを操作している時のキャプチャ画像です。 # 左側のウインドウではLinux、右側はwindowsにVNC接続しており、その場にマシンがあるかのごとく # キーボードやマウスを用いて遠隔操作を行うことが可能です。 [レーザポインタを持って管理VM] この図にある管理VMとはユーザVMを一括管理するための特別な権限を持った仮想マシンです。 図のように管理VMを経由してユーザVMにアクセスする場合、 クラウド管理者により、管理VMに盗聴プログラムを入れられると [クリック] このようにパスワードなどの機密情報が容易に盗聴されてしまう問題があります。 また管理者に悪意がなくても、管理VMが第三者の攻撃により乗っ取られた場合にも同様の手段で キーボード入力が盗聴されてしまいます # このような構成をとることにより、ユーザVMのネットワークが正常に動作していなくても、ユーザVMの操作を行うことができる # ユーザVMにログインする必要がなく、(痕跡も残すこととなく)ユーザには全く気付かれずに盗聴されることに問題がある Password VNCサーバ 盗聴 Password キーボード入力

? 提案: FBCrypt キーボード入力情報がクラウド管理者に漏洩するのを防ぐ VNCクライアントで暗号化、仮想マシンモニタ(VMM)で復号化 VMMはクラウド管理者に改ざんされないと仮定する リモートアテステーション技術で保証 クラウド ユーザ 暗号化 App ユーザVM 管理VM VMM ? VNCサーバ このようなセキュリティの問題を解決するために、キーボード入力情報がクラウド管理者に漏洩するのを防ぐシステムである FBCryptを提案します。 FBCryptはユーザ側のVNCクライアントでキーボード入力情報を暗号化し、 VNCサーバに情報を送信します。 従来システムでは、図のようにVNCサーバから直接ユーザVMに情報を渡していましたが、 FBCryptではVMの下で動作する仮想マシンモニタ、VMMと呼ばれるプログラムにキーボード入力情報を渡し VMM内で復号化してユーザVMに渡します。 [クリック] これにより、管理VM内ではキーボード入力情報は暗号化済みなため、 クラウド管理者にn盗聴されたとしてもパスワードなどの機密情報が漏洩する心配はありません。 VMM自体はクラウド管理側のサーバーで動作しますが、 本研究ではリモートアテステーションという、VMMに改ざんがないことを保証する技術を併用したとして VMMは信用できると仮定しています。 # ここでいうFB(フレームバッファ)とは、VNCクライアントとサーバでやりとりするデータのことを指しています。 # 画面のドット情報 盗聴 キーボード入力 復号化

VNCクライアントでの暗号化 VNCクライアント内のキーボード処理で暗号化 キーボード入力を一文字単位で暗号化して送信 ストリーム暗号アルゴリズムRC4を使用 何番目に入力した文字かという情報も使って暗号化 同じ文字であっても暗号化される文字が変化 暗号化 VNCクライアント VNCサーバ 管理VM 送信 次にFBCryptの実装について説明します。 [レーザポインタ] VNCクライアントはキーボード入力を一文字単位で暗号化しVNCサーバに送信します。 暗号化にはオープンソースであるOpenSSLのストリーム暗号というアルゴリズムを使用しました。 ストリーム暗号は単純な対応表による暗号化ではなく、何番目に入力した文字かという情報も使って暗号化を 行うため、同じ文字であっても暗号化後のデータは常に変化します。 また,ストリーム暗号方式は、暗号化前と暗号化後のデータサイズが一致しているため、 VNCクライアントとVNCサーバに大幅な修正を加えることなく組み込むことが可能です。 #また暗号化処理がシンプルなので高速に動作するのが利点です。 キーボード入力

VMM内での復号化 キーボード入力をハイパーコールでVMMに渡す 管理VMからI/Oリングへのアクセスを禁止 復号化後の情報を見られないようにするため VNCサーバ 管理VM App ユーザVM 次にVMM内で行う復号化処理について説明します。 [常にレーザポインタ] 従来システムでは、キーボード入力を受け取ったVNCサーバが直接 ユーザVMにあるI/Oリングと呼ばれる記憶領域に書き込みを行っていました。 [クリック] FBCryptではVNCサーバを修正し、ハイパーコールという仕組みを用いてVMMにキーボード入力情報を渡します。 VMM内で復号化処理を行い、復号化したキーボード入力情報をI/Oリングに書き込みます。 また復号化後の情報を管理VMから見られないようにするため、VNCサーバからI/Oリングへのアクセスを禁止するようにしました。 参照禁止 書き込み ハイパーコール I/Oリング VMM 復号化 書き込み

VMMによる I/Oリングアドレスの取得 VMMでユーザVMと管理VMの通信を監視 ユーザVM起動時にI/Oリングアドレスを管理VMに通知 VNCサーバ 管理VM I/Oリング アドレス ユーザVM I/Oリング VMMはユーザVMのI/Oリングに書き込みを行いますが、 本来のVMMはユーザVMのI/Oリングの情報を管理していません。 [レーザポインタ] ユーザVMは起動時に、kこのように管理VMにI/Oリング情報を通知しています。 [クリック] そこでFBCryptのVMMは、ユーザVM起動時にユーザVMと管理VMとの間でやり取りされる通信を イベントの発生ごとに監視、チェックすることで、I/Oリングのアドレスを取得しています。 これによりVMMからI/Oリングに情報の書き込みが可能になります。 監視 VMM

実験1: キーボード入力の盗聴 FBCryptで盗聴ができないことを確認した 管理VM上のVNCサーバに盗聴プログラムを入れた 管理VM マシン Xen 4.0.2 Linuxカーネル2.6.32.21 CPU Intel Core2 Quad Q9550 2.83GHz メモリ 3.5GB 従来システム FBCrypt 管理VM ユーザVM I/Oリング 管理VM ユーザVM I/Oリング [レーザポインタ] 実験として、図のように管理VM上のVNCサーバに盗聴プログラムを仕込み、 従来システムとFBCryptでキーボード入力情報が盗聴できるかどうかを確認してみました。 実験環境は仮想化ソフトウェアXenを使用し、CPUは2.8GHzのインテルCore2Quadを使用しました。 従来システムではVNCサーバが直接I/Oリングにキーボード入力情報を書き込んでいます。 FBCryptではVNCサーバからのハイパーコールでVMM内でキーボード入力情報を復号化した後、I/oリングに情報を書きこんでいます [動画] 左側がユーザVMにVNC接続したウインドウで、右側が管理VMのコンソールで盗聴を行っているウインドウです。 従来システムでは、VNCで入力したキーが、管理VMの盗聴プログラムにしっかり記録されていることがわかります。 FBCryptでは、VNCでキーを入力して、管理VMから盗聴されてもはストリーム暗号により暗号化された文字が記録され、 情報漏洩が起きていないことがわかります。 VNCサーバ VNCサーバ 盗聴 盗聴 VMM VMM 復号化

実験2: 従来システムとの性能比較 キーボード入力一回に要する処理時間[μs]を比較 VNCクライアント:キーボード入力をサーバに送信する時間 VNCサーバ:I/Oリングに書き込むまでの時間 従来システムとほぼ同じ体感速度でキーボード入力を行 えることを確認 ネットワーク遅延はミリ秒単位のため、46マイクロ秒の時間 の増加は体感できない キーボード入力一回に要する処理時間を従来システムと比較しました。 青が従来システムで、赤がFBCryptです。 単位はマイクロ秒で、数値が大きいほど、処理時間が多くかかっているというグラフです。 VNCクライアント側では キーボード入力をサーバに送信する時間 VNCサーバ側では I/Oリングに書き込むまでの時間を測定しました。 結果としては、FBCryptは従来システムより処理時間の増加が見られるものの、 全体としては、46.4μ秒しか増加しておらず、 ユーザは従来システムとほぼ同じ体感速度でキーボード入力を行えることを確認しました。 処理時間[μs]

関連研究 VMCrypt [田所ら ’10] BitVisor [Shinagawa et al. ‘09] VMMでユーザVMのメモリ情報を暗号化する 本研究と組み合わせることによりセキュリティが向上 BitVisor [Shinagawa et al. ‘09] ユーザVMのディスクや通信をVMMで暗号化 Stub Domain [Nakajima et al. ’06] 管理VMからVNCサーバを分離する 管理者が悪意を持っていた場合は有効ではない 次に関連研究を紹介します。 VMCryptは〜 本研究と組み合わせることにより、管理VMに対するユーザVMのセキュリティが増す BitVisorは〜 スタブドメインは〜 管理VMの権限を一極集中の状態から分割できるため、管理VMが第三者にのっとられたとしても 影響範囲を最小限に留めることが可能になります。

まとめ 管理VMからのキーボード入力情報漏洩を防ぐシステム FBCryptを提案 今後の課題 クライアント側で暗号化、VMM内で復号化 完全仮想化への対応 WindowsなどのOSが使用可能になる 複数のユーザVM起動時への対応 最後にまとめとして、本研究では〜