JP2013246463A - 情報漏洩防止の方法およびシステム - Google Patents
情報漏洩防止の方法およびシステム Download PDFInfo
- Publication number
- JP2013246463A JP2013246463A JP2012117403A JP2012117403A JP2013246463A JP 2013246463 A JP2013246463 A JP 2013246463A JP 2012117403 A JP2012117403 A JP 2012117403A JP 2012117403 A JP2012117403 A JP 2012117403A JP 2013246463 A JP2013246463 A JP 2013246463A
- Authority
- JP
- Japan
- Prior art keywords
- file
- information
- information leakage
- leakage prevention
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】企業や組織等で使用するパーソナルコンピュータ等で、人の故意または人の誤操作等による人為的な理由で情報が漏洩するおそれがあるとき当該情報漏洩を確実に防止できる情報漏洩防止の方法およびシステムを提供する。
【解決手段】情報漏洩防止方法等は、ファイルフィルタドライバ11、ファイルフィルタコントローラ12を備える。ファイルフィルタコントローラは、プロセス検出手段と、情報漏洩阻止対象の任意のファイルのパス等を予め登録する記憶部12Aを有する。ファイルフィルタドライバは、ファイル読取りを行うプロセスがあるとき、必要な情報をファイルフィルタコントローラに通知する。ファイルフィルタコントローラは、所定の条件下でファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知する。ファイルフィルタドライバはプロセスの読取り動作の拒否を実行する。
【選択図】図2
【解決手段】情報漏洩防止方法等は、ファイルフィルタドライバ11、ファイルフィルタコントローラ12を備える。ファイルフィルタコントローラは、プロセス検出手段と、情報漏洩阻止対象の任意のファイルのパス等を予め登録する記憶部12Aを有する。ファイルフィルタドライバは、ファイル読取りを行うプロセスがあるとき、必要な情報をファイルフィルタコントローラに通知する。ファイルフィルタコントローラは、所定の条件下でファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知する。ファイルフィルタドライバはプロセスの読取り動作の拒否を実行する。
【選択図】図2
Description
本発明は情報漏洩防止の方法およびシステムに関し、特に、パーソナルコンピュータ(PC)、サーバ、携帯端末コンピュータ等からの情報漏洩の防止について人の故意または人の誤操作等によって特定のファイルをインターネット上の特定の通信相手方等に送信することを防止する情報漏洩防止の方法およびシステムに関する。
マルウェアのよる情報漏洩対策として多くの企業や個人はアンチウィルスソフトウェアを導入している。アンチウィルスソフトウェアは、マルウェアの進入を阻止したり、またはマルウェアの進入を受けた場合には当該マルウェアを削除したり、進入したマルウェアがファイルをインターネット上のサーバに送信することを阻止したりする機能を有している。また従来のアンチウィルスソフトウェアは、PC等を操作する人が、故意にまたは誤操作によって、PC等の内部に存在する特定のファイルをインターネットの特定のサーバに送信して流出させる場合には、これを防止する機能を有していない。
パーソナルコンピュータのデータの安全を確保する技術を開示する先行技術文献として下記の特許文献1を挙げる。この特許文献1に開示されるデータ管理システム等によれば、オペレーティングシステムのファイルシステムとディスクドライバとの間にフィルタドライバを挿入し、オペレーティングシステムがデータ書込命令を発したとき当該フィルタドライバで書込データを書き込むようにしたため、データの悪用を確実に防止することができる。
情報漏洩の防止に関しては、多くの企業や組織等では特に悪意を持った従業員等の故意による情報漏洩や善意の従業員等の誤判断や誤操作に基づく情報漏洩の防止が大きな問題となり、他方、個人では、単純な誤判断や誤操作に基づく情報漏洩の防止が大きな問題となっている。そこで、近年、上記のような情報漏洩の防止に関する技術の強化や、情報漏洩に対するセーフティーネットの設置が強く要望されている。
また上記の特許文献1に記載されたデータ管理システムによれば、データの悪用防止であって、上記のごとき情報漏洩を防止するのためのシステムとしての機能は有さない。
また上記の特許文献1に記載されたデータ管理システムによれば、データの悪用防止であって、上記のごとき情報漏洩を防止するのためのシステムとしての機能は有さない。
本発明の目的は、上記の課題に鑑み、企業や組織、個人等で使用するパーソナルコンピュータ、サーバ、携帯端末コンピュータ等で、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ、サーバ、携帯端末コンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止することができる情報漏洩防止の方法およびシステムを提供することにある。
本発明に係る情報漏洩防止の方法およびシステムは、上記の目的を達成するため、次のように構成される。
第1の情報漏洩防止方法(請求項1に対応)は、
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止方法であり、
ファイルフィルタコントローラは、インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバが、コンピュータ内のファイルに対して読取りを実行しているプロセスがあるとき、プロセスの情報と読取り対象のファイルの情報をファイルフィルタコントローラに通知し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当するとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知し、
ファイルフィルタドライバは、通知された命令に基づきプロセスの読取り動作の拒否を実行する、
ことを特徴とする。
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止方法であり、
ファイルフィルタコントローラは、インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバが、コンピュータ内のファイルに対して読取りを実行しているプロセスがあるとき、プロセスの情報と読取り対象のファイルの情報をファイルフィルタコントローラに通知し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当するとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知し、
ファイルフィルタドライバは、通知された命令に基づきプロセスの読取り動作の拒否を実行する、
ことを特徴とする。
上記の情報漏洩防止方法によれば、PC等のオペレーティングシステムにおけるファイルシステムのファイルフィルタドライバは、すべての起動プロセスの情報、すべてのファイル情報(ファイル読取り情報およびファイル書込み情報等)を検出する機能を有する。オペレーティングシステム内におけるすべてのプロセス情報およびファイル情報は、ファイルフィルタドライバからファイルフィルタコントローラに送られる。他方、ファイルフィルタコントローラでは、ファイルフィルタドライバから送られた上記の情報を受け取り、すべてのプロセス情報の中から通信を利用しているプロセスを選別し、さらにすべてのファイル読取り情報の中から特定のフォルダのファイル読取り情報だけを選別する。
こうして、ファイルフィルタドライバが集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラが選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と、特定のファイルを読み取るプロセスの検出とを行う。
そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意することで、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
こうして、ファイルフィルタドライバが集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラが選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と、特定のファイルを読み取るプロセスの検出とを行う。
そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意することで、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
第2の情報漏洩防止方法(請求項2に対応)は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段では、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報(実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等)が予め登録されており、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
第3の情報漏洩防止方法(請求項3に対応)は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段では、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報(実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等)が予め登録されており、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
第1の情報漏洩防止システム(請求項4に対応)は、
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止システムであり、
ファイルフィルタコントローラは、
インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバから、コンピュータ内のファイルに対して読取りを実行しているプロセスの情報と読取り対象のファイルの情報の通知を受けたとき、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当することを条件として、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知するように構成されたことを特徴とする。
オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、オペレーティングシステム上でファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止システムであり、
ファイルフィルタコントローラは、
インターネットを利用しているプロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
ファイルフィルタドライバから、コンピュータ内のファイルに対して読取りを実行しているプロセスの情報と読取り対象のファイルの情報の通知を受けたとき、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ読取り対象のファイルに係るパスが情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当することを条件として、ファイルフィルタドライバに対してプロセスによるファイル読取りを拒否する命令を通知するように構成されたことを特徴とする。
上記の情報漏洩防止システムによれば、情報漏洩防止方法の場合と同様に、ファイルフィルタドライバとファイルフィルタコントローラに基づいて、ファイルフィルタドライバがすべての起動プロセス情報およびファイル情報を集め、これらをファイルフィルタコントローラが選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と、特定のファイルを読み取るプロセスの検出とを行う。そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意することで、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
第2の情報漏洩防止システム(請求項5に対応)は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段は、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報(実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等)を予め登録し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、かつ情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報に該当し、かつ情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知することを特徴とする。
第3の情報漏洩防止システム(請求項6に対応)は、上記の構成において、好ましくは、ファイルフィルタコントローラの記憶手段は、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報(実行ファイルのパス、実行ファイルの作られた時間、実行ファイルの組成等)を予め登録し、
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
ファイルフィルタコントローラは、通知されたプロセスがインターネットを利用しているプロセスに該当しかつ情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報に該当し、情報漏洩対象のファイルの読取りを実行したとき、ファイルフィルタドライバに対してプロセスによるファイル読取りを許可する命令を通知し、かつインターネットを利用しているプロセスの接続を遮断することを特徴とする。
本発明に係る情報漏洩防止の方法およびシステムによれば、パーソナルコンピュータ等のオペレーティングシステムにおけるファイルシステムのファイルフィルタドライバにすべての起動プロセス情報およびファイル情報を集めさせ、他方、ファイルフィルタコントローラは、これらの情報を選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と特定のファイルを読み取るプロセスの検出とを行い、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意するようにしたため、企業や組織、個人等で使用するパーソナルコンピュータ等で、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止することができる。
以下に、本発明の好適な実施形態(実施例)を添付図面に基づいて説明する。
本発明に係る情報漏洩防止システムは、パーソナルコンピュータ(以下「PC」と記す)、サーバ、携帯端末コンピュータ等のコンピュータに組み込まれて構成され、これらのコンピュータから、人の故意または誤操作等に起因して特定のファイル(情報)が外部へ漏洩することを防止する機能を有している。PC等のコンピュータはインターネットに接続され、その通信機能に基づいてインターネットを介して外部との間で情報の送受を行えるように構成されている。この情報漏洩防止システムによれば、人の故意または人の誤操作等によってコンピュータの記憶装置内に格納されている特定のファイルがインターネット上の特定のサーバ等に送信されることを防止する。ここで「特定のファイル」とは外部への情報漏洩が禁止されているファイルという意味である。
図1と図2を参照して本発明の代表的な実施形態に係る情報漏洩防止システムの基本的な構成を説明する。
本実施形態の説明では、情報漏洩システムは代表的な例としてPCに組み込まれているものとする。当該情報漏洩システムの機能を実現するプログラムは、PCの記憶装置(ハードディスク)にインストールされている。
本実施形態の説明では、情報漏洩システムは代表的な例としてPCに組み込まれているものとする。当該情報漏洩システムの機能を実現するプログラムは、PCの記憶装置(ハードディスク)にインストールされている。
図1において、1は情報漏洩防止システム10が組み込まれたPCであり、2は上記の外部の特定のサーバである。PC1とサーバ2はインターネット3を介して通信可能に接続されている。PC1には、本実施形態に係る情報漏洩防止システム10が組み込まれているので、PC1の記憶装置1A内の特定のファイル4が、PC1を操作する人の故意または誤操作によってインターネット3上のサーバ2に送信されるおそれがあるときに、これを阻止することができる。
なお図1では、情報漏洩先をサーバ2で示したが、これに限定されるものではなく、一般的には「通信の相手方」である。従って、「クライアントとサーバ」の関係、さらには「クライアントとクライアント」の関係(Peer to Peerという通信形態)にも適用される。
なお図1では、情報漏洩先をサーバ2で示したが、これに限定されるものではなく、一般的には「通信の相手方」である。従って、「クライアントとサーバ」の関係、さらには「クライアントとクライアント」の関係(Peer to Peerという通信形態)にも適用される。
図2に示されるように、PC1に組み込まれた情報漏洩防止システム10の機能要素としては、大きく分けて、カーネルモード100側のファイルフィルタドライバ11と、ユーザモード200側のファイルフィルタコントローラ12とから構成されている。
ファイルフィルタドライバ11は、オペレーティングシステム5におけるファイルシステム6(ファイルの読書きと削除を行う機能部)の動作に関して機能の追加または変更を加えるためのカーネルモードドライバである。そこで図2では、カーネルモード100側の区画内にファイルフィルタドライバ11を示している。他方、このようなファイルシステム6におけるファイルフィルタドライバ11の特徴を利用して、オペレーティングシステム5内で動作中の複数のアプリケーションソフトウェア13(以下「プロセス13」という)のすべてでのファイルの読書きまたは削除の動作状態を把握することに特化したファイルフィルタドライバ11を作成することができる。換言すると、ファイルフィルタAPIを使ってカーネルモードドライバを作成したものを特に「ファイルフィルタドライバ」と呼んでいる。
PC1のオペレーティングシステム5におけるファイルシステム6のファイルフィルタドライバは、すべての起動プロセスの情報、すべてのファイル情報(ファイル読取り情報およびファイル書込み情報等)を検出する機能を有する。
ファイルフィルタドライバ11は、オペレーティングシステム5におけるファイルシステム6(ファイルの読書きと削除を行う機能部)の動作に関して機能の追加または変更を加えるためのカーネルモードドライバである。そこで図2では、カーネルモード100側の区画内にファイルフィルタドライバ11を示している。他方、このようなファイルシステム6におけるファイルフィルタドライバ11の特徴を利用して、オペレーティングシステム5内で動作中の複数のアプリケーションソフトウェア13(以下「プロセス13」という)のすべてでのファイルの読書きまたは削除の動作状態を把握することに特化したファイルフィルタドライバ11を作成することができる。換言すると、ファイルフィルタAPIを使ってカーネルモードドライバを作成したものを特に「ファイルフィルタドライバ」と呼んでいる。
PC1のオペレーティングシステム5におけるファイルシステム6のファイルフィルタドライバは、すべての起動プロセスの情報、すべてのファイル情報(ファイル読取り情報およびファイル書込み情報等)を検出する機能を有する。
上記のファイルフィルタドライバ11は、カーネルモード100で動作するドライバ(カーネルモードドライバ)1つであり、オペレーティングシステム5のカーネルモード100で利用できる機能の一部は、ファイルシステム6の関係以外であっても、当該ファイルフィルタドライバ11に追加することができる。
一方、上記のファイルフィルタドライバ11に対して、ユーザーモード200側の内部に「コントロールプログラム」、すなわち前述したファイルフィルタコントローラ12を用意する。ファイルフィルタコントローラ12は、ファイルフィルタドライバ11において、処理負荷の大きい処理を実行させたり、或いはカーネルモード100では提供されないオペレーティングシステム5の機能を利用するために、ファイルフィルタドライバ11の機能を支援する。このファイルフィルタコントローラ12は、基本的機能として、ファイルフィルタドライバ11からの情報を取得し(手順P1)、その情報に基づいて所定の処理を行い、そしてその処理の結果をファイルフィルタドライバへ返す(手順P2)という機能を有するように構成されている。本発明の実施形態に係る情報漏洩防止システムの場合には、上記の所定の処理に関し、ファイルフィルタコントローラ12は、「TCPテーブル/ファイアウォール」14を介してインターネット3を利用しているプロセス13の検出を行う(手順P3)。
ファイルフィルタコントローラ12でのプロセス13の検出に関連して、上記の手順P1では、ファイルフィルタドライバ11は、検出された上記プロセス13が、漏洩を阻止したい特定のファイル4に対して読取りを実行していることをファイルフィルタコントローラ12に通知する。それに対して、上記の手順P2では、ファイルフィルタコントローラ12は、特定のファイル4の読取りを拒否する命令をファイルフィルタドライバ11へ通知する。この結果、ファイルフィルタドライバ11は、通知された読取り拒否命令に従って、通信実行アプリケーションソフトウェアに係るプロセス13に基づく特定のファイル4の読取り動作の拒否を行う。
以上により、ファイルフィルタドライバ11は、オペレーティングシステム5内におけるすべてのプロセス情報およびファイル情報をファイルフィルタコントローラ12に送る。他方、ファイルフィルタコントローラ12では、ファイルフィルタドライバ11から送られた上記の情報を受け取り、すべてのプロセス情報の中から通信を利用しているプロセスを選別し、さらにすべてのファイル読取り情報の中から特定のフォルダのファイル読取り情報だけを選別する。ファイルフィルタドライバ11が集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラ12が選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と、特定のファイルを読み取るプロセスの検出とを行う。そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意する。これにより、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
以上により、ファイルフィルタドライバ11は、オペレーティングシステム5内におけるすべてのプロセス情報およびファイル情報をファイルフィルタコントローラ12に送る。他方、ファイルフィルタコントローラ12では、ファイルフィルタドライバ11から送られた上記の情報を受け取り、すべてのプロセス情報の中から通信を利用しているプロセスを選別し、さらにすべてのファイル読取り情報の中から特定のフォルダのファイル読取り情報だけを選別する。ファイルフィルタドライバ11が集めた起動プロセス情報とファイル読取り情報等についてファイルフィルタコントローラ12が選別することにより、通信を利用するプロセス(アプリケーションソフトウェア)の検出と、特定のファイルを読み取るプロセスの検出とを行う。そしてファイルフィルタコントローラは、通信を利用するプロセスであって特定ファイルを読み上げたプロセスがインターネットとの通信を開始したことを検出した場合には、その特定のファイルの読み取りを阻止する命令をファイルフィルタドライバへ通知し、または、インターネットとの通信を遮断する機能を持たせたソフトウェアを用意する。これにより、人の故意または人の誤操作等による人為的な理由に基づくインターネット上へ情報漏洩を防止する。
上記のごとき本実施形態に係る情報漏洩防止システム10では、前提として、予め、漏洩を阻止したいファイル4のパス、或いは、漏洩阻止対象のファイル4が存在するディレクトリのパスを、ファイルフィルタコントローラ12の記憶部12Aに登録している。
なお、ファイル(実行ファイル(アプリケーションソフトウェア等)を含む)を識別するまたは特定する情報としては、パス、ファイルの作られた時間(または時刻)、ファイルの組成等、様々なものが存在するが、本実施形態では、説明の便宜上「パス」の例で説明する。
なお、ファイル(実行ファイル(アプリケーションソフトウェア等)を含む)を識別するまたは特定する情報としては、パス、ファイルの作られた時間(または時刻)、ファイルの組成等、様々なものが存在するが、本実施形態では、説明の便宜上「パス」の例で説明する。
また、反対に、企業の業務などで使用するインターネット3上のサーバと通信するアプリケーションソフトウェア(プロセス)であって、この情報漏洩防止システム10による管理対象から外したいアプリケーションソフトウェアである場合には、予め、当該アプリケーションソフトウェアの実行ファイルのパスをファイルフィルタコントローラ12の記憶部12Aに登録することができる。以下において、管理対象から外したアプリケーションソフトウェアを「例外ソフトウェア」と記す。
さらに、インターネット3を経由して通信するアプリケーションソフトウェア(プロセス)であっても、本来的には阻止対象である特定のファイル4の読取りを許可したいアプリケーションソフトウェアである場合には、予め、当該アプリケーションソフトウェアのパスをファイルフィルタコントローラ12の記憶部12Aに登録することができる。この登録の場合には、登録したアプリケーションソフトウェアが、阻止対象の特定のファイル4を読み取りした場合であってインターネット3を経由して通信を行ったとき、ファイルフィルタコントローラ12がその通信を強制的に遮断する。こうして、阻止対象の特定なファイル4の情報漏洩を防止する一方で、登録したアプリケーションソフトウェアが阻止対象である特定のファイル4をPC1内で使用することは許可される。以下において、読取りを許可するため登録したアプリケーションソフトウェアを「通信強制遮断ソフトウェア」と記す。
情報漏洩防止システム10で上記機能を達成するため、手順P1〜P3に示したファイルフィルタドライバ11とファイルフィルタコントローラ12の間の情報の受渡しには、実際の詳細構成としては複数の段階があり、また上記機能の達成に応じたデータの管理および相互の情報のやり取りが行われる。
次に図3〜図10を参照して、ファイルフィルタドライバ11がファイルフィルタコントローラ12に対して送信する情報を説明する。
図3は、(A)ファイルフィルタドライバ11のメソッド(操作内容)と、(B)ファイルフィルタドライバ11内に記録される情報の種類と、(C)プロセスおよびファイルの情報構造体(「プロセス・ファイル情報構造体」)との関係を示している。また図4は、ファイルフィルタドライバ11でのメソッドの流れとファイルフィルタコントローラ12での処理の流れと、両者の間での送受関係とを示している。
ファイルフィルタドライバ11とファイルフィルタコントローラ12との間で通信を行うこと自体は一般的な開発手法である。本発明に係る情報漏洩防止システムでは、特に、送信される情報の内容、および通信のタイミングに特徴を有している。
図3は、(A)ファイルフィルタドライバ11のメソッド(操作内容)と、(B)ファイルフィルタドライバ11内に記録される情報の種類と、(C)プロセスおよびファイルの情報構造体(「プロセス・ファイル情報構造体」)との関係を示している。また図4は、ファイルフィルタドライバ11でのメソッドの流れとファイルフィルタコントローラ12での処理の流れと、両者の間での送受関係とを示している。
ファイルフィルタドライバ11とファイルフィルタコントローラ12との間で通信を行うこと自体は一般的な開発手法である。本発明に係る情報漏洩防止システムでは、特に、送信される情報の内容、および通信のタイミングに特徴を有している。
図3に示されるように、ファイルフィルタドライバ11がファイルフィルタコントローラ12に対して送信する情報の種類としては、次の通りである。
(1)プロセスが読み書きをしているファイルの情報(ファイル情報21)
(2)起動プロセスの情報(起動プロセス情報22)
(3)起動プロセスにロードされるモジュールの情報(モジュール情報23)
(1)プロセスが読み書きをしているファイルの情報(ファイル情報21)
(2)起動プロセスの情報(起動プロセス情報22)
(3)起動プロセスにロードされるモジュールの情報(モジュール情報23)
これらの情報21〜23は、ファイルフィルタドライバ11のメソッド30内に収集されると共に、すべて同じ構造体であるプロセス・ファイル情報構造体40のインスタンスに記録され、さらに前述した通りファイルフィルタコントローラ12へ渡される(手順P1)。
以下では、プロセス・ファイル情報構造体40のインスタンスへの記録の過程を説明することによって、メソッド30の役割を説明する。
以下では、プロセス・ファイル情報構造体40のインスタンスへの記録の過程を説明することによって、メソッド30の役割を説明する。
ファイルフィルタドライバ11のメソッド30において、プロセス13が起動するとき(「プロセス起動」31)、ファイルフィルタドライバ11は、起動プロセスの情報22を検出することができる。
このメソッド(「プロセス起動」31)において、プロセス・ファイル情報構造体40で、データ種別41には、起動プロセスであることを示す「プロセス起動フラグ」が記録される。またプロセスID42には、起動中のプロセス13の識別子(ID)が記録される。親プロセスID43には、プロセスID42で識別されるプロセス13を起動したプロセスの識別子(ID)が記録される。ファイルパス45には起動プロセスの実行ファイルのパスが記録される。ファイル種別46には実行可能ファイル・フラグが記録される。
このメソッド(「プロセス起動」31)において、プロセス・ファイル情報構造体40で、データ種別41には、起動プロセスであることを示す「プロセス起動フラグ」が記録される。またプロセスID42には、起動中のプロセス13の識別子(ID)が記録される。親プロセスID43には、プロセスID42で識別されるプロセス13を起動したプロセスの識別子(ID)が記録される。ファイルパス45には起動プロセスの実行ファイルのパスが記録される。ファイル種別46には実行可能ファイル・フラグが記録される。
次に、プロセス13が起動するとき、或いはプロセス13が起動した後、特定の機能を必要とするために、特定の機能を有したモジュールファイルをプロセス13内にロードするとき(例えば、通信機能が必要なプロセスは、通信モジュールファイルをプロセス内にロードする等)、ファイルシステムドライバ11はそのモジュール情報を検出することができる(「モジュールのロード」32)。
このメソッド(「モジュールのロード」32)の場合、プロセス・ファイル情報構造体40のデータ種別41には、プロセス13がモジュールをロードしていることを示すロードモジュールフラグが記録される。プロセスID42には、モジュールがロードされているプロセスの識別子(ID)が記録される。ファイルパス45には、ロードしているモジュールのファイルパスが記録される。ファイル種別46には、モジュールのファイル種別が記録される。例えば、DLLモジュールであれば「DLLフラグ」である。
このメソッド(「モジュールのロード」32)の場合、プロセス・ファイル情報構造体40のデータ種別41には、プロセス13がモジュールをロードしていることを示すロードモジュールフラグが記録される。プロセスID42には、モジュールがロードされているプロセスの識別子(ID)が記録される。ファイルパス45には、ロードしているモジュールのファイルパスが記録される。ファイル種別46には、モジュールのファイル種別が記録される。例えば、DLLモジュールであれば「DLLフラグ」である。
プロセス13は、書き込みアクセス、読み取りアクセス、削除アクセスを行う前に、必ずファイルのオープン処理を行う。ファイルのオープン処理には、書き込み専用オープン、読み取り専用オープン、および、書き込み兼読み取りオープンがある。プロセス13が、ファイルの読み取りを行うことしか興味がなくても、書き込み兼読み取りオープンを行うことがしばしばある。逆に書き込みしか興味がなくても、書き込み兼読み取りオープンを行うことがしばしばある。以下の説明では、「オープン」は、上記の書き込みオープン、読み取りオープン、書き込み兼読み取りオープンのすべてを含むものとする。
次に、プロセス13がファイルをオープンする直前、ファイルフィルタドライバ11は、プロセス13がオープンする前のファイルの情報を検出することができる(「ファイル・オープン前」33)。
このメソッド(「ファイル・オープン前」33)の場合、プロセス・ファイル情報構造体40のデータ種別41には、プロセス13がファイルをオープンしようとしていることを示すファイルオープンフラグが記録される。プロセスID42には、ファイルをオープンしようとしているプロセスの識別子(ID)が記録される。ファイルサイズ44にはオープンしようとしているファイルのサイズが記録される。ファイルパス45には、プロセス13がオープンしようとしているファイルのパスが記録される。ファイル種別46には、プロセス13がオープンしようとしているファイルの種別が記録される。ファイルの種別の決定方法としては様々な方法が存在する。一例としては、ファイルの拡張子から決定する方法がある。例えば、.enc拡張子を持ったファイルが、暗号化ファイルだったときは、ファイル種別46には暗号ファイル・フラグが記録される。ファイル・コンテンツ47には、プロセス13がオープンしようとしているファイルの中身(コンテンツ)の一部、またはすべてがバイナリーデータとして記録される。
以上のごとく、ユーザーモード200のプロセス13がファイルをオープンする前に、ファイルフィルタドライバ11が別途そのファイルをオープンし、当該ファイルを読み取ることができる。
このメソッド(「ファイル・オープン前」33)の場合、プロセス・ファイル情報構造体40のデータ種別41には、プロセス13がファイルをオープンしようとしていることを示すファイルオープンフラグが記録される。プロセスID42には、ファイルをオープンしようとしているプロセスの識別子(ID)が記録される。ファイルサイズ44にはオープンしようとしているファイルのサイズが記録される。ファイルパス45には、プロセス13がオープンしようとしているファイルのパスが記録される。ファイル種別46には、プロセス13がオープンしようとしているファイルの種別が記録される。ファイルの種別の決定方法としては様々な方法が存在する。一例としては、ファイルの拡張子から決定する方法がある。例えば、.enc拡張子を持ったファイルが、暗号化ファイルだったときは、ファイル種別46には暗号ファイル・フラグが記録される。ファイル・コンテンツ47には、プロセス13がオープンしようとしているファイルの中身(コンテンツ)の一部、またはすべてがバイナリーデータとして記録される。
以上のごとく、ユーザーモード200のプロセス13がファイルをオープンする前に、ファイルフィルタドライバ11が別途そのファイルをオープンし、当該ファイルを読み取ることができる。
なおPC1(コンピュータ)のパフォーマンスを考え、ファイル内容の取得は、すべてのファイルに対して行うこともでき、または、ファイル種別46に応じて選択的に行うこともできる。
そして、コンテンツ・サイズ48には、ファイル・コンテンツ47で記録されたコンテンツのサイズが記録される。
そして、コンテンツ・サイズ48には、ファイル・コンテンツ47で記録されたコンテンツのサイズが記録される。
本発明の情報漏洩防止システム10の特徴点は、インターネット3にアクセスしているプロセス13が人の故意または誤操作等に起因して特定のファイル4を漏洩するというおそれがあるときに、その漏洩を自動的に防止する点にある。従って、ファイルフィルタコントローラ12は、プロセス13がファイルをオープンした後、実際にファイルの読み取りを行う直前の動作を知る必要がある。或るプロセス13がファイルの読み取りを行うことを阻止する動作は、ファイルオープンの段階(「モジュールのロード」32)でも達成することができる。しかしながら、上記のように、プロセス13は、しばしば、ファイルの書き込みしか興味がなくても、読み取り兼書き込みモードでファイルをオープンすること多いため、「モジュールのロード」32の段階では、プロセス13が、実際はファイルの読み取りを行いたいのか、或いは、書き込みを行いたいのか判断できない。従って、プロセス13がファイルの読み取り兼書き込みモードでファイルをオープンした場合には、必ず、プロセス13が実際に読み取り動作を行うか、を確認するまで待たなくてはならない。
次いで、プロセス13がファイルの読み取りを行う直前の動作をファイルフィルタドライバ11は検出することができる(「ファイル読み取り前」34)。
このメソッド(「ファイル読み取り前」34)において、プロセス・ファイル構造体40のデータ種別41には、プロセス13がファイルの読み取りを開始したことを示す読み取り開始フラグが記録される。プロセスID42には、ファイルの読み取りを開始したプロセス13の識別子(ID)が記録される。ファイルパス45には、プロセス13が読み取りを開始したファイルのパスが記録される。
このメソッド(「ファイル読み取り前」34)において、プロセス・ファイル構造体40のデータ種別41には、プロセス13がファイルの読み取りを開始したことを示す読み取り開始フラグが記録される。プロセスID42には、ファイルの読み取りを開始したプロセス13の識別子(ID)が記録される。ファイルパス45には、プロセス13が読み取りを開始したファイルのパスが記録される。
最後に、終了するプロセス13の情報を、ファイルフィルタドライバ11は検出することができる(「プロセス終了」35)。
このメソッド(「プロセス終了」35)において、プロセス・ファイル構造体40のデータ種別41には、プロセスが終了していることを示すプロセス終了フラグが記録される。プロセスID42には終了するプロセス13の識別子(ID)が記録される。
このメソッド(「プロセス終了」35)において、プロセス・ファイル構造体40のデータ種別41には、プロセスが終了していることを示すプロセス終了フラグが記録される。プロセスID42には終了するプロセス13の識別子(ID)が記録される。
ファイルフィルタコントローラ12は、ファイルフィルタドライバ11から提供された上記の情報(「プロセス起動」31、「モジュールのロード」32、「ファイル・オープン前」33、「ファイル読み取り前」34、および「プロセス終了」35の各メソッド)に基づいて、オペレーティングシステム5内の、すべての起動プロセス13のファイルアクセス状態(手順P1)、通信状態(手順P3)を管理し、インターネット3との通信を開始したプロセス13が、阻止対象である特定のファイル4を読み取った場合に、ファイル読み取り阻止命令をファイルフィルタドライバ11に対して送信する(手順P2)。
次に、図4〜図10を参照して、ファイルフィルタコントローラ12内で作成し管理する情報(「プロセスマップ構造体の値」)の説明を通して、本実施形態に係る情報漏洩防止システム10がいかに特定のファイル4の情報漏洩を阻止するかを説明する。
図4は、ファイルフィルタドライバ11とファイルフィルタコントローラ12との関係において、各々での処理の流れおよび全体の処理の流れを示している。ファイルフィルタドライバ11の側では、「プロセスの起動」31、「モジュールのロード」32、「ファイル・オープン前」33、「ファイル読み取り前」34等の各メソッドが示されている。ファイルフィルタコントローラ12の側では、ファイルフィルタドライバ11側で示された各メソッドに対応して、プロセス・ファイル情報構造体40のインスタンスに記録された内容を受け取り、この記録内容に基づいてプロセスマップ構造体51〜54を作成する処理の構成が示されている。プロセスマップ構造体51〜54がファイルフィルタコントローラ12内で作成され管理される情報となる。プロセスマップ構造体51〜54の内容は、それぞれ、図5、図6、図7、図8、図9に示されている。ファイルフィルタコントローラ12の側では、最終的に、「ファイル読み取り前」34のメソッドに応じて作成された2つのプロセスマップ構造体54の各内容に基づいて、「通信の切断」の処理55を実行するか、またはファイルフィルタドライバ11側に対して「読み取りキャンセル」56を実行させるための指令57を送信する。
上記のプロセスマップ構造体51〜54は「プロセス情報連想配列」として定義されるデータ構造体である。「プロセス情報連想配列」であるプロセスマップ構造体51〜54は、起動中のプロセス13の「プロセスID」を「キー(添え字)」とし、「構造体のインスタンス」を「対応する値」(以下「値」と記す)」とするデータ構造を有している。このようなプロセス情報連想配列は、一般に、「キー」に対応する「値」をすばやく検索する必要がある際に利用されるデータ構造体である。
プロセス情報連想配列の「キー」と「値」のペアは、ファイルフィルタドライバ11から受け取ったプロセス・ファイル情報構造体40のインスタンスの、データ種別41がプロセス起動フラグを持つ場合に新規に作成される。こうしてプロセスマップ構造体51が作成される。
図5は、プロセス起動31の記録内容(プロセス・ファイル情報構造体40のインスタンスに記録された内容)から作成されるプロセスマップ構造体51の値を示す。プロセス起動31のメソッドで作られるプロセス・ファイル情報構造体40の記録内容は図3(C)で説明した通りであり、さらに図5の(A)に示される通りである。
なお図5〜図10において、ブロック内の「×」の印は「記録されず(ブランク状態)」を意味し、「点々」の背景は「新規更新」を意味し、「縦方向破線」の背景は「更新済み(データの持ち越し)」を意味している。
従って、図5の(A)に示したプロセス起動31の記録内容では、ファイルサイズ44、ファイル・コンテンツ47、コンテンツ・サイズ48はブランク状態であり、「プロセス起動フラグ」41A、「起動プロセスID」42A、「親プロセスID」43A、「起動プロセスのファイルパス」45A、実行ファイル46Aが記録されている。また図5(B)のプロセスマップ構造体51の値では、ファイル内容メモリ64、通信状態67、通信切断フラグ68はブランク状態であり、その他の値、すなわち「起動プロセスの親ID」62、「起動プロセスのパス」63、システムプロセスフラグ65、例外プロセスフラグ66、通信強制遮断フラグ69の各値は新規更新されている。
図5において、ファイルフィルタドライバ11から受け取ったプロセス・ファイル情報構造体40のインスタンスの、データ種別41が「プロセス起動フラグ」41Aを持つので、プロセスマップ構造体51が新規に作成される。記録内容における「起動プロセスID」42Aがプロセス情報連想配列のキーとしてプロセスマップ構造体51に挿入される(「キー」61)。「親プロセスID」43Aは「起動プロセスの親ID」62へコピーされる。「起動プロセスのファイルパス」45Aは「起動プロセスのパス」63へコピーされる。「起動プロセスのパス」63が、システムプロセスのパスであることがわかっている場合、或いは、「起動プロセスのパス」63がシステムディレクトリ内にある場合、システムプロセスフラグ65がONとなる。また、「起動プロセスの親ID」62が明らかにオペレーティングシステムのシステム維持に係わるプロセスである場合、システムプロセスフラグ65がONとなる。「起動プロセスのパス」63が、あらかじめ指定した例外プロセスと一致する場合、例外プロセスフラグ66がONとなる。「起動プロセスのパス」63が、あらかじめ指定した通信強制遮断プロセスのパスと一致する場合、通信強制遮断フラグ69がONとなる。
以下の説明では、プロセスマップ構造体51等の値、すなわちプロセス情報連想配列の値への記録に関する記述はすべて、ファイルフィルタドライバ11から通知されたプロセスID等をキーとして、プロセス情報連想配列の値を検索する動作が前提になる。
次に、図4と図6を参照して、図3に示したプロセス・ファイル情報構造体40において、データ種別41がロード・モジュール・フラグを持つ場合、かつ、プロセス13がロードしているモジュールのファイルパス45が明らかに通信モジュールを示している場合の例を説明する。
図4において、ファイルフィルタドライバ11の「モジュールのロード」32に対応してファイルフィルタコントローラ12内でプロセスマップ構造体52が作成される。「モジュールのロード」32における記録内容、およびプロセスマップ構造体52の値の具体的内容を図6に示す。
図6の(A)に示した「モジュールのロード」32の記録内容では、親プロセスID43、ファイルサイズ44、ファイル・コンテンツ47、コンテンツ・サイズ48はブランク状態である。ファイルパス45には、「モジュールのファイルパス」45Bが記録されている。さらに「モジュールのロード」32では、「ロードモジュールフラグ」41B、「モジュールを取り込んでいるプロセスのID」42B、「モジュール種別」47が記録されている。また図6(B)のプロセスマップ構造体52の値では、ファイル内容メモリ64、通信切断フラグ68はブランク状態であり、キー61、「起動プロセスの親ID」62、「起動プロセスのパス」63、システムプロセスフラグ65、例外プロセスフラグ66、通信強制遮断フラグ69の各値は更新済みであり、通信状態67に関して通信モジュールロードフラグ67Bが新たに新規更新される。「モジュールのロード」32の記録内容に基づくプロセス構造体52の作成は、図5で説明した内容と基本的に同じである。プロセスマップ構造体52では、特に、その通信状態67のフラグに通信モジュールロードフラグ67Bがセットされる。
PC1のオペレーティングシステム5は、すべてのプロセス13の通信状態(通信相手方の応答待機、接続完了、通信切断など)を「TCPテーブル/ファイアウォール」14によって管理しており、APIを通じて、特定のプロセス13の通信状態、通信相手方のインターネットアドレスを検出することができるように設計されている。またAPIを通じて特定のプロセス13の通信状態を変更することができるよう設計されている。従って、図1に示すように、例えば、インターネット3を経由して外部のサーバ2と接続を確立したプロセス13の通信を遮断することができるように設計されている。
ファイルフィルタコントローラ12は、前述の仕組みを利用して、プロセス情報連想配列であるプロセスマップ構造体51等に記録された起動プロセス識別子(キー61の内容)によって識別されるプロセス13の通信相手方のアドレスおよび通信状態を検出する。
図4で、ファイルフィルタドライバ11の「モジュールのロード」32に対応してファイルフィルタコントローラ12内でプロセスマップ構造体52が作成された後において、プロセスマップ構造体52で記録されたプロセスIDの1つが、不明のアドレスを持つ通信相手方と接続を確立しているプロセスIDの1つと一致する場合には、プロセスマップ構造体53が作成される。プロセスマップ構造体53の値の内容を図7に示す。プロセスマップ構造体53は、その通信状態67において通信開始フラグ67Cが新規更新される。その他の値については前述したプロセスマップ構造体52の値と同じである。
次に、図4と図8を参照して、図3に示したプロセス・ファイル情報構造体40において、データ種別41がファイルオープンフラグになっている場合、かつ、オープンファイルのサイズがゼロ以上、かつ、オープンファイルのパスが阻止対象のファイルのパスと一致する場合の例を説明する。
図4において、ファイルフィルタドライバ11の「ファイル・オープン前」33に対応してファイルフィルタコントローラ12内で、場合に応じて、2つのプロセスマップ構造体54が作成される。第1のプロセスマップ構造体54はプロセスマップ構造体53に対応して作成されるものであり、第2のプロセスマップ構造体54はプロセスマップ構造体52に対応して作成されるものである。「ファイル・オープン前」33における記録内容、およびプロセスマップ構造体54の値の具体的内容を図8に示す。
図8では、(A)で「ファイル・オープン前」33の記録内容が示され、(B)でプロセスマップ構造体54の値の内容が示されている。
「ファイル・オープン前」33の記録内容では、「親プロセスID」43はブランク状態であり、「ファイルオープンフラグ」41D、「ファイルをオープンしているプロセスのID」42D、「オープンしているファイル全体のサイズ」44D、「オープンしているファイルの種別」46D、ファイル・コンテンツ47、コンテンツ・サイズ48が記録されている。
また、プロセスマップ構造体54の値では、通信切断フラグ68はブランク状態であり、キー61、「起動プロセスの親ID」62、「起動プロセスのパス」63、システムプロセスフラグ65、例外プロセスフラグ66、通信開始フラグ67C、通信強制遮断フラグ69の各値は更新済みであり、ファイル内容メモリ64Dが新たに新規更新される。すなわち、図3で説明したプロセス・ファイル情報構造体40でデータ種別41が「ファイルオープンフラグ」41Dになっている場合、かつ、「オープンしているファイル全体のサイズ」44Dがゼロ以上、かつ、「オープンしているファイルのパス」45Dが阻止対象の特定ファイルのパスと一致する場合、ファイル・コンテンツ47が、コンテンツ・サイズ48の分、プロセスマップ構造体54の「ファイル内容メモリ」64Dへコピーされる。
「ファイル・オープン前」33の記録内容では、「親プロセスID」43はブランク状態であり、「ファイルオープンフラグ」41D、「ファイルをオープンしているプロセスのID」42D、「オープンしているファイル全体のサイズ」44D、「オープンしているファイルの種別」46D、ファイル・コンテンツ47、コンテンツ・サイズ48が記録されている。
また、プロセスマップ構造体54の値では、通信切断フラグ68はブランク状態であり、キー61、「起動プロセスの親ID」62、「起動プロセスのパス」63、システムプロセスフラグ65、例外プロセスフラグ66、通信開始フラグ67C、通信強制遮断フラグ69の各値は更新済みであり、ファイル内容メモリ64Dが新たに新規更新される。すなわち、図3で説明したプロセス・ファイル情報構造体40でデータ種別41が「ファイルオープンフラグ」41Dになっている場合、かつ、「オープンしているファイル全体のサイズ」44Dがゼロ以上、かつ、「オープンしているファイルのパス」45Dが阻止対象の特定ファイルのパスと一致する場合、ファイル・コンテンツ47が、コンテンツ・サイズ48の分、プロセスマップ構造体54の「ファイル内容メモリ」64Dへコピーされる。
上記の「ファイル内容メモリ」64Dは、下記の(1)〜(3)のいずれかの場合に使用される。
(1)「オープンしているファイルのパス」45Dからは、オープンしているファイルが実際は何のファイルであるか判別がつかない場合。
(2)オペレーティングシステム5がシステム維持のために重要な役割を果たしているファイル(以下「システムファイル」と記す)の識別を行う場合。
(3)阻止対象のファイルパスであっても、暗号ファイルであり、ファイルフィルタコントローラ12が阻止対象から除外することを判断する場合。
(1)「オープンしているファイルのパス」45Dからは、オープンしているファイルが実際は何のファイルであるか判別がつかない場合。
(2)オペレーティングシステム5がシステム維持のために重要な役割を果たしているファイル(以下「システムファイル」と記す)の識別を行う場合。
(3)阻止対象のファイルパスであっても、暗号ファイルであり、ファイルフィルタコントローラ12が阻止対象から除外することを判断する場合。
次に、図4と図9を参照して、図3に示したプロセス・ファイル情報構造体40において、データ種別41が「読み取り開始フラグ」になっている場合のいくつかの例を説明する。
図4において、ファイルフィルタドライバ11の「ファイル読み取り前」34に対応してファイルフィルタコントローラ12内で、場合に応じて、2つのプロセスマップ構造体54が作成される。第1のプロセスマップ構造体54は、判断ステップのブロックで表現されかつ前のプロセスマップ構造体52,53,54の流れに対応して作成されるものであり、第2のプロセスマップ構造体54はプロセスマップ構造体52,54の流れに対応して作成されるものである。「ファイル読み取り前」34における記録内容、および2つのプロセスマップ構造体54の値の具体的内容を図9に示す。
図9に示した「ファイル読み取り前」34の記録内容では、「親プロセスID」43、「ファイルサイズ」44、ファイル種別46、ファイル・コンテンツ47、ファイル・サイズ48がブランク状態であり、「読み取り開始フラグ」41E、「読み取り開始プロセスのID」42E、「読み取りファイルのパス」45Eが記録されている。
図9において、プロセス・ファイル情報構造体40で、データ種別41が「読み取り開始フラグ」41Eになっている場合であって、「読み取りファイルのパス」45Eが阻止対象のファイルのパスと一致する場合、かつ、通信状態67が「通信開始フラグ」67Cである場合、かつ、「ファイル内容メモリ」64Dがシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ66およびシステムプロセスフラグ65がOFFの場合、かつ、通信強制切断フラグ69がOFFの場合には、ファイルフィルタコントローラ12は、ファイルフィルタドライバ11に対して、「読み取りファイルのパス」45Eを持つ「ファイル読み取りキャンセルフラグ」をONにしたデータを送信する(ステップS11)。このステップS11は、図4に示した指令57と「読み取りキャンセル」56に対応している。
上記により、ファイルフィルタドライバ11は、ファイル読み取りメソッドの中で、ファイルの「読み取りのキャンセル」56を行う。このようにして、図1に示すごとく、PC1において、インターネット3を利用した状態で、阻止対象の特定のファイル4がインターネット3へ漏洩することを阻止することができる(状態S100)。
上記により、ファイルフィルタドライバ11は、ファイル読み取りメソッドの中で、ファイルの「読み取りのキャンセル」56を行う。このようにして、図1に示すごとく、PC1において、インターネット3を利用した状態で、阻止対象の特定のファイル4がインターネット3へ漏洩することを阻止することができる(状態S100)。
図9において、次に、プロセス・ファイル情報構造体40で、データ種別41が「読み取り開始フラグ」41Eになっている場合であって、「読み取りファイルのパス」45Eが阻止対象のファイルのパスと一致する場合、かつ、通信状態67が「通信開始フラグ」67Cである場合、かつ、「ファイル内容メモリ」64D)がシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ66およびシステムプロセスフラグ65がOFFの場合、かつ、通信強制遮断フラグ69のパスが指定した通信遮断プロセスのパスと一致する場合(通信強制切断フラグ69がONの場合)には、ファイルフィルタコントローラ12は、上述したようにオペレーティングシステム5の適切なAPIを使い、通信強制遮断フラグ69に対応するプロセス識別子(ID)62を持つプロセスの通信を切断する(ステップS12)。このステップS12は、図4に示した、判断ステップ形式で表現されたプロセスマップ構造体54(「通信強制切断フラグON」の場合)と「通信の切断」55に対応している。この場合、前述の「読み取りキャンセル」56は実行されないので、プロセスの読み取りは実行されることになる。
上記により、前もって指定したプロセスのファイル読み取りを許可する一方、通信を遮断することで、阻止対象の特定のファイル4がインターネット3へ漏洩することを阻止することができる(状態S100)。
上記により、前もって指定したプロセスのファイル読み取りを許可する一方、通信を遮断することで、阻止対象の特定のファイル4がインターネット3へ漏洩することを阻止することができる(状態S100)。
図9において、さらに次に、プロセス・ファイル情報構造体40で、データ種別41が「読み取り開始フラグ」41Eになっている場合であって、「読み取りファイルのパス」45Eが阻止対象のファイルのパスと一致する場合、かつ、通信状態67のフラグが「ロード・モジュール・フラグ」の場合、かつ、ファイル内容メモリ64Dがシステムファイルまたは暗号ファイルでない場合、かつ、例外プロセスフラグ66およびシステムプロセスフラグ65がOFFの場合、通信切断フラグ68EをONにセットする。
通信切断フラグ68EがONの状態で、通信状態の通信開始フラグがONになった場合(「通信モジュールロードフラグ」67Bの場合)、ファイルフィルタコントローラ12は、上述したようにオペレーティングシステム5の適切なAPIを使い、通信状態フラグ(「通信モジュールロードフラグ」67B)に対応するプロセス識別子(ID)61を持つプロセスの通信を切断する(ステップS13)。このステップS13は、図4に示した、「モジュールのロード」32、プロセスマップ構造体52、さらに2つのプロセスマップ構造体54、および「通信の切断」55の流れに対応している。
上記のようにして、プロセス13が、阻止対象の特定のファイル4の読み取りを完了した後でも、当該ファイル4がインターネット3へ漏洩することを阻止することができる。
通信切断フラグ68EがONの状態で、通信状態の通信開始フラグがONになった場合(「通信モジュールロードフラグ」67Bの場合)、ファイルフィルタコントローラ12は、上述したようにオペレーティングシステム5の適切なAPIを使い、通信状態フラグ(「通信モジュールロードフラグ」67B)に対応するプロセス識別子(ID)61を持つプロセスの通信を切断する(ステップS13)。このステップS13は、図4に示した、「モジュールのロード」32、プロセスマップ構造体52、さらに2つのプロセスマップ構造体54、および「通信の切断」55の流れに対応している。
上記のようにして、プロセス13が、阻止対象の特定のファイル4の読み取りを完了した後でも、当該ファイル4がインターネット3へ漏洩することを阻止することができる。
図10は、図3に示した「プロセス終了」35のメソッドに対応するプロセス・ファイル情報構造体40の記録内容を示している。このプロセス・ファイル情報構造体40の記録内容では、「親プロセスID」43、「ファイルサイズ」44、「ファイルパス」45、ファイル種別46、ファイル・コンテンツ47、コンテンツ・サイズ48がブランク状態であり、「データ種別」41と「プロセスID」42が記録されている。このプロセス・ファイル情報構造体40の記録内容において、データ種別41が「プロセス終了フラグ」41Fの場合、ファイルフィルタコントローラ12は、「終了プロセスの識別子(ID)」42Fに相当するプロセス情報連想配列のデータ、すなわちプロセスマップ構造体55を削除する。
以上の実施形態で説明された構成、形状、大きさおよび配置関係については本発明が理解・実施できる程度に概略的に示したものにすぎない。従って本発明は、説明された実施形態に限定されるものではなく、特許請求の範囲に示される技術的思想の範囲を逸脱しない限り様々な形態に変更することができる。
本発明に係る情報漏洩防止の方法およびシステムは、企業や組織、個人等で使用するパーソナルコンピュータ等において、人の故意または人の誤操作等による人為的な理由で当該パーソナルコンピュータ等から情報が漏洩するおそれがあるときに当該情報漏洩を確実に防止する目的で利用される。
1 パーソナルコンピュータ(PC)
1A 記憶装置
2 サーバ
3 インターネット
4 特定のファイル
5 オペレーティングシステム
6 ファイルシステム
10 情報漏洩防止システム
11 ファイルフィルタドライバ
12 ファイルフィルタコントローラ
12A 記憶部
13 プロセス
14 TCPテーブル/ファイアウォール
21 ファイル情報
22 起動プロセス情報
23 モジュール情報
30 メソッド
31 プロセス起動
32 モジュールのロード
33 ファイル・オープン前
34 ファイル読み取り前
35 プロセス終了
40 プロセス・ファイル情報構造体
51〜54 プロセスマップ構造体
100 カーネルモード
200 ユーザーモード
1A 記憶装置
2 サーバ
3 インターネット
4 特定のファイル
5 オペレーティングシステム
6 ファイルシステム
10 情報漏洩防止システム
11 ファイルフィルタドライバ
12 ファイルフィルタコントローラ
12A 記憶部
13 プロセス
14 TCPテーブル/ファイアウォール
21 ファイル情報
22 起動プロセス情報
23 モジュール情報
30 メソッド
31 プロセス起動
32 モジュールのロード
33 ファイル・オープン前
34 ファイル読み取り前
35 プロセス終了
40 プロセス・ファイル情報構造体
51〜54 プロセスマップ構造体
100 カーネルモード
200 ユーザーモード
Claims (6)
- オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、前記オペレーティングシステム上で前記ファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止方法であり、
前記ファイルフィルタコントローラは、インターネットを利用している前記プロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
前記ファイルフィルタドライバが、前記コンピュータ内の前記ファイルに対して読取りを実行しているプロセスがあるとき、前記プロセスの情報と読取り対象の前記ファイルの情報を前記ファイルフィルタコントローラに通知し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ読取り対象の前記ファイルに係るパスが前記情報漏洩阻止対象の任意のファイルのパスまたは前記情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当するとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを拒否する命令を通知し、
前記ファイルフィルタドライバは、通知された前記命令に基づき前記プロセスの読取り動作の拒否を実行する、
ことを特徴とする情報漏洩防止方法。 - 前記ファイルフィルタコントローラの前記記憶手段では、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報が予め登録されており、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記報漏洩阻止対象の例外として選択した前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知することを特徴とする請求項1記載の情報漏洩防止方法。 - 前記ファイルフィルタコントローラの前記記憶手段では、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行ファイルを識別する情報が予め登録されており、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記情報漏洩阻止対象のファイルの読取りを許可したい前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知し、かつ前記インターネットを利用しているプロセスの接続を遮断することを特徴とする請求項1記載の情報漏洩防止方法。 - オペレーティングシステムにおけるファイルシステムの機能を追加または変更するファイルフィルタドライバと、当該ファイルフィルタドライバの機能を支援するファイルフィルタコントローラとを備え、前記オペレーティングシステム上で前記ファイルシステムを介してファイルの読み書きまたは削除するプロセスが存在するように構成されたコンピュータに適用される情報漏洩防止システムであり、
前記ファイルフィルタコントローラは、
インターネットを利用している前記プロセスを検出する手段と、情報漏洩阻止対象の任意のファイルのパスまたは情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスを予め登録する記憶手段とを有し、
前記ファイルフィルタドライバから、前記コンピュータ内の前記ファイルに対して読取りを実行しているプロセスの情報と読取り対象の前記ファイルの情報の通知を受けたとき、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ読取り対象の前記ファイルに係るパスが前記情報漏洩阻止対象の任意のファイルのパスまたは前記情報漏洩阻止対象のファイルが存在する任意のディレクトリのパスに該当することを条件として、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを拒否する命令を通知するように構成されたことを特徴とする情報漏洩防止システム。 - 前記ファイルフィルタコントローラの前記記憶手段は、さらに、情報漏洩阻止対象の例外として選択した実行ファイルを識別する情報を予め登録し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ情報漏洩阻止対象の例外として選択した前記実行ファイルを識別する情報に該当し、かつ前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知することを特徴とする請求項4記載の情報漏洩防止システム。 - 前記ファイルフィルタコントローラの前記記憶手段は、さらに、情報漏洩阻止対象のファイルの読取りを許可したい実行フィルを識別する情報を予め登録し、
前記ファイルフィルタコントローラは、通知された前記プロセスが前記インターネットを利用している前記プロセスに該当しかつ前記情報漏洩阻止対象のファイルの読取りを許可したい前記実行ファイルを識別する情報に該当し、前記情報漏洩対象の前記ファイルの読取りを実行したとき、前記ファイルフィルタドライバに対して前記プロセスによるファイル読取りを許可する命令を通知し、かつ前記インターネットを利用しているプロセスの接続を遮断することを特徴とする請求項4記載の情報漏洩防止システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012117403A JP2013246463A (ja) | 2012-05-23 | 2012-05-23 | 情報漏洩防止の方法およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012117403A JP2013246463A (ja) | 2012-05-23 | 2012-05-23 | 情報漏洩防止の方法およびシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013246463A true JP2013246463A (ja) | 2013-12-09 |
Family
ID=49846220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012117403A Pending JP2013246463A (ja) | 2012-05-23 | 2012-05-23 | 情報漏洩防止の方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013246463A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732640A (zh) * | 2020-12-28 | 2021-04-30 | 杭州迪普科技股份有限公司 | 一种文件描述符泄漏检测的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284383A (ja) * | 2004-03-26 | 2005-10-13 | Canon Inc | 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び記憶媒体 |
JP2007140798A (ja) * | 2005-11-16 | 2007-06-07 | Eugrid Kk | コンピュータの情報漏洩防止システム |
JP2007286905A (ja) * | 2006-04-17 | 2007-11-01 | Nec System Technologies Ltd | 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム |
US20080295174A1 (en) * | 2007-03-05 | 2008-11-27 | Andrea Robinson Fahmy | Method and System for Preventing Unauthorized Access and Distribution of Digital Data |
JP2009146402A (ja) * | 2007-11-21 | 2009-07-02 | Canon It Solutions Inc | 情報処理システム、情報処理装置、その制御方法、通信装置、その制御方法及びプログラム |
JP2011248474A (ja) * | 2010-05-24 | 2011-12-08 | Canon Electronics Inc | 記憶媒体、情報処理装置およびコンピュータプログラム |
-
2012
- 2012-05-23 JP JP2012117403A patent/JP2013246463A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284383A (ja) * | 2004-03-26 | 2005-10-13 | Canon Inc | 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び記憶媒体 |
JP2007140798A (ja) * | 2005-11-16 | 2007-06-07 | Eugrid Kk | コンピュータの情報漏洩防止システム |
JP2007286905A (ja) * | 2006-04-17 | 2007-11-01 | Nec System Technologies Ltd | 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム |
US20080295174A1 (en) * | 2007-03-05 | 2008-11-27 | Andrea Robinson Fahmy | Method and System for Preventing Unauthorized Access and Distribution of Digital Data |
JP2009146402A (ja) * | 2007-11-21 | 2009-07-02 | Canon It Solutions Inc | 情報処理システム、情報処理装置、その制御方法、通信装置、その制御方法及びプログラム |
JP2011248474A (ja) * | 2010-05-24 | 2011-12-08 | Canon Electronics Inc | 記憶媒体、情報処理装置およびコンピュータプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732640A (zh) * | 2020-12-28 | 2021-04-30 | 杭州迪普科技股份有限公司 | 一种文件描述符泄漏检测的方法及装置 |
CN112732640B (zh) * | 2020-12-28 | 2023-07-25 | 杭州迪普科技股份有限公司 | 一种文件描述符泄漏检测的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629796B2 (ja) | 限定的プロセスでのファイル変換 | |
US7478237B2 (en) | System and method of allowing user mode applications with access to file data | |
CN107480527A (zh) | 勒索软件的防范方法及系统 | |
US8037290B1 (en) | Preboot security data update | |
CN107004088B (zh) | 确定装置、确定方法及记录介质 | |
US10783239B2 (en) | System, method, and apparatus for computer security | |
CN106778243B (zh) | 基于虚拟机的内核漏洞检测文件保护方法及装置 | |
CN102999726B (zh) | 文件宏病毒免疫方法和装置 | |
WO2013032422A1 (en) | Data leak prevention systems and methods | |
EP1622062A2 (en) | Framework for a security system | |
JPWO2006092931A1 (ja) | ネットワーク接続制御プログラム、ネットワーク接続の制御方法及びネットワーク接続制御システム | |
JP2009238153A (ja) | マルウェア対処システム、方法及びプログラム | |
JP2010026662A (ja) | 情報漏洩防止システム | |
US7797727B1 (en) | Launching an application in a restricted user account | |
CN109800571B (zh) | 事件处理方法和装置、以及存储介质和电子装置 | |
CN107346390A (zh) | 一种恶意样本检测方法及装置 | |
WO2014206183A1 (zh) | 宏病毒查杀方法及系统 | |
US8561195B1 (en) | Detection of malicious code based on its use of a folder shortcut | |
US8453242B2 (en) | System and method for scanning handles | |
CN105956461A (zh) | 一种拦截驱动加载的方法及终端 | |
CN101236531A (zh) | 一种存储装置及其实现自动保护的方法 | |
JP2005165874A (ja) | クライアント装置のシステム環境規約違反検出方法 | |
US7574743B2 (en) | Method for ensuring security, data storage apparatus, security ensuring server, and storage medium storing program for the same | |
CN116611066B (zh) | 勒索病毒识别方法、装置、设备及存储介质 | |
KR101662162B1 (ko) | 악성 코드의 감염 경로 역추적을 위한 사용자 행위 검출 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160301 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160906 |