(57)【要約】      （修正有）【課題】不正行為の過剰指摘を抑止した不正検知装置を提供する。【解決手段】不正検知装置１０は、差異情報１１ａと特徴情報１１ｂとを記憶する。差異情報１１ａは、不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における操作項目に関する操作の特徴との差異を示す。特徴情報１１ｂは、ユーザ１が不正操作を行っていない期間における操作項目に関するユーザ１の操作の特徴を示す。不正検知装置１０は、監視対象の期間内にユーザ１が行った操作を示す操作ログ３を取得する。次に不正検知装置１０は、操作ログ３に示される操作項目に関する操作の特徴と特徴情報１１ｂに示される特徴との差異の、差異情報１１ａとの比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定する。そして、不正検知装置１０は、不正疑義期間内にユーザ１が行った操作を示す情報を出力する。【選択図】図１
2019121215.tif 000002
【特許請求の範囲】
【請求項１】
不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における前記操作項目に関する操作の特徴との差異を示す差異情報、および監視対象のユーザが不正操作を行っていない期間における前記操作項目に関する前記ユーザの操作の特徴を示す特徴情報を記憶する記憶部と、
監視対象の期間内に前記ユーザが行った操作を示す操作ログを取得し、前記操作ログに示される前記操作項目に関する操作の特徴と前記特徴情報に示される特徴との差異の、前記差異情報との比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定し、前記不正疑義期間内に前記ユーザが行った操作を示す情報を出力する処理部と、
を有する不正検知装置。
【請求項２】
前記差異情報は、不正操作が行われた期間における前記操作項目に関する操作の操作時刻から得られる統計量と、不正操作が行われていない期間における前記操作項目に関する操作の操作時刻から得られる統計量との差の範囲を示しており、
前記特徴情報は、前記ユーザが不正操作を行っていない期間における前記操作項目に関する前記ユーザの操作の操作時刻から得られる統計量を示しており、
前記処理部は、前記不正疑義期間の特定の際には、前記操作ログに示される前記操作項目に関する一操作の操作時刻から得られる値と、前記特徴情報に示される統計量との差が、前記差異情報に示される範囲内にあるとき、前記一操作が行われた時刻を含む時間帯を、前記不正疑義期間として特定する、
請求項１記載の不正検知装置。
【請求項３】
前記記憶部は、複数の前記操作項目それぞれについての前記差異情報と前記特徴情報とを記憶しており、
前記処理部は、複数の前記操作項目それぞれについて、前記操作ログに示される前記操作項目に関する前記一操作の操作時刻から得られる値と、前記特徴情報に示される統計量との差が、前記差異情報に示される範囲内にあるとき、前記一操作が行われた不正疑義操作時刻を求め、所定数以上の前記操作項目についての前記不正疑義操作時刻を含む時間帯を、前記不正疑義期間として特定する、
請求項２記載の不正検知装置。
【請求項４】
前記記憶部は、複数の前記操作項目それぞれについての前記差異情報と前記特徴情報とを記憶しており、
前記処理部は、複数の前記操作項目のうち、不正操作が行われた期間における差異情報に示される値が閾値以上である操作項目を選択し、該選択された操作項目の前記差異情報に示される値を合計した第１の和を求め、前記操作ログに示される前記選択された操作項目に関する一期間内の操作の特徴を示す値の前記選択された操作項目ごとの統計量を合計した第２の和を求め、前記選択された操作項目に関する前記特徴情報に示される値を合計した第３の和を求め、前記第２の和と前記第３の和との差異の、前記第１の和との比較結果に基づいて、前記一期間内に不正操作が行われた疑いがあるか否かを判定することで、前記不正疑義期間を特定する、
請求項１記載の不正検知装置。
【請求項５】
前記記憶部は、さらに、不正操作の手順を示す不正シナリオ情報を記憶し、
前記処理部は、情報の出力の際には、前記不正疑義期間内に前記ユーザが行った操作のうち、前記不正シナリオ情報に示される手順に沿った一連の操作を示す情報を出力する、
請求項１ないし４のいずれかに記載の不正検知装置。
【請求項６】
前記処理部は、
さらに、前記操作ログに基づいて、前記ユーザが、不正操作時の心理状態が前記操作ログに反映されやすいか否かを判定し、
情報の出力の際には、前記監視対象の期間内に前記ユーザが行った前記不正シナリオ情報に示される手順に沿った一連の操作の操作履歴を表示すると共に、不正操作時の心理状態が前記操作ログに反映されやすい場合には、表示した前記操作履歴のうち前記不正疑義期間内に前記ユーザが行った操作の履歴を強調表示し、不正操作時の心理状態が前記操作ログに反映されづらい場合には、表示した前記操作履歴のうち前記不正疑義期間内に前記ユーザが行った操作の履歴の強調表示を抑止する、
請求項５記載の不正検知装置。
【請求項７】
コンピュータが、
監視対象の期間内に監視対象のユーザが行った操作を示す操作ログを取得し、
不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における前記操作項目に関する操作の特徴との差異を示す差異情報、および前記ユーザが不正操作を行っていない期間における前記操作項目に関する前記ユーザの操作の特徴を示す特徴情報を参照し、前記操作ログに示される前記操作項目に関する操作の特徴と前記特徴情報に示される特徴との差異の、前記差異情報との比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定し、
前記不正疑義期間内に前記ユーザが行った操作を示す情報を出力する、
不正検知方法。
【請求項８】
コンピュータに、
監視対象の期間内に監視対象のユーザが行った操作を示す操作ログを取得し、
不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における前記操作項目に関する操作の特徴との差異を示す差異情報、および前記ユーザが不正操作を行っていない期間における前記操作項目に関する前記ユーザの操作の特徴を示す特徴情報を参照し、前記操作ログに示される前記操作項目に関する操作の特徴と前記特徴情報に示される特徴との差異の、前記差異情報との比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定し、
前記不正疑義期間内に前記ユーザが行った操作を示す情報を出力する、
処理を実行させる不正検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正検知装置、不正検知方法、および不正検知プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムの安全性に対する脅威の一つに、コンピュータシステムを運用する組織の内部の者による不正行為がある。このような内部不正を抑止するための対策は、セキュリティ戦略として重要である。
【０００３】
内部不正対策としては、コンピュータ端末の操作履歴から利用者ごとに不正操作が行われている可能性を判定する操作監視システムが考えられている。また、コンピュータに対する不正操作を監視するために、コンピュータを操作するユーザの一連の操作経過から示される不審値を反映して不正スコアを算出する不正操作監視プログラムも考えられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１１２５７号公報
【特許文献２】国際公開第２００７／０７７６２４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の内部不正の検知技術では、予め検知するためのルールを作成しておき、そのルールに沿った一連の不正操作が検知される。この場合、少しでも疑わしい行為はすべて検知できるようなルールを設定すれば、不正操作を高い再現率で検知できる。再現率とは、すべての不正操作のうち、検知できた不正操作の割合である。
【０００６】
しかし、再現率が高くなるようにルールによる検知対象を広げていくと、過剰指摘が多くなる。過剰指摘は、本来は不正ではない操作を不正とみなして検知してしまうことである。このように過剰指摘が多すぎると、不正操作として検知された行為のうち、本当に不正目的で行われた操作を特定するのが難しくなり、結果的に内部不正などの不正行為の発見を遅らせることとなる。
【０００７】
１つの側面では、本件は、不正行為の検知精度を向上することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、記憶部と処理部とを有する不正検知装置が提供される。
記憶部は、不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における操作項目に関する操作の特徴との差異を示す差異情報、および監視対象のユーザが不正操作を行っていない期間における操作項目に関するユーザの操作の特徴を示す特徴情報を記憶する。処理部は、監視対象の期間内にユーザが行った操作を示す操作ログを取得し、操作ログに示される操作項目に関する操作の特徴と特徴情報に示される特徴との差異の、差異情報との比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定し、不正疑義期間内にユーザが行った操作を示す情報を出力する。
【発明の効果】
【０００９】
１態様によれば、不正行為の検知精度を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の概要を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いる不正検知装置のハードウェアの一構成例を示す図である。
【図４】不正検知装置と端末装置とが有する機能を示すブロック図である。
【図５】端末装置の操作ログ記憶部の一例を示す図である。
【図６】不正検知装置の操作ログ記憶部の一例を示す図である。
【図７】第１キー操作ログの一例を示す図である。
【図８】第２キー操作ログの一例を示す図である。
【図９】キー操作に関するログの記録例を示す図である。
【図１０】マウス操作ログの一例を示す図である。
【図１１】アプリ状態ログの一例を示す図である。
【図１２】個人特性記憶部に記憶される情報の一例を示す図である。
【図１３】判定基準記憶部に記憶される情報の一例を示す図である。
【図１４】不正操作検知結果記憶部の記憶される情報の一例を示す図である。
【図１５】個人特性抽出処理の手順の一例を示すフローチャートである。
【図１６】判定基準学習処理の手順の一例を示すフローチャートである。
【図１７】不正疑義期間判定処理の手順の一例を示すフローチャートである。
【図１８】不正操作検知結果の表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず、第１の実施の形態について説明する。
【００１２】
図１は、第１の実施の形態の概要を示す図である。不正検知装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば不正検知装置１０が有するメモリ、またはストレージ装置である。処理部１２は、例えば不正検知装置１０が有するプロセッサ、または演算回路である。
【００１３】
記憶部１１は、差異情報１１ａと特徴情報１１ｂとを記憶する。差異情報１１ａは、不正操作が行われた期間における特定の操作項目に関する操作の特徴と、不正操作が行われていない期間における操作項目に関する操作の特徴との差異を示す。特徴情報１１ｂは、監視対象のユーザ１が不正操作を行っていない期間における操作項目に関するユーザ１の操作の特徴を示す。複数のユーザが監視対象となっている場合、ユーザごとの特徴情報１１ｂが記憶部１１に記憶される。なお記憶部１１は、複数の操作項目それぞれについての差異情報１１ａと特徴情報１１ｂとを記憶することができる。
【００１４】
処理部１２は、監視対象の期間内にユーザ１が使用する端末装置２から、ユーザ１が行った操作を示す操作ログ３を取得する。操作ログ３には、例えば、キーボードに対する操作内容、マウスなどのポインティングデバイスに対する操作内容、端末装置２に対する外部機器または記録媒体の挿抜操作に関する内容が含まれる。
【００１５】
次に処理部１２は、操作ログ３に示される操作項目に関する操作の特徴と特徴情報１１ｂに示される特徴との差異の、差異情報１１ａとの比較結果に基づいて、不正操作が行われた疑いのある不正疑義期間を特定する。
【００１６】
例えば差異情報１１ａには、不正操作が行われた期間における操作項目に関する操作の操作時刻から得られる統計量と、不正操作が行われていない期間における操作項目に関する操作の操作時刻から得られる統計量との差の範囲が示される。操作項目がマウス操作時間の場合、例えば複数のユーザによるマウス操作時間（ドラックからドロップまでの時間）の平均値が、その操作項目の統計量である。そして差異情報１１ａには、不正操作が行われた期間におけるマウス操作時間の平均と、不正操作が行われた期間におけるマウス操作時間の平均との差異の範囲が示される。例えば、不正操作を意識して行う不正行為者は、不正操作時には緊張状態にあるものと推定できる。そして一般的に、緊張時には、マウス操作時間がａ秒（ａは正の実数）以上長期化する傾向が確認できたものとする。この場合、差異情報１１ａには、操作項目「マウス操作時間」に対応づけて、不正操作時（緊張時）には、ａ秒以上長期化する旨の情報が設定される。
【００１７】
また特徴情報１１ｂには、例えばユーザ１が不正操作を行っていない期間における操作項目に関するユーザ１の操作の操作時刻から得られる統計量が示される。この場合、処理部１２は、操作ログ３に示される操作項目に関する一操作の操作時刻から得られる値と、特徴情報１１ｂに示される統計量との差が、差異情報１１ａに示される範囲内にあるとき、一操作が行われた時刻を含む時間帯を、不正疑義期間として特定する。一操作の操作時刻から得られる値は、例えば該当操作の操作開始時刻から操作終了時刻までの経過時間（操作時間）である。
【００１８】
図１の例では、ユーザ１の平常時のマウス操作時間は「Ｔ１」である。またユーザ１の操作ログ３には、時刻「ｔ２」にファイルドラッグのマウス操作を行い、時刻「ｔ３」にファイルドロップのマウス操作を行ったことが示されている。そして差異情報１１ａには、不正操作時（緊張時）は、マウス操作時間がａ秒以上長期化することが示されている。この場合、処理部１２は、操作ログ３に示されるマウス操作時間（ｔ３−ｔ２）が、ユーザ１の平常時のマウス操作時間「Ｔ１」よりａ秒以上長期化している（ｔ３−ｔ２＞Ｔ１＋ａ）か否かを判断する。処理部１２は、マウス操作時間がａ秒以上長期化していることが確認できたとき、マウス操作を行った時刻（ｔ２，ｔ３）を含む時間帯を、不正疑義期間とする。不正疑義期間は、例えば、操作項目に関連する最初の操作を行った時刻「ｔ２」の所定時間前「ｔ２−ｂ」（ｂは正の実数）から、操作項目に関連する最後の操作を行った時刻「ｔ３」の所定時間後「ｔ３＋ｂ」までの期間である。
【００１９】
不正疑義期間を特定した処理部１２は、不正疑義期間内にユーザ１が行った操作を示す情報を出力する。例えば処理部１２は、モニタに、不正疑義期間内にユーザ１が行った操作を示す不正操作表示画面４を表示させる。図１の例では、不正疑義期間に、時刻「ｔ１」の「ＵＳＢ（Universal Serial Bus）メモリ接続」、時刻「ｔ２」の「マウス操作（ファイルドラッグ）」、時刻「ｔ３」の「マウス操作（ファイルドロップ）」、時刻「ｔ４」の「ＵＳＢメモリ抜き取り」が含まれる。この一連の操作が、不正な情報持ち出しが行われていないかどうかの確認対象の操作として、不正操作表示画面４に表示される。
【００２０】
このような不正検知装置１０によれば、ユーザ１個人の平常時の操作の特徴に基づいて、ユーザ１が緊張状態で行った操作（不正の疑いのある操作）を行った不正疑義期間が特定される。これにより、不正疑義期間内の操作を優先的な確認対象として表示することで、過剰指摘を抑止することができる。過剰指摘が抑止されることにより、不正行為の検知精度が向上する。その結果、実際に不正行為が行われたかどうかを確認する操作も少なくて済み、不正行為の発見の遅延を抑止することができる。
【００２１】
図１に示した不正検知処理は、不正操作のシナリオを用いた不正検知と組み合わせることができる。その場合、記憶部１１は、さらに、不正操作の手順を示す不正シナリオ情報を記憶する。処理部１２は、不正疑義期間内にユーザ１が行った操作のうち、不正シナリオ情報に示される手順に沿った一連の操作を示す情報を出力する。これにより、不正シナリオ情報に基づいて、高い再現率で不正操作を検知し、検知された不正操作の中から、不正疑義期間内の操作を、確認対象として表示することができる。これにより、高い再現率を確保しながら、過剰指摘を抑止することができる。
【００２２】
さらに処理部１２は、操作ログ３に基づいて、ユーザ１が、不正操作時の心理状態が操作ログ３に反映されやすいか否かを判定することもできる。例えば平常時から操作時間のばらつきが大きいほど、緊張を強いられる状況において動揺しやすく、不正操作時の心理状態が操作ログ３に反映されやすいと考えられる。そこで処理部１２は、ユーザ１の平常時の各操作項目の操作に関する操作時間（例えばマウス操作時間）の標準偏差が所定値以上であれば、ユーザ１は、不正操作時の心理状態が操作ログ３に反映されやすいと判断する。また処理部１２は、標準偏差が所定値未満であれば、ユーザ１は、不正操作時の心理状態が操作ログ３に反映されづらいと判断する。
【００２３】
処理部１２は、監視対象の期間内にユーザ１が行った不正シナリオ情報に示される手順に沿った一連の操作の操作履歴を表示する際、ユーザ１が不正操作時の心理状態が操作ログ３に反映されやすいかどうかにより、表示態様を変える。例えば処理部１２は、不正操作時の心理状態が操作ログ３に反映されやすい場合には、表示した操作履歴のうち不正疑義期間内にユーザ１が行った操作の履歴を強調表示する。また処理部１２は、不正操作時の心理状態が操作ログ３に反映されづらい場合には、表示した操作履歴のうち不正疑義期間内にユーザ１が行った操作の履歴の強調表示を抑止する。
【００２４】
これにより、情報漏洩に関する内部不正につながる不正行為の検知の際に、不正行為を行うことによる心理状態が、操作時間などに影響する人とそうでない人を区別して、不正検知結果を表示することができる。その結果、個人の操作の特徴を用いて、誤検知（過剰指摘）の削減を行うかどうかを、ユーザごとに個別に決定し、過剰指摘の削減処理の誤った適用を抑止することができる。
【００２５】
なお、記憶部１１が、複数の操作項目それぞれについての差異情報１１ａと特徴情報１１ｂとを記憶しているとき、複数の操作項目の差異情報１１ａと特徴情報１１ｂとを組み合わせて、不正疑義期間を特定してもよい。例えば処理部１２は、複数の操作項目それぞれについて、操作ログ３に示される操作項目に関する一操作の操作時刻と、特徴情報１１ｂに示される統計量との差が、差異情報１１ａに示される範囲内にあるとき、一操作が行われた不正疑義操作時刻を求める。そして処理部１２は、所定数以上の操作項目についての不正疑義操作時刻を含む時間帯を、不正疑義期間として特定する。これにより、不正疑義期間の判定精度を向上させることができる。
【００２６】
また、記憶部１１が、複数の操作項目それぞれについての差異情報１１ａと特徴情報１１ｂとを記憶している場合、例えば処理部１２は、複数の操作項目のうち、不正操作が行われた期間における差異情報に示される値が閾値以上である操作項目を選択する。処理部１２は、選択された操作項目の差異情報に示される値を合計した第１の和を求める。次に処理部１２は、操作ログ３に示される選択された操作項目に関する一期間内の操作の特徴を示す値の選択された操作項目ごとの統計量を合計した第２の和を求める。次に処理部１２は、選択された操作項目に関する特徴情報１１ｂに示される値を合計した第３の和を求める。そして処理部１２は、第２の和と第３の和との差異の、第１の和との比較結果に基づいて、一期間内に不正操作が行われた疑いがあるか否かを判定する。例えば処理部１２は、一期間について、第２の和と第３の和との差異が、第１の和以上となっている場合、その一期間を、不正疑義期間として特定する。なお処理部１２は、操作ログ３の収集期間内で、一期間の範囲を変えながら、その一期間が不正疑義期間に該当するか否かを判定する。これにより、不正疑義期間の判定精度を向上させることができる。
【００２７】
なお、不正操作時以外にも、ユーザ１が緊張状態になることがある。そして緊張状態になると、入力間違いが増加したり、業務効率が低下したりする。不正検知装置１０において、ユーザ１の不正疑義期間の長さや、発生頻度を解析すれば、内部不正だけでなく、通常業務における緊張状態が関連する、うっかりミスや業務効率低下の要因につながる時間帯も見つけ出して、先回り対処や支援も可能である。
【００２８】
また不正操作時の心理状態が操作ログ３に反映されやすいかどうかについて、１人のユーザ１であっても、時間帯によって異なる可能性がある。そこで、例えば処理部１２は、１人のユーザ１の操作ログ３を、週単位、１日単位、またはさらに細かい時間帯単位で分割する。そして処理部１２は、分割して得られた時間帯ごとの操作ログによって、時間帯ごとに、不正操作時の心理状態が操作ログ３に反映されやすいかどうかを判断する。これにより、各利用者の一定時間ごとの状況変化に応じて、過剰指摘の削減処理を適切に適用することができる。
【００２９】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、ルールベースに基づいて検知した不正の可能性がある行為が行われた時間帯に、その行為を行ったユーザが緊張状態にあったか否かを判定し、緊張状態の下で行われた行為であれば、当該行為のアラートのレベルを上げるものである。
【００３０】
図２は、第２の実施の形態のシステム構成例を示す図である。不正検知装置１００は、ネットワーク２０を介して複数の端末装置４１〜４３に接続されている。端末装置４１〜４３は、それぞれユーザ３１〜３３が使用するコンピュータである。不正検知装置１００は、ユーザ３１〜３３による端末装置４１〜４３への操作状況を監視して、ユーザ３１〜３３による不正行為を検知するコンピュータである。
【００３１】
図３は、本実施の形態に用いる不正検知装置のハードウェアの一構成例を示す図である。不正検知装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３２】
メモリ１０２は、不正検知装置１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３３】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３４】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００３５】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３６】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３７】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３８】
機器接続インタフェース１０７は、不正検知装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００３９】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４０】
以上のようなハードウェア構成によって、第２の実施の形態における不正検知装置１００の機能を実現することができる。なお、端末装置４１〜４３の機能も、不正検知装置１００と同様のハードウェアにより実現することができる。また、第１の実施の形態に示した不正検知装置１０の機能も、不正検知装置１００と同様のハードウェアにより実現することができる。
【００４１】
不正検知装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。不正検知装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、不正検知装置１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また不正検知装置１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４２】
第２の実施の形態における不正検知装置１００は、ルールに基づく不正検知と、各ユーザ３１〜３３の心理状態の変化に基づく、不正行為が行われた時間帯の予測とを併用する。
【００４３】
ルールに基づく内部不正の検知は、ルールを的確に設定することができれば、設定したルールに応じて不正行動は高い再現率で検知できる。しかし、再現率の向上のために、ルールの検知対象を広げることで網羅性を上げていくと、過剰指摘が増加してしまう。
【００４４】
そこで不正検知装置１００は、単純に不正処理をルールだけで検知するのではなく、ユーザ３１〜３３の操作時における心理状態を判定し、不正操作の検知の精度を向上させる。
【００４５】
ユーザ３１〜３３の操作時における心理状態の一例として、ユーザ３１〜３３が不正操作を行うとき緊張状態にあることが挙げられる。ユーザ３１〜３３の特徴的な振る舞いや動作を細かくチェックすることができれば、ユーザ３１〜３３それぞれの通常の動作に関する特徴情報から、ユーザ３１〜３３それぞれの緊張度を測ることが可能である。
【００４６】
そこで不正検知装置１００は、緊張度と不正操作との関連を、ユーザの疑似的な内部不正行為から見つけ出し、不正操作時の緊張との関連の導きやすさを割り出す。具体的には、不正検知装置１００は、複数のユーザ３１〜３３が端末装置４１〜４３に対して行った通常操作のログを、例えば数週間分取得する。その後、複数のユーザ３１〜３３の少なくとも一部に、予め定めた疑似的な不正操作を行ってもらう。不正検知装置１００は、不正操作を行ったユーザが使用する端末装置から操作ログを取得する。そして、不正検知装置１００は、収集した操作ログを分析して、不正操作時の操作の特徴を検出する。
【００４７】
例えば通常の情報持ち出しに関する不正操作時は、周辺が気になる、後ろめたい気持ちになる、見つかるかもしれないと不安になるなど、通常操作時とは異なる心理状態となる（心理的に異なる状況におかれる）。このため、集めた操作ログを分析すると、各種の操作項目において、不正操作時の操作ログには、通常操作時とは異なる変化が現れる。例えば、キーボード打鍵（スピード、間隔）に変化が現れたり、マウス操作（クリック、ドラッグのスピードや時間）に変化が現れたり、アプリ切り換え（回数、速さ）に変化が現れたりする。不正検知装置１００は、これらの変化が現れた操作項目を、不正疑義期間の判定に利用する操作項目として特定する。そして不正検知装置１００は、特定した操作項目の特異値（不正操作時の統計量の通常時の統計量との差）を算出し、特異値に基づいて不正操作を行っている緊張時間帯を、不正疑義期間として判別する。
【００４８】
さらに、不正検知装置１００は、緊張時間帯の判別に使用している各操作項目の、操作ログに示される操作の変化量や分布、特異値などを、例えば時間帯別に詳細に分析することで、不正操作時と緊張度との関係を判別容易なユーザと判別困難なユーザとを識別する。そして不正検知装置１００は、不正操作時と緊張度との関係を判別容易なユーザについてのみ、不正疑義期間を特定する。不正操作時と緊張度との関係を判別が困難なユーザについての不正疑義期間の特定を抑止することで、不正確な不正疑義期間の特定を抑止することができる。
【００４９】
このように、個人ごとの過剰指摘対策の仕組みを、不正検知装置１００によって実現することで、情報漏洩の原因となる内部不正の検知の過剰指摘を削減できる。以下、図４を参照して、不正を検知するために不正検知装置１００と各端末装置４１〜４３が有する機能について説明する。
【００５０】
図４は、不正検知装置と端末装置とが有する機能を示すブロック図である。端末装置４１は、操作検知部４１ａと操作ログ記憶部４１ｂとを有する。操作検知部４１ａは、ユーザ３１が端末装置４１に対して行った操作を検知して、操作内容を操作ログ記憶部４１ｂに格納する。例えば操作検知部４１ａは、キーボードのキーの押下、マウスの移動またはボタンの押下、または端末装置４１への機器の着脱を検知して、それらの操作から操作内容を特定する。そして操作検知部４１ａは、特定した操作内容を示す操作ログを、例えば端末装置４１を使用しているユーザ３１のユーザ名に対応付けて、操作ログ記憶部４１ｂに格納する。操作ログ記憶部４１ｂは、操作ログを記憶する。他の端末装置４２，４３も、端末装置４１と同様の機能を有している。
【００５１】
不正検知装置１００は、シナリオ記憶部１１０、操作ログ記憶部１２０、個人特性記憶部１３０、判定基準記憶部１４０、不正操作検知結果記憶部１５０、操作ログ取得部１６１、不正動作シーケンス検知部１６２、個人特性抽出部１６３、判定基準学習部１６４、不正疑義期間判定部１６５、および不正操作検知結果出力部１６６を有する。
【００５２】
シナリオ記憶部１１０は、複数の不正検知シナリオ１１１を記憶する。不正検知シナリオには、ユーザが不正行為を行ったときに操作ログに現れる１以上の操作内容が、時系列に示されている。例えば、情報の不正持ち出しの場合、端末装置へのメモリ装置の接続、重要ファイルのメモリ装置へのコピーなどの手順が、不正検知シナリオに示されている。
【００５３】
操作ログ記憶部１２０は、複数の端末装置４１〜４３から収集した操作ログを記憶する。
個人特性記憶部１３０は、ユーザ３１〜３３それぞれの個人特性情報を記憶する。個人特性情報は、ユーザ３１〜３３それぞれの、緊張していない平常時の端末装置４１〜４３の操作状態を示す情報である。例えば、マウスの平均操作時間（ドラッグからドロップまでの時間）、キーボードのキーの平均押下時間（キーの押下から放すまでの時間）などが、個人特性情報に含まれる。
【００５４】
判定基準記憶部１４０は、ユーザが緊張状態にある期間（不正疑義期間）の判定基準を記憶する。例えば、マウス操作時間の平常時と比較した場合の上昇度合い（あるいは低下度合い）が、判定基準として記憶される。
【００５５】
不正操作検知結果記憶部１５０は、不正操作の検知結果を記憶する。
操作ログ取得部１６１は、複数の端末装置４１〜４３それぞれから、操作ログを取得する。操作ログ取得部１６１は、取得した操作ログを、操作ログ記憶部１２０に格納する。なお、操作ログ取得部１６１は、操作ログ記憶部１２０に操作ログを格納する際に、種別ごとに整理して格納することができる。
【００５６】
不正動作シーケンス検知部１６２は、シナリオ記憶部１１０に格納されている複数の不正検知シナリオ１１１に合致する不正動作（一連の処理）を、操作ログ記憶部１２０から検出する。不正動作シーケンス検知部１６２は、複数の不正検知シナリオ１１１のいずれかに合致した一連の操作に関する情報を、不正操作検知結果記憶部１５０に格納する。この際、不正動作シーケンス検知部１６２は、検知した不正操作の警告レベルとして、例えば「注意」と設定する。
【００５７】
個人特性抽出部１６３は、操作ログ記憶部１２０を参照し、複数のユーザ３１〜３３それぞれの、操作項目ごとの個人特性を抽出し、個人特性記憶部１３０に格納する。抽出する個人特性は、例えばマウス操作時間の平均値、キー押下時間の平均値、ウィンドウ切り換え間隔の平均値などである。
【００５８】
判定基準学習部１６４は、模擬不正行為を行ったユーザの操作ログと、そのユーザの個人特性とに基づいて、判定基準を学習する。例えば判定基準学習部１６４は、模擬不正行為を行ったユーザそれぞれについて、平常時のマウス操作時間の平均値と、模擬不正行為を行った期間のマウス操作時間の平均値とを比較する。判定基準学習部１６４は、ユーザが模擬不正行為を行った期間は、マウス操作時間が平常時よりあるａ秒以上長期化する傾向があることが判明した場合、判定基準「マウス操作時間が平常時よりあるａ秒以上長期化」を学習する。判定基準学習部１６４は、学習した判定基準を、判定基準記憶部１４０に格納する。
【００５９】
なお、判定基準学習部１６４は、平常時と模擬不正行為を行った期間とで、統計量に有意な差異がない操作項目については、判定基準は生成しない。すなわち判定基準学習部１６４は、予め違いが得られる（不正疑義期間の判定に利用できる）操作項目についてのみ、判定基準を生成する。例えば判定基準学習部１６４は、不正操作時か否かの違いによって、該当操作項目の操作ログのデータ量の変化が少ない操作項目は、不正疑義期間の判定に利用できないと判断してもよい。また判定基準学習部１６４は、操作項目が不正疑義期間の判定に利用できるか否かの判断に、他の操作項目との間の関連性や、該当操作項目の操作ログの発生状況の規則性などを考慮にいれてもよい。
【００６０】
また判定基準学習部１６４は、操作ログを、時間帯を分けて分析（就業時間、残業時間、休憩時間）し、時間帯ごとの判定基準を作成してもよい。
不正疑義期間の判定に利用できる操作項目としては、例えばキーボード操作（スピード、間隔）、マウス操作（クリック、ドラッグ、スピードと時間）、任意のアプリケーションに関する動作（起動数、切り換え回数）などがある。また判定基準学習部１６４は、複数の操作項目の組み合わせに対して、判定基準を作成することもできる。判定基準の作成対象となる操作項目には、ファイル操作、アプリケーション操作、ネットワーク操作、デバイス操作なども含まれる。
【００６１】
判定基準学習部１６４は、さらに、個人特性による不正操作の有無の判別対象とする適性の有無を判断する。適性の有無は、例えばユーザごとに、そのユーザの操作項目ごとの統計量に基づいて判定される。適性の有無の判定に用いる操作項目は、例えば、キー操作時間（押下から解放まで）、マウスクリック操作時間（押下から解放まで）、単位時間内のアプリケーションソフトウェアの切り換え回数などである。判定基準学習部１６４は、例えば、これらの操作項目の平均値と中央値の差が大きい場合、個人特性による不正操作の有無の判別対象とする適性があると判定する。また判定基準学習部１６４は、これらの操作項目の標準偏差が所定値以上大きい場合、個人特性による不正操作の有無の判別対象とする適性があると判定する。また判定基準学習部１６４は、マウスのボタンの押下またはドラッグ操作が特に遅いユーザは、個人特性による不正操作の有無の判別対象とする適性があると判定する。
【００６２】
不正疑義期間判定部１６５は、操作ログ記憶部１２０に格納された複数のユーザ３１〜３３それぞれの操作ログと、各ユーザの個人特性とを比較し、判定基準に合致する期間（不正疑義期間）を検出する。そして不正疑義期間判定部１６５は、不正操作検知結果記憶部１５０内の、各ユーザの不正疑義期間内の不正操作検知結果について、警告レベルを上げるように変更する。
【００６３】
不正操作検知結果出力部１６６は、検知された不正操作に関する情報を、モニタ２１に出力する。不正操作検知結果出力部１６６は、例えば、不正検知シナリオに沿った一連の不正操作のリストをモニタ２１に表示させると共に、不正疑義期間に行われた不正操作を示す情報を強調表示させる。
【００６４】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００６５】
以下、端末装置４１と不正検知装置１００とのそれぞれが有する記憶部が記憶する情報について詳細に説明する。
図５は、端末装置の操作ログ記憶部の一例を示す図である。操作ログ記憶部４１ｂには、不正操作監視対象ログ４１ｃが記憶されている。不正操作監視対象ログ４１ｃには、ユーザ３１が端末装置４１に対して行った操作ごとのレコードが、対応する操作のログとして記録されている。
【００６６】
各レコードには、ログ出力時刻、ログ名称、およびログ詳細情報が含まれる。ログ出力時刻は、例えば対応するログが端末装置４１の操作ログ記憶部４１ｂに出力された時刻である。ログ出力時刻は、ログに対応する操作に関するイベントのイベント発生時刻でもある。ログ名称は、出力されたログを一意に識別する名称である。例えばログの名称には、そのログの種別を示す文字列、ログの通し番号、バージョン番号などが含まれる。ログ詳細情報には、ログの出力時刻以外の、操作内容を示す情報が含まれる。
【００６７】
不正検知装置１００の操作ログ取得部１６１は、端末装置４１から不正操作監視対象ログ４１ｃを取得し、ログの種別ごとに集計し、不正検知装置１００内の操作ログ記憶部１２０に格納する。
【００６８】
図６は、不正検知装置の操作ログ記憶部の一例を示す図である。操作ログ記憶部１２０には、端末装置４１〜４３それぞれから取得した操作ログ１２１〜１２３が記憶されている。操作ログ１２１〜１２３それぞれには、該当する操作ログの取得元の端末装置を使用しているユーザのユーザ名が設定されている。
【００６９】
操作ログ１２１には、例えば第１キー操作ログ１２１ａ、第２キー操作ログ１２１ｂ、マウス操作ログ１２１ｃ、アプリ状態ログ１２１ｄなどが含まれる。第１キー操作ログ１２１ａには、操作されたキーについてのハードウェア的な情報（物理情報）が示される。第２キー操作ログ１２１ｂには、操作されたキーについてのソフトウェア的な情報（論理情報）が示される。マウス操作ログ１２１ｃには、マウス操作に関連する情報が示される。アプリ状態ログ１２１ｄには、アクティブとなっているアプリケーションに関する情報が示される。
【００７０】
操作ログ１２１には、図６に示したログ以外にも、例えば、プロセス状態ログ、システム状態ログ、ネットワーク状態ログ、ファイル操作ログを含めることができる。プロセス状態ログは、例えば端末装置４１で実行されているプロセスの状態（起動時刻、終了時刻など）を示す情報である。システム状態ログは、例えば端末装置４１への外部機器の接続、または取り外しなどの構成変更に関連する情報である。ネットワーク状態ログは、ネットワークを介した通信量の時系列変化などの情報である。ファイル操作ログは、ファイルの作成、コピー、削除などのファイル操作に関する情報である。
【００７１】
なお、他の操作ログ１２２，１２３も、操作ログ１２１と同様の情報を含んでいる。
図７は、第１キー操作ログの一例を示す図である。第１キー操作ログ１２１ａの各レコードには、イベント発生時刻、アクティブアプリシーケンス番号、プロセスＩＤ、ウィンドウレベル、イベント種別、および仮想キーコードが含まれる。
【００７２】
イベント発生時刻は、キーボードのキー入力を示すイベントが発生した時刻である。アクティブアプリシーケンス番号は、キー入力時にアクティブとなっていたソフトウェアの識別番号である。プロセスＩＤは、キー入力時に実行されていたプロセスの識別番号である。ウィンドウハンドルは、キー入力時にアクティブとなっているウィンドウの識別番号である。イベント種別は、行われたキー操作がキーの押下操作（ＫＤ：KeyDown）なのか、キーの解放操作（ＫＵ：KeyUp）なのかを示す情報である。仮想キーコードは、操作されたキーを識別するためのコードである。
【００７３】
図８は、第２キー操作ログの一例を示す図である。第２キー操作ログ１２１ｂの各レコードには、イベント発生時刻、アクティブアプリシーケンス番号、プロセスＩＤ、ウィンドウハンドル、通常文字、特殊文字、仮想キーコード、リピート回数、Ｃｔｒｌ押下中フラグ、Ｓｈｉｆｔ押下中フラグ、Ａｌｔ押下中フラグ、Ｗｉｎｄｏｗｓキー押下中フラグ、キー入力時間、第１キー入力間隔、および第２キー入力間隔が含まれる。
【００７４】
イベント発生時刻は、キーボードのキー入力を示すイベントが発生した時刻である。アクティブアプリシーケンス番号は、キー入力時にアクティブとなっていたソフトウェアの識別番号である。プロセスＩＤは、キー入力時に実行されていたプロセスの識別番号である。ウィンドウハンドルは、キー入力時にアクティブとなっているウィンドウの識別番号である。
【００７５】
通常文字は、キー操作によって入力された文字である。なお、シフトキーの併用により変化する文字は、変換後の文字が、通常文字として出力される。例えば「Ｓｈｉｆｔ＋ａ」のキーが押下された場合、「Ａ」の文字が出力される。
【００７６】
特殊文字は、ショートカットキーなど、複数のキー操作の組み合わせにより、特別な意味を持つキーについての、押下されたキーそれぞれに対応する文字が出力される。例えばユーザ３１が「Ｃｔｒｌ＋Ｓ」のキーを押下してファイルを保存した場合、特殊文字として「Ｃｔｒｌ＋Ｓ」を示すログが出力される。なお、図８の例では、特殊文字を含むレコードがないため、各レコードの対応するフィールドは空欄となっている。
【００７７】
仮想キーコードは、操作されたキーを識別するためのコードである。リピート回数は、同一キーを繰り返し押下した場合の繰り返し回数である。繰り返していない場合のリピート回数は「０」である。例えば同じキーを３回続けて入力した場合、リピート回数は「２」となる。
【００７８】
Ｃｔｒｌキー押下中フラグは、Ｃｔｒｌキー押下中の操作か否かを示すフラグである。Ｃｔｒｌキーが押下中であれば、Ｃｔｒｌキー押下中フラグに「１」が設定され、Ｃｔｒｌキーが押下中でなければ、Ｃｔｒｌキー押下中フラグに「０」が設定される。
【００７９】
Ｓｈｉｆｔキー押下中フラグは、Ｓｈｉｆｔキー押下中の操作か否かを示すフラグである。Ｓｈｉｆｔキーが押下中であれば、Ｓｈｉｆｔキー押下中フラグに「１」が設定され、Ｓｈｉｆｔキーが押下中でなければ、Ｓｈｉｆｔキー押下中フラグに「０」が設定される。
【００８０】
Ａｌｔキー押下中フラグは、Ａｌｔキー押下中の操作か否かを示すフラグである。Ａｌｔキーが押下中であれば、Ａｌｔキー押下中フラグに「１」が設定され、Ａｌｔキーが押下中でなければ、Ａｌｔキー押下中フラグに「０」が設定される。
【００８１】
Ｗｉｎｄｏｗｓキー押下中フラグは、Ｗｉｎｄｏｗｓキー押下中の操作か否かを示すフラグである。Ｗｉｎｄｏｗｓキーが押下中であれば、Ｗｉｎｄｏｗｓキー押下中フラグに「１」が設定され、Ｗｉｎｄｏｗｓキーが押下中でなければ、Ｗｉｎｄｏｗｓキー押下中フラグに「０」が設定される。
【００８２】
キー入力時間は、キーの入力開始（押下）からキー入力確定（解放）までの経過時間である。第１キー入力間隔は、すべてのキーが離された状態から、最初のキー入力開始までの時間（未入力時間）である。第２キー入力間隔は、直前のキー入力の入力確定から、ログの対象となっているキー入力の入力確定までの時間間隔である。
【００８３】
図９は、キー操作に関するログの記録例を示す図である。端末装置４１の操作検知部４１ａは、「Ａ」キーの押下のキーイベントの検出後、「Ａ」キーの解放イベントを検出すると、通常文字「ａ」のキー操作が行われたことを示すログを出力する。このとき、「Ａ」キーが押下されてから、「Ａ」キーが解放されるまでの時間がキー入力時間である。
【００８４】
続けて、「Ｂ」キーが押下され、「Ｂ」キーが解放されると、操作検知部４１ａは、通常文字「ｂ」のキー操作が行われたことを示すログを出力する。このとき、「Ｂ」キーが押下されてから、「Ｂ」キーが解放されるまでの時間がキー入力時間である。「Ａ」キーが解放されてから「Ｂ」キーが押下されるまでの時間が、第１キー入力間隔である。「Ａ」キーが解放されてから「Ｂ」キーが解放されるまでの時間が、第２キー入力間隔である。
【００８５】
次に、「Ｃｔｒｌ」キーの押下、「Ａ」キーの押下、「Ａ」キーの解放が順に行われると、操作検知部４１ａは、通常文字「Ｃｔｒｌ＋Ａ」のキー操作が行われたことを示すログを出力する。このとき、「Ｃｔｒｌ」キーが押下されてから、「Ａ」キーが解放されるまでの時間がキー入力時間である。「Ｂ」キーが解放されてから「Ｃｔｒｌ」キーが押下されるまでの時間が、第１キー入力間隔である。「Ｂ」キーが解放されてから「Ａ」キーが解放されるまでの時間が、第２キー入力間隔である。
【００８６】
その後、「Ｃｔｒｌ」キーが押下された状態のまま、「Ｃ」キーの押下、「Ｃ」キーの解放が順に行われると、操作検知部４１ａは、通常文字「Ｃｔｒｌ＋Ｃ」のキー操作が行われたことを示すログを出力する。このとき、「Ａ」キーが解放されてから「Ｃ」キーが解放されるまでの時間がキー入力時間であると共に第２キー入力間隔である。未入力時間は存在しないため、第１キー入力間隔は記録されない。
【００８７】
図１０は、マウス操作ログの一例を示す図である。マウス操作ログ１２１ｃの各レコードには、イベント発生時刻、アクティブアプリシーケンス番号、プロセスＩＤ、ウィンドウハンドル、イベント種別、コントロール種別、コントロールのテキスト、Ｘ座標、Ｙ座標、コントロールＸ座標、コントロールＹ座標、コントロール幅、コントロール高さ、マウス移動距離、およびマウスイベント間隔が含まれる。
【００８８】
イベント発生時刻は、マウスのボタン入力を示すイベントが発生した時刻である。アクティブアプリシーケンス番号は、ボタン入力時にアクティブとなっていたソフトウェアの識別番号である。プロセスＩＤは、ボタン入力時に実行されていたプロセスの識別番号である。ウィンドウハンドルは、ボタン入力時にアクティブとなっているウィンドウの識別番号である。イベント種別は、行われたボタン操作が左ボタンの押下操作（ＬＤ）なのか、左ボタンの解放操作（ＬＵ）なのか、右ボタンの押下操作（ＲＤ）なのか、右ボタンの解放操作（ＲＵ）なのかを示す情報である。
【００８９】
コントロール種別は、マウスのボタンが押下されたときに、ポインタで指定されているコントロールオブジェクトの種別である。コントロールのテキストは、マウスのボタンが押下されたときに、ポインタで指定されているコントロールオブジェクトに設定されているテキストである。Ｘ座標は、イベント発生時のポインタのＸ座標である。Ｙ座標は、イベント発生時のポインタのＹ座標である。コントロールＸ座標は、ボタン押下時にポインタで指定されているコントロールオブジェクトの左上のＸ座標である。コントロールＹ座標は、ボタン押下時にポインタで指定されているコントロールオブジェクトの左上のＹ座標である。コントロール幅は、ボタン押下時にポインタで指定されているコントロールオブジェクトの幅である。コントロール高さは、ボタン押下時にポインタで指定されているコントロールオブジェクトの高さである。
【００９０】
マウス移動距離は、前回のマウスのボタン操作のイベント発生時のポインタの位置と、今回のマウスのボタン操作のイベント発生時のポインタの位置との距離である。マウスイベント間隔は、前回のマウスのボタン操作のイベント発生から今回のマウスのボタン操作のイベント発生までの時間である。
【００９１】
図１１は、アプリ状態ログの一例を示す図である。アプリ状態ログ１２１ｄの各レコードには、ログ出力時刻、アクティブアプリシーケンス番号、プロセスＩＤ、ウィンドウハンドル、実行ファイル名、実行ファイルパス、ウィンドウ位置Ｘ、ウィンドウ位置Ｙ、ウィンドウサイズ（幅）、ウィンドウサイズ（高さ）、ブラウザオープン中タブ数、ウィンドウタイトル、およびアクティブ時間が含まれる。
【００９２】
ログ出力時刻は、アクティブなウィンドウの切り換えを示すレコードの出力時刻である。アクティブアプリシーケンス番号は、アクティブなウィンドウの切り換えにより新たにアクティブとなったソフトウェアの識別番号である。プロセスＩＤは、アクティブなウィンドウの切り換えによりアクティブとなったウィンドウを実行するプロセスの識別番号である。ウィンドウハンドルは、アクティブなウィンドウの切り換えにより新たにアクティブとなったウィンドウの識別番号である。実行ファイル名は、アクティブになったウィンドウを実行するプロセスの実行ファイルのファイル名である。実行ファイルパスは、アクティブになったウィンドウを実行するプロセスの実行ファイルのディレクトリパスである。ウィンドウ位置Ｘは、アクティブになったウィンドウの左上の位置のＸ座標である。ウィンドウ位置Ｙは、アクティブになったウィンドウの左上の位置のＹ座標である。ウィンドウサイズ（幅）は、アクティブになったウィンドウの幅である。ウィンドウサイズ（高さ）は、アクティブになったウィンドウの高さである。ブラウザオープン中タブ数は、アクティブになったウィンドウがタブブラウザの場合、そのウィンドウ内にオープンしているタブの数である。ウィンドウタイトルは、アクティブになったウィンドウに設定されているタイトルの文字列である。アクティブ時間は、ウィンドウがアクティブとなっていた時間である。
【００９３】
図１１の例では、５番目のレコードは、プロセスＩＤ、ウィンドウハンドルなどの各種操作項目の値が「０」となっている。これは、アクティブなウィンドウが存在しない状態を示している。
【００９４】
図１２は、個人特性記憶部に記憶される情報の一例を示す図である。個人特性記憶部１３０には、例えば個人特性管理テーブル１３１が格納されている。個人特性管理テーブル１３１には、ユーザごとに、複数の操作項目それぞれについての平常時の統計量（例えば平均値）と、個人特性による不正操作の有無の判別対象とする適性の判定結果とが設定される。図１２の例では、マウス操作時間、キー押下時間、ウィンドウ切り換え間隔などについて、各ユーザの平常の心理状態のときの統計量が設定されている。
【００９５】
適性判定結果としては、個人特性による判定対象とする適性があるユーザについては「適性あり」と設定され、個人特性による判定対象とする適性がないユーザについては「適性なし」と設定される。
【００９６】
図１３は、判定基準記憶部に記憶される情報の一例を示す図である。判定基準記憶部１４０には、例えば判定基準管理テーブル１４１が格納されている。判定基準管理テーブル１４１には、複数の操作項目それぞれについて、判定基準が設定されている。例えば操作項目「マウス操作時間」の判定基準は、「平常時よりａ秒以上長期化」していることである。
【００９７】
図１４は、不正操作検知結果記憶部の記憶される情報の一例を示す図である。不正操作検知結果記憶部１５０には、例えば不正操作検知結果ファイル１５１が格納される。不正操作検知結果ファイル１５１には、ヘッダ、検知条件情報、および不正操作ごとのレコードが記録されている。
【００９８】
ヘッダには、各レコードに含まれるデータが定義されている。検知条件情報には、不正操作として検知する条件が定義されている。例えば、ネットワーク通信量の上限の閾値、または接続検知対象の外部メディアの種別などが、検知条件情報に設定されている。各レコードには、検知された不正操作の内容が設定されている。
【００９９】
例えば各レコードには、警告レベル、ユーザ名、検知対象時間帯（開始時刻）、検知対象時間帯（終了時刻）、マウスクリック時間、ネットワーク送受信量、アクティブアプリケーション監視対象、ファイル操作―ファイルコピーサイズ、ファイル操作―コピー先メディア、外部メディア接続検知対象、検知結果メッセージなどのデータが含まれる。レコード内のこれらのデータ用のフィールドのうち、検知された不正操作と無関係のデータのフィールドには、空のデータが設定される。
【０１００】
以上のようなデータを用いて、不正操作の検知が行われる。具体的には、操作ログ取得部１６１により各端末装置４１〜４３から操作ログを取得後、個人特性抽出処理が行われる。
【０１０１】
図１５は、個人特性抽出処理の手順の一例を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］個人特性抽出部１６３は、操作ログ記憶部１２０に格納されている複数の操作ログ１２１〜１２３それぞれに設定されているユーザ名に基づいて、ユーザを１人選択する。
【０１０２】
［ステップＳ１０２］個人特性抽出部１６３は、選択したユーザの操作ログを、操作ログ記憶部１２０から読み込む。
［ステップＳ１０３］個人特性抽出部１６３は、解析対象の操作項目を１つ選択する。例えば個人特性抽出部１６３は、個人特性管理テーブル１３１に予め設定されている複数の操作項目のうち、未選択の操作項目を１つ選択する。
【０１０３】
［ステップＳ１０４］個人特性抽出部１６３は、選択したユーザの操作ログに基づいて、選択した操作項目に関する統計量を算出する。統計量は、例えば平均値である。これにより、例えばキーボード打鍵に関する操作項目（スピード、間隔など）、マウス操作に関する操作項目（クリックまたはドラッグ時間など）、アプリ切り換えに関する操作項目（回数、速さなど）の平常時の値が得られる。
【０１０４】
［ステップＳ１０５］個人特性抽出部１６３は、個人特性記憶部１３０における選択したユーザの選択した操作項目に、ステップＳ１０４で算出した値を格納する。
［ステップＳ１０６］個人特性抽出部１６３は、すべての操作項目を選択したか否かを判断する。個人特性抽出部１６３は、すべての操作項目について選択済みの場合、処理をステップＳ１０７に進める。また個人特性抽出部１６３は、未選択の操作項目がある場合、処理をステップＳ１０３に進める。
【０１０５】
［ステップＳ１０７］個人特性抽出部１６３は、すべてのユーザを選択したか否かを判断する。個人特性抽出部１６３は、すべてのユーザが選択済みであれば、個人特性抽出処理を終了する。また個人特性抽出部１６３は、未選択のユーザが存在する場合、処理をステップＳ１０１に進める。
【０１０６】
このようにして、各ユーザの操作項目ごとの統計量が算出され、個人特性記憶部１３０に格納される。
その後、不正行為を行ったユーザの、不正行為期間における操作ログに基づく、判定基準学習処理が行われる。例えば複数のユーザ３１〜３３のうちの少なくとも一部のユーザに対して、疑似不正行為を行ってもらう。この際、ユーザには、作業内容を他人に見られないようにすることなどの条件を課し、緊張状態を保ってもらう。システムの管理者は、疑似不正行為を行った期間をユーザから報告してもらう。そしてシステムの管理者は、疑似不正行為を行った期間に基づいて、不正検知装置１００に判定基準を学習させる。
【０１０７】
図１６は、判定基準学習処理の手順の一例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
［ステップＳ２０１］判定基準学習部１６４は、不正行為を行ったユーザ（不正行為者）と不正行為を行った期間（不正行為期間）とを含む不正行為情報の入力を受け付ける。不正行為者が複数いる場合、判定基準学習部１６４は、複数の不正行為情報の入力を受け付ける。
【０１０８】
［ステップＳ２０２］判定基準学習部１６４は、学習対象の操作項目を１つ選択する。
［ステップＳ２０３］判定基準学習部１６４は、未選択の不正行為者のうちの一人を選択する。
【０１０９】
［ステップＳ２０４］判定基準学習部１６４は、選択した不正行為者の不正行為期間の操作ログを、操作ログ記憶部１２０から読み込む。
［ステップＳ２０５］判定基準学習部１６４は、不正行為者の不正行為期間内に出力された操作ログに基づいて、該当期間内の選択された操作項目の不正行為時の統計量（例えば平均値）を算出する。
【０１１０】
［ステップＳ２０６］判定基準学習部１６４は、選択した不正行為者の選択した操作項目の特異値を算出する。例えば判定基準学習部１６４は、不正行為者の平常時に求めた該当操作項目の統計量と、ステップＳ２０５で求めた不正行為時の統計量との差（不正行為時の統計量−平常時の統計量）を、特異値とする。不正行為時の方が統計量が大きくなる場合、特異値の値は正となり、不正行為時の方が統計量が小さい場合、特異値の値が負となる。
【０１１１】
［ステップＳ２０７］判定基準学習部１６４は、すべての不正行為者を選択したか否かを判断する。判定基準学習部１６４は、すべての不正行為者が選択済みの場合、処理をステップＳ２０８に進める。また判定基準学習部１６４は、未選択の不正行為者が存在する場合、処理をステップＳ２０３に進める。
【０１１２】
［ステップＳ２０８］判定基準学習部１６４は、選択した操作項目における不正行為者の特異値の平均に基づいて、選択した操作項目に関する不正疑義期間か否かの判定基準を決定する。例えば判定基準学習部１６４は、不正行為者の特異値の平均が正の場合、該当操作項目のユーザ個人の平常時の統計量より、該当操作項目の値が特異値以上上回っている期間を、不正疑義期間とすることを、判定基準として決定する。また判定基準学習部１６４は、不正行為者の特異値の平均が負の場合、該当操作項目のユーザ個人の平常時の統計量より、該当操作項目の値が特異値以上下回っている期間を、不正疑義期間とすることを、不正疑義期間の判定基準として決定する。
【０１１３】
なお判定基準学習部１６４は、特異値が閾値以上の操作項目、即ち、不正行為期間と不正行為をしてない期間とで統計量に顕著な差がでる操作項目を特定し、特定した操作項目の特異値の和を不正疑義期間の判定に用いてもよい。この場合、判定基準学習部１６４は、例えば、操作ログ記憶部１２０内の特定された操作項目の値の統計量とユーザ個人の平常時の統計量との差を特定された操作項目に計算した場合における、統計量の差の和が、特定された操作項目それぞれの特異値の和を上回っている期間を、不正疑義期間とすることを、不正疑義期間の判定基準として決定する。
【０１１４】
［ステップＳ２０９］判定基準学習部１６４は、決定した不正疑義期間の判定基準を、判定基準記憶部１４０に格納する。
［ステップＳ２１０］判定基準学習部１６４は、すべての操作項目を選択したか否かを判断する。すべての操作項目を選択済みの場合、処理をステップＳ２１１に進める。また判定基準学習部１６４は、未選択の操作項目があれば、処理をステップＳ２０２に進める。
【０１１５】
［ステップＳ２１１］判定基準学習部１６４は、ユーザを一人選択する。
［ステップＳ２１２］判定基準学習部１６４は、選択したユーザが、個人特性により不正疑義期間を判定できるか否か（適性の有無）を判定する。
【０１１６】
例えば判定基準学習部１６４は、選択したユーザに関して、各操作項目について、値の時間変化、特異値（不正行為者の場合のみ）などの統計量を、時間帯別に分析する。そして判定基準学習部１６４は、不正操作など普段と異なる操作と、該当操作項目の値との関連の有無、関連性の強弱を判断する。
【０１１７】
例えば、操作項目の値の時間変化の幅が普段から少ないユーザは、緊張状態になっても、該当操作項目の値は大きく変化しないものと予想される。そこで判定基準学習部１６４は、例えば操作項目の値の時間変化の幅が、予め設定された閾値以下となるような操作項目が所定数以上あるユーザは、個人特性による不正疑義期間の判定対象とする適性がないと判断する。このように、操作項目情報を分析することで、操作ログに基づく個人特性による不正疑義期間の判定が容易な人と、判定が困難な人が識別される。
【０１１８】
このとき、判定基準学習部１６４は、操作項目ごとの１日のデータ数、最大値、最小値、平均値、中央値、分散、標準偏差、全体の分布の統計量を算出して、中心部分にくる個人特性結果のみを採用してもよい。例えば判定基準学習部１６４は、各操作項目の複数の値のうち、例えば平均値から３σ（標準偏差の３倍）以上、離れた値を除外して、適性の有無を判定する。
【０１１９】
［ステップＳ２１３］判定基準学習部１６４は、個人特性記憶部１３０に、選択したユーザが適性を有するか否かについての判定結果を格納する。
［ステップＳ２１４］判定基準学習部１６４は、すべてのユーザを選択したか否かを判断する。判定基準学習部１６４は、すべてのユーザが選択済みであれば、判定基準学習処理を終了する。また判定基準学習部１６４は、未選択のユーザが存在する場合、処理をステップＳ２１１に進める。
【０１２０】
このようにして、不正疑義期間の判定基準が判定基準記憶部１４０に設定されると共に、各ユーザについて、個人特性により不正疑義期間を判定できるかどうかの適性の有無が個人特性記憶部１３０に設定される。そして、個人特性記憶部１３０と判定基準記憶部１４０とに格納された情報を用いて、不正疑義期間判定処理が行われる。
【０１２１】
図１７は、不正疑義期間判定処理の手順の一例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ３０１］不正疑義期間判定部１６５は、ユーザを１人選択する。
【０１２２】
［ステップＳ３０２］不正疑義期間判定部１６５は、選択したユーザが個人特性により不正疑義期間を判定する対象としての適性があるか否かを判断する。例えば不正疑義期間判定部１６５は、個人特性記憶部１３０を参照し、選択したユーザの適性判定結果が「適性あり」と設定されていれば、個人特性により不正疑義期間を判定する対象としての適性があると判断する。不正疑義期間判定部１６５は、適性がある場合、処理をステップＳ３０３に進める。また不正疑義期間判定部１６５は、適性がない場合、処理をステップＳ３０９に進める。
【０１２３】
［ステップＳ３０３］不正疑義期間判定部１６５は、選択したユーザの操作ログを、操作ログ記憶部１２０から読み込む。
［ステップＳ３０４］不正疑義期間判定部１６５は、未選択の操作項目を１つ選択する。
【０１２４】
［ステップＳ３０５］不正疑義期間判定部１６５は、選択したユーザの操作ログにおける、選択した操作項目に関するレコードと、選択した操作項目の判定基準とを比較し、判定基準を満たしている操作が行われた期間（操作項目別不正疑義期間）を特定する。例えば不正疑義期間判定部１６５は、判定基準を満たしている操作が所定時間以下の間隔で連続して行われた場合、連続して行われた操作それぞれのログ出力時刻を包含する期間を、操作項目別不正疑義期間とする。
【０１２５】
［ステップＳ３０６］不正疑義期間判定部１６５は、すべての操作項目を選択したか否かを判断する。不正疑義期間判定部１６５は、すべての操作項目が選択済みの場合、処理をステップＳ３０７に進める。また不正疑義期間判定部１６５は、未選択の操作項目がある場合、処理をステップＳ３０４に進める。
【０１２６】
［ステップＳ３０７］不正疑義期間判定部１６５は、所定数以上（例えば全操作項目の半数以上）の操作項目別不正疑義期間において重複する期間を特定し、例えば特定した期間の前後のそれぞれ１５分間を加えた期間を、選択したユーザの不正疑義期間と判定する。
【０１２７】
［ステップＳ３０８］不正疑義期間判定部１６５は、選択したユーザの不正疑義期間内で検知されている不正操作情報の警告レベルを上げる。例えば不正疑義期間判定部１６５は、不正操作検知結果記憶部１５０内の不正操作検知結果ファイル１５１から、選択したユーザの不正疑義期間内で検知されている不正操作情報を示すレコードを抽出する。そして不正疑義期間判定部１６５は、抽出したレコードの警告レベルを「緊急確認」に変更し、不正操作検知結果ファイル１５１に書き戻す。なお、警告レベル「緊急確認」は、警告レベル「注意」よりも高いレベルの警告である。
【０１２８】
［ステップＳ３０９］不正疑義期間判定部１６５は、すべてのユーザを選択したか否かを判断する。不正疑義期間判定部１６５は、すべてのユーザが選択済みの場合、不正疑義期間判定処理を終了する。また不正疑義期間判定部１６５は、未選択のユーザが存在する場合、処理をステップＳ３０１に進める。
【０１２９】
なお不正疑義期間判定部１６５は、ステップＳ３０４において、選択する操作項目を、図１６のステップＳ２０２において求めた特異値が閾値以上の操作項目に絞ってもよい。この場合、不正疑義期間判定部１６５は、ステップＳ３０５の処理に代えて、選択したユーザの操作ログにおける、選択された操作項目に関する所定の判定期間内のレコード内の値の統計量を計算する。次に不正疑義期間判定部１６５は、計算した統計量と、選択したユーザの選択した操作項目の平常時の統計量との差を計算する。判定期間は、例えば操作ログ収集期間を一定時間単位で分割して得られる複数の期間である。
【０１３０】
また不正疑義期間判定部１６５は、選択する操作項目を特異値が閾値以上の操作項目に絞った場合、ステップＳ３０７の処理に代えて、選択した操作項目ごとに計算した判定期間それぞれの統計量の差を用いて、不正疑義期間を判定する。例えば不正疑義期間判定部１６５は、判定期間ごとに、選択した操作項目それぞれで算出した該当判定期間の統計量の差を合計する。また不正疑義期間判定部１６５は、特異値が閾値以上の操作項目それぞれの特異値の和を計算する。そして不正疑義期間判定部１６５は、判定期間の統計量の差の合計が、特異値の和以上となっていた場合、その判定期間を、選択したユーザの不正疑義期間と判定する。
【０１３１】
このようにして、例えばユーザが緊張状態にある時間帯が不正疑義期間として特定され、その不正疑義期間内に行われた、不正検知シナリオに沿った不正操作を示すレコードについては、高い警告レベルに変更される。そして不正操作検知結果出力部１６６により、不正操作検知結果が可視化され、可視化された不正操作検知結果がモニタ２１に表示される。
【０１３２】
図１８は、不正操作検知結果の表示例を示す図である。不正操作検知結果表示画面５０には、例えば特定のユーザの操作項目ごとの値の時間変化が表示される。図１８の例では、マウスクリック時間の時間変化が示されている。また、不正操作検知結果表示画面５０には、例えばアクティブとなっているアプリケーションソフトウェアの時系列変化が表示される。
【０１３３】
そして不正操作検知結果表示画面５０には、検知された不正操作のリストが表示される。不正操作のリストには、検知された不正操作についての警告レベルと検知時間帯とが表示される。表示された不正操作のうち、該当ユーザの不正疑義期間内に行われた不正操作は、警告レベル「緊急確認」となっている。警告レベル「緊急確認」の不正操作は、例えば他の不正操作とは異なる色などで強調表示される。
【０１３４】
このようにして、不正操作に過剰指摘が含まれ、大量の不正操作が検知された場合であっても、不正行為が実際に行われた可能性が高い不正操作の見落としを抑止することができる。その結果、不正行為の発見の遅延が抑止される。
【０１３５】
実際に、２４名のユーザの１週間分の通常業務の操作ログ情報を取得し、それらのユーザに、予め設定した内容の疑似不正操作を任意の時間に実施させて、不正疑義期間の判定基準を学習した。その後、特定の疑似不正操作日を指定して一部のユーザに疑似不正を行わせ、不正検知装置１００により、検知された不正操作の絞り込みを行った。その結果、疑似不正操作日の１日で検知された１３人分の計７２回の不正操作のうち、２４回分の不正操作が不正疑義期間外（過剰指摘）であると判定された。これは、１３人分で全２４回の過剰アラートが抑止されたことを意味する。しかも、再現率は変わらず１００％を維持できた。すなわちユーザが行った疑似不正操作が不正操作として検知され、疑似不正操作を行った期間は、そのユーザの不正疑義期間として特定された。
【０１３６】
しかも、個人特性により不正疑義期間の判定を行うための適性がないユーザに関して検知された不正操作については、過剰指摘の削減対象としないため、過剰指摘の不適切な削減によって再現率が低下されることが抑止されている。
【０１３７】
〔その他の実施の形態〕
第２の実施の形態では、個人特性により不正操作の有無の判別対象とする適性のあるユーザに対してのみ、個人特性を用いた不正操作の過剰指摘抑止処理を適用している。このような適性の有無を、ユーザごとではなく、例えば時間帯ごとに判別してもよい。例えば不正検知装置１００は、就業時間、残業時間、休憩時間に分けて、個人特性により不正操作の有無の判別対象とする適性の有無を判別することができる。そして不正検知装置１００は、適性があると判別できた時間帯についてのみ、個人特性を用いた不正操作の過剰指摘抑止処理を適用する。
【０１３８】
不正検知装置１００は、各操作項目が不正疑義期間の判定に利用できるか否かについて、操作ログを、時間帯を分けて分析（就業時間、残業時間、休憩時間）することもできる。
【０１３９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１４０】
１  ユーザ
２  端末装置
３  操作ログ
４  不正操作表示画面
１０  不正検知装置
１１  記憶部
１１ａ  差異情報
１１ｂ  特徴情報
１２  処理部
【図１】
2019121215.tif 000003
【図２】
2019121215.tif 000004
【図３】
2019121215.tif 000005
【図４】
2019121215.tif 000006
【図５】
2019121215.tif 000007
【図６】
2019121215.tif 000008
【図７】
2019121215.tif 000009
【図８】
2019121215.tif 000010
【図９】
2019121215.tif 000011
【図１０】
2019121215.tif 000012
【図１１】
2019121215.tif 000013
【図１２】
2019121215.tif 000014
【図１３】
2019121215.tif 000015
【図１４】
2019121215.tif 000016
【図１５】
2019121215.tif 000017
【図１６】
2019121215.tif 000018
【図１７】
2019121215.tif 000019
【図１８】
2019121215.tif 000020