【セキュアOS】第1回 思想の数だけセキュアOSは生まれる by才所 秀明

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
第1回 思想の数だけセキュアOSは生まれる− @IT
http://www.atmarkit.co.jp/fsecurity/rensai/secureos01/secureos01.html

才所 秀明
Linuxコンソーシアム
理事 兼 セキュリティ部会リーダー
2007/6/1
なぜセキュリティを確保するためのOSが必要とされたのでしょうか。
そしてセキュリティを高めるということが唯一のゴールであるにもかかわらず、
いくつもの種類のセキュアOSが生まれたのでしょうか。
本連載ではその答えを探るべく、セキュアOSを支える人たちの「思想」に注目します
(編集部)

2名無しさん@お腹いっぱい。:2007/07/12(木) 11:20:38 ID:ANTUx7tU
 @ITを含め、多くのメディアでセキュアOSが紹介されています。恐らく、SELinuxやLIDS、TOMOYO Linuxなどの
紹介記事をご覧になった方も多いでしょう。

 セキュアOSといってもさまざまなものがあります。筆者がリーダーを務めるLinuxコンソーシアム セキュリティ部会Wiki
では、数々のセキュアOSを紹介し、セキュアOSを選択するための評価項目を公開しています。これは、実際にシステムに
導入するためという目的で分類しています。

【関連リンク】
Linuxコンソーシアム セキュリティ部会Wiki
http://www.linuxcons.gr.jp/security/Wiki/

 しかし、これ以外にも分類方法はあります。その1つが思想的な分類です。セキュアOSの思想には、大きく分けて
2つの流れがあります。軍事的な利用までも念頭に置いているセキュリティ至上主義派と、容易に設定し利用できるべきと
考えているカジュアルセキュリティ派です。

 2つの思想が生まれた背景には、歴史的経緯があります。
セキュアOSの親ともいえるトラステッドOSから簡単に説明しましょう。

3名無しさん@お腹いっぱい。:2007/07/12(木) 11:22:17 ID:ANTUx7tU
■軍事機密の保護のために生まれたトラステッドOS

 米軍は、1960年代からコンピュータシステムを導入してきました。そこで問題となったのが、トロイの木馬など
セキュリティ上の問題です。その結果、セキュリティの理論的な研究が行われ、MLS(Multi Level Security)や
BLPモデル(図1)などが生まれました。


http://www.atmarkit.co.jp/fsecurity/rensai/secureos01/fig01.gif
図1 MLS/BLPモデルの概要

 また、軍への調達基準を念頭に、「TCSEC(Trusted Computer System Evaluation Criteria)」という
セキュリティ評価基準が定められました。ちなみにTCSECは、日本セキュリティ・マネジメント学会(JSSM)の
セキュアOS研究会により、日本語に翻訳されています。

【関連リンク】
TCSEC日本語版
http://www.jssm.net/jssm/secure-os/TCSEC.pdf

 TCSECで定められた商用調達レベルの最高であるB1レベルに準拠したOSが、トラステッドOSです。
TCSECの評価がベースであることから分かるように、トラステッドOSは軍事機密・国家機密を守るために生まれました。
当然、厳密なセキュリティが重要で、コストや使い勝手は二の次です。
つまり、トラステッドOSは、セキュリティ至上主義派によって生み出されたのです。
4名無しさん@お腹いっぱい。:2007/07/12(木) 11:25:05 ID:ANTUx7tU
■トラステッドOSの一般企業への普及は限定的

 初期のトラステッドOSは、TCSECのB1レベルに準拠するために、普通のOSと大幅に違っていました。
そのため、アプリケーションがそのまま使えず、使い勝手も問題がありました。また、導入費用も膨大な金額でした。

 1990年代には、政府機関以外にもトラステッドOSが導入され始めましたが、セキュリティのために
膨大なコストがかけられ、使い勝手も犠牲にできる企業に限られました。例えば、金融機関などです。

 インターネットが普及するにつれ、セキュリティの重要性も浸透し、トラステッドOSのように
セキュリティを強化したOSの需要も増しました。一方、トラステッドOSも、一般の利用に向けさまざまな改良が行われまし
た。しかし、依然として使い勝手や価格の問題で一般的にはなれませんでした。


 ■セキュアOSの誕生

 このような経緯を経て、開発されたのがセキュアOSです。セキュアOSは、トラステッドOSを参考にしつつも
