■OS環境をセキュアに扱う方法
2.1 OS環境の要塞化
システムにおいて、OS上で動作するソフトウェアが堅牢に作られていても、OS環境がセキュアに構成されていない場合、システム全体として見た場合の堅牢性は担保されていないということになる。そのため、システムのセキュリティを考えるうえでは、OS環境をセキュアに構成することが必要となる。OS環境をセキュアに構成することを、一般的に「OS環境の要塞化(ハーデニング)」と呼ぶ。
OS環境の要塞化は、その環境にインストールされているソフトウェアの数が少ない方が容易である。
そのため、要塞化には、インストールするソフトウェアの数を必要最小限にすることや、ネットワーク経由での待ち受け数を最小限にすることなどが有効である。
Linuxにおいて、プロセスを最小限にした例を図表2に、ネットワーク環境の待ち受け数を最小限にした例を図表3に示す。これらの状態でも、コンソールからのコマンド入力などの実施は可能である。
本稿では、Linuxの最小構成について述べたが、Windowsの場合はWindows Server2008以降でServer Coreインストールオプション(注4)を提供しており、OSインストール直後は最小限の機能しか提供しないようになっている。
注4:Server Core インストール(日本マイクロソフト)
2.2 セキュアOS
通常OSでは、ほとんどすべての操作が実行できる特権アカウントが用意されている。UNIXやLinuxなどの場合はユーザーrootが、Windowsの場合はユーザーAdministratorがそれに当たる。
OSが動作している状況下で、攻撃者が、上記に示した特定ユーザーの権限を不正に取得した場合、当該環境は信頼できないものとなる。このような事象の発生を防ぐために、セキュアOSとよばれるソフトウェアが用いられることがある。
セキュアOSの特徴として、「通常のOSとは異なり、特定ユーザーに権限を集中させない」ということが挙げられる。例えば、UNIXやLinuxにおいて、ユーザーrootは他のユーザーのプロセスを終了させたり、他のユーザーが保有するファイルを閲覧?改変させたりすることが可能であるのに対し、適切に管理されたセキュアOSを用いた場合は、前述の操作を実行させないようにすることが可能となる。
セキュアOSの実装が広く使われるようになってきたのは比較的最近であり、習熟している技術者も少ないことから、従来型のOSと比較すると導入されていることは少ない。しかし、SolarisではSolaris 10で最小特権モデルを基調としたOSセキュリティ機能(注5)が、Red HatEnterprise LinuxではVersion4でSE Linux(注6)よるOSセキュリティ機能が搭載されており、導入?利用のためのハードルが低くなってきている。また、Turbolinuxでは、Turbolinux10 serverで、セキュアOSの代表として知られるTOMOYO Linux(注7)によるOSセキュリティ機能が搭載されている。
このようにOS標準で利用可能なセキュリティ機能は増えてきているため、今後、システム開発者によるセキュアOSの導入が進んでいくと期待される。
注5:Oracle Solaris 10 Overview(Oracle)(-PDF) 注6:Security-Enhanced Linux(NSA) 注7:使いこなせるOSセキュリティ強化カーネルTOMOYO(R)Linux TOMOYO Linux
『情報化白書 2012』についてはこちらへ宮本久仁男重田真義 [著]