第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 連載インデックス |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|