23
Cell/B.E. の SPE のののののの ののの OS のののののの のののののの のののの ののの

Cell/B.E. の SPE 上で動作する 安全な OS 監視システム

  • Upload
    kimo

  • View
    43

  • 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

Page 1: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

Cell/B.E. の SPE 上で動作する安全な OS 監視システム

九州工業大学永田卓也 光来健一

Page 2: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS に対する攻撃

• OS への攻撃が増加している– カーネルルートキット

• OS が改ざんされるとセキュリティ対策ソフトも正常に動作しなくなる– セキュリティ対策ソフトも

OS の機能を使用• 例:異常を検知してもそれが

ログに出力されない

ハードウェア

OS

セキュリティ対策ソフト

OS

Page 3: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

従来の OS 監視の問題

• OS が改ざんされていないことを安全に監視するのは難しい– OS が改ざんされると OS 監視

システムも正常に動かなくなる– OS の上で動く場合

• 監視システムも改ざんされたOS 上で動く

– OS 内部で動く場合• OS と同様に攻撃される恐れがある

OS

OS 監視システ

OS 監視

Page 4: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS のトラステッドブート

• Intel TXT 等のハードウェアを用いて起動時に OS の改ざんを検知– OS をディスクからロードする時にハッシュ

値のチェックを行う– 物理的なハードウェアは改ざんされない

– 常時監視ができない• カーネルルートキットは

起動後にインストールされる ハードウェア

OS

Page 5: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

仮想マシンモニタからの監視

• OS を仮想マシン上で動かし、仮想マシンモニタ( VMM )が OS の改ざんをチェック– OS のメモリや I/O 等を監視する– 常時監視が可能

– VMM もソフトウェアなので改ざんされる危険性がある

– 仮想化によるオーバーヘッドが存在する

VMM

ゲスト OS

ハードウェア

Page 6: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

提案: SPE Observer• Cell/B.E. の SPE 上で OS 監視システムを動

かす– OS が動く PPE から隔離されたコア上で動作– SPE Isolation モードを用いて安全に実行

• セキュリティプロキシにより実行を監視

SPE

監視システム

PPE

OS監視

Cell/B.E.

監視

SPE

SPE

SPE

SPE

SecurityProxy

ネットワーク

Page 7: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

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.

Page 8: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

Isolation モードによる完全性保証

• OS 監視システムのコードやデータの完全性を保証する– Isolation モードとは ...

• SPE が持つ特殊な CPU モード• 外部から SPE の LS にアクセスできない

– 攻撃者からの LS 上のコードやデータの改ざんを防げる

MFC

SPU

監視システム

LS

Page 9: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

Isolation モードによる機密性保証

• OS 監視システムのコードやデータの機密性を保証する– システム実行中の機密性

• 攻撃者は LS 上の暗号鍵などを取得できない• 監視システムのコードも解析できない

– システム実行後の機密性• 実行の終了時や中断時には

LS の内容は消去される

MFC

SPU

監視システム

LS

Page 10: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

Secure Loader による安全なロード

• Secure Loader が暗号化された OS 監視システムを SPE にロードする– PPE が暗号化された Secure Loader を SPE に

ロード• ハードウェアによる認証と復号化

– OS 監視システムの完全性・機密性が保たれる

SecureLoader

SPE

SecureLoader

OS 監視システム

PPE

SPU

LSOS 監視システ

ムSecureLoader

OS 監視システム

Page 11: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

セキュリティプロキシ

• OS 監視システムの可用性を向上させる– PPE は SPE 上の OS 監視システムを停止させら

れる• Isolation モードであっても

– OS 監視システムに定期的にハートビートを送る

• OS 監視システムが動いていることを確認– 応答がなくなったら、ネットワークを遮断

• 感染マシンを隔離

SPE

監視システム

PPE

OS監視

Cell/B.E.

監視

SecurityProxy

ネットワーク

Page 12: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

セキュリティプロキシの実装

• PPE 上のリレープロセスがハートビートを中継– SPE が直接通信することもできるが、 TCP/IP

