(57)【要約】【課題】人手を介さずに実行を許可されたプログラムのリストであるホワイトリストを作成する情報処理装置を得ること。【解決手段】オペレーティングシステム（以下、ＯＳと称す）によって起動されるプログラムが、実行を許可されたプログラムのリストであるホワイトリストに登録されているか否かをプログラムのファイル名によって判定し、ＯＳの動作を設定する動作モードに基づいてプログラムをホワイトリストに追加するか否かを決定する実行可否判断部を備えた。【選択図】          図１
2015176278.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム（以下、ＯＳと称す）によって起動されるプログラムが、実行を許可されたプログラムのリストであるホワイトリストに登録されているか否かを前記プログラムのファイル名によって判定し、前記ＯＳの動作を設定する動作モードに基づいて前記プログラムを前記ホワイトリストに追加するか否かを決定する実行可否判断部を備えることを特徴とする情報処理装置。
【請求項２】
前記実行可否判断部は、前記プログラムが前記ホワイトリストに登録されている場合、または、前記動作モードが前記ホワイトリスト作成モードである場合、前記プログラムを起動するプログラム起動処理部に前記プログラムが起動可能であることを出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記実行可否判断部は、前記プログラムが前記ホワイトリストに登録されていないとともに、前記動作モードが前記ホワイトリスト作成モードでない場合、前記プログラム起動処理部に前記プログラムが起動不可であることを出力することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記ＯＳによってロードされるライブラリが、前記ホワイトリストに登録されているか否かを前記ライブラリのファイル名によって判定し、前記動作モードに基づいて前記ライブラリを前記ホワイトリストに追加するか否かを決定するライブラリロード可否判断部を備えることを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記ライブラリロード可否判断部は、前記ライブラリが前記ホワイトリストに登録されている場合、または、前記動作モードが前記ホワイトリスト作成モードである場合、前記ライブラリをロードするライブラリロード処理部に前記ライブラリがロード可能であることを出力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ライブラリロード可否判断部は、前記ライブラリが前記ホワイトリストに登録されていないとともに、前記動作モードが前記ホワイトリスト作成モードでない場合、前記ライブラリロード処理部に前記ライブラリがロード不可であることを出力することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記動作モードが前記ホワイトリスト作成モード、または、保守を行う保守モードの場合、ファイルをオープンするファイルオープン処理部に前記ファイルがオープン可能であることを出力するファイルオープン可否判断部を備えることを特徴とする請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
前記ファイルオープン可否判断部は、前記動作モードが通常の動作を行う通常運転モードであるとともに、前記ファイルのへの書き込みが行われない場合、前記ファイルオープン処理部に前記ファイルがオープン可能であることを出力することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記ファイルオープン可否判断部は、前記動作モードが通常の動作を行う通常運転モードであるとともに、前記ファイルのへの書き込みが行われる場合であり、さらに前記ファイルが前記ホワイトリストに登録されている場合、前記ファイルオープン処理部に前記ファイルがオープン不可であることを出力することを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
前記ＯＳによってロードされるライブラリが前記ホワイトリストに登録されているか否かを前記ライブラリのファイルの内容がマッピングされたアドレスと前記ライブラリファイルのファイル名との対応付けに基づいて判定し、前記ライブラリに命令の実行権が付与されているか否かと前記動作モードとに基づいて前記ライブラリを前記ホワイトリストに追加するか否かを決定するマッピング可否判断部を備えることを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項１１】
前記ライブラリに命令の実行権が付与されていない場合、前記ライブラリに命令の実行権が付与されているとともに前記ホワイトリストに登録されている場合、又は、前記ライブラリに命令の実行権が付与されているとともに前記ホワイトリストに登録されておらず、前記動作モードが前記ホワイトリスト作成モードの場合、前記ライブラリを利用するマッピング処理部に前記ライブラリが利用可能であることを出力することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記ライブラリに命令の実行権が付与されているとともに前記ホワイトリストに登録されておらず、前記動作モードが前記通常運転モードまたは保守モードの場合、前記マッピング処理部に前記ライブラリが利用不可であることを出力することを特徴とする請求項１０または１１に記載の情報処理装置。
【請求項１３】
ＯＳによって起動されるプログラムが、実行を許可されたプログラムのリストであるホワイトリストに登録されているか否かを前記プログラムのファイル名によって判定し、前記ＯＳの動作を設定する動作モードに基づいて前記プログラムを前記ホワイトリストに追加するか否かを決定する実行可否判断ステップを有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実行を許可されたプログラムのリストであるホワイトリストを作成する情報処理装置に関する。
【背景技術】
【０００２】
工場やプラントなどの機器を監視、制御する計算機システムでは、一般にはインターネットに接続せず、閉じたネットワーク構成下で利用される。そのため、一般のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）で利用される、インターネットに接続して最新のウィルスパターンファイルをダウンロードして利用するウィルス対策ソフトウェアを利用することは難しい。しかし、閉じたネットワークであっても、外部から持ち込まれたＰＣや記録媒体を介してコンピュータウィルスが持ち込まれる危険性がある。
【０００３】
このような問題に対して、非特許文献１の製品では、予め実行を許可されたプログラムのリスト（以下、ホワイトリストと称す）を作成しておき、これに登録されていないものを実行させないことにより、システムに入り込んだ不正なプログラムの起動を防ぐ。また、ホワイトリストに登録されているプログラム等は、ファイルのハッシュ値を予め登録しておき、これが変わっていないかどうかにより、不正に書き換えられていないことを確認する。プログラムを更新するときは、ウィルス対策プログラムによる監視下で、更新用プログラムで更新し、ホワイトリストに登録されている情報を更新する。
【０００４】
また、特許文献１では、ウィルスファイル名の規則性に着目して利用者に警告を発し、利用者が安全であると判断したものをホワイトリストに登録する方法を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７-１４８８０５号公報
【非特許文献】
【０００６】
【非特許文献１】ＴｒｅｎｄＭｉｃｒｏ社、「ＴｒｅｎｄＭｉｃｒｏ  Ｓａｆｅ  Ｌｏｃｋ（ＴＭ）  管理者ガイド」ＴｒｅｎｄＭｉｃｒｏ社、２０１３年６月発行、ｐ．１２〜１４、ｐ．２０〜２２、ｐ．３０〜３４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１及び特許文献１では、予め人手によりホワイトリストを作成しておく必要があった。また、特許文献１では、初めて起動する危険性のあるプログラムを起動するときに、人手を介して可否を判断し、ホワイトリストに登録する必要があった。工場やプラントなどの機器を監視、制御する計算機システムでは、アプリケーションシステムから起動するプログラムは、アプリケーション自身が提供するもの、他のアプリケーションが提供するもの、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が提供するものなど様々ある。大規模なシステムになると、使用するプログラムを予めすべて把握しておくのは難しい。また、プログラムの起動は人手を介さず他のプログラムから起動され、制限された時間内に処理を完了させる必要があるため、起動可否判断を都度人手に委ねることもできない。したがって、非特許文献１及び特許文献１では、人手を介さずにホワイトリストを作成することができないという問題点があった。
【０００８】
本発明は上記のような問題点を解決するためになされたもので、人手を介さずにホワイトリストを作成する情報処理装置を得ることを目的としている。
【課題を解決するための手段】
【０００９】
オペレーティングシステム（以下、ＯＳと称す）によって起動されるプログラムが、実行を許可されたプログラムのリストであるホワイトリストに登録されているか否かをプログラムのファイル名によって判定し、ＯＳの動作を設定する動作モードに基づいてプログラムをホワイトリストに追加するか否かを決定する実行可否判断部を備えた。
【発明の効果】
【００１０】
本発明によれば、人手を介さずにホワイトリストを作成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る情報処理装置の構成を示すブロック図。
【図２】実施の形態１に係る情報処理装置のＯＳが保持するホワイトリストを示す図。
【図３】実施の形態１に係る実行可否判断部の処理の流れを示すフローチャート。
【図４】実施の形態１に係るライブラリロード可否判断部の処理の流れを示すフローチャート。
【図５】実施の形態１に係るファイルオープン可否判断部の処理の流れを示すフローチャート。
【図６】実施の形態１に係る情報処理装置の構成を示すブロック図。
【図７】実施の形態１に係るマッピング可否判断部の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、実施の形態１に係る情報処理装置１００の構成を示すブロック図である。情報処理装置１００のＯＳ１０１は、プログラム起動処理部１０２、ライブラリロード処理部１０３、ファイルオープン処理部１０４、実行可否判断部１０５、ライブラリロード可否判断部１０６、及びファイルオープン可否判断部１０７から構成される。プログラム起動処理部１０２、ライブラリロード処理部１０３、ファイルオープン処理部１０４は、既存のＯＳが提供する構成部である。ＯＳ１０１は、動作モードを保持する。
【００１３】
また、情報処理装置１００では、動作モード設定プロセス１１１、及びプロセス１１２ａ〜ｃが動作する。動作モード設定プロセス１１１は、ＯＳ１０１の動作モードに、通常運転モード、保守モード、及びホワイトリスト作成モードのうちのいずれかの設定を行う。通常運転モードは、情報処理装置１００が通常の運転を行うモードである。保守モードは、情報処理装置１００の保守を行うモードである。ホワイトリスト作成モードは、安全な環境下でホワイトリストを作成するモードである。情報処理装置１００を実際のシステムで運用する前や、運用開始後にプログラム、ライブラリ、又はファイルの変更や追加が行われ、ホワイトリストの更新が必要になった場合にホワイトリスト作成モードに設定される。
【００１４】
動作モードの設定は、ＯＳ１０１へのシステムコールや、ドライバインタフェースを経由して行う。この設定は実行権のあるユーザに制限する、あるいは設定作業をパスワードで保護するといった対策を行っておくとよい。また、プロセス１１２ａは、ＯＳ１０１の上でプログラム１１３を起動し、ライブラリ１１４ａ〜ｎの複数のライブラリをロードして動作する。
【００１５】
動作モード設定プロセス１１１は、ＯＳ１０１の起動時に起動する。動作モード設定プロセス１１１は、動作モードを管理者に問い合わせ、それに対する応答が一定時間無かった場合には通常運転モードに設定する。管理者は、ＯＳ１０１の起動後に動作モード設定プロセス１１１を起動し、動作モードを変更してもよい。これらの使い分けは、動作モード設定プロセス１１１の起動時に引数を指定することにより変更すればよい。
【００１６】
図２は、実施の形態１に係る情報処理装置１００のＯＳ１０１が保持するホワイトリスト２１〜２２を示す図である。ホワイトリスト２１は、プログラムＡ、プログラムＢ、・・・をリストに含む。ホワイトリスト２２は、ライブラリａ、ライブラリｂ、・・・をリストに含む。
【００１７】
動作モード設定プロセス１１１は、ホワイトリストの作成が完了すると、ホワイトリスト２１〜２２の内容を、ディスク上のファイル等に保存する。ファイルはアクセス権の設定や暗号化等により、不正な書き換えができないようにしておく。
【００１８】
次に動作について説明する。
まず、プロセス１１２がプログラムを起動する場合の動作について説明する。プロセス１１２がプログラムを起動する場合、ＯＳ１０１はプログラム起動処理部１０２を実行する。プログラム起動処理部１０２は、プログラムの起動可否を判断するため、プログラムの起動処理を行う前に実行可否判断部１０５を呼び出す。
【００１９】
図３は、実施の形態１に係る実行可否判断部１０５の処理の流れを示すフローチャートである。プロセス１１２がプログラムＡ１１３を起動する場合を例として説明する。
【００２０】
実行可否判断部１０５は、プログラム起動処理部１０２から呼び出されると、処理を開始する。実行可否判断部１０５は起動するプログラムＡ１１３のファイル名がホワイトリスト２１に存在するかを検索する（Ｓ３１）。実行可否判断部１０５はプログラムＡ１１３がホワイトリスト２１に存在しているかどうかを判定する（Ｓ３２）。プログラムＡ１１３がホワイトリスト２１に存在する場合、実行可否判断部１０５は、プログラム起動可能であることをプログラム起動処理部１０２に出力する（Ｓ３３）。
【００２１】
プログラムＡ１１３がホワイトリスト２１に登録済みで無い場合、実行可否判断部１０５は動作モードを参照する（Ｓ３４）。動作モードがホワイトリスト作成モードの場合、実行可否判断部１０５はプログラムＡ１１３をホワイトリスト２１に登録し（Ｓ３５）、プログラム起動可能であることをプログラム起動処理部１０２に出力する（Ｓ３３）。動作モードが通常運転モード又は保守モードの場合、実行可否判断部１０５はプログラム起動不可であることをプログラム起動処理部１０２に出力し（Ｓ３６）、処理を終了する。
【００２２】
プログラム起動処理部１０２は、実行可否判断部１０５からプログラム起動可能が入力されるとプログラムＡ１１３を起動し、処理を実行する。また、プログラム起動処理部１０２は、実行可否判断部１０５からプログラム起動不可が入力されると、プログラムＡ１１３を起動せずに処理を終了する。
【００２３】
次に、プロセス１１２がライブラリをロードする場合の動作について説明する。プロセス１１２がライブラリをロードする場合、ＯＳ１０１はライブラリロード処理部１０３を実行する。ライブラリロード処理部１０３は、ライブラリのロード可否を判断するため、ライブラリをロードする前にライブラリロード可否判断部１０６を呼び出す。
【００２４】
図４は、実施の形態１に係るライブラリロード可否判断部１０６の処理の流れを示すフローチャートである。プロセス１１２ａがライブラリ１１４ａをロードする場合を例として説明する。
【００２５】
ライブラリロード可否判断部１０６はライブラリロード処理部１０３から呼び出されると処理を開始する。ライブラリロード可否判断部１０６はロードするライブラリ１１４ａのファイル名がホワイトリスト２２に存在するかを検索する（Ｓ４１）。ライブラリロード可否判断部１０６は、ライブラリ１１４ａがホワイトリスト２２に存在しているかどうかを判定する（Ｓ４２）。ライブラリ１１４ａがホワイトリスト２２に存在する場合、ライブラリロード可否判断部１０６は、ロード可能であることをプログラム起動処理部１０２に出力する（Ｓ４３）。
【００２６】
ライブラリ１１４ａがホワイトリスト２２に登録済みで無い場合、ライブラリロード可否判断部１０６は動作モードを参照する（Ｓ４４）。動作モードがホワイトリスト作成モードの場合、ライブラリロード可否判断部１０６はライブラリ１１４ａをホワイトリスト２２に登録し（Ｓ４５）、プログラム起動可能であることをライブラリロード処理部１０３に出力する（Ｓ４３）。動作モードが通常運転モード又は保守モードの場合、ライブラリロード可否判断部１０６はプログラム起動不可であることをライブラリロード処理部１０３に出力し（Ｓ４６）、処理を終了する。
【００２７】
ライブラリロード処理部１０３は、ライブラリロード可否判断部１０６からライブラリロード可能が入力されるとライブラリ１１４ａをロードし、処理を実行する。また、ライブラリロード処理部１０３は、ライブラリロード可否判断部１０６からライブラリロード不可が入力されると、ライブラリ１１４ａをロードせずに処理を終了する。
【００２８】
情報処理装置１００は、動作モードをホワイトリスト作成モードにしてアプリケーションシステムを実行することにより、人手を介さずにホワイトリストを作成することができる。通常運転モードでは、ホワイトリストに登録されているプログラムの起動は可能であるが、ホワイトリストに登録されていないプログラムの起動は不可となる。すなわち、通常運転モードのときにホワイトリストに登録されているプログラムファイルやライブラリを書き換えようとした場合、それらは不正な書き換えであるとしてオープン不可とする。また、保守モードの場合、通常運転モードの場合と同じく、ホワイトリストに登録されていないプログラムの起動やライブラリのロードを許可しない。
【００２９】
次に、プロセス１１２がファイルをオープンする場合の動作について説明する。プロセス１１２がファイルをオープンする場合、ＯＳ１０１はファイルオープン処理部１０４を実行する。ファイルオープン処理部１０４は、ファイルのオープン可否を判断するため、ファイルをオープンする前にファイルオープン可否判断部１０７を呼び出す。
【００３０】
図５は、実施の形態１に係るファイルオープン可否判断部１０７の処理の流れを示すフローチャートである。
【００３１】
ファイルオープン可否判断部１０７はファイルオープン処理部１０４から呼び出されると処理を開始する。ファイルオープン可否判断部１０７は、ＯＳ１０１が保持する動作モードを参照する（Ｓ５１）。動作モードがホワイトリスト作成モード又は保守モードの場合、ファイルオープン可否判断部１０７はオープン可能をファイルオープン処理部１０４に出力し（Ｓ５５）、処理を終了する。すなわち、ホワイトリスト作成モードの場合、ファイルオープン可否判断部１０７は常にオープン可能を出力する。
【００３２】
動作モードが通常運転モードの場合、ファイルオープン可否判断部１０７は書き込みモードでファイルをオープンするのかどうか判定する（Ｓ５２）。書き込みモードでない場合、ファイルオープン可否判断部１０７はオープン可能をファイルオープン処理部１０４に出力し（Ｓ５５）、処理を終了する。
【００３３】
書き込みモードでファイルをオープンする場合、ファイルオープン可否判断部１０７はオープンするファイル名がホワイトリスト２１〜２２に存在するかを検索する（Ｓ５３）。ファイルオープン可否判断部１０７は、オープンするファイル名がホワイトリスト２１〜２２に存在しているかどうかを判定する（Ｓ５４）。オープンするファイル名がホワイトリスト２１〜２２に登録されていない場合、ファイルオープン可否判断部１０７はオープン可能をファイルオープン処理部１０４に出力する（Ｓ５５）。データファイルはプログラムからオープンして利用できるように、オープン可能としておく必要があるためである。たとえ書き換えられたとしてもホワイトリスト２１にプログラムが登録されていなければ実行されないため、オープン可能としてよい。
【００３４】
オープンするファイル名がホワイトリスト２１〜２２に登録されている場合、ファイルオープン可否判断部１０７はオープン不可をファイルオープン処理部１０４に出力する（Ｓ５６）し、処理を終了する。すなわち、通常運転モードのときにホワイトリストに登録されているプログラムファイルやライブラリを書き換えようとした場合、それらは不正な書き換えであるとしてオープン不可とする。
【００３５】
ファイルオープン処理部１０４は、ファイルオープン可否判断部１０７からファイルのオープン可能が入力されるとファイルをオープンし、処理を実行する。また、ファイルオープン処理部１０４は、ファイルオープン可否判断部１０７からファイルのオープン不可が入力されると、ファイルをオープンせずに処理を終了する。
【００３６】
保守モードではプログラムやライブラリへの書き込みが可能とし、改良やバグ修正したプログラムやライブラリへの置き換えを行うことができる。
【００３７】
したがって、本実施の形態では、ＯＳによって起動されるプログラムが、実行を許可されたプログラムのリストであるホワイトリストに登録されているか否かをプログラムのファイル名によって判定し、ＯＳの動作を設定する動作モードに基づいてプログラムをホワイトリストに追加するか否かを決定する実行可否判断部を備えたので、人手を介さずにホワイトリストを作成することができる。
【００３８】
また、実行可否判断部は、プログラムがホワイトリストに登録されている場合、または、動作モードがホワイトリスト作成モードである場合、プログラムを起動するプログラム起動処理部にプログラムが起動可能であることを出力するので、ホワイトリストに従ってプログラムの実行可否を判断することができる。
【００３９】
また、実行可否判断部は、プログラムがホワイトリストに登録されていないとともに、動作モードがホワイトリスト作成モードでない場合、プログラム起動処理部にプログラムが起動不可であることを出力するので、不正にこれらのプログラムが書き換えられることを防止することができる。
【００４０】
また、ＯＳによってロードされるライブラリが、ホワイトリストに登録されているか否かをライブラリのファイル名によって判定し、動作モードに基づいてライブラリをホワイトリストに追加するか否かを決定するライブラリロード可否判断部を備えたので、人手を介さずにホワイトリストを作成することができる。
【００４１】
また、ライブラリロード可否判断部は、ライブラリがホワイトリストに登録されている場合、または、動作モードがホワイトリスト作成モードである場合、ライブラリをロードするライブラリロード処理部にライブラリがロード可能であることを出力するので、ホワイトリストに従ってライブラリのロード可否を判断することができる。
【００４２】
また、ライブラリロード可否判断部は、ライブラリがホワイトリストに登録されていないとともに、動作モードがホワイトリスト作成モードでない場合、ライブラリロード処理部にライブラリがロード不可であることを出力するので、不正にこれらのライブラリが書き換えられることを防止することができる。
【００４３】
また、動作モードがホワイトリスト作成モード、または、保守を行う保守モードの場合、ファイルをオープンするファイルオープン処理部にファイルがオープン可能であることを出力するファイルオープン可否判断部を備えたので、ホワイトリストに従ってファイルのオープン可否を判断することができる。
【００４４】
また、ファイルオープン可否判断部は、動作モードが通常の動作を行う通常運転モードであるとともに、ファイルへの書き込みが行われない場合、ファイルオープン処理部にファイルがオープン可能であることを出力するので、ファイルへの書き込みが行われるかに基づいてファイルをオープンすることができる。
【００４５】
また、ファイルオープン可否判断部は、動作モードが通常の動作を行う通常運転モードであるとともに、ファイルのへの書き込みが行われる場合であり、さらにファイルがホワイトリストに登録されている場合、ファイルオープン処理部にファイルがオープン不可であることを出力するので、不正にこれらのファイルが書き換えられることを防止することができる。
【００４６】
実施の形態２．
以上の実施の形態１では、プログラムやライブラリのファイル名を用いてプログラムの起動可否やロード可否を判断するようにしたものであるが、本実施の形態においては、ライブラリを呼び出し元プロセスのアドレス空間にマッピングして実行する場合のマッピング可否を判断する実施形態を示す。
【００４７】
Ｗｉｎｄｏｗｓ（登録商標）等のＯＳでは、ライブラリのロード時にファイル名を指定しているため、ファイル名によりロード可否を判断することができる。しかし、ライブラリのロード時にファイル名を指定されない場合、ファイル名によりロード可否を判断することができない。ＵＮＩＸ（登録商標）やＬｉｎｕｘ（登録商標）では、ライブラリをロードする場合、ライブラリファイルをはじめにオープンし、それをアドレス空間にマッピングしている。この技術をｍｍａｐという。ｍｍａｐでは、ファイルの内容をプロセスのアドレス空間にマッピングし、プロセスがそのアドレス空間のメモリ読み出しを行うと、そのアドレスに対応付けされたファイルの該当するデータが読み出される。なお、プロセスは、動作中のプログラムである。
【００４８】
ライブラリファイルをｍｍａｐすることにより、ライブラリファイル中の計算機の命令コードがアドレス空間にマップされ、それらの命令コードの実行が可能となる。ファイル名が指定されるのはファイルのオープン時であり、そのときはライブラリが通常の読み込みや書き込みに用いられるのか、ｍｍａｐに用いられるのかを判別できない。また、ｍｍａｐのときにはファイル名が指定されないため、ホワイトリストに登録されたライブラリなのかどうか判断することができない。本実施の形態では、このような場合の解決手段を提示するものである。
【００４９】
図６は、実施の形態１に係る情報処理装置６００の構成を示すブロック図である。図１の情報処理装置１００との違いは、ＯＳ１０１の中にライブラリロード処理部１０３及びライブラリロード可否判断部１０６の代わりに、マッピング処理部６０１及びマッピング可否判断部６０２により構成される。マッピング処理部６０１及びマッピング可否判断部６０２以外は実施の形態１と同じであるため、説明を割愛する。
【００５０】
マッピング処理部６０１は、既にオープンされているファイルに対する管理情報、マップ先のアドレス、そのアドレス空間へのアクセス権などを引数としてＯＳ１０１より受け取る。アドレス空間へのアクセス権としては、読み込み可否、書き込み可否、及び命令の実行可否が設定される。マッピング処理部６０１は、ファイルに対する管理情報、アドレス空間へのアクセス権のパラメータをマッピング可否判断部６０２に渡し、マッピング可否判断部６０２はマッピングの利用可否を判断する。
【００５１】
次に動作について説明する。プロセス１１２がアドレス空間にマッピングされたライブラリファイルを利用する場合、ＯＳ１０１はマッピング処理部６０１を実行する。マッピング処理部６０１は、ライブラリファイルのマッピングの利用可否を判断するため、ライブラリファイルを利用する前にマッピング可否判断部６０２を呼び出す。
【００５２】
図７は、実施の形態１に係るマッピング可否判断部６０２の処理の流れを示すフローチャートである。プロセス１１２ａがマッピングされたライブラリ１１４ａを利用する場合を例として説明する。
【００５３】
マッピング可否判断部６０２はマッピング処理部６０１から呼び出されると処理を開始する。マッピング可否判断部６０２は、ライブラリ１１４ａのアクセス権に命令の実行権が付いているかどうかを判定する（Ｓ７１）。ライブラリ１１４ａのアクセス権に命令の実行権が付いていない場合、マッピング可否判断部６０２は利用可能であることをマッピング処理部６０１に出力する（Ｓ７４）。実行権が付いていない場合は、単にデータを読み書きするためであり、ライブラリ１１４ａの計算機の命令コードを実行するためではないため、マッピングされたライブラリを利用可能とする。
【００５４】
ライブラリ１１４ａのアクセス権に命令の実行権が付いている場合、マッピング可否判断部６０２はファイル管理情報からＯＳ１０１内の管理データを参照し、使用するファイル名を調べる（Ｓ７２）。マッピング可否判断部６０２は検索したファイル名がホワイトリストに登録済みかどうか判定する（Ｓ７３）。ファイル名がホワイトリストに登録済みの場合、マッピング可否判断部６０２は利用可能であることをマッピング処理部６０１に出力する（Ｓ７４）。
【００５５】
ライブラリ１１４ａがホワイトリスト２２に登録済みで無い場合、マッピング可否判断部６０２は動作モードを参照する（Ｓ７５）。動作モードがホワイトリスト作成モードの場合、マッピング可否判断部６０２はライブラリ１１４ａをホワイトリスト２２に登録し（Ｓ７６）、利用可能であることをマッピング処理部６０１に出力する（Ｓ７４）。動作モードが通常運転モード又は保守モードの場合、マッピング可否判断部６０２は利用不可であることをマッピング処理部６０１に出力し（Ｓ７７）、処理を終了する。
【００５６】
マッピング処理部６０１は、マッピング可否判断部６０２から利用可能が入力されるとライブラリ１１４ａを利用して処理を実行する。また、マッピング処理部６０１は、マッピング可否判断部６０２から利用不可が入力されると、ライブラリ１１４ａを利用せずに処理を終了する。
【００５７】
したがって、ＯＳによってロードされるライブラリがホワイトリストに登録されているか否かをライブラリのファイルの内容がマッピングされたアドレスとライブラリファイルのファイル名との対応付けに基づいて判定し、ライブラリに命令の実行権が付与されているか否かと動作モードとに基づいてライブラリをホワイトリストに追加するか否かを決定するマッピング可否判断部を備えたので、ライブラリをロードするときにライブラリファイルをはじめにオープンし、それをアドレス空間にマッピングしている場合でも人手を介さずにホワイトリストを作成することができる。
【００５８】
また、ライブラリに命令の実行権が付与されていない場合、ライブラリに命令の実行権が付与されているとともにホワイトリストに登録されている場合、又は、ライブラリに命令の実行権が付与されているとともにホワイトリストに登録されておらず、動作モードがホワイトリスト作成モードの場合、ライブラリを利用するマッピング処理部にライブラリが利用可能であることを出力するので、ホワイトリストに従ってライブラリの利用可否を判断することができる。
【００５９】
また、ライブラリに命令の実行権が付与されているとともにホワイトリストに登録されておらず、動作モードが通常運転モードまたは保守モードの場合、マッピング処理部にライブラリが利用不可であることを出力するので、不正にこれらのライブラリが書き換えられることを防止することができる。
【符号の説明】
【００６０】
２１、２２  ホワイトリスト
１００、６００  情報処理装置
１０１  ＯＳ
１０２  プログラム起動処理部
１０３  ライブラリロード処理部
１０４  ファイルオープン処理部
１０５  実行可否判断部
１０６  ライブラリロード可否判断部
１０７  ファイルオープン可否判断部
１１１  動作モード設定プロセス
１１２ａ〜ｃ  プロセス
１１３  プログラム
１１４ａ〜ｎ  ライブラリ
６０１  マッピング処理部
６０２  マッピング可否判断部
【図１】
2015176278.tif 000003
【図２】
2015176278.tif 000004
【図３】
2015176278.tif 000005
【図４】
2015176278.tif 000006
【図５】
2015176278.tif 000007
【図６】
2015176278.tif 000008
【図７】
2015176278.tif 000009