(57)【要約】【課題】マルウェアのような不正ファイルがアクセス（実行）される危険性を軽減する。【解決手段】計算機システムが、安全なネットワークに接続され危険なネットワークに接続されない環境である安全な環境の他に、危険なネットワークに接続され安全なネットワークに接続されない環境である危険な環境を有する。計算機システムが、いずれかの環境からファイルアクセスを受け付け、そのファイルアクセスの発行元が安全な環境と危険な環境のいずれであるかを判断する。発行元が安全な環境である場合、計算機システムは、安全な環境からのファイルアクセスに従うアクセスパスおよびアクセス種別を、アクセス許可対象のファイルに関する情報のリストであるホワイトリストに追加する。【選択図】図２
2018124893.tif 000002
【特許請求の範囲】
【請求項１】
安全なネットワークに接続され危険なネットワークに接続されない環境である安全な環境と、前記危険なネットワークに接続され前記安全なネットワークに接続されない環境である危険な環境とを有する計算機システムに、
いずれかの環境からファイルアクセスを受け付け、
前記ファイルアクセスの発行元が前記安全な環境と前記危険な環境のいずれであるかを判断し、
前記発行元が前記安全な環境である場合、前記安全な環境からのファイルアクセスである第１アクセスに従うアクセスパスおよびアクセス種別を、アクセス許可対象のファイルに関する情報のリストであるホワイトリストに追加する、
を実行させるコンピュータプログラム。
【請求項２】
前記発行元が前記危険な環境である場合、
（Ａ１）前記危険な環境からのファイルアクセスである第２アクセスに従うアクセスパスおよびアクセス種別が、前記ホワイトリストに登録されているか否かを判断し、
（Ａ１）の判断結果が偽の場合、
（Ｂ）前記第２アクセスを禁止する、
を前記計算機システムに更に実行させる請求項１記載のコンピュータプログラム。
【請求項３】
前記発行元が前記危険な環境である場合、
（Ａ２）（Ａ１）の判断結果が真の場合、アクセス禁止対象のファイルに関する情報のリストでありアクセスパスとアクセス種別とが登録されているリストであるブラックリストに、前記第２アクセスに従うアクセスパスおよびアクセス種別が登録されているか否かを判断し、
（Ａ２）の判断結果が真の場合、（Ｂ）を実行する、
（Ａ２）の判断結果が偽の場合、前記第２アクセスを許可する、
を前記計算機システムに更に実行させる請求項２記載のコンピュータプログラム。
【請求項４】
前記発行元が前記安全な環境である場合、前記ホワイトリストは更新されるが、前記発行元が前記危険な環境である場合、前記ホワイトリスト及び前記ブラックリストのいずれも更新されない、
請求項３記載のコンピュータプログラム。
【請求項５】
安全なネットワークに接続され危険なネットワークに接続されない環境である安全な環境と、前記危険なネットワークに接続され前記安全なネットワークに接続されない環境である危険な環境とを有する計算機システムにおいて、いずれかの環境からファイルアクセスを受け付け、
前記ファイルアクセスの発行元が前記安全な環境と前記危険な環境のいずれであるかを判断し、
前記発行元が前記安全な環境である場合、前記安全な環境からのファイルアクセスである第１アクセスに従うアクセスパスおよびアクセス種別を、アクセス許可対象のファイルに関する情報のリストであるホワイトリストに追加する、
ファイルアクセスコントロール方法。
【請求項６】
安全なネットワークに接続され危険なネットワークに接続されない環境である安全な環境と、
前記危険なネットワークに接続され前記安全なネットワークに接続されない環境である危険な環境と、
いずれかの環境からファイルアクセスを受け付ける手段と、
前記ファイルアクセスの発行元が前記安全な環境と前記危険な環境のいずれであるかを判断する手段と、
前記発行元が前記安全な環境である場合、前記安全な環境からのファイルアクセスである第１アクセスに従うアクセスパスおよびアクセス種別を、アクセス許可対象のファイルに関する情報のリストであるホワイトリストに追加する手段と
を有する計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ファイルアクセスのコントロールに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、企業内に置いてもインターネットと接続した企業内ネットワークを構築することが多くなっている。しかし、インターネットから入手できる種々の情報の中には、マルウェア、典型的には、悪意のあるプログラムが含まれていることがある。これらのプログラムは、入手した情報処理装置のソフトウェアを破壊する、情報を盗み出すなどの入手者にとって好ましくない挙動をすることがあり、企業においては、インターネットの利便性を享受しつつ、これら悪意のあるプログラムの脅威をいかに排除するかが課題となっている。プログラムの実行の制限に関し、いわゆるホワイトリスト型の制御方式が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2014-96142号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示す対処では、所定の基準を満たすプログラムをホワイトリストに登録することで、悪意のあるプログラムの実行を抑止することが期待される。
【０００５】
しかし、特許文献１に示す対処では、基準が適切でない場合、悪意のあるプログラムのようなマルウェアがホワイトリストに登録され実行されてしまう危険性がある。
【０００６】
本発明の目的は、マルウェアのような不正ファイルがアクセス（実行）される危険性を軽減することにある。
【課題を解決するための手段】
【０００７】
計算機システムが、安全なネットワークに接続され危険なネットワークに接続されない環境である安全な環境の他に、危険なネットワークに接続され安全なネットワークに接続されない環境である危険な環境を有する。計算機システムが、いずれかの環境からファイルアクセスを受け付け、そのファイルアクセスの発行元が安全な環境と危険な環境のいずれであるかを判断する。発行元が安全な環境である場合、計算機システムは、安全な環境からのファイルアクセスに従うアクセスパスおよびアクセス種別を、アクセス許可対象のファイルに関する情報のリストであるホワイトリストに追加する。
【０００８】
本発明において、「ファイル」は、プログラムが収納されたファイルも含んでよい。また、本発明において、「アクセス」は、参照および更新の他に、ファイル内のプログラムの実行を含んでよい。
【発明の効果】
【０００９】
本発明によれば、マルウェアのような不正ファイルがホワイトリストに登録される危険性を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る情報処理装置の構成図である。
【図２】本発明の一実施形態に係る情報処理装置が有する環境と機能を示す構成図である。
【図３】本発明の一実施形態に係るホワイトリストファイルの構成図である。
【図４】本発明の一実施形態に係るブラックリストファイルの構成図である。
【図５】ファイルＩ／Ｏ要求パケットの受信処理のフローチャートである。
【図６】プロセス探索処理のフローチャートである。
【図７】ホワイトリスト設定処理のフローチャートである。
【図８】アクセスコントロール処理のフローチャートである。
【発明を実施するための形態】
【００１１】
また、以下の説明では、「インターフェース部」は、１以上のインターフェースを含む。１以上のインターフェースは、１以上の同種のインターフェースデバイス（例えば１以上のＮＩＣ（Network Interface Card））であってもよいし２以上の異種のインターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【００１２】
また、以下の説明では、「記憶部」は、１以上のメモリを含む。少なくとも１つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、主に、プロセッサ部による処理の際に使用される。
【００１３】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサを含む。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサである。１以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【００１４】
また、以下の説明では、「ｋｋｋ部」の表現にて処理部（機能）を説明することがあるが、処理部は、１以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、１以上のハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit））によって実現されてもよい。プログラムがプロセッサ部によって処理部が実現される場合、定められた処理が、適宜に記憶部および／またはインターフェース部（例えば通信ポート）等を用いながら行われるため、処理部はプロセッサ部の少なくとも一部とされてもよい。処理部を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。また、プロセッサ部は、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースからプロセッサにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記録媒体（例えば非一時的な記録媒体）であってもよい。各処理部の説明は一例であり、複数の処理部が１つの処理部にまとめられたり、１つの処理部が複数の処理部に分割されたりしてもよい。
【００１５】
また、以下の説明では、「計算機システム」は、１以上の物理的な計算機を含む。少なくとも１つの物理的な計算機が、仮想的な計算機（例えばＶＭ（Virtual Machine））を実行してもよいし、ＳＤｘ（Software-Defined anything）を実行してもよい。ＳＤｘとしては、例えば、ＳＤＳ（Software Defined Storage）（仮想的なストレージ装置の一例）またはＳＤＤＣ（Software-defined Datacenter）を採用することができる。
【００１６】
以下、本発明の一実施形態について説明する。
【００１７】
図１は、本発明の一実施形態に係る情報処理装置の構成図である。
【００１８】
情報処理装置１０１は、計算機システムの一例である。情報処理装置１０１は、Ｉ／Ｆ（インターフェース）１６１と、記憶装置１０５（例えば、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）のような補助記憶装置）と、メモリ１０６と、それらに接続されたプロセッサ１００とを有する。Ｉ／Ｆ１６１は、インターフェース部の一例である。記憶装置１０５およびメモリ１０６が、記憶部の一例である。プロセッサ１００が、プロセッサ部の一例である。Ｉ／Ｆ１６１は、企業内ネットワーク１５１およびインターネット１５２に接続される。企業内ネットワーク１５１は、相対的に信頼性の高いネットワークの一例であり、インターネット１５２は、相対的に信頼性の低いネットワークの一例である。
【００１９】
情報処理装置内１０１の環境が、仮想的に複数の環境に分割される。複数の環境は、本実施形態では、ホワイトリスト作成環境２０４と業務環境２０５である。ホワイトリスト作成ン環境は、安全な環境の一例である。業務環境２０５は、危険な環境の一例である。ホワイトリスト作成環境２０４と業務環境２０５は、同じＯＳ（オペレーティングシステム）１０４上に存在し、記憶装置１０５やメモリ１０６を環境１０２および１０３間で共有することができるように構成されている。例えば、Ｗｉｎｄｏｗｓ  ＯＳ（Ｗｉｎｄｏｗｓは登録商標）では、ユーザＡでログオンして安全な企業内ネットワーク１５１のみアクセス可能な環境をホワイトリスト作成環境２０４とし、ユーザＢでログオンして危険なインターネット１５２のみアクセス可能な環境を業務環境２０５として構成することができる。
【００２０】
本実施形態では、ホワイトリスト作成環境２０４においてファイルアクセスを制限するルール（ホワイトリストファイル２１５とブラックリストファイル２１６）を作成し、業務環境２０５において実行されるプロセスを当該ルールにより制御することで、業務環境２０５においてもホワイトリスト作成環境２０４と同等に安全なファイルアクセスを実現できることができる。
【００２１】
以下、本実施形態を、詳細に説明する。
【００２２】
図２は、情報処理装置１０１が有する環境と機能を示す構成図である。
【００２３】
図２において、情報処理装置１０１は、ＯＳ１０４を仮想的に分離して使用できる。情報処理装置１０１は、安全な環境の一例であるホワイトリスト作成環境２０４と、危険な環境の一例である業務環境２０５とを有する。
【００２４】
また、ＯＳ１０４は、ファイルシステムドライバ２０３がインストールされており、ＯＳ１０４により、プロセス２０６とプロセス２０７から生じるファイルＩ／Ｏ要求パケット２０９をフィルタするためのフィルタマネージャ２１０を有する。
【００２５】
また、ＯＳ１０４内には、フィルタマネージャ２１０を通じてファイルＩ／Ｏ要求パケット２０９を受け取るＩ／Ｏ検出機能２１１がある。Ｉ／Ｏ検出機能２１１は、コンピュータプログラムがプロセッサ１００により実行されることにより発揮される機能であり、そのプログラムは、例えばフィルタマネージャ２１０にアドインされるプログラムでよい。Ｉ／Ｏ検出機能２１１は、受け取ったファイルＩ／Ｏ要求パケット２０９から送信元のプロセスを実行した環境を確認するプロセス探索機能２１２と、プロセス探索機能１１２にてプロセスが業務環境２０５で実行したことが確認できた場合にホワイトリストファイル２１５およびブラックリストファイル２１６に従ってアクセスコントロールを行うアクセスコントロール機能２１３と、プロセス探索機能２１２にてプロセスがホワイトリスト作成環境２０４で実行したことが確認できた場合にホワイトリストファイル２１５に情報を記録するホワイトリスト設定機能２１４とを有する。また、業務環境２０５において実行、参照および更新が禁止されるファイルをブラックリストファイル２１６に記録、編集または削除するための設定ツール２１７が設けられる。設定ツール２１７は、例えば、ＯＳ１０４にインストールされ、ホワイトリスト作成環境２０４において実行され、業務環境２０５において実行されない。
【００２６】
Ｅｘｃｅｌ（登録商標）やＩｎｔｅｒｎｅｔ Ｅｘｐｌｏｒｅｒ（登録商標）などのプロセス（例えばアプリケーションプログラム）がある。図２では、ホワイトリスト作成環境２０４において起動されたプロセスには、参照符号２０６が付されており、業務環境２０５において起動されたプロセスには、参照符号２０７が付されている。すなわち、プロセス２０６は、当該プロセスのアクセスルールをホワイトリストファイル２１５に記録する場合に、例えばユーザにより、ホワイトリスト作成環境２０４から起動されたプロセスである。一方、プロセス２０７は、ホワイトリストファイル２１５とブラックリストファイル２１６によるチェックを当該プロセスについて行う場合に、例えばユーザにより、業務環境２０５から起動されたプロセスである。プロセス２０６およびプロセス２０７のいずれがファイルへのＩ／Ｏを行う場合にも、ＯＳ１０４は、Ｉ／Ｏの内容やＩ／Ｏ元のプロセスの情報を含むファイルＩ／Ｏ要求パケット２０９を生成し、フィルタマネージャ２１０を通じて、ファイルシステムドライバ２０３に渡す。
【００２７】
プロセスを実行する前に、フィルタマネージャ２１０に、Ｉ／Ｏ検出機能２１１が登録される。これにより、ＯＳ１０４は、ファイルＩ／Ｏ要求パケット２０９がフィルタマネージャ２１０に到着した際に、Ｉ／Ｏ検出機能２１１にファイルＩ／Ｏ要求パケット２０９を渡すことができる。
【００２８】
フィルタマネージャ２１０に登録されたＩ／Ｏ検出機能２１１を通じて、プロセス探索機能２１２の呼び出しが行われる。プロセス探索機能２１２が、ファイルＩ／Ｏ要求パケット２０９に含まれる情報（Ｉ／Ｏ元のプロセス情報）から、プロセスの実行元がホワイトリスト作成環境２０４であるか業務環境２０５であるかを判断する。プロセス探索機能２１２は、Ｉ／Ｏ発行元のプロセスがホワイトリスト作成環境２０４から実行したプロセス２０６であることを特定した場合、ホワイトリスト設定機能２１４を呼び出す。一方、プロセス探索機能２１２は、Ｉ／Ｏ発行元のプロセスが業務環境２０５から実行したプロセス２０７であることを特定した場合、アクセスコントロール機能２１３を呼び出す。
【００２９】
ホワイトリスト設定機能２１４が呼び出された場合、ホワイトリスト設定機能２１４は、ホワイトリストファイル２１５に、プロセス２０６によりアクセスされるファイルのファイル名を記録する。これにより、ホワイトリスト設定機能２１４は、ホワイトリスト作成環境２０４で起動したプロセス２０６によりアクセスされたファイルを全てホワイトリストファイル２１５に記録することができる。
【００３０】
アクセスコントロール機能２１３が呼び出された場合、アクセスコントロール機能２１３は、ホワイトリストファイル２１５とブラックリストファイル２１６に従い、ファイルＩ／Ｏ要求パケット２０９の許可または拒否といったアクセスコントロールを行う。これにより、アクセスコントロール機能２１３は、業務環境２０５から起動したプロセス２０７によりアクセスされるファイルに対して、ホワイトリストファイル２１５ブラックリストファイル２１６によるアクセスコントロールを適用することができる。また、アクセスコントロール機能２１３は、ホワイトリストファイル２１５及びブラックリストファイル２１６を参照するがそれらのファイル２１５及び２１６を更新しないので、業務環境２０５から起動したプロセス１０７は、ホワイトリストファイル２１５及びブラックリストファイル２１６のいずれも更新できない。この制御により、業務環境２０５から実行するプロセス２０７は、ホワイトリスト作成環境２０４（つまり安全な環境）で作成したホワイトリストファイル２１５及びブラックリストファイル２１６に従った安全なファイルアクセスを行うことができる。
【００３１】
図３は、ホワイトリストファイル２１５の構成図である。
【００３２】
ホワイトリストファイル２１５は、ホワイトリストを有するファイルである。ホワイトリストファイル２１５は、例えばテーブルであり、アクセス許可対象のファイル毎に、エントリを有する。各エントリは、管理上の番号となるルール番号３０２と、アクセス先のファイルを示すアクセスパス３０３と、許可されるアクセス種別を示すアクセス許可定義３０４といった情報を保持している。
【００３３】
アクセスパス３０３は、ファイル名を含んだファイルパス（文字列）である。アクセスパス３０３は、ファイル単位で指定されるが、ディレクトリ単位でもよい。アクセス許可定義３０４として登録される値は、例えば、「実行」（実行は許可）、「参照」（更新は許可されないが参照は許可）、および、「参照、更新」（参照および更新のいずれも許可）がある。なお、「実行」とは、プログラムが収められたファイルの実行（つまりプログラムの実行）を意味する。
【００３４】
図４は、ブラックリストファイル２１６の構成図である。
【００３５】
ブラックリストファイル２１６は、ブラックリストを有するファイルである。ブラックリストファイル２１６は、例えばテーブルであり、アクセス禁止対象のファイル毎に、エントリを有する。各エントリは、管理上の番号となるルール番号４０２と、アクセス先のファイルまたはディレクトリを示すアクセスパス４０３と、禁止されるアクセス種別を示すアクセス禁止定義４０４といった情報を保持している。
【００３６】
アクセスパス４０３は、ファイル名を含んだファイルパスまたはディレクトリ名を含んだディレクトリパス（文字列）である。アクセス禁止定義４０４として登録される値は、例えば、「実行」（実行の禁止）、「参照、更新」（参照および更新のいずれも禁止）と「更新」（参照は禁止されないが更新は禁止）がある。
【００３７】
以下、本実施形態で行われる幾つかの処理を説明する。
【００３８】
図５は、ファイルＩ／Ｏ要求パケット２０９の受信処理のフローチャートである。
【００３９】
フィルタマネージャ２１０は、ファイルＩ／Ｏ要求パケット２０９（ファイルアクセス）を受信し（ステップ５０１）、そのファイルＩ／Ｏ要求パケット２０９をＩ／Ｏ検出機能２１１へ流す（ステップ５０２）。
【００４０】
図６は、プロセス探索処理のフローチャートである。
【００４１】
プロセス探索機能２１２は、ファイルＩ／Ｏ要求パケット２０９を受け取ったＩ／Ｏ検出機能２１１により呼び出され、そのファイルＩ／Ｏ要求パケット２０９から、発行元プロセス（Ｉ／Ｏ発行元のプロセス）のプロセス情報を得る（ステップ６０２）。
【００４２】
次に、プロセス探索機能２１２は、ステップ６０２で得たプロセス情報から、発行元プロセスがプロセス２０６（ホワイトリスト作成環境２０４で起動したプロセス）かプロセス２０７（業務環境２０５で起動したプロセス）か判断する（ステップ６０３）。
【００４３】
ステップ６０３の判断の結果、発行元プロセスがプロセス２０６である場合、プロセス探索機能２１２は、ホワイトリスト設定機能２１４を呼び出す（ステップ６０６）。
【００４４】
一方、ステップ６０３の判断の結果、発行元プロセスがプロセス２０７である場合、アクセスコントロール機能２１３を呼び出す（ステップ６０７）。
【００４５】
図７は、ホワイトリスト設定処理のフローチャートである。
【００４６】
呼び出されたホワイトリスト設定機能２１４は、Ｉ／Ｏ検出機能２１１が受け取ったファイルＩ／Ｏ要求パケット２０９からアクセス要求を得る（ステップ７０２）。
【００４７】
次に、ホワイトリスト設定機能２１４は、ステップ７０２で得たアクセス要求が実行要求であるか判断する（ステップ７０３）。
【００４８】
ステップ７０３の判断の結果、アクセス要求が実行要求である場合、ホワイトリスト設定機能２１４は、アクセス許可定義３０４としての値は「実行」と「参照」であることをメモリ１０６に記録する（ステップ７０６）。
【００４９】
ステップ７０３の判断の結果、アクセス要求が実行要求でない場合、ホワイトリスト設定機能２１４は、アクセス要求が更新要求であるか判断する（ステップ７０５）。
【００５０】
ステップ７０５の判断の結果、アクセス要求が更新要求である場合、ホワイトリスト設定機能２１４は、アクセス許可定義３０４としての値は「更新、参照」であることをメモリ１０６に記録する（ステップ７０８）。
【００５１】
一方、ステップ７０５の判断の結果、アクセス要求が更新要求でない場合、ホワイトリスト設定機能２１４は、アクセス許可定義３０４としての値は「参照」であることをメモリ１０６に記録する（ステップ７０９）。
【００５２】
上記ステップ７０６、７０８または７０９の結果、ファイルＩ／Ｏ要求パケット２０９のアクセス要求からホワイトリストファイル２１５にアクセス許可定義３０４として記録される値をメモリ１０６上に記録したことになる。
【００５３】
次に、ホワイトリスト設定機能２１４は、ファイルＩ／Ｏ要求パケット２０９からアクセスパスを取得し、その取得したアクセスパスがホワイトリストファイル２１５のいずれかのアクセスパス３０３と一致するか判断する（ステップ７１０）。
【００５４】
ステップ７１０の判断の結果、一致するアクセスパス３０３が存在しない場合、ホワイトリスト設定機能２１４は、ホワイトリストファイル２１５に、上記取得したアクセスパスを示すアクセスパス３０３と、そのアクセスパスに対応したアクセス許可定義３０４（ステップ７０６、ステップ７０８、または、ステップ７０９でメモリ１０６に記録した値）とを、ホワイトリストファイル２１５に追加する。
【００５５】
一方、ステップ７１０の判断の結果、一致するアクセスパス３０３が存在している場合、ホワイトリスト設定機能２１４は、そのアクセスパス３０３に対応するアクセス許可定義３０４に、ステップ７０６、ステップ７０８、または、ステップ７０９でメモリ１０６に記録した値を追加する。例えば、アクセス許可定義３０４として「参照」があり、追加する値が「更新」である場合、アクセス許可定義３０４の値は、「参照」から「参照、更新」に変更される。
【００５６】
図８は、アクセスコントロール処理のフローチャートである。
【００５７】
呼び出されたアクセスコントロール機能２１３は、Ｉ／Ｏ検出機能２１１が受け取ったファイルＩ／Ｏ要求パケット２０９からアクセスパスを取得し、その取得したアクセスパスがホワイトリストファイル２１５のいずれかのアクセスパス３０３と一致するか判断する（ステップ８０１）。
【００５８】
ステップ８０１の判断の結果、一致するアクセスパス３０３が存在しない場合、アクセスコントロール機能２１３は、ファイルＩ／Ｏ要求パケット２０９に従うアクセス（ファイルＩ／Ｏ）を禁止する（ステップ８０９）。
【００５９】
一方、ステップ８０１の判断の結果、一致するアクセスパス３０３が存在する場合、アクセスコントロール機能２１３は、ファイルＩ／Ｏ要求パケット２０９のアクセス要求に従うアクセス種別が、上記一致するアクセスパス３０３に対応したアクセス許可定義３０４に適合するか判断する（ステップ８０３）。
【００６０】
ステップ８０３の判断の結果、適合が得られない場合、アクセスコントロール機能２１３は、ステップ８０９を実行する。
【００６１】
一方、ステップ８０３の判断の結果、適合が得られた場合、アクセスコントロール機能２１３は、ファイルＩ／Ｏ要求パケット２０９から取得されたアクセスパスがブラックリストファイル２１６のいずれかのアクセスパス４０３と一致するか判断する（ステップ８０５）。
【００６２】
ステップ８０５の判断の結果、一致するアクセスパス４０３が存在しない場合、アクセスコントロール機能２１３は、ファイルＩ／Ｏ要求パケット２０９のアクセス要求に従うアクセス種別通りのアクセス（ファイルＩ／Ｏ）を許可する（ステップ８１０）。つまり、アクセスコントロール機能２１３は、Ｉ／Ｏ検出機能２１１が受け取ったファイルＩ／Ｏ要求パケット２０９をファイルシステムドライバ２０３に渡す。
【００６３】
一方、ステップ８０５の判断の結果、一致するアクセスパス４０３が存在する場合、アクセスコントロール機能２１３は、ファイルＩ／Ｏ要求パケット２０９のアクセス要求に従うアクセス種別が、上記一致するアクセスパス４０３に対応したアクセス禁止定義４０４に適合するか判断する（ステップ８０７）。
【００６４】
ステップ８０７の判断の結果、適合が得られない場合、アクセスコントロール機能２１３は、ステップ８１０を実行する。
【００６５】
一方、ステップ８０７の判断の結果、適合が得られた場合、アクセスコントロール機能２１３は、ステップ８０９を実行する。
【００６６】
本実施形態によれば、情報処理装置１０１内に存在するホワイトリスト作成環境２０４から起動したプロセス２０６でホワイトリストファイル２１５を設定し、同一装置１０１内に存在する業務環境２０５からホワイトリストファイル２１５とブラックリストファイル２１５に従ってファイルＩ／Ｏ要求パケット２０９に対してアクセスコントロールを適用することができる。
【００６７】
以下、本実施形態を総括する。
【００６８】
本実施形態において、「環境」とは、Ｗｅｂブラウザ、文書作成アプリケーションプログラム、表計算アプリケーションプログラムといった、ＯＳ１０４上のプログラム（プロセス）が実行されるプログラム実行環境を意味する。
【００６９】
「安全な環境」とは、安全と定義された環境である。本実施形態では、「安全な環境」とは、安全なネットワークに接続され危険なネットワークに接続されない環境である。安全なネットワークの一例が、企業内ネットワーク１５１のようなプライベートなネットワークである。危険なネットワークは、安全なネットワークより信頼性が低いネットワークである。危険なネットワークの一例が、インターネット１５２のようなパブリックなネットワークである。
【００７０】
「危険な環境」とは、危険と定義された環境、言い換えれば、安全な環境よりも信頼性が低い環境である。本実施形態では、「危険な環境」とは、危険なネットワークに接続され安全なネットワークに接続されない環境である。
【００７１】
例えば、企業内ネットワーク１５１経由の通信が可能な環境（安全な環境）は情報処理装置１０１に既存の環境でよい。そのような環境に、インターネット１５２を接続することは、マルウェアの流入のような危険性がある。安全な環境は、企業内ネットワーク１５１に接続されていてインターネット１５２に接続されていないので、安全な環境については、マルウェアの攻撃を極力排除することが望まれる。そこで、本実施形態では、インターネット１５２に接続可能な環境が情報処理装置１０１に追加され、また、情報処理装置１０１に、Ｉ／Ｏ検出機能２１１（プロセス探索機能２１２、アクセスコントロール機能２１３およびホワイトリスト設定機能２１４）が追加される。追加された環境が、危険な環境として定義され、危険な環境からのファイルアクセス（プログラム実行を含む）が、アクセスコントロール機能２１３によりコントロールされる。危険な環境が、業務環境２０５として主に使用される環境でよく、安全な環境が、ホワイトリスト作成環境２０４としてホワイトリストファイル２１５の更新のために使用される環境でよい。
【００７２】
安全な環境において、アクセス許可対象のファイルのパス名が、ホワイトリストファイル２１５に、許可されるアクセス種別（例えば、参照のみ許可、参照および更新のいずれも許可）に関連付けられて登録され、アクセス禁止対象のファイルのパス名が、ブラックリストファイル２１６に、禁止されるアクセス種別（例えば、更新のみ禁止、参照および更新のいずれも禁止）に関連付けて登録される。
【００７３】
具体的には、安全な環境からのファイルアクセスがされた場合に、ホワイトリスト設定機能２１４に、アクセスされたファイルへのパス名と、そのアクセス種別とが、ホワイトリストファイル２１５に追加される。つまり、ホワイトリストファイル２１５は、安全な環境からのファイルアクセスに応じて適宜に自動で更新される。すなわち、危険な環境で実行されるプロセスがマルウェアに感染してしまっている場合、そのプロセスからのファイルアクセスが正しいか否か判断することは困難であるが、安全な環境で実行されるプロセスは安全なので、そのようなプロセスからのアクセスは安全とみなして、自動的にホワイトリストファイル２１５が更新される。
【００７４】
一方、ブラックリストファイル２１６は、安全な環境において実行される設定ツール２７により自動でまたはユーザにより手動で更新される。例えば、ホワイトリストファイル２１５でアクセスが許可されたディレクトリ内の一部のファイルについてはアクセス禁止したい場合、そのファイルのパス名およびアクセス禁止種別が、設定ツール２１７によりブラックリストファイル２１６に追加されてよい。
【００７５】
ホワイトリストファイル２１５およびブラックリストファイル２１６は、いずれも、安全な環境と危険な環境のいずれもアクセス可能な記憶資源（安全な環境と危険な環境に共有される記憶資源）に格納される。
【００７６】
危険な環境からのファイルアクセスが、アクセスコントロール機能２１３により、ホワイトリストファイル２１５およびブラックリストファイル２１６の両方を用いてコントロールされる。具体的には、下記のアクセスコントロールが行われる。
（−）当該ファイルアクセスに従うアクセスパス及びアクセス種別が、ホワイトリストファイル２１５に登録されているアクセスパス３０３及びアクセス許可定義３０４に合致していて、且つ、ブラックリストファイル２１６に登録されているアクセスパス４０３及びアクセス禁止定義４０４に合致していない場合、そのファイルアクセスが許可される。
（−）当該ファイルアクセスに従うアクセスパス及びアクセス種別が、ホワイトリストファイル２１５に登録されているアクセスパス３０３及びアクセス許可定義３０４に合致しているが、ブラックリストファイル２１６に登録されているアクセスパス４０３及びアクセス禁止定義４０４にも合致している場合、そのファイルアクセスが禁止される。
（−）当該ファイルアクセスに従うアクセスパス及びアクセス種別が、ホワイトリストファイル２１５に登録されているアクセスパス３０３及びアクセス許可定義３０４に合致していない場合、そのアクセスパス及びアクセス種別がブラックリストファイル２１６に登録されているアクセスパス４０３及びアクセス禁止定義４０４にも合致しているか否かに関わらず、そのファイルアクセスが禁止される。
【００７７】
本実施形態によれば、情報処理装置１０１において危険な環境は安全な環境と同居し、安全な環境でのファイルアクセス（プログラム実行を含む）に応じてホワイトリストファイル２１５が自動で更新される。安全な環境でのファイルアクセスは安全なアクセスであるため、不正なファイルがホワイトリストファイル２１５に登録されてしまうことを避けることができる。また、全く別の情報処理装置でホワイトリストファイルを作成するより手間の削減や精度の向上を図ることができる。
【００７８】
また、本実施形態によれば、ブラックリストファイル２１６を用いてファイルアクセスが制限される。具体的には、危険な環境からの更新（書き込み）や、危険な環境による参照（読出し）を禁止することができる。このため、危険な環境から悪意のあるファイルが流入する危険性や、安全な環境により書き込まれた企業内情報が流出する危険性を軽減することができる。
【００７９】
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、ホワイトリストとブラックリストは、異なるファイルに存在する異なるリストであることに代えて、同一ファイルにおいて論理的に異なるリストでもよい。
【符号の説明】
【００８０】
１０１…情報処理装置、１０４…オペレーティングシステム、２０４…ホワイトリスト作成環境、２０５…業務環境、２１０…フィルタマネージャ、２１１…Ｉ／Ｏ検出機能、２１２…プロセス探索機能、２１３…アクセスコントロール機能、２１４…ホワイトリスト設定機能、２１５…ホワイトリストファイル、２１６…ブラックリストファイル、２１７…設定ツール
【図１】
2018124893.tif 000003
【図２】
2018124893.tif 000004
【図３】
2018124893.tif 000005
【図４】
2018124893.tif 000006
【図５】
2018124893.tif 000007
【図６】
2018124893.tif 000008
【図７】
2018124893.tif 000009
【図８】
2018124893.tif 000010