JP2018147203A - 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム - Google Patents

情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム Download PDF

Info

Publication number
JP2018147203A
JP2018147203A JP2017041234A JP2017041234A JP2018147203A JP 2018147203 A JP2018147203 A JP 2018147203A JP 2017041234 A JP2017041234 A JP 2017041234A JP 2017041234 A JP2017041234 A JP 2017041234A JP 2018147203 A JP2018147203 A JP 2018147203A
Authority
JP
Japan
Prior art keywords
file
information
access request
leakage prevention
monitoring unit
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
Application number
JP2017041234A
Other languages
English (en)
Inventor
耕平 土田
Kohei Tsuchida
耕平 土田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017041234A priority Critical patent/JP2018147203A/ja
Publication of JP2018147203A publication Critical patent/JP2018147203A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】ユーザビリティを損なわずに機密情報の漏洩を防止できる情報漏洩防止装置を提供する。【解決手段】情報漏洩防止装置10は、プロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶部11と、プロセスが出力するファイルへのアクセス要求を検出する検出部12と、記憶部11に記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶部11に記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定部13とを備える。【選択図】図1

Description

本発明は、情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラムに関する。
企業で管理されている機密情報が、外部に漏洩するセキュリティ事故が多く発生している。例えば、組織の外部の犯罪者が外部ネットワークを介して標的型攻撃を行うことによって機密情報を持ち出す場合がある。また、悪意を有する組織の内部の犯罪者が意図的に機密情報を持ち出す場合がある。また、企業の従業員がメールの誤送信等の操作ミスによって意図せずに機密情報を組織の外部に漏らす場合がある。
上記の問題に対して、機密情報の漏洩を防ぐ技術がいくつか提案されている。特許文献1には、外部への持ち出しが禁止されている「機密ファイル」と、外部への持ち出しが許可されている「通常ファイル」が混在されて記憶されている記憶装置を運用できる情報漏洩防止プログラムが記載されている。
特許文献1に記載されている情報漏洩防止プログラムは、具体的には、機密ファイルの一覧を機密ファイル管理テーブルに記録し、機密ファイルが格納される「機密フォルダ」を予め指定する。次いで、機密ファイルを開いた「機密プロセス」が機密フォルダ以外のフォルダ等にファイルを出力することを制限することによって、特許文献1に記載されている情報漏洩防止プログラムは、機密ファイルが機密フォルダ以外のフォルダ等に出力されることを防止できる。
特許文献2には、機密ファイルを扱うプロセスを限定せずに機密ファイルの情報の漏洩を防止するシステムが記載されている。特許文献2に記載されているシステムは、最初に、セキュリティレベルが高い「機密モード」でログオンするか、セキュリティレベルが低い「通常モード」でログオンするかをログオン画面でユーザに選択させる。なお、特許文献2に記載されているシステムは、ユーザのログオン直後にユーザにモードを選択させてもよい。
次いで、特許文献2に記載されているシステムは、選択されたセキュリティレベルに応じて、ファイルシステムのディレクトリを多重化し、ネットワークドライバの利用を制限する。具体的には、特許文献2に記載されているシステムは、機密モードで作成されたファイルの通常モードでの参照を制限する。
また、特許文献2に記載されているシステムは、機密モードでのネットワークドライバの利用を制限する。以上により、特許文献2に記載されているシステムは、機密モードで扱われている機密情報の外部への漏洩を防止できる。
特許第3927376号公報 特許第4654963号公報
特許文献1に記載されている情報漏洩防止プログラム、および特許文献2に記載されているシステムには、それぞれ以下のような課題がある。
特許文献1に記載されている情報漏洩防止プログラムは、機密ファイルを開いたプロセスが機密フォルダ以外のフォルダ等にファイルを出力することを制限する。すなわち、特許文献1に記載されている情報漏洩防止プログラムはユーザに認識されにくいプロセスがフォルダに自動的にファイルを書き込む処理まで制限してしまうため、プロセスの正常な動作が阻害される可能性がある。また、例えば機密フォルダ以外のフォルダに格納されているログファイルに対する書き込みも制限される可能性がある。
特許文献2に記載されているシステムは、上記の特許文献1に記載されている情報漏洩防止プログラムの課題を解決できる。しかし、特許文献2に記載されているシステムには、以下の2つの課題がある。
1つ目の課題は、セキュリティレベルを変更する場合、ユーザに一旦ログアウトしてから再度ログインすることが求められることである。ログアウトする場合、ユーザには、実行中の作業を中断し、全てのプロセスを停止させることが求められる。すなわち、ユーザにとってログアウトは負担の重い作業である。
2つ目の課題は、機密モードで作成されたファイルに対して通常モードで読み書きできず、通常モードで作成されたファイルに対して機密モードで書き込むことができないことである。
例えば、特許文献2に記載されているシステムを使用するユーザは、通常モードでダウンロードされたテンプレートファイルを使用して機密モードで機密文書を作成できない。すなわち、特許文献2に記載されているシステムには、運用におけるユーザビリティの面で問題がある。
よって、上記の課題が解決された特許文献1に記載されている情報漏洩防止プログラムが求められている。上記の課題が発生する理由は、プロセスがファイルを保存する際、ファイルを機密ファイルとして保存した方がよいか、通常ファイルとして保存した方がよいか判断することが困難なためである。
[発明の目的]
そこで、本発明は、上述した課題を解決する、ユーザビリティを損なわずに機密情報の漏洩を防止できる情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラムを提供することを目的とする。
本発明による情報漏洩防止装置は、プロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶部と、プロセスが出力するファイルへのアクセス要求を検出する検出部と、記憶部に記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶部に記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定部とを備えることを特徴とする。
本発明による情報漏洩防止方法は、プロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報とを記憶し、プロセスが出力するファイルへのアクセス要求を検出し、記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定することを特徴とする。
本発明による情報漏洩防止プログラムは、コンピュータに、プロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶処理、プロセスが出力するファイルへのアクセス要求を検出する検出処理、および記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定処理を実行させることを特徴とする。
本発明によれば、ユーザビリティを損なわずに機密情報の漏洩を防止できる。
本発明による情報漏洩防止装置の第1の実施形態の構成例を示すブロック図である。 第1の実施形態の情報漏洩防止装置10による判定処理の動作を示すフローチャートである。 本発明による情報漏洩防止システムの第2の実施形態の構成例を示すブロック図である。 機密ファイルテーブルの一例を示す説明図である。 プロセステーブルの一例を示す説明図である。 機密サーバテーブルの一例を示す説明図である。 例外プロセステーブルの一例を示す説明図である。 例外ファイルテーブルの一例を示す説明図である。 ダイアログ情報格納部1126に格納されているダイアログ情報の一例を示す説明図である。 ファイルオープン時に決定されるプロセスのセキュリティレベルの一例を示す説明図である。 ファイル書き込み時に決定される保存ファイルのセキュリティレベルの一例を示す説明図である。 ダイアログ生成部1128が表示する確認ダイアログボックスにおけるメッセージの一例を示す説明図である。 第2の実施形態の情報漏洩防止システム1000によるファイルダウンロード処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイルコピー処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル名変更処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル移動処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル削除処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイルオープン処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイルオープン処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイルオープン処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル保存処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル保存処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるファイル保存処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000による通信処理の動作を示すフローチャートである。 第2の実施形態の情報漏洩防止システム1000によるプロセス終了処理の動作を示すフローチャートである。
実施形態1.
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による情報漏洩防止装置の第1の実施形態の構成例を示すブロック図である。本発明による情報漏洩防止装置10は、プロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶部11(例えば、記憶媒体1140)と、プロセスが出力するファイルへのアクセス要求を検出する検出部12(例えば、API監視部1127)と、記憶部11に記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶部11に記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定部13(例えば、API監視部1127)とを備える。
以下、情報漏洩防止装置10による判定処理を説明する。図2は、第1の実施形態の情報漏洩防止装置10による判定処理の動作を示すフローチャートである。
検出部12は、プロセスが出力するファイルへのアクセス要求を検出する(ステップS11)。
次いで、判定部13は、記憶部11に記憶されているプロセスの識別情報とプロセスのセキュリティレベルとを含むプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報を抽出する(ステップS12)。
次いで、判定部13は、記憶部11に記憶されているファイルの識別情報とファイルのセキュリティレベルとを含むファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報を抽出する(ステップS13)。
次いで、判定部13は、抽出されたプロセス情報およびファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する(ステップS14)。判定した後、情報漏洩防止装置10は、判定処理を終了する。
そのような構成により、情報漏洩防止装置は、ユーザビリティを損なわずに機密情報の漏洩を防止できる。
また、情報漏洩防止装置10は、検出されたアクセス要求が容認されないと判定部13が判定した後にアクセス要求に関する追加情報が入力される入力手段を提示する提示部(例えば、ダイアログ生成部1128)を備え、判定部13は、入力された追加情報に基づいてアクセス要求を容認するか否かを再度判定してもよい。
そのような構成により、情報漏洩防止装置は、より柔軟に機密情報の漏洩に対応できる。
また、情報漏洩防止装置10は、プロセス情報およびファイル情報を更新する更新部(例えば、ドライバ監視部1124)を備えてもよい。
そのような構成により、情報漏洩防止装置は、新規の機密ファイルの情報や新規の機密プロセスの情報を登録できる。
また、ファイルへのアクセス要求は、ファイルのオープン要求であり、更新部は、判定部13が容認したファイルのオープン要求を出力したプロセスに関するプロセス情報を更新してもよい。
また、ファイルへのアクセス要求は、ファイルの保存要求であり、更新部は、判定部13が容認したファイルの保存要求の対象のファイルに関するファイル情報を更新してもよい。
そのような構成により、情報漏洩防止装置は、アクセス要求の変更された内容をプロセス情報やファイル情報に反映できる。
また、検出部12は、プロセスが出力する通信要求を検出し、判定部13は、記憶部11に記憶されているプロセス情報のうち検出された通信要求を出力したプロセスに関するプロセス情報に基づいて検出された通信要求を容認するか否かを判定してもよい。
そのような構成により、情報漏洩防止装置は、外部に機密情報が漏洩する可能性をより低減できる。
実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。
なお、以下の説明では、ファイルをセキュリティレベルが高い「機密ファイル」と、セキュリティレベルが低い「通常ファイル」に分ける。また、プロセスをセキュリティレベルが高い「機密プロセス」と、セキュリティレベルが低い「通常プロセス」に分ける。
機密ファイルを開いたプロセスは、機密プロセスとして認識される。機密プロセスは、例えば通信が制限される対象のプロセスである。
図3は、本発明による情報漏洩防止システムの第2の実施形態の構成例を示すブロック図である。図3は、情報漏洩防止システム1000の全体構成を示す。図3に示すように、情報漏洩防止システム1000は、端末1100と、管理サーバ1200とを含む。
また、図3に示すように、端末1100は、OS(Operating System)1110と、記憶媒体1140と、プロセス1150とを含む。記憶媒体1140は、例えば、ハードディスク駆動装置やSSD(Solid State Drive)である。
また、図3に示すように、記憶媒体1140は、機密ファイルテーブルと、プロセステーブルと、機密サーバテーブルと、例外プロセステーブルと、例外ファイルテーブルと、通常ファイルと、機密ファイルとを有する。
図4は、機密ファイルテーブルの一例を示す説明図である。図4に示すように、機密ファイルテーブルには、端末1100に格納されている機密ファイルごとに、ファイルパスと、機密サーバIDとが登録される。
ファイルパスは、機密ファイルのパスである。また、機密サーバIDは、ファイルパスが示す機密ファイルのダウンロード元の機密サーバを示す情報である。すなわち、機密ファイルテーブルは、ファイルのセキュリティレベルが「1」であるという情報を有している。
図5は、プロセステーブルの一例を示す説明図である。図5に示すように、プロセステーブルには、端末1100で稼働しているプロセスごとに、プロセスIDと、実行ファイル名と、使用ファイルパスと、セキュリティレベルとが記録される。
プロセスIDは、プロセスを識別する情報である。実行ファイル名は、プロセスIDが示すプロセスの生成元である実行ファイルの名称である。使用ファイルパスは、プロセスIDが示すプロセスで使用されるファイルのパスである。
セキュリティレベルが「0」のプロセスは、機密度の低いプロセスとして認識される。すなわち、セキュリティレベルが「0」のプロセスは通常プロセスである。また、セキュリティレベルが「1」のプロセスは、機密度の高いプロセスとして認識される。すなわち、セキュリティレベルが「1」のプロセスは機密プロセスである。
機密ファイルを一度でも開いたプロセスのセキュリティレベルは「1」に変更される。セキュリティレベルが変更された後、開かれている機密ファイルをプロセスが閉じても、プロセスのセキュリティレベルは「1」のままである。
本実施形態のプロセステーブルは、ファイルが開かれた時と、プロセスが閉じられた時に更新される。なお、プロセステーブルの構成は、図5に示す構成以外の構成でもよい。
図6は、機密サーバテーブルの一例を示す説明図である。図6に示すように、機密サーバテーブルには、機密サーバごとに、機密サーバの識別子と、機密サーバIDとが登録される。
機密サーバの識別子は、例えば、機密サーバのIP(Internet Protocol)アドレスである。また、機密サーバIDは、機密サーバを識別する情報である。なお、ユーザには、機密サーバテーブルを事前に登録することが求められる。
図7は、例外プロセステーブルの一例を示す説明図である。例外プロセステーブルには、開くファイルのセキュリティレベルに関わらずセキュリティレベルが固定されるプロセスの情報が登録される。図7に示すように、例外プロセステーブルには、プロセスの実行ファイル名と、固定されるセキュリティレベルとが登録される。
例外プロセステーブルにセキュリティレベルが「1」と登録されたプロセスは、常に機密プロセスとして認識される。また、例外プロセステーブルにセキュリティレベルが「0」と登録されたプロセスは、常に通常プロセスとして認識される。なお、ユーザには、例外プロセステーブルを事前に登録することが求められる。
図8は、例外ファイルテーブルの一例を示す説明図である。例外ファイルテーブルには、機密プロセスがファイルを保存する際にセキュリティレベルが固定されるファイルの情報が登録される。図8に示すように、例外ファイルテーブルには、ファイルのファイルパスと、固定されるセキュリティレベルとが登録される。
例外ファイルテーブルにセキュリティレベルが「1」と登録されたファイルは、機密ファイルとして保存される。また、例外ファイルテーブルにセキュリティレベルが「0」と登録されたファイルは、通常ファイルとして保存される。
なお、図8に示すように、例外ファイルテーブルでは、ワイルドカードが使用されてもよい。ワイルドカードが使用されると、例えば拡張子が特定の拡張子であるファイルのセキュリティレベルが固定化される。
例外ファイルテーブルでワイルドカードが使用される例として、一時ファイルが登録される場合がある。例えば、ドキュメント作成アプリケーションは、ファイルの編集中に一時ファイルを作成する。機密ファイルの一時ファイルが自動的に保存される場合、一時ファイルは機密ファイルとして扱われることが求められる。
一時ファイルの拡張子は、例えば「.bak」である。また、一時ファイルの拡張子は、共通であることが多い。例えば、例外ファイルテーブルにワイルドカードと拡張子とで表現された一時ファイルのセキュリティレベルが「1」と登録されると、機密ファイルの一時ファイルも機密ファイルとして扱われる。なお、ユーザには、例外ファイルテーブルを事前に登録することが求められる。
また、図3に示すように、OS1110は、エージェント1111と、ダイアログ表示部1112とを有する。
ダイアログ表示部1112は、開かれるファイルのパスが指定される場合、および別名保存されるファイルのパスが指定される場合に、コモンダイアログボックスを表示する機能を有する。ユーザは、表示されたコモンダイアログボックスに情報を入力する。ダイアログ表示部1112は、コモンダイアログボックスに入力された情報をプロセス1150に送信する。
以下、開かれるファイルのパスが指定される場合に表示されるダイアログボックスを[開く]ダイアログボックスと呼ぶ。また、別名保存されるファイルのパスが指定される場合に表示されるダイアログボックスを[名前を付けて保存]ダイアログボックスと呼ぶ。
なお、ダイアログ表示部1112は、全てのプロセスから呼び出される共通のインタフェースである。すなわち、本実施形態の全てのプロセスは、ファイルのオープンを行う際、および別名保存を行う際に、コモンダイアログボックスを表示する共通のインタフェースを呼び出す。
また、図3に示すように、エージェント1111は、ダウンロード監視部1121と、プロセス監視部1122と、テーブル制御部1123と、ドライバ監視部1124と、ダイアログ監視部1125と、ダイアログ情報格納部1126と、API監視部1127と、ダイアログ生成部1128と、通信監視部1129と、管理サーバ通信部1130と、通信制御部1131とを有する。
ダウンロード監視部1121は、機密ファイルのダウンロードを監視する機能を有する。ファイルのダウンロード要求をフックした際、ダウンロード監視部1121は、機密サーバテーブルを参照する。IPアドレス等のダウンロード元サーバの識別子が機密サーバテーブルに登録されていれば、ダウンロード監視部1121は、ダウンロードされたファイルの情報を機密ファイルテーブルに登録する。
プロセス監視部1122は、プロセスを監視する機能を有する。例えば、プロセス監視部1122は、プロセスの終了を検出する。次いで、プロセス監視部1122は、プロセステーブルから検出されたプロセスのエントリを削除する。
テーブル制御部1123は、記憶媒体1140に記憶されている、機密ファイルテーブル、プロセステーブル、機密サーバテーブル、例外プロセステーブル、および例外ファイルテーブルの参照および更新を行う。
ドライバ監視部1124は、ファイルのコピー要求、ファイルの名前変更要求、ファイルの移動要求、およびファイルの削除要求をフックし、機密ファイルテーブルおよびプロセステーブルを更新する。
具体的には、ドライバ監視部1124は、ファイルのコピー要求をフックした際、コピー元ファイルの情報が機密ファイルテーブルに登録されている場合にコピー先ファイルの情報を機密ファイルテーブルに登録する。
また、ドライバ監視部1124は、ファイルの名前変更要求をフックした際、変更前ファイルの情報が機密ファイルテーブルに登録されている場合に該当するエントリのファイル名を更新する。
また、ドライバ監視部1124は、ファイルの移動要求をフックした際、移動前ファイルの情報が機密ファイルテーブルに登録されている場合に移動後ファイルの情報を機密ファイルテーブルに登録する。
また、ドライバ監視部1124は、ファイルの削除要求をフックした際、削除対象ファイルの情報が機密ファイルテーブルに登録されている場合に該当するエントリを削除する。
ダイアログ監視部1125は、コモンダイアログボックスを監視する機能を有する。機密プロセスであるプロセス1150がダイアログ表示部1112を呼び出すと、ダイアログ表示部1112は、コモンダイアログボックスを表示する。ダイアログ監視部1125は、プロセス1150から呼び出されたコモンダイアログボックスに対してフック処理を行う。
フック処理を行うことによって、ダイアログ監視部1125は、コモンダイアログボックスにユーザが入力した情報を取得する。次いで、ダイアログ監視部1125は、取得された情報をダイアログ情報格納部1126に保存する。
例えば、ダイアログ監視部1125は、取得された通知メッセージが、ダイアログ表示部1112により送信された[開く]ダイアログボックスからのメッセージであるか、ダイアログ表示部1112により送信された[名前を付けて保存]ダイアログボックスからのメッセージであるかを判別できる。
ダイアログ情報格納部1126は、コモンダイアログボックスに入力された情報であるダイアログ情報をプロセスごとに保持する機能を有する。ダイアログ情報は、例えば、上述したようにダイアログ監視部1125によって格納される。
図9は、ダイアログ情報格納部1126に格納されているダイアログ情報の一例を示す説明図である。図9に示すように、ダイアログ情報は、プロセスIDと、ダイアログの種類と、ファイルパスとで構成される。
ダイアログの種類は、ダイアログ情報が入力されたコモンダイアログボックスの種類である。ダイアログ情報が入力されたコモンダイアログボックスが[開く]ダイアログボックスである場合、ダイアログの種類は「open」である。
また、ダイアログ情報が入力されたコモンダイアログボックスが[名前を付けて保存]ダイアログボックスである場合、ダイアログの種類は「save」である。なお、ダイアログの種類には、「open」、「save」以外の文字列が指定されてもよい。
例えば、図9に示す最初のダイアログ情報は、プロセスIDが「122」の機密プロセスが、機密ファイルを別名保存する際に[名前を付けて保存]ダイアログボックスに「C:/Users/Administrator/Documents/secret.txt」を保存ファイルのパスとして指定した場合に格納される情報である。
API監視部1127は、ファイルオープン用API(Application Programming Interface)の呼び出し、およびファイル書き込み用APIの呼び出しをフックする。フックした後、API監視部1127は、例外プロセステーブル、例外ファイルテーブル、およびダイアログ情報格納部1126に格納されたダイアログ情報に基づいて、機密ファイルテーブルおよびプロセステーブルの更新と、ダイアログ生成部1128の呼び出しを行う。
具体的には、ファイルのオープン要求またはファイルへの書き込み要求をフックした後、API監視部1127は、ダイアログ生成部1128を呼び出し、確認ダイアログボックスを表示させる。
確認ダイアログボックスに入力された応答内容が「NG」である場合、API監視部1127は、フックされた要求を否認する。確認ダイアログボックスに入力された応答内容が「OK」である場合、API監視部1127は、機密ファイルテーブルおよびプロセステーブルを更新した上で、フックされた要求を容認する。
図10は、ファイルオープン時に決定されるプロセスのセキュリティレベルの一例を示す説明図である。図10に示すように、例外プロセステーブルにおけるセキュリティレベルは、例外ファイルテーブルにおけるセキュリティレベルよりも優先される。
例えば、機密ファイルを開いたプロセスは、通常機密プロセスとして認識される。しかし、例外プロセステーブルにセキュリティレベル「0」で登録されているプロセスが、例外ファイルテーブルにセキュリティレベル「1」で登録されている機密ファイルを開いても、プロセスは通常プロセスとして認識される。
図10に示すように、例外プロセステーブルにおけるセキュリティレベルが、そのままファイルオープン後のプロセスのセキュリティレベルに決定される。また、例外プロセステーブルにセキュリティレベルが登録されていない場合、例外ファイルテーブルにおけるセキュリティレベルが、そのままファイルオープン後のプロセスのセキュリティレベルに決定される。
また、図10に示すように、例外プロセステーブルおよび例外ファイルテーブルのどちらにもセキュリティレベルが登録されていない場合、オープン対象のファイルのセキュリティレベルが、そのままファイルオープン後のプロセスのセキュリティレベルに決定される。
また、図11は、ファイル書き込み時に決定される保存ファイルのセキュリティレベルの一例を示す説明図である。図11に示すように、プロセスのセキュリティレベルが「0」であれば、保存されるファイルのセキュリティレベルは、別名保存なら「0」、上書き保存なら「変更なし」に決定される。
また、図11に示すように、プロセスのセキュリティレベルが「1」であれば、保存されるファイルのセキュリティレベルは、自動保存なら例外ファイルテーブルにおけるセキュリティレベルに応じる。
すなわち、例外ファイルテーブルにおけるセキュリティレベルが「1」または登録されていなければ、保存されるファイルのセキュリティレベルは「1」に決定される。また、例外ファイルテーブルにおけるセキュリティレベルが「0」であれば、保存されるファイルのセキュリティレベルは、別名保存なら「0」、上書き保存なら「変更なし」に決定される。
また、図11に示すように、プロセスのセキュリティレベルが「1」であれば、保存されるファイルのセキュリティレベルは、手動保存なら別名保存か上書き保存かで異なる。
すなわち、上書き保存で例外ファイルテーブルにおけるセキュリティレベルが「1」または登録されていなければ、保存されるファイルのセキュリティレベルは「1」に決定される。また、上書き保存で例外ファイルテーブルにおけるセキュリティレベルが「0」であれば、保存されるファイルのセキュリティレベルは「変更なし」に決定される。また、別名保存であれば、保存されるファイルのセキュリティレベルは「1」に決定される。
ダイアログ生成部1128は、確認ダイアログボックスを表示する機能を有する。図12は、ダイアログ生成部1128が表示する確認ダイアログボックスにおけるメッセージの一例を示す説明図である。
API監視部1127に呼び出されると、ダイアログ生成部1128は、指定された種類の確認ダイアログボックスを表示する。次いで、ダイアログ生成部1128は、ユーザが確認ダイアログボックスに入力した情報を、API監視部1127に入力する。
通信監視部1129は、プロセスの通信要求をプロセス単位でフックする機能を有する。
管理サーバ通信部1130は、管理サーバ1200と通信する機能を有する。通信監視部1129に呼び出されると、管理サーバ通信部1130は、管理サーバ1200に対して通信制御テーブルの送信を依頼する。
管理サーバ通信部1130は、管理サーバ1200から送信された通信制御テーブルを取得する。次いで、管理サーバ通信部1130は、取得された通信制御テーブルを通信制御部1131に入力する。
通信制御部1131は、通信監視部1129でフックされた通信要求を制御する機能を有する。通信制御部1131は、管理サーバ通信部1130から入力された通信制御テーブルに基づいて、フックされた通信要求を制御する。
また、図3に示すように、管理サーバ1200は、OS1210と、通信制御テーブルとを含む。また、OS1210は、クライアント通信部1211と、テーブル制御部1212とを有する。
クライアント通信部1211は、端末1100と通信する機能を有する。端末1100から通信制御テーブルの送信依頼を受け取ると、クライアント通信部1211は、テーブル制御部1212を介して通信制御テーブルを取得する。次いで、クライアント通信部1211は、取得された通信制御テーブルを端末1100に送信する。
テーブル制御部1212は、クライアント通信部1211の要求に応じて通信制御テーブルを取得する機能を有する。
通信制御テーブルには、例えば、機密サーバIDと、機密サーバIDが示す機密サーバからダウンロードされた機密ファイルをオープンしている機密プロセスによる通信に対して適用されるフィルタリングルールとが記録される。フィルタリングルールには、例えば通信相手のIPアドレスやポート番号等、IPパケットフィルタリングで通常使用されるパラメータが指定される。
なお、図3に示す情報漏洩防止システム1000では端末1100と管理サーバ1200が分離しているため、機密プロセスが通信する際に端末1100が管理サーバ1200に問い合わせる方法がとられている。しかし、情報漏洩防止システム1000の構成は、端末1100が通信制御テーブルも保持し、全ての処理が端末1100内で完結するような構成でもよい。
[動作の説明]
以下、本実施形態の情報漏洩防止システム1000の動作を図13〜図25を参照して説明する。
最初に、本実施形態の情報漏洩防止システム1000のファイルをダウンロードする動作を図13を参照して説明する。図13は、第2の実施形態の情報漏洩防止システム1000によるファイルダウンロード処理の動作を示すフローチャートである。
最初に、プロセス1150が、ファイルのダウンロードを要求する(ステップS101)。ダウンロード監視部1121は、プロセス1150によるファイルのダウンロード処理をフックする(ステップS102)。
ダウンロード監視部1121がダウンロード処理をフックすると、プロセス1150が実行したダウンロード処理は中断される。ダウンロード監視部1121は、新たにダウンロード処理を行い、ファイルをダウンロードする(ステップS103)。
ファイルがダウンロードされた後、ダウンロード監視部1121は、ファイルのダウンロード元サーバの識別子が機密サーバテーブルに登録されているか否かを確認する(ステップS104)。
識別子が登録されていない場合(ステップS104におけるNo)、ダウンロード監視部1121は、機密ファイルテーブルにダウンロードされたファイルの情報が存在するか否かを確認する(ステップS105)。ファイルの情報が存在しない場合(ステップS105におけるNo)、情報漏洩防止システム1000は、ファイルダウンロード処理を終了する。
ファイルの情報が存在する場合(ステップS105におけるYes)、ダウンロード監視部1121は、テーブル制御部1123を介して該当するエントリを削除する(ステップS106)。削除した後、情報漏洩防止システム1000は、ファイルダウンロード処理を終了する。
識別子が登録されている場合(ステップS104におけるYes)、ダウンロード監視部1121は、機密ファイルテーブルにダウンロードされたファイルの情報が登録済みであれば、テーブル制御部1123を介して該当するエントリを更新する。
また、機密ファイルテーブルにダウンロードされたファイルの情報が登録されていなければ、ダウンロード監視部1121は、テーブル制御部1123を介してダウンロードされたファイルの情報を機密ファイルテーブルに新規に登録する(ステップS107)。更新または登録した後、情報漏洩防止システム1000は、ファイルダウンロード処理を終了する。
次に、本実施形態の情報漏洩防止システム1000のファイルをコピーする動作を図14を参照して説明する。図14は、第2の実施形態の情報漏洩防止システム1000によるファイルコピー処理の動作を示すフローチャートである。
最初に、プロセス1150が、ファイルのコピーを要求する(ステップS201)。ドライバ監視部1124は、プロセス1150によるファイルのコピー処理をフックする(ステップS202)。
ドライバ監視部1124がコピー処理をフックすると、プロセス1150が実行したコピー処理は中断される。ドライバ監視部1124は、新たにコピー処理を行い、ファイルをコピーする(ステップS203)。
ファイルがコピーされた後、ドライバ監視部1124は、機密ファイルテーブルにコピー先のファイルの情報が存在するか否かを確認する(ステップS204)。
ファイルの情報が存在しない場合(ステップS204におけるNo)、ドライバ監視部1124は、テーブル制御部1123を介してコピー先のファイルの情報を機密ファイルテーブルに新規に登録する(ステップS205)。登録した後、情報漏洩防止システム1000は、ファイルコピー処理を終了する。
ファイルの情報が存在する場合(ステップS204におけるYes)、ドライバ監視部1124は、テーブル制御部1123を介して該当するエントリを更新する(ステップS206)。更新した後、情報漏洩防止システム1000は、ファイルコピー処理を終了する。
次に、本実施形態の情報漏洩防止システム1000のファイルの名前を変更する動作を図15を参照して説明する。図15は、第2の実施形態の情報漏洩防止システム1000によるファイル名変更処理の動作を示すフローチャートである。
最初に、プロセス1150が、ファイルの名前変更を要求する(ステップS301)。ドライバ監視部1124は、プロセス1150によるファイルの名前変更処理をフックする(ステップS302)。
ドライバ監視部1124が名前変更処理をフックすると、プロセス1150が実行した名前変更処理は中断される。ドライバ監視部1124は、新たに名前変更処理を行い、ファイルの名前を変更する(ステップS303)。
ファイルの名前が変更された後、ドライバ監視部1124は、機密ファイルテーブルに名前変更後のファイルの情報が存在するか否かを確認する(ステップS304)。
ファイルの情報が存在しない場合(ステップS304におけるNo)、ドライバ監視部1124は、テーブル制御部1123を介して名前変更後のファイルの情報を機密ファイルテーブルに新規に登録する(ステップS305)。登録した後、ドライバ監視部1124は、ステップS307の処理を行う。
ファイルの情報が存在する場合(ステップS304におけるYes)、ドライバ監視部1124は、テーブル制御部1123を介して該当するエントリを更新する(ステップS306)。更新した後、ドライバ監視部1124は、ステップS307の処理を行う。
ステップS307で、ドライバ監視部1124は、テーブル制御部1123を介して機密ファイルテーブルに登録されている名前変更前のファイルのエントリを削除する。削除した後、情報漏洩防止システム1000は、ファイル名変更処理を終了する。
次に、本実施形態の情報漏洩防止システム1000のファイルを移動する動作を図16を参照して説明する。図16は、第2の実施形態の情報漏洩防止システム1000によるファイル移動処理の動作を示すフローチャートである。
最初に、プロセス1150が、ファイルの移動を要求する(ステップS401)。ドライバ監視部1124は、プロセス1150によるファイルの移動処理をフックする(ステップS402)。
ドライバ監視部1124がファイル移動処理をフックすると、プロセス1150が実行したファイル移動処理は中断される。ドライバ監視部1124は、新たにファイル移動処理を行い、ファイルを移動する(ステップS403)。
ファイルが移動された後、ドライバ監視部1124は、機密ファイルテーブルに移動後のファイルの情報が存在するか否かを確認する(ステップS404)。
ファイルの情報が存在しない場合(ステップS404におけるNo)、ドライバ監視部1124は、テーブル制御部1123を介して移動後のファイルの情報を機密ファイルテーブルに新規に登録する(ステップS405)。登録した後、ドライバ監視部1124は、ステップS407の処理を行う。
ファイルの情報が存在する場合(ステップS404におけるYes)、ドライバ監視部1124は、テーブル制御部1123を介して該当するエントリを更新する(ステップS406)。更新した後、ドライバ監視部1124は、ステップS407の処理を行う。
ステップS407で、ドライバ監視部1124は、テーブル制御部1123を介して機密ファイルテーブルに登録されている移動前のファイルのエントリを削除する。削除した後、情報漏洩防止システム1000は、ファイル移動処理を終了する。
次に、本実施形態の情報漏洩防止システム1000のファイルを削除する動作を図17を参照して説明する。図17は、第2の実施形態の情報漏洩防止システム1000によるファイル削除処理の動作を示すフローチャートである。
最初に、プロセス1150が、ファイルの削除を要求する(ステップS501)。ドライバ監視部1124は、プロセス1150によるファイルの削除処理をフックする(ステップS502)。
ドライバ監視部1124がファイル削除処理をフックすると、プロセス1150が実行したファイル削除処理は中断される。ドライバ監視部1124は、新たにファイル削除処理を行い、ファイルを削除する(ステップS503)。
ファイルが削除された後、ドライバ監視部1124は、機密ファイルテーブルに削除対象ファイルの情報が存在するか否かを確認する(ステップS504)。ファイルの情報が存在しない場合(ステップS504におけるNo)、情報漏洩防止システム1000は、ファイル削除処理を終了する。
ファイルの情報が存在する場合(ステップS504におけるYes)、ドライバ監視部1124は、テーブル制御部1123を介して該当するエントリを削除する(ステップS505)。削除した後、情報漏洩防止システム1000は、ファイル削除処理を終了する。
次に、ユーザがファイルを開いた際に行われる本実施形態の情報漏洩防止システム1000の動作を図18〜図20を参照して説明する。図18〜図20は、第2の実施形態の情報漏洩防止システム1000によるファイルオープン処理の動作を示すフローチャートである。
ユーザがファイルを開いた際、プロセス1150は、ダイアログ表示部1112に対して[開く]ダイアログボックスの表示を要求する(ステップS601)。要求を受け取ると、ダイアログ表示部1112は、[開く]ダイアログボックスを表示する(ステップS602)。
ユーザが表示された[開く]ダイアログボックスへの入力を完了すると、ダイアログ表示部1112は、プロセス1150に対して[開く]ダイアログボックスからの通知メッセージを送信する。ダイアログ監視部1125は、通知メッセージの送信処理をフックする(ステップS603)。次いで、ダイアログ監視部1125は、フックされた通知メッセージからユーザが入力した情報を取得する(ステップS604)。
次いで、ダイアログ監視部1125は、ステップS604で取得された情報を基に、[開く]ダイアログボックスでユーザがファイルオープンに対する「OK」を入力したか否かを確認する(ステップS605)。
「OK」が入力されなかった場合(ステップS605におけるNo)、ダイアログ監視部1125は、プロセス1150に対して[開く]ダイアログボックスからの通知メッセージを送信する(ステップS608)。送信した後、情報漏洩防止システム1000は、ファイルオープン処理を終了する。
「OK」が入力された場合(ステップS605におけるYes)、ダイアログ監視部1125は、ステップS604で取得された情報をダイアログ情報格納部1126に格納する(ステップS606)。次いで、ダイアログ監視部1125は、プロセス1150に対して[開く]ダイアログボックスからの通知メッセージを送信する(ステップS607)。
次いで、API監視部1127は、プロセス1150によるファイルオープン用APIの呼び出し処理をフックする(ステップS609)。API監視部1127は、フックされた情報が示すプロセス1150のプロセスIDおよびオープン対象ファイルのパスが、ダイアログ情報格納部1126に格納されているエントリのプロセスIDおよびファイルパスと一致するか否かを確認する(ステップS610)。
ステップS610で、API監視部1127は、ファイルオープンがユーザ操作による手動のファイルオープンであるか、プロセスによる自動のファイルオープンであるかを判別している。
一致するエントリが格納されていなければ(ステップS610におけるNo)、ファイルオープンは、ユーザ操作による手動のファイルオープンである。すなわち、対象のファイルがユーザ操作によりオープンされる(ステップS611)。ファイルがオープンされた後、情報漏洩防止システム1000は、ファイルオープン処理を終了する。
一致するエントリが格納されていれば(ステップS610におけるYes)、ファイルオープンは、プロセスによる自動のファイルオープンである。次いで、API監視部1127は、プロセス1150の情報がプロセステーブルに登録済みであるか否かを確認する(ステップS612)。プロセス1150の情報が登録されていなければ(ステップS612におけるNo)、API監視部1127は、ステップS614の処理を行う。
プロセス1150の情報が登録済みであれば(ステップS612におけるYes)、API監視部1127は、プロセステーブルに登録されているプロセス1150のセキュリティレベルが「1」であるか否かを確認する(ステップS613)。ステップS613で、API監視部1127は、ファイルオープンを行うプロセスが機密プロセスであるか通常プロセスであるかを判別している。
登録されているセキュリティレベルが「1」であれば、すなわちプロセス1150が機密プロセスであれば(ステップS613におけるYes)、API監視部1127は、ステップS619の処理を行う。
登録されているセキュリティレベルが「0」であれば、すなわちプロセス1150が通常プロセスであれば(ステップS613におけるNo)、API監視部1127は、ステップS616の処理を行う。
ステップS614で、API監視部1127は、プロセス1150の情報が例外プロセステーブルに登録されているか否かを確認する。プロセス1150の情報が登録されていなければ(ステップS614におけるNo)、API監視部1127は、ステップS616の処理を行う。
プロセス1150の情報が登録されていれば(ステップS614におけるYes)、API監視部1127は、例外プロセステーブルに登録されているプロセス1150のセキュリティレベルが「1」であるか否かを確認する(ステップS615)。
登録されているセキュリティレベルが「1」であれば(ステップS615におけるYes)、API監視部1127は、ステップS619の処理を行う。登録されているセキュリティレベルが「0」であれば(ステップS615におけるNo)、API監視部1127は、ステップS622の処理を行う。
ステップS616で、API監視部1127は、オープン対象ファイルの情報が例外ファイルテーブルに登録されているか否かを確認する。オープン対象ファイルの情報が登録されていれば(ステップS616におけるYes)、API監視部1127は、例外ファイルテーブルに登録されているオープン対象ファイルのセキュリティレベルが「1」であるか否かを確認する(ステップS617)。
登録されているセキュリティレベルが「1」であれば(ステップS617におけるYes)、API監視部1127は、ステップS619の処理を行う。登録されているセキュリティレベルが「0」であれば(ステップS617におけるNo)、API監視部1127は、ステップS622の処理を行う。
オープン対象ファイルの情報が例外ファイルテーブルに登録されていなければ(ステップS616におけるNo)、API監視部1127は、オープン対象ファイルの情報が機密ファイルテーブルに登録されているか否かを確認する(ステップS618)。
オープン対象ファイルの情報が登録されていれば(ステップS618におけるYes)、API監視部1127は、ステップS619の処理を行う。オープン対象ファイルの情報が登録されていなければ(ステップS618におけるNo)、API監視部1127は、ステップS622の処理を行う。
ステップS619で、API監視部1127は、ダイアログ生成部1128を呼び出す。API監視部1127は、ダイアログ生成部1128にダイアログの種類が「open」の確認ダイアログボックスを表示させる。
表示された確認ダイアログボックスへのユーザの入力が完了すると、API監視部1127は、確認ダイアログボックスからの通知メッセージを受信する(ステップS620)。次いで、API監視部1127は、受信された通知メッセージから取得されたユーザの入力結果が「OK」であるか否かを確認する(ステップS621)。
ユーザの入力結果が「OK」であれば(ステップS621におけるYes)、API監視部1127は、ステップS622の処理を行う。ユーザの入力結果が「OK」でなければ(ステップS621におけるNo)、API監視部1127は、ステップS624の処理を行う。
ステップS622で、プロセス1150は、オープン対象ファイルをオープンする。次いで、API監視部1127は、テーブル制御部1123を介してプロセステーブルに登録されているプロセス1150の[使用ファイルパス]にオープン対象ファイルのパスを追加する。また、API監視部1127は、図10に示す条件に従って、[セキュリティレベル]の値を「1」に更新する(ステップS623)。
ステップS624で、ダイアログ監視部1125は、ダイアログ情報格納部1126に格納されている、今回のファイルオープン処理に関するプロセス1150のプロセスIDおよびオープン対象ファイルのパスを含むエントリを削除する。削除した後、情報漏洩防止システム1000は、ファイルオープン処理を終了する。
次に、ユーザがファイルを別名保存する際または上書き保存する際に行われる本実施形態の情報漏洩防止システム1000の動作を図21〜図23を参照して説明する。図21〜図23は、第2の実施形態の情報漏洩防止システム1000によるファイル保存処理の動作を示すフローチャートである。
以下、ユーザがファイルを別名保存する場合の動作の例を説明する。ユーザがファイルを別名保存した際、プロセス1150は、ダイアログ表示部1112に対して[名前を付けて保存]ダイアログボックスの表示を要求する(ステップS701)。要求を受け取ると、ダイアログ表示部1112は、[名前を付けて保存]ダイアログボックスを表示する(ステップS702)。
ユーザが表示された[名前を付けて保存]ダイアログボックスへの入力を完了すると、ダイアログ表示部1112は、プロセス1150に対して[名前を付けて保存]ダイアログボックスからの通知メッセージを送信する。ダイアログ監視部1125は、通知メッセージの送信処理をフックする(ステップS703)。
次いで、ダイアログ監視部1125は、プロセステーブルに登録されているプロセス1150のセキュリティレベルが「1」であるか否かを確認する(ステップS704)。ステップS704で、ダイアログ監視部1125は、ファイルの別名保存を行うプロセスが機密プロセスであるか、通常プロセスであるかを判別している。
プロセステーブルに登録されているセキュリティレベルが「0」であれば(ステップS704におけるNo)、ファイルの別名保存を行うプロセスは通常プロセスである。次いで、ダイアログ監視部1125は、ステップS709の処理を行う。
プロセステーブルに登録されているセキュリティレベルが「1」であれば(ステップS704におけるYes)、ファイルの別名保存を行うプロセスは機密プロセスである。次いで、ダイアログ監視部1125は、フックされた通知メッセージからユーザが入力した情報を取得する(ステップS705)。
次いで、ダイアログ監視部1125は、ステップS705で取得された情報を基に、[名前を付けて保存]ダイアログボックスでユーザがファイルの別名保存に対する「OK」を入力したか否かを確認する(ステップS706)。
ファイルの別名保存を行うプロセスが通常プロセスである場合(ステップS704におけるNo)、または「OK」が入力されなかった場合(ステップS706におけるNo)、ダイアログ監視部1125は、プロセス1150に対して[名前を付けて保存]ダイアログボックスからの通知メッセージを送信する(ステップS709)。送信した後、情報漏洩防止システム1000は、ファイル保存処理を終了する。
「OK」が入力された場合(ステップS706におけるYes)、ダイアログ監視部1125は、ステップS705で取得された情報をダイアログ情報格納部1126に格納する(ステップS707)。次いで、ダイアログ監視部1125は、プロセス1150に対して[名前を付けて保存]ダイアログボックスからの通知メッセージを送信する(ステップS708)。
次いで、API監視部1127は、プロセス1150によるファイル書き込み用APIの呼び出し処理をフックする(ステップS710)。API監視部1127は、プロセステーブルに登録されているプロセス1150のセキュリティレベルが「1」であるか否かを確認する(ステップS711)。ステップS711で、API監視部1127は、ファイルの別名保存を行うプロセスが機密プロセスであるか、通常プロセスであるかを判別している。
プロセステーブルに登録されているセキュリティレベルが「0」であれば(ステップS711におけるNo)、ファイルの別名保存を行うプロセスは通常プロセスである。次いで、API監視部1127は、ステップS719の処理を行う。
プロセステーブルに登録されているセキュリティレベルが「1」であれば(ステップS711におけるYes)、ファイルの別名保存を行うプロセスは機密プロセスである。次いで、API監視部1127は、フックされた情報が示すプロセス1150のプロセスIDおよび書き込み対象ファイルのパスが、プロセステーブルに登録されているエントリのプロセスIDおよびファイルパスと一致するか否かを確認する(ステップS712)。
ステップS712で、API監視部1127は、保存後のファイルがユーザ操作により開かれているか否かを判別している。一致するエントリが登録されていれば(ステップS712におけるYes)、保存後のファイルがユーザ操作により開かれている。次いで、API監視部1127は、ステップS716の処理を行う。
一致するエントリが登録されていなければ(ステップS712におけるNo)、保存後のファイルがユーザ操作により開かれていない。次いで、API監視部1127は、フックされた情報が示すプロセス1150のプロセスIDおよび書き込み対象ファイルのパスが、ダイアログ情報格納部1126に格納されているエントリのプロセスIDおよびファイルパスと一致するか否かを確認する(ステップS713)。
ステップS713で、API監視部1127は、ファイルの別名保存がユーザ操作による手動の別名保存であるか、プロセスによる自動の別名保存であるかを判別している。
一致するエントリが格納されていれば(ステップS713におけるYes)、ファイルの別名保存は、プロセスによる自動の別名保存である。次いで、API監視部1127は、ステップS716の処理を行う。
一致するエントリが格納されていなければ(ステップS713におけるNo)、ファイルの別名保存は、ユーザ操作による手動の別名保存である。次いで、API監視部1127は、書き込み対象ファイルの情報が例外ファイルテーブルに登録されているか否かを確認する(ステップS714)。書き込み対象ファイルの情報が登録されていなければ(ステップS714におけるNo)、API監視部1127は、ステップS719の処理を行う。
書き込み対象ファイルの情報が登録されていれば(ステップS714におけるYes)、API監視部1127は、例外ファイルテーブルに登録されている書き込み対象ファイルのセキュリティレベルが「0」であるか否かを確認する(ステップS715)。
登録されているセキュリティレベルが「0」であれば(ステップS715におけるYes)、API監視部1127は、ステップS719の処理を行う。登録されているセキュリティレベルが「1」であれば(ステップS715におけるNo)、API監視部1127は、ステップS716の処理を行う。
ステップS716で、API監視部1127は、ダイアログ生成部1128を呼び出す。API監視部1127は、ダイアログ生成部1128にダイアログの種類が「save」の確認ダイアログボックスを表示させる。
表示された確認ダイアログボックスへのユーザの入力が完了すると、API監視部1127は、確認ダイアログボックスからの通知メッセージを受信する(ステップS717)。次いで、API監視部1127は、受信された通知メッセージから取得されたユーザの入力結果が「OK」であるか否かを確認する(ステップS718)。
ユーザの入力結果が「OK」であれば(ステップS718におけるYes)、API監視部1127は、ステップS719の処理を行う。ユーザの入力結果が「OK」でなければ(ステップS718におけるNo)、API監視部1127は、ステップS721の処理を行う。
ステップS719で、プロセス1150は、書き込み対象ファイルに書き込む。次いで、API監視部1127は、図11に示す条件に従って、テーブル制御部1123を介して機密ファイルテーブルを更新する(ステップS720)。なお、API監視部1127は、セキュリティレベルが「0」のファイルを機密ファイルテーブルに登録しない。
ステップS721で、ダイアログ監視部1125は、ダイアログ情報格納部1126に格納されている、今回のファイル保存処理に関するプロセス1150のプロセスIDおよび書き込み対象ファイルのパスを含むエントリを削除する。削除した後、情報漏洩防止システム1000は、ファイル保存処理を終了する。
次に、プロセス1150が端末外部と通信する際に行われる本実施形態の情報漏洩防止システム1000の動作を図24を参照して説明する。図24は、第2の実施形態の情報漏洩防止システム1000による通信処理の動作を示すフローチャートである。
最初に、プロセス1150が、端末外部と通信する(ステップS801)。通信監視部1129は、プロセス1150による通信処理をフックする(ステップS802)。
次いで、通信監視部1129は、プロセス1150がプロセステーブルにセキュリティレベル「1」で登録されているか否かを確認する(ステップS803)。セキュリティレベル「1」で登録されていなければ(ステップS803におけるNo)、通信監視部1129は、フックされた通信処理の実行を許可する(ステップS804)。許可した後、情報漏洩防止システム1000は、通信処理を終了する。
セキュリティレベル「1」で登録されていれば(ステップS803におけるYes)、通信監視部1129は、管理サーバ通信部1130にフックされた通信処理に関する情報を入力する(ステップS805)。
次いで、管理サーバ通信部1130は、クライアント通信部1211に対して、通信制御テーブルの送信を依頼する(ステップS806)。依頼を受けたクライアント通信部1211は、テーブル制御部1212を介して通信制御テーブルを取得する(ステップS807)。
次いで、クライアント通信部1211は、ステップS807で取得された通信制御テーブルを端末1100に送信する(ステップS808)。管理サーバ通信部1130は、送信された通信制御テーブルを受信する。次いで、管理サーバ通信部1130は、受信された通信制御テーブルを通信制御部1131に入力する(ステップS809)。
次いで、通信制御部1131は、入力された通信制御テーブルを基にフックされた通信処理を制御する(ステップS810)。制御した後、情報漏洩防止システム1000は、通信処理を終了する。
次に、プロセスが終了する際に行われる本実施形態の情報漏洩防止システム1000の動作を図25を参照して説明する。図25は、第2の実施形態の情報漏洩防止システム1000によるプロセス終了処理の動作を示すフローチャートである。
プロセス1150が終了する(ステップS901)と、プロセス監視部1122は、プロセス1150の終了を検出する(ステップS902)。
次いで、プロセス監視部1122は、テーブル制御部1123を介してプロセステーブルに登録されている終了したプロセス1150のエントリを削除する(ステップS903)。削除した後、情報漏洩防止システム1000は、プロセス終了処理を終了する。
[効果の説明]
本実施形態の情報漏洩防止システムの記憶媒体は、機密ファイルを格納する機密サーバの一覧が記録される機密サーバテーブルと、端末に保存されている機密ファイルの一覧が記録される機密ファイルテーブルと、端末内でファイルをオープンしているプロセスの一覧が記録されるプロセステーブルとを有する。
また、本実施形態の情報漏洩防止システムは、ファイルのダウンロードを検知し、機密サーバテーブルに基づいて機密ファイルテーブルを更新するダウンロード監視部と、ファイルのコピー、名前変更、移動、および削除の各要求をフックし、機密ファイルテーブルおよびプロセステーブルを更新するドライバ監視部とを含む。
上記のような構成により、機密ファイルを保持する機密サーバからの機密ファイルのダウンロードを契機として端末に保存されている機密ファイルがコピー、名前変更、移動、または削除されても、どのファイルが機密ファイルであるかが判別される。
また、本実施形態の情報漏洩防止システムの記憶媒体は、プロセスのセキュリティレベルの固定化に使用される例外プロセステーブルと、ファイルのセキュリティレベルの固定化に使用される例外ファイルテーブルとを有する。
また、本実施形態の情報漏洩防止システムは、ファイルのオープン用APIの呼び出しおよびファイルへの書き込み用APIの呼び出しをフックし、例外プロセステーブルおよび例外ファイルテーブルに基づいて、機密ファイルテーブルおよびプロセステーブルを更新するAPI監視部を含む。
また、本実施形態の情報漏洩防止システムは、プロセスの停止を検知しプロセステーブルを更新するプロセス監視部と、プロセスから呼び出されたコモンダイアログボックスでフック処理を行うことによってユーザの入力情報を取得し、取得された入力情報をダイアログ情報格納部に格納するダイアログ監視部とを含む。
また、本実施形態の情報漏洩防止システムは、ユーザの入力情報が格納されるダイアログ情報格納部と、機密ファイルテーブルおよびプロセステーブルに基づいてコモンダイアログボックスを生成するダイアログ生成部とを含む。
上記のような構成により、ファイルのオープンおよび別名保存がユーザ操作により行われたかプロセスにより行われたかが判別され、判別された結果に応じて適切なセキュリティレベルでファイルが保存される。
また、本実施形態の情報漏洩防止システムは、プロセスの通信要求をフックする通信監視部と、管理サーバから通信制御テーブルを取得する管理サーバ通信部と、通信制御テーブルに基づいてプロセス単位でプロセスによる通信を制御する通信制御部とを含む。また、管理サーバは、クライアントからの通信制御テーブルの取得要求に基づいて、通信制御テーブルをクライアントに送信するクライアント通信部を含む。
上記のような構成により、通信制御部は、機密プロセスが端末の外部装置と通信しようとした際に、予め登録された通信制御テーブルに基づいて、機密プロセスによる通信を制御できる。なお、各テーブルの更新は、テーブル制御部を介して行われる。
本実施形態の情報漏洩防止システムは、ファイルオープンの操作およびファイルの別名保存の操作が、手動で行われたか自動で行われたかを判別することによって、ファイル保存時にセキュリティレベルを効果的に決定できる。
具体的には、プロセスがファイルオープンを行う際または別名保存を行う際、API監視部がOSのコモンダイアログボックスからプロセスへ送信される通知メッセージを取得する。取得された通知メッセージに含まれる情報を基に、API監視部は、ユーザ操作によりアクセスされたファイルであるか、アプリケーションによりアクセスされたファイルであるかを判別する。
特許文献1に記載されている情報漏洩防止プログラムでは機密プロセスにより保存されるファイルが全て機密ファイルとされるため、ログファイル等のプロセスにより保存されるファイルまで機密ファイルとして保存されてしまうという問題がある。
ログファイルのようにプロセスが起動する度に開かれるファイルが機密ファイルとして認識されると、起動するプロセスが常に機密プロセスとして認識される。また、機密プロセスとして認識されたプロセスが通常ファイルを保存する場合も、通常ファイルが機密ファイルとして保存されてしまう。
本実施形態の情報漏洩防止システムは、プロセスがファイルを保存する際に、保存対象ファイルのセキュリティレベルを判別することによって、上記の課題を解決し、ユーザビリティを損なうことなく機密情報の漏洩を防止できる。すなわち、本実施形態の情報漏洩防止システムを使用すると、ユーザは、特別な操作をせずに、かつユーザビリティを損なうことなく機密情報の漏洩を効果的に防止できる。
なお、各実施形態の情報漏洩防止装置10、端末1100、および管理サーバ1200は、例えば、非一時的な記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち、検出部12、判定部13、ダイアログ表示部1112、ダウンロード監視部1121、プロセス監視部1122、テーブル制御部1123、ドライバ監視部1124、ダイアログ監視部1125、ダイアログ情報格納部1126、API監視部1127、ダイアログ生成部1128、通信監視部1129、管理サーバ通信部1130、通信制御部1131、プロセス1150、クライアント通信部1211、およびテーブル制御部1212は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
また、記憶部11、および記憶媒体1140は、例えばRAM(Random Access Memory)で実現される。
また、各実施形態の情報漏洩防止装置10、端末1100、および管理サーバ1200における各部は、ハードウェア回路によって実現されてもよい。一例として、記憶部11、検出部12、判定部13、ダイアログ表示部1112、ダウンロード監視部1121、プロセス監視部1122、テーブル制御部1123、ドライバ監視部1124、ダイアログ監視部1125、ダイアログ情報格納部1126、API監視部1127、ダイアログ生成部1128、通信監視部1129、管理サーバ通信部1130、通信制御部1131、記憶媒体1140、プロセス1150、クライアント通信部1211、およびテーブル制御部1212が、それぞれLSI(Large Scale Integration)で実現される。また、それらが1つのLSIで実現されていてもよい。
10 情報漏洩防止装置
11 記憶部
12 検出部
13 判定部
1000 情報漏洩防止システム
1100 端末
1110、1210 Operating System(OS)
1111 エージェント
1112 ダイアログ表示部
1121 ダウンロード監視部
1122 プロセス監視部
1123 テーブル制御部
1124 ドライバ監視部
1125 ダイアログ監視部
1126 ダイアログ情報格納部
1127 API監視部
1128 ダイアログ生成部
1129 通信監視部
1130 管理サーバ通信部
1131 通信制御部
1140 記憶媒体
1150 プロセス
1200 管理サーバ
1211 クライアント通信部
1212 テーブル制御部

