(57)【要約】【課題】企業や組織等で使用するパーソナルコンピュータ等で、人の故意または人の誤操作等による人為的な理由で情報が漏洩するおそれがあるとき当該情報漏洩を確実に防止できる情報漏洩防止の方法およびシステムを提供する。【解決手段】情報漏洩防止方法等は、ファイルフィルタドライバ１１、ファイルフィルタコントローラ１２を備える。ファイルフィルタコントローラは、プロセス検出手段と、情報漏洩阻止対象の任意のファイルのパス等を予め登録する記憶部１２Ａを有する。ファイルフィルタドライバは、ファイル読取りを行うプロセスがあるとき、必要な情報をファイルフィルタコントローラに通知する。ファイルフィルタコントローラは、所定の条件下でファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知する。ファイルフィルタドライバはプロセスの読取り動作の拒否を実行する。【選択図】図２
2013246463.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、前記オペレーティングシステム上で前記ファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止方法であり、
前記ファイルフィルタコントローラは、インターネットを利用している前記プロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
前記ファイルフィルタドライバが、前記コンピュータ内の前記ファイルに対して読取りを実行しているプロセスがあるとき、前記プロセスの情報と読取り対象の前記ファイルの情報を前記ファイルフィルタコントローラに通知し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ読取り対象の前記ファイルに係るパスが前記情報漏洩阻止対象の任意のファイルのパスまたは前記情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当するとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを拒否する命令を通知し、
前記ファイルフィルタドライバは、通知された前記命令に基づき前記プロセスの読取り動作の拒否を実行する、
ことを特徴とする情報漏洩防止方法。
【請求項２】
前記ファイルフィルタコントローラの前記記憶手段では、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報が予め登録されており、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記報漏洩阻止対象の例外として選択した前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知することを特徴とする請求項１記載の情報漏洩防止方法。
【請求項３】
前記ファイルフィルタコントローラの前記記憶手段では、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報が予め登録されており、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記情報漏洩阻止対象のファイルの読取りを許可したい前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知し、かつ前記インターネットを利用しているプロセスの接続を遮断することを特徴とする請求項１記載の情報漏洩防止方法。
【請求項４】
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、前記オペレーティングシステム上で前記ファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止システムであり、
前記ファイルフィルタコントローラは、
インターネットを利用している前記プロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
前記ファイルフィルタドライバから、前記コンピュータ内の前記ファイルに対して読取りを実行しているプロセスの情報と読取り対象の前記ファイルの情報の通知を受けたとき、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ読取り対象の前記ファイルに係るパスが前記情報漏洩阻止対象の任意のファイルのパスまたは前記情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当することを条件として、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを拒否する命令を通知するように構成されたことを特徴とする情報漏洩防止システム。
【請求項５】
前記ファイルフィルタコントローラの前記記憶手段は、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報を予め登録し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ情報漏洩阻止対象の例外として選択した前記実行ファイルを識別する情報に該当し、かつ前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知することを特徴とする請求項４記載の情報漏洩防止システム。
【請求項６】
前記ファイルフィルタコントローラの前記記憶手段は、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行フィルを識別する情報を予め登録し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記情報漏洩阻止対象のファイルの読取りを許可したい前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知し、かつ前記インターネットを利用しているプロセスの接続を遮断することを特徴とする請求項４記載の情報漏洩防止システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報漏洩防止の方法およびシステムに関し、特に、パーソナルコンピュータ（ＰＣ）、サーバ、携帯端末コンピュータ等からの情報漏洩の防止について人の故意または人の誤操作等によって特定のファイルをインターネット上の特定の通信相手方等に送信することを防止する情報漏洩防止の方法およびシステムに関する。
【背景技術】
【０００２】
マルウェアのよる情報漏洩対策として多くの企業や個人はアンチウィルスソフトウェアを導入している。アンチウィルスソフトウェアは、マルウェアの進入を阻止したり、またはマルウェアの進入を受けた場合には当該マルウェアを削除したり、進入したマルウェアがファイルをインターネット上のサーバに送信することを阻止したりする機能を有している。また従来のアンチウィルスソフトウェアは、ＰＣ等を操作する人が、故意にまたは誤操作によって、ＰＣ等の内部に存在する特定のファイルをインターネットの特定のサーバに送信して流出させる場合には、これを防止する機能を有していない。
【０００３】
パーソナルコンピュータのデータの安全を確保する技術を開示する先行技術文献として下記の特許文献１を挙げる。この特許文献１に開示されるデータ管理システム等によれば、オペレーティングシステムのファイルシステムとディスクドライバとの間にフィルタドライバを挿入し、オペレーティングシステムがデータ書込命令を発したとき当該フィルタドライバで書込データを書き込むようにしたため、データの悪用を確実に防止することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１８３８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
情報漏洩の防止に関しては、多くの企業や組織等では特に悪意を持った従業員等の故意による情報漏洩や善意の従業員等の誤判断や誤操作に基づく情報漏洩の防止が大きな問題となり、他方、個人では、単純な誤判断や誤操作に基づく情報漏洩の防止が大きな問題となっている。そこで、近年、上記のような情報漏洩の防止に関する技術の強化や、情報漏洩に対するセーフティーネットの設置が強く要望されている。
また上記の特許文献１に記載されたデータ管理システムによれば、データの悪用防止であって、上記のごとき情報漏洩を防止するのためのシステムとしての機能は有さない。
【０００６】
本発明の目的は、上記の課題に鑑み、企業や組織、個人等で使用するパーソナルコンピュータ、サーバ、携帯端末コンピュータ等で、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ、サーバ、携帯端末コンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止することができる情報漏洩防止の方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る情報漏洩防止の方法およびシステムは、上記の目的を達成するため、次のように構成される。
【０００８】
第１の情報漏洩防止方法（請求項１に対応）は、
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止方法であり、
ファイルフィルタコントローラは、インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバが、コンピュータ内のファイルに対して読取りを実行しているプロセスがあるとき、プロセスの情報と読取り対象のファイルの情報をファイルフィルタコントローラに通知し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当するとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知し、
ファイルフィルタドライバは、通知された命令に基づきプロセスの読取り動作の拒否を実行する、
ことを特徴とする。
【０００９】
上記の情報漏洩防止方法によれば、ＰＣ等のオペレーティングシステムにおけるファイルシステムのファイルフィルタドライバは、すべての起動プロセスの情報、すべてのファイル情報（ファイル読取り情報およびファイル書込み情報等）を検出する機能を有する。オペレーティングシステム内におけるすべてのプロセス情報およびファイル情報は、ファイルフィルタドライバからファイルフィルタコントローラに送られる。他方、ファイルフィルタコントローラでは、ファイルフィルタドライバから送られた上記の情報を受け取り、すべてのプロセス情報の中から通信を利用しているプロセスを選別し、さらにすべてのファイル読取り情報の中から特定のフォルダのファイル読取り情報だけを選別する。
こうして、ファイルフィルタドライバが集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラが選別することにより、通信を利用するプロセス（アプリケーションソフトウェア）の検出と、特定のファイルを読み取るプロセスの検出とを行う。
そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意することで、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
【００１０】
第２の情報漏洩防止方法（請求項２に対応）は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段では、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報（実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等）が予め登録されており、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
【００１１】
第３の情報漏洩防止方法（請求項３に対応）は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段では、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報（実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等）が予め登録されており、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
【００１２】
第１の情報漏洩防止システム（請求項４に対応）は、
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止システムであり、
ファイルフィルタコントローラは、
インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバから、コンピュータ内のファイルに対して読取りを実行しているプロセスの情報と読取り対象のファイルの情報の通知を受けたとき、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当することを条件として、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知するように構成されたことを特徴とする。
【００１３】
上記の情報漏洩防止システムによれば、情報漏洩防止方法の場合と同様に、ファイルフィルタドライバとファイルフィルタコントローラに基づいて、ファイルフィルタドライバがすべての起動プロセス情報およびファイル情報を集め、これらをファイルフィルタコントローラが選別することにより、通信を利用するプロセス（アプリケーションソフトウェア）の検出と、特定のファイルを読み取るプロセスの検出とを行う。そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意することで、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
【００１４】
第２の情報漏洩防止システム（請求項５に対応）は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段は、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報（実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等）を予め登録し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、かつ情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
【００１５】
第３の情報漏洩防止システム（請求項６に対応）は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段は、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報（実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等）を予め登録し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
【発明の効果】
【００１６】
本発明に係る情報漏洩防止の方法およびシステムによれば、パーソナルコンピュータ等のオペレーティングシステムにおけるファイルシステムのファイルフィルタドライバにすべての起動プロセス情報およびファイル情報を集めさせ、他方、ファイルフィルタコントローラは、これらの情報を選別することにより、通信を利用するプロセス（アプリケーションソフトウェア）の検出と特定のファイルを読み取るプロセスの検出とを行い、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意するようにしたため、企業や組織、個人等で使用するパーソナルコンピュータ等で、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係る情報漏洩防止システムがＰＣに適用された全体的構成を示すブロック図である。
【図２】本発明の実施形態に係る情報漏洩防止システムを備えたＰＣの要部の内部構成を示すブロック図である。
【図３】情報漏洩防止システムで、ファイルフィルタドライバのメソッド（Ａ）と記録される情報の種類（Ｂ）とプロセス・ファイル情報構造体（Ｃ）の関係を示すブロック図である。
【図４】ファイルフィルタドライバとファイルフィルタコントローラの各々の処理に流れと両者の関係を示す図である。
【図５】プロセス起動（３１）における記録内容とプロセスマップ構造体（５１）の値との関係を示す図である。
【図６】モジュールのロード（３２）における記録内容とプロセスマップ構造体（５２）の値との関係を示す図である。
【図７】プロセスの通信開始時におけるプロセスマップ構造体（５３）の値を示す図表である。
【図８】ファイル・オープン前（３３）における記録内容とプロセスマップ構造体（５４）の値との関係を示す図である。
【図９】ファイル読み取り前（３４）における記録内容と条件に応じたプロセスマップ構造体の値と処理内容との関係を示す図である。
【図１０】プロセス終了（３５）における記録内容とプロセスマップ構造体（５５）の削除の関係を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本発明の好適な実施形態（実施例）を添付図面に基づいて説明する。
【００１９】
本発明に係る情報漏洩防止システムは、パーソナルコンピュータ（以下「ＰＣ」と記す）、サーバ、携帯端末コンピュータ等のコンピュータに組み込まれて構成され、これらのコンピュータから、人の故意または誤操作等に起因して特定のファイル（情報）が外部へ漏洩することを防止する機能を有している。ＰＣ等のコンピュータはインターネットに接続され、その通信機能に基づいてインターネットを介して外部との間で情報の送受を行えるように構成されている。この情報漏洩防止システムによれば、人の故意または人の誤操作等によってコンピュータの記憶装置内に格納されている特定のファイルがインターネット上の特定のサーバ等に送信されることを防止する。ここで「特定のファイル」とは外部への情報漏洩が禁止されているファイルという意味である。
【００２０】
図１と図２を参照して本発明の代表的な実施形態に係る情報漏洩防止システムの基本的な構成を説明する。
本実施形態の説明では、情報漏洩システムは代表的な例としてＰＣに組み込まれているものとする。当該情報漏洩システムの機能を実現するプログラムは、ＰＣの記憶装置（ハードディスク）にインストールされている。
【００２１】
図１において、１は情報漏洩防止システム１０が組み込まれたＰＣであり、２は上記の外部の特定のサーバである。ＰＣ１とサーバ２はインターネット３を介して通信可能に接続されている。ＰＣ１には、本実施形態に係る情報漏洩防止システム１０が組み込まれているので、ＰＣ１の記憶装置１Ａ内の特定のファイル４が、ＰＣ１を操作する人の故意または誤操作によってインターネット３上のサーバ２に送信されるおそれがあるときに、これを阻止することができる。
なお図１では、情報漏洩先をサーバ２で示したが、これに限定されるものではなく、一般的には「通信の相手方」である。従って、「クライアントとサーバ」の関係、さらには「クライアントとクライアント」の関係（Peer to Peerという通信形態）にも適用される。
【００２２】
図２に示されるように、ＰＣ１に組み込まれた情報漏洩防止システム１０の機能要素としては、大きく分けて、カーネルモード１００側のファイルフィルタドライバ１１と、ユーザモード２００側のファイルフィルタコントローラ１２とから構成されている。
ファイルフィルタドライバ１１は、オペレーティングシステム５におけるファイルシステム６（ファイルの読書きと削除を行う機能部）の動作に関して機能の追加または変更を加えるためのカーネルモードドライバである。そこで図２では、カーネルモード１００側の区画内にファイルフィルタドライバ１１を示している。他方、このようなファイルシステム６におけるファイルフィルタドライバ１１の特徴を利用して、オペレーティングシステム５内で動作中の複数のアプリケーションソフトウェア１３（以下「プロセス１３」という）のすべてでのファイルの読書きまたは削除の動作状態を把握することに特化したファイルフィルタドライバ１１を作成することができる。換言すると、ファイルフィルタＡＰＩを使ってカーネルモードドライバを作成したものを特に「ファイルフィルタドライバ」と呼んでいる。
ＰＣ１のオペレーティングシステム５におけるファイルシステム６のファイルフィルタドライバは、すべての起動プロセスの情報、すべてのファイル情報（ファイル読取り情報およびファイル書込み情報等）を検出する機能を有する。
【００２３】
上記のファイルフィルタドライバ１１は、カーネルモード１００で動作するドライバ（カーネルモードドライバ）１つであり、オペレーティングシステム５のカーネルモード１００で利用できる機能の一部は、ファイルシステム６の関係以外であっても、当該ファイルフィルタドライバ１１に追加することができる。
【００２４】
一方、上記のファイルフィルタドライバ１１に対して、ユーザーモード２００側の内部に「コントロールプログラム」、すなわち前述したファイルフィルタコントローラ１２を用意する。ファイルフィルタコントローラ１２は、ファイルフィルタドライバ１１において、処理負荷の大きい処理を実行させたり、或いはカーネルモード１００では提供されないオペレーティングシステム５の機能を利用するために、ファイルフィルタドライバ１１の機能を支援する。このファイルフィルタコントローラ１２は、基本的機能として、ファイルフィルタドライバ１１からの情報を取得し（手順Ｐ１）、その情報に基づいて所定の処理を行い、そしてその処理の結果をファイルフィルタドライバへ返す（手順Ｐ２）という機能を有するように構成されている。本発明の実施形態に係る情報漏洩防止システムの場合には、上記の所定の処理に関し、ファイルフィルタコントローラ１２は、「ＴＣＰテーブル／ファイアウォール」１４を介してインターネット３を利用しているプロセス１３の検出を行う（手順Ｐ３）。
【００２５】
ファイルフィルタコントローラ１２でのプロセス１３の検出に関連して、上記の手順Ｐ１では、ファイルフィルタドライバ１１は、検出された上記プロセス１３が、漏洩を阻止したい特定のファイル４に対して読取りを実行していることをファイルフィルタコントローラ１２に通知する。それに対して、上記の手順Ｐ２では、ファイルフィルタコントローラ１２は、特定のファイル４の読取りを拒否する命令をファイルフィルタドライバ１１へ通知する。この結果、ファイルフィルタドライバ１１は、通知された読取り拒否命令に従って、通信実行アプリケーションソフトウェアに係るプロセス１３に基づく特定のファイル４の読取り動作の拒否を行う。
以上により、ファイルフィルタドライバ１１は、オペレーティングシステム５内におけるすべてのプロセス情報およびファイル情報をファイルフィルタコントローラ１２に送る。他方、ファイルフィルタコントローラ１２では、ファイルフィルタドライバ１１から送られた上記の情報を受け取り、すべてのプロセス情報の中から通信を利用しているプロセスを選別し、さらにすべてのファイル読取り情報の中から特定のフォルダのファイル読取り情報だけを選別する。ファイルフィルタドライバ１１が集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラ１２が選別することにより、通信を利用するプロセス（アプリケーションソフトウェア）の検出と、特定のファイルを読み取るプロセスの検出とを行う。そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意する。これにより、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
【００２６】
上記のごとき本実施形態に係る情報漏洩防止システム１０では、前提として、予め、漏洩を阻止したいファイル４のパス、或いは、漏洩阻止対象のファイル４が存在するディレクトリのパスを、ファイルフィルタコントローラ１２の記憶部１２Ａに登録している。
なお、ファイル（実行ファイル（アプリケーションソフトウェア等）を含む）を識別するまたは特定する情報としては、パス、ファイルの作られた時間（または時刻）、ファイルの組成等、様々なものが存在するが、本実施形態では、説明の便宜上「パス」の例で説明する。
【００２７】
また、反対に、企業の業務などで使用するインターネット３上のサーバと通信するアプリケーションソフトウェア（プロセス）であって、この情報漏洩防止システム１０による管理対象から外したいアプリケーションソフトウェアである場合には、予め、当該アプリケーションソフトウェアの実行ファイルのパスをファイルフィルタコントローラ１２の記憶部１２Ａに登録することができる。以下において、管理対象から外したアプリケーションソフトウェアを「例外ソフトウェア」と記す。
【００２８】
さらに、インターネット３を経由して通信するアプリケーションソフトウェア（プロセス）であっても、本来的には阻止対象である特定のファイル４の読取りを許可したいアプリケーションソフトウェアである場合には、予め、当該アプリケーションソフトウェアのパスをファイルフィルタコントローラ１２の記憶部１２Ａに登録することができる。この登録の場合には、登録したアプリケーションソフトウェアが、阻止対象の特定のファイル４を読み取りした場合であってインターネット３を経由して通信を行ったとき、ファイルフィルタコントローラ１２がその通信を強制的に遮断する。こうして、阻止対象の特定なファイル４の情報漏洩を防止する一方で、登録したアプリケーションソフトウェアが阻止対象である特定のファイル４をＰＣ１内で使用することは許可される。以下において、読取りを許可するため登録したアプリケーションソフトウェアを「通信強制遮断ソフトウェア」と記す。
【００２９】
情報漏洩防止システム１０で上記機能を達成するため、手順Ｐ１〜Ｐ３に示したファイルフィルタドライバ１１とファイルフィルタコントローラ１２の間の情報の受渡しには、実際の詳細構成としては複数の段階があり、また上記機能の達成に応じたデータの管理および相互の情報のやり取りが行われる。
【００３０】
次に図３〜図１０を参照して、ファイルフィルタドライバ１１がファイルフィルタコントローラ１２に対して送信する情報を説明する。
図３は、（Ａ）ファイルフィルタドライバ１１のメソッド（操作内容）と、（Ｂ）ファイルフィルタドライバ１１内に記録される情報の種類と、（Ｃ）プロセスおよびファイルの情報構造体（「プロセス・ファイル情報構造体」）との関係を示している。また図４は、ファイルフィルタドライバ１１でのメソッドの流れとファイルフィルタコントローラ１２での処理の流れと、両者の間での送受関係とを示している。
ファイルフィルタドライバ１１とファイルフィルタコントローラ１２との間で通信を行うこと自体は一般的な開発手法である。本発明に係る情報漏洩防止システムでは、特に、送信される情報の内容、および通信のタイミングに特徴を有している。
【００３１】
図３に示されるように、ファイルフィルタドライバ１１がファイルフィルタコントローラ１２に対して送信する情報の種類としては、次の通りである。
（１）プロセスが読み書きをしているファイルの情報（ファイル情報２１）
（２）起動プロセスの情報（起動プロセス情報２２）
（３）起動プロセスにロードされるモジュールの情報（モジュール情報２３）
【００３２】
これらの情報２１〜２３は、ファイルフィルタドライバ１１のメソッド３０内に収集されると共に、すべて同じ構造体であるプロセス・ファイル情報構造体４０のインスタンスに記録され、さらに前述した通りファイルフィルタコントローラ１２へ渡される（手順Ｐ１）。
以下では、プロセス・ファイル情報構造体４０のインスタンスへの記録の過程を説明することによって、メソッド３０の役割を説明する。
【００３３】
ファイルフィルタドライバ１１のメソッド３０において、プロセス１３が起動するとき（「プロセス起動」３１）、ファイルフィルタドライバ１１は、起動プロセスの情報２２を検出することができる。
このメソッド（「プロセス起動」３１）において、プロセス・ファイル情報構造体４０で、データ種別４１には、起動プロセスであることを示す「プロセス起動フラグ」が記録される。またプロセスＩＤ４２には、起動中のプロセス１３の識別子（ＩＤ）が記録される。親プロセスＩＤ４３には、プロセスＩＤ４２で識別されるプロセス１３を起動したプロセスの識別子（ＩＤ）が記録される。ファイルパス４５には起動プロセスの実行ファイルのパスが記録される。ファイル種別４６には実行可能ファイル・フラグが記録される。
【００３４】
次に、プロセス１３が起動するとき、或いはプロセス１３が起動した後、特定の機能を必要とするために、特定の機能を有したモジュールファイルをプロセス１３内にロードするとき（例えば、通信機能が必要なプロセスは、通信モジュールファイルをプロセス内にロードする等）、ファイルシステムドライバ１１はそのモジュール情報を検出することができる（「モジュールのロード」３２）。
このメソッド（「モジュールのロード」３２）の場合、プロセス・ファイル情報構造体４０のデータ種別４１には、プロセス１３がモジュールをロードしていることを示すロードモジュールフラグが記録される。プロセスＩＤ４２には、モジュールがロードされているプロセスの識別子（ＩＤ）が記録される。ファイルパス４５には、ロードしているモジュールのファイルパスが記録される。ファイル種別４６には、モジュールのファイル種別が記録される。例えば、ＤＬＬモジュールであれば「ＤＬＬフラグ」である。
【００３５】
プロセス１３は、書き込みアクセス、読み取りアクセス、削除アクセスを行う前に、必ずファイルのオープン処理を行う。ファイルのオープン処理には、書き込み専用オープン、読み取り専用オープン、および、書き込み兼読み取りオープンがある。プロセス１３が、ファイルの読み取りを行うことしか興味がなくても、書き込み兼読み取りオープンを行うことがしばしばある。逆に書き込みしか興味がなくても、書き込み兼読み取りオープンを行うことがしばしばある。以下の説明では、「オープン」は、上記の書き込みオープン、読み取りオープン、書き込み兼読み取りオープンのすべてを含むものとする。
【００３６】
次に、プロセス１３がファイルをオープンする直前、ファイルフィルタドライバ１１は、プロセス１３がオープンする前のファイルの情報を検出することができる（「ファイル・オープン前」３３）。
このメソッド（「ファイル・オープン前」３３）の場合、プロセス・ファイル情報構造体４０のデータ種別４１には、プロセス１３がファイルをオープンしようとしていることを示すファイルオープンフラグが記録される。プロセスＩＤ４２には、ファイルをオープンしようとしているプロセスの識別子（ＩＤ）が記録される。ファイルサイズ４４にはオープンしようとしているファイルのサイズが記録される。ファイルパス４５には、プロセス１３がオープンしようとしているファイルのパスが記録される。ファイル種別４６には、プロセス１３がオープンしようとしているファイルの種別が記録される。ファイルの種別の決定方法としては様々な方法が存在する。一例としては、ファイルの拡張子から決定する方法がある。例えば、.enc拡張子を持ったファイルが、暗号化ファイルだったときは、ファイル種別４６には暗号ファイル・フラグが記録される。ファイル・コンテンツ４７には、プロセス１３がオープンしようとしているファイルの中身（コンテンツ）の一部、またはすべてがバイナリーデータとして記録される。
以上のごとく、ユーザーモード２００のプロセス１３がファイルをオープンする前に、ファイルフィルタドライバ１１が別途そのファイルをオープンし、当該ファイルを読み取ることができる。
【００３７】
なおＰＣ１（コンピュータ）のパフォーマンスを考え、ファイル内容の取得は、すべてのファイルに対して行うこともでき、または、ファイル種別４６に応じて選択的に行うこともできる。
そして、コンテンツ・サイズ４８には、ファイル・コンテンツ４７で記録されたコンテンツのサイズが記録される。
【００３８】
本発明の情報漏洩防止システム１０の特徴点は、インターネット３にアクセスしているプロセス１３が人の故意または誤操作等に起因して特定のファイル４を漏洩するというおそれがあるときに、その漏洩を自動的に防止する点にある。従って、ファイルフィルタコントローラ１２は、プロセス１３がファイルをオープンした後、実際にファイルの読み取りを行う直前の動作を知る必要がある。或るプロセス１３がファイルの読み取りを行うことを阻止する動作は、ファイルオープンの段階（「モジュールのロード」３２）でも達成することができる。しかしながら、上記のように、プロセス１３は、しばしば、ファイルの書き込みしか興味がなくても、読み取り兼書き込みモードでファイルをオープンすること多いため、「モジュールのロード」３２の段階では、プロセス１３が、実際はファイルの読み取りを行いたいのか、或いは、書き込みを行いたいのか判断できない。従って、プロセス１３がファイルの読み取り兼書き込みモードでファイルをオープンした場合には、必ず、プロセス１３が実際に読み取り動作を行うか、を確認するまで待たなくてはならない。
【００３９】
次いで、プロセス１３がファイルの読み取りを行う直前の動作をファイルフィルタドライバ１１は検出することができる（「ファイル読み取り前」３４）。
このメソッド（「ファイル読み取り前」３４）において、プロセス・ファイル構造体４０のデータ種別４１には、プロセス１３がファイルの読み取りを開始したことを示す読み取り開始フラグが記録される。プロセスＩＤ４２には、ファイルの読み取りを開始したプロセス１３の識別子（ＩＤ）が記録される。ファイルパス４５には、プロセス１３が読み取りを開始したファイルのパスが記録される。
【００４０】
最後に、終了するプロセス１３の情報を、ファイルフィルタドライバ１１は検出することができる（「プロセス終了」３５）。
このメソッド（「プロセス終了」３５）において、プロセス・ファイル構造体４０のデータ種別４１には、プロセスが終了していることを示すプロセス終了フラグが記録される。プロセスＩＤ４２には終了するプロセス１３の識別子（ＩＤ）が記録される。
【００４１】
ファイルフィルタコントローラ１２は、ファイルフィルタドライバ１１から提供された上記の情報（「プロセス起動」３１、「モジュールのロード」３２、「ファイル・オープン前」３３、「ファイル読み取り前」３４、および「プロセス終了」３５の各メソッド）に基づいて、オペレーティングシステム５内の、すべての起動プロセス１３のファイルアクセス状態（手順Ｐ１）、通信状態（手順Ｐ３）を管理し、インターネット３との通信を開始したプロセス１３が、阻止対象である特定のファイル４を読み取った場合に、ファイル読み取り阻止命令をファイルフィルタドライバ１１に対して送信する（手順Ｐ２）。
【００４２】
次に、図４〜図１０を参照して、ファイルフィルタコントローラ１２内で作成し管理する情報（「プロセスマップ構造体の値」）の説明を通して、本実施形態に係る情報漏洩防止システム１０がいかに特定のファイル４の情報漏洩を阻止するかを説明する。
【００４３】
図４は、ファイルフィルタドライバ１１とファイルフィルタコントローラ１２との関係において、各々での処理の流れおよび全体の処理の流れを示している。ファイルフィルタドライバ１１の側では、「プロセスの起動」３１、「モジュールのロード」３２、「ファイル・オープン前」３３、「ファイル読み取り前」３４等の各メソッドが示されている。ファイルフィルタコントローラ１２の側では、ファイルフィルタドライバ１１側で示された各メソッドに対応して、プロセス・ファイル情報構造体４０のインスタンスに記録された内容を受け取り、この記録内容に基づいてプロセスマップ構造体５１〜５４を作成する処理の構成が示されている。プロセスマップ構造体５１〜５４がファイルフィルタコントローラ１２内で作成され管理される情報となる。プロセスマップ構造体５１〜５４の内容は、それぞれ、図５、図６、図７、図８、図９に示されている。ファイルフィルタコントローラ１２の側では、最終的に、「ファイル読み取り前」３４のメソッドに応じて作成された２つのプロセスマップ構造体５４の各内容に基づいて、「通信の切断」の処理５５を実行するか、またはファイルフィルタドライバ１１側に対して「読み取りキャンセル」５６を実行させるための指令５７を送信する。
【００４４】
上記のプロセスマップ構造体５１〜５４は「プロセス情報連想配列」として定義されるデータ構造体である。「プロセス情報連想配列」であるプロセスマップ構造体５１〜５４は、起動中のプロセス１３の「プロセスＩＤ」を「キー（添え字）」とし、「構造体のインスタンス」を「対応する値」（以下「値」と記す）」とするデータ構造を有している。このようなプロセス情報連想配列は、一般に、「キー」に対応する「値」をすばやく検索する必要がある際に利用されるデータ構造体である。
【００４５】
プロセス情報連想配列の「キー」と「値」のペアは、ファイルフィルタドライバ１１から受け取ったプロセス・ファイル情報構造体４０のインスタンスの、データ種別４１がプロセス起動フラグを持つ場合に新規に作成される。こうしてプロセスマップ構造体５１が作成される。
【００４６】
図５は、プロセス起動３１の記録内容（プロセス・ファイル情報構造体４０のインスタンスに記録された内容）から作成されるプロセスマップ構造体５１の値を示す。プロセス起動３１のメソッドで作られるプロセス・ファイル情報構造体４０の記録内容は図３（Ｃ）で説明した通りであり、さらに図５の（Ａ）に示される通りである。
【００４７】
なお図５〜図１０において、ブロック内の「×」の印は「記録されず（ブランク状態）」を意味し、「点々」の背景は「新規更新」を意味し、「縦方向破線」の背景は「更新済み（データの持ち越し）」を意味している。
【００４８】
従って、図５の（Ａ）に示したプロセス起動３１の記録内容では、ファイルサイズ４４、ファイル・コンテンツ４７、コンテンツ・サイズ４８はブランク状態であり、「プロセス起動フラグ」４１Ａ、「起動プロセスＩＤ」４２Ａ、「親プロセスＩＤ」４３Ａ、「起動プロセスのファイルパス」４５Ａ、実行ファイル４６Ａが記録されている。また図５（Ｂ）のプロセスマップ構造体５１の値では、ファイル内容メモリ６４、通信状態６７、通信切断フラグ６８はブランク状態であり、その他の値、すなわち「起動プロセスの親ＩＤ」６２、「起動プロセスのパス」６３、システムプロセスフラグ６５、例外プロセスフラグ６６、通信強制遮断フラグ６９の各値は新規更新されている。
【００４９】
図５において、ファイルフィルタドライバ１１から受け取ったプロセス・ファイル情報構造体４０のインスタンスの、データ種別４１が「プロセス起動フラグ」４１Ａを持つので、プロセスマップ構造体５１が新規に作成される。記録内容における「起動プロセスＩＤ」４２Ａがプロセス情報連想配列のキーとしてプロセスマップ構造体５１に挿入される（「キー」６１）。「親プロセスＩＤ」４３Ａは「起動プロセスの親ＩＤ」６２へコピーされる。「起動プロセスのファイルパス」４５Ａは「起動プロセスのパス」６３へコピーされる。「起動プロセスのパス」６３が、システムプロセスのパスであることがわかっている場合、或いは、「起動プロセスのパス」６３がシステムディレクトリ内にある場合、システムプロセスフラグ６５がＯＮとなる。また、「起動プロセスの親ＩＤ」６２が明らかにオペレーティングシステムのシステム維持に係わるプロセスである場合、システムプロセスフラグ６５がＯＮとなる。「起動プロセスのパス」６３が、あらかじめ指定した例外プロセスと一致する場合、例外プロセスフラグ６６がＯＮとなる。「起動プロセスのパス」６３が、あらかじめ指定した通信強制遮断プロセスのパスと一致する場合、通信強制遮断フラグ６９がＯＮとなる。
【００５０】
以下の説明では、プロセスマップ構造体５１等の値、すなわちプロセス情報連想配列の値への記録に関する記述はすべて、ファイルフィルタドライバ１１から通知されたプロセスＩＤ等をキーとして、プロセス情報連想配列の値を検索する動作が前提になる。
【００５１】
次に、図４と図６を参照して、図３に示したプロセス・ファイル情報構造体４０において、データ種別４１がロード・モジュール・フラグを持つ場合、かつ、プロセス１３がロードしているモジュールのファイルパス４５が明らかに通信モジュールを示している場合の例を説明する。
【００５２】
図４において、ファイルフィルタドライバ１１の「モジュールのロード」３２に対応してファイルフィルタコントローラ１２内でプロセスマップ構造体５２が作成される。「モジュールのロード」３２における記録内容、およびプロセスマップ構造体５２の値の具体的内容を図６に示す。
【００５３】
図６の（Ａ）に示した「モジュールのロード」３２の記録内容では、親プロセスＩＤ４３、ファイルサイズ４４、ファイル・コンテンツ４７、コンテンツ・サイズ４８はブランク状態である。ファイルパス４５には、「モジュールのファイルパス」４５Ｂが記録されている。さらに「モジュールのロード」３２では、「ロードモジュールフラグ」４１Ｂ、「モジュールを取り込んでいるプロセスのＩＤ」４２Ｂ、「モジュール種別」４７が記録されている。また図６（Ｂ）のプロセスマップ構造体５２の値では、ファイル内容メモリ６４、通信切断フラグ６８はブランク状態であり、キー６１、「起動プロセスの親ＩＤ」６２、「起動プロセスのパス」６３、システムプロセスフラグ６５、例外プロセスフラグ６６、通信強制遮断フラグ６９の各値は更新済みであり、通信状態６７に関して通信モジュールロードフラグ６７Ｂが新たに新規更新される。「モジュールのロード」３２の記録内容に基づくプロセス構造体５２の作成は、図５で説明した内容と基本的に同じである。プロセスマップ構造体５２では、特に、その通信状態６７のフラグに通信モジュールロードフラグ６７Ｂがセットされる。
【００５４】
ＰＣ１のオペレーティングシステム５は、すべてのプロセス１３の通信状態（通信相手方の応答待機、接続完了、通信切断など）を「ＴＣＰテーブル／ファイアウォール」１４によって管理しており、ＡＰＩを通じて、特定のプロセス１３の通信状態、通信相手方のインターネットアドレスを検出することができるように設計されている。またＡＰＩを通じて特定のプロセス１３の通信状態を変更することができるよう設計されている。従って、図１に示すように、例えば、インターネット３を経由して外部のサーバ２と接続を確立したプロセス１３の通信を遮断することができるように設計されている。
【００５５】
ファイルフィルタコントローラ１２は、前述の仕組みを利用して、プロセス情報連想配列であるプロセスマップ構造体５１等に記録された起動プロセス識別子（キー６１の内容）によって識別されるプロセス１３の通信相手方のアドレスおよび通信状態を検出する。
【００５６】
図４で、ファイルフィルタドライバ１１の「モジュールのロード」３２に対応してファイルフィルタコントローラ１２内でプロセスマップ構造体５２が作成された後において、プロセスマップ構造体５２で記録されたプロセスＩＤの１つが、不明のアドレスを持つ通信相手方と接続を確立しているプロセスＩＤの１つと一致する場合には、プロセスマップ構造体５３が作成される。プロセスマップ構造体５３の値の内容を図７に示す。プロセスマップ構造体５３は、その通信状態６７において通信開始フラグ６７Ｃが新規更新される。その他の値については前述したプロセスマップ構造体５２の値と同じである。
【００５７】
次に、図４と図８を参照して、図３に示したプロセス・ファイル情報構造体４０において、データ種別４１がファイルオープンフラグになっている場合、かつ、オープンファイルのサイズがゼロ以上、かつ、オープンファイルのパスが阻止対象のファイルのパスと一致する場合の例を説明する。
【００５８】
図４において、ファイルフィルタドライバ１１の「ファイル・オープン前」３３に対応してファイルフィルタコントローラ１２内で、場合に応じて、２つのプロセスマップ構造体５４が作成される。第１のプロセスマップ構造体５４はプロセスマップ構造体５３に対応して作成されるものであり、第２のプロセスマップ構造体５４はプロセスマップ構造体５２に対応して作成されるものである。「ファイル・オープン前」３３における記録内容、およびプロセスマップ構造体５４の値の具体的内容を図８に示す。
【００５９】
図８では、（Ａ）で「ファイル・オープン前」３３の記録内容が示され、（Ｂ）でプロセスマップ構造体５４の値の内容が示されている。
「ファイル・オープン前」３３の記録内容では、「親プロセスＩＤ」４３はブランク状態であり、「ファイルオープンフラグ」４１Ｄ、「ファイルをオープンしているプロセスのＩＤ」４２Ｄ、「オープンしているファイル全体のサイズ」４４Ｄ、「オープンしているファイルの種別」４６Ｄ、ファイル・コンテンツ４７、コンテンツ・サイズ４８が記録されている。
また、プロセスマップ構造体５４の値では、通信切断フラグ６８はブランク状態であり、キー６１、「起動プロセスの親ＩＤ」６２、「起動プロセスのパス」６３、システムプロセスフラグ６５、例外プロセスフラグ６６、通信開始フラグ６７Ｃ、通信強制遮断フラグ６９の各値は更新済みであり、ファイル内容メモリ６４Ｄが新たに新規更新される。すなわち、図３で説明したプロセス・ファイル情報構造体４０でデータ種別４１が「ファイルオープンフラグ」４１Ｄになっている場合、かつ、「オープンしているファイル全体のサイズ」４４Ｄがゼロ以上、かつ、「オープンしているファイルのパス」４５Ｄが阻止対象の特定ファイルのパスと一致する場合、ファイル・コンテンツ４７が、コンテンツ・サイズ４８の分、プロセスマップ構造体５４の「ファイル内容メモリ」６４Ｄへコピーされる。
【００６０】
上記の「ファイル内容メモリ」６４Ｄは、下記の（１）〜（３）のいずれかの場合に使用される。
（１）「オープンしているファイルのパス」４５Ｄからは、オープンしているファイルが実際は何のファイルであるか判別がつかない場合。
（２）オペレーティングシステム５がシステム維持のために重要な役割を果たしているファイル（以下「システムファイル」と記す）の識別を行う場合。
（３）阻止対象のファイルパスであっても、暗号ファイルであり、ファイルフィルタコントローラ１２が阻止対象から除外することを判断する場合。
【００６１】
次に、図４と図９を参照して、図３に示したプロセス・ファイル情報構造体４０において、データ種別４１が「読み取り開始フラグ」になっている場合のいくつかの例を説明する。
【００６２】
図４において、ファイルフィルタドライバ１１の「ファイル読み取り前」３４に対応してファイルフィルタコントローラ１２内で、場合に応じて、２つのプロセスマップ構造体５４が作成される。第１のプロセスマップ構造体５４は、判断ステップのブロックで表現されかつ前のプロセスマップ構造体５２，５３，５４の流れに対応して作成されるものであり、第２のプロセスマップ構造体５４はプロセスマップ構造体５２，５４の流れに対応して作成されるものである。「ファイル読み取り前」３４における記録内容、および２つのプロセスマップ構造体５４の値の具体的内容を図９に示す。
【００６３】
図９に示した「ファイル読み取り前」３４の記録内容では、「親プロセスＩＤ」４３、「ファイルサイズ」４４、ファイル種別４６、ファイル・コンテンツ４７、ファイル・サイズ４８がブランク状態であり、「読み取り開始フラグ」４１Ｅ、「読み取り開始プロセスのＩＤ」４２Ｅ、「読み取りファイルのパス」４５Ｅが記録されている。
【００６４】
図９において、プロセス・ファイル情報構造体４０で、データ種別４１が「読み取り開始フラグ」４１Ｅになっている場合であって、「読み取りファイルのパス」４５Ｅが阻止対象のファイルのパスと一致する場合、かつ、通信状態６７が「通信開始フラグ」６７Ｃである場合、かつ、「ファイル内容メモリ」６４Ｄがシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ６６およびシステムプロセスフラグ６５がＯＦＦの場合、かつ、通信強制切断フラグ６９がＯＦＦの場合には、ファイルフィルタコントローラ１２は、ファイルフィルタドライバ１１に対して、「読み取りファイルのパス」４５Ｅを持つ「ファイル読み取りキャンセルフラグ」をＯＮにしたデータを送信する（ステップＳ１１）。このステップＳ１１は、図４に示した指令５７と「読み取りキャンセル」５６に対応している。
上記により、ファイルフィルタドライバ１１は、ファイル読み取りメソッドの中で、ファイルの「読み取りのキャンセル」５６を行う。このようにして、図１に示すごとく、ＰＣ１において、インターネット３を利用した状態で、阻止対象の特定のファイル４がインターネット３へ漏洩することを阻止することができる（状態Ｓ１００）。
【００６５】
図９において、次に、プロセス・ファイル情報構造体４０で、データ種別４１が「読み取り開始フラグ」４１Ｅになっている場合であって、「読み取りファイルのパス」４５Ｅが阻止対象のファイルのパスと一致する場合、かつ、通信状態６７が「通信開始フラグ」６７Ｃである場合、かつ、「ファイル内容メモリ」６４Ｄ）がシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ６６およびシステムプロセスフラグ６５がＯＦＦの場合、かつ、通信強制遮断フラグ６９のパスが指定した通信遮断プロセスのパスと一致する場合（通信強制切断フラグ６９がＯＮの場合）には、ファイルフィルタコントローラ１２は、上述したようにオペレーティングシステム５の適切なＡＰＩを使い、通信強制遮断フラグ６９に対応するプロセス識別子（ＩＤ）６２を持つプロセスの通信を切断する（ステップＳ１２）。このステップＳ１２は、図４に示した、判断ステップ形式で表現されたプロセスマップ構造体５４（「通信強制切断フラグＯＮ」の場合）と「通信の切断」５５に対応している。この場合、前述の「読み取りキャンセル」５６は実行されないので、プロセスの読み取りは実行されることになる。
上記により、前もって指定したプロセスのファイル読み取りを許可する一方、通信を遮断することで、阻止対象の特定のファイル４がインターネット３へ漏洩することを阻止することができる（状態Ｓ１００）。
【００６６】
図９において、さらに次に、プロセス・ファイル情報構造体４０で、データ種別４１が「読み取り開始フラグ」４１Ｅになっている場合であって、「読み取りファイルのパス」４５Ｅが阻止対象のファイルのパスと一致する場合、かつ、通信状態６７のフラグが「ロード・モジュール・フラグ」の場合、かつ、ファイル内容メモリ６４Ｄがシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ６６およびシステムプロセスフラグ６５がＯＦＦの場合、通信切断フラグ６８ＥをＯＮにセットする。
通信切断フラグ６８ＥがＯＮの状態で、通信状態の通信開始フラグがＯＮになった場合（「通信モジュールロードフラグ」６７Ｂの場合）、ファイルフィルタコントローラ１２は、上述したようにオペレーティングシステム５の適切なＡＰＩを使い、通信状態フラグ（「通信モジュールロードフラグ」６７Ｂ）に対応するプロセス識別子（ＩＤ）６１を持つプロセスの通信を切断する（ステップＳ１３）。このステップＳ１３は、図４に示した、「モジュールのロード」３２、プロセスマップ構造体５２、さらに２つのプロセスマップ構造体５４、および「通信の切断」５５の流れに対応している。
上記のようにして、プロセス１３が、阻止対象の特定のファイル４の読み取りを完了した後でも、当該ファイル４がインターネット３へ漏洩することを阻止することができる。
【００６７】
図１０は、図３に示した「プロセス終了」３５のメソッドに対応するプロセス・ファイル情報構造体４０の記録内容を示している。このプロセス・ファイル情報構造体４０の記録内容では、「親プロセスＩＤ」４３、「ファイルサイズ」４４、「ファイルパス」４５、ファイル種別４６、ファイル・コンテンツ４７、コンテンツ・サイズ４８がブランク状態であり、「データ種別」４１と「プロセスＩＤ」４２が記録されている。このプロセス・ファイル情報構造体４０の記録内容において、データ種別４１が「プロセス終了フラグ」４１Ｆの場合、ファイルフィルタコントローラ１２は、「終了プロセスの識別子（ＩＤ）」４２Ｆに相当するプロセス情報連想配列のデータ、すなわちプロセスマップ構造体５５を削除する。
【００６８】
以上の実施形態で説明された構成、形状、大きさおよび配置関係については本発明が理解・実施できる程度に概略的に示したものにすぎない。従って本発明は、説明された実施形態に限定されるものではなく、特許請求の範囲に示される技術的思想の範囲を逸脱しない限り様々な形態に変更することができる。
【産業上の利用可能性】
【００６９】
本発明に係る情報漏洩防止の方法およびシステムは、企業や組織、個人等で使用するパーソナルコンピュータ等において、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止する目的で利用される。
【符号の説明】
【００７０】
１              パーソナルコンピュータ（ＰＣ）
１Ａ            記憶装置
２              サーバ
３              インターネット
４              特定のファイル
５              オペレーティングシステム
６              ファイルシステム
１０            情報漏洩防止システム
１１            ファイルフィルタドライバ
１２            ファイルフィルタコントローラ
１２Ａ          記憶部
１３            プロセス
１４            ＴＣＰテーブル／ファイアウォール
２１            ファイル情報
２２            起動プロセス情報
２３            モジュール情報
３０            メソッド
３１            プロセス起動
３２            モジュールのロード
３３            ファイル・オープン前
３４            ファイル読み取り前
３５            プロセス終了
４０            プロセス・ファイル情報構造体
５１〜５４      プロセスマップ構造体
１００          カーネルモード
２００          ユーザーモード
【図１】
2013246463.tif 000003
【図２】
2013246463.tif 000004
【図３】
2013246463.tif 000005
【図４】
2013246463.tif 000006
【図５】
2013246463.tif 000007
【図６】
2013246463.tif 000008
【図７】
2013246463.tif 000009
【図８】
2013246463.tif 000010
【図９】
2013246463.tif 000011
【図１０】
2013246463.tif 000012