(57)【要約】【課題】ネットワーク通信を行うプロセスによるファイルアクセスが許可されている場合であっても、暗号化されていない又は自動復号可能なファイルの不正な持ち出しを防ぐ。【解決手段】データ漏洩防止システムは、暗号化されていない又はデータ漏洩防止システムによる自動復号が可能である第１ファイルと、データ漏洩防止システムによる自動復号が不可能である第２ファイルと、データ漏洩防止システムが保持するファイルへのアクセスを許可された許可プロセスを示すプロセス情報と、を保持し、プロセスによるファイルアクセス要求を受け付け、プロセス情報を参照して、該プロセスが前記許可プロセスであるか否かを判定し、該プロセスが許可プロセスであり、かつ該アクセス要求におけるアクセス対象が第１ファイルであると判定した場合、該プロセスによるネットワーク通信を禁止する。【選択図】図１Ａ
2018014020.tif 000002
【特許請求の範囲】
【請求項１】
プロセスによるファイルへのアクセス及びネットワーク通信を制御する、データ漏洩防止システムであって、
プロセッサと記憶装置とを含み、
前記記憶装置は、
暗号化されていない又は前記プロセッサによる自動復号が可能である第１ファイルと、
前記プロセッサによる自動復号が不可能である第２ファイルと、
前記記憶装置が保持するファイルへのアクセスを許可された許可プロセスを示すプロセス情報と、を保持し、
前記プロセッサは、
前記プロセスによるファイルアクセス要求を受け付け、
前記プロセス情報を参照して、前記プロセスが前記許可プロセスであるか否かを判定し、
前記プロセスによるネットワーク通信を禁止するか否かを判定する判定処理を実行し、
前記判定処理において、前記プロセスが前記許可プロセスであり、かつ前記ファイルアクセス要求におけるアクセス対象が前記第１ファイルであると判定した場合、前記プロセスによるネットワーク通信を禁止する、データ漏洩防止システム。
【請求項２】
請求項１に記載のデータ漏洩防止システムであって、
前記プロセッサは、前記ファイルアクセス要求におけるアクセス対象が前記第２ファイルであると判定した場合、前記判定処理の判定結果に関わらず、前記プロセスによるネットワーク通信を許可する、データ漏洩防止システム。
【請求項３】
請求項１に記載のデータ漏洩防止システムであって、
前記プロセッサは、前記ファイルアクセス要求におけるアクセス対象が前記第２ファイルであると判定した場合、前記プロセスが前記許可プロセスであるか否かに関わらず、前記プロセスによる前記第２ファイルへのアクセスを許可する、データ漏洩防止システム。
【請求項４】
請求項１に記載のデータ漏洩防止システムであって、
前記プロセッサは、
前記プロセスによるネットワーク通信要求を受け付け、
前記ネットワーク通信要求における通信プロトコルが所定の通信プロトコルである場合、前記判定処理の判定結果に関わらず、前記プロセスによるネットワーク通信を許可する、データ漏洩防止システム。
【請求項５】
請求項１に記載のデータ漏洩防止システムであって、
前記プロセッサは、前記プロセスにおいて他のプロセスによってリモートスレッドが起動されていないと判定した場合、前記判定処理の結果に関わらず、前記プロセスによるネットワーク通信を許可する、データ漏洩防止システム。
【請求項６】
請求項１に記載のデータ漏洩防止システムであって、
前記プロセッサは、
複数のユーザからアプリケーションの指定を受け付け、
所定数以上のユーザから指定されたアプリケーションのプロセスを、前記許可プロセスとして、前記プロセス情報に追加する、データ漏洩防止システム。
【請求項７】
請求項１に記載のデータ漏洩防止システムであって、
前記記憶装置は、前記記憶装置が保持するファイルへのアプリケーションによるアクセス履歴を示すファイルアクセスログを、さらに保持し、
前記ファイルアクセスログは、前記アプリケーションが実行されたユーザ権限を示し、
前記プロセッサは、
前記ファイルアクセスログから、前記ユーザ権限を取得し、
前記取得したユーザ権限と、前記データ漏洩防止システムにログオンしているユーザと、の比較結果に基づいて、前記プロセス情報における許可プロセスを変更する、データ漏洩防止システム。
【請求項８】
請求項１に記載のデータ漏洩防止システムであって、
前記記憶装置は、前記記憶装置が保持するファイルへのアプリケーションによるアクセス履歴を示すファイルアクセスログを、さらに保持し、
前記ファイルアクセスログは、前記アプリケーションがアクセスしたファイルのパス数を示し、
前記プロセッサは、
前記ファイルアクセスログから、前記パス数を取得し、
前記取得したパス数に基づいて、前記プロセス情報における許可プロセスを変更する、データ漏洩防止システム。
【請求項９】
請求項１に記載のデータ漏洩防止システムであって、
前記記憶装置は、アプリケーションが行ったネットワーク通信回数を示すネットワーク通信ログをさらに保持し、
前記プロセッサは、
前記ネットワーク通信ログから、前記ネットワーク通信回数を取得し、
前記取得したネットワーク通信回数に基づいて、前記プロセス情報における許可プロセスを変更する、データ漏洩防止システム。
【請求項１０】
データ漏洩防止システムが、プロセスによるファイルへのアクセス及びネットワーク通信を制御する、データ漏洩防止方法であって、
データ漏洩防止システムは、
暗号化されていない又は前記データ漏洩防止システムによる自動復号が可能である第１ファイルと、
前記データ漏洩防止システムによる自動復号が不可能である第２ファイルと、
前記データ漏洩防止システムが保持するファイルへのアクセスを許可された許可プロセスを示すプロセス情報と、を保持し、
前記データ漏洩防止方法は、
前記データ漏洩防止システムが、
前記プロセスによるファイルアクセス要求を受け付け、
前記プロセス情報を参照して、前記プロセスが前記許可プロセスであるか否かを判定し、
前記プロセスによるネットワーク通信を禁止するか否かを判定する判定処理を実行し、
前記判定処理において、前記プロセスが前記許可プロセスであり、かつ前記ファイルアクセス要求におけるアクセス対象が前記第１ファイルであると判定した場合、前記プロセスによるネットワーク通信を禁止する、データ漏洩防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ漏洩防止システム及びデータ漏洩防止方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２０１５−０５６０９０号公報（特許文献１）がある。この公報には、「保護対象のファイル種別に対して暗号化しないアプリケーションのリストを用意し、該リストにないアプリケーションからのアクセスについては暗号化してからアクセスを許可する。また、暗号化して保存されたファイルについては自動的に復号する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０５６０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、ホワイトリストに登録されているアプリケーションによるファイルアクセス要求に対しては、ファイルを暗号化することなくアクセスを許可する。しかし、特許文献１に記載の技術において、ホワイトリストに登録された正規のアプリケーションが、ワーム等のインジェクション型マルウェアに感染した場合、インジェクション型マルウェアに感染した正規のアプリケーションが、暗号化されていないファイルを、ネットワークを介して不正に持ち出すおそれがある。
【０００５】
なお、特許文献１に記載の技術において、ネットワーク通信を行う全てのアプリケーションがホワイトリスト登録外であれば、インジェクション型マルウェアに感染した正規のアプリケーションによる、暗号化されていないファイルの不正な持ち出しを防ぐことができる。
【０００６】
しかし、ネットワーク通信を行う全てのアプリケーションがホワイトリスト登録外とするためには、ユーザは、どのアプリケーションがネットワーク通信を行うか否かを知っている必要がある。従って、セキュリティ性がユーザの知識に委ねられるおそれがある。また、ホワイトリスト登録におけるユーザの利便性が低下するおそれがある。
【０００７】
そこで本発明の一態様は、ネットワーク通信を行うプロセスによるファイルアクセスが許可されている場合であっても、暗号化されていない又は自動復号可能なファイルの不正な持ち出しを防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一態様は以下の構成を採用する。プロセスによるファイルへのアクセス及びネットワーク通信を制御する、データ漏洩防止システムであって、プロセッサと記憶装置とを含み、前記記憶装置は、暗号化されていない又は前記プロセッサによる自動復号が可能である第１ファイルと、前記プロセッサによる自動復号が不可能である第２ファイルと、前記記憶装置が保持するファイルへのアクセスを許可された許可プロセスを示すプロセス情報と、を保持し、前記プロセッサは、前記プロセスによるファイルアクセス要求を受け付け、前記プロセス情報を参照して、前記プロセスが前記許可プロセスであるか否かを判定し、前記プロセスによるネットワーク通信を禁止するか否かを判定する判定処理を実行し、前記判定処理において、前記プロセスが前記許可プロセスであり、かつ前記ファイルアクセス要求におけるアクセス対象が前記第１ファイルであると判定した場合、前記プロセスによるネットワーク通信を禁止する、データ漏洩防止システム。
【発明の効果】
【０００９】
本発明の一態様は、ネットワーク通信を行うプロセスによるファイルアクセスが許可されている場合であっても、暗号化されていない又は自動復号可能なファイルの不正な持ち出しを防ぐことができる。
【００１０】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１Ａ】実施例１におけるデータ漏洩防止システムの構成例を示すブロック図である。
【図１Ｂ】実施例１におけるクライアントのハードウェア構成例を示すブロック図である。
【図２】実施例１におけるファイルアクセス制御及びデータ送信制御の一例を示す説明図である。
【図３】実施例１におけるプロセスリストの一例である。
【図４】実施例１におけるプロセス起動処理の一例を示すフローチャートである。
【図５】実施例１におけるＯＳログオン時の処理の一例を示すフローチャートである。
【図６】実施例１におけるプロセス終了時の処理の一例を示すフローチャートである。
【図７】実施例１におけるファイルアクセス制御処理の一例を示すフローチャートである。
【図８】実施例１におけるデータ送信制御処理の一例を示すフローチャートである。
【図９】実施例１におけるホワイトリスト更新処理の一例を示す説明図である。
【図１０】実施例１における更新アプリケーションリストの生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【実施例１】
【００１３】
図１Ａは、データ漏洩防止システムの構成例を示すブロック図である。データ漏洩防止システムは、例えば、クライアント１０１と、ローカルネットワークにおいてクライアント１０１と接続されたファイル共有サーバ１０２及び管理サーバ１０３と、を含む。データ漏洩防止システムは、インターネット１０５等の外部ネットワークを介して外部のサーバ等に接続する。本実施例では、Ｃ＆Ｃ（Ｃｏｍｍａｎｄ  ａｎｄ  Ｃｏｎｔｒｏｌ）サーバ１０４が、インターネット１０５を介して、データ漏洩防止システムを攻撃する例を説明する。
【００１４】
クライアント１０１は、データ漏洩防止部１１１、アプリケーション群１２０、１以上の透過型暗号化ファイル１３２、及び１以上の非透過型暗号化ファイル１３３を含む。データ漏洩防止部１１１は、クライアント１０１が保持する透過型暗号化ファイル１３２及び非透過型暗号化ファイル１３３を保護する。また、データ漏洩防止部１１１は、ファイル共有サーバ１０２が保持する透過型暗号化ファイル１３５及び非透過型暗号化ファイル１３６をさらに保護してもよい。
【００１５】
透過型暗号化ファイルとは、例えばデータ漏洩防止部１１１等に格納されたプログラムによって、自動的に復号可能な暗号化ファイルである。即ち、ユーザは透過型暗号化ファイルが暗号化されていることを意識せずに、透過型暗号化ファイルを参照可能である。なお、本実施形態において、透過型暗号化ファイルは、暗号化が施されていないファイルを含む概念であってもよい。
【００１６】
また、非透過型暗号化ファイルとは、ユーザ等によって設定された自動的に解除されることのないパスワード、によって保護されているファイルである。従って、非透過型暗号化ファイルは、正しいパスワードを入力したユーザからしか参照できない暗号化ファイルであり、クライアント１０１が自動的に復号することができない暗号化ファイルである。非透過型暗号化ファイルは、ＩＲＭ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）ファイルの一例である。
【００１７】
図１Ａの例では、アプリケーション群１２０は、アプリケーション１２１、独立型マルウェア１２３、及びインジェクション型マルウェア１２４に感染したアプリケーション１２２を含む。独立型マルウェア１２３は、ワームのように、他のプログラムに寄生せずとも、単独で動作することができるマルウェアである。インジェクション型マルウェア１２４は、他のプログラム（図１Ａの例ではアプリケーション１２２）に寄生して動作するマルウェアである。
【００１８】
データ漏洩防止部１１１は、マルウェアが透過型暗号化ファイル１３２を自動的に復号して、インターネット１０５上のＣ＆Ｃサーバ１０４へと流出させることを防ぐ。データ漏洩防止部１１１は、それぞれプログラムである、ファイルアクセス制御部１１２、データ送信制御部１１３、プロセスリスト生成部１１８、及びホワイトリスト更新部１１９を含む。また、データ漏洩防止部１１１は、ホワイトリスト１１４、ファイルアクセスログ１１５、ネットワーク通信ログ１１６、及びプロセスリスト１１７を含む。
【００１９】
ホワイトリスト１１４は、例えば、ファイルへのアクセスが許可されたアプリケーションを示す。具体的には、例えば、ホワイトリスト１１４は、ファイルへのアクセスが許可されたアプリケーションのモジュールのハッシュ値、当該モジュールのパス、及び当該モジュールに対する署名の有無等を格納する。
【００２０】
プロセスリスト１１７は、アプリケーションのプロセスが、ファイルへのアクセスが許可された許可プロセスであるか、又は一部もしくは全部のファイルへのアクセスが禁止された禁止プロセスであるかを示す。また、プロセスリスト１１７は、アプリケーションのプロセスによるネットワーク通信、の許可判定基準を格納する。プロセスリスト１１７の具体例については後述する。
【００２１】
プロセスリスト生成部１１８は、ホワイトリスト１１４を用いて、アプリケーションのプロセスを、許可プロセスと禁止プロセスとに分類する。例えば、プロセスリスト生成部１１８は、ホワイトリスト１１４に登録されたアプリケーション１２１とアプリケーション１２２を許可プロセスと判定し、ホワイトリスト１１４に登録されていない独立型マルウェア１２３を禁止プロセスと判定する。
【００２２】
ファイルアクセス制御部１１２は、プロセスリスト１１７を参照して、各プロセスによるファイルへのアクセスを制御する。また、ファイルアクセス制御部１１２は、プロセスリスト１１７におけるネットワーク通信の許可判定基準を設定する。ファイルアクセス制御部１１２は、アプリケーションプロセスによるファイルへのアクセス結果をファイルアクセスログ１１５に記録し、ファイルアクセスログ１１５を管理サーバ１０３に送信する。
【００２３】
ファイルアクセスログ１１５は、例えば、アプリケーション群１２０のアプリケーションによる、クライアント１０１が保持するファイルへのアクセス要求履歴及び／又はアクセス履歴を示す。ファイルアクセスログ１１５は、例えば、ファイルへのアクセス要求をしたプロセス、当該プロセスに対応するアプリケーション、当該アプリケーションを実行したユーザ権限、当該ファイル、当該ファイルの種別（透過型暗号化ファイル又は非透過型暗号化ファイル）、当該アクセス要求をした時刻、及び当該プロセスの種別（許可プロセス又は禁止プロセス）を示す情報を含む。
【００２４】
データ送信制御部１１３は、アプリケーションのプロセスによるネットワーク通信を制御する。また、データ送信制御部１１３は、アプリケーションのプロセスによるネットワーク通信の結果をネットワーク通信ログ１１６に記録し、管理サーバ１０３に送信する。
【００２５】
ネットワーク通信ログ１１６は、例えば、アプリケーション群１２０のアプリケーションによる、ネットワーク通信要求履歴及び／又はネットワーク通信履歴を示す。例えば、ネットワーク通信を要求したプロセス、当該プロセスに対応するアプリケーション、当該プロセスの種別（後述するネットワーク禁止フラグがＯＮであるかＯＦＦであるか）、ネットワーク通信における送信対象のファイル、ネットワーク通信を要求した時刻、ネットワーク通信における通信プロトコル、及びファイルを送信したアプリケーションを示す情報を含む。
【００２６】
ファイル共有サーバ１０２は、１以上の透過型暗号化ファイル１３５及び１以上の非透過型暗号化ファイル１３６を保持する。クライアント１０１とファイル共有サーバ１０２との間でファイルの送受信が行われる。
【００２７】
管理サーバ１０３は、ファイルアクセスログ１４２、ネットワーク通信ログ１４３、ホワイトリスト１４４を保持する。また、管理サーバ１０３は、プログラムであるホワイトリスト更新部１４１を含む。ファイルアクセスログ１４２は、各クライアント１０１から受信したファイルアクセスログ１１５が蓄積されたログである。
【００２８】
ホワイトリスト更新部１４１は、ファイルアクセスログ１４２及びネットワーク通信ログ１４３を用いて、更新用ホワイトリストを含むホワイトリスト１４４を生成し、生成した更新用ホワイトリストを各クライアント１０１に送信する。各クライアント１０１のホワイトリスト更新部１１９は、受信した更新用ホワイトリストに従って、ホワイトリスト１１４を更新する。
【００２９】
図１Ｂは、クライアント１０１のハードウェア構成例を示すブロック図である。クライアント１０１は、プロセッサ（ＣＰＵ）１５１、メモリ１５２、補助記憶装置１５３及び通信インターフェース１５４を有する計算機によって構成される。
【００３０】
プロセッサ１５１は、メモリ１５２に格納されたプログラムを実行する。メモリ１５２は、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶素子であり、プロセッサ１５１が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。例えば、メモリ１５２は、アプリケーション群１２０、及びデータ漏洩防止部１１１を格納する。
【００３１】
補助記憶装置１５３は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置であり、プロセッサ１５１が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置１５３から読み出されて、メモリ１５２にロードされて、プロセッサ１５１によって実行される。
【００３２】
例えば、補助記憶装置１５３は、透過型暗号化ファイル１３２及び非透過型暗号化ファイル１３３を格納する。なお、前述の説明において補助記憶装置１５３に格納されている情報の一部又は全部が、メモリ１５２に格納されていてもよいし、前述の説明においてメモリ１５２に格納されている情報の一部又は全部が、補助記憶装置１５３に格納されていてもよい。
【００３３】
クライアント１０１は、入力インターフェース１５５及び出力インターフェース１５８を有してもよい。入力インターフェース１５５は、キーボード１５６やマウス１５７などが接続され、オペレータからの入力を受けるインターフェースである。出力インターフェース１５８は、ディスプレイ装置１５９やプリンタなどが接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
【００３４】
通信インターフェース１５４は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信インターフェース１５４は、例えば、ＵＳＢ等のシリアルインターフェースを含む。
【００３５】
プロセッサ１５１が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してクライアント１０１に提供され、非一時的記憶媒体である不揮発性の補助記憶装置１５３に格納される。このため、クライアント１０１は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００３６】
クライアント１０１は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。なお、複数のクライアント１０１が物理的に一つの計算機上で構成されてもよい。
【００３７】
例えば、プロセッサ１５１は、メモリ１５２にロードされたプログラムであるファイルアクセス制御部１１２に従って動作することで、ファイルアクセス制御部として機能し、メモリ１５２にロードされたプログラムであるデータ送信制御部１１３に従って動作することで、データ送信制御部として機能する。他のプログラムについても同様である。
【００３８】
なお、ファイル共有サーバ１０２及び管理サーバ１０３のハードウェア構成は、クライアント１０１のハードウェア構成と同様であるため説明を省略する。例えば、透過型暗号化ファイル１３５及び非透過型暗号化ファイル１３６は、ファイル共有サーバ１０２の補助記憶装置に格納される。また、例えば、ホワイトリスト更新部１４１は、管理サーバ１０３のメモリに格納され、ファイルアクセスログ１４２、ネットワーク通信ログ１４３、及びホワイトリスト１４４は、管理サーバ１０３の補助記憶装置に格納される。なお、クライアント１０１、ファイル共有サーバ１０２、及び管理サーバ１０３の少なくとも２つが物理的に一つの計算機上で構成されてもよい。
【００３９】
なお、本実施形態において、各装置が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【００４０】
図２は、データ漏洩防止部１１１によるファイルアクセス制御及びデータ送信制御の一例を示す説明図である。ファイルアクセス制御部１１２は、各透過型暗号化ファイル１３２及び各各非透過型暗号化ファイル１３３へのアクセスを制御する。
【００４１】
データ送信制御部１１３は、クライアント１０１とローカルネットワーク上のサーバであるファイル共有サーバ１０２との間のネットワーク通信、及びクライアント１０１とインターネット１０５上のサーバであるＣ＆Ｃサーバ１０４との間のネットワーク通信を制御する。なお、データ漏洩防止部１１１は、ファイル共有サーバ１０２上の各透過型暗号化ファイル１３５及び各非透過型暗号化ファイル１３６に対してファイルアクセス制御及びデータ送信制御を実施してもよい。
【００４２】
ファイルアクセス制御部１１２は、ホワイトリスト１１４を参照して、アプリケーション群１２０の各アプリケーションのプロセスが、許可プロセスであるか禁止プロセスであるかを判定する。ファイルアクセス制御部１１２は、許可プロセスに対応するアプリケーション２１１及びアプリケーション２１２による、透過型暗号化ファイル１３２及び非透過型暗号化ファイル１３３へのアクセスを許可する。また、ファイルアクセス制御部１１２は、禁止プロセスに対応するアプリケーション２１３及びアプリケーション２１４による、透過型暗号化ファイル１３２へのアクセスを禁止し、非透過型暗号化ファイル１３３へのアクセスを許可する。
【００４３】
なお、ファイルアクセス制御部１１２は、透過型暗号化ファイル１３２へのアクセスを行ったアプリケーションのプロセスに対して、以後データ送信制御部１１３によってネットワーク通信が制御されるよう、ネットワーク禁止フラグをＯＮに設定する。
【００４４】
データ送信制御部１１３は、プロセス情報やファイルの形式に基づいて、ネットワーク通信を制御する。例えば、データ送信制御部１１３は、透過型暗号化ファイル１３２に対する、所定の通信プロトコルを用いたデータ送信のみを許可する。ＳＭＢ（Ｓｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ）は当該所定の通信プロトコルの一例である。
【００４５】
データ送信制御部１１３は、通信プロトコルがＳＭＢである場合にデータ送信を許可することで、ファイル共有サーバ１０２への透過型暗号化ファイル１３２の送信を可能とするとともに、他の通信プロトコルによるＣ＆Ｃサーバ１０４への透過型暗号化ファイル１３２の送信を禁止することができる。
【００４６】
また、例えば、データ送信制御部１１３は、非透過型暗号化ファイル１３３に対しては、通信プロトコルによらず、データ送信を許可する。非透過型暗号化ファイル１３３は、正しいパスワードを入力したユーザ（例えば、クライアント１０１のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にログイン中のユーザ）にしか参照できないファイルであるため、Ｃ＆Ｃサーバ１０４へ送信されても、非透過型暗号化ファイル１３３の情報が漏洩する可能性は極めて低い。なお、本実施形態のデータ漏洩防止システムの処理はＯＳに依存しない。
【００４７】
図３は、プロセスリスト１１７の一例である。プロセスリスト１１７は、例えば、ハンドル欄３０１、許可プロセスフラグ欄３０２、及びネットワーク禁止フラグ欄３０３を含む。ハンドル欄３０１は、クライアント１０１上で起動しているプロセスのプロセスハンドルを示す情報を格納する。
【００４８】
許可プロセスフラグ欄３０２は、対応するプロセスによる透過型暗号化ファイル１３２へのアクセス可否を示す許可プロセスフラグを格納する。許可プロセスフラグがＯＮであるプロセスは、透過型暗号化ファイル１３２へのアクセスが許可されており、許可プロセスフラグがＯＦＦであるプロセスは、透過型暗号化ファイル１３２へのアクセスが許可されていない。
【００４９】
ネットワーク禁止フラグ欄３０３は、対応するプロセスによるインターネット１０５を介した外部サーバとの通信可否を示すネットワーク禁止フラグを格納する。ネットワーク禁止フラグがＯＮであるプロセスは、インターネット１０５を介した外部サーバとの通信が禁止されており、ネットワーク禁止フラグがＯＦＦであるプロセスは、インターネット１０５を介した外部サーバとの通信が禁止されていない。以下、プロセスリスト１１７に格納される情報を、プロセス情報とも呼ぶ。
【００５０】
図４は、プロセス起動処理の一例を示すフローチャートである。例えば、クライアント１０１上でアプリケーションが実行されたことが当該フローチャートの開始トリガである。プロセスリスト生成部１１８は、プロセスの起動を待機する（Ｓ４０１）。プロセスが起動した場合、プロセスリスト生成部１１８は、起動したプロセスについて、ステップＳ４０２以降の処理を実行する。
【００５１】
プロセスリスト生成部１１８は、クライアント１０１がＯＳにログオンしているか否かを判定する（Ｓ４０２）。プロセスリスト生成部１１８は、クライアント１０１がＯＳにログオンしていると判定した場合（Ｓ４０２：ＴＲＵＥ）、当該プロセスに対応する実行モジュール（例えばｅｘｅファイル等の実行ファイル）の情報を取得する（Ｓ４０３）。実行モジュールのハッシュ、実行モジュールのパス、及び実行モジュールに対する署名の有無等は、いずれも実行モジュールの情報の一例である。また、プロセスリスト生成部１１８は、ステップＳ４０３において、当該プロセスにおいて、他のプロセスによりリモートスレッドが起動されているか否かを示す情報を取得する。プロセスリスト生成部１１８は、クライアント１０１がＯＳにログオンしていると判定した場合（Ｓ４０２：ＦＡＬＳＥ）、後述するステップＳ４０６に遷移する。
【００５２】
ステップＳ４０３に続いて、プロセスリスト生成部１１８は、取得した実行モジュールの情報がホワイトリスト１１４に登録されているか否か、即ち実行中のアプリケーションがホワイトリスト１１４に登録されているか否かを判定する（Ｓ４０４）。
【００５３】
プロセスリスト生成部１１８は、当該アプリケーションがホワイトリスト１１４に登録されていないと判定した場合（Ｓ４０４：ＦＡＬＳＥ）、後述するステップＳ４０６に遷移する。プロセスリスト生成部１１８は、当該アプリケーションがホワイトリスト１１４に登録されていると判定した場合（Ｓ４０４：ＴＲＵＥ）、起動中のプロセスの許可プロセスフラグの値をＯＮに決定する（Ｓ４０５）。続いて、プロセスリスト生成部１１８は、プロセスの起動を再開する（Ｓ４０６）。
【００５４】
続いて、プロセスリスト生成部１１８は、起動したプロセスのハンドルを取得し、取得したハンドルをハンドル欄３０１に格納する（Ｓ４０７）。続いて、プロセスリスト生成部１１８は、許可プロセスフラグ欄３０２の起動したプロセスのハンドルに対応するセルに、許可プロセスフラグを格納する（Ｓ４０８）。なお、プロセスリスト生成部１１８は、ステップＳ４０５の処理が実行された場合、当該セルに値「ＯＮ」を格納し、ステップＳ４０５の処理が実行されていない場合、当該セルに値「ＯＦＦ」を格納する。
【００５５】
以上の処理により、ホワイトリスト１１４に登録されたアプリケーションに対応する起動後のプロセスによる、透過型暗号化ファイル１３２へのアクセスが許可される。また、マルウェアなどのホワイトリスト１１４に登録されていないアプリケーションに対応する起動後のプロセスによる、透過型暗号化ファイル１３２へのアクセスが禁止される。また、ステップＳ４０２でＯＳにログオンしていないと判定された場合、ホワイトリスト１１４への登録有無によらず、起動後のプロセスによる透過型暗号化ファイル１３２へのアクセスが禁止される。
【００５６】
図５は、ＯＳログオン時の処理の一例を示すフローチャートである。クライアント１０１がＯＳにログオンしたことが当該フローチャートの開始トリガである。まず、プロセスリスト生成部１１８は、起動しているプロセスをプロセスリスト１１７から検索する（Ｓ５０１）。プロセスリスト生成部１１８は、ステップＳ５０１における検索結果である起動している各プロセスについてステップＳ５０３〜Ｓ５０６の処理を実行し（Ｓ５０２）、全てのプロセスについて当該処理が実行したら当該フローチャートの処理を終了する。
【００５７】
プロセスリスト生成部１１８は、ステップＳ４０３〜Ｓ４０４と同様に、プロセスに対応する実行モジュールの情報を取得し（Ｓ５０３）、取得した実行モジュールの情報がホワイトリスト１１４に登録されているか否か、即ち実行中のアプリケーションがホワイトリスト１１４に登録されているか否かを判定する（Ｓ５０４）。また、プロセスリスト生成部１１８は、ステップＳ５０３において、当該プロセスにおいて、他のプロセスによりリモートスレッドが起動されているか否かを示す情報を取得する。
【００５８】
プロセスリスト生成部１１８は、当該アプリケーションがホワイトリスト１１４に登録されていないと判定した場合（Ｓ５０４：ＦＡＬＳＥ）、後述するステップＳ５０６に遷移する。プロセスリスト生成部１１８は、当該アプリケーションがホワイトリスト１１４に登録されていると判定した場合（Ｓ５０４：ＴＲＵＥ）、当該プロセスの許可プロセスフラグの値をＯＮに決定する（Ｓ５０５）。
【００５９】
続いて、プロセスリスト生成部１１８は、許可プロセスフラグ欄３０２の当該プロセスのハンドルに対応するセルの値を更新する（Ｓ５０６）。なお、プロセスリスト生成部１１８は、ステップＳ５０５の処理が実行された場合、当該セルに値「ＯＮ」を格納し、ステップＳ５０５の処理が実行されていない場合、当該セルに値「ＯＦＦ」を格納する。
【００６０】
図６は、プロセス終了時の処理の一例を示すフローチャートである。プロセスリスト生成部１１８は、プロセスリスト１１７から、終了したプロセスに対応するレコードを削除する。
【００６１】
図７は、ファイルアクセス制御処理の一例を示すフローチャートである。プロセスリスト１１７に登録されたプロセスが、ファイルのオープン要求をしたときに、ファイルアクセス制御部１１２は、以下の処理を実行する。
【００６２】
まず、ファイルアクセス制御部１１２は、許可プロセスフラグ欄３０２から当該プロセスの許可プロセスフラグを取得し、取得した許可プロセスフラグがＯＮであるか否かを判定する（Ｓ７０１）。ファイルアクセス制御部１１２は、許可プロセスフラグがＯＮであると判定した場合（Ｓ７０１：ＴＲＵＥ）、当該プロセスによるアクセス対象のファイルが透過型暗号化ファイル１３２であるか否かを判定する（Ｓ７０２）。
【００６３】
ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象のファイルが透過型暗号化ファイル１３２でないと判定した場合（Ｓ７０２：ＦＡＬＳＥ）、後述するステップＳ７０４に遷移する。
【００６４】
ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象のファイルが透過型暗号化ファイル１３２であると判定した場合（Ｓ７０２：ＴＲＵＥ）、当該プロセスに対応するネットワーク禁止フラグをＯＮに決定し、ネットワーク禁止フラグ欄３０３に反映させる（Ｓ７０３）。続いて、ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象ファイルのオープンを許可し（Ｓ７０４）、当該プロセスによるファイルアクセス内容をファイルアクセスログ１１５に記録し（Ｓ７０７）、当該フローチャートの処理を終了する。ファイルアクセスログ１１５への記録内容は前述した通りである。
【００６５】
ファイルアクセス制御部１１２は、許可プロセスフラグがＯＮでないと判定した場合（Ｓ７０１：ＦＡＬＳＥ）、当該プロセスによるアクセス対象のファイルが非透過型暗号化ファイル１３３であるか否かを判定する（Ｓ７０５）。ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象のファイルが非透過型暗号化ファイル１３３であると判定した場合（Ｓ７０５：ＴＲＵＥ）、ステップＳ７０４に遷移する。
【００６６】
ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象のファイルが非透過型暗号化ファイル１３３であると判定した場合（Ｓ７０５：ＦＡＬＳＥ）、ファイルアクセス制御部１１２は、当該プロセスによるアクセス対象ファイルのオープンを禁止し（Ｓ７０６）、ステップＳ７０７に遷移し、その後当該フローチャートの処理を終了する。
【００６７】
ファイルアクセス制御部１１２はステップＳ７０３の処理により、透過型暗号化ファイル１３２にアクセスしたプロセスによる、ネットワーク通信を禁止することができる。また、マルウェア等のプロセスの許可プロセスフラグがＯＦＦであるため、ファイルアクセス制御部１１２は、ステップＳ７０５〜Ｓ７０６の処理により、マルウェアによる透過型暗号化ファイル１３２へのアクセスを禁止することができる。
【００６８】
また、ファイルアクセス制御部１１２は、ステップＳ７０４〜Ｓ７０５の処理により、許可プロセスフラグＯＮホワイトリストに登録されていないプロセスであっても、非透過型暗号化ファイル１３３にはアクセスすることができる。従って、図７の処理により、ファイルアクセスの利便性とセキュリティとの両立が実現される。
【００６９】
なお、ファイルアクセス制御部１１２は、例えば、ステップＳ７０１において、許可プロセスフラグがＯＮでないと判定した場合に、ステップＳ７０５を省略し、ステップＳ７０６に遷移してもよい。また、これにより、ファイルアクセス制御部１１２は、セキュリティレベルをさらに向上させることができる。
【００７０】
図８は、データ送信制御処理の一例を示すフローチャートである。プロセスリスト１１７に登録されたプロセスが、ネットワーク通信を要求したときに、データ送信制御部１１３は、以下の処理を実行する。
【００７１】
まず、データ送信制御部１１３は、当該プロセスが要求したネットワーク通信が所定のプロトコルによるものであるか否かを判定する（Ｓ８０１）。データ送信制御部１１３は、当該プロセスが要求したネットワーク通信が所定のプロトコルによるものであると判定した場合（Ｓ８０１：ＴＲＵＥ）、当該プロセスによるネットワーク通信を許可する（Ｓ８０６）。前述したように、例えば、当該所定のプロトコルがＳＭＢであれば、データ送信制御部１１３は、当該プロセスによるローカルネットワーク上のファイル共有サーバ１０２へのアクセスを実現することができる。
【００７２】
データ送信制御部１１３は、ステップＳ８０６の処理を実行した後、当該プロセスによるネットワーク通信内容をネットワーク通信ログ１１６に記録し（Ｓ８０７）、当該フローチャートの処理を終了する。なお、ネットワーク通信ログ１１６の記録内容は前述した通りである。
【００７３】
データ送信制御部１１３は、当該プロセスが要求したネットワーク通信が所定のプロトコルによるものでないと判定した場合（Ｓ８０１：ＦＡＬＳＥ）、当該プロセスにおいて、他のプロセスによりリモートスレッドが起動されているか否かを判定する（Ｓ８０２）。なお、スレッドは、ＣＰＵ利用単位の一例であり、１以上のスレッドはプロセスを構成する。データ送信制御部１１３は、ステップＳ８０２の判定処理により、コードインジェクション攻撃が実行されたプロセスによるネットワーク通信を禁止することができる。
【００７４】
データ送信制御部１１３は、当該プロセスにおいて、他のプロセスによりリモートスレッドが起動されていないと判断した場合（Ｓ８０２：ＦＡＬＳＥ）、ステップＳ８０６に遷移する。データ送信制御部１１３は、当該プロセスにおいて、他のプロセスによりリモートスレッドが起動されていると判断した場合（Ｓ８０２：ＴＲＵＥ）、ネットワーク禁止フラグ欄３０３を参照して、ネットワーク通信を要求したプロセスのネットワーク禁止フラグがＯＮであるか否かを判定する（Ｓ８０３）。
【００７５】
データ送信制御部１１３は、当該プロセスのネットワーク禁止フラグがＯＮでないと判定した場合（Ｓ８０３：ＦＡＬＳＥ）、ステップＳ８０６に遷移する。データ送信制御部１１３は、当該プロセスのネットワーク禁止フラグがＯＮであると判定した場合（Ｓ８０３：ＴＲＵＥ）、当該プロセスによるネットワーク通信要求のアクセス対象が非透過型暗号化ファイル１３３であるか否かを判定する（Ｓ８０４）。
【００７６】
データ送信制御部１１３は、当該プロセスによるネットワーク通信要求のアクセス対象が非透過型暗号化ファイル１３３であると判定した場合（Ｓ８０４：ＴＲＵＥ）、ステップＳ８０６に遷移する。データ送信制御部１１３は、当該プロセスによるネットワーク通信要求のアクセス対象が非透過型暗号化ファイル１３３でないと判定した場合（Ｓ８０４：ＦＡＬＳＥ）、当該プロセスによるネットワーク通信を禁止し（Ｓ８０５）、ステップＳ８０７に遷移し、当該フローチャートにおける処理を終了する。
【００７７】
データ送信制御部１１３は、ステップＳ８０４の処理によって、非透過型暗号化ファイル１３３のデータ送信を許可することができる。非透過型暗号化ファイル１３３は、正規のユーザ以外からは参照できないため、データ送信制御部１１３は、アクセス対象ファイルが非透過型暗号化ファイル１３３である場合にネットワーク通信を許可することにより、セキュリティレベルを低下させることなく、メーラやブラウザ等の正規のアプリケーションによるデータ送信を許可することができる。つまり、セキュリティレベルを低下させることなく利便性を確保することができる。
【００７８】
なお、データ送信制御部１１３は、ステップＳ８０１、ステップＳ８０２、及びステップＳ８０４における判定処理の少なくとも１つを実施しなくてもよい。これらの判定処理が多いほど、セキュリティレベルが向上する。また、これらの判定処理が少ないほど、運用性が向上する。従って、クライアント１０１の管理者は、セキュリティレベルと運用性のバランスを考慮して、判定処理の数を決定することが望ましい。
【００７９】
図９は、ホワイトリスト更新処理の一例を示す説明図である。図９は、管理サーバ１０３が複数のクライアント１０１から収集した情報に従って更新アプリケーションリストを作成して、当該複数のクライアント１０１に配布し、当該複数のクライアント１０１が更新アプリケーションリストに従ってホワイトリスト１１４を更新する例を説明する。
【００８０】
ホワイトリスト１１４は、例えば、初期アプリケーションリスト９０１、及び追加アプリケーションリスト９０２の２種類のホワイトリストを含む。初期アプリケーションリスト９０１は、例えば、データ漏洩防止部１１１のクライアント１０１への導入時に予め設定されている。追加アプリケーションリスト９０２は、クライアント１０１のユーザが追加したアプリケーションを含むホワイトリストであり、随時更新される。
【００８１】
管理サーバ１０３が保持するホワイトリスト１４４は、例えば、初期アプリケーションリスト９１１、及び更新アプリケーションリスト９１２の２種類のホワイトリストを含む。初期アプリケーションリスト９１１は、例えば、初期アプリケーションリスト９０１と同じホワイトリストである。更新アプリケーションリスト９１２は、管理サーバ１０３のホワイトリスト更新部１４１が、各クライアント１０１から収集した情報に基づいて生成したリストであり、ホワイトリスト１１４への追加対象のアプリケーション及びホワイトリスト１１４からの削除対象のアプリケーションの情報を保持する。
【００８２】
クライアント１０１のホワイトリスト更新部１１９は、例えば、定期的に又は管理サーバ１０３からの要求に応じて、追加アプリケーションリスト９０２を、管理サーバ１０３に送信する。管理サーバ１０３のホワイトリスト更新部１４１は、各クライアント１０１から受信した追加アプリケーションリストに記録されている内容を、追加アプリケーションリスト９１３に反映させる。
【００８３】
ファイルアクセス制御部１１２は、例えば、定期的に又は管理サーバ１０３からの要求に応じて、ファイルアクセスログ１１５を管理サーバ１０３に送信する。管理サーバ１０３のホワイトリスト更新部１４１は、各クライアント１０１から受信したファイルアクセスログに記録された内容をファイルアクセスログ１４２に反映させる。なお、例えば、ファイルアクセス制御部１１２は、ファイルアクセスログ１１５に記録された内容のうち、各アプリケーションのプロセスによるファイルアクセスを許可したか禁止したかを示す情報のみを管理サーバ１０３に送信してもよい。
【００８４】
データ送信制御部１１３は、例えば、定期的に又は管理サーバ１０３からの要求に応じて、ネットワーク通信ログ１１６を管理サーバ１０３に送信する。管理サーバ１０３のホワイトリスト更新部１４１は、各クライアント１０１から受信したネットワーク通信ログに記録された内容をネットワーク通信ログ１４３に反映させる。なお、例えば、データ送信制御部１１３は、ネットワーク通信ログ１１６に記録された内容のうち、各アプリケーションのプロセスによるネットワーク通信を許可したか禁止したかを示す情報のみを管理サーバ１０３に送信してもよい。
【００８５】
管理サーバ１０３のホワイトリスト更新部１４１は、追加アプリケーションリスト９１３、ファイルアクセスログ１４２、及びネットワーク通信ログ１４３を解析して、更新アプリケーションリスト９１２を生成し、各クライアント１０１に配布する。
【００８６】
各クライアント１０１のホワイトリスト更新部１１９は、配布された更新アプリケーションリストが示す、追加対象のアプリケーションをホワイトリスト１１４に追加し、削除対象のアプリケーションをホワイトリスト１１４から削除する。
【００８７】
なお、ホワイトリスト更新部１１９は、追加対象のアプリケーションを初期アプリケーションリスト９０１又は追加アプリケーションリスト９０２に追加する。また、ホワイトリスト１１４は、初期アプリケーションリスト９０１及び追加アプリケーションリスト９０２とは別のアプリケーションリストを含んでもよく、ホワイトリスト更新部１１９は、追加対象のアプリケーションを当該アプリケーションリストに追加してもよい。
【００８８】
図１０は、管理サーバ１０３による更新アプリケーションリスト９１２の生成処理の一例を示すフローチャートである。ホワイトリスト更新部１４１は、定期的に又はユーザ等の指示に従って、更新アプリケーションリスト９１２の生成処理を開始する。なお、後述するステップＳ１００１〜Ｓ１００２の組み合わせ、ステップＳ１００３〜Ｓ１００４の組み合わせ、ステップＳ１００５〜Ｓ１００６の組み合わせ、ステップＳ１００７〜Ｓ１００８の組み合わせ、及びステップＳ１００９〜Ｓ１０１０の組み合わせ、の少なくとも１つの組み合わせにおける処理が実行されなくてもよい。
【００８９】
ホワイトリスト更新部１４１は、追加アプリケーションリスト９１３を参照して、所定数以上のクライアント１０１が追加アプリケーションリスト９０２に追加したアプリケーションがあるか否かを判定する（Ｓ１００１）。ホワイトリスト更新部１４１は、当該アプリケーションがあると判定した場合（Ｓ１００１：ＴＲＵＥ）、当該アプリケーションを更新アプリケーションリスト９１２の追加対象アプリケーションに含め（Ｓ１００２）、ステップＳ１００３に遷移する。
【００９０】
ホワイトリスト更新部１４１は、当該アプリケーションがないと判定した場合（Ｓ１００１：ＦＡＬＳＥ）、ステップＳ１００３に遷移する。ホワイトリスト更新部１４１が、ステップＳ１００１〜ステップＳ１００２の処理を実行することにより、多数のクライアント１０１のユーザが安全と判断したアプリケーションを他のクライアント１０１のホワイトリスト１１４に追加することができる。
【００９１】
続いて、ホワイトリスト更新部１４１は、ファイルアクセスログ１４２を参照して、ログオンユーザとは別のユーザ権限で実行され、かつ透過型暗号化ファイル１３２にアクセスしたアプリケーションがあるか否かを判定する（Ｓ１００３）。ホワイトリスト更新部１４１は、当該アプリケーションがあると判定した場合（Ｓ１００３：ＴＲＵＥ）、当該アプリケーションを更新アプリケーションリスト９１２の削除対象アプリケーションに含め（Ｓ１００４）、ステップＳ１００５に遷移する。
【００９２】
ホワイトリスト更新部１４１は、当該アプリケーションがないと判定した場合（Ｓ１００３：ＦＡＬＳＥ）、ステップＳ１００５に遷移する。ホワイトリスト更新部１４１が、ステップＳ１００３〜ステップＳ１００４の処理を実行することにより、ログオンユーザとは別のユーザの権限で実行された不審なアプリケーションをホワイトリスト１１４から削除することができる。
【００９３】
続いて、ホワイトリスト更新部１４１は、ファイルアクセスログ１４２を参照し、所定数以上のパスの透過型暗号化ファイル１３２にアクセスしたアプリケーションがあるか否かを判定する（Ｓ１００５）。ホワイトリスト更新部１４１は、当該アプリケーションがあると判定した場合（Ｓ１００５：ＴＲＵＥ）、当該アプリケーションを更新アプリケーションリスト９１２の削除対象アプリケーションに含め（Ｓ１００６）、ステップＳ１００７に遷移する。ホワイトリスト更新部１４１は、当該アプリケーションがないと判定した場合（Ｓ１００５：ＦＡＬＳＥ）、ステップＳ１００７に遷移する。
【００９４】
ホワイトリスト更新部１４１が、ステップＳ１００５〜ステップＳ１００６の処理を実行することにより、様々なパスのファイルに対するアクセス要求をした不審なアプリケーションをホワイトリスト１１４から削除することができる。なお、ステップＳ１００３及びステップＳ１００５それぞれの判定条件における「透過型暗号化ファイル」を「透過型暗号化ファイル及び非透過型暗号化ファイル」と読み替えてもよい。
【００９５】
続いて、ホワイトリスト更新部１４１は、ネットワーク通信ログ１４３を参照して、Ｓ時間にＭ回以上のネットワーク通信を行ったアプリケーションがあるか否かを判定する（Ｓ１００７）。ホワイトリスト更新部１４１は、当該アプリケーションがあると判定した場合（Ｓ１００７：ＴＲＵＥ）、当該アプリケーションを更新アプリケーションリスト９１２の削除対象アプリケーションに含め（Ｓ１００８）、ステップＳ１００９に遷移する。
【００９６】
ホワイトリスト更新部１４１は、当該アプリケーションがないと判定した場合（Ｓ１００７：ＦＡＬＳＥ）、ステップＳ１００９に遷移する。ホワイトリスト更新部１４１が、ステップＳ１００７〜ステップＳ１００８の処理を実行することにより、ファイルを頻繁に外部に送信しようとした不審なアプリケーションをホワイトリスト１１４から削除することができる。
【００９７】
続いて、ホワイトリスト更新部１４１は、ネットワーク通信ログ１４３を参照して、所定の時間帯にＬ回以上のネットワーク通信を行ったアプリケーションがあるか否かを判定する（Ｓ１００９）。なお、例えば、所定の時間帯が午前０時００分から午前６時００分である場合に、ホワイトリスト更新部１４１は、午前０時００分から午前６時００分の間にＬ回以上のネットワーク通信を行った日が１日でもあるアプリケーションをステップＳ１００９の判定条件を満たすアプリケーションに決定する。また、ホワイトリスト更新部１４１は、所定期間（例えば１か月）の各日における午前０時００分から午前６時００分ネットワーク通信を行った回数の平均がＬ回以上であるアプリケーションをステップＳ１００９の判定条件を満たすアプリケーションに決定してもよい。
【００９８】
ホワイトリスト更新部１４１は、当該アプリケーションがあると判定した場合（Ｓ１００９：ＴＲＵＥ）、当該アプリケーションを更新アプリケーションリスト９１２の削除対象アプリケーションに含め（Ｓ１０１０）、当該フローチャートの処理を終了する。ホワイトリスト更新部１４１は、当該アプリケーションがないと判定した場合（Ｓ１００９：ＦＡＬＳＥ）、当該フローチャートの処理を終了する。ホワイトリスト更新部１４１が、ステップＳ１００９〜ステップＳ１０１０の処理を実行することにより、例えば、クライアント１０１の操作が通常は実行されない不審な時間帯に、ネットワーク通信を頻繁に行ったアプリケーションを、ホワイトリスト１１４から削除することができる。
【００９９】
以上、本実施形態のデータ漏洩防止部１１１は、アプリケーションのプロセスが許可プロセスであるか否か、及びプロセスによるアクセス対象が透過型暗号化ファイル１３２であるか否かに、よってファイルアクセス制御及びデータ送信制御を動的に変化させる。これにより、データ漏洩防止部１１１は、クライアント１０１がマルウェアに感染したことを検知できていない段階であっても、データ漏洩を防止することができ、さらにクライアント１０１のユーザの利便性を確保することができる。
【０１００】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１０１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１０２】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０３】
１０１  クライアント、１０３  管理サーバ、１１１  データ漏洩防止部、１１２  ファイルアクセス制御部、１１３  データ送信制御部、１１４  ホワイトリスト、１１５  ファイルアクセスログ、１１６  ネットワーク通信ログ、１１７  プロセスリスト、１１８  プロセスリスト生成部、１１９  ホワイトリスト更新部、１４１  ホワイトリスト更新部、１４２  ファイルアクセスログ、１４３  ネットワーク通信ログ、１４４  ホワイトリスト
【図１Ａ】
2018014020.tif 000003
【図１Ｂ】
2018014020.tif 000004
【図２】
2018014020.tif 000005
【図３】
2018014020.tif 000006
【図４】
2018014020.tif 000007
【図５】
2018014020.tif 000008
【図６】
2018014020.tif 000009
【図７】
2018014020.tif 000010
【図８】
2018014020.tif 000011
【図９】
2018014020.tif 000012
【図１０】
2018014020.tif 000013