リモートホストの異常を検知するための GPUとの直接通信機構

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

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

リモートホストの異常を検知するための GPUとの直接通信機構 九州工業大学 情報工学部 機械情報工学科 光来研究室 14237017 金本 颯将

システムの異常検知 システムの複雑化にともない,様々な異常が発生する ようになっている システムの異常はできるだけ早く検知する必要 システムの複雑化にともない,様々な異常が発生する ようになっている システム障害,性能低下,攻撃 システムの異常はできるだけ早く検知する必要 障害検知:早期に障害から復旧 性能監視:システム性能を維持 侵入検知:攻撃の被害を最小化 近年、システムの複雑化に伴い、様々な異常が発生するようになってきています。 例として、 /*クリック*/ OS等のシステム障害、CPU等の性能低下、 外部からの攻撃などが挙げられます。 システムの異常を出来るだけ早く検知することは重要であり、早期に障害から復旧するための障害検知、システム性能を維持するための性能監視、攻撃の被害を最小化するための侵入検知などが行われています。 障害 ホスト 攻撃 OS メインメモリ CPU

ソフトウェアによる異常検知 OS上やOS内部の検知システムを用いて異常を検知 OS内部の異常により検知システムが機能を停止 OS 例:アンチウィルスによってウィルスへの感染を検知 例:システムの状態を取得して障害を検知 OS内部の異常により検知システムが機能を停止 例:カーネルルートキットのインストール アンチウィルスに偽の情報が返される 従来、ソフトウェアを用いた異常検知では、OS上やOS内部の検知システムを用いて異常を検知してきました。 /*クリック*/ 例として、システムの状態を取得して障害を検知する障害検知システムやウィルスへの感染を検知するアンチウィルスなどが挙げられます。 しかし、これらの手法には問題があり、 OSの内部に異常が発生すると、検知システムが停止してしまうという問題があります。 また、OSの内部にカーネルルートキットがインストールされることにより、 アンチウィルスに偽の情報が返され、外部からの侵入が検知出来なくなります。 アンチ ウィルス 偽の情報 障害検知 システム OS カーネルルートキット 障害

ハードウェアによる異常検知 専用ハードウェアを用いて異常を検知 汎用CPUの隔離実行のための機能を利用 例:PCIカード上でOSの整合性を安全に検査 [Petroni et al. ’04] 専用のPCIカードが必要となり高コスト 汎用CPUの隔離実行のための機能を利用 Intel製CPUのSMMと呼ばれるモードを用いてメモリを安全に監 視 [Rutkowska et al. ’08] SMMでの実行は低速であり,実行中はシステム全体が停止 一方、ハードウェアを用いた異常検知では、専用ハードウェア上で異常を検知する手法や汎用CPUの隔離実行のための機能を利用する手法が提案されてきました。 /*クリック*/ 専用ハードウェア上で異常を検知する手法の例として、PCIカード上でOSの整合性を検査する手法が提案されています。この手法では、リモートホストからメモリを監視するため、信頼でき、高性能ですが、コストが高いという問題があります。 汎用CPUの隔離実行のための機能を利用する手法の例として、Intel製CPUのシステムマネジメントモード(SMM)と呼ばれる機能を用いてメモリを監視する手法が提案されています。CPUは標準的に搭載されているためにコストは低く、SMMを実行することで安全に監視できるために信頼できますが、SMMの実行は低速であり、システム全体が停止してしまうなど性能面に問題があります。 PCIカード CPU 監視 監視 OS

