33
クラウドコンピューティングにおける 仮想マシンのセキュリティ 8/July/2009 産業技術総合研究所 報セキュリティ研究センター 須崎有康 Research Center for Information Security スライド資料は http://www.slideshare.net/suzaki

カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Embed Size (px)

DESCRIPTION

カーネル読書会での案内:クラウドコンピューティングでは仮想マシンが一つの主要な構成技術になっているが、このセキュリティ課題(I/O Fuzzing, Cross VM Side Channel Attack など)および対処について話します。日経コンピュータ 2010/03/31 の「仮想マシンに潜むセキュリティ問題」の内容を中心に議論したいと思います。

Citation preview

Page 1: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

クラウドコンピューティングにおける仮想マシンのセキュリティ

8/July/2009

産業技術総合研究所

情情報セキュリティ研究センター

須崎有康

Research Center for Information Security

スライド資料はhttp://www.slideshare.net/suzaki

Page 2: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

もとネタ• 日経コンピュータ 2010/3/31号

– 「護るが勝ち 仮想マシンに潜むセキュリティ問題」

Page 3: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

何している?

• 所属:独立行政法人 産業技術総合研究所– 情報セキュリティ研究センター (秋葉原ダイビル)

• IPA 「クラウド・コンピューティング社会の基盤に関する研究会」委員 2009.3-2010.3– 報告書HP http://www.ipa.go.jp/about/pubcomme/201003/index.html