の実装が必要– セキュリティプロキシが暗号化メッセージを

送る– 共通の暗号鍵を持っている SPE だけが正しい

応答を作成できるTCP/IP

Security Proxy リレープロセス

Cell/B.E.

暗号 応答

OS 監視システ

SPEPPE

Mailbox応答

ネットワーク

Page 13: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS 監視システムの実装

• DMA によりカーネルメモリの内容を取得– MFC 状態レジスタ1の Problem-State をクリア

• SPE にカーネルメモリへのアクセス権限を与える– SPE の SLB にカーネルメモリ用のエントリを

追加• 実効アドレスと仮想アドレスの変換テーブル

– チェックサムを比較して、改ざんの有無をチェック

• ダブルバッファリング

SLB MFC

SPU

SPE

SLB TLB

Page 14: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

監視システムのスケジューリング

• 2種類のスケジューリングを提供– 常時起動し、 SPE を1つ占有

• 起動のオーバーヘッドは1回で済む• SPE 1つ分、マシン性能が低下する

– 定期的に起動し、未使用時は SPE を開放• マシン性能の低下を抑えられる• 起動時のオーバーヘッドが毎回生じる

Page 15: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

実装状況

• IBM が提供する Security SDK を使用– Isolation モードのエミュレーション– エミュレーション用の Secure Loader

• ハードウェアによるチェックは行われない

• PS3 に SPE Observer を実装– 現状ではハードウェアが提供する Isolation

モードを使用できていない– OS 監視システムを実行する SPE はスケジュー

ルされないように設定

Page 16: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

実験

• 実験の目的– OS の改ざんを検知できるかの評価– SPE Observer の性能評価– SPE Observer の実行がシステム性能に及ぼす影響の評価

• 実験環境– PS3– Fedora 9 (Linux 2.6.27)

Page 17: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS 改ざんの検知

• 以下の OS カーネルのチェックサムを計算し、事前に計算した値と比較– 同一のカーネル– バージョン番号を改ざんしたカーネル– システムコールテーブルを改ざんしたカーネ

ル• 実験結果

– 同一のカーネル以外は改ざんを検知することができた

Page 18: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS 監視の実行時間

• カーネルサイズと同一の 12MB のメモリをチェックするのにかかる時間を測定– SPE から 16KB単位で DMA 転送してチェック– PPE から 1 ワード単位で取得してチェック

PPE

SPEDMA 転送

直接アクセス

動作コア 時間( msec)SPE 80.3

PPE 26.0

Page 19: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

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数

実行時間(秒)

Page 20: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

OS 監視用に SPE を占有する影響

• 6並列のアプリケーションの実行時間を測定– 1つの SPE を OS 監視用に占有した場合– OS 監視を行わなかった場合

• 実験結果– コア1つ分の性能低下 実行時間

(秒)OS監視あり 96.7

OS監視なし 80.3

SPE SPE SPE SPE SPE SPE

監視

80.3

16.1

Page 21: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

関連研究(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 、他のコア、割り込み等をすべて停止してか

ら実行するため、応答時間への影響が大きい

Page 22: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

関連研究(2)

• SPE Isolation モードの利用– Code Verification Service [Murase et al.’09]

• PPE アプリケーションを実行する前に完全性をチェック

• チェック後の改ざんは検知できない– SPE を用いた安全なデータ解析 [Wang et

al.'08] • SPE でデータを復号して、データ解析を行う • SPE 内部でしかデータが復号されないのでデータ

のプライバシが守られる

Page 23: Cell/B.E.  の SPE 上で動作する 安全な OS 監視システム

まとめ

• 安全な OS 監視のための SPE Observer を提案– SPE Isolation モードにより OS 監視システムの

完全性と機密性を保証– セキュリティプロキシにより可用性を向上– 実験結果より、メモリ転送に影響はあるが、

システム全体の性能低下はコア1つ分である• 今後の課題

– ハードウェアの Isolation モードの利用– OS 監視システムのスケジューリングの実

装・評価