Claims (10)

  1. プロセスの識別情報と前記プロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報と前記ファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶部と、
    プロセスが出力するファイルへのアクセス要求を検出する検出部と、
    前記記憶部に記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および前記記憶部に記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定部とを備える
    ことを特徴とする情報漏洩防止装置。
  2. 検出されたアクセス要求が容認されないと判定部が判定した後に前記アクセス要求に関する追加情報が入力される入力手段を提示する提示部を備え、
    前記判定部は、入力された追加情報に基づいて前記アクセス要求を容認するか否かを再度判定する
    請求項1記載の情報漏洩防止装置。
  3. プロセス情報およびファイル情報を更新する更新部を備える
    請求項1または請求項2記載の情報漏洩防止装置。
  4. ファイルへのアクセス要求は、ファイルのオープン要求であり、
    更新部は、判定部が容認した前記ファイルのオープン要求を出力したプロセスに関するプロセス情報を更新する
    請求項3記載の情報漏洩防止装置。
  5. ファイルへのアクセス要求は、ファイルの保存要求であり、
    更新部は、判定部が容認した前記ファイルの保存要求の対象のファイルに関するファイル情報を更新する
    請求項3記載の情報漏洩防止装置。
  6. 検出部は、プロセスが出力する通信要求を検出し、
    判定部は、記憶部に記憶されているプロセス情報のうち検出された通信要求を出力したプロセスに関するプロセス情報に基づいて検出された通信要求を容認するか否かを判定する
    請求項1から請求項5のうちのいずれか1項に記載の情報漏洩防止装置。
  7. プロセスの識別情報と前記プロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報と前記ファイルのセキュリティレベルとを含むファイル情報とを記憶し、
    プロセスが出力するファイルへのアクセス要求を検出し、
    記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する
    ことを特徴とする情報漏洩防止方法。
  8. 検出されたアクセス要求が容認されないと判定された後に前記アクセス要求に関する追加情報が入力される入力手段を提示し、
    入力された追加情報に基づいて前記アクセス要求を容認するか否かを再度判定する
    請求項7記載の情報漏洩防止方法。
  9. コンピュータに、
    プロセスの識別情報と前記プロセスのセキュリティレベルとを含むプロセス情報とファイルの識別情報と前記ファイルのセキュリティレベルとを含むファイル情報とを記憶する記憶処理、
    プロセスが出力するファイルへのアクセス要求を検出する検出処理、および
    記憶されているプロセス情報のうち検出されたアクセス要求を出力したプロセスに関するプロセス情報および記憶されているファイル情報のうち検出されたアクセス要求の対象のファイルに関するファイル情報に基づいて検出されたアクセス要求を容認するか否かを判定する判定処理
    を実行させるための情報漏洩防止プログラム。
  10. コンピュータに、
    検出されたアクセス要求が容認されないと判定された後に前記アクセス要求に関する追加情報が入力される入力手段を提示する提示処理、および
    入力された追加情報に基づいて前記アクセス要求を容認するか否かを再度判定する判定処理を実行させる
    請求項9記載の情報漏洩防止プログラム。