• Cloud Security Alliance Japan Chapter (日本クラウドセキュリ• Cloud Security Alliance Japan Chapter (ティアライアンス) ボードメンバー– http://www.cloudsecurityalliance.jp/

– 3番目のRegional Chapter

• KNOPPIX日本語版の管理もしていま…– http://www.rcis.aist.go.jp/project/knoppix/

Page 4: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

• クラウドコンピューティングと言うとコストとか、スケールアウトとか注目されますが、セキュリティは?

– IPA 「クラウド・コンピューティング社会の基盤に関

する研究会報告書(案)」では乗り換えに対して価格やサ ビス向上より懸念されていることが示さ格やサービス向上より懸念されていることが示されている

– 米国のISACA(情報システムコントロール協会)のITのリスクとメリットに関する調査で、IT担当者の

半数近くが「クラウドのリスクはメリットを上回る」と回答し、クラウドに慎重な態度であることが分かった。ISACAが初めて行った年次調査で、4月7日(米国時間)に発表した

Page 5: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Client•Key management

login, data, application•personal authentication•Software vulnerability •Component Integrity

Verified Boot by “ChromeOS”

Software Vulnerability

User’s ResponsibilityOS1

App1

OS2

App2

OS3

App3

Mem

CPU

Mem

CPU

Mem

CPU

Virtual Machine Monitor

PeepingPrivacy &Security•privacy homomorphism

Internetman in the middle attack

Cross VM Side Channel Attack・VM Isolation

Authentication

Formal VerificationIn the future

Overview of Security on Cloud Computing (IaaS)

Data Management•Lost (消去) provider’s matter •Leak (漏えい)•Erasure (削除) provider’s matter

Software Vulnerability・Hypervisor・Manage OS・System Configuration

Security Guideline • CSA (Cloud Security Alliance)• Open Cloud Manifesto

Auditing Standard • SAS70• HIPPA

Memory

CPU

Virtual Machine Monitor

Auditing•Digital Forensic•Log

Provider’s Responsibility

Page 6: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想化の進歩

仮想化: Virtualization2006年以降

Intel-VT/AMD-SVMの出現 (‘06)OpenVZ(‘05-), Xen (‘03-)KVM (‘06-,Feb’07にLinux6.20統合)

•仮想マシンにより複数サーバを1台の物理マシンに集約

Linux Windows BSD

Web CGI DB分散化:Distributed Computing2000年初頭•マシンは安価で追加が容易•サーバ毎に機能分割•メモリもCPUも固定

Linux

Web

Windows

CGI

BSD

DB

メモリ メモリ メモリ

CPU CPU CPU

メモリ

CPUメモリ

CPUメモリ

CPU•プロビジョニングにより仮想化したメモリ CPUに物理能力を動的に分配

レガシーシステム

物理マシンに集約

仮想マシンモニタ

Linux

Web

Windows

CGI

BSD

DB

仮想マシンモニタ

BSD

DB

仮想マシンモニタ

Linux

Web

Windows

CGI

BSD

DB

メモリ

CPU

モリ、CPUに物理能力を動的に分配•仮想化した総メモリサイズが物理メモリを超えるメモリオーバーコミット機能により柔軟に管理

自動化: Autonomics System2008年以降•ライブマイグレーションにより負荷分散、障害時の移動が仮想マシン単位で可能•仮想マシンの複製も容易 移動 複製

仮想マシンモニタ

・VMI (Virtual Machine Image)によりOSのインストールをせずにコピーのみでインスタンスが増やせる

Page 7: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

アウトライン• 仮想化はセキュリティを強化するか?• 各種の攻撃

– VM内(Inter VM)の攻撃/脆弱性• 仮想マシン上のOS管理• I/O Fuzzing攻撃 [Google Report], [Symantec Report]

• メモリエラーが引き金になる脆弱性 [SIGMETICS09][SSP03]

• ランダムにならない乱数[NDSS10]

– VM間(Cross VM)の攻撃/脆弱性• Cross VM Side Channel Attack • 物理キャッシュを通した覗き見 Cross VM Side Channel Attack [CSS09]

• 仮想メモリの覗き見 [ASPLOS08], [Vee08]

• 仮想デバイスによるセキュリティ障害• LiveMigration時のRootKit混入 [BlackHat DC 08]

• 防御技術• VM排他制御 (Isolation)• 暗号化、完全性検証• VM Introspection • Cloud Computing特有の問題

– Failure Oblivious Computing, AutoScale V.S. TOCTOU 攻撃

Page 8: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

セキュリティの基本と仮想化

• セキュリティの基本 (“Building Secure Software”, Addison-Wesley 2002)

– 原則2:Defense in Depth 多層防衛

– 原則4: Least Privilege 最小権限、原則6: Keep it simple 単純に

– Steady 安定して

• 仮想化では• 仮想化では– 多層防衛は実現している

– Large & Complicated• 仮想化によりコードが増えている

• 複雑なハードウェアをエミュレートしている。性能を出すために(Trickyな)最適化を施している

• 権限は複雑になっている

– Variable (よい意味でも悪い意味でも)• デバイスのタイミングなどは正確に仮想化できない

– Compatibility is Not Transparency [HotOS’07, Tal Garfinkel]

• Memory Ballooning, Live Migration は便利だがセキュリティホールになる

Page 9: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想化はセキュリティを強化する根拠(?)• 仮想マシン研究者の主張:「仮想マシンモニタ(ハイパーバイザー)はOS、アプ

リケーションよりOSより小さく作ることができ、強固である」

– カーネルもドライバ以外は形式的検証が可能で強固にできている[SOSP09]• SEL4 は8,700行のカーネルCコードをTheorem Prober(Isabelle/HOL)で検証

• つまり、ドライバを除く論理的なプログラムは検証可能

– 多くの問題はドライバから起こっているが、仮想化の役目は計算機資源を仮想化すること しかし タイミングなど完全に仮想化できないること。しかし、タイミングなど完全に仮想化できない

• Compatibility is Not Transparency [HotOS’07, Tal Garfinkel]

– 仮想化はデバイスドライバを二重に作っているようなもの• 物理デバイスが共有されるためサイドチャネル攻撃の危険もある

仮想マシンモニタ

ハードウェア (Real Device)

VM (Virtual Device)

ManagementOS Guest OS

Device DriverDevice Driver安全?

Guest OS

Device Driver

App1 App2 App3安全?

安全?

仮想マシンモニタにより多層防衛を強化?VM (Virtual Device)VM (Virtual Device)

Page 10: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想マシンモニタの問題点• 脆弱性(bug)はコード量に比例する

– “An Empirical Study of Operating Systems Error”,SOSP’01

• デバイスドライバでは対応項目が多い– “Tolerating Hardware Device Failures in Software”, SOSP’09で示さ

れた各社のドライバ開発ガイドライン

• 更に問題なのは仮想マシンモニタを乗っ取られると被害が甚大– マルチテナントでは他のOSにまで被害が及ぶ

Page 11: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想化はセキュリティを強化する根拠(!)

• 攻撃対象であるOSより下位(ハード寄り)にあり、OSを防御・監視

– VM Introspection• OSが汚染されても挙動解析できる

• IEEE Security&Privacy Sep/Oct 2008 (vol. 6 no. 5)• IEEE Security&Privacy Sep/Oct 2008 (vol. 6 no. 5)– http://www.computer.org/portal/web/csdl/abs/mags/sp/2008/05/msp05toc.htm

• VMSafe, XenAccess[CCS07], AnyDoor[FrHack09]

• しかし、監視インターフェイスから情報漏洩する恐れあり

Page 12: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

問題が起こる仮想化資源

• PC固有で複製してはまずい資源– MACアドレス

– TPMのEK (Endorsement Key), SRK (Storage Root Key)

• 複数同時に存在してまずい資源– 上記のもの– 上記のもの

– ソフトウェアのライセンス

– 乱数のシード [NDSS10]

• 仮想化を使わないクラウドのアンチテーゼが出ている– NoHype [ISCA’10](Princeton U)– “Should Everything Be Virtualized?“

• http://storageio.com/blog/?p=719

Page 13: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

アウトライン• 仮想化はセキュリティを強化するか?• 各種の攻撃

– VM内(Inter VM)の攻撃/脆弱性• 仮想マシン上のOS管理• I/O Fuzzing攻撃 [Google Report], [Symantec Report]

• メモリエラーが引き金になる脆弱性 [SIGMETICS09][SSP03]

• ランダムにならない乱数[NDSS10]

– VM間(Cross VM)の攻撃/脆弱性• Cross VM Side Channel Attack • 物理キャッシュを通した覗き見 Cross VM Side Channel Attack [CSS09]

• 仮想メモリの覗き見 [ASPLOS08], [Vee08]

• 仮想デバイスによるセキュリティ障害• LiveMigration時のRootKit混入 [BlackHat DC 08]

• 防御技術• VM排他制御 (Isolation)• 暗号化、完全性検証• VM Introspection • Cloud Computing特有の問題

– Failure Oblivious Computing, AutoScale V.S. TOCTOU 攻撃

Page 14: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想マシン上のOS管理

• 現在のクラウドではOSのインストール作業が無い!– ダッシュボード機能からメニューで作成

• VMI(Virtual Machine Image), AMI (Amazon Machine Image)

• (基本的に)インストール後は管理者権限譲渡やプライバーの問題があり、ユーザが管理問題 あり、 管– 長い間使われなかったVMIでは脆弱性対処がなく、攻撃対象となる

• クラウド&仮想化ベンダーでもこの問題は認識しており、対策を提供

• VMIを直接扱うツール

– VMware Update Manager(VUM)

– Microsoft Offline Virtual Machine Servicing Tool

Page 15: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

I/O Fuzzing攻撃 (1/2)• 仮想マシンの脆弱性を突いた攻撃

– 仮想マシンのデバイスを過剰に叩き、管理OS乗っ取りや悪意あるコードの挿入を行う

• Tavis Ormandy, “An Empirical Study into the Security Exposure to Hosts of Hostile Virtual Environments”, Google Report

• Peter Ferrie,“Attacks on Virtual Machine Emulators”, Symantec Report

– ツール• CRASHME: Random input testing • CRASHME: Random input testing • I/O fuzzing

– VMware, Xen での報告あり

– 対策は不要なデバイスを付けない

Hypervisor

CPU (Real Device)

VM (Virtual Device)

ManagementOS

Guest OS

Device DriverDevice Driver

smash!

Page 16: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

I/O Fuzzing攻撃 (2/2)• VMWareのビデオデバイスの脆弱性 (Black Hat 2009の発表)

– CLOUDBURST A VMware Guest to Host Escape Story, Kostya Kortchinsky(Immunity, Inc.)

• SVGA_CMD_RECT_COPY バグ– ゲストがフレームバッファに読み書きできてしまう

– フレームバッファはホストのメモリにmapされている• これでアドレスが判明する

• SVGA_CMD_DRAW_GLYPH バグ• SVGA_CMD_DRAW_GLYPH バグ– バウンダリチェックをしていないので、 SVGA_CMD_RECT_COPY から得たアドレス

相対でホストのメモリが読み書きできる

Memory Leak

OverWrite memoryNormal behavior

Page 17: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

メモリエラーが引き金になる脆弱性

• クラウドコンピューティングでは数万台を超える大規模なサーバ群から構成されるため、各デバイスの障害も半端でない

• ” DRAM Errors in the Wild: A Large-Scale Field Study” [SIGMETICS09]においてGoogleのサーバ群におけるメモリのエラーレートを報告

– 通常考えられている以上に物理的なメモリエラーが起こる

– クラウドコンピューティングではメモリ上の処理が多い

• メモリエラーを狙った攻撃• メモリエラ を狙った攻撃

– “Using Memory Errors to Attack a Virtual Machine”, [IEEE Symposium on Security and Privacy’03]

• 悪意のあるコードにジャンプする仕組みをメモリ内に敷き詰め(スプレー攻撃)、メモリエラーを待つ

• この論文自体はJavaVMを想定しているが、仮想マシンでも同じ

• 対処

– SELinuxのような各権限(ルート)での強制アクセス制御を施すこと• ルートを乗っ取られても被害が限定できる

– AMD のNXビットやIntel CPUのDXビットのようなデータ領域のコードを実行できない機能(DEP: Data Execution Prevention)を有効にする

Page 18: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

ランダムにならない乱数

• 仮想マシンモニタは仮想マシンの実行途中を保存するスナップショット機能を提供

• スナップショットイメージを複数回使うと前の疑似乱数生成を繰り返すことになる

• 更に問題なのは、疑似乱数のシードは時計などの物理的要因から取られるが スナップショット再開後に外部の時計と同因から取られるが、スナップショット再開後に外部の時計と同期せずに時間が繰り返される仮想マシンがある– When Good Randomness Goes Bad [NDSS10]

• 対処– Hedged cryptography

– 暗号化レベルで仮想マシンの乱数生成の問題を意識して回避する

Page 19: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

アウトライン• 仮想化はセキュリティを強化するか?• 各種の攻撃

– VM内(Inter VM)の攻撃/脆弱性• 仮想マシン上のOS管理• I/O Fuzzing攻撃 [Google Report], [Symantec Report]

• メモリエラーが引き金になる脆弱性 [SIGMETICS09][SSP03]

• ランダムにならない乱数[NDSS10]

– VM間(Cross VM)の攻撃/脆弱性• Cross VM Side Channel Attack • 物理キャッシュを通した覗き見 Cross VM Side Channel Attack [CSS09]

• 仮想メモリの覗き見 [ASPLOS08], [Vee08]

• 仮想デバイスによるセキュリティ障害• LiveMigration時のRootKit混入 [BlackHat DC 08]

• 防御技術• VM排他制御 (Isolation)• 暗号化、完全性検証• VM Introspection • Cloud Computing特有の問題

– Failure Oblivious Computing, AutoScale V.S. TOCTOU 攻撃

Page 20: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Cross VM 攻撃(キャッシュ共有)• “Hey, You, Get Off of My Cloud”[CCS’09]• セットアソシアティブキャッシュを共有している「悪意のあるVM」が連続して

キャッシュを叩く。キャッシュの反応が遅れると他のVMでアクセスしていることが判る– 限定した環境だが鍵漏洩の恐れがある

• 2005に話題になった Hyper Threading の脆弱性と同じ– http://journal.mycom.co.jp/articles/2005/05/17/ht/index.html

• 対策はVMのIsolation、排他制御Log of Cache delay

Set Associative Cache

Main Memory

AttackerVM

Cache Line64 byte

2 way

NormalVM

仮想マシンモニタ

Core1 Core2

Page 21: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Cross VM 攻撃(メモリの覗き見)• 既存の物理メモリへの覗き見攻撃

– IEEE1394(FireWire)によるメモリ覗き見

– メモリを冷やして解析。Cold Boot Attack [USENIX Security08]

• 仮想マシンでは同様の攻撃がソフトウェアのみで出来る– 管理OSを乗っ取られればVM Introspection機能から可能

• 対策– VMメモリの暗号化。他のVMからのぞき見られても情報漏えいしない– VMメモリの暗号化。他のVMからのぞき見られても情報漏えいしない

– Overshadow [ASPLOS08], SP3[Vee08]

SP3[Vee08]よりSID: SP3 Domain ID

Page 22: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

仮想デバイスによるセキュリティ障害

• 仮想マシンモニタでは、同一物理マシン上の仮想マシン間を高速な仮想ネットワークで繋ぐ– XenSocket[Middleware07], XWAY[Vee08], XenLoop[Cluster

Computing09]

• 全通信が仮想マシンモニタ内に閉じ込められ、表に出てこない– フィルタリング、ネットワーク型IDSなど既存のツールを利用できない

• 対策– 日本IBM「Virtual Server Security for VMware(VSS)」

• VMWareのVMSafeを利用し、各仮想マシンの通信内容をチェック

Page 23: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Live Migration• OSを起動させたまま、VMの他のサーバ移動

– サービスを継続しつつ、ハードウェアを停止するために必要

• スケールアウトには必須

“Exploiting live virtual machine migration” [BlackHat DC 2008]

Page 24: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Live Migrationの問題• VM移動中にRootkitを仕込まれてしまう

– Virtual Machine Based Rootkits• “Exploiting live virtual machine migration”, [BlackHat DC 2008]

• VMイメージの完全性を検証することでRootkit混入は防げるが、

• 完全性のみでは覗き見による鍵漏洩は防げない。暗号化による秘匿性も必要

Page 25: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

アウトライン• 仮想化はセキュリティを強化するか?• 各種の攻撃

– VM内(Inter VM)の攻撃/脆弱性• 仮想マシン上のOS管理• I/O Fuzzing攻撃 [Google Report], [Symantec Report]

• メモリエラーが引き金になる脆弱性 [SIGMETICS09][SSP03]

• ランダムにならない乱数[NDSS10]

– VM間(Cross VM)の攻撃/脆弱性• Cross VM Side Channel Attack • 物理キャッシュを通した覗き見 Cross VM Side Channel Attack [CSS09]

• 仮想メモリの覗き見 [ASPLOS08], [Vee08]

• 仮想デバイスによるセキュリティ障害• LiveMigration時のRootKit混入 [BlackHat DC 08]

• 防御技術• VM排他制御 (Isolation)• 暗号化、完全性検証• VM Introspection • Cloud Computing特有の問題

– Failure Oblivious Computing, AutoScale V.S. TOCTOU 攻撃

Page 26: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

VM排他制御 (Isolation)• 利害の異なるVMは同時に実行させない、他のサーバに割当て排他制御が必要

– XenはXSM(Xen Security Module)のACM(Access Control Module)では可能• [XenSummit07]

• これにより実行時デバイス共有によるCross VM Attackは防げる…

• しかし、Isolationを困難にするデバイス共有技術(重複除外: deduplication 同じコンテンツは参照でまとめる技術)が出てきている– ストレージ

• Content Addressable Storage• Content Addressable Storage

– メモリ• VMware ESX: Content-Based Page Sharing• Xen: Satori[USENIX09],Differential Engine[OSDI08]• Linux kernel KSM (Kernel Samepage Merging) [LinuxSympo09]

Page 27: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

暗号化、完全性検証

• 各種デバイスの暗号化・完全性– メモリの暗号化 (OverShadow[ASPLOS08], SP3[Vee08])– メモリの完全性 (SevVisor[ASPLOS08], NILKE[RAID08])– ファイルの改竄防止 (HyperShield[SACSIS09])

• Live Migration時のVMイメージ完全性検証

• Trusted Computing– 機器認証、正しいソフトウェアが正しい構成で使われていることの確認

• コードの改ざんが無い・計算が秘匿にできるリモート実行– Operational Authentication Code

• SETI@homeのような分散計算環境で懸賞が付いた場合、割り当てられた計算を正しく実行したことを保証する方式

• http://www.distributed.net/source/specs/opcodeauth.html

– Secure Multi Party Computation• 他人数で分散計算を行い、個々のサーバでは計算内容が判らず、計算結果

が秘匿できる方式

Page 28: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

VM Introspection• VMのメモリやデバイスの状態をハイパーバイザー

から覗き見る技術– ゲストOS自身ではRootkitにより正しく状態を把握でき

ない場合がある• VMにIDSを含める (LiveWire[NDSS03])• 隠ぺいプロセス(hidden processを)検出(Licosid[Vee08])

– フォレンジック対策で必要?

– VMSafe, XenAccess[CCS07], AnyDoor[FrHack09]

• プライバシには契約条件(SLA: Service Level Agreement)で対処(?)

• この機能を悪用される恐れもある

Page 29: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Cloud Computing特有の問題 1/2

• AutoScaleのためにブートが多いことが想定されるが、ブートはSensitiveな処理なため新たな危険性がある

• Live MigrationではTOCTOU (time-of-check-to-time-of-use) 攻撃を考慮する必要があるtime-of-use)

