第1回 なぜセキュアOSが必要なのだろうか

面 和毅
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2005/11/3

 セキュアOSの誕生

 これまでのOSが抱えている弱点を挙げてみます。

  • 任意アクセス制御(DAC)と呼ばれる、ファイルの所有者がアクセス権を勝手に変更できる仕組みがある
  • rootアカウントは、アクセス制御を無視してすべてのファイルにアクセスできる
  • プロセスに特権を与える際に余計な特権までも与えてしまう。プロセスが乗っ取られた場合、システムに大きな被害を及ぼす

 セキュアOSでは、上記問題を解決するために「強制アクセス制御(MAC:Mandatory Access Control)」と呼ばれるアクセス機構を備えています。これはファイルの所有者が勝手にアクセス権を変更できないようにし、システム全体を管理する者の意図どおりのアクセス権を強制できます。

 MACはrootアカウントにさえも強制力を持ちます。rootアカウントがファイルなどのアクセス権を変更するには、特定の手順を用いてシステムの状態を変更してからアクセス権を変更する必要があります。

 もう1つの特長は「最小特権」です。プロセスに特権を与える際に、すべての特権を一度に与えるのではなく、細かく分割された特権を少しずつ与えることができます。これにより、プロセスに対して余計な特権を与えてしまう可能性が少なくなり、仮にプロセスが乗っ取られたとしてもシステムに及ぼす影響を最小限にできます。

 セキュアOSとは、MACと最小特権という2つの機能を満たしているものとされています。セキュアOSの考え方は、いくつかのLinuxディストリビューションやSolaris、HP-UXにおいて標準機能として取り込まれています(表1)。また、商用のセキュアOSもあり古いバージョンのOSなどもサポートしています(表2)。

OS ディストリビューション セキュアOS機能
Linux Red Hat Linux4.0 SELinux
Turbo Linux 10Server
Novell SUSE Linux Aparmar
Solaris Solaris10 Trusted Solarisの一部(RBAC)
HP-UX 11i v2 HP Virtual Vaultの一部(Secure Resource Partition)
表1 セキュアOSに対応した主なOS

社名 製品名/URL
ミラクル・リナックス MIRACLE HiZARD
http://www.miraclelinux.com/products/hizard/
NECソフトウェア東北 SecuveTOS
http://www.tnes.co.jp/products/tos.html
富士通ソーシアルサイエンスラボラトリ SHieldWARE
http://www.ssl.fujitsu.com/products/network/
netproducts/shieldware/
Argus(Infocom) PitBull
http://www.pitbull.jp
表2 商用セキュアOS

 Linux用の代表的なセキュアOSモジュールには、

  • SELinux
  • LIDS
  • RSBAC

があります。それぞれのモジュールをOSに組み込むことにより、簡単にセキュアOS化できます。

 直感的で分かりやすいLIDS

 LIDSは、Linux Intrusion Detection Systemの略です。Xie Huangang氏とPhilippe Biondi氏によって開発されたフリーのセキュアOSモジュールで、最初のバージョンは1999年(つまりSELinuxが公開されたのと同じ年)にリリースされていた意外に歴史のあるセキュアOSモジュールです。

 LIDSは、

  1. 古いバージョンのカーネル(2.4カーネル)をサポートしている
  2. 設定方法が直感的で分かりやすい
  3. ファイルシステムに依存しない

などの点から、PCや組み込み製品のセキュリティ向上に広く対応できます。特に3番目の「ファイルシステムに依存しない」ことは、組み込み製品でクローズアップされる点です。組み込み製品では特殊なファイルシステムが多く使用されているからです。

 現在、LIDSは「LIDS-1系列(2.4カーネル)」と「LIDS-2系列(2.6カーネル)」に分かれて開発が続けられています。なお、LIDS-2系列ではLSM(Linux Security Module)に対応するためにいくつかの機能が削除されたため、実質的にはLIDS-1系列の方が高機能になっています。

 両者ともほぼ同じペースで開発が進んでおり、LIDS-2系列で新たに採用された機能は、すぐにLIDS-1系列へとバックポートされています。また、LIDS-1系列でも独自の機能拡張が進んでいて、「TDE/TPE機能」と呼ばれるコンパートメント化を行う機能が新たに加えられています。

 LIDSが現在でも2.4カーネルに対応をしていることは、「2.6カーネルに上げたくても上げられない」「システムが2.4カーネルにしか対応していない」というユーザーにとってメリットになります。また、2.4カーネルがいまだに主体になっている組み込み製品でもLIDSを使用できます。

 LIDSのセキュアOSとしての機能を見てみましょう。

・MAC(強制アクセス制御)

 2.4カーネルではカーネルへのパッチとして、2.6カーネルではLSMのフレームワークを利用することで、すべてのシステムコールをhookしています。すべてのアクセス制御が強制的に働いている状態になり、rootアカウントもそのアクセス制御からは逃れられません。

・最小特権

 標準の2.4カーネルから導入されている「Linuxケーパビリティ」を利用して、プロセスにケーパビリティ単位で特権を徐々に与えていくことができます。

 LIDSに関する情報源

 LIDSに関しての情報を以下にまとめておきます。

英語の情報源
 LIDS本家 http://www.lids.org
 LIDS-ML http://www.lids.org/node/23
 LIDS Forum http://forum.lids.org/

日本語の情報源
 LIDS-JP http://www.selinux.gr.jp/LIDS-JP
 ML(SELinux-JPを間借り) http://www.selinux.gr.jp/ml.html

 日本ではLIDS-JPが主体となってLIDSに関する情報を流しており、3カ月に1回をめどに定期的な勉強会を開催しています。メーリングリストは日本SELinux-Users-MLのものを間借りしている形になっています。

 議論や資料などで面白い物があった場合には、積極的に英訳をして本家のコミュニティにも流しています。本家のWebサイトには、LIDS-JPメンバーである佐藤祐介氏のテキスト「How to use LIDS with BusyBox on Embedded Linux」が掲載されています。

 次回からはLIDSの特徴について、より詳しく解説していきます。この連載では、LIDSの導入から設定方法までを簡単に説明し、動作のフローなども追っていく予定です。

2/2
 

Index
なぜセキュアOSが必要なのだろうか
  Page1
組み込み製品におけるセキュリティリスクの高まり
組み込み製品が抱える課題
Page2
セキュアOSの誕生
直感的で分かりやすいLIDS
LIDSに関する情報源


Profile
面 和毅(おも かずき)

サイオステクノロジー株式会社
インフラストラクチャービジネスユニット Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ

 学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。

 現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間