(57)【要約】【課題】詳細なアクセス制御機構を組み込まずにOSファイル等に対する書き込みや改ざんを防止する。【解決手段】基本ソフト10を実行するための複数のファイルを記録したCD−ROM等の書き込み禁止ファイルシステム10aと、ハードディスク等からなる書き込み可能ファイルシステム10bとに分けて基本ソフト10を構成し、サーバ1において、書き込み禁止ファイルシステム10aに記録されたファイルを読み込むことで基本ソフト10を起動し、基本ソフト10の書き込み可能ファイルシステム10bを設定し、少なくともカーネルを書き込み禁止ファイルシステム10aに置いたまま基本ソフト10を実行させ、書き込みが必要なファイルを書き込み可能ファイルシステム10bに書き込む制御を行う。【選択図】            図１
2005115552.tif 000002
【特許請求の範囲】
【請求項１】
少なくともカーネルをなすファイルを含み、基本ソフトを実行するために必要となる複数のファイルを記録した物理的に書き込み不可の記録媒体と、
読み書き可能な記憶装置と、
前記記録媒体に記録されたファイルを読み込むことで基本ソフトを起動し、前記記憶装置に基本ソフトの書き込みファイルシステムを設定し、少なくともカーネルを前記記録媒体上に置いたまま基本ソフトを実行させ、書き込みが必要となるファイルを前記記憶装置に設定した書き込みファイルシステムに書き込む制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記記録媒体には、前記基本ソフト上で実行されるアプリケーションプログラムをなすファイルが記録され、
前記制御手段が、前記記憶装置にそのアプリケーションプログラム用の記憶領域を設定し、そのアプリケーションプログラムが書き込みを必要とするファイルを前記記憶装置に設定したその記憶領域に書き込む
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記カーネルが、前記基本ソフトの実行位置として前記記録媒体以外を拒否する機能を有していることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記カーネルが、前記基本ソフトの実行ディレクトリの変更を拒否する機能を有していることを特徴とする請求項１〜３のいずれか１項記載の情報処理装置。
【請求項５】
少なくともカーネルをなすファイルを含み、基本ソフトを実行するために必要となる複数のファイルを記録した物理的に書き込み不可の記録媒体と、
読み書き可能な記憶装置と
を備えたコンピュータにおいて、
前記記録媒体に記録されたファイルを読み込むことで基本ソフトを起動し、前記記憶装置に基本ソフトの書き込みファイルシステムを設定し、少なくともカーネルを前記記録媒体上に置いたまま基本ソフトを実行させ、書き込みが必要となるファイルを前記記憶装置に設定した書き込みファイルシステムに書き込む過程を
実行するための記述を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂ（World Wide Web）、ＦＴＰ（File Transfer Protocol）等ネットワークを介してクライアントと通信を行いサービスを提供するサーバ等として用いて好適な情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂサービス等を提供するサーバは、ネットワークからの不正なアクセスによって権限を乗っ取られ、データやプログラムの改ざんを受ける恐れがある。このようなデータやプログラムの改ざんを防止するため、ＯＳ（オペレーティングシステム）等の基本ソフトにファイルアクセス等の詳細なアクセス制御機構を組み込む技術がある。この技術では、アクセス制御機構によってファイル（あるいはデータ）毎にアクセス権を制御し、データの不正なアクセスを排除しようというものである。このような技術は、実装技術として実用化されていたり、あるいは単体で商品化されている。しかし、この技術では、基本ソフトに大規模な開発を行う必要があり、また膨大なアクセス制御情報を正しく定義するという作業が発生する。そのため、導入できる場合は限定されている。なお、本願では“データ”をまとめたものが“ファイル”であるとする。
【０００３】
また、本発明と一部構成上の関連性を有する従来の技術として、ＯＳファイルの一部を可搬性の記録媒体に保存する情報処理システムがある（特許文献１）。この文献に記載されている情報処理システムでは、ＯＳファイルを可搬性の記録媒体に保存し、必要に応じて記録内容を情報処理装置のハードディスクあるいは内部メモリに読み込んで、ＯＳを起動するようにしている。
【特許文献１】特開平１０−１４３３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術のように、ＯＳファイルの一部を可搬性の記録媒体に記録する場合、この可搬性の記録媒体を書き込み不可としたときには、この記録媒体に記録されたＯＳファイルについてはデータの改ざんを物理的に防止することができる。ただし、特許文献１に記載の技術では、可搬性の記録媒体に記録されたＯＳファイルをデータの読み書きが可能なハードディスクあるいは内部メモリに読み込んでＯＳを実行する。そのため、ＯＳの実行時に不正なアクセス等によってＯＳ上のコマンドやデータが改ざんを受ける可能性がある。なお、特許文献１に記載の技術は、ホスト側機器におけるＯＳサイズを縮小することを主眼としたものであり、物理的に書き込み不可能な記録媒体を利用した場合のＯＳファイルの改ざん防止については言及がない。
【０００５】
本発明は、上記の事情に鑑み、詳細なアクセス制御機構を組み込む必要なく、物理的に書き込み不可能となる記録媒体を利用して、ＯＳファイル等に対する書き込みや改ざんを防止することができる情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため請求項１記載の発明は、少なくともカーネルをなすファイルを含み、基本ソフトを実行するために必要となる複数のファイルを記録した物理的に書き込み不可の記録媒体と、読み書き可能な記憶装置と、前記記録媒体に記録されたファイルを読み込むことで基本ソフトを起動し、前記記憶装置に基本ソフトの書き込みファイルシステムを設定し、少なくともカーネルを前記記録媒体上に置いたまま基本ソフトを実行させ、書き込みが必要となるファイルを前記記憶装置に設定した書き込みファイルシステムに書き込む制御手段とを備えることを特徴とする。
【０００７】
請求項２記載の発明は、前記記録媒体には、前記基本ソフト上で実行されるアプリケーションプログラムをなすファイルが記録され、前記制御手段が、前記記憶装置にそのアプリケーションプログラム用の記憶領域を設定し、そのアプリケーションプログラムが書き込みを必要とするるファイルを前記記憶装置に設定したその記憶領域に書き込むことを特徴とする。請求項３記載の発明は、前記カーネルが、前記基本ソフトの実行位置として前記記録媒体以外を拒否する機能を有していることを特徴とする。請求項４記載の発明は、前記カーネルが、前記基本ソフトの実行ディレクトリの変更を拒否する機能を有していることを特徴とする。
【０００８】
請求項５記載の発明は、少なくともカーネルをなすファイルを含み、基本ソフトを実行するために必要となる複数のファイルを記録した物理的に書き込み不可の記録媒体と、読み書き可能な記憶装置とを備えたコンピュータにおいて、前記記録媒体に記録されたファイルを読み込むことで基本ソフトを起動し、前記記憶装置に基本ソフトの書き込みファイルシステムを設定し、少なくともカーネルを前記記録媒体上に置いたまま基本ソフトを実行させ、書き込みが必要となるファイルを前記記憶装置に設定した書き込みファイルシステムに書き込む過程を実行するための記述を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、基本ソフトの複数のファイルシステムのうち、例えば書き込みや改ざんを防止したいファイルを物理的に書き込み不能なＣＤ−ＲＯＭ等の記録媒体（メディア）上に配置し、その他のファイルはハードディスク上に配置して、組み合わせて運用するようにしたので、詳細なアクセス制御機構を組み込む必要なく、ＯＳファイル等に対する書き込みや改ざんを防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下図面を参照して、本発明を実施するための最良の形態について説明する。図１は、本発明の情報処理装置をサーバ１として構成した場合のシステム構成を示すブロック図である。サーバ１は、コンピュータとその周辺装置とから構成され、ＯＳ等の基本ソフト１０によってそれらの構成を管理することで動作する。本実施の形態では、基本ソフト１０が、物理的に書き込みを禁止した記録媒体に格納された書き込み禁止ファイルシステム１０ａと、物理的に書き込み可能な記録媒体に格納された書き込み可能ファイルシステム１０ｂとに分類されて構成されている。
【００１１】
サーバ１には、インターネット等の通信網２を介して、１または複数のクライアント３が接続されている。サーバ１は、基本ソフト１０の管理のもと、所定のアプリケーションプログラムを動作させることで、クライアント３に対してＷｅｂサービス、ＦＴＰサービス等の各種サービスを提供する。なお、クライアント３は、コンピュータ、携帯電話、携帯情報端末等の情報処理装置から構成されている。
【００１２】
図２は、図１のサーバ１の構成を示すブロック図である。この場合、サーバ１は、ホストコンピュータ１１、ＣＤ−ＲＯＭ（シーディーロム）ドライブ１２、ハードディスク１３、キーボード１４、マウス１５と、図示していない表示装置等の他の入出力装置とから構成されている。ホストコンピュータ１１は、ＣＰＵ（中央処理装置）、ＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（リードオンリメモリ）等の主記憶装置、ネットワークカード等の入出力装置等から構成され、図１の基本ソフト１０を実行することで他の各構成１２〜１５等を管理する。ＣＤ−ＲＯＭドライブ１２は、物理的に書き込み不可能な記録媒体であるＣＤ−ＲＯＭ１２ａに記録されたデータやファイルの読み込みを行う。ＣＤ−ＲＯＭ１２ａとハードディスク１３は、ホストコンピュータ１１の補助記憶装置として用いられる。
【００１３】
次に図３を参照して、図１に示す基本ソフト１０と、図２に示すＣＤ−ＲＯＭ１２ａおよびハードディスク１３の記録内容との対応について説明する。図３のＣＤ−ＲＯＭ１２ａには、各ファイル１２１〜１２５と、アプリケーションプログラム１２７と、アプリケーションプログラム１２７によって利用等されるコンテンツ１２６とが記録される。ここで、各ファイル１２１〜１２５が、図１の書き込み禁止ファイルシステム１０ａに対応する。
【００１４】
ドライバ１２１は、ホストコンピュータ１１の周辺装置を制御するためのデバイスドライバ等のプログラム（ソフトウェア）である。ライブラリ１２２は、プログラムの集合であり、各プログラムは所定の手続きで呼び出して使用することができる。コマンド１２３は、ホストコンピュータ１１に所定の処理を実行させるためのプログラムであり、例えば所定の文字列を入力することで実行することができる。カーネル１２４は、基本ソフト１０のうち最も基本的な部分のプログラムであり、資源管理、プロセスの管理や切替を行う。ＯＳ起動用スクリプト１２５は、基本ソフト１０起動時等に所定の処理を自動実行させるためのプログラムやマクロを記述したファイルである。
【００１５】
アプリケーションプログラム１２７は、Ｗｅｂ、ＦＴＰ等のサービスを提供するためのプログラムである。コンテンツ１２６は、例えばアプリケーションプログラム１２７によってクライントに提供されるテキストデータ、マルティメディアデータ等のファイルから構成されている。
【００１６】
一方、ハードディスク１３には、図１の書き込み可能ファイルシステム１０ｂを構成する各ファイルを記録するためのＯＳ用作業領域１３１と、図１に示していないアプリケーションプログラム用作業領域１３２とが設けられる。ＯＳ用作業領域１３１は、基本ソフト１０の実行中に、補助記憶装置に書き込みが必要となるファイル、データ等が書き込まれる記憶領域である。アプリケーションプログラム用作業領域１３２は、アプリケーションプログラム１２７の実行時に、補助記憶装置に書き込みが必要となるファイル、データ等が書き込まれる記憶領域である。
【００１７】
上記のように、図１に示す基本ソフト１０は、ＣＤ−ＲＯＭ１２ａに記録されているファイル１２１〜１２５（書き込み禁止ファイルシステム１０ａに対応）と、ハードディスク１３に確保されたＯＳ用作業領域１３１に記録されるファイル（書き込み可能ファイルシステム１０ｂに対応）とから構成されている。ここで図４に示すように、図３のファイル１２１〜１２５は、例えば、ＣＤ−ＲＯＭ１２ａの斜線で示した内周領域に記録され、ファイル１２６〜１２７はその外周領域に記録される。
【００１８】
また、図４の各領域には、例えば図５に示すように各ファイルが記録される。図５に示す例では、図４の斜線で示す領域にカーネル１２４、コマンド１２３、ライブラリ１２２およびドライバ１２１がその順に記録され、その外側の領域に第１のアプリケーションプログラム１２７１、第２のアプリケーションプログラム１２７２、…が記録されている。この場合、カーネル１２４、コマンド１２３、ライブラリ１２２およびドライバ１２１が基本ソフト１０が必要とするファイルであり、第１のアプリケーションプログラム１２７１、第２のアプリケーションプログラム１２７２、…が基本ソフト１０以外で保護したいファイルである。
【００１９】
一方、図２および図３に示すハードディスク１３には、図６に示すように、例えば“／ｔｍｐ”ディレクトリ１３１１、“／ｖａｒ”ディレクトリ１３１２、ログファイル１３１３、第１のアプリケーションプログラム用のデータ１３２１、第２のアプリケーションプログラム用のデータ１３２２、…がその順に記憶あるいは確保される。この場合、“／ｔｍｐ”ディレクトリ１３１１と“／ｖａｒ”ディレクトリ１３１２が、基本ソフト１０が必要とするファイルである。ログファイル１３１３が基本ソフト１０とアプリケーションプログラム用のログファイルである。そして、第１のアプリケーションプログラム用のデータ１３２１、第２のアプリケーションプログラム用のデータ１３２２、…がアプリケーションプログラムが必要とするファイルである。
【００２０】
なお、図６に示す例は、基本ソフト１０がＬｉｎｕｘ（リナックス）である場合の基本ソフト１０で書き込みが必要となるディレクトリの構造を示している。“／ｔｍｐ”ディレクトリ１３１１は、一時的に利用するテンポラリファイルを格納するために用いられる。一方、“／ｖａｒ”ディレクトリ１３１２は、動的に変化するファイルを格納するためのディレクトリである。
【００２１】
次に図７を参照して、図１の基本ソフト１０の構成ファイルあるいは各構成ファイルが利用あるいは作成するファイルの、図２のＣＤ−ＲＯＭ１２ａまたはハードディスク１３への振り分け手順について説明する。まず各ファイルについては、書き込みが必要か否かを判定する（ステップＳ１１）。そして、書き込みが必要な場合はハードディスク１３に格納し（ステップＳ１２）、書き込みが必要でない場合はＣＤ−ＲＯＭ１２ａに格納する（ステップＳ１３）。ここで、ＣＤ−ＲＯＭ１２ａに格納されるファイルが図１の書き込み禁止ファイルシステム１０ａを構成し、ハードディスク１３に格納されるファイルが図１の書き込み可能ファイルシステム１０ｂを構成する。
【００２２】
次に図８を参照して、図３の基本ソフト１０以外のファイルのＣＤ−ＲＯＭ１２ａまたはハードディスク１３への振り分け手順について説明する。それらの各ファイルについては、書き込みが必要か否かを判定し（ステップＳ２１）、書き込みが必要な場合はハードディスク１３に格納する（ステップＳ２２）。一方、書き込みが必要でない場合は（ステップＳ２１で「Ｎ」）、ＣＤ−ＲＯＭに収納可能な容量か否かを判定し（ステップＳ２３）、ＣＤ−ＲＯＭに収納不可の場合は（ステップＳ２３で「Ｎ」）、ハードディスク１３に格納する（ステップＳ２２）。他方、内容を保護したいときは（ステップＳ２３で「Ｙ」）、ＣＤ−ＲＯＭ１２ａに格納する（ステップＳ２４）。
【００２３】
次に、図９を参照して、図１および図２に示すサーバ１におけるＣＤ−ＲＯＭ１２ａのマウント手順について説明する。なお本願において、マウントとは、ファイルシステムを利用可能な状態にすることを意味するものとする。
【００２４】
サーバ１を起動する場合、まずＣＤ−ＲＯＭ１２ａ上に焼きこまれた書き込み禁止ファイルシステム１０ａのイメージを基に、基本ソフト１０が起動する（ステップＳ３１）。すなわち、ＣＤ−ＲＯＭ１２ａ上には少なくともカーネルをなすファイルを含む基本ソフト１０を実行するために（ここでは起動するために）必要となる複数のファイルが記録されているので、それを読み込むことで基本ソフト１０が起動する。ここで、ＣＤ−ＲＯＭ１２ａの所定のディレクトリが、基本ソフト１０のルートディレクトリにマウントされる。次に、ＣＤ−ＲＯＭ１２ａ上に焼きこまれた書き込み禁止ファイルシステム１０ａから、ハードディスク１３をマウントするために必要なファイル（例えばドライバ１２１）が、基本ソフト１０に組み込まれる（ステップＳ３２）。
【００２５】
次に、基本ソフト１０からハードディスク１３が認識され、基本ソフト１０からハードディスク１３上の書き込み用ファイル（書き込み可能ファイルシステム１０ｂ）を利用できるようになる（ステップＳ３３）。ここで、カーネル１２４、コマンド１２３、ライブラリ１２２等は、ＣＤ−ＲＯＭ１２ａ上にあって保護されながら、システムのログ、アプリケーションの書き込み等をハードディスク１３に対して行えるようになる。すなわち、ＣＤ−ＲＯＭ１２ａ上に置かれた少なくともカーネルを含む基本ソフトを実行するための複数のファイルを用いて基本ソフト１０が実行される。
【００２６】
以上のように本実施の形態では、基本ソフト１０を構成するファイルを、読み込み専用で動作するものと、それ以外に分類し、読み込み専用で良いものはＣＤ−ＲＯＭ１２ａ等を用いた書き込み不能な装置上に置くことによって、重要なプログラムやデータの改ざんを物理的に防ぐことができる。その際、基本ソフト１０からハードディスク１３をマウントすることによって、基本ソフト１０やアプリケーションが必要とする書き込み領域を実現している。この構成によれば、保護したいファイルを物理的に書き込みできない記録媒体に置いた場合、「データの改ざん」は完全に防ぐことができる。しかし、サーバ１の運用という観点で考えたときは次のような対策を合わせて行うことが望ましい。
【００２７】
（１）マウントの制限：例えば、コマンドやデータの改ざんを防ぐ目的でファイルを書き込み禁止記録媒体に置いても、ベースとなるマウントポイントに異なるファイルシステムをマウントされた場合、アプリケーションや外部から見ればアクセス対象のデータが改ざんされているのに等しい状況となる場合が考えられる。この対策としては、あらかじめ許可されたディレクトリ以外へのマウント・システムコールを拒否するようにカーネルを修正することが望ましい。ここでシステムコールとは、基本ソフト１０のカーネル部分が提供する機能のうち、プロセスから呼び出せるようになっている機能もしくはその呼び出し規約を構成する部分のことである。
【００２８】
例えば基本ソフト１０をＬｉｎｕｘとする場合、指定外のマウントポイントに対する(再)マウントを拒否するようカーネルを修正する。具体的にはシステムコールの“sys_mount”の内部で、例えば“protect”というキーワードが渡された場合に、同時に指定されたマウントポイントとデバイス名を登録するようにする。以後の“sys_mount”の呼び出し時には、登録されたマウントポイントとデバイス名の組であるかどうかをチェックし、登録されていない組合せの場合は拒否する。登録は1回しか許されず、システムを再起動するまで設定が残るようする。
【００２９】
（２）基本ソフト１０の階層構造の最上位の元になるルートディレクトリについて、その位置を変更するシステムコールの使用を制限：通常、基本ソフト１０では、“／ｖａｒ”ディレクトリ、“／ｔｍｐ”ディレクトリ等のように運用上書き込み可能な状態を実現しなければならない。その場合、例えばクラッカーが悪意のあるプログラムを含むディレクトリ構造を“／ｖａｒ”ディレクトリや“／ｔｍｐ”ディレクトリを基点に再現してそのディレクトリへルートディレクトリの位置を変更するシステムコール（例えばＬｉｎｕｘでは“chroot”）を実行すると、システム上に基本ソフトの新しいディレクトリ構造が作られることになる。この事態を回避するために、このようなシステムコールについて、あらかじめ許可されたディレクトリ以外への移動を拒否するようにカーネルを修正することが望ましい。その他にも、ルートディレクトリにマウントされているファイルシステムをサブディレクトリにマウントされているファイルシステムと置き換えるものである“pivot_root”についても、“chroot”と同様の観点から実行に制限を加えることが望ましい。具体的には、“pivot_root”の実行についてカーネルにフラグを持たせ、起動に必要な処理を実行後は拒否するようカーネルを修正することができる。
【００３０】
以上のように、本実施の形態によれば、通常書き込み可能なハードディスク上にインストールされる基本ソフトのファイルを読み込み専用と書き込み可能なものに分類して、物理的に書き込みを防ぐことができる記録媒体と、読み書き可能なハードディスク等の記憶装置とで組み合わせて運用する手法をとる。したがって、基本ソフト自体は通常あるいはそれに準じるものを使いながら、物理的なレベルで改ざんを防ぐことができる。つまり、改ざんされては困るファイルを書き込み禁止記録媒体に置いたまま基本ソフトを動かすことによって、基本ソフト自体に複雑な改造を施すことなく、通常の基本ソフトとの互換性を保ったまま不正アクセスに対する防御を実現することができる。
【００３１】
また、基本ソフトをＣＤ−ＲＯＭ等の書き込み不可能な記録媒体に記録することによって、システムの起動、終了や停電等に対しても管理稼働を低減することができる。
【００３２】
なお、書き込みが不可能な（書き込みを禁止する）記録媒体としては、ＣＤ−ＲＯＭのほか、ＣＤ−Ｒ（シーディーアール）、ＣＤ−ＲＷ（シーディーリライタブル）等の記録媒体や、ＤＶＤ−ＲＯＭ（ディーブイディーロム）やＤＶＤ−Ｒ（ディーブイディーアール）等の書き込み可能な光記録媒体を用いることができる。その場合、記録媒体の駆動装置としては、読み取り専用の駆動装置を用いることが望ましい。また、セキュリティ目的でハードディスクを書き込み防止にする装置等も開発されており、それらに対しても適用が可能である。
【００３３】
なお、本発明の実施の形態は、上記のものに限定されず、例えば記録媒体を２以上の記録媒体に分割することができる。また、ＣＤ−ＲＯＭ１２ａに記録したプログラム（基本ソフト、あるいはアプリケーションプログラムと基本ソフトとの組み合わせ）や、それにハードディスク１３の記憶内容を必要に応じて組み合わせたディスクイメージあるいはファイルは、コンピュータ読み取り可能な記録媒体あるいは通信回線を介して配付することが可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態としての情報処理装置（サーバ１）を含む情報処理システムの構成を示すブロック図。
【図２】図１のサーバ１の構成例を示すブロック図。
【図３】図１の基本ソフト１０のファイル群の構成例を示すブロック図。
【図４】図２のＣＤ−ＲＯＭ１２ａの記憶領域の構造を示す説明図。
【図５】図３のＣＤ−ＲＯＭ１２ａの記録例を示す説明図。
【図６】図３のハードディスク１３の記録例を示す説明図。
【図７】図３の基本ソフト１０のＣＤ−ＲＯＭ１２ａとハードディスク１３への振り分け処理を示すフローチャート。
【図８】図３の基本ソフト１０以外のファイルのＣＤ−ＲＯＭ１２ａとハードディスク１３への振り分け処理を示すフローチャート。
【図９】図２のＣＤ−ＲＯＭ１２ａのマウント処理を示すフローチャート。
【符号の説明】
【００３５】
１  サーバ
２  通信網
３  クライアント
１０  基本ソフト
１０ａ  書き込み禁止ファイルシステム
１０ｂ  書き込み可能ファイルシステム
１２ａ  ＣＤ−ＲＯＭ
１３  ハードディスク
【図１】
2005115552.tif 000003
【図２】
2005115552.tif 000004
【図３】
2005115552.tif 000005
【図４】
2005115552.tif 000006
【図５】
2005115552.tif 000007
【図６】
2005115552.tif 000008
【図７】
2005115552.tif 000009
【図８】
2005115552.tif 000010
【図９】
2005115552.tif 000011