TCSECに縛られず、一般のOSをベースにアプリケーションの互換性を確保し、使い勝手も向上させました。

 さまざまなセキュアOSが誕生しましたが、共通していたのはTCSECのB1レベルで要求されていた
「最小特権」と「強制アクセス制御」という考え方です。2000年当初、多くのセキュアOSが、
TCSECのB1レベル相当といっていたのは、このためです。

 一方、セキュリティ基準にも動きがありました。米国のセキュリティ基準であったTCSECは、
1999年に世界的に統一化されたセキュリティ基準であるCC(Common Criteria)において、
LSPP(Labeled Security Protection Profile)やRBACPP(Role-Based Access Control Protection Profile)などの
セキュリティ要件にまとめられました。
5名無しさん@お腹いっぱい。:2007/07/12(木) 11:25:44 ID:ANTUx7tU
【コラム:「セキュアOS」という表現は日本独自?】
 トラステッドOSは、米国ほかでも使われていますが、「セキュアOS」という言葉は、基本的には日本独自の表現です。

 英語表記の「SecureOS」は、米Secure Computingの登録商標ですし、そもそも米国などでは、
日本のような「セキュアOS」という明確な分類はありません。間にスペースを入れて
「Secure OS(セキュアなOS)」という表現は使われますが、必ずしも日本語の「セキュアOS」を指しているとは限りません。

 日本における「セキュアOS」の定義は、2004年5月に「セキュアOSと基盤ソフトウエアに関する研究会」で行われました。
この定義では、セキュアOSは「『強制アクセス制御』と『最小特権』の2つの機能を持つもの」であり、
トラステッドOSもセキュアOSの一種です。
6名無しさん@お腹いっぱい。:2007/07/12(木) 11:28:51 ID:ANTUx7tU
■TCSEC以降のセキュアOS開発の思惑

 TCSECから解放されたセキュアOSですが、
すべてが使いやすさを重視するカジュアルセキュリティ派というわけではありません。代表的なセキュアOSのタイプを見てみましょう。

1. トラステッドOS陣営

 トラステッドOSベンダは、トラステッドOSの改良と同時に、セキュアOSを開発してきました。
もちろん、おのおのが持つトラステッドOS技術をベースにしているので、
作りとしてはセキュリティ至上主義派の考え方に近いものになっています。

 しかし、彼らにとってセキュアOSは、トラステッドOSマーケット以外を補完する製品であるため、
完全にセキュリティ至上主義派であるともいえません。ちなみにトラステッドOSベンダの中には、
UNIX製品を持つものもあります。このようなベンダの場合、自社のUNIX製品にセキュアOS機能を取り込んでいます。

2. SELinux陣営

 米国家安全保障局(NSA:National Security Agency)は複数の企業とともに、セキュアなLinuxの実現に向け、
理論研究や開発を行ってきました。その成果が、2000年に公開されたSELinuxです。

 NSAは国家の安全を守る機関ですから、完全なセキュリティ至上主義派です。
また、同じくSELinux陣営となっていたRed Hatを中心に、SELinuxをLinux標準とすべく、
LSM(Linux Security Module:セキュアOSなどを実装するフレームワーク)対応などの活動を行いました。
この動きは、SELinux陣営が先手を打った形となり、現在の知名度の大きさにつながっています。
7名無しさん@お腹いっぱい。:2007/07/12(木) 11:29:33 ID:ANTUx7tU
3. 韓国セキュアOS陣営

 韓国のセキュアOS事情は、「想像以上?! お隣韓国のセキュアOS事情」にあるように少し特殊です。

 韓国では2003年にSlammerワームによる大被害を受けました。IPAの報告書にもあるように、
彼らはセキュアOSを情報セキュリティ強化の一環と位置付けています。
その結果、韓国セキュアOS陣営はWindows対応なども行い、
できるだけ多くの企業でセキュアOSが使われることを目指しています。カジュアルセキュリティ派といえるでしょう。

 一方で、TCSECなどを参考にした韓国政府のためのセキュリティ基準を独自に策定し、
各セキュアOSが認定を受けています。このように、セキュリティ至上主義派という側面もあります。

【関連リンク】
想像以上?! お隣韓国のセキュアOS事情 (@IT)
http://www.atmarkit.co.jp/fsecurity/special/95korea/korea01.html

