Upload
kimo
View
44
Download
2
Embed Size (px)
DESCRIPTION
Cell/B.E. の SPE 上で動作する 安全な OS 監視システム. 九州工業大学 永田卓也 光来健一. OS に対する攻撃. OS への攻撃が増加している カーネルルートキット OS が改ざんされるとセキュリティ対策ソフトも正常に動作しなくなる セキュリティ対策ソフトも OS の機能を使用 例:異常を検知してもそれが ログに出力されない. セキュリティ 対策ソフト. OS. OS. ハードウェア. 従来の OS 監視の問題. OS が改ざんされていないことを 安全に監視するのは難しい OS が改ざんされると OS 監視 システムも正常に動かなくなる - PowerPoint PPT Presentation
Citation preview
Cell/B.E. の SPE 上で動作する安全な OS 監視システム
九州工業大学永田卓也 光来健一
OS に対する攻撃
• OS への攻撃が増加している– カーネルルートキット
• OS が改ざんされるとセキュリティ対策ソフトも正常に動作しなくなる– セキュリティ対策ソフトも
OS の機能を使用• 例:異常を検知してもそれが
ログに出力されない
ハードウェア
OS
セキュリティ対策ソフト
OS
従来の OS 監視の問題
• OS が改ざんされていないことを安全に監視するのは難しい– OS が改ざんされると OS 監視
システムも正常に動かなくなる– OS の上で動く場合
• 監視システムも改ざんされたOS 上で動く
– OS 内部で動く場合• OS と同様に攻撃される恐れがある
OS
OS 監視システ
ム
OS 監視
OS のトラステッドブート
• Intel TXT 等のハードウェアを用いて起動時に OS の改ざんを検知– OS をディスクからロードする時にハッシュ
値のチェックを行う– 物理的なハードウェアは改ざんされない
– 常時監視ができない• カーネルルートキットは
起動後にインストールされる ハードウェア
OS
仮想マシンモニタからの監視
• OS を仮想マシン上で動かし、仮想マシンモニタ( VMM )が OS の改ざんをチェック– OS のメモリや I/O 等を監視する– 常時監視が可能
– VMM もソフトウェアなので改ざんされる危険性がある
– 仮想化によるオーバーヘッドが存在する
VMM
ゲスト OS
ハードウェア
提案: SPE Observer• Cell/B.E. の SPE 上で OS 監視システムを動
かす– OS が動く PPE から隔離されたコア上で動作– SPE Isolation モードを用いて安全に実行
• セキュリティプロキシにより実行を監視
SPE
監視システム
PPE
OS監視
Cell/B.E.
監視
SPE
SPE
SPE
SPE
SecurityProxy
ネットワーク
Cell/B.E. のアーキテクチャ
• ヘテロジニアス型マルチコアプロセッサ– 制御系 CPU の PPE と演算系 CPU の SPE– SPE は Local Store(LS) と呼ばれるメモリを持つ– DMA を使ってメインメモリにアクセスする
MFC
LocalStore
SPU 256kb の内部メモリ
実際に DMA 転送を行う部分
SPE SPE SPE
SPE SPE SPE
EIBPPE
Cell/B.E.
Isolation モードによる完全性保証
• OS 監視システムのコードやデータの完全性を保証する– Isolation モードとは ...
• SPE が持つ特殊な CPU モード• 外部から SPE の LS にアクセスできない
– 攻撃者からの LS 上のコードやデータの改ざんを防げる
MFC
SPU
監視システム
LS
Isolation モードによる機密性保証
• OS 監視システムのコードやデータの機密性を保証する– システム実行中の機密性
• 攻撃者は LS 上の暗号鍵などを取得できない• 監視システムのコードも解析できない
– システム実行後の機密性• 実行の終了時や中断時には
LS の内容は消去される
MFC
SPU
監視システム
LS
Secure Loader による安全なロード
• Secure Loader が暗号化された OS 監視システムを SPE にロードする– PPE が暗号化された Secure Loader を SPE に
ロード• ハードウェアによる認証と復号化
– OS 監視システムの完全性・機密性が保たれる
SecureLoader
SPE
SecureLoader
OS 監視システム
PPE
SPU
LSOS 監視システ
ムSecureLoader
OS 監視システム
セキュリティプロキシ
• OS 監視システムの可用性を向上させる– PPE は SPE 上の OS 監視システムを停止させら
れる• Isolation モードであっても
– OS 監視システムに定期的にハートビートを送る
• OS 監視システムが動いていることを確認– 応答がなくなったら、ネットワークを遮断
• 感染マシンを隔離
SPE
監視システム
PPE
OS監視
Cell/B.E.
監視
SecurityProxy
ネットワーク
セキュリティプロキシの実装
• PPE 上のリレープロセスがハートビートを中継– SPE が直接通信することもできるが、 TCP/IP
の実装が必要– セキュリティプロキシが暗号化メッセージを
送る– 共通の暗号鍵を持っている SPE だけが正しい
応答を作成できるTCP/IP
Security Proxy リレープロセス
Cell/B.E.
暗号 応答
OS 監視システ
ム
SPEPPE
Mailbox応答
ネットワーク
OS 監視システムの実装
• DMA によりカーネルメモリの内容を取得– MFC 状態レジスタ1の Problem-State をクリア
• SPE にカーネルメモリへのアクセス権限を与える– SPE の SLB にカーネルメモリ用のエントリを
追加• 実効アドレスと仮想アドレスの変換テーブル
– チェックサムを比較して、改ざんの有無をチェック
• ダブルバッファリング
SLB MFC
SPU
SPE
SLB TLB
監視システムのスケジューリング
• 2種類のスケジューリングを提供– 常時起動し、 SPE を1つ占有
• 起動のオーバーヘッドは1回で済む• SPE 1つ分、マシン性能が低下する
– 定期的に起動し、未使用時は SPE を開放• マシン性能の低下を抑えられる• 起動時のオーバーヘッドが毎回生じる
実装状況
• IBM が提供する Security SDK を使用– Isolation モードのエミュレーション– エミュレーション用の Secure Loader
• ハードウェアによるチェックは行われない
• PS3 に SPE Observer を実装– 現状ではハードウェアが提供する Isolation
モードを使用できていない– OS 監視システムを実行する SPE はスケジュー
ルされないように設定
実験
• 実験の目的– OS の改ざんを検知できるかの評価– SPE Observer の性能評価– SPE Observer の実行がシステム性能に及ぼす影響の評価
• 実験環境– PS3– Fedora 9 (Linux 2.6.27)
OS 改ざんの検知
• 以下の OS カーネルのチェックサムを計算し、事前に計算した値と比較– 同一のカーネル– バージョン番号を改ざんしたカーネル– システムコールテーブルを改ざんしたカーネ
ル• 実験結果
– 同一のカーネル以外は改ざんを検知することができた
OS 監視の実行時間
• カーネルサイズと同一の 12MB のメモリをチェックするのにかかる時間を測定– SPE から 16KB単位で DMA 転送してチェック– PPE から 1 ワード単位で取得してチェック
PPE
SPEDMA 転送
直接アクセス
動作コア 時間( msec)SPE 80.3
PPE 26.0
OS 監視がバスに及ぼす影響
• DMA 転送にかかる時間の変化を測定–最大転送容量の 16KB単位で取得するプログ
ラムを動かし、バスに負荷をかけた– 12MB 取得を 1000 回ループ
• 実験結果– OS 監視によりメモリアクセス
が混雑SPE
MainMemory
SPE SPE
SPE SPE SPE
EIB1 1.5 2 2.5 3 3.5 4 4.5 5
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
監視起動時監視非起動時
使用 SPE数
実行時間(秒)
OS 監視用に SPE を占有する影響
• 6並列のアプリケーションの実行時間を測定– 1つの SPE を OS 監視用に占有した場合– OS 監視を行わなかった場合
• 実験結果– コア1つ分の性能低下 実行時間
(秒)OS監視あり 96.7
OS監視なし 80.3
SPE SPE SPE SPE SPE SPE
監視
80.3
16.1
関連研究(1)
• ハードウェアを用いた安全なコード実行– Flicker [McCune et al.’08]
• AMD SVM を用いて安全にコードを実行• CPU の SMM モードを悪用した攻撃がまだ可能
– HyperGuard [Rutkowska et al.’08], HyperCheck [Wang et al.’10], HyperSentry [Azab et al.’10]
• SMM モードを用いて安全にコードを実行• OS 、他のコア、割り込み等をすべて停止してか
ら実行するため、応答時間への影響が大きい
関連研究(2)
• SPE Isolation モードの利用– Code Verification Service [Murase et al.’09]
• PPE アプリケーションを実行する前に完全性をチェック
• チェック後の改ざんは検知できない– SPE を用いた安全なデータ解析 [Wang et
al.'08] • SPE でデータを復号して、データ解析を行う • SPE 内部でしかデータが復号されないのでデータ
のプライバシが守られる
まとめ
• 安全な OS 監視のための SPE Observer を提案– SPE Isolation モードにより OS 監視システムの
完全性と機密性を保証– セキュリティプロキシにより可用性を向上– 実験結果より、メモリ転送に影響はあるが、
システム全体の性能低下はコア1つ分である• 今後の課題
– ハードウェアの Isolation モードの利用– OS 監視システムのスケジューリングの実
装・評価