第7回 やっぱり気になるスイッチ・オン! での性能変化


面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー
2008/2/29


 このテストから分かること

 今回テストケース1とテストケース2の2つを測定した理由について説明しましょう。テストケース1ではアプリケーション内で(ほぼ)処理が完結するものであるのに対して、テストケース2ではOSが介在する処理が多いものを選んでいます。

 SELinuxはいままでの回で説明してきたとおり、「OSが介在するアクセス制御を行う部分の強化」になっています。より具体的にいいますと、SELinuxは(というよりもLSMですが)システムコールをフックして自身のデータベース内のルールと比較してアクセス制御の可否を行いますので、システムコールが呼ばれないと(基本的には)アクセス制御部分は呼ばれない形になります。

【LSM関連記事】
Linux Kernel Watch番外編:LinusもキレたセキュアOS論争
セキュリティをやってるやつらは狂っている?!

http://www.atmarkit.co.jp/fsecurity/special/103kernelwatch/kernelwatch01.html

 テストケース1では1アプリケーション内で処理がほとんど終わっているため、SELinuxによるパフォーマンス劣化はほとんどありません。それに対し、テストケース2ではファイルの読み書きを何度も繰り返す処理となっているため、アクセス制御の判断を都度行うことからパフォーマンスの劣化が多く見られます。

図1 テストケース1と2の違い

 もちろん、SELinuxではこのようなパフォーマンス劣化を防ぐために、アクセス制御のルールをあらかじめメモリ上にキャッシュしています。しかしその理論上、ある程度のパフォーマンス劣化は避けられません。

 今回はディスクアクセスが頻発したこととノートPCのHDDが遅かったことから、かなりのパフォーマンス劣化が生じていますが、通常のサーバでRAIDなどを組んでいれば当然パフォーマンスの劣化は少なくなると考えられます。

 また、アプリケーションによっては、システムコールが発生しない内部処理でも、SELinuxにより提供されるライブラリを通してSELinuxのアクセス制御(ラベルによるアクセス制御)を行うように拡張されているものもあります。代表的な例として、NEC 海外浩平氏によるSE-PostgreSQLが挙げられます。

【関連記事】
SE-PostgreSQLによるセキュア・データベース構築
http://www.atmarkit.co.jp/fsecurity/index/index_sepgsql.html

 パフォーマンス劣化が発生する場所を知れば導入は怖くない

 以上の実験から、SELinuxによるパフォーマンス劣化は以下の際に生じることが分かりました。

  • どの程度:
    パフォーマンス劣化は理論上どうしても生じる。しかし、あらかじめキャッシュされている情報を使用する際にはパフォーマンス劣化は生じにくい。またサーバ構成をうまく組むことによりパフォーマンス劣化を少なくすることができる。

  • 何がボトルネックとなって:
    システムコールが介在している個所でLSMのフックが掛かっているため、OSでの処理が発生する際に劣化が生じる。

 理論上、アクセス制御の可否判断が加わるため、SELinuxを有効にした際にはパフォーマンスの劣化は避けられません。しかし、よほどOSが介在する処理をたくさんさせない限りは、パフォーマンスの劣化は許容できる範囲にあるのではないでしょうか。

3/3
 

Index
やっぱり気になるスイッチ・オン! での性能変化
  Page1
「SELinux有効」がパフォーマンスに与えるインパクトとは
測定環境をチェック
  Page2
テストケース1:ショッピングサイト運用の場合
テストケース2:ディスクI/Oを発生させた場合
Page3
このテストから分かること
パフォーマンス劣化が発生する場所を知れば導入は怖くない


Profile
面 和毅(おも かずき)

サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー


学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。

現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。

2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。

スイッチ・オン! SELinux 連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間