• エラー忘却型コンピューティング(Failure Oblivious Computing)などスケールアウトするためにエラーを無視する技術への対処– 楽天技術研究所の森正弥所長のコメント

• 「エラー忘却型コンピューティングは,データの完全性や保全性を犠牲にしてでも,分散処理の大規模化や高速化を実現しようとする考え方だ。このような考え方を,世界で初めて大規模に実用化した点が,Googleと他社の最大の差だろう」

• http://itpro.nikkeibp.co.jp/article/COLUMN/20081031/318297/

Page 30: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

Cloud Computing特有の問題 2/2• サービス終了後に預けたデータを確実に消すこと

– J-SaaS利用規約• http://www.j-saas.jp/service/download/pdf/kiyaku.pdf

• データ消去の要件: サービス解約後1か月以内にデータ及び外部保管媒体を破棄

• Key-Value Storageではありえない!• Key-Value Storageではありえない!– Key-Value Storageの代表例: Amazon S3

– 複数のサーバに分散することでロバストにするが、どこにデータがあるのか不明

– ロサンゼルス警察がGovCloudに対してGoogleに求めたセキュリティ要件「データサーバの特定」に対する回答

• 「データは北米大陸のみに保管」することを保証

– SNIAのCDMI(Cloud Data Management Interface)内では定義していないが、消去はガイドラインとして出したい。By Eric A. Hibbard 2010/6/29 at SNIA-J主催 「第1回最新技術動向講演会」

