Securityについて

Securityに関しては、Inside Windowsでも下巻の第8章をまるまる当てて解説しており、しかもVMSとはあまり関連性が無い。もっと厳密に言えば、Securityを考える場合に、DoD(DEPARTMENT OF DEFENSE STANDARD:米国防総省)のDoD 5200.28-STD、通称Orange Bookの影響を避けて通る訳にはいかず、これに求められる要件を用意してゆくと、割と似た構造になってくるのは避けられない訳で、Access ControlなどにVMSと似た部分はあるが、そもそもの要求が一緒なのだから、特にユーザビリティの観点で似通ったものになるのはある種当然と言える。

なんでDoDのStandardが必須か? というと、これは単純な話で、当時のアメリカにおける(~世界全体としても間違いではなかった)最大の顧客が軍を含むアメリカ政府であり、特にその中でも米軍は非常に良い顧客であったからだ。冷戦終了後にこのあたりの構造は大きく崩れてしまったが、それまでは米軍の意向は非常に大きな影響力があった。そのアメリカ軍のセキュリティに関する調達基準として用意されていたのが、NSAとNCSC(National Computer Security Center:米国コンピュータセキュリティセンター)が共同で策定して国防総省の標準となった"Trusted Computer Systems"、通称The Rainbow Seriesである。このRainbow Series、当初ですら積み上げると6ft(1.5m)の厚みになったそうで、その後改定やら追加やらで最終的には27ものBookになっている。下巻P2でこのあたりの事をちょろっとだけ触れているが、ここで出てきたOrange Bookというのは、NCSC-TG-003 "A Guide to Understanding Discretionary Access Control in Trusted Systems"というものになっている。ちなみに何でRainbowというかというと、各Bookに固有の色が別称としてつけられていた(出版された本の色そのもの、という話もあるが、当初はともかく最近のNCSC-TG-026 "A Guide to Writing the Security Features User's Guide for Trusted Systems"(通称Hot Peach Book)が本当にHot Peach色(ってどんな色なんだろう?)になっているかどうか、筆者は確認していない。

ちなみにこのRainbow Seriesは、2003年にCCEVS(Common Criteria Evaluation and Validation Scheme)という新しい標準に置き換えられており、今では過去の規格になっているが、まぁ通りがよいためか、今でもたまに"Orange Bookに準拠"とかいう話が出てくるのはちょっと面白い。

ついでにもう一つ書いておけば、DoD準拠にしておけば、アメリカ以外の政府機関にも売りやすいという話があった。例えば日本を含む西側諸国の軍で、特に米軍から武器類(軍用機とか軍艦)のライセンス供与を受けているとか購入したなんて場合、これらに関連するシステムは何れも米軍と同じレベルのセキュリティを備えることが求められる。そのため、DoD準拠にすることで、こうしたところにも販売しやすくなるというメリットがあった。

こうした背景を前提に以下、もう少し下巻Page 2に補足して置く。別に米軍の調達を狙っていたのはMicrosoftだけではない。IBMを初め主要なアメリカのコンピュータメーカーは、全てDoD準拠製品をリリースしていた。ただし、DoD準拠にするためには、かなりのコストが掛かる。これはWindowsでもVMSでもない、別のOSの例の話であるが、あるアドオンを追加で入れるとOrange BookのC2セキュリティを実現できるように設計されていた。ところがこのC2セキュリティで実際に運用をすると、例えばSystem Callを1回発行しただけでそのログが残るという、ログファイルが瞬時に爆発するような代物であった。勿論このあたりは色々調整可能なので、ログを取るSystem callを選択するとか、こまめにログを分割して圧縮するとか、色々とやりようはあるのだが、単にOSを堅牢にすれば済むのではなく、運用もそれなりに考慮しないとC2 Securityには意味が無いわけで、このあたりの事情はどこのOSでも似たような話であった。要するにDoD準拠で運用するためには、コストが通常よりもずっと掛かるのである。

そんなわけで、どのメーカーも通常汎用向けにDoD準拠のOSをリリースしたりはしていない。だからといって専用OSをリリースしているわけでもない。要するに汎用OS+DoD準拠モジュール、という形でリリースしているわけで、その意味では「C2が汎用OSの最上位セキュリティレベル」というのは間違いでは無いが、正確とも言いにくい。実際汎用OS+専用モジュールでBレベルを実装したOSもあるからだ。ただ、Bレベルになると、ハードウェアが汎用のものでは結構大変なので、専用に特化したハードウェアを実装する方が普通だし、そのため汎用OSで実現とは言いにくくなるのも事実であるが。なので、強いてWindowsが優れている点があるとすれば、汎用モジュール無しでC2相当を実現できる、というあたりであろう。ただ、その分セキュリティ監査のデフォルトの監視項目などはずいぶん項目が緩くなっている。これを本当にDoDの想定している運用形態に合わせた場合、ログ周りの設計とかチェックのプラニングはかなり面倒な事になるだろう。逆に言えば、こうした運用を抜きにした場合、C2セキュリティとか言っても全然意味がないことになる。言ってみれば、監視カメラを初めとしてセキュリティ機器はたっぷり装備したが、監視室に割く人員がいないので無人で運用してるようなものである。別にWindowsに責任は無いのだが、C2セキュリティの意味はちゃんと理解すべきだろう。