(57)【要約】【課題】利用者端末内のファイルについて効率よく不正ファイルの検知を行う。【解決手段】利用者端末２は、利用者端末２内のファイルを比較元ファイルとして区間に分割する区間分割部２３と、分割された比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出する区間特徴量算出部２４と、比較先ファイルである正当なファイルの区間ごとのエントロピー値を比較先区間特徴量として保持する特徴量リスト記憶部２０３と、比較先区間特徴量および比較元区間特徴量それぞれに対し、ＤＰマッチングによる補正を行う補正部２５と、補正が行われた比較元区間特徴量と比較先区間特徴量との差分の各区間での平均値を算出し、算出した平均値が所定の閾値以下の場合、比較元ファイルが比較先ファイルと類似すると判定し、当該比較元ファイルを不正ファイルとして検知しない判定部２６とを備える。【選択図】図３
2017102566.tif 000002
【特許請求の範囲】
【請求項１】
利用者端末内のファイルを比較元ファイルとして区間に分割する区間分割部と、
分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出する区間特徴量算出部と、
比較先ファイルである正当なファイルの区間ごとのエントロピー値を比較先区間特徴量として保持する特徴量リスト記憶部と、
前記比較先区間特徴量および前記比較元区間特徴量それぞれに対し、ＤＰ（Dynamic  Programming）マッチングによる補正を行う補正部と、
補正が行われた前記比較元区間特徴量と前記比較先区間特徴量とを比較することにより、前記比較元ファイルが前記比較先ファイルと類似しているか否かを判定し、前記比較元ファイルが前記比較先ファイルと類似していると判定した場合、前記比較元ファイルを正当なファイルと判定する判定部と、
を備えることを特徴とする不正ファイル検知装置。
【請求項２】
前記比較先ファイルが不正ファイルである場合、
前記判定部は、
前記比較元ファイルが前記比較先ファイルと類似していると判定したとき、前記比較元ファイルを不正ファイルとして検知することを特徴とする請求項１に記載の不正ファイル検知装置。
【請求項３】
前記判定部は、
前記補正が行われた前記比較元区間特徴量と前記比較先区間特徴量との差分の各区間での平均値を算出し、前記算出した平均値が所定の閾値以下であるとき、前記比較元ファイルが前記比較先ファイルと類似していると判定することを特徴とする請求項１または請求項２に記載の不正ファイル検知装置。
【請求項４】
ファイルの退避を行うファイル退避部をさらに備え、
前記判定部は、
前記比較元ファイルを、前記正当なファイルと判定しなかった場合、または、不正ファイルとして検知した場合、前記ファイル退避部に、当該比較元ファイルを退避させることを特徴とする請求項１または請求項２に記載の不正ファイル検知装置。
【請求項５】
前記区間分割部は、
前記比較元ファイルが実行されるとき、前記比較元ファイルを区間に分割し、
前記区間特徴量算出部は、
分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出し、
前記判定部は、
前記比較元ファイルを、前記正当なファイルと判定しなかった場合、または、不正ファイルとして検知した場合、当該比較元ファイルの実行を許可せず、前記比較元ファイルを前記正当なファイルと判定した場合、または、不正ファイルとして検知しなかった場合、当該比較元ファイルの実行を許可することを特徴とする請求項１または請求項２に記載の不正ファイル検知装置。
【請求項６】
前記区間分割部は、
定期的または不定期に、前記利用者端末の記憶部に記憶される比較元ファイルを区間に分割し、
前記区間特徴量算出部は、
分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出することを特徴とする請求項１または請求項２に記載の不正ファイル検知装置。
【請求項７】
利用者端末内のファイルを比較元ファイルとして区間に分割するステップと、
分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出するステップと、
比較先ファイルである正当なファイルの区間ごとのエントロピー値を比較先区間特徴量および前記比較元区間特徴量それぞれに対し、ＤＰ（Dynamic  Programming）マッチングによる補正を行うステップと、
補正が行われた前記比較元区間特徴量と前記比較先区間特徴量とを比較することにより、前記比較元ファイルが前記比較先ファイルと類似しているか否かを判定し、前記比較元ファイルが前記比較先ファイルと類似していると判定した場合、前記比較元ファイルを正当なファイルとして判定するステップと、
を含んだことを特徴とする不正ファイル検知方法。
【請求項８】
利用者端末内のファイルを比較元ファイルとして区間に分割するステップと、
分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出するステップと、
比較先ファイルである不正ファイルの区間ごとのエントロピー値を比較先区間特徴量および前記比較元区間特徴量それぞれに対し、ＤＰ（Dynamic  Programming）マッチングによる補正を行うステップと、
補正が行われた前記比較元区間特徴量と前記比較先区間特徴量とを比較することにより、前記比較元ファイルが前記比較先ファイルと類似しているか否かを判定し、前記比較元ファイルが前記比較先ファイルと類似していると判定した場合、前記比較元ファイルを正当なファイルと判定するステップと、
をコンピュータに実行させることを特徴とする不正ファイル検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正ファイル検知装置、不正ファイル検知方法、および、不正ファイル検知プログラムに関する。
【背景技術】
【０００２】
利用者端末内に存在する不正ファイルを検知する手法としては、いわゆるウィルススキャンソフトが知られている。このウィルススキャンソフトでは、特徴量リスト配布サーバが定期的に利用者端末に不正ファイルの特徴量リスト（この場合、不正ファイルのハッシュ値群のブラックリスト。ソフトによっては、ウィルス定義データベースと呼称したり、パターンファイルと呼称したりする）を配布する。そして、利用者端末内の不正ファイル検知機能は、例えば、定期または不定期に利用者端末内に含まれるファイルの部分ハッシュ値を計算し、この部分ハッシュ値と特徴量リストを比較し、一致した場合に当該ファイルを不正ファイルとして検疫（退避）または削除する。
【０００３】
また、利用者端末内に含まれるファイル群をサーバに送信し、サーバ側で当該ファイル群と不正ファイルそれぞれについて区間ごとのエントロピー値群を計算し、区間ごとのエントロピー値群のＤＰ（Dynamic  Programming）マッチング処理を行ってから比較し、不正ファイルとの類似度を評価する技術がある（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】高田慎也他、情報処理学会第77回全国大会、「エントロピーとDP  Matchingを用いたファイル類似度評価システムに関する考察」、情報処理学会、2015年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ウィルススキャンソフトは、特徴量リストを用いて不正ファイルの検知を行うので、まだ特徴量リストに載っていない不正ファイル（早期発生不正ファイル）については検知できないおそれがある。また、ウィルススキャンソフトの場合、部分マッチングとはいえ、エグザクトマッチであるため利用者端末内の特徴量リストを高頻度で更新する必要がある。
【０００６】
また、非特許文献１に記載の技術は、利用者端末のファイルと不正ファイルとの比較をサーバ側で行うため、利用者端末内の特徴量リストの更新の必要はないものの、利用者端末からサーバへ検知対象のファイル（または当該ファイルの特徴量）を送信する必要がある。そのため、利用者端末内のファイル（例えば、百万オーダの大量のファイル）について効率よく不正ファイルの検知をできないという問題がある。そこで、本発明は、前記した問題を解決し、利用者端末内のファイルについて効率よく不正ファイルの検知を行うことを課題とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、利用者端末内のファイルを比較元ファイルとして区間に分割する区間分割部と、分割された前記比較元ファイルの区間ごとのエントロピー値である比較元区間特徴量を算出する区間特徴量算出部と、比較先ファイルである正当なファイルの区間ごとのエントロピー値を比較先区間特徴量として保持する特徴量リスト記憶部と、前記比較先区間特徴量および前記比較元区間特徴量それぞれに対し、ＤＰ（Dynamic  Programming）マッチングによる補正を行う補正部と、補正が行われた前記比較元区間特徴量と前記比較先区間特徴量とを比較することにより、前記比較元ファイルが前記比較先ファイルと類似しているか否かを判定し、前記比較元ファイルが前記比較先ファイルと類似していると判定した場合、前記比較元ファイルを正当なファイルと判定する判定部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、利用者端末内のファイルについて効率よく不正ファイルの検知を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、不正ファイル検知システムの構成の一例を示す図である。
【図２】図２は、特徴量リスト配信装置の構成を説明するための図である。
【図３】図３は、利用者端末の構成を説明するための図である。
【図４】図４は、システムの処理手順の一例を示すフローチャートである。
【図５】図５は、システムの処理手順の一例を示すフローチャートである。
【図６】図６は、利用者端末の構成を説明するための図である。
【図７】図７は、バージョンの異なる２つの実行ファイル（アドビ社のAcroRd32.exeファイルのバージョン11.0.0およびバージョン11.0.05）の区間ごとのエントロピー値の分布を示すグラフである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）を第１の実施形態〜第３の実施形態に分けて説明する。なお、本発明は各実施形態に限定されない。
【００１１】
まず、各実施形態における、ファイルのエントロピー値を用いたファイル間の類似度の算出方法を説明する。
【００１２】
ファイルのエントロピー値の算出は順序性を考慮しない場合には式（１）により行われる。順序性を考慮する場合には式（２）により行われる。以下、順序性を考慮したエントロピー値は、Ｍ１エントロピーと呼ぶ。式（１）および（２）において、Ｐｉは対象ファイルの中で値がｉとなる確率である。
【００１３】
【数１】
2017102566.tif 000003
【００１４】
このようにファイルのエントロピー値により類似度を評価することで、例えば、ファイルに対して意図的に変更を加えて検知を逃れるタイプのマルウェアやアンチフォレンジック手法が用いられた場合でもこれを検知しやすくなる。
【００１５】
（第１の実施形態）
（構成）
図１を参照して、第１の実施形態の不正ファイル検知システム（システム）の構成例を説明する。システムは、１以上の利用者端末（不正ファイル検知装置）２と、特徴量リスト配信装置３とを含む。利用者端末２と特徴量リスト配信装置３はネットワーク４に接続される。ネットワーク４は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等で構成することができる。なお、各装置は必ずしもネットワーク４を介してオンラインで通信可能である必要はない。例えば、利用者端末２の出力する情報を磁気テープやＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで特徴量リスト配信装置３へ入力するように構成してもよい。
【００１６】
図２を参照して、特徴量リスト配信装置３の構成例を説明する。特徴量リスト配信装置３は、制御部３０１と、メモリ３０２と、特徴量リスト記憶部３１と、特徴量リスト送信部３２とを備える。特徴量リスト配信装置３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）等を有するコンピュータにより実現される。
【００１７】
制御部３０１は、特徴量リスト配信装置３全体の制御を司る。メモリ３０２は、特徴量リスト配信装置３に入力されたデータや各処理で得られたデータが格納される。このメモリ３０２に格納されたデータは必要に応じて読み出されて他の処理に利用される。
【００１８】
特徴量リスト記憶部３１は、特徴量リストを記憶する。この特徴量リストは、各比較先ファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリストである。なお、以下では、比較先ファイルが不正ファイルではないファイル（正当なファイル）であり、特徴量リストは、正当なファイルごとに、当該正当なファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリスト（ホワイトリスト）である場合を例に説明するが、これに限定されない。つまり、比較先ファイルを不正ファイルとし、不正ファイルごとに、当該ファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリスト（ブラックリスト）であってもよい。特徴量リストがブラックリストである場合の実施形態については後記する。なお、以下の説明において、上記のホワイトリストの特徴量リストを用いた比較元ファイルが正当なファイルか否かの判定と、ブラックリストの特徴量リストを用いた比較元ファイルが不正ファイルか否かの判定とを総称して、適宜、「不正ファイルの検知」と表記する。
【００１９】
特徴量リスト送信部３２は、各利用者端末２に特徴量リストを送信（配信）する。
【００２０】
なお、特徴量リスト配信装置３は、各比較先ファイル（例えば、正当なファイル）の入力を受け付けると、当該比較先ファイルを複数の区間に分割し、当該比較先ファイルの区間ごとのエントロピー値（比較先区間特徴量）を算出する手段をさらに備えていてもよい。
【００２１】
次に、図３を参照して、利用者端末２の構成例を説明する。利用者端末２は、制御部２０１と、メモリ２０２と、特徴量リスト記憶部２０３と、ファイル記憶部２０４と、特徴量リスト受信部２１と、特徴量リスト更新部２２と、区間分割部２３と、区間特徴量算出部２４と、補正部２５と、ファイル退避部２７と、判定部２６と、表示部２８とを備える。全体特徴量算出部２９、全体類似度評価部３０は装備される場合と装備されない場合とがあり、装備される場合については後記する。利用者端末２は、例えば、ＣＰＵ、ＲＡＭ等を有するコンピュータにより実現される。
【００２２】
制御部２０１は、利用者端末２全体の制御を司る。メモリ２０２は、利用者端末２に入力されたデータや各処理で得られたデータが格納される。このメモリ２０２に格納されたデータは必要に応じて読み出されて他の処理に利用される。
【００２３】
特徴量リスト記憶部２０３は、特徴量リスト配信装置３から送信された特徴量リストを記憶する。ファイル記憶部２０４は２以上のファイルが記憶されている。特徴量リスト記憶部２０３およびファイル記憶部２０４は、例えば、ＲＡＭ等の主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ等の半導体メモリ素子により構成される補助記憶装置等により構成することができる。
【００２４】
特徴量リスト受信部２１は、特徴量リスト配信装置３から特徴量リストを受信する。特徴量リスト更新部２２は、特徴量リスト受信部２１で受信した特徴量リストを用いて、特徴量リスト記憶部２０３の特徴量リストを更新する。
【００２５】
区間分割部２３は、ファイル記憶部２０４に記憶されたファイル（比較元ファイル）を複数の区間に分割し、比較元分割ファイルを生成する。例えば、区間分割部２３は、ファイル記憶部２０４のファイルが実行されるタイミングで、当該ファイルを所定サイズ（例えば、１０Ｋバイト）ごとに区間に分割し、比較元分割ファイルを生成する。分割点は、特徴量リスト配信装置３で保持する特徴量リストにおける比較先ファイルと必ずしも一致している必要はなく、どちらかのファイルの波形に直線外挿することで比較する。
【００２６】
区間特徴量算出部２４は、比較元分割ファイルの区間ごとの所定のエントロピー値を示す比較元区間特徴量を生成する。ここでのエントロピー値の算出は、例えば、前記した式（１）または式（２）を用いる。
【００２７】
補正部２５は、比較元区間特徴量および特徴量リスト記憶部２０３に記憶された比較先区間特徴量に対し、ＤＰマッチングを適用した補正を行う。例えば、比較元区間特徴量が以下の式（３）に示すＸ（ｘ１，ｘ２，…，ｘｎ）であり、比較先区間特徴量が以下の式（３）に示すＹ（ｙ１，ｙ２，…，ｙｍ）であるとする。なお、ｘ１，ｘ２，…，ｘｎは比較元ファイルの各区間のエントロピー値であり、ｙ１，ｙ２，…，ｙｍは比較先ファイルの各区間のエントロピー値である。
【００２８】
【数２】
2017102566.tif 000004
【００２９】
補正部２５は、以下の式（４）により上記のＸとＹとの距離Ｄ（Ｘ，Ｙ）をできるだけ小さくするようにＸ，Ｙの補正を行う。このように、補正部２５が比較元区間特徴量および比較先区間特徴量についてＤＰマッチングによる補正を行うことで、比較元区間特徴量と比較先区間特徴量の対応付け（整列化）を行うことができる。これにより、特徴量リスト配信装置３は、例えば、比較対象のファイルの区間ごとのエントロピー値の分布のパターン（波形）がずれている場合（図７参照）であっても、ファイル間の類似度を精度よく評価することができる。
【００３０】
【数３】
2017102566.tif 000005
【００３１】
判定部２６は、補正が行われた比較元区間特徴量と比較先区間特徴量とを区間ごとに比較することにより比較元ファイルと比較先ファイルとの類似度を評価する。ここでの類似度の評価は、例えば、以下の式（５）により、比較元区間特徴量に含まれる区間ごとのエントロピー値と、比較先区間特徴量に含まれる区間ごとのエントロピー値との差をそれぞれ算出し、その平均を算出することにより行われる。
【００３２】
【数４】
2017102566.tif 000006
【００３３】
なお、式（５）におけるｎは区間の総数であり、Ｈ１ｉは比較元ファイルの区間ｉのエントロピー値であり、Ｈ２ｉは比較先ファイルの区間ｉのエントロピー値である。
【００３４】
そして、判定部２６は、式（５）で算出した平均（Ｄ）を所定の閾値と比較することにより比較元ファイルが比較先ファイル（正当なファイル）と類似しているか否かの判定を行う。例えば、判定部２６は、式（５）で算出した平均（Ｄ）が所定の閾値を超える場合、比較元ファイルについて比較先ファイル（正当なファイル）と類似していないと判定する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知し、比較元ファイルの実行を許可せず、当該比較元ファイルを退避するようファイル退避部２７を呼び出す。一方、判定部２６は、判定の結果、式（５）で算出した平均（Ｄ）が所定の閾値以下の場合、比較元ファイルについて比較先ファイル（正当なファイル）と類似していると判定し、当該比較元ファイルを正当なファイルと判定する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知せず、当該比較元ファイルの実行を許可する。
【００３５】
ファイル退避部２７は、ファイルを退避させる。例えば、ファイル退避部２７は、判定部２６により不正ファイルとして検知された比較元ファイルを記憶部（図示省略）の所定領域に退避させる。また、ファイル退避部２７はファイルの退避に代えて当該ファイルの削除を行ってもよい。
【００３６】
表示部２８は、判定部２６による判定の結果（比較元ファイルが不正ファイルか否か）を画面等に表示する。例えば、表示部２８は、利用者端末２に接続されたディスプレイ等に判定部２６による判定の結果を表示する。表示の方法はどのような方法であってもよい。例えば、表示部２８は、判定の結果を、利用者端末２のディスプレイに整形して表示してもよいし、利用者端末２に設定された所定のプリンタへあらかじめ定めた書式で出力してもよい。
【００３７】
（処理手順）
次に、図４を参照して、システムの処理手順の例を説明する。なお、利用者端末２は、予め、特徴量リスト配信装置３から特徴量リストを受信し、受信した特徴量リストを特徴量リスト記憶部２０３に記憶しているものとする。
【００３８】
まず、利用者端末２の制御部２０１がファイル記憶部２０４のファイルの実行を検知すると（Ｓ１１でＹｅｓ）、区間分割部２３は、当該ファイル（比較元ファイル）を複数の区間に分割する（Ｓ１２：当該ファイルを区間分割）。一方、制御部２０１がファイル記憶部２０４のファイルの実行を検知しなかった場合（Ｓ１１でＮｏ）、Ｓ１１へ戻る。
【００３９】
Ｓ１２の後、区間特徴量算出部２４は、当該比較元ファイルの区間ごとに所定のエントロピー値（比較元区間特徴量）を算出する（Ｓ１３：区間ごとの特徴量を算出）。算出するエントロピー値は、例えば、上記の式（１）で算出されるエントロピー値でもよいし、上記の式（２）で算出されるＭ１エントロピー値でもよい。
【００４０】
Ｓ１３の後、補正部２５は、比較元区間特徴量および特徴量リスト記憶部２０３に記憶される比較先区間特徴量それぞれに対し、ＤＰマッチングによる補正を行う（Ｓ１４）。例えば、比較元区間特徴量が式（３）に示すＸ（ｘ１，ｘ２，…，ｘｎ）であり、比較先区間特徴量が式（３）に示すＹ（ｙ１，ｙ２，…，ｙｍ）であるとすると、補正部２５は、式（４）によりＸとＹとの距離Ｄ（Ｘ，Ｙ）をできるだけ小さくするようにＸ（ｘ１，ｘ２，…，ｘｎ）およびＹ（ｙ１，ｙ２，…，ｙｍ）の補正を行う。
【００４１】
Ｓ１４の後、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値以下か否かを判定する（Ｓ１５）。つまり、判定部２６は、式（５）を用いて、補正後の比較元区間特徴量に含まれる区間ごとのエントロピー値と、補正後の比較先区間特徴量に含まれる区間ごとのエントロピー値との差をそれぞれ算出し、その差の平均（Ｄ）を求める。そして、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値を超える場合（Ｓ１５でＮｏ）、比較元ファイルの実行を許可せず（Ｓ１６）、ファイル退避部２７を呼び出し、ファイル退避部２７は当該ファイル（比較元ファイル）の退避を行う（Ｓ１７）。つまり、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値を超えていれば、比較元ファイルについて比較先ファイル（正当なファイル）に類似していないと判定し、比較元ファイルを不正ファイルとして検知する。そして、当該比較元ファイルを退避させる。
【００４２】
一方、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値以下の場合（Ｓ１５でＹｅｓ）、比較元ファイルの実行を許可する（Ｓ１８）。つまり、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値以下の場合、比較元ファイルについて比較先ファイル（正当なファイル）に類似していると判定し、当該比較元ファイルを正当なファイルと判定する。そして、判定部２６は、比較元ファイルを不正ファイルとして検知せず、当該比較元ファイルの実行を許可する。
【００４３】
このようなシステムによれば、例えば、比較先ファイル（例えば、正当なファイル）と比較元ファイルとで区間ごとのエントロピー値の分布のパターン（波形）がずれている場合であっても、両者が類似しているか否かを精度よく判定することができる。
【００４４】
つまり、このようなシステムによれば、利用者端末２内の不正ファイルまたはその派生ファイルを精度よく検知することができる。その結果、利用者端末２において、早期発生不正ファイルについても検知しやすくなる。また、利用者端末２は、従来のウィルススキャンソフトのように完全一致の特徴量リストは必ずしも必要ではないため、従来のウィルススキャンソフトのように特徴量リストを頻繁に更新する必要がない。
【００４５】
さらに、このようなシステムによれば、不正ファイルの検知を利用者端末２に閉じて行うことができるため、例えば、非特許文献１に記載の技術のように、不正ファイルの検知に必要なデータをサーバと頻繁に送受信する必要がない。これにより、利用者端末２内の大量の（例えば、百万オーダの）ファイルについて、効率的に不正ファイルの検知を行うことができる。また、システムは、不正ファイルの検知の際、エントロピー値の計算とＤＰマッチングの計算とを行っているが、この計算は、例えば、従来のウィルススキャンソフトで用いられているハッシュ値の計算よりも処理負荷が低いため、高速に不正ファイルの検知を行うことができる。
【００４６】
なお、前記したシステムにおける特徴量リストは、正当なファイルごとに、当該正当なファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリスト（ホワイトリスト）である場合を例に説明したが、当該特徴量リストは、不正ファイルごとに、当該不正ファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリスト（ブラックリスト）であってもよい。
【００４７】
また、特徴量リストとして上記のブラックリストを用いる場合、判定部２６は、補正部２５による補正後の区間特徴量の差の平均（Ｄ）が所定の閾値を超えるとき、比較元ファイルが比較先ファイル（不正ファイル）に類似していないと判定する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知せず、当該比較元ファイルの実行を許可する。また、判定部２６は、補正部２５による補正後の区間特徴量の平均（Ｄ）が所定の閾値以下のとき、比較元ファイルについて比較先ファイル（不正ファイル）に類似していると判定する。そして、判定部２６は、比較元ファイルの実行を許可せず、比較元ファイルを不正ファイルとして検知する。そして、判定部２６は、当該比較元ファイルを退避させる。
【００４８】
このようにすることでも、システムは、利用者端末２内の不正ファイル（またはその派生ファイル）を検知することができる。
【００４９】
また、前記した実施形態では、利用者端末２の制御部２０１が、ファイル記憶部２０４のファイルの実行を検知したとき、不正ファイルの検知処理を行うこととしたが、これに限定されない。例えば、制御部２０１は、定期的または不定期に、ファイル記憶部２０４内のファイルを抽出し、不正ファイルの検知処理を行うこととしてもよい。
【００５０】
この場合の処理手順を、図５を用いて説明する。なお、比較先ファイルは正当なファイルであり、特徴量リストは、正当なファイルごとに、当該ファイルの区間ごとのエントロピー値（比較先区間特徴量）を示したリスト（ホワイトリスト）である場合を例に説明する。
【００５１】
例えば、利用者端末２の制御部２０１はファイル記憶部２０４のファイルを抽出し（Ｓ２１）、抽出したファイル（比較元ファイル）に対し、Ｓ２２〜Ｓ２４の処理を行う。このＳ２２〜Ｓ２４の処理は、前記した図４のＳ１２〜Ｓ１４の処理と同様なので説明を省略する。
【００５２】
Ｓ２４の後、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値以下か否かを判定し（Ｓ２５）、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値を超えていれば（Ｓ２５でＮｏ）、ファイル退避部２７を呼び出し、ファイル退避部２７は当該ファイル（比較元ファイル）の退避を行う（Ｓ２６）。つまり、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値を超えていれば、比較元ファイルについて比較先ファイル（正当なファイル）に類似していないと判定し、比較元ファイルを不正ファイルとして検知する。そして、判定部２６は、ファイル退避部２７により当該比較元ファイルを退避させる。
【００５３】
一方、判定部２６は、補正後の区間特徴量の差の平均（Ｄ）が所定の閾値以下の場合（Ｓ２５でＹｅｓ）、比較元ファイルについて比較先ファイル（正当なファイル）に類似していると判定し、Ｓ２６の処理を実行しない。そして、判定部２６は、ファイル記憶部２０４のすべてのファイルを抽出したか否かを判定し（Ｓ２７）、まだ抽出していないファイルがあれば（Ｓ２７でＮｏ）、Ｓ２１へ戻り、制御部２０１はファイル記憶部２０４から未抽出のファイルを抽出する。一方、判定部２６は、ファイル記憶部２０４のすべてのファイルを抽出済みと判定した場合（Ｓ２７でＹｅｓ）、処理を終了する。
【００５４】
利用者端末２は上記のＳ２１〜Ｓ２７の処理を定期的または不定期に実行する。このようにすることでも、システムは利用者端末２内の不正ファイル（またはその派生ファイル）を検知することができる。
【００５５】
なお、上記のフローにおいて、特徴量リストとして上記のブラックリストを用いる場合、判定部２６は、補正部２５による補正後の区間特徴量の平均（Ｄ）が所定の閾値を超えるとき、比較元ファイルが比較先ファイル（不正ファイル）に類似していないと判定する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知しない。また、判定部２６は、補正部２５による補正後の区間特徴量の平均（Ｄ）が所定の閾値以下のとき、比較元ファイルが比較先ファイル（不正ファイル）に類似していると判定する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知し、ファイル退避部２７を呼び出し、ファイル退避部２７は当該比較元ファイルの退避を行う。
【００５６】
このようにすることでも、システムは、利用者端末２内の不正ファイル（またはその派生ファイル）を検知することができる。
【００５７】
（第２の実施形態）
次に図６を用いて、第２の実施形態のシステムを説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。
【００５８】
第２の実施形態のシステムの利用者端末２ａは、図６に示すように、制御部２０１と、メモリ２０２と、実行形式ファイル群記憶部２０４１と、オープン対象ファイル群記憶部２０４２と、ファイルシステム２０７と、不正ファイル検知部２０と、表示部２８とを備える。実行形式ファイル群記憶部２０４１は、実行形式ファイル群を記憶する。オープン対象ファイル群記憶部２０４２は、実行形式ファイル群によるアクセス対象のファイル群を記憶する。ファイルシステム２０７は、オープン対象ファイル群記憶部２０４２のファイル群へのアクセスを管理する。破線で示す全体特徴量算出部２９、全体類似度評価部３０については装備される場合と、装備されない場合とがあり、装備される場合については後記する。
【００５９】
不正ファイル検知部２０は、特徴量リスト受信部２１と、特徴量リスト更新部２２と、区間分割部２３と、区間特徴量算出部２４と、補正部２５と、判定部２６と、特徴量リスト記憶部２０３とを備える。
【００６０】
不正ファイル検知部２０は、実行形式ファイル群記憶部２０４１のファイルがメモリ２０２上に展開され、ファイルシステム２０７経由でオープン対象ファイル群記憶部２０４２のファイルにアクセスしようとしたとき、当該アクセスのＩ／Ｏをトリガとしてメモリ２０２上に展開されたファイルが比較先ファイル（例えば、正当なファイル）と類似しているか否かの判定を行う。
【００６１】
そして、不正ファイル検知部２０が当該ファイルについて比較先ファイル（例えば、正当なファイル）と類似していないと判定した場合、当該ファイルのオープン対象ファイル群記憶部２０４２のファイルへのアクセスを許可しない。一方、不正ファイル検知部２０が当該ファイルについて比較先ファイル（例えば、正当なファイル）と類似していると判定した場合、当該ファイルのオープン対象ファイル群記憶部２０４２のファイルへのアクセスを許可する。
【００６２】
つまり、区間分割部２３は、メモリ２０２上に実行形式ファイル群記憶部２０４１のファイルが展開されると、当該ファイル（比較元ファイル）を複数の区間に分割する。そして、区間特徴量算出部２４は、当該比較元ファイルの区間特徴量（比較元区間特徴量）を算出し、補正部２５は、比較元区間特徴量および特徴量リスト記憶部２０３に記憶された比較先区間特徴量に対し、ＤＰマッチングを適用した補正を行う。その後、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量に基づき、比較元ファイルについて比較先ファイル（例えば、正当なファイル）と類似していないと判定した場合、当該比較元ファイルのオープン対象ファイル群記憶部２０４２のファイルへのアクセスを許可しない。一方、判定部２６が比較元ファイルについて比較先ファイル（例えば、正当なファイル）と類似していると判定した場合、オープン対象ファイル群記憶部２０４２のファイルへのアクセスを許可する。
【００６３】
このようにすることで、利用者端末２ａは、実行形式ファイル群記憶部２０４１の正当なファイルに、オープン対象ファイル群記憶部２０４２のファイルにアクセスさせ、正当ではないファイル（不正ファイルである可能性の高いファイル）に、オープン対象ファイル群記憶部２０４２のファイルにアクセスさせないようにできる。
【００６４】
なお、上記の場合も、特徴量リストとして上記のブラックリストを用いてよい。この場合、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量に基づき、比較元ファイルについて比較先ファイル（不正ファイル）と類似していないと判定したとき、判定部２６は、当該比較元ファイルを不正ファイルとして検知しない。そして、判定部２６は、当該比較元ファイルのオープン対象ファイル群記憶部２０４２のファイルへのアクセスを許可する。また、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量に基づき、比較元ファイルについて比較先ファイル（不正ファイル）と類似していると判定したとき、判定部２６は、当該比較元ファイルを不正ファイルとして検知する。そして、判定部２６は、当該比較元ファイルを不正ファイルとして検知し、ファイル退避部２７を呼び出し、ファイル退避部２７は当該比較元ファイルの退避を行う。
【００６５】
（第３の実施形態）
次に図３を用いて、第３の実施形態のシステムを説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。第３の実施形態のシステムは、特徴量リスト配信装置３ｂと、１以上の利用者端末２ｂとを備える（図１参照）。
【００６６】
この利用者端末２ｂは、比較先ファイル（例えば、正当なファイル）全体の特徴量（比較先全体特徴量）を用いて、ファイル記憶部２０４のファイル（比較元ファイル）がファイル全体として比較先ファイルと類似しているか否かを判定する。そして、利用者端末２ｂが、ファイル記憶部２０４のファイル（比較元ファイル）についてファイル全体として比較先ファイルと類似していると判定した場合、比較先ファイルおよび比較元ファイルそれぞれの区間特徴量を用いて、不正ファイルの検知を行う。
【００６７】
このような特徴量リスト配信装置３ｂは、特徴量リストして、各比較先ファイル（例えば、正当なファイル）の区間ごとのエントロピー値（比較先区間特徴量）を示したリストの他に、各比較先ファイルのファイル全体のエントロピー値（比較先全体特徴量）を示したリストを利用者端末２ｂへ送信する。
【００６８】
つまり、利用者端末２ｂの特徴量リスト受信部２１は、特徴量リストして、各比較先ファイル（例えば、正当なファイル）の区間ごとのエントロピー値（比較先区間特徴量）を示したリストの他に、各比較先ファイルのファイル全体のエントロピー値（比較先全体特徴量）を示したリストを受信する。そして、特徴量リスト更新部２２は、当該特徴量リストを用いて特徴量リスト記憶部２０３の特徴量リストを更新する。
【００６９】
また、利用者端末２ｂは、破線で示す全体特徴量算出部２９と、全体類似度評価部３０とを備える。
【００７０】
全体特徴量算出部２９は、ファイル記憶部２０４のファイル（比較元ファイル）のファイル全体から所定のエントロピー値を算出し、比較元全体特徴量を生成する。ここでのエントロピー値の算出も、例えば、前記した式（１）または式（２）を用いる。
【００７１】
全体類似度評価部３０は、比較元全体特徴量と、特徴量リスト記憶部２０３に記憶される比較先全体特徴量からファイル全体としての類似度（全体類似度）を算出する。そして、全体類似度評価部３０は、算出した全体類似度を所定の閾値と比較することにより、ファイル全体として、ファイル記憶部２０４のファイル（比較元ファイル）が比較先ファイルと類似しているか否かの判定を行う。
【００７２】
例えば、比較先全体特徴量が正当なファイルの全体特徴量（ホワイトリスト）である場合、全体類似度評価部３０は、算出した全体類似度が所定の閾値以下のときに、比較元ファイルがファイル全体として、正当なファイルと類似していると判定する。また、比較先全体特徴量が不正ファイルの全体特徴量（ブラックリスト）である場合、全体類似度評価部３０は、算出した全体類似度が所定の閾値以下のときに、比較元ファイルがファイル全体として、不正ファイルと類似していると判定する。
【００７３】
全体類似度は、例えば、ファイル全体のエントロピー値とファイルサイズから式（６）により算出してもよい。式（６）における、Ｅ１は比較元ファイルの重み付きエントロピー値であり、Ｅ２は比較先ファイルの重み付きエントロピー値であり、Ｓ１は比較元ファイルのファイルサイズであり、Ｓ２は比較先ファイルのファイルサイズである。
【００７４】
【数５】
2017102566.tif 000007
【００７５】
そして、全体類似度評価部３０において、ファイル記憶部２０４のファイル（比較元ファイル）が、ファイル全体として正当なファイルと類似していると判定された場合、利用者端末２ｂは、区間特徴量を用いて当該比較元ファイルが正当なファイルであるか否かの判定を行う。すなわち、区間分割部２３による当該比較元ファイルの区間分割、区間特徴量算出部２４による当該比較元ファイルの区間特徴量の算出、補正部２５による比較元ファイルおよび比較先ファイルの区間特徴量に対する、ＤＰマッチングを適用した補正、および、判定部２６による正当なファイルか否かの判定を行う。一方、全体類似度評価部３０において、ファイル記憶部２０４のファイル（比較元ファイル）がファイル全体として正当なファイルと類似していないと判定された場合、利用者端末２ｂは、区間特徴量を用いた当該比較元ファイルが正当なファイルであるか否かの判定を行わない。
【００７６】
また、全体類似度評価部３０において、ファイル記憶部２０４のファイル（比較元ファイル）が、ファイル全体として不正ファイルと類似していると判定された場合、利用者端末２ｂは、区間特徴量を用いて当該比較元ファイルが不正ファイルであるか否かの判定を行う。すなわち、区間分割部２３による当該比較元ファイルの区間分割、区間特徴量算出部２４による当該比較元ファイルの区間特徴量の算出、補正部２５による比較元ファイルおよび比較先ファイルの区間特徴量に対する、ＤＰマッチングを適用した補正、および、判定部２６による不正ファイルか否かの判定を行う。一方、全体類似度評価部３０において、ファイル記憶部２０４のファイル（比較元ファイル）がファイル全体として不正ファイルと類似していないと判定された場合、利用者端末２ｂは、区間特徴量を用いた当該比較元ファイルが不正ファイルであるか否かの判定を行わない。
【００７７】
このように利用者端末２ｂは、ファイル記憶部２０４のファイル（比較元ファイル）について区間特徴量を用いた不正ファイルの検知を行う前に、比較元ファイルがファイル全体として正当なファイルと類似している（あるいは不正ファイルと類似している）か否かの判定を行う。そして、利用者端末２ｂは、ファイル全体として正当なファイルと類似している（あるいは不正ファイルと類似している）ファイルに絞り込んで区間特徴量を用いた不正ファイルの検知を行うので、不正ファイルの検知を効率よく行うことができる。
【００７８】
また、前記した利用者端末２ａにおいても、区間特徴量を用いて当該比較元ファイルが不正ファイルであるか否かの判定を行う前に、全体類似度評価部３０が、ファイル記憶部２０４のファイル（比較元ファイル）が、ファイル全体として正当なファイルと類似している（あるいは不正ファイルと類似している）か否かの判定を行ってもよい。そして、利用者端末２ａは、ファイル全体として正当なファイルと類似している（あるいは不正ファイルと類似している）ファイルに絞り込んで区間特徴量を用いた不正ファイルの検知を行ってもよい。
【００７９】
（その他の実施形態）
なお、各実施形態における判定部２６は、比較元ファイルが比較先ファイルと類似するか否かの判定に、補正後の比較元区間特徴量および比較先区間特徴量についての各種の統計を用いてもよい。
【００８０】
例えば、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量それぞれの標準偏差を算出し、標準偏差の差が閾値未満であれば比較元ファイルが比較先ファイルと類似すると判定してもよい。
【００８１】
また、判定部２６は、比較元ファイルが比較先ファイルと類似するか否かの判定に相関係数を用いてもよい。例えば、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量の相関係数を求め、その相関係数が閾値以上であれば、比較元ファイルが比較先ファイルと類似すると判定する。
【００８２】
さらに、判定部２６は、比較元ファイルが比較先ファイルと類似するか否かの判定に、最長一致系列比較を用いてもよい。例えば、判定部２６は、補正後の比較元区間特徴量および比較先区間特徴量で対応する区間エントロピー値が連続して一致する区間の長さを求め、その一致する区間の長さが閾値以上であれば比較元ファイルが比較先ファイルと類似すると判定する。
【００８３】
また、判定部２６は、比較元ファイルが比較先ファイルと類似するか否かの判定にフーリエ解析を用いてもよい。例えば、判定部２６は、補正後の比較元区間特徴量と比較先区間特徴量それぞれをフーリエ変換し、得られたパワースペクトルの系列を比較して一致する要素の数が閾値以上であれば比較元ファイルが比較先ファイルと類似すると判定する。
【００８４】
さらに、判定部２６は、比較元ファイルが比較先ファイルと類似するか否かの判定にΧスクエア検定を用いてもよい。例えば、判定部２６は、補正後の比較元区間特徴量と比較先区間特徴量をそれぞれ所定の関数に近似させて検定統計量を算出することにより、あらかじめ定めた閾値を有意水準として比較元ファイルが比較先ファイルと類似するか否かの仮説検定を行う。
【００８５】
この発明は上述の各実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００８６】
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００８７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ（Digital  Versatile  Disc）、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application  Service  Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００９１】
２，２ａ，２ｂ  利用者端末
３，３ｂ  特徴量リスト配信装置
２０    不正ファイル検知部
２１    特徴量リスト受信部
２２    特徴量リスト更新部
２３    区間分割部
２４    区間特徴量算出部
２５    補正部
２６    判定部
２７    ファイル退避部
２８    表示部
２９    全体特徴量算出部
３０    全体類似度評価部
３１，２０３  特徴量リスト記憶部
３２    特徴量リスト送信部
２０４  ファイル記憶部
２０７  ファイルシステム
２０４１  実行形式ファイル群記憶部
２０４２  オープン対象ファイル群記憶部
【図１】
2017102566.tif 000008
【図２】
2017102566.tif 000009
【図３】
2017102566.tif 000010
【図４】
2017102566.tif 000011
【図５】
2017102566.tif 000012
【図６】
2017102566.tif 000013
【図７】
2017102566.tif 000014