韓国における情報セキュリティ政策に関する調査(IPA)
http://www.ipa.go.jp/security/fy16/reports/korea_security/documents/ korea_security_2004.pdf

4. SELinux以外のオープンソースセキュアOS陣営

 SELinux以外にもさまざまなセキュアOSがオープンソースOSとして作られました。
有名なものとして、AppArmorやLIDS、TOMOYO Linuxなどが挙げられます。
これらは、SELinuxのように厳密なセキュリティを目指すというよりは、
「よりセキュリティを高めよう」という方向で開発されていることが多いです。
SELinuxに対するアンチテーゼという見方もでき、基本的にすべてがカジュアルセキュリティ派です。

 この中で、AppArmorは少し異質です。AppArmorは、Immunixが開発した商用のセキュアOSでしたが、Novellが買収し、
オープンソースのセキュアOSとしてSUSE Linuxに取り込みました。

http://www.atmarkit.co.jp/fsecurity/rensai/secureos01/fig02.gif
図2 セキュアOSの系譜
8名無しさん@お腹いっぱい。:2007/07/12(木) 11:32:37 ID:ANTUx7tU
■至上主義派とカジュアル派の対立へ

 このように、考え方が異なるセキュリティ至上主義派とカジュアルセキュリティ派ですが、当初、表立った対立はありませんでした。

 いまもそうですが、商用製品陣営(1、3)は、セキュアOSのマーケットを広げることを重視しています。
SELinux陣営(2)は、kernel本流にコミットされて以降、使われるようにすることを目指し進化を続けました。そ
のほかのオープンソースセキュアOS陣営(4)は、SELinuxの設定の難しさを指摘しつつも、SELinux以外の選択肢として独自の進化を続けていました。

 ところが、2005年にNovellがAppArmorを扱うようになって状況が変わってきたといわれています。
AppArmor陣営が、SELinuxの使い勝手の悪さを指摘し、AppArmorの優位性を大々的に主張し始めたからです。

【関連リンク】
NovellがImmunixを買収したことを知らせるプレスリリース
http://www.novell.com/ja-jp/news/press/
novell_acquires_immunix_delivers_industrys_best_application_security_for_linux

AppArmorとSELinuxの比較
http://www.novell.com/linux/security/apparmor/selinux_comparison.html

 これにSELinux陣営が反発します。セキュアOSなどを実装するフレームワーク「LSM」に対し、LSM不要論を提示しました。
「kernel本流にコミットしていてLSMを利用しているのはSELinuxだけなので、LSMはいらない(SELinuxだけでよい)」という主張です。
こうなると、LSMモジュールとして実装されているAppArmorは困ってしまいます。

【関連リンク】
LSM-MLに提示されたLSM不要論
http://marc.info/?t=114530170700005&r=7&w=2
Linux Kernel Watch 5月版 「LSM不要論」に揺れるSELinux&AppArmor(@IT)
http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch05b.html
9名無しさん@お腹いっぱい。:2007/07/12(木) 11:45:50 ID:e+o6B+Ry
 LSM不要論は、オープンソースセキュアOS陣営を中心に大きな反響を起こしました。
AppArmor陣営は、直ちにAppArmorをkernel本流にコミットさせる活動を開始し、
LKML(Linux Kernel Mailing List)やLSM-ML(LSM Mailing List)やOttawa Linux Symposium 2006でSELinux陣営と対立しています。

 また、国産のオープンソースセキュアOSであるTOMOYO Linuxも、
Ottawa Linux Symposium 2007のBOFで存在をアピールするようです。
おそらくkernel本流にコミットさせるための活動の一環でしょう。

 このように、SELinux陣営とそのほかのオープンソースセキュアOS陣営の一部で、対立構造が生まれました。
ちなみに、商用セキュアOSの陣営の中にもLSM不要論に反発し、
コア部分をkernel本流にコミットさせる動きを見せたベンダがあります。
しかし、基本的にはこの対立に距離を置くスタンスをとっているようです。

【関連リンク】
Argus Systems Group Announces an MLS Linux Kernel
http://www.argus-systems.com/feature/asgn/asgn20060425/asgn20060425.shtml
10名無しさん@お腹いっぱい。:2007/07/12(木) 11:47:38 ID:e+o6B+Ry
■思想的な対立点のキーワードは?

 AppArmor対SELinuxに端を発した対立は、政治的な側面が強いものです。しかし、その中の議論では、