JP2017041234A 2017-03-06 2017-03-06 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム Pending JP2018147203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017041234A JP2018147203A (ja) 2017-03-06 2017-03-06 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017041234A JP2018147203A (ja) 2017-03-06 2017-03-06 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム

Publications (1)

Publication Number Publication Date
JP2018147203A true JP2018147203A (ja) 2018-09-20

Family

ID=63591292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017041234A Pending JP2018147203A (ja) 2017-03-06 2017-03-06 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム

Country Status (1)

Country Link
JP (1) JP2018147203A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828916A (zh) * 2018-12-29 2019-05-31 航天信息股份有限公司 一种解决内存泄漏的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169895A (ja) * 2008-01-21 2009-07-30 Hitachi Ltd 情報流出検知方法、情報流出検知装置、情報流出検知システム
JP2009266034A (ja) * 2008-04-25 2009-11-12 Hitachi Ltd 情報フロー制御システム
WO2011089788A1 (ja) * 2010-01-19 2011-07-28 日本電気株式会社 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169895A (ja) * 2008-01-21 2009-07-30 Hitachi Ltd 情報流出検知方法、情報流出検知装置、情報流出検知システム
JP2009266034A (ja) * 2008-04-25 2009-11-12 Hitachi Ltd 情報フロー制御システム
WO2011089788A1 (ja) * 2010-01-19 2011-07-28 日本電気株式会社 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828916A (zh) * 2018-12-29 2019-05-31 航天信息股份有限公司 一种解决内存泄漏的方法和系统
CN109828916B (zh) * 2018-12-29 2023-04-21 航天信息股份有限公司 一种解决内存泄漏的方法和系统

