第3回 セキュアOS論争から見える「カジュアル」なセキュアOS
中村 雄一
日本SELinuxユーザ会
2007/8/8
政府主導で軍事目的として作られたセキュアOS、セキュリティを数学的に証明する論理的なモデルなのですが……一般の用途では使い勝手が悪いことが障壁でした。そこでより多くの人に使ってもらうため、数学的なセキュリティをあえて追求しない、カジュアルなセキュアOSが登場しました。彼らの取捨選択を思想から追ってみましょう。毎回話題の息抜きコラムもどうぞ(編集部)
第2回で紹介した「セキュリティ至上主義」の考え方で作られたセキュアOSは、軍事が背景にあるため厳格すぎ、エンドユーザーから不満が出てきています。それに対しまずは使ってもらうことが重要であると考えた、より簡単なセキュアOSが作られてきています。
LinuxベースのセキュアOSでは、セキュリティ至上主義に属する「SELinux」とカジュアル派に属する「AppArmor」の2つのセキュアOSが、Linuxカーネルメーリングリスト(LKML)で意見を戦わせてきました。この論争の中から見えてきた、「カジュアル派」のセキュアOSの考え方を今回は紹介しようと思います。
セキュリティを数学的に証明できるラベル、実は使いづらい?
まず、なぜカジュアル派が現れたのかその背景を探ります。セキュリティ至上主義では、セキュリティの数学的な証明と保証、そのためにラベルを使う、という特徴がありました。しかし、ラベルを使うことによって、現実的な使い勝手の面で欠点を抱え込んでいます。
●ラベルの理解・定義が大変
ラベルを使ったセキュアOSでは、ファイルや利用するポートの数が多くなればなるほど、ラベルの数も増えていきます。ファイルやネットワークの数が多くなればなるほど、ラベルの数も増えていきます。ラベルベースのセキュアOSの代表的な実装であるSELinuxでは、1000種類以上のラベルが定義されています。これらのラベルが、それぞれどのような意味を持つのかを把握するのは容易なことではありません。
新しいアプリケーションに対するポリシーを記述する場合、アプリケーションが利用するリソースに対して、新たにラベルを定義してやる必要が出てきます。新たなラベルを命名する手間がかかるうえに、既存のラベルを変更してしまうことにより問題が発生することがあります。
例えば、「FTPサーバが、ftp_contentsというラベルのファイルにアクセスできる」と設定されているとします。そして、「/var/ftp」というファイルにftp_contentsラベルが付与されているとします。この状態で、新たにWebサーバに対するポリシー設定をするとします。まず、Webで公開したいコンテンツに対し、「web_contents」というラベルを作成します。
このとき、「/var/ftpもWebで公開したい」ということで、web_contentsラベルを付与します。すると、FTPサーバは、web_contentsラベルへのアクセス権がありませんので、いままでアクセスできていた/var/ftpにアクセスできなくなってしまい、FTPサーバが正常に動作しなくなってしまいます。このように、新たなラベルを付与する場合も、既存の設定に影響がないのか気を使う必要があります。
●ラベルの維持が大変
システム構築直後にラベルを正しく付与できたとしても、そのラベルがシステム運用中も正しく維持されるとは限りません。SELinuxの場合、ラベルはiノード番号と一緒に管理されますが、ファイルが消去され、再生成されたときに、ラベルの情報が失われることがあります。典型的な例が、viコマンドでの編集です。
例えば、/etc/shadowに「shadow」というラベルが付与されていたとします。これをviコマンドで編集し、保存すると、vi内部で/etc/shadowがいったん消去され、もう一度生成されます。ファイルが一度消去されるため、再生成時にiノード番号が変わります。iノード番号が変わるため、再生成前のラベルshadowは失われてしまいます。
この問題を解決するためには、viコマンドを拡張し、ファイルの再生成時に、消去前のラベルを付与するように拡張しなければいけません(Fedora Coreなどに入っているviコマンドでは、この拡張がなされています)。しかし、ファイルの消去・再生成を行うすべてのアプリケーションに対して、このような拡張を行う必要が出てきますが、現実には対策漏れが出てくるため、定期的に、ラベルが正しく維持されているのかを点検する手間が生じてきます。
もうちょっと手軽にしてもいいんじゃない?
このようなラベルの問題点もあり、セキュリティ至上主義の考え方ではセキュアOSの使い勝手が悪くなってしまいます。結果、セキュアOSが使われないことが多くなります。例えばFedora CoreなどにはSELinuxが入っていますが、無効にされることが多いようです。どんなに優れたセキュリティ機能であっても、使ってもらえなければ意味がありません。
そこで、「セキュリティの数学的証明」のような厳密さを完全に適用するのではなく、「使い勝手を重視して、取りあえずは使ってもらおう」という、柔軟な発想で作られたセキュアOSが現れてきました。こういったセキュアOSを本連載では便宜上「カジュアル派」と呼んでいます。
カジュアル派として分類できるセキュアOSとしては、SUSE Linux標準のセキュアOSである「AppArmor」、NTTデータが開発したセキュアOSである「TOMOYO Linux」、フリーセキュアOSモジュールの「LIDS」などが挙げられます。また、「SELinux Policy Editor」もカジュアル派の一種です。カジュアル派の考え方でSELinuxを設定できるようにしています。
【関連記事】 セキュアOS「LIDS」入門(全13回) http://www.atmarkit.co.jp/fsecurity/rensai/lids01/lids01.html SELinux Policy EditorでSELinuxを簡単にhttp://www.atmarkit.co.jp/fsecurity/special/94seedit/seedit01.html |
1/3 |
Index | |
セキュアOS論争から見える「カジュアル」なセキュアOS | |
Page1 セキュリティを数学的に証明できるラベル、実は使いづらい? もうちょっと手軽にしてもいいんじゃない? |
|
Page2 「カジュアル派」の妥協点 |
|
Page3 「至上主義」と「カジュアル派」は統合できるか? 論争がいい物を育てると信じて 息抜きコラム:第3回「最小特権」 |
Security&Trust記事一覧 |
- 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)対策の観点から考える。
|
|