(57)【要約】      （修正有）【課題】不適切なアクセス制御ポリシの追加を制限して、アクセス制御リストを適切に設定する。【解決手段】更新装置１０の記憶部１４が、ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含むパッケージ管理情報１４ａと、アクセス先ファイルと該アクセス先ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含むＡＣＬ１４ｂとを記憶する。特定部１５ａが、アクセス先ファイルとアクセス元ファイルとの組み合わせが指定された場合に、パッケージ管理情報１４ａを参照し、アクセス先ファイルが含まれるパッケージと、アクセス元ファイルが含まれるパッケージとを特定する。追加部１５ｂが、特定されたアクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。【選択図】図２
2020113072.tif 000002
【特許請求の範囲】
【請求項１】
ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含むパッケージ管理情報と、ファイルと該ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含むアクセス制御リストと、を記憶する記憶部と、
ファイルとアクセス元ファイルとの組み合わせが指定された場合に、前記パッケージ管理情報を参照し、前記ファイルが含まれるパッケージと、前記アクセス元ファイルが含まれるパッケージとを特定する特定部と、
特定された前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された前記組み合わせを前記アクセス制御リストに追加する追加部と、
を備えることを特徴とする更新装置。
【請求項２】
前記追加部は、前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合に、さらに警告を出力することを特徴とする請求項１に記載の更新装置。
【請求項３】
前記追加部は、前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合に、指定された前記組み合わせの前記アクセス制御リストへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けることを特徴とする請求項１に記載の更新装置。
【請求項４】
前記追加部は、前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、指定された前記組み合わせを前記アクセス制御リストに追加することを特徴とする請求項１に記載の更新装置。
【請求項５】
前記追加部は、前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、さらに警告を出力することを特徴とする請求項４に記載の更新装置。
【請求項６】
前記追加部は、前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、指定された前記組み合わせの前記アクセス制御リストへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けることを特徴とする請求項４に記載の更新装置。
【請求項７】
更新装置で実行される更新方法であって、
前記更新装置は、ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含むパッケージ管理情報と、ファイルと該ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含むアクセス制御リストと、を記憶する記憶部を備え、
ファイルとアクセス元ファイルとの組み合わせが指定された場合に、前記パッケージ管理情報を参照し、前記ファイルが含まれるパッケージと、前記アクセス元ファイルが含まれるパッケージとを特定する特定工程と、
特定された前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された前記組み合わせを前記アクセス制御リストに追加する追加工程と、
を含んだことを特徴とする更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新装置および更新方法に関する。
【背景技術】
【０００２】
従来、サーバ等の制御通信機器において、ファイルへのアクセスの許否を制御するアクセス制御技術が検討されている。例えば、予め設定されたアクセス制御リスト（以下、ＡＣＬ（Access  Control  List）とも記す。）に基づいて、完全性が確認された実行ファイルに対するアクセスのみ、実行を許可する技術が提案されている（非特許文献１参照）。また、ファイルへのアクセスを許可するプロセスを予め設定しておき、ファイルにアクセスするプロセスを監視して、ファイルへのアクセスを特定のプロセスに限定するアクセス制御技術も提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“AppLocker  規則条件の種類について”、[online]、2015年10月26日、MSDNライブラリ、［2018年11月28日検索］、インターネット<URL：https://msdn.microsoft.com/ja-jp/library/ee460959(v=ws.11).aspx>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、アクセス制御ポリシを表すＡＣＬの適切な設定が困難な場合がある。例えば、従来の技術では、ファイルのハッシュ値の一致性に基づいてファイルの完全性を確認するアクセス制御ポリシのＡＣＬが設定される。一方、予めハッシュ値を定義することが困難なファイルに対しては、ファイルへのアクセスを許可するプロセスを予め設定しておき、ファイルにアクセスするプロセスを限定するアクセス制御技術が適用される。しかしながら、このようなファイルにアクセスするプロセスの実行ファイルが改ざんされていた場合には、改ざんされたプロセスからのアクセスを許可してしまう場合がある。
【０００５】
そこで、アクセス制御の対象とするアクセス先ファイルごとに、このファイルへのアクセスを許可するプロセスの実行ファイルをアクセス元ファイルとして、アクセス先ファイルとアクセス元ファイルとをＡＣＬに設定する技術が提案されている。
【０００６】
ここで、このようにアクセス先ファイルとアクセス元ファイルとを用いたＡＣＬの設定を行う際には、不適切なアクセス制御ポリシのＡＣＬを設定してしまう場合がある。例えば、システム運用中に運用者自身がアクセス制御ポリシを作成してＡＣＬを更新する場合には、設定する必要がないアクセス制御ポリシを作成して不用意に適用してしまう場合がある。また、ソフトウェアをインストールする際等に第三者が作成したアクセス制御ポリシを活用してＡＣＬを更新する場合には、悪意のあるアクセス制御ポリシとは気づかずにこれを流用してしまう場合がある。いずれの場合にも、ＡＣＬのセキュリティレベルが低下して、セキュリティホールの要因となってしまうおそれがある。
【０００７】
本発明は、上記に鑑みてなされたものであって、不適切なアクセス制御ポリシの追加を制限して、アクセス制御リストを適切に設定することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明に係る更新装置は、ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含むパッケージ管理情報と、ファイルと該ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含むアクセス制御リストと、を記憶する記憶部と、ファイルとアクセス元ファイルとの組み合わせが指定された場合に、前記パッケージ管理情報を参照し、前記ファイルが含まれるパッケージと、前記アクセス元ファイルが含まれるパッケージとを特定する特定部と、特定された前記ファイルが含まれるパッケージと前記アクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された前記組み合わせを前記アクセス制御リストに追加する追加部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、不適切なアクセス制御ポリシの追加を制限して、アクセス制御リストを適切に設定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、アクセス制御装置の処理概要を説明するための図である。
【図２】図２は、本実施形態の更新装置の概略構成を例示する模式図である。
【図３】図３は、パッケージ管理情報のデータ構成を例示する図である。
【図４】図４は、ＡＣＬのデータ構成を例示する図である。
【図５】図５は、追加部の処理を説明するための図である。
【図６】図６は、追加部の処理を説明するための図である。
【図７】図７は、更新処理手順を示すフローチャートである。
【図８】図８は、更新プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１２】
［アクセス制御装置の処理概要］
本実施形態の更新装置は、アクセス制御装置のアクセス制御に用いられるＡＣＬを更新する更新処理を行うものである。まず、図１は、アクセス制御装置の処理概要を説明するための図である。図１に示すように、アクセス制御装置は、アクセス制御の対象とするアクセス先ファイルにアクセスするプロセスを検知した場合に、アクセス制御ポリシを表すＡＣＬに基づいて、このプロセスによるこのアクセス先ファイルへの許否を制御するアクセス制御を行う。
【００１３】
例えば、アクセス制御装置は、検知したプロセスの実行ファイルが、予め設定されたＡＣＬにアクセス先ファイルに対するアクセス元ファイルとして設定されている場合にのみ、このプロセスによるアクセス先ファイルへのアクセスを許可する。アクセス制御装置は、このＡＣＬに基づいて、アクセス先ファイルとアクセス元ファイルとの双方の完全性を確認し、アクセスを許可している。
【００１４】
本実施形態の更新装置は、アクセス制御装置のＡＣＬを更新する更新処理を行う。ここで、不要なファイル間のアクセスの許可を不用意にＡＣＬに追加すると、セキュリティレベルが低下して、セキュリティホールの要因となるおそれがある。
【００１５】
なお、Ｌｉｎｕｘ（登録商標）のＲＰＭ（RPM  Package  Manager）等のパッケージ管理情報が知られている。パッケージ管理情報は、実行ファイルや設定ファイルやライブラリファイル等を一括にして管理する情報である。各パッケージには、少なくとも、インストール時に含まれる実行ファイルが含まれる。インストール後に生成されるファイルが含まれていてもよい。パッケージ管理情報には、各パッケージにつき、どのパッケージのソフトウェアにどのパッケージのソフトウェアが必要か、つまりどのパッケージがどのパッケージに依存しているのかという、ソフトウェアのパッケージ開発者が想定したパッケージ間の依存関係を表す情報が含まれる。
【００１６】
そこで、本実施形態の更新装置は、パッケージ管理情報を用いて、ソフトウェアのパッケージ開発者が想定するファイル間のアクセスか否かを考慮して、少なくとも不必要なＡＣＬへの追加を制限するＡＣＬの更新処理を実行する。
【００１７】
なお、以下の説明では、更新装置１０は、アクセス制御装置とは異なるハードウェアに実装される装置としているが、アクセス制御装置に組み込まれた装置であってもよい。
【００１８】
［更新装置の構成］
図２は、本実施形態の更新装置の概略構成を例示する模式図である。図２に例示するように、更新装置１０は、パソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００１９】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
【００２０】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した外部の装置と制御部１５との通信を制御する。例えば、通信制御部１３は、後述する更新処理に用いられるパッケージ管理情報を管理する管理装置、更新処理の対象のＡＣＬを管理するアクセス制御装置、多数のファイルを管理するファイル管理システム等の外部の装置と制御部１５との通信を制御する。
【００２１】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。本実施形態において、記憶部１４は、パッケージ管理情報１４ａと、ＡＣＬ１４ｂとを記憶する。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００２２】
図３は、パッケージ管理情報１４ａを例示する図である。パッケージ管理情報１４ａは、ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含む。各パッケージには、少なくとも、インストール時に含まれる実行ファイルと、インストール後に生成されるファイルとが含まれる。
【００２３】
具体的には、図３に示すように、パッケージ管理情報１４ａは、パッケージごとに、既存先のパッケージと、自パッケージに含まれるファイルとが対応付けられた情報である。依存元のパッケージは、当該パッケージを機能させるためには、依存先のパッケージを必要とする。図３に示す例では、例えば、パッケージ「openssl」には、ファイル「/…/openssl」「/…/openssl.conf」等が含まれていることが例示されている。また、パッケージ「mod_ssl」を依存元とする依存先のパッケージが「openssl」「httpd」であることが例示されている。ここで、「/…/」は、ファイルパスを省略した表記である。また、パッケージ「openssl」については、ソフトウェアのパッケージ開発者が想定する依存先のパッケージがないことが例示されている。
【００２４】
本実施形態において、更新装置１０は、後述する更新処理に先立って予め、入力部１１あるいは通信制御部１３を介して、パッケージ管理情報１４ａを取得して、記憶部１４に記憶させる。
【００２５】
また、図４は、ＡＣＬ１４ｂを例示する図である。ＡＣＬ１４ｂは、ファイルと該ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含む。すなわち、ＡＣＬ１４ｂは、上記のとおり、アクセス先ファイルへのアクセスが許可されているアクセス元ファイルを指定するホワイトリストである。
【００２６】
図４に示す例では、例えば、アクセス先ファイル「/…/openssl.conf」に対して、アクセス元ファイル「/…/openssl」からのアクセスが許可されることが示されている。
【００２７】
本実施形態において、更新装置１０は、後述する更新処理に先立って予め、入力部１１あるいは通信制御部１３を介して、アクセス制御装置のＡＣＬ１４ｂを取得して、記憶部１４に記憶させる。
【００２８】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図４に例示するように、特定部１５ａおよび追加部１５ｂとして機能する。
【００２９】
特定部１５ａは、アクセス先ファイルとアクセス元ファイルとの組み合わせが指定された場合に、パッケージ管理情報１４ａを参照し、アクセス先ファイルが含まれるパッケージと、アクセス元ファイルが含まれるパッケージとを特定する。
【００３０】
具体的には、運用者がＡＣＬ１４ｂに追加したいアクセス制御ポリシとして、入力部１１あるいは通信制御部１３を介してアクセス先ファイルとアクセス元ファイルとの組み合わせを指定した場合に、まず、特定部１５ａは、パッケージ管理情報１４ａを参照する。そして、特定部１５ａは、指定されたアクセス先ファイルとアクセス元ファイルとのそれぞれが含まれるパッケージを特定する。
【００３１】
例えば、図３に示した例では、アクセス先ファイル「/…/openssl」とアクセス元ファイル「/…/mod_ssl」との組み合わせが指定された場合に、特定部１５ａは、アクセス先ファイルのパッケージ「openssl」を特定する。また、特定部１５ａは、アクセス元ファイルのパッケージ「mod_ssl」を特定する。
【００３２】
追加部１５ｂは、特定されたファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。
【００３３】
ここで、図５および図６は、追加部１５ｂの処理を説明するための説明図である。追加部１５ｂは、図５に矢印ａで示すように、アクセス元ファイルのパッケージとアクセス先ファイルのパッケージとが同一の場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。
【００３４】
また、追加部１５ｂは、アクセス元ファイルのパッケージとアクセス先ファイルのパッケージとが相互の依存関係がある場合、すなわち、互いに依存元または依存先のパッケージに該当する場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。例えば、図５に矢印ｂで示す組み合わせは、依存元パッケージと依存先パッケージとの連携に必要なアクセス制御ポリシとみなして、ＡＣＬ１４ｂに追加する。
【００３５】
なお、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合に、さらに警告を出力してもよい。また、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合に、指定された組み合わせのＡＣＬ１４ｂへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けてもよい。
【００３６】
つまり、依存関係のあるファイルについての誤ったアクセス制御ポリシは、セキュリティレベルを低下させるおそれがある。そこで、追加部１５ｂは、図５に矢印ｂで示す組み合わせは、アクセス制御の方針に反していないかを照会するよう警告を出力したり、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求したりしてもよい。あるいは、追加部１５ｂは、運用方針に従って一律にＡＣＬ１４ｂへの追加を拒否するようにしてもよい。
【００３７】
また、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。
【００３８】
例えば、図５に矢印ｃで示す組み合わせは、相互に依存関係がない独立したパッケージ間のアクセス制御ポリシであって、ソフトウェアのパッケージ開発者の想定外ではあるものの、運用者が必要とするファイル間アクセスである可能性がある。そのため、追加部１５ｂは、この組み合わせをＡＣＬ１４ｂに追加する。
【００３９】
また、図６に矢印ｄで示す組み合わせは、アクセス元のパッケージとアクセス先のパッケージとが他のパッケージを介しても辿ることができない。そこで、図６に矢印ｄで示す組み合わせは、図５に矢印ｃで示した組み合わせと同様に、独立したパッケージ間のアクセス制御ポリシであって、必要なファイル間アクセスである可能性があるため、追加部１５ｂは、ＡＣＬ１４ｂに追加する。
【００４０】
なお、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、さらに警告を出力する。
【００４１】
例えば、図５に矢印ｃで示した組み合わせおよび図６に矢印ｄで示す組み合わせについては、誤ったアクセス制御ポリシではないと断定することはできない。そこで追加部１５ｂは、運用者に判断を委ねるよう、警告を出力する。例えば、追加部１５ｂは、この組み合わせがアクセス制御の方針に反していないかを照会するよう警告を出力する。
【００４２】
また、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、指定された組み合わせのＡＣＬ１４ｂへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けてもよい。すなわち、追加部１５ｂは、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求したりしてもよい。あるいは、追加部１５ｂは、この組み合わせについては、一律にＡＣＬ１４ｂへの追加を拒否するようにしてもよい。
【００４３】
また、追加部１５ｂは、上記以外の組み合わせ、すなわち図６に矢印ｅで示した、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが他のパッケージを介して依存関係がある組み合わせは、ＡＣＬ１４ｂへの追加を行わない。アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとの間に相互に直接の依存関係がない場合には、ソフトウェアのパッケージ開発者が想定しないアクセスである可能性が高い。このようなアクセスを不用意に許可すると、ＡＣＬ１４ｂのセキュリティレベルが低下するおそれがある。したがって、追加部１５ｂは、このような組み合わせは不要なアクセスポリシの追加とみなし、ＡＣＬ１４ｂへの追加は行わない。
【００４４】
ただし、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが、相互に直接の依存関係がなく、他のパッケージを介して依存関係がある場合には、パッケージ管理情報における依存関係の定義の省略あるいは定義もれである場合もある。
【００４５】
そこで、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが、相互に直接の依存関係がなく、他のパッケージを介して依存関係がある場合に、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求してもよい。あるいは、一律に追加して、運用者に判断を委ねる警告を出力するようにしてもよい。これにより、パッケージ間に間接的な依存関係がある場合に一律に追加を拒否することなく、パッケージ管理情報の定義の省略あるいは定義もれである場合には、ＡＣＬ１４ｂへの追加を行うようにすることができる。
【００４６】
なお、追加部１３ｂは、更新処理により更新されたＡＣＬ１４ｂをアクセス制御装置に出力する。これにより、アクセス制御装置は、更新されたＡＣＬ１４ｂを適用してファイル間のアクセスの許否を制御することが可能となる。
【００４７】
［更新処理］
次に、図７を参照して、本実施形態に係る更新装置１０による更新処理について説明する。図７は、更新処理手順を示すフローチャートである。図７のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
【００４８】
まず、特定部１５ａが、アクセス先ファイルとアクセス元ファイルとの組み合わせを指定する入力を受け付ける。また、特定部１５ａは、パッケージ管理情報１４ａを参照し、アクセス先ファイルが含まれるパッケージと、アクセス元ファイルが含まれるパッケージとを特定する。
【００４９】
そして、追加部１５ｂは、特定されたアクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが同一か否かを確認する（ステップＳ１）。追加部１５ｂは、特定されたアクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが同一である場合に（ステップＳ１，Ｙｅｓ）、指定された組み合わせをＡＣＬ１４ｂに追加する（ステップＳ６）。
【００５０】
一方、同一ではない場合には（ステップＳ１，Ｎｏ）、追加部１５ｂは、特定されたファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが相互に依存関係があるか否かを確認する。まず、追加部１５ｂは、特定されたアクセス先ファイルが含まれるパッケージが、アクセス元ファイルが含まれるパッケージの依存先であるか否かを確認する（ステップＳ２）。追加部１５ｂは、アクセス先ファイルが含まれるパッケージが、アクセス元ファイルが含まれるパッケージの依存先である場合には（ステップＳ２，Ｙｅｓ）。指定された組み合わせをＡＣＬ１４ｂに追加する（ステップＳ６）。
【００５１】
一方、追加部１５ｂは、アクセス先ファイルが含まれるパッケージがアクセス元ファイルが含まれるパッケージの依存先でない場合には（ステップＳ２，Ｎｏ）、アクセス元ファイルが含まれるパッケージが、アクセス先ファイルが含まれるパッケージの依存先であるか否かを確認する（ステップＳ３）。追加部１５ｂは、アクセス元ファイルが含まれるパッケージが、アクセス先ファイルが含まれるパッケージの依存先である場合には（ステップＳ３，Ｙｅｓ）、指定された組み合わせをＡＣＬ１４ｂに追加する（ステップＳ６）。
【００５２】
なお、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合には（ステップＳ２でＹｅｓ、ステップＳ３でＹｅｓ）、指定された組み合わせのＡＣＬ１４ｂへの追加に変えて、追加の可否の指示を受け付けてもよい。つまり、追加部１５ｂは、指定された組み合わせが、アクセス制御の方針に反していないかを照会するよう警告を出力したり、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求したりしてもよい。あるいは、追加部１５ｂは、運用方針に従って一律にＡＣＬ１４ｂへの追加を拒否するようにしてもよい。
【００５３】
一方、追加部１５ｂは、アクセス元ファイルが含まれるパッケージが、アクセス先ファイルが含まれるパッケージの依存先でない場合には（ステップＳ３，Ｎｏ）、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが、他のパッケージを介して依存関係がないかを確認する。
【００５４】
まず、追加部１５ｂは、アクセス元ファイルの依存先のパッケージを辿ってアクセス先ファイルのパッケージに辿り着くか否かを確認する（ステップＳ４）。追加部１５ｂは、アクセス元ファイルの依存先のパッケージを辿ってアクセス先ファイルのパッケージに辿り着く場合には（ステップＳ４，Ｙｅｓ）、ソフトウェアのパッケージ開発者の想定しないアクセスとして、指定された組み合わせのＡＣＬ１４ｂへの追加を行わない（ステップＳ７）。
【００５５】
一方、追加部１５ｂは、アクセス元ファイルの依存先のパッケージを辿ってアクセス先ファイルのパッケージに辿り着かない場合には（ステップＳ４，Ｎｏ）、アクセス先ファイルの依存先のパッケージを辿ってアクセス元ファイルのパッケージに辿り着くか否かを確認する（ステップＳ５）。追加部１５ｂは、アクセス先ファイルの依存先のパッケージを辿ってアクセス元ファイルのパッケージに辿り着く場合には（ステップＳ５，Ｙｅｓ）、ソフトウェアのパッケージ開発者の想定しないアクセスとして、指定された組み合わせのＡＣＬ１４ｂへの追加を行わない（ステップＳ７）。
【００５６】
一方、追加部１５ｂは、アクセス先ファイルの依存先のパッケージを辿ってアクセス元ファイルのパッケージに辿り着かない場合には（ステップＳ５，Ｎｏ）、独立したパッケージ間のアクセス制御ポリシとして、指定された組み合わせをＡＣＬ１４ｂに追加する（ステップＳ８）。また、追加部１５ｂは、運用者に判断を委ねるための警告を出力する。
【００５７】
例えば、追加部１５ｂは、この組み合わせがアクセス制御の方針に反していないかを照会するよう警告を出力する。また、追加部１５ｂは、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求したりしてもよい。あるいは、追加部１５ｂは、この組み合わせについては、一律にＡＣＬ１４ｂへの追加を拒否するようにしてもよい。
【００５８】
また、ステップＳ７の処理において、一律に追加を拒否する代わりに、運用者にＡＣＬ１４ｂへの追加の可否の承認を要求してもよい。あるいは、一律に追加して、運用者に判断を委ねる警告を出力するようにしてもよい。これにより、パッケージ管理情報の定義の省略あるいは定義もれである場合には、ＡＣＬ１４ｂへの追加を行うようにすることができるようになる。
【００５９】
以上により、一連の更新処理が終了する。その結果、更新装置１０は、少なくとも不適切なアクセス制御ポリシの追加を制限してＡＣＬ１４ｂを更新することができる。したがって、ＡＣＬ１４ｂのセキュリティレベルの緩和を最小限に留めることが可能となる。
【００６０】
以上、説明したように、本実施形態の更新装置１０において、記憶部１４が、ファイルと該ファイルを含むパッケージとの対応付けと、複数のパッケージ間の依存関係の有無を示す情報とを含むパッケージ管理情報１４ａと、アクセス先ファイルと該アクセス先ファイルへのアクセスが許可されているアクセス元ファイルとの対応付けを含むＡＣＬ１４ｂと、を記憶する。また、特定部１５ａが、アクセス先ファイルとアクセス元ファイルとの組み合わせが指定された場合に、パッケージ管理情報１４ａを参照し、アクセス先ファイルが含まれるパッケージと、アクセス元ファイルが含まれるパッケージとを特定する。また、追加部１５ｂが、特定されたアクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが同一、または相互に依存関係がある場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。
【００６１】
このように、更新装置１０は、ソフトウェアのパッケージ開発者の想定した依存関係がある組み合わせのアクセスであることを条件に、ＡＣＬ１４ｂに追加することにより、少なくとも不適切なアクセス制御ポリシの追加を制限してＡＣＬ１４ｂを更新することができる。したがって、ＡＣＬ１４ｂのセキュリティレベルの緩和を最小限に留めることが可能となる。このように、更新装置１０は、ＡＣＬを適切に設定することが可能となる。
【００６２】
また、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がある場合に、さらに警告を出力してもよい。または、追加部１５ｂは、指定された組み合わせのＡＣＬ１４ｂへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けてもよい。これにより、ＡＣＬ１４ｂへの追加の可否を運用者の判断に委ねることが可能となる。
【００６３】
また、追加部１５ｂは、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが異なり、かつ、相互に依存関係がなく、かつ、他のパッケージを介して依存関係がない場合に、指定された組み合わせをＡＣＬ１４ｂに追加する。
【００６４】
これにより、独立したパッケージ間のアクセス制御ポリシであって、必要なファイル間アクセスである可能性がある、独立したパッケージ間のアクセス制御ポリシをＡＣＬ１４ｂに追加することができる。
【００６５】
その際に、追加部１５ｂは、さらに警告を出力する。あるいは、追加部１５ｂは、指定された組み合わせのＡＣＬ１４ｂへの追加に変えて、追加を拒否、または追加の可否の指示を受け付けてもよい。これにより、ＡＣＬ１４ｂへの追加の可否を運用者の判断に委ねることが可能となる。
【００６６】
また、これにより、追加部１５ｂは、上記以外の、アクセス先ファイルが含まれるパッケージとアクセス元ファイルが含まれるパッケージとが他のパッケージを介して依存関係がある組み合わせのＡＣＬ１４ｂへの追加を制限することができる。つまり、パッケージ間に相互に直接の依存関係がない、ソフトウェアのパッケージ開発者が想定しないアクセスである可能性が高い不要なアクセスのＡＣＬ１４ｂへの追加を制限することができる。
【００６７】
［プログラム］
上記実施形態に係る更新装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、更新装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の更新処理を実行する更新プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の更新プログラムを情報処理装置に実行させることにより、情報処理装置を更新装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）などのスレート端末などがその範疇に含まれる。また、更新装置１０の機能を、クラウドサーバに実装してもよい。
【００６８】
図８は、更新プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００７０】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００７１】
また、更新プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した更新装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００７２】
また、更新プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７３】
なお、更新プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、更新プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７４】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７５】
１０  更新装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  パッケージ管理情報
１４ｂ  アクセス制御リスト（ＡＣＬ）
１５  制御部
１５ａ  特定部
１５ｂ  追加部
【図１】
2020113072.tif 000003
【図２】
2020113072.tif 000004
【図３】
2020113072.tif 000005
【図４】
2020113072.tif 000006
【図５】
2020113072.tif 000007
【図６】
2020113072.tif 000008
【図７】
2020113072.tif 000009
【図８】
2020113072.tif 000010