セキュリティ至上主義派とカジュアルセキュリティ派の思想的な違いが色濃く出ています。
重要なキーワードは「情報フロー」と「ラベル」です。

 それぞれの詳細な説明は次回以降に行う予定なので、ここでは簡単に見ていきましょう。

 情報フローとは情報の流れです。例えば、BLPモデルは、下から上にしか情報が流れないモデルです。
セキュリティ至上主義派は、情報フローが厳密に保証できなければならないとしています。そ
のためには、情報(ファイルやディレクトリなど)にラベルを付けてアクセス制御することが必要であると主張します。

 これは「ラベルベースのアクセス制御」と呼ばれますが、実はTCSECのB1レベルやCCのLSPPで要求されているもの
です。SELinuxやトラステッドOS陣営、韓国セキュアOS陣営の一部で実装されています。

 一方、カジュアルセキュリティ派は、基本的にこれらの主張に対して反発しています。特にラベルの使い勝手の悪さに
関する指摘が多く、ラベルが必須という主張にも疑問を呈しています。

 AppArmorやTOMOYO Linuxでは、ファイルやディレクトリの「パス」でアクセス制御を行っています。これは、
「パスベースのアクセス制御」といわれ、SELinux以外の多くのオープンソースセキュアOSや、
韓国セキュアOS陣営の一部で実装されています。

 「ラベルベース対パスベース」が、セキュリティ至上主義派とカジュアルセキュリティ派の主要な対立点であるといっても過言ではないでしょう。

--------------------------------------------------------------------------------

 今回は、2つの思想的な流れが誕生した経緯や、さまざまな陣営の考え方、対立の経緯、対立点を簡単に紹介しました。
次回からは、セキュリティ至上主義派とカジュアルセキュリティ派の考え方などについて、
それぞれの専門家が紹介します。
お楽しみに。
11名無しさん@お腹いっぱい。:2007/07/12(木) 11:50:06 ID:e+o6B+Ry
【息抜きコラム:セキュアOS用語集:第1回「MAC」】

セキュアOSユーザー会
中村雄一
 新人配属の季節になってきました。新人A君も「MACでOSのセキュリティを強化」という文章の意味を調べているところです。

A君 「MACってMACアドレス? N先輩、MACって何でしょうか?」
N氏 「それは、後漢時代の将軍、馬亜玖(ま あく)が考案した兵法が基になっていてね,
米軍のコンピュータシステムでも採用されているらしいよ」
A君 「そんな昔のことが現代に生きているとは、スゴイですね」

 Nさんも人が悪い、純粋な新人をからかって楽しんでいるようです。
OSセキュリティの世界では、MACは「Mandatory Access Control(強制アクセス制御)」の略語として知られています。
12名無しさん@お腹いっぱい。:2007/07/12(木) 11:50:37 ID:e+o6B+Ry
 MACの背景として知っておくべきなのは,「DAC(Discretionary Access Control:任意アクセス制御)」です。
DACは、LinuxやWindowsなど多くのOSで採用されているアクセス制御です。
DACでは、ファイルの所有者が自由にパーミッションを変更できるため、
システム全体にセキュリティ設定を徹底できません。
さらに、rootやAdministratorのような管理者特権はDACを解除できてしまいます。

 DACに対して、MACは「セキュリティ・ポリシー」と呼ばれる設定ファイルが用意されています。
セキュリティ・ポリシーには、「ユーザーやアプリケーションに、どんなリソースへのアクセスを許可するか」が
設定されています。ユーザーやアプリケーションがリソースにアクセスする際、
OSは,セキュリティ・ポリシーをチェックし、ここで許可された時だけ、実際にリソースにアクセスします。
このMACのチェックは、全てのプロセス・ユーザーに強制され、誰も回避することはできないのが特徴です。

http://www.atmarkit.co.jp/fsecurity/rensai/secureos01/fig03.gif
図 MACは、誰も回避できないセキュリティチェックを提供する

N氏 「……と、このようにMACは管理者特権を制限する用途で使われることが多いんだ。
MACを実装しているのはSELinuxやLIDSなどがあるから、@ITの連載を読むといいぞ。
ちなみにこの@ITは宋の時代,亜都 馬駆(あとまく) 哀帝(あいてい)により発行された瓦版が元になったと言われ……

 どうやら、Nさんはまったく懲りていない模様です。

13名無しさん@お腹いっぱい。



   荒しか