私立大学情報教育協会大学 情報セキュリティ研究講習会
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

私立大学情報教育協会大学 情報セキュリティ研究講習会

on

  • 1,564 views

平成 23年度 大学情報セキュリティ研究講習会資料

平成 23年度 大学情報セキュリティ研究講習会資料

Statistics

Views

Total Views
1,564
Views on SlideShare
1,561
Embed Views
3

Actions

Likes
0
Downloads
12
Comments
0

2 Embeds 3

https://twitter.com 2
https://bb-nextv.tamagawa.ac.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

私立大学情報教育協会大学 情報セキュリティ研究講習会 Presentation Transcript

  • 1. 私立大学情報教育協会平成 23年度 大学情報セキュリティ研究講習会VM/Cloud Systemの(技術的な)セキュリティ 産業技術総合研究所 情報セキュリティ研究センター 須崎有康 (Kuniyasu Suzaki) Research Center for Information Security
  • 2. 本日のテーマ• クラウドコンピューティングのセキュリティについて – IaaSで使われている仮想化技術を中心にしたセキュリティの話 – 実習 • 仮想マシン上のメモリの覗き見 – 動いているアプリケーションの推定• 本日の話の素 – 日経コンピュータ 2010/March/31 • 「護るが勝ち 仮想マシンに潜むセキュリティ問題」 • 情報処理学会誌 2010/12号 クラウドセキュリティ小特集 • 「IaaS型クラウドにおける仮想マシンのセキュリティ」
  • 3. アウトライン• クラウドの仮想化技術の役割• 仮想化に対する各種の脆弱性/攻撃 – VM内(VM Internal)の脆弱性/攻撃 • VM内の脆弱性をついてクラウドを攻撃する。 – VM間(Cross VM)の脆弱性/攻撃 • VM間の脆弱性をついて他のVMを攻撃する。• クラウド特有の問題• まとめ
  • 4. IaaS型クラウドコンピューティングセキュリティ概観 Internet Authentication man in the middle attack Cross VM Cross Site Scripting phishing ・VM Isolation Client •Key management App1 App2 App3 login, data, application User’s •personal Identification Responsibility •Software vulnerability OS1 OS2 OS3 •Component Integrity Verified Boot by “ChromeOS” Formal Verification In the future Mem Mem Mem VM Internal Vunerability CPU CPU CPU & AttackSoftware Vulnerability ・Hypervisor Virtual Machine Monitor Provider’s ・Manage OS Responsibility Memory ・System Configuration CPU Security Guideline • CSA (Cloud Security Alliance) • Open Cloud Manifesto Auditing Standard • SAS70 • HIPAA Data Management Auditing •Lost (消去) provider’s matter •Digital Forensic •Leak (漏えい) •Log •Erasure (削除) provider’s matter
  • 5. 仮想化への流れ 分散化:Distributed Computing Web CGI DB 2000年初頭 Linux Windows BSD •マシンは安価で追加が容易 (‘99 Pentimum IIIで1GHz) メモリ メモリ メモリ •サーバ毎に機能分割 CPU CPU CPU レガシーシステム •メモリもCPUも固定仮想化: Virtualization Web CGI DB2006年以降 Intel-VT/AMD-SVMの出現 (‘06) Linux Windows BSD OpenVZ(‘05-), Xen (‘03-) KVM (‘06-,Feb’07にLinux6.20統合) メモリ メモリ メモリ•仮想マシンにより複数サーバを1台の •プロビジョニングにより仮想化したメ CPU CPU CPU モリ、CPUに物理能力を動的に分配物理マシンに集約 仮想マシンモニタ •仮想化した総メモリサイズが物理メ メモリ モリを超えるメモリオーバーコミット機 CPU 能により柔軟に管理自動化: Autonomics System2008年以降•ライブマイグレーションにより負荷分散、障害時の移動が仮想マシン単位で可能 ・VMI (Virtual Machine Image)•仮想マシンの複製も容易 移動 複製 によりOSのインストールをせず にコピーのみでインスタンスが増 やせる Web CGI Web CGI DB DB DB Linux Windows Linux Windows BSD BSD BSD 仮想マシンモニタ 仮想マシンモニタ 仮想マシンモニタ
  • 6. 仮想マシン導入のガイドライン• NIST Guideline, “Guide to Security for Full Virtualization Technologies”, Karen Scarfone, Murugiah Souppaya, Pual Hoffman – ガイドラインであり、技術的な問題点の指摘が 少ない。 NIST近くのレストランで2010/08撮影• 仮想化の技術的問題点を中心に話します
  • 7. アウトライン• クラウドの仮想化技術の役割• 仮想化に対する各種の脆弱性/攻撃 – VM内(VM Internal)の脆弱性/攻撃 • VM内の脆弱性をついてクラウドを攻撃する。 – VM間(Cross VM)の脆弱性/攻撃 • VM間の脆弱性をついて他のVMを攻撃する。• クラウド特有の問題• まとめ
  • 8. 仮想化に対する各種の脆弱性/攻撃– VM内(VM Internal)脆弱性をついた攻撃 1. 仮想マシン上のOS管理 2. I/O Fuzzing攻撃 3. メモリエラーが引き金になる脆弱性 4. ランダムにならない乱数– VM間(Cross VM)のVM間の脆弱性をついた攻撃 1. 物理キャッシュを通した覗き見 2. 仮想メモリの覗き見 (実習内容) 3. 仮想ネットワークによるセキュリティ障害 4. LiveMigration時のRootKit混入注:ここでは発生確率・影響度は加味していません
  • 9. 仮想マシン上のOS管理 (VM Internal 1)• 現在のクラウドではOSのインストール作業が無い! – ダッシュボード機能からメニューで作成 • VMI(Virtual Machine Image), AMI (Amazon Machine Image)• (基本的に)インストール後は管理者権限譲渡やプライバーの 問題があり、ユーザが管理 – 長い間使われなかったVMIではセキュリティパッチなどの脆弱性対処が 行われておらず、攻撃対象となる• クラウド&仮想化ベンダーでもこの問題は認識しており、対策 を提供 • VMIを直接扱うツール – VMware Update Manager(VUM) – Microsoft Offline Virtual Machine Servicing Tool
  • 10. I/O Fuzzing攻撃 (VM Internal 2-1)• 仮想マシンの脆弱性を突いた攻撃 – 仮想マシンのデバイスを過剰に叩き、管理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 • I/O fuzzing – VMware, Xen での報告あり Guest OS – 対策は不要なデバイスを付けない smash! ManagementOS Device Driver Device Driver VM (Virtual Device) Hypervisor CPU (Real Device)
  • 11. I/O Fuzzing攻撃 (VM Internal 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_RECT_COPY から得たアドレス 相対でホストのメモリが読み書きできた Normal behavior OverWrite memory Memory Leak
  • 12. メモリエラーが引き金になる脆弱性 (VM Internal 3-1)• クラウドコンピューティングでは数万台を超える大規模なサーバ群から構成され るため、各デバイスの障害も半端でない• ” 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を想定しているが、仮想マシンでも同じ
  • 13. メモリエラーが引き金になる脆弱性 (VM Internal 3-2) 通常の動作 スプレイ攻撃0x0804000 0x0804000 障害があり、制 Program Program 御がどこに行く か不明 Jump to M Jump to M 通常はOSがこのメモリ Jump to M 空間をプロテクト どこに飛んでも M Malware Malwareに行く ようにJumpを Jump to M 敷き詰める• 対処 – AMD のNXビットやIntel CPUのDXビットのようなデータ領域のコードを実行できな い機能(DEP: Data Execution Prevention)を有効にする
  • 14. ランダムにならない乱数 (VM Internal 4)• 仮想マシンモニタは仮想マシンの実行途中を保存するスナッ プショット機能を提供• スナップショットイメージを複数回使うと前の疑似乱数生成を 繰り返すことになる• 更に問題なのは、疑似乱数のシードは時計などの物理的要 因から取られるが、スナップショット再開後に外部の時計と同 期せずに時間が繰り返される仮想マシンがある – When Good Randomness Goes Bad [NDSS10]• 対処 – Hedged cryptography – 暗号化レベルで仮想マシンの乱数生成の問題を意識して回避する
  • 15. 仮想化に対する各種の脆弱性/攻撃– VM内(VM Internal)脆弱性をついた攻撃 1. 仮想マシン上のOS管理 2. I/O Fuzzing攻撃 3. メモリエラーが引き金になる脆弱性 4. ランダムにならない乱数– VM間(Cross VM)のVM間の脆弱性をついた攻撃 1. 物理キャッシュを通した覗き見 2. 仮想メモリの覗き見 (実習内容) 3. 仮想ネットワークによるセキュリティ障害 4. LiveMigration時のRootKit混入
  • 16. 物理キャッシュによるサイドチャネル攻撃 (CrossVM-1-1)• “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 Normal Attacker VM VM 仮想マシンモニタ Core1 Core2 Cache Line 64 byte Set Associative 2 way Cache Main Memory
  • 17. 物理キャッシュによるサイドチャネル攻撃 の対処“VM排他制御 ”(CrossVM-1-2)• 利害の異なるVMは同時に実行させない、他のサーバに割当て排他制御が必要 – XenはXSM(Xen Security Module)のACM(Access Control Module)では可能 • [XenSummit07]• これにより実行時デバイス共有によるCross VM Attackは防げる… ポリシー 利害関係有りTime slot
  • 18. 仮想マシンメモリの覗き見(CrossVM-2-1)• 既存の物理メモリへの覗き見攻撃 – IEEE1394(FireWire)によるメモリ覗き見 – メモリを冷やして解析。Cold Boot Attack [USENIX Security08]• 仮想マシンでは同様の攻撃がソフトウェアのみで出来る – 管理OSを乗っ取られればVM Introspection機能から可能 – 管理OSを乗っ取らなくても、重複除外の機能を使って他のVMのメモリが 覗ける[EuroSec’11, suzaki]• メモリ重複除外 – 仮想マシンが使うメモリで同じ内容のブロックは共有する技術 – 多くの仮想マシンモニタ(Vmware ESX, Xen, KVM)で利用可能 Guest Pseudo Memory VM1 VM2 VM(n) Real Physical Memory
  • 19. 仮想マシンメモリの覗き見(CrossVM-2-2)• 問題点:メモリ重複除外では共有したメモリブロックに書き込みを 行う場合にコピーを生成するため、通常の書き込みより遅い。 Guest Pseudo Memory VM1 VM2 Write Access VM1 VM2 (victim) (attacker) (victim) (attacker) Real Physical Memory コピーを作ってから書き 込むので遅い• 攻撃者は見つけたい内容のメモリブロックを重複させて検出できる • 多くの条件はあるが、アプリケーションの実行やホームページ を見たことが検出できた。(実際の攻撃まではまだ問題あり) • SSL/TLSなどの通信の暗号化は意味がない。SLAに違反して いない。
  • 20. 仮想マシンメモリの覗き見(CrossVM-2-3)• 対策 – VMメモリの暗号化。他のVMからのぞき見られても情報漏えいしない – Overshadow [ASPLOS08], SP3[Vee08] SP3[Vee08]より SID: SP3 Domain ID – 欠点として、この対策法ではメモリ重複除外の効果を無効にして、メモ リの有効活用が出来ない
  • 21. 仮想ネットワークによるセキュリティ障害 (CrossVM-3)• 仮想マシンモニタでは、同一物理マシン上の仮想マシン間を 高速な仮想ネットワークで繋ぐ – XenSocket[Middleware07], XWAY[Vee08], XenLoop[Cluster Computing09]• 全通信が仮想マシンモニタ内に閉じ込められ、表に出てこない – フィルタリング、ネットワーク型IDSなど既存のツールを利用できない• 対策 – 日本IBM「Virtual Server Security for VMware(VSS)」 • VMWareのVMSafeを利用し、各仮想マシンの通信内容をチェック
  • 22. Live Migration (CrossVM-4-1)• OSを起動させたまま、VMの他のサーバ移動 – サービスを継続しつつ、ハードウェアを停止するた めに必要 • スケールアウトには必須 “Exploiting live virtual machine migration” [BlackHat DC 2008]
  • 23. LiveMigration時のRootKit混入 (CrossVM-4-2)• VM移動中にRootkitを仕込まれてしまう – Virtual Machine Based Rootkits • “Exploiting live virtual machine migration”, [BlackHat DC 2008]• VMイメージの完全性を検証することでRootkit混入は防げるが、• 完全性のみでは覗き見による鍵漏洩は防げない。暗号化によ る秘匿性も必要 Live Migration アプリ アプリ アプリ OS OS OS VMBR VMBR メモリ メモリ CPU Attached CPU 仮想マシンモニタ By Attacker 仮想マシンモニタ メモリ メモリ CPU CPU
  • 24. アウトライン• クラウドの仮想化技術の役割• 仮想化に対する各種の脆弱性/攻撃 – VM内(VM Internal)の脆弱性/攻撃 • VM内の脆弱性をついてクラウドを攻撃する。 – VM間(Cross VM)の脆弱性/攻撃 • VM間の脆弱性をついて他のVMを攻撃する。• クラウド特有の問題• まとめ
  • 25. Cloud Computing特有の問題 1/2スケールアウトするために – CAP定理 • Consistency(データの一貫性)、Availability (システムの可用性)、Partitions (ネ ットワーク分断への耐性)のすべては成り立たない。 – 結果整合性(Eventual Consistency) • アトミックな整合性はない。いずれ整合することのみ保証• エラー忘却型コンピューティング(Failure Oblivious Computing)などのエラーを無視す る技術への対処 – 楽天技術研究所の森正弥所長のコメント • 「エラー忘却型コンピューティングは,データの完全性や保全性を犠牲に してでも,分散処理の大規模化や高速化を実現しようとする考え方だ。 このような考え方を,世界で初めて大規模に実用化した点が,Googleと 他社の最大の差だろう」
  • 26. Cloud Computing特有の問題 2/2データについて• サービス終了後に預けたデータを確実に消すこと – J-SaaS利用規約 • http://www.j-saas.jp/service/download/pdf/kiyaku.pdf • データ消去の要件: サービス解約後1か月以内にデータ及び外部保管媒体を破棄• 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回最新技術動向講演会」
  • 27. まとめ• 仮想化は計算資源の共有、動的移動など可用性を高め るが、新たな脅威を招くものでもある – 脆弱性が増え、そこを叩く攻撃の増加• 新たな防御技術(VM排他制御、メモリ暗号化、VMイ メージ完全性検証、VM Introspection)の導入の必要が ある• 資料 – 日経コンピュータ 2010/March/31 • 「護るが勝ち 仮想マシンに潜むセキュリティ問題」 • http://bizboard.nikkeibp.co.jp/kijiken/summary/20100407/NC0753H_1735146a.html • 情報処理学会誌 2010/12号 クラウドセキュリティ小特集 • 「IaaS型クラウドにおける仮想マシンのセキュリティ」 • http://fw8.bookpark.ne.jp/cm/ipsj/search.asp?flag=6&keyword=IPSJ-MGN511213&mode=PRT
  • 28. まとめ 各種VMの対応 脆弱性対応 ゲストの 排他制御 暗号化・ VM メモリ重複除外 Introspection (コード検証) DEP対応 完全性検証VMware vSphere 4.0と vCenter Server 4.0 あり VMSafe Content- EAL4+ Based Page SharingXen XSM OverShadow XenAccess Satori, XenServer 5.6 SP3 (sHype) Differential EAL2 EngineHyper-V EAL4 デフォルトKVM Libvrit+ KSM SELinux (Kernel SamePage Merging)
  • 29. 勝手に考えるIaaSのSLA (Service Level Agreement)• 仮想マシンモニタはセキュリティ評価基準(ex: EAL)取得か• ゲストOSはDEP(Data Execution Prevention)対応をインストールできるのか• Live Migrationの有無の確認 – 転送イメージの暗号化・完全性検証の確認 – 乱数シードの初期化は確実か• VM Isolationは確実か – 利害が絡むVMが同時に動かないか。キャッシュの共有はないのか。重複除外で 共有しているものはないのか• ゲストOSの振舞い監視(VM Introspection)はあるのか。どこまでか。ログは あるか• ハードウェアおよび仮想マシンモニタのエラー処理は適切に/即時に行ってい るのか。タイミングを狙った攻撃を防げるのか• データの所在 – どこにあるのか確認できるのか。国単位か – 災害があった際にバックアップは地政学的に問題ないか• サービス停止後のデータ消去の条件 – 消したことをどこまで検証可能にしているのか
  • 30. 実習結果(覗き見) Average (us) zero Random Apache2Apache2 ELF file 365,308B (89*4KB) Before invocation 6.45 0.37 0.53 After invocation 6.24 0.40 7.56 Before invocation After invocation Average (us) zero random sshdsshd ELF file 438,852B (107*4KB) Before invocation 6.60 0.55 0.45 After invocation 6.51 0.42 7.50 Before invocation After invocation