GPUsec [山本'16] GPU上でOS監視システムを実行 OSのネットワーク機能を利用して検知結果を通知 高信頼・低コスト・高性能の3つを満たす OSのネットワーク機能を利用して検知結果を通知 GPUは能動的にネットワーク通信を行えないため OS内部の異常により通知ができなくなる そこで、高信頼・低コスト・高性能の3つを満たすものとして、GPUを用いた異常検知手法も提案されてきました。 高信頼:CPUやメインメモリから独立 低コスト:多くの計算機に標準的に搭載 高性能:GPU内の多数の演算コアを用いて並列処理が可能 監視対象ホスト 監視ホスト 検知結果 異常 GPU OS リモート監視 システム OS監視 システム 監視 CPU メインメモリ

提案:GRASS 異常検知対象のOSを介さずにGPUと直接通信して検 知結果を取得 GPUDirect RDMAと呼ばれる機能を利用して実現 GPUおよびネットワークカード(NIC)が動作していれば通信可能 応答がなければ異常と判定可能 監視対象ホスト 監視ホスト GPU OS監視 システム リモート監視 システム GPUDirect RDMA OS CPU メインメモリ GPUメモリ メインメモリ NIC NIC

GPUDirect RDMA CPUを介さずにリモートホスト上のGPUメモリに直接ア クセスするためのハードウェア機能 NICからのアクセスを可能にする マッピングしたメモリにリモートホストから直接アクセス RDMA Read/Writeでデータを読み書き ホスト ホスト GPU メインメモリ GPUメモリ メインメモリ マッピング RDMA Write RDMA Read NIC NIC

検知結果の要求 GPUはポーリングで書き込みフラグのセットを待つ 監視ホストはRDMA Writeを用いて要求をGPUメモリに 書き込む セットされたら要求を取得し,書き込みフラグをクリア 監視ホストはRDMA Writeを用いて要求をGPUメモリに 書き込む 完了したら,GPUメモリ上の書き込みフラグをセット GPU 監視ホスト 書き込み フラグ ポーリング RDMAWrite OS監視 システム 読み込み 書き込み 要求 要求 1 1 要求 1

検知結果の取得 監視ホストはRDMA Readを用いたポーリングにより, 読み込みフラグのセットを待つ GPUによる書き込みを通知するハードウェア機構がないため セットされたら検知結果を取得し,読み込みフラグをクリア GPUは検知結果をGPUメモリに書き込む 完了したら,読み込みフラグをセット GPU 監視ホスト 読み込み フラグ ポーリング RDMAWrite RDMARead OS監視 システム 書き込み 検知結果 検知結果 1 1 検知結果 1

様々な用途に利用可能 ハートビート メインメモリのデータの取得 OS監視システムの動作を確認するための定期的な通信 書き込みフラグ,読み込みフラグのセット・クリアのみ メインメモリのデータの取得 監視ホストにおいて,より高度な異常検知を行うため RDMA Readで大量のデータを取得 GPU 監視ホスト 書き込みフラグ OS監視 システム 要求 要求 1 異常検知 要求 1 読み込みフラグ 1 データ データ データ 1

実験 GRASSの有用性を確認する実験を行った OSの異常停止時におけるGRASSの動作を検証 ハートビート性能の測定 検知結果の要求・取得にかかる時間の測定 監視対象ホスト 監視ホスト OS Linux 4.10(Ubuntu 16.04 LTS) メモリ 8 GB CPU Xeon E5-1603 v4 Xeon E3-1270 v3 GPU Quadro M4000 (8GB) NIC Mellanox MCP1600-C003 (100Gbイーサネット) ソフトウェア CUDA 8.0 nvidia-peer-memoryドライバ 1.0.5

ハートビートの信頼性と性能 OSの異常停止時にハートビートを送信 ハートビートの応答時間を測定 OSに依存せずにGPUとの通信が行えることを確認 ハートビートの応答時間を測定 pingコマンドの応答時間も 測定 GRASSでは十分に短い時間 で応答できることを確認

検知結果の要求・取得時間 要求または検知結果のサイズを変化させて取得時間 を測定 サイズに比例して実行時間も増加 要求または検知結果のサイズを変化させて取得時間 を測定 サイズに比例して実行時間も増加 検知結果のサイズが1MBの時,10Gbpsのスループットを達成 GRASSを用いないネットワーク性能の82% ネットワーク性能(iperf):12.0Gb/s 要求:840[μs]、取得:773[μs] = 約800[μs] 1/0.0008=1250 1250/1024=1.22[GB/s] = 9.77Gb/s

関連研究 GPUnet [Kim et al. ’14] HyperCheck [Wang et al. ’10] GPUDirect RDMAを用いた通信機構 GPU上のデータを送信する際にはOSの機能も必要 HyperCheck [Wang et al. ’10] CPUの特殊なモード(SMM)を用いてメモリの内容を安全にリ モートホストに送信 SMM実行中はシステムの他の処理が停止 RemoteTrans [Kourai et al. ’16] リモートホストからVMのメモリを安全に取得して監視 VMを用いないシステムには適用できない

まとめ 監視対象ホストのGPUと直接通信して検知結果を取得 するシステムGRASSを提案 今後の課題 GPUDirect RDMAとポーリングを利用して実現 OSが異常停止しても正常に通信できることを確認 十分な通信性能を達成できることを確認 今後の課題 GPUでの実際の異常検知の結果を取得 OSデータを取得して監視ホストで検知可能にする 様々な異常発生時における通信の確認