第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)。
|
|||||||||||||||
表1 セキュアOSに対応した主なOS |
|
||||||||||
表2 商用セキュアOS |
Linux用の代表的なセキュアOSモジュールには、
- SELinux
- LIDS
- RSBAC
があります。それぞれのモジュールをOSに組み込むことにより、簡単にセキュアOS化できます。
直感的で分かりやすいLIDS
LIDSは、Linux Intrusion Detection Systemの略です。Xie Huangang氏とPhilippe Biondi氏によって開発されたフリーのセキュアOSモジュールで、最初のバージョンは1999年(つまりSELinuxが公開されたのと同じ年)にリリースされていた意外に歴史のあるセキュアOSモジュールです。
LIDSは、
- 古いバージョンのカーネル(2.4カーネル)をサポートしている
- 設定方法が直感的で分かりやすい
- ファイルシステムに依存しない
などの点から、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記事一覧 |
- 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)対策の観点から考える。
|
|