Page 31: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

まとめ

• 仮想化は計算資源の共有、動的移動など可用性を高めるが、新たな脅威を招くものでもある– 脆弱性が増え、そこを叩く攻撃の増加

• 新たな防御技術(VM排他制御、メモリ暗号化、VMイ• 新たな防御技術(VM排他制御、 リ暗号化、VMイメージ完全性検証、VM Introspection)の導入の必要がある

• 資料– スライド http://www.slideshare.net/suzaki– 日経コンピュータ 2010/March/31

• 「護るが勝ち 仮想マシンに潜むセキュリティ問題」• http://bizboard.nikkeibp.co.jp/kijiken/summary/20100407/NC0753H_1735146a.html

Page 32: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

まとめ 各種VMの対応脆弱性対応

(コード検証)ゲストの

DEP対応

排他制御 暗号化・

完全性検証

VM Introspection

メモリ重複除外

VMware EAL4 あり VMSafe Content-Based Page

Sharing

Xen XSM(sHype)

OverShadowSP3

XenAccess Satori, Differential (sHype) SP3 Differential

Engine

Hyper-V EAL4 デフォルト

KVM Livbrit+SELinux

KSM(Kernel

SamePageMemory)

Oracle VM

Page 33: カーネル読書会:クラウドコンピューティングにおける仮想マシンのセキュリティ

勝手に考えるIaaSのSLA (Service Level Agreement)

• 仮想マシンモニタはセキュリティ評価基準(ex: EAL)取得か

• ゲストOSはDEP(Data Execution Prevention)対応をインストールできるのか

• Live Migrationの有無の確認

– 転送イメージの暗号化・完全性検証の確認

– 乱数シードの初期化は確実か

• VM Isolationは確実か

– 利害が絡むVMが同時に動かないか。キャッシュの共有はないのか。重複除外で共有しているものはないのか共有しているものはないのか

• ゲストOSの振舞い監視(VM Introspection)はあるのか。どこまでか。ログはあるか

• ハードウェアおよび仮想マシンモニタのエラー処理は適切に/即時に行っているのか。タイミングを狙った攻撃を防げるのか

• データの所在

– どこにあるのか確認できるのか。国単位か

– 災害があった際にバックアップは地政学的に問題ないか

• サービス停止後のデータ消去の条件

– 消したことをどこまで検証可能にしているのか