Similar Documents

Publication Publication Date Title
US9875353B2 (en) Log information generation apparatus and recording medium, and log information extraction apparatus and recording medium
US20160359859A1 (en) System For Secure File Access
US9854131B2 (en) Image forming apparatus with personal setting synchronization and method for controlling same
US9424058B1 (en) File deduplication and scan reduction in a virtualization environment
JP5429157B2 (ja) 機密情報漏洩防止システム及び機密情報漏洩防止方法
KR102037656B1 (ko) 데이터 파일들 보호
CN107644174B (zh) 数据泄漏防止系统及数据泄漏防止方法
US10089166B2 (en) Configuring and utilizing call-home systems
JP4850159B2 (ja) 外部装置管理システム
JP2018147203A (ja) 情報漏洩防止装置、情報漏洩防止方法および情報漏洩防止プログラム
JP4093811B2 (ja) ユーザアクセス権制御装置及び方法
JP6483459B2 (ja) ファイル管理システム及びファイル管理プログラム
KR20100123133A (ko) 응용프로그램에서 사용되는 임시 파일의 관리 방법
JP6700337B2 (ja) 保護装置及び保護方法
US20140366084A1 (en) Management system, management method, and non-transitory storage medium
JP2008243198A (ja) アクセス権限制御システム
JP5842981B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2018005415A (ja) 情報処理装置、情報処理方法、プログラム
JP6193149B2 (ja) ストレージ接続システム、ストレージ接続装置、ストレージ共有方法、およびプログラム
JP5126495B2 (ja) 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法
JP2016224709A (ja) ファイル管理システム、ファイル管理方法、及びファイル管理プログラム
JP2009026228A (ja) データ機密制御システム
JP2009169895A (ja) 情報流出検知方法、情報流出検知装置、情報流出検知システム
EP2645293A2 (en) Method and apparatus for controlling operations performed by a mobile computing device
JP6782900B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803