(57)【要約】【課題】異常な作業の検出を効率良く行う異常検出プログラム、異常検出装置及び異常検出方法を提供する。【解決手段】コンピュータのシステム資源に対するアクセス情報に基づき、コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントをプロセス毎に対応付けた対応情報を生成し、プロセスが実行される作業毎に、対応情報を参照し、作業に対応するプロセスに対応付けられたイベントから、作業を識別する作業識別情報を生成して記憶部に蓄積し、コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、第１作業から生成された作業識別情報が、記憶部に蓄積された第１プロセスに関する作業識別情報と異なる場合、第１作業について異常の判定を行う。【選択図】図５
2016224871.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
該コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成し、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積し、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う、
処理を実行させることを特徴する異常検出プログラム。
【請求項２】
請求項１において、
前記システム資源は、情報の入力を受け付ける入力装置と、前記コンピュータ上で動作するアプリケーションと、前記コンピュータ上で動作するオペレーティングシステムとを含み、
前記イベントは、前記入力装置に対する情報の入力に応じて実行されるプロセスの実行に伴って生じる第１イベントと、前記アプリケーションに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じる第２イベントと、前記オペレーティングシステムに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じる第３イベントとを含み、
前記作業識別情報は、前記第１イベントから生成される第１作業識別情報と、前記第２イベントから生成される第２作業識別情報と、前記第３イベントから生成される第３作業識別情報とを含む、
ことを特徴とする異常検出プログラム。
【請求項３】
請求項１において、さらに、
前記第１作業から生成された作業識別情報に含まれる情報と、前記記憶部に蓄積された各作業識別情報に含まれる情報との一致度である第１の値をそれぞれ算出し、
前記異常の判定を行う処理では、算出した前記第１の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出プログラム。
【請求項４】
請求項３において、
前記第１の値を算出する処理では、さらに、算出した前記第１の値に対し、前記第１作業から生成された作業識別情報と同じ内容の作業識別情報が過去に生成された回数に応じた補正係数を乗算した第２の値をそれぞれ算出し、
前記異常の判定を行う処理では、算出した前記第２の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出プログラム。
【請求項５】
請求項３において、さらに、
前記記憶部に蓄積された作業識別情報と同じ内容の作業識別情報が前回生成された第１日時が所定の日時よりも前である場合、前記第１日時が前記所定の日時よりも後である場合よりも低い値を、前記所定の閾値として決定する、
ことを特徴とする異常検出プログラム。
【請求項６】
請求項４において、
前記作業識別情報に含まれる情報は、所定の規則に基づいて変換されたビット列である、
ことを特徴とする異常検出プログラム。
【請求項７】
コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成する対応情報生成部と、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積する作業識別情報生成部と、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う処理部と、を有する、
ことを特徴とする異常検出装置。
【請求項８】
コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成し、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積し、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う、
処理を実行させることを特徴する異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出プログラム、異常検出装置及び異常検出方法に関する。
【背景技術】
【０００２】
企業や組織におけるセキュリティの管理を行う者（以下、単に作業者とも呼ぶ）は、ウィルス定義ファイルによるコンピュータウィルスの検出、検疫及び駆除だけでなく、コンピュータウィルス以外のマルウェアによる活動を検出し、拡散の防止等を行う。
【０００３】
マルウェアは、コンピュータウィルスを含む悪意のあるソフトウェアの総称である。具体的に、マルウェアは、例えば、企業や組織で使用される端末（以下、管理対象端末とも呼ぶ）に感染し、外部からの不正アクセスを可能にさせるための活動を行う。
【０００４】
そのため、作業者は、管理対象端末へのマルウェアの感染の検出のみでなく、例えば、管理対象端末を利用した不正アクセス（以下、異常な作業とも呼ぶ）についても検出する必要がある（例えば、特許文献１乃至３）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１８２０１９号公報
【特許文献２】国際公開第２００６／０３５９２８号
【特許文献３】特表２０１０−５１２０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のような作業者は、例えば、管理対象端末から出力されるログ（以下、イベントログとも呼ぶ）の解析を行うことにより、管理対象端末を利用した不正アクセス等の検出を行う。
【０００７】
しかしながら、管理対象端末から出力されたログを解析するためには、正常なアクセスに関するログを含めた全てのアクセスに関するログを保存しておく必要がある。そのため、作業者は、不正アクセスの検出を行うために、大量のログの保存を行う必要がある。
【０００８】
また、上記のような大量のログの解析には、膨大な時間を要する場合がある。そのため、作業者は、この場合、管理対象端末を利用した不正アクセスの検出をリアルタイムで行うことができない。
【０００９】
そこで、一つの側面では、異常な作業の検出を効率良く行うことを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一つの態様によれば、コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成し、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積し、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う。
【発明の効果】
【００１１】
一つの側面によれば、異常な作業の検出を効率良く行う。
【図面の簡単な説明】
【００１２】
【図１】情報処理システム１０の全体構成を説明する図である。
【図２】作業者端末２へのマルウェアの感染の具体例を説明する図である。
【図３】情報処理装置１のハードウエア構成を説明する図である。
【図４】図３の情報処理装置１の機能ブロック図である。
【図５】第１の実施の形態における異常検出処理の概略を説明するフローチャート図である。
【図６】第１の実施の形態における異常検出処理の概略を説明するフローチャート図である。
【図７】第１の実施の形態における異常検出処理の概略を説明する図である。
【図８】第１の実施の形態における異常検出処理の詳細を説明するフローチャート図である。
【図９】第１の実施の形態における異常検出処理の詳細を説明するフローチャート図である。
【図１０】第１の実施の形態における異常検出処理の詳細を説明するフローチャート図である。
【図１１】第１の実施の形態における異常検出処理の詳細を説明するフローチャート図である。
【図１２】第１イベントの具体例を説明する図である。
【図１３】第２イベントの具体例を説明する図である。
【図１４】第３イベントの具体例を説明する図である。
【図１５】第１対応情報１３１ａの具体例を説明する図である。
【図１６】第２対応情報１３１ｂの具体例を説明する図である。
【図１７】第３対応情報１３１ｃの具体例を説明する図である。
【図１８】第１作業識別情報１３２ａの具体例を説明する図である。
【図１９】第１集約情報１３５ａの具体例を説明する図である。
【図２０】第１作業識別情報１３２ａの「ビット列」に設定される情報を決定するグラフである。
【図２１】第１作業識別情報１３２ａの「ビット列」に設定される情報を決定するグラフである。
【図２２】第１作業識別情報１３２ａの「ビット列」に設定する情報の具体例を説明する図である。
【図２３】第２作業識別情報１３２ｂの具体例を説明する図である。
【図２４】第２集約情報１３５ｂの具体例を説明する図である。
【図２５】第２作業識別情報１３２ｂの「ビット列」に設定される情報を決定するグラフである。
【図２６】第２作業識別情報１３２ｂの「ビット列」に設定される情報を決定するグラフである。
【図２７】第２作業識別情報１３２ｂに対応するビット列の具体例を説明する図である。
【図２８】第３作業識別情報１３２ｃの具体例を説明する図である。
【図２９】特徴点情報１３６の具体例について説明する図である。
【図３０】補正係数情報１３７の具体例について説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を説明する図である。図１に示す情報処理システム１０は、情報処理装置１（以下、コンピュータ１または異常検出装置１とも呼ぶ）と、作業者端末２ａ、２ｂ及び２ｃ（以下、これらを総称して作業者端末２または入力装置２とも呼ぶ）とを有する。
【００１４】
情報処理装置１では、例えば、利用者に対してサービスを提供する事業者が構築した業務システム（図１の点線部分）が動作する。具体的に、図１に示す業務システムは、例えば、アプリケーションやオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）を連携して動作させることにより、利用者に対してサービスを提供する。
【００１５】
また、作業者端末２は、作業者が操作可能な端末である。そして、作業者は、作業者端末２を介して情報処理装置１にアクセスすることにより、業務システムのメンテナンス作業等を行う。具体的に、作業者は、情報処理装置１にアクセスし、業務システムの動作に関する動作情報の取得や、ファイルの作成または削除等の作業を行う。なお、作業者は、情報処理装置１を直接操作することにより、業務システムのメンテナンス作業等を行うものであってもよい。
【００１６】
さらに、情報処理装置１は、例えば、業務システムの動作に伴って出力されるログを蓄積するための記憶部１ａを有する。具体的に、記憶部１ａは、例えば、情報処理装置１に対するアクセスがあった場合に、業務システムから出力されるログを蓄積する。また、記憶部１ａは、例えば、それぞれ業務システムの一部として動作するアプリケーションやＯＳの動作に伴って出力されるログを蓄積する。
【００１７】
［作業者端末へのマルウェアの感染］
次に、作業者端末２へのマルウェアの感染について説明する。図２は、作業者端末２へのマルウェアの感染の具体例を説明する図である。
【００１８】
図２に示す情報処理システム１０は、図１で説明した情報処理装置１及び作業者端末２に加え、ネットワークＮＷ（例えば、インターネット網）を介して作業者端末２と接続するファイアーウォール装置３を有する。
【００１９】
ファイアーウォール装置３は、外部端末１１からのアクセスを制限する装置である。具体的に、ファイアーウォール装置３は、例えば、外部端末１１から送信されたメール等を監視し、マルウェア等のウィルスに感染しているか否かを判定する。そして、ファイアーウォール装置３は、外部端末１１から送信されたメール等がウィルスに感染していると判定した場合、そのメールの宛先（例えば、作業者端末２等）に送信することなく破棄する。
【００２０】
しかしながら、近年、マルウェアの種類は増加の一途を辿っており、メールの添付ファイルに含まれるマルウェア等、一見すると問題がないように見えるものも存在する。そのため、ファイアーウォール装置３は、例えば、外部端末１１から送信されたメールに添付されたマルウェアを検出することができず、メールの宛先（図２に示す例においては作業者端末２ｃ）に送信する場合がある。そして、この場合、外部端末１１からのメールを受信した作業者端末２ｃは、例えば、作業者がメールに添付されているファイルを開いた際に、マルウェアに感染する。
【００２１】
その後、マルウェアが添付されたメールを送信した者（以下、攻撃者とも呼ぶ）は、図２に示すように、例えば、マルウェアに感染した作業者端末２ｃを踏み台にして、情報処理装置１に対して不正アクセスを行う。これにより、攻撃者は、例えば、業務システムで管理している秘密情報の取得等を行う。
【００２２】
そのため、作業者は、例えば、情報処理装置１に対して行われる不正アクセスの検出を行う必要がある。具体的に、作業者は、記憶部１ａに出力されたログ（例えば、作業者端末２を介して行われたアクセスに関するログ）の解析を行う。これにより、作業者は、情報処理装置１に対する不正アクセスが行われたことを検出することが可能になる。
【００２３】
しかしながら、作業者は、情報処理装置１から出力されたログを解析するために、正常なアクセスに関するログを含めた全てのアクセスに関するログを保存しておく必要がある。そのため、作業者は、不正アクセスの検出を行うために、大量のログの保存を行う必要がある。
【００２４】
また、上記のような大量のログの解析には、膨大な時間を要する場合がある。そのため、作業者は、この場合、情報処理装置１に対する不正アクセスの検出をリアルタイムで行うことができない。
【００２５】
さらに、マルウェアに感染した作業者端末２は、正規のユーザが操作する作業者端末２と同様の動作（例えば、システムリソースへのアクセス）を行う場合がある。そのため、作業者は、ログの分析によって不正アクセスの検出を行うことができない場合がある。
【００２６】
そこで、本実施の形態では、情報処理装置１は、情報処理装置１上で実行されるプロセス毎に対応付けたイベントの対応情報に基づき、各プロセスを実行に伴う作業を識別する作業識別情報を作成（生成）して記憶部１ａに蓄積する。そして、情報処理装置１は、新たな作業（以下、第１作業とも呼ぶ）が行われた場合において、第１作業から作成した作業識別情報が記憶部１ａに蓄積されている作業識別情報と異なる場合、第１作業について異常の判定を行う。
【００２７】
すなわち、正規の作業者（情報処理装置１に対する作業の実行を許可されている作業者）は、例えば、作業者端末２において、情報処理装置１のプロセスを実行するための作業を予め行う。そして、情報処理装置１は、正規の作業者が作業を行うことによって発生するイベントに基づいてプロセス毎の対応情報を作成する。さらに、情報処理装置１は、作成した対応情報に基づき、正規の作業者によって行われた作業を識別する作業識別情報を記憶部１ａに蓄積する。
【００２８】
その後、情報処理装置１に対して第１作業が行われた場合、第１作業から作成した作業識別情報（以下、新たな作業識別情報とも呼ぶ）と、記憶部１ａに予め蓄積されている作業識別情報とを比較する。そして、第１作業から作成した新たな作業識別情報と同じ内容の作業識別情報が記憶部１ａに蓄積されている場合、情報処理装置１は、第１作業を行った者が正規の作業者であると判定する。一方、第１作業から作成した新たな作業識別情報と同じ内容の新たな作業識別情報が記憶部１ａに蓄積されていない場合、情報処理装置１は、第１作業を行った者が正規の作業者ではないと判定する。
【００２９】
これにより、情報処理装置１は、情報処理装置１に対して行われた作業のうち、異常な作業（例えば、情報処理装置１に対する不正アクセス）である可能性がある作業の検出を行うことが可能になる。そして、作業者は、検出した作業について詳細な調査を行うことが可能になる。
【００３０】
［管理装置のハードウエア構成］
次に、情報処理システム１０の構成について説明する。図３は、情報処理装置１のハードウエア構成を説明する図である。
【００３１】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００３２】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、異常な作業の検出を行う処理（以下、異常検出処理とも呼ぶ）を行うためのプログラム１１０（以下、異常検出プログラム１１０とも呼ぶ）を記憶する。
【００３３】
ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して異常検出処理を行う。
【００３４】
記憶媒体１０４は、例えば、異常検出処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。また、外部インターフェース１０３は、作業者端末２と通信を行う。なお、情報格納領域１３０は、例えば、図１で説明した記憶部１ａに対応する。
【００３５】
[情報処理装置のソフトウェア構成]
次に、情報処理装置１のソフトウェア構成について説明する。図４は、図３の情報処理装置１の機能ブロック図である。ＣＰＵ１０１は、プログラム１１０と協働することにより、対応情報作成部１１１（以下、対応情報生成部１１１とも呼ぶ）と、作業識別情報作成部１１２（以下、作業識別情報生成部１１２とも呼ぶ）と、情報管理部１１３と、異常検出部１１４（以下、単に処理部１１４とも呼ぶ）と、一致度算出部１１５と、閾値情報作成部１１６として動作する。また、情報格納領域１３０には、対応情報１３１と、作業識別情報１３２と、一致度情報１３３と、閾値情報１３４と、集約情報１３５と、特徴点情報１３６と、補正係数情報１３７とが記憶されている。
【００３６】
対応情報作成部１１１は、対応情報１３１の作成を行う。対応情報１３１は、情報処理装置１上で実行される複数のプロセスの実行に伴って生じるイベントを、プロセス毎に対応付けることによって作成された情報である。対応情報１３１は、例えば、情報処理装置１のシステム資源（例えば、情報の入力を受け付ける作業者端末２、情報処理装置上で動作するアプリケーション及びＯＳ）に対するアクセスが発生したことを示す情報（以下、アクセス情報とも呼ぶ）から作成される。
【００３７】
情報処理装置１上で実行されるプロセスには、例えば、情報処理装置１で動作するＯＳに対して新たなファイルの作成を指示する旨の入力があった場合に実行されるプロセス等が該当する。
【００３８】
また、プロセスの実行に伴って生じるイベントは、例えば、業務システム上の状態変化を引き起こすために発生した事象（契機）である。具体的に、イベントには、ＯＳの機能を呼び出すためのシステムコール、入力装置２による入力の受け付け、または、プロセス間において発生する通知等が該当する。対応情報１３１の具体例については後述する。
【００３９】
作業識別情報作成部１１２は、プロセスが実行される作業を識別する情報である作業識別情報１３２の作成を行う。この作業は、例えば、業務システムに所定の処理を実行させるために必要な操作（作業者が入力装置２を介して行う操作）をグループ化したものである。具体的に、作業識別情報作成部１１２は、対応情報作成部１１１が作成した対応情報１３１を参照し、各作業に対応するプロセスに対応付けられたイベントから、プロセスが実行される作業毎の作業識別情報１３２を作成する。作業識別情報１３２の具体例については後述する。
【００４０】
情報管理部１１３は、作業識別情報作成部１１２が作成した作業識別情報１３２を情報格納領域１３０に記憶する。また、情報管理部１１３は、例えば、対応情報作成部１１１が作成した対応情報１３１を情報格納領域１３０に記憶する。
【００４１】
異常検出部１１４は、情報処理装置１上で実行されるプロセス（以下、第１プロセスとも呼ぶ）が実行される第１作業が行われるまで待機する。そして、異常検出部１１４は、第１作業が行われた場合、第１作業から作成された新たな作業識別情報が、情報格納領域１３０に蓄積された作業識別情報１３２のうち、第１プロセスに関する作業識別情報１３２と異なるか否かを判定する。その結果、新たな作業識別情報と、情報格納領域１３０に蓄積された作業識別情報１３２とが異なる場合、異常検出部１１４は、第１作業を異常な作業であると判定する。すなわち、この場合、異常検出部１１４は、第１作業が攻撃者によって行われた作業である可能性があるものとして検出する。なお、異常検出部１１４は、第１作業が行われた場合、例えば、対応情報作成部１１１及び作業識別情報作成部１１２に処理を実行させることにより、新たな作業識別情報を作成するものであってよい。
【００４２】
一致度算出部１１５は、異常検出部１１４が作成した新たな作業識別情報に含まれる情報と、情報格納領域１３０に蓄積された作業識別情報１３２に含まれる情報との一致度情報１３３（以下、第１の値とも呼ぶ）をそれぞれ算出する。そして、異常検出部１１４は、一致度算出部１１５が算出した一致度情報１３３が所定の閾値（以下、閾値情報１３４とも呼ぶ）未満である場合、第１作業について異常の判定を行う。一致度情報１３３の具体例については後述する。なお、この場合、情報管理部１１３は、例えば、一致度算出部１１５が算出した一致度情報１３３を情報格納領域１３０に記憶する。
【００４３】
閾値情報作成部１１６は、閾値情報１３４を決定する。具体的に、閾値情報作成部１１６は、例えば、情報格納領域１３０に蓄積された作業識別情報１３２と同じ内容の作業識別情報が前回作成された日時（以下、第１の日時とも呼ぶ）が、所定の日時（例えば、現在の日時の１ヶ月前）よりも前の日時であるか否かを判定する。そして、閾値情報作成部１１６は、第１の日時が所定の日時よりも前の日時である場合、第１の日時が所定の日時よりも後である場合よりも低い値を閾値情報１３４として決定する。閾値情報１３４の具体例については後述する。
【００４４】
なお、集約情報１３５、特徴点情報１３６及び補正係数情報１３７の説明については後述する。
【００４５】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図５及び図６は、第１の実施の形態における異常検出処理の概略を説明するフローチャート図である。また、図７は、第１の実施の形態における異常検出処理の概略を説明する図である。図７を参照しながら図５及び図６の異常検出処理の概略を説明する。
【００４６】
[作業識別情報１３２を情報格納領域１３０に蓄積する際の処理]
初めに、作業識別情報１３２を情報格納領域１３０に蓄積する際の処理について説明する。情報処理装置１は、図５に示すように、情報作成タイミングまで待機する（Ｓ１のＮＯ）。情報作成タイミングは、例えば、異常な作業の検出を開始するよりも前のタイミングである。すなわち、情報処理装置１は、後述する異常な作業の検出を開始する前に、正規な作業者による作業に基づいて作業識別情報１３２を作成し、情報格納領域１３０に記憶する。
【００４７】
そして、情報取得タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、情報処理装置１上で実行されるプロセスの実行に伴って生じるイベントを、プロセス毎に対応付けた対応情報１３１を作成する（Ｓ２）。次に、情報処理装置１は、情報処理装置１上でプロセスを実行するための作業毎に、Ｓ２で作成した対応情報１３１を参照し、各作業に対応するプロセスに対応付けられたイベントから、作業識別情報１３２を作成する（Ｓ３）。その後、情報処理装置１は、図７に示すように、作成した作業識別情報１３２を情報格納領域１３０に蓄積する（Ｓ４）。
【００４８】
すなわち、作業者端末２に対して行われる作業（操作）の特性は、作業を行う者（作業者及び攻撃者を含む）によって異なる。具体的に、例えば、作業者端末２に対して作業を行う際に、キーボードのショートカットキーを頻繁に使用する者と全く使用しない者とが存在する。また、プロセスの実行に伴って生じるイベントには、作業者端末２に対して行われた作業内容や作業時間に関する情報が含まれる。そのため、正規の作業者は、作業者端末２において、情報処理装置１のプロセスを実行するための作業を予め行う。そして、情報処理装置１は、正規の作業者による作業の実行に伴って発生したイベントに基づいて作業識別情報１３２を作成し、予め情報格納領域１３０に蓄積する。
【００４９】
これにより、第１作業が行われた場合において、その第１作業から作成される新たな作業識別情報と同じ内容の作業識別情報が情報格納領域１３０に蓄積されていない場合、情報処理装置１は、第１作業が攻撃者によって行われた可能性があると判定することが可能になる。そのため、情報処理装置１は、この場合、第１作業について詳細な調査を行うことが可能になる。
【００５０】
また、情報処理装置１は、例えば、各作業を識別するために必要な情報のみに基づいて作業識別情報１３２を作成する。そのため、情報処理装置１は、第１作業を行った者が正規の作業者であるか否かの判定を行う際に、処理時間を短縮させることが可能になる。したがって、情報処理装置１は、第１作業が行われた場合に、例えば、第１作業を行った者が正規の作業者であるか否かの判定をリアルタイムに行うことが可能になる。
【００５１】
[第１作業に対して異常判定を行うか否かを決定する際の処理]
次に、第１作業に対して異常判定を行うか否かを決定する際の処理について説明を行う。情報処理装置１は、図６に示すように、第１作業が行われるまで待機する（Ｓ１１のＮＯ）。
【００５２】
そして、第１作業が行われた場合（Ｓ１１のＹＥＳ）、情報処理装置１は、図７に示すように、第１作業から作成された作業識別情報が、情報格納領域１３０に記憶された作業識別情報１３２のうち、第１プロセスに関する作業識別情報に含まれているか否かを判定する（Ｓ１２）。具体的に、情報処理装置１は、例えば、第１作業が行われた場合、図５のＳ２及びＳ３で説明した処理を行うことにより、新たな作業識別情報を作成する。そして、情報処理装置１は、例えば、情報格納領域に記憶された作業識別情報１３２に含まれる情報と、新たな作業識別情報に含まれる情報とを比較することにより、Ｓ１２の処理を行う。
【００５３】
続いて、新たな作業識別情報と同じ内容の作業識別情報が情報格納領域１３０に蓄積されていない場合（Ｓ１２のＮＯ）、情報処理装置１は、第１作業について異常な作業であるか否かの判定を行うことを決定する（Ｓ１３）。すなわち、この場合、情報処理装置１は、第１作業の特性が、正規の作業者によって予め行われた作業の特性と異なるものであると判定する。そのため、情報処理装置１は、第１作業が正規の作業者ではない者（例えば、攻撃者）によって行われた作業（異常な作業）である可能性があると判定することが可能にある。
【００５４】
一方、新たな作業識別情報と同じ内容の作業識別情報が情報格納領域１３０に蓄積されている場合（Ｓ１２のＮＯ）、情報処理装置１は、第１作業について異常な作業であるか否かの判定を行わないことを決定する（Ｓ１４）。すなわち、この場合、情報処理装置１は、第１作業が正規の作業者によって行われた作業であると判定する。Ｓ１２の処理の具体例については後述する。
【００５５】
このように、第１の実施の形態によれば、情報処理装置１は、情報処理装置１のシステム資源に対するアクセス情報に基づき、情報処理装置１上で実行される複数のプロセスの実行に伴って生じるイベントをプロセス毎に対応付けた対応情報１３１を作成する。そして、情報処理装置１は、各プロセスが実行される作業毎に、対応情報１３１を参照し、各作業に対応するプロセスに対応付けられたイベントから、各作業を識別する作業識別情報１３２を作成して情報処理装置１３０に蓄積する。
【００５６】
その後、情報処理装置１は、情報処理装置１上で実行される第１プロセスを実行する第１作業が行われた場合に、第１作業から作成された作業識別情報が、蓄積された第１プロセスに関する作業識別情報１３２と異なる場合、第１作業についての異常の判定を行う。
【００５７】
これにより、情報処理装置１は、情報処理装置１に対して行われた第１作業のうち、異常な作業である可能性がある作業の検出を行うことが可能になる。そして、作業者は、例えば、検出した作業について詳細な調査を行うことが可能になる。
【００５８】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図８から図１１は、第１の実施の形態における異常検出処理の詳細を説明するフローチャート図である。また、図１２から図３０は、第１の実施の形態における異常検出処理の詳細を説明する図である。図１２から図３０を参照しながら、図８から図１１の異常検出処理を説明する。
【００５９】
[作業識別情報１３２を情報格納領域１３０に蓄積する際の処理]
初めに、作業識別情報１３２を情報格納領域１３０に蓄積する際の処理について説明する。情報処理装置１の対応情報作成部１１１は、図８に示すように、情報作成タイミングまで待機する（Ｓ２１のＮＯ）。そして、情報取得タイミングになった場合（Ｓ２１のＹＥＳ）、対応情報作成部１１１は、第１イベントと、第２イベントと、第３イベントとをプロセス毎にそれぞれ対応付けた対応情報１３１を作成する（Ｓ２２）。以下、第１イベント、第２イベント及び第３イベントについて説明を行う。なお、以下、第１イベント、第２イベント及び第３イベントは、対応情報作成部１１１等によって既に取得され、情報格納領域１３０に蓄積されているものとして説明を行う。
【００６０】
第１イベントは、例えば、作業者端末２に対する情報の入力に応じて実行されるプロセスの実行に伴って生じるイベントである。具体的に、第１イベントは、例えば、作業者が情報格納領域１３０にアクセスするために、作業者端末２のキーボードやマウスによって情報を入力した際に生じるイベントである。
【００６１】
また、第２イベントは、例えば、情報処理装置１上で動作するアプリケーションに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じるイベントである。具体的に、第２イベントは、例えば、作業者が作業者端末２を介して情報を入力したことに応じて、アプリケーションが処理の実行を依頼するためのコマンドをＯＳに送信した際に生じるイベントである。
【００６２】
さらに、第３イベントは、例えば、情報処理装置１上で動作するＯＳに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じるイベントである。具体的に、第３イベントは、例えば、アプリケーションから受信したコマンドに基づく処理をＯＳが実行した際に生じるイベントである。
【００６３】
[第１イベント、第２イベント及び第３イベントの具体例]
次に、第１イベント、第２イベント及び第３イベントの具体例について説明を行う。
【００６４】
図１２は、第１イベントに含まれる情報の具体例を説明する図である。図１２に示す第１イベントは、第１イベントに含まれる各情報を識別するための「データＩＤ」と、情報が入力されたデバイス（作業者端末２のデバイス）を識別するための「デバイス」とを項目として有する。また、図１２に示す第１イベントは、作業者がデバイスを介して行った操作を識別するための「操作」と、作業者端末２の表示装置（図示しない）上におけるマウスのカーソル位置を示す「カーソル位置」とを項目として有する。さらに、図１２に示す第１イベントは、第１イベントに含まれる各情報に対応する操作が行われた時間を示す「発生時間」を項目として有する。
【００６５】
具体的に、図１２に示す第１イベントにおいて、「データＩＤ」が「１」である情報は、「デバイス」が「マウス」であり、「操作」が「カーソル移動」であり、「カーソル位置」が「１５，２５８」であり、「発生時間」が「０９：２０：１２：３５１」である。また、図１２に示す第１イベントにおいて、「データＩＤ」が「２」である情報は、「デバイス」が「マウス」であり、「操作」が「カーソル移動」であり、「カーソル位置」が「１６０，１３５」であり、「発生時間」が「０９：２０：１２：３７０」である。なお、「デバイス」が「マウス」である場合における第１イベントは、作業者がマウスによる入力を開始したとき及び終了したときに出力されるものであってよい。すなわち、作業者がマウスによって表示装置上のカーソルを移動させた場合、情報処理装置１は、カーソルの移動を開始するとき及びカーソルの移動を終了するときに、第１イベントを出力するものであってよい。また、作業者がマウスの左ボタンを押下した場合、情報処理装置１は、マウスの左ボタンが押下されたとき及びマウスの左ボタンの押下が終了したときに、第１イベントを出力するものであってよい。
【００６６】
また、図１２に示す第１イベントにおいて、「データＩＤ」が「１１」である情報は、「デバイス」が「キーボード」であり、「操作」が「「ｌ」キーＯＮ」であり、「カーソル位置」がブランクであり、「発生時間」が「０９：２０：１４：２４１」である。「デバイス」が「キーボード」である場合における第１イベントは、例えば、いずれかのキーが１回押下される毎に出力されるものであってよい。図１２の他の情報については説明を省略する。
【００６７】
次に、第２イベントの具体例について説明を行う。図１３は、第２イベントに含まれる情報の具体例を説明する図である。
【００６８】
図１３に示す第２イベントは、第２イベントに含まれる各情報を識別するための「データＩＤ」と、情報が入力されたデバイス（作業者端末２のデバイス）を識別するための「デバイス」とを項目として有する。また、図１３に示す第２イベントは、操作対象を識別するための「操作対象」と、操作の種別を識別するための「操作種別」と、第２イベントに含まれる各情報が出力された時間を示す「発生時間」を項目として有する。
【００６９】
具体的に、図１３に示す第２イベントにおいて、「データＩＤ」が「１」である情報は、「デバイス」が「マウス」であり、「操作対象」が「ファイル」であり、「操作種別」が「メニュー選択」であり、「発生時間」が「０９：２０：１２：５２２」である。すなわち、図１３に示す第２イベントにおける「データＩＤ」が「１」である情報は、例えば、作業者端末２の表示装置に表示されたメニューのうち、作業者が「ファイル」によって識別されるメニューを選択したことに対応する情報である。図１３の他の情報については説明を省略する。
【００７０】
次に、第３イベントの具体例について説明を行う。図１４は、第３イベントに含まれる情報の具体例を説明する図である。
【００７１】
図１４に示す第３イベントは、第３イベントに含まれる各情報を識別するための「データＩＤ」と、操作対象を識別するための「操作対象」と、操作の種別を識別するための「操作種別」と、第２イベントに含まれる各情報が出力された時間を示す「発生時間」を項目として有する。
【００７２】
具体的に、図１４に示す第３イベントにおいて、「データＩＤ」が「１」である情報は、「操作対象」が「ファイルＡ」であり、「操作種別」が「作成／オープン（作成及びオープン）」であり、「発生時間」が「０９：２０：１２：６０１」である。すなわち、図１４に示す第３イベントにおける「データＩＤ」が「１」である情報は、作業者による情報の入力に応じて、ファイルＡを作成するためのプロセス及びファイルＡをオープンするためのプロセスが実行されたことを示している。図１４の他の情報については説明を省略する。
【００７３】
[対応情報１３１の具体例]
次に、対応情報作成部１１１が対応情報１３１を作成する際の具体例について説明する。対応情報作成部１１１は、例えば、第１イベント、第２イベント及び第３イベントにそれぞれ含まれる各情報を、プロセス毎に分類することにより、第１イベント、第２イベント及び第３イベントにそれぞれに対応する対応情報１３１を作成する。以下、対応情報１３１は、第１イベントに対応する第１対応情報１３１ａと、第２イベントに対応する第２対応情報１３１ｂと、第３イベントに対応する第３対応情報１３１ｃとを含むものとして説明を行う。
【００７４】
初めに、第１対応情報１３１ａの具体例を説明する。図１５は、第１対応情報１３１ａの具体例を説明する図である。図１５に示す第１対応情報１３１ａは、第１対応情報１３１ａに含まれる各情報を識別する「データＩＤ」と、各作業を識別する「作業ＩＤ」と、各プロセスを識別する「プロセスＩＤ」とを項目として有する。また、図１５に示す第１対応情報１３１ａは、第１イベントに含まれる情報を識別する「第１イベント」を項目として有する。図１５に示す第１対応情報１３１ａにおける「第１イベント」に設定される情報は、図１２で説明した第１イベントにおける「データＩＤ」に設定された情報に対応する。
【００７５】
具体的に、図１５に示す第１対応情報１３１ａにおいて、「データＩＤ」が「１」である情報には、「作業ＩＤ」として「Ｓ００１」が設定され、「プロセスＩＤ」として「Ｐ００１」が設定されている。また、図１５に示す第１対応情報１３１ａにおいて、「データＩＤ」が「１」である情報には、「第１イベント」として「１，２，３，４，５，６」が設定されている。図１５の他の情報については説明を省略する。
【００７６】
次に、第２対応情報１３１ｂの具体例を説明する。図１６は、第２対応情報１３１ｂの具体例を説明する図である。図１６に示す第２対応情報１３１ｂは、第２対応情報１３１ｂに含まれる各情報を識別する「データＩＤ」と、各作業を識別する「作業ＩＤ」と、各プロセスを識別する「プロセスＩＤ」とを項目として有する。また、図１６に示す第２対応情報１３１ｂは、第２イベントに含まれる情報を識別する「第２イベント」を項目として有する。図１６に示す第２対応情報１３１ｂにおける「第２イベント」に設定される情報は、図１３で説明した第２イベントにおける「データＩＤ」に設定された情報に対応する。
【００７７】
具体的に、図１６に示す第２対応情報１３１ｂにおいて、「データＩＤ」が「１」である情報には、「作業ＩＤ」として「Ｓ００１」が設定され、「プロセスＩＤ」として「Ｐ０１１」が設定されている。また、図１６に示す第２対応情報１３１ｂにおいて、「データＩＤ」が「１」である情報には、「第２イベント」として「１，２」が設定されている。図１６の他の情報については説明を省略する。
【００７８】
次に、第３対応情報１３１ｃの具体例を説明する。図１７は、第３対応情報１３１ｃの具体例を説明する図である。図１７に示す第３対応情報１３１ｃは、第３対応情報１３１ｃに含まれる各情報を識別する「データＩＤ」と、各作業を識別する「作業ＩＤ」と、各プロセスを識別する「プロセスＩＤ」とを項目として有する。また、図１７に示す第３対応情報１３１ｃは、第３イベントに含まれる情報を識別する「第３イベント」を項目として有する。図１７に示す第３対応情報１３１ｃにおける「第３イベント」に設定される情報は、図１４で説明した第３イベントにおける「データＩＤ」に設定された情報に対応する。
【００７９】
具体的に、図１７に示す第３対応情報１３１ｃにおいて、「データＩＤ」が「１」である情報には、「作業ＩＤ」として「Ｓ００１」が設定され、「プロセスＩＤ」として「Ｐ０２１」が設定されている。また、図１７に示す第３対応情報１３１ｃにおいて、「データＩＤ」が「１」である情報には、「第３イベント」として「１」が設定されている。図１７の他の情報については説明を省略する。
【００８０】
すなわち、図１５から図１７に示す第１対応情報１３１ａ、第２対応情報１３１ｂ及び第３対応情報１３１ｃは、「プロセスＩＤ」が「Ｐ００１」、「Ｐ０１１」及び「Ｐ０２１」である各プロセスが、「作業ＩＤ」が「Ｓ００１」である作業に対応している旨の情報を含んでいる。そのため、作業識別情報作成部１１２は、対応情報１３１を参照することにより、イベントと、各イベントの発生元であるプロセスと、各プロセスが実行される作業とを対応付けることが可能になる。したがって、作業識別情報作成部１１２は、後述するように、対応情報１３１を参照することで、作業毎の作業識別情報１３２を作成することが可能になる。
【００８１】
図８に戻り、作業識別情報作成部１１２は、対応情報作成部１１１が作成した対応情報１３１を参照する。そして、作業識別情報作成部１１２は、プロセスが実行される作業毎に、第１イベント、第２イベント及び第３イベントから、作業識別情報１３２に含まれる第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃをそれぞれ作成する（Ｓ２３）。以下、第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃの具体例について説明する。
【００８２】
[第１作業識別情報１３２ａの具体例]
図１８は、第１作業識別情報１３２ａの具体例を説明する図である。図１８に示す第１作業識別情報１３２ａは、図１２で説明した第１イベントに含まれる情報に基づいて作成される情報である。図１８に示す第１作業識別情報１３２ａは、第１作業識別情報１３２ａに含まれる各情報を識別する「データＩＤ」と、後述する集約情報１３５ａを識別する「シグネチャＩＤ」と、各作業を識別する「作業ＩＤ」とを項目として有する。また、図１８に示す第１作業識別情報１３２ａは、情報の入力が行われたデバイスを識別する「デバイス」と、入力された情報の種別を識別する「入力種別」とを項目として有する。また、図１８に示す第１作業識別情報１３２ａは、情報の入力に要した時間である「操作時間」と、入力された情報に含まれる情報である「入力情報」と、各情報が出力された時間を示す「発生時間」とを項目として有する。さらに、図１８に示す第１作業識別情報１３２ａは、「シグネチャＩＤ」に設定された情報に対応するビット列である「ビット列」を項目として有する。なお、「ビット列」には、「作業ＩＤ」に設定された情報毎に、ビット列が設定される。
【００８３】
具体的に、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報には、「シグネチャＩＤ」として「Ｉ００５」が設定され、「作業ＩＤ」として「Ｓ００１」が設定されている。「作業ＩＤ」に設定される情報は、例えば、図１５で説明した第１対応情報１３１を参照することにより決定される。「シグネチャＩＤ」に設定される情報の決定方法については後述する。
【００８４】
また、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報には、「デバイス」として「マウス」が設定され、「入力種別」として「移動」が設定されている。「デバイス」に設定される情報は、例えば、図１２で説明した第１イベントにおける「デバイス」に設定された情報に対応して決定される。「入力種別」に設定される情報は、例えば、図１２で説明した第１イベントにおける「操作」に設定された情報に対応して決定される。
【００８５】
そして、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報には、「操作時間」として「０：０：０：０１９」が設定され、「入力情報」として「１４５，−１２３」が設定されている。図１８における「デバイス」に設定される情報は、図１２で説明した第１イベントにおける「発生時間」に設定された情報に基づいて決定される。すなわち、「データＩＤ」が「１」である情報の「操作時間」に設定される情報は、図１２に示す第１イベントにおける「データＩＤ」が「１」である情報の「発生時間」に設定された情報と、「データＩＤ」が「２」である情報の「発生時間」に設定された情報との差分である。また、図１８における「入力情報」に設定される情報は、図１２で説明した第１イベントにおける「カーソル位置」に設定された情報に基づいて決定される。すなわち、「データＩＤ」が「１」である情報の「入力情報」に設定される情報は、図１２に示す第１イベントにおける「データＩＤ」が「１」である情報の「カーソル位置」に設定された情報と、「データＩＤ」が「２」である情報の「カーソル位置」に設定された情報との差分である。
【００８６】
なお、図１２に示す第１イベント情報の「カーソル位置」に情報が設定されていない場合、「入力情報」には、他の情報を設定するものであってよい。具体的に、図１８に示す第１作業識別情報１３２ａにおける「データＩＤ」が「３」である情報には、図１２における「データＩＤ」が「４」及び「５」である情報に対応する「操作」に含まれる情報である「左ボタン」が設定されている。また、図１８に示す第１作業識別情報１３２ａにおける「データＩＤ」が「６」である情報には、図１２における「データＩＤ」が「１１」及び「１２」である情報に対応する「操作」に含まれる情報である「「ｌ」キー」が設定されている。
【００８７】
さらに、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報の「発生時間」には、図１２に示す第１イベントにおける「データＩＤ」が「２」である情報の「発生時間」に設定された情報である「０９：２０：１２：３７０」が設定されている。すなわち、第１作業識別情報１３２ａの「発生時間」には、例えば、図１２に示す第１イベントの「発生時間」に設定された情報のうち、第１作業識別情報１３２ａに含まれる各情報に対応する情報が設定される。なお、図１８に示す第１作業識別情報１３２ａにおける「ビット列」に設定されるビット列の説明については後述する。
【００８８】
このように、作業識別情報作成部１１２は、第１イベント、第２イベント及び第３イベントに含まれる情報から、作業者が作業者端末２において行った作業の特性を識別するために必要な情報を抽出し、作業識別情報１３２を作成する。そして、異常検出部１１４及び一致度算出部１１５は、後述するように、業務システムから出力されたログ等ではなく、作成した作業識別情報１３２によって、第１作業が異常な作業である可能性があるか否かの判定を行う。これにより、異常検出部１１４及び一致度算出部１１５は、後述するように、異常な作業である可能性がある作業の検出を迅速に行うことが可能になる。
【００８９】
[第１集約情報１３５ａの具体例]
次に、第１集約情報１３５ａの具体例について説明する。第１集約情報１３５ａは、図１８で説明した第１作業識別情報１３２ａの「シグネチャＩＤ」に設定する情報を決定するための情報である。
【００９０】
図１９は、第１集約情報１３５ａの具体例を説明する図である。図１９に示す第１集約情報１３５ａは、第１集約情報１３５ａに含まれる各情報を識別する「シグネチャＩＤ」と、情報の入力が行われたデバイスを識別する「デバイス」とを項目として有する。また、図１９に示す第１集約情報１３５ａは、入力された情報の種別を識別する「入力種別」と、情報の入力に要した時間を示す「操作時間（１）」及び「操作時間（２）」とを項目として有する。さらに、図１９に示す第１集約情報１３５ａは、入力された情報に含まれる情報を示す「入力情報（１）」及び「入力情報（２）」と、「シグネチャＩＤ」に設定された情報に対応する値である「シグネチャ値」を項目として有する。「シグネチャ値」には、第１集約情報１３５ａに含まれる各情報を一意に特定する値が設定されている。
【００９１】
具体的に、図１９に示す第１集約情報１３５ａにおいて、「シグネチャＩＤ」が「Ｉ００１」である情報には、「デバイス」として「マウス」が設定され、「入力種別」として「移動」が設定されている。また、図１９に示す第１集約情報１３５ａにおいて、「シグネチャＩＤ」が「Ｉ００１」である情報には、「操作時間（１）」として「０：０：０：００１」が設定され、「操作時間（２）」として「０：０：０：１００」が設定されている。さらに、図１９に示す第１集約情報１３５ａにおいて、「シグネチャＩＤ」が「Ｉ００１」である情報には、「入力情報（１）」として「０，０」が設定されており、「入力情報（２）」として「５００，５００」が設定されており、「シグネチャ値」として「１」が設定されている。以下、第１作業識別情報１３２ａにおける「シグネチャＩＤ」に設定される情報を決定する場合の具体例について説明する。
【００９２】
作業識別情報作成部１１２は、例えば、図１８に示す第１作業識別情報１３２ａのうち、「デバイス」、「入力種別」、「操作時間」及び「入力情報」に設定する情報を決定した場合、図１９に示す第１集約情報１３５ａを参照する。そして、作業識別情報作成部１１２は、第１集約情報１３５ａのうち、図１８に示す第１作業識別情報１３２ａの「デバイス」、「入力種別」、「操作時間」及び「入力情報」に設定する情報と同じ情報を含む情報を特定する。
【００９３】
具体的に、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報の「デバイス」には「マウス」が設定され、「入力種別」には「移動」が設定されている。また、図１８に示す第１作業識別情報１３２ａにおいて、「データＩＤ」が「１」である情報の「操作時間」には「０：０：０：０１９」が設定され、「入力情報」には「１４５，−１２３」が設定されている。
【００９４】
この場合、作業識別情報作成部１１２は、例えば、図１９に示す第１集約情報１３５ａから、「デバイス」に設定された情報が「マウス」であり、「入力種別」に設定された情報が「移動」である情報を特定する。さらに、作業識別情報作成部１１２は、例えば、「操作時間（１）」及び「操作時間（２）」に設定された情報の間に「０：０：０：１９」が含まれ、「入力情報（１）」及び「入力情報（２）」に設定された情報の間に「１４５，−１２３」が含まれる情報を特定する。
【００９５】
その結果、作業識別情報作成部１１２は、図１９に示す第１集約情報１３５ａから、「シグネチャＩＤ」が「Ｉ００５」である情報を特定する。したがって、作業識別情報作成部１１２は、この場合、第１作業識別情報１３２ａの「データＩＤ」が「１」である情報の「シグネチャＩＤ」に「Ｉ００５」を設定する。
【００９６】
[「ビット列」に設定される情報を決定する際の具体例]
次に、図１８に示す第１作業識別情報１３２ａに含まれる「ビット列」に設定される情報を決定する際の具体例について説明を行う。
【００９７】
作業識別情報作成部１１２は、例えば、図１９に示す第１集約情報１３５ａを参照することにより、図１８に示す第１作業識別情報１３２ａの「シグネチャＩＤ」に設定された情報に対応する「シグネチャ値」に設定された値を取得する。そして、作業識別情報作成部１１２は、取得した値をビット列に変換し、図１８に示す第１作業識別情報１３２ａの「ビット列」に設定する。
【００９８】
これにより、異常検出部１１４及び一致度算出部１１５は、後述するように、第１作業識別情報１３２ａ等の「ビット列」に設定されたビット列の比較のみを行うことで、第１作業について異常判定を行うか否かの決定を行うことができる。すなわち、この場合、異常検出部１１４及び一致度算出部１１５は、第１作業識別情報１３２ａ等に含まれる他の情報を参照する必要がないため、第１作業について異常判定を行うか否かの決定を行う際に要する処理負担を軽減させることが可能になる。そのため、作業者は、例えば、第１作業について異常判定を行うか否かの決定をリアルタイムで行うことが可能になる。以下、第１作業識別情報１３２ａに含まれる「ビット列」に設定される情報を決定する際の具体例について説明する。
【００９９】
作業識別情報作成部１１２は、例えば、図１８に示すように、第１作業識別情報１３２ａにおける「シグネチャＩＤ」に設定される情報が「Ｉ００５」に決定した場合、第１集約情報１３５ａを参照する。そして、作業識別情報作成部１１２は、第１集約情報１３５ａにおいて、「シグネチャＩＤ」が「Ｉ００５」である情報の「シグネチャ値」に設定された情報である「５」を取得する。
【０１００】
次に、作業識別情報作成部１１２は、第１集約情報１３５ａを参照して取得した情報と、第１作業識別情報１３２ａの「発生時間」に設定された情報とを対応付ける。
【０１０１】
図２０及び図２１は、第１作業識別情報１３２ａの「ビット列」に設定されるビット列を決定するグラフである。図２０は、第１作業識別情報１３２ａの「発生時間」に設定された情報を横軸とし、第１集約情報１３５ａを参照することにより取得した「シグネチャ値」に設定された情報を縦軸とした場合のグラフである。以下、図１８に示す第１作業識別情報１３２ａにおいて、「作業ＩＤ」が「Ｓ００２」である情報について説明を行う。
【０１０２】
また、以下、図２０のグラフの横軸の最小単位は、２０（ｍｓ）であるものとする。すなわち、例えば、「発生時間」が「０９：２０：１７：３１０」である情報は、図２０のグラフにおいて、横軸が「０９：２０：１７：３００から０９：２０：１７：３２０まで」を示す位置に設定されるものとする。
【０１０３】
具体的に、図１８に示す第１作業識別情報１３２ａにおける「データＩＤ」が「４」である情報の「発生時間」は、「０９：２０：１３：４８３」である。そして、第１作業識別情報１３２ａにおける「データＩＤ」が「４」である情報の「シグネチャＩＤ」は「Ｉ００５」であり、第１集約情報１３５ａにおける「シグネチャＩＤ」が「Ｉ００５」である情報の「シグネチャ値」は「５」である。
【０１０４】
そのため、作業識別情報作成部１１２は、この場合、図２０に示すように、横軸が「０９：２０：１３：４８３」である位置であって縦軸が「５（ビット）」である位置に、特定可能な情報を設定する。
【０１０５】
同様に、作業識別情報作成部１１２は、例えば、図２０に示すように、横軸が「０９：２０：１３：７９７」である位置であって縦軸が「４２（ビット）」である位置に、特定可能な情報を設定する（図１８の「データＩＤ」が「５」である情報）。図２０の他の情報については説明を省略する。
【０１０６】
次に、作業識別情報作成部１１２は、図２０における横軸を、ビット位置を示す情報に置き換える。図２１は、図２０に示すグラフの横軸を置き換えた場合のグラフである。なお、以下、図２０に示すグラフの横軸における２０（ｍｓ）が、図２１に示すグラフの横軸における２（バイト）に対応するものとして説明を行う。
【０１０７】
この場合、第１作業識別情報１３２ａにおける「データＩＤ」が「４」である情報の「発生時間」である「０９：２０：１２：４８３」は、「０９：２０：１２：４８０」と「０９：２０：１２：５００」との間に含まれる。そして、図２０のグラフの横軸における「０９：２０：１２：４８０」は、図２１のグラフの横軸における「４８（バイト）」に対応し、図２０のグラフの横軸における「０９：２０：１２：５００」は、図２１のグラフの横軸における「５０（バイト）」に対応する。そのため、作業識別情報作成部１１２は、第１集約情報１３５ａにおける「シグネチャＩＤ」が「Ｉ００５」である情報の「シグネチャ値」である「５」を、ビット列における「４８（バイト）」から「５０（バイト）」に対応させることを決定する。図２１の他の情報については説明を省略する。
【０１０８】
そして、作業識別情報作成部１１２は、図２１に示すグラフに含まれる情報に基づき、図１８に示す第１作業識別情報１３２ａの「ビット列」に設定する情報を作成する。
【０１０９】
図２２は、第１作業識別情報１３２ａの「ビット列」に設定する情報の具体例を説明する図である。作業識別情報作成部１１２は、例えば、図２１で説明したグラフの横軸に対応する領域を有するビット列を用意する。具体的に、図２１に示す例において、作業識別情報作成部１１２は、例えば、２００（バイト）の領域を有するビット列を用意する。
【０１１０】
そして、作業識別情報作成部１１２は、図２２に示すビット列におけるビット位置が４８（バイト）から５０（バイト）である位置に、「５」を２進法表記にした「０００００００００００００１０１」を設定する（図１８の「データＩＤ」が「４」である情報）。また、作業識別情報作成部１１２は、図２２に示すビット列におけるビット位置が７８（バイト）から８０（バイト）である位置に、「４２」を２進法表記にした「００００００００００１０１０１０」を設定する（図１８の「データＩＤ」が「５」である情報）。図２１に含まれる他の情報を図２２のビット列に設定する場合の説明は省略する。
【０１１１】
その後、作業識別情報作成部１１２は、作成したビット列（図２２に示すビット列）を、第１作業識別情報１３２ａの「ビット列」に設定する。
【０１１２】
すなわち、作業識別情報作成部１１２は、第１作業識別情報１３２ａに含まれる情報を変換したビット列を、第１作業識別情報１３２ａに含める。これにより、異常検出部１１４及び一致度算出部１１５は、後述するように、第１作業から作成した新たな作業識別情報と、情報格納領域１３０に記憶された作業識別情報１３２との比較を、「ビット列」に設定された情報の比較のみによって行うことが可能になる。そのため、異常検出部１１４及び一致度算出部１１５は、後述するように、第１作業について異常判定を行うか否かの決定を迅速に行うことが可能になる。したがって、作業者は、例えば、情報処理装置１に対して行われた作業が、攻撃者によって行われたものであるか否かの判断をリアルタイムで行うことが可能になる。
【０１１３】
[第２作業識別情報１３２ｂの具体例]
次に、第２作業識別情報１３２ｂの具体例を説明する。図２３は、第２作業識別情報１３２ｂの具体例を説明する図である。図２３に示す第２作業識別情報１３２ｂは、図１３で説明した第２イベントに含まれる情報に基づいて作成される情報である。
【０１１４】
図２３に示す第２作業識別情報１３２ｂは、第２作業識別情報１３２ｂに含まれる各情報を識別する「データＩＤ」と、後述する第２集約情報１３５ｂを識別する「シグネチャＩＤ」と、各作業を識別する「作業ＩＤ」とを項目として有する。また、図２３に示す第２作業識別情報１３２ｂは、入力情報に対応する操作対象を識別する「操作対象」と、入力情報の種別を識別する「入力種別」とを項目として有する。また、図２３に示す第２作業識別情報１３２ｂは、各情報が出力された時間を示す「発生時間」と、「シグネチャＩＤ」に設定された情報に対応するビット列である「ビット列」とを項目として有する。なお、「ビット列」には、「作業ＩＤ」に設定された情報毎に、ビット列が設定される。
【０１１５】
具体的に、図２３に示す第２作業識別情報１３２ｂにおいて、「データＩＤ」が「１」である情報には、「シグネチャＩＤ」として「Ａ００１」が設定され、「作業ＩＤ」として「Ｓ００１」が設定されている。また、図２３に示す第２作業識別情報１３２ｂにおいて、「データＩＤ」が「１」である情報には、「操作対象」として「ファイル」が設定され、「入力種別」として「メニュー選択」が設定されている。
【０１１６】
さらに、図２３に示す第２作業識別情報１３２ｂにおいて、「データＩＤ」が「１」である情報には、「発生時間」として「０９：２０：１２：５２２」が設定されている。なお、「ビット列」に設定される情報についての説明は後述する。
【０１１７】
[第２集約情報１３５ｂの具体例]
次に、第２集約情報１３５ｂの具体例について説明する。第２集約情報１３５ｂは、図２３で説明した第２作業識別情報１３２ｂの「シグネチャＩＤ」に設定する情報を決定するための情報である。
【０１１８】
図２４は、第２集約情報１３５ｂの具体例を説明する図である。図２４に示す第２集約情報１３５ｂは、第２集約情報１３５ｂに含まれる各情報を識別する「シグネチャＩＤ」を項目として有する。また、図２４に示す第２集約情報１３５ｂは、入力された情報に対応する操作対象を識別する「操作対象」と、入力された情報の種別を識別する「入力種別」と、「シグネチャＩＤ」の情報に対応する「シグネチャ値」を項目として有する。
【０１１９】
具体的に、図２４に示す第２集約情報１３５ｂにおいて、「シグネチャＩＤ」が「Ａ００１」である情報には、「操作対象」として「ファイル」が設定され、「入力種別」として「メニュー選択」が設定されている。また、図２４に示す第２集約情報１３５ｂにおいて、「シグネチャＩＤ」が「Ａ００１」である情報には、「シグネチャ値」として「１」が設定されている。以下、第２作業識別情報１３２ｂにおける「シグネチャＩＤ」に設定される情報を決定する場合の具体例について説明する。
【０１２０】
作業識別情報作成部１１２は、例えば、図２３に示す第２作業識別情報１３２ｂのうち、「操作対象」及び「入力種別」に設定する情報を決定した場合、図２４に示す第２集約情報１３５ｂを参照する。そして、作業識別情報作成部１１２は、第２集約情報１３５ｂのうち、図２３に示す第２作業識別情報１３２ｂの「操作対象」及び「入力種別」に設定する情報と同じ情報を含む情報を特定する。
【０１２１】
具体的に、図２３に示す第２作業識別情報１３２ｂにおいて、「データＩＤ」が「１」である情報の「操作対象」には「ファイル」が設定され、「入力種別」には「メニュー選択」が設定されている。
【０１２２】
この場合、作業識別情報作成部１１２は、図２４に示す第２集約情報１３５ｂから、「操作対象」に設定された情報が「ファイル」であり、「入力種別」に設定された情報が「メニュー選択」である「シグネチャＩＤ」が「Ａ００１」である情報を特定する。したがって、作業識別情報作成部１１２は、この場合、第２作業識別情報１３２ｂの「データＩＤ」が「１」である情報の「シグネチャＩＤ」に「Ａ００１」を設定する。
【０１２３】
[「ビット列」に設定される情報を決定する際の具体例]
次に、図２３に示す第２作業識別情報１３２ｂの「ビット列」に設定されるビット列を決定する際の具体例について説明を行う。
【０１２４】
作業識別情報作成部１１２は、例えば、図２３に示すように、第２作業識別情報１３２ｂにおける「シグネチャＩＤ」に設定される情報が「Ａ００１」に決定した場合、第２集約情報１３５ｂを参照し、「シグネチャＩＤ」が「Ａ００１」である情報の「シグネチャ値」に設定された情報である「１」を取得する。
【０１２５】
次に、作業識別情報作成部１１２は、図２０で説明した場合と同様に、第２集約情報１３５ｂを参照して取得した「シグネチャ値」に設定された情報と、第２作業識別情報１３２ｂの「発生時間」に設定された情報とを対応付ける。
【０１２６】
図２５及び図２６は、第２作業識別情報１３２ｂの「ビット列」に設定されるビット列を決定するグラフである。図２５は、第２作業識別情報１３２ｂの「発生時間」に設定された情報を横軸とし、第２集約情報１３５ｂを参照して取得した「シグネチャ値」に設定された情報を縦軸とした場合のグラフである。以下、第２作業識別情報１３２ｂにおいて、「作業ＩＤ」が「Ｓ００２」である情報について説明を行う。
【０１２７】
具体的に、第２作業識別情報１３２ｂにおける「データＩＤ」が「３」である情報の「発生時間」は、「０９：２０：１３：７９７」である。そして、第２作業識別情報１３２ｂにおける「データＩＤ」が「３」である情報の「シグネチャＩＤ」は「Ａ００８」であり、第２集約情報１３５ｂにおける「シグネチャＩＤ」が「Ａ００８」である情報の「シグネチャ値」は「８」である。
【０１２８】
そのため、作業識別情報作成部１１２は、この場合、図２５に示すように、横軸が「０９：２０：１３：７９７」である位置であって縦軸が「８（ビット）」である位置に、特定可能な情報を設定する。図２５の他の情報については説明を省略する。
【０１２９】
そして、作業識別情報作成部１１２は、図２１で説明した場合と同様に、図２５における横軸を、ビット位置を示す情報に置き換える。この場合、図２６に示すように、第２作業識別情報１３２ｂにおける「発生時間」である「０９：２０：１３：７９７」は、「０９：２０：１３：７８０」と「０９：２０：１３：８００」との間に含まれる。そして、図２５のグラフの横軸における「０９：２０：１３：７８０」は、図２６のグラフの横軸における「７８（バイト）」に対応し、図２５のグラフの横軸における「０９：２０：１３：８００」は、図２６のグラフの横軸における「８０（バイト）」に対応する。そのため、作業識別情報作成部１１２は、第２集約情報１３５ｂにおける「シグネチャＩＤ」が「Ａ００８」である情報の「シグネチャ値」である「８」を、ビット列における「７８（バイト）」から「８０（バイト）」に対応させることを決定する。
【０１３０】
そして、作業識別情報作成部１１２は、図２２で説明した場合と同様に、図２６に示すグラフに含まれる情報に基づき、ビット列を作成する。
【０１３１】
図２７は、第２作業識別情報１３２ｂに対応するビット列の具体例を説明する図である。作業識別情報作成部１１２は、例えば、図２７に示すビット列のうち、ビット位置が１２４（バイト）から１２６（バイト）である位置に、「４１」を２進法表記にした「００００００００００１０１００１」を設定する（図２３の「データＩＤ」が「４」である情報）。また、作業識別情報作成部１１２は、例えば、図２７に示すビット列のうち、ビット位置が１９４（バイト）から１９６（バイト）である位置に、「８４」を２進法表記にした「０００００００００１０１０１００」を設定する（図２３の「データＩＤ」が「６」である情報）。図２６に含まれる他の情報を図２７のビット列に設定する場合の説明は省略する。
【０１３２】
[第３作業識別情報１３２ｃの具体例]
次に、第３作業識別情報１３２ｃの具体例を説明する。図２８は、第３作業識別情報１３２ｃの具体例を説明する図である。図２８に示す第３作業識別情報１３２ｃは、図１４で説明した第３イベントに含まれる情報に基づいて作成される情報である。
【０１３３】
図２８に示す第３作業識別情報１３２ｃは、図２３で説明した第２作業識別情報１３２ｂと同じ項目を有している。具体的に、図２８に示す第３作業識別情報１３２ｃにおいて、「データＩＤ」が「１」である情報には、「シグネチャＩＤ」として「Ｒ００１」が設定され、「作業ＩＤ」として「Ｓ００１」が設定されている。また、図２８に示す第３作業識別情報１３２ｃにおいて、「データＩＤ」が「１」である情報には、「操作対象」として「ファイルＡ」が設定され、「入力種別」として「作成／オープン」が設定されている。さらに、図２８に示す第３作業識別情報１３２ｃにおいて、「データＩＤ」が「１」である情報には、「発生時間」として「０９：２０：１２：６０１」が設定されている。
【０１３４】
なお、図２８の第３作業識別情報１３２ｃの「シグネチャＩＤ」に設定される情報及び「ビット列」に設定される情報を決定する際の具体例については、説明を省略する。
【０１３５】
図８に戻り、作業識別情報作成部１１２は、Ｓ２３で作成した第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃを情報格納領域１３０に蓄積する（Ｓ２４）。すなわち、作業識別情報作成部１１２は、第１作業が行われる前に、正規の作業者による作業の特性（作業者端末２を介して入力される情報）に対応する作業識別情報１３２を情報格納領域１３０に記憶する。これにより、異常検出部１１４及び一致度算出部１１５は、後述するように、第１作業が行われた場合に、その第１作業に対して異常判定を行うか否かの決定をすることが可能になる。
【０１３６】
なお、作業識別情報作成部１１２は、さらに、第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃの「ビット列」に設定された情報を、作業毎にそれぞれ対応付けた特徴点情報１３６を作成するものであってもよい。これにより、異常検出部１１４及び一致度算出部１１５は、第１作業が行われた場合、後述するように、第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃのそれぞれを参照することなく、第１作業に対して異常判定を行うか否かの決定を行うことが可能になる。以下、特徴点情報１３６の具体例について説明を行う。
【０１３７】
[特徴点情報１３６の具体例]
図２９は、特徴点情報１３６の具体例について説明する図である。図２９に示す特徴点情報１３６は、特徴点情報１３６に含まれる各情報を識別する「データＩＤ」と、第１作業識別情報１３２ａの「シグネチャＩＤ」に対応する「シグネチャＩＤ（１）」と、第２作業識別情報１３２ｂの「シグネチャＩＤ」に対応する「シグネチャＩＤ（２）」とを項目として有する。また、図２９に示す特徴点情報１３６は、第３作業識別情報１３３ｃの「シグネチャＩＤ」に対応する「シグネチャＩＤ（３）」と、特徴点情報１３６に含まれる各情報の発生頻度を示す「発生頻度」と、各情報の発生回数（作成回数）の累積を示す「発生回数」とを項目として有する。
【０１３８】
さらに、図２９に示す特徴点情報１３６は、各情報に対応する作業が最後に発生した日時を示す「最終発生日時」と、比較した情報における差異の許容閾値を示す「閾値情報」とを項目として有する。また、図２９に示す特徴点情報１３６は、第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃの「ビット列」にそれぞれ設定されたビット列を連結した情報を設定する「ビット列」を有する。
【０１３９】
なお、「発生頻度」及び「閾値情報」の単位は、例えば、パーセント（％）である。また、図２９の特徴点情報１３６における「閾値情報」は、上記の閾値情報１３４に対応するものであってよい。
【０１４０】
具体的に、図２９に示す特徴点情報１３６において、「データＩＤ」が「１」である情報には、「シグネチャＩＤ（１）」として「Ｉ１０４，Ｉ０６３」が設定されており、「シグネチャＩＤ（２）」として「Ａ００１，Ａ０２３」が設定されている。また、図２９に示す特徴点情報１３６において、「データＩＤ」が「１」である情報には、「シグネチャＩＤ（３）」として「Ｒ００２」が設定されており、「発生頻度」として「０．１２（％）」が設定されている。
【０１４１】
さらに、「データＩＤ」が「１」である情報には、「発生回数」として「６」が設定されており、「最終発生日時」として「２０１５／０１／１８  ０２：１０：１７：３１０」が設定されており、「閾値情報」として「９０（％）」が設定されている。そして、「ビット列」として、図１８の第１作業識別情報１３２ａ、図２３の第２作業識別情報１３２ｂ及び図２８の第３作業識別情報１３２ｃにおける「データＩＤ」が「１」である情報の「ビット列」に設定された情報を連結した情報（ビット列）が設定されている。
【０１４２】
すなわち、図２９に示す特徴点情報１３６における「データＩＤ」が「１」である情報は、それぞれ第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃにおける「作業ＩＤ」が「Ｓ００３」である情報に対応することを示している。具体的に、図２９に示す特徴点情報１３６における「データＩＤ」が「１」である情報は、第１作業識別情報１３２ａにおける「データＩＤ」が「９」及び「１０」と、第２作業識別情報１３２ｂにおける「データＩＤ」が「７」及び「８」とに対応することを示している。さらに、図２９に示す特徴点情報１３６における「データＩＤ」が「１」である情報は、第３作業識別情報１３２ｃにおける「データＩＤ」が「３」に対応することを示している。
【０１４３】
[第１作業に対して異常判定を行うか否かを決定する際の処理]
次に、第１作業に対して異常判定を行うか否かを決定する際の処理について説明を行う。なお、以下、第１作業が行われた際に作成される対応情報を対応情報２３１とも呼ぶ。また、以下、第１作業が行われた際に作成される新たな作業識別情報を作業識別情報２３２（第１作業識別情報２３２ａ、第２作業識別情報２３２ｂ及び第３作業識別情報２３２ｃ）とも呼ぶ。
【０１４４】
対応情報作成部１１１は、図９に示すように、第１作業が行われるまで待機する（Ｓ３１のＮＯ）。そして、第１作業が行われた場合（Ｓ３１のＹＥＳ）、対応情報作成部１１１は、図８のＳ２２の処理と同様に、対応情報２３１を作成する（Ｓ３２）。その後、対応情報作成部１１１は、図８のＳ２３の処理と同様に、Ｓ３２で作成した対応情報２３１を参照し、第１作業識別情報２３２ａ、第２作業識別情報２３２ｂ及び第３作業識別情報２３２ｃを作成する（Ｓ３３）。
【０１４５】
すなわち、異常検出部１１４及び一致度算出部１１５は、後述するように、第１作業が行われることにより発生したイベントに基づく作業識別情報２３２と、情報格納領域１３０に記憶されている作業識別情報１３２との比較を行うことにより、第１作業に対して異常判定を行うか否かの決定を行う。そのため、対応情報作成部１１１及び作業識別情報作成部１１２は、図８で説明した場合と同様に、第１作業が行われることにより発生したイベントから作業識別情報２３２を作成する。
【０１４６】
次に、情報処理装置１の一致度算出部１１５は、Ｓ３３で作成した作業識別情報２３２に含まれる情報と、情報格納領域１３０に蓄積された作業識別情報１３２に含まれる情報との一致度である一致度情報１３３を算出する（Ｓ３４）。
【０１４７】
具体的に、一致度算出部１１５は、例えば、Ｓ３３で作成した第１作業識別情報２３２ａ、第２作業識別情報２３２ｂ及び第３作業識別情報２３２ｃのそれぞれに含まれる「シグネチャＩＤ」を取得する。そして、一致度算出部１１５は、例えば、図２９に示す特徴点情報１３６を参照し、取得した「シグネチャＩＤ」を全て含む情報が特徴点情報１３６に存在するか否かを判定する。その結果、取得した「シグネチャＩＤ」を全て含む情報が特徴点情報１３６に存在しない場合、一致度算出部１１５は、一致度情報１３３として「０（％）」を算出する。
【０１４８】
一方、取得した「シグネチャＩＤ」を全て含む情報が存在する場合、一致度算出部１１５は、例えば、Ｓ３３で作成した第１作業識別情報２３２ａ、第２作業識別情報２３２ｂ及び第３作業識別情報２３２ｃのそれぞれに含まれる「ビット列」に設定されたビット列を取得する。そして、一致度算出部１１５は、取得した各ビット列を連結する（以下、連結したビット列を第１ビット列とも呼ぶ）。さらに、この場合、一致度算出部１１５は、例えば、特徴点情報１３６に存在した情報に含まれる「ビット列」に設定されたビット列（以下、第２ビット列とも呼ぶ）を取得する。そして、一致度算出部１１５は、例えば、第１ビット列と第２ビット列との比較を行うことにより、情報が一致しているビットを割合である一致度情報１３３（例えば、８０（％））を算出する。
【０１４９】
これにより、一致度算出部１１５は、異常検出部１１４が第１作業に対して異常判定を行う必要があるか否かの決定を行うために用いる一致度情報１３３を、各情報に含まれるビット列の比較を行うのみで算出することが可能になる。そのため、異常検出部１１４及び一致度算出部１１５は、第１作業に対して異常判定を行う必要があるか否かの決定を迅速に行うことが可能になる。
【０１５０】
なお、一致度算出部１１５は、第２ビット列を取得する際に、第１作業識別情報１３２ａ、第２作業識別情報１３２ｂ及び第３作業識別情報１３２ｃのそれぞれに含まれる「ビット列」に設定されたビット列を取得し、取得したビット列を連結するものであってもよい。また、情報管理部１１３は、Ｓ３４において算出された一致度情報１３３を、情報格納領域１３０に記憶するものであってもよい。
【０１５１】
次に、一致度算出部１１５は、図９に示すように、Ｓ３４で算出した一致度情報１３３に対し、Ｓ３３で作成した作業識別情報２３２と同じ内容の作業識別情報１３２の発生回数に応じた補正係数情報１３７を乗算する（Ｓ３５）。以下、補正係数情報１３７の具体例を説明する。なお、以下、補正係数情報１３７を乗算した一致度情報１３３を第２の値とも呼ぶ。
【０１５２】
図３０は、補正係数情報１３７の具体例について説明する図である。図３０に示す補正係数情報１３７は、補正係数情報１３７に含まれる各情報を識別する「データＩＤ」と、発生回数の範囲を示す「発生回数」と、発生回数に対応する補正係数が設定される「補正係数」とを項目として有する。
【０１５３】
具体的に、図３０に示す補正係数情報１３７において、「データＩＤ」が「１」である情報には、「発生回数」として「０（回）以上１０（回）未満」が設定されており、「補正係数」として「１．１」が設定されている。また、図３０に示す補正係数情報１３７において、「データＩＤ」が「２」である情報には、「発生回数」として「１０（回）以上２０（回）未満」が設定されており、「補正係数」として「１．０」が設定されている。さらに、図３０に示す補正係数情報１３７において、「データＩＤ」が「３」である情報には、「発生回数」として「２０（回）以上」が設定されており、「補正係数」として「０．９」が設定されている。
【０１５４】
すなわち、一致度算出部１１５は、補正係数情報１３７を用いることにより、Ｓ３３で作成した作業識別情報２３２と同じ内容の作業識別情報の発生回数を反映させた形で、一致度情報１３３の算出を行うことが可能になる。そのため、一致度算出部１１５は、例えば、Ｓ３３で作成した作業識別情報２３２と同じ内容の作業識別情報の発生回数が多い程、Ｓ３４で算出した一致度情報１３３の値を抑える等の調整を行うことが可能になる。以下、Ｓ３３で作成した作業識別情報２３２が、図２９の特徴点情報１３６における「データＩＤ」が「３」である情報に対応し、Ｓ３４で算出された一致度情報１３３が８０（％）である場合の具体例について説明を行う。
【０１５５】
一致度算出部１１５は、この場合、図２９の特徴点情報１３６における「データＩＤ」が「３」である情報の「発生回数」に設定された情報である「２０」を取得する。そして、一致度算出部１１５は、図３０の補正係数情報１３７を参照し、「発生回数」が「２０」である情報の「補正係数」である「０．９」を取得する。その後、一致度算出部１１５は、Ｓ３４で算出した一致度情報１３３である８０（％）に「０．９」を乗算した７２（％）を算出する（Ｓ３５）。これにより、一致度算出部１１５は、補正係数情報１３７の内容を反映させた形の一致度情報１３３を算出することが可能になる。なお、情報管理部１１３は、Ｓ３５において算出された一致度情報１３３を、情報格納領域１３０に記憶するものであってもよい。
【０１５６】
図１０に戻り、異常検出部１１４は、Ｓ３５で算出された一致度情報１３３が情報格納領域１３０に記憶された閾値情報１３４以上であるか否かを判定する（Ｓ４１）。その結果、Ｓ３５で算出された一致度情報１３３が閾値情報１３４未満であると判定した場合（Ｓ４１のＮＯ）、異常検出部１１４は、第１作業について異常判定を行うことを決定する（Ｓ４２）。一方、Ｓ３５で算出された一致度情報１３３が閾値情報１３４以上であると判定した場合（Ｓ４１のＹＥＳ）、異常検出部１１４は、第１作業について異常判定を行わないことを決定する（Ｓ４３）。
【０１５７】
具体的に、異常検出部１１４は、例えば、図２９の特徴点情報１３６における「データＩＤ」が「３」である情報の「閾値情報」に設定された情報である「９０（％）」を取得する。そして、例えば、Ｓ３５で算出された一致度情報１３３が７２（％）である場合、異常検出部１１４は、Ｓ３５で算出された一致度情報１３３が「閾値情報」に設定された情報である「９０（％）」未満であるため、第１作業について異常判定を行う（Ｓ４１のＮＯ、Ｓ４２）。
【０１５８】
なお、第１作業識別情報２３２ａ、第２作業識別情報２３２ｂ及び第３作業識別情報２３２ｃの「シグネチャＩＤ」を全て有する情報が特徴点情報１３６に存在する場合、情報管理部１１３は、例えば、その特徴点情報１３６に存在した情報の「発生回数」を増加させるものであってよい。この場合、情報管理部１１３は、第１作業について異常判定を行わないと決定した場合に限り（Ｓ４１のＹＥＳ、Ｓ４３）、特徴点情報１３６の「発生回数」に設定された情報を増加させるものであってよい。
【０１５９】
また、一致度算出部１１５は、第１ビット列と、図２９に示す特徴点情報１３６に含まれる全てのビット列との比較を行い、それぞれ一致度情報１３３を算出するものであってもよい（Ｓ３４）。そして、異常検出部１１４は、この場合、算出した一致度情報１３３に閾値情報１３４以上である情報が存在する場合に、第１作業について異常判定を行わないものであってもよい（Ｓ４１のＹＥＳ、Ｓ４３）。一方、異常検出部１１４は、算出した一致度情報１３３に閾値情報１３４以上である情報が存在しない場合に、第１作業について異常判定を行うものであってもよい（Ｓ４１のＮＯ、Ｓ４２）。
【０１６０】
[閾値情報１３４を更新する際の処理]
次に、閾値情報１３４を更新する際に実行される処理（以下、閾値情報更新処理とも呼ぶ）について説明を行う。情報処理装置１の閾値情報作成部１１６は、閾値情報作成タイミングまで待機する（Ｓ５１のＮＯ）。閾値情報作成タイミングは、例えば、１週間に１回等、定期的なタイミングであってよい。
【０１６１】
その後、閾値情報作成タイミングになった場合（Ｓ５１のＹＥＳ）、閾値情報作成部１１６は、情報格納領域１３０に蓄積された特徴点情報１３６を参照する（Ｓ５２）。具体的に、閾値情報作成部１１６は、例えば、図２９に示す特徴点情報１３６に含まれる「最終発生日時」に設定された情報を参照する。
【０１６２】
そして、閾値情報作成部１１６は、「最終発生日時」に設定された情報が所定の日時よりも前であるか否かと判定する（Ｓ５３）。すなわち、閾値情報作成部１１６は、特徴点情報１３６に含まれる各情報に対応する作業識別情報２３２が前回発生された日時（以下、第１日時とも呼ぶ）について、所定の日時よりも前であるか否かの判定を行う。その結果、「最終発生日時」に設定された情報が所定の日時よりも前である場合（Ｓ５３のＹＥＳ）、閾値情報作成部１１６は、Ｓ５２で参照した特徴点情報１３６の「閾値情報」に設定すべき情報を、第１の閾値に決定する（Ｓ５４）。一方、「最終発生日時」に設定された情報が所定の日時よりも後である場合（Ｓ５３のＮＯ）、閾値情報作成部１１６は、Ｓ５２で参照した特徴点情報１３６の「閾値情報」に設定すべき情報を、第１の閾値よりも高い値である第２の閾値に決定する（Ｓ５５）。
【０１６３】
すなわち、閾値情報作成部１１６は、作業者が情報処理装置１に対して行う作業の特性に基づき、閾値情報１３６に設定された値の調整を行う。これにより、情報処理装置１は、各作業の発生状況を反映させた形で、第１作業について異常判定を行うか否かの決定を行うことが可能になる。
【０１６４】
具体的に、現在の日時が２０１５年４月１日０時００分であって、所定の日時が「現在の日時から３か月前」である場合、図２９に示す特徴点情報における「データＩＤ」が「４」及び「６」である情報の「最終発生日時」は、所定の日時よりも前の日時が設定されていることになる。そのため、閾値情報作成部１１６は、この場合、図２９に示す特徴点情報のうち、「データＩＤ」が「４」及び「６」の情報の「閾値情報」に設定すべき情報を第１の閾値に決定する（Ｓ５４）。一方、この場合、図２９に示す特徴点情報のうち、「データＩＤ」が「１」、「２」、「３」及び「５」の情報の「最終発生日時」は、所定の日時よりも後の日時が設定されている。そのため、閾値情報作成部１１６は、図２９に示す特徴点情報のうち、「データＩＤ」が「１」、「２」、「３」及び「５」の情報の「閾値情報」に設定すべき情報を第２の閾値に決定する（Ｓ５５）。
【０１６５】
したがって、図２９の特徴点情報１３６が示す例において、例えば、第１の閾値が８０（％）であって、第２の閾値が９０（％）である場合、閾値情報作成部１１６は、「データＩＤ」が「４」である情報の「閾値情報」を９０（％）から８０（％）に更新する。
【０１６６】
そして、全ての特徴点情報１３６に含まれる全ての情報の取得を行っていない場合（Ｓ５６のＮＯ）、閾値情報作成部１１６は、Ｓ５２以降の処理を再度実行する。一方、特徴点情報１３６に含まれる全ての情報の取得が完了した場合（Ｓ５６のＹＥＳ）、閾値情報作成部１１６は、閾値情報更新処理を終了する。
【０１６７】
このように、第１の実施の形態によれば、情報処理装置１は、情報処理装置１上で実行される複数のプロセスの実行に伴って生じるイベントを、情報処理装置１のシステム資源に対するアクセス情報に基づき、プロセス毎に対応付けた対応情報１３１を作成する。そして、情報処理装置１は、各プロセスを実行するための作業毎に、対応情報１３１を参照し、各作業に対応するプロセスに対応付けられたイベントから、各作業を識別する作業識別情報１３２を作成して情報処理装置１３０に蓄積する。
【０１６８】
その後、情報処理装置１は、情報処理装置１上で実行される第１プロセスを実行するための第１作業が行われた場合において、第１作業から作成された新たな作業識別情報が、蓄積された作業識別情報１３２と異なる場合、第１作業についての異常の判定を行う。
【０１６９】
これにより、情報処理装置１は、情報処理装置１に対して行われた第１作業のうち、異常な作業である可能性がある作業の検出を行うことが可能になる。そして、作業者は、例えば、検出した作業について詳細な調査を行うことが可能になる。
【０１７０】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１７１】
（付記１）
コンピュータに、
該コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成し、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積し、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う、
処理を実行させることを特徴する異常検出プログラム。
【０１７２】
（付記２）
付記１において、
前記システム資源は、情報の入力を受け付ける入力装置と、前記コンピュータ上で動作するアプリケーションと、前記コンピュータ上で動作するオペレーティングシステムとを含み、
前記イベントは、前記入力装置に対する情報の入力に応じて実行されるプロセスの実行に伴って生じる第１イベントと、前記アプリケーションに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じる第２イベントと、前記オペレーティングシステムに対するアクセスの発生に応じて実行されるプロセスの実行に伴って生じる第３イベントとを含み、
前記作業識別情報は、前記第１イベントから生成される第１作業識別情報と、前記第２イベントから生成される第２作業識別情報と、前記第３イベントから生成される第３作業識別情報とを含む、
ことを特徴とする異常検出プログラム。
【０１７３】
（付記３）
付記１において、さらに、
前記第１作業から生成された作業識別情報に含まれる情報と、前記記憶部に蓄積された各作業識別情報に含まれる情報との一致度である第１の値をそれぞれ算出し、
前記異常の判定を行う処理では、算出した前記第１の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出プログラム。
【０１７４】
（付記４）
付記３において、
前記第１の値を算出する処理では、さらに、算出した前記第１の値に対し、前記第１作業から生成された作業識別情報と同じ内容の作業識別情報が過去に生成された回数に応じた補正係数を乗算した第２の値をそれぞれ算出し、
前記異常の判定を行う処理では、算出した前記第２の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出プログラム。
【０１７５】
（付記５）
付記３において、さらに、
前記記憶部に蓄積された作業識別情報と同じ内容の作業識別情報が前回生成された第１日時が所定の日時よりも前である場合、前記第１日時が前記所定の日時よりも後である場合よりも低い値を、前記所定の閾値として決定する、
ことを特徴とする異常検出プログラム。
【０１７６】
（付記６）
付記４において、
前記作業識別情報に含まれる情報は、所定の規則に基づいて変換されたビット列である、
ことを特徴とする異常検出プログラム。
【０１７７】
（付記７）
コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成する対応情報生成部と、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積する作業識別情報生成部と、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う処理部と、を有する、
ことを特徴とする異常検出装置。
【０１７８】
（付記８）
付記７において、さらに、
前記第１作業から生成された作業識別情報に含まれる情報と、前記記憶部に蓄積された各作業識別情報に含まれる情報との一致度である第１の値をそれぞれ算出する一致度算出部を有し、
前記処理部は、算出した前記第１の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出装置。
【０１７９】
（付記９）
コンピュータのシステム資源に対するアクセス情報に基づき、前記コンピュータ上で実行される複数のプロセスの実行に伴って生じるイベントを前記プロセス毎に対応付けた対応情報を生成し、
前記プロセスが実行される作業毎に、前記対応情報を参照し、前記作業に対応するプロセスに対応付けられたイベントから、前記作業を識別する作業識別情報を生成して記憶部に蓄積し、
前記コンピュータ上で実行される第１プロセスを実行する第１作業が行われた場合に、前記第１作業から生成された作業識別情報が、前記記憶部に蓄積された前記第１プロセスに関する作業識別情報と異なる場合、前記第１作業について異常の判定を行う、
処理を実行させることを特徴する異常検出方法。
【０１８０】
（付記１０）
付記９において、さらに、
前記第１作業から生成された作業識別情報に含まれる情報と、前記記憶部に蓄積された各作業識別情報に含まれる情報との一致度である第１の値をそれぞれ算出し、
前記異常の判定を行う工程では、算出した前記第１の値が所定の閾値未満である場合、前記第１作業について異常の判定を行う、
ことを特徴とする異常検出方法。
【符号の説明】
【０１８１】
１：情報処理装置                ２：作業者端末
３：ファイアーウォール装置      １１：外部端末
ＮＷ：ネットワーク
【図１】
2016224871.tif 000003
【図２】
2016224871.tif 000004
【図３】
2016224871.tif 000005
【図４】
2016224871.tif 000006
【図５】
2016224871.tif 000007
【図６】
2016224871.tif 000008
【図７】
2016224871.tif 000009
【図８】
2016224871.tif 000010
【図９】
2016224871.tif 000011
【図１０】
2016224871.tif 000012
【図１１】
2016224871.tif 000013
【図１２】
2016224871.tif 000014
【図１３】
2016224871.tif 000015
【図１４】
2016224871.tif 000016
【図１５】
2016224871.tif 000017
【図１６】
2016224871.tif 000018
【図１７】
2016224871.tif 000019
【図１８】
2016224871.tif 000020
【図１９】
2016224871.tif 000021
【図２０】
2016224871.tif 000022
【図２１】
2016224871.tif 000023
【図２２】
2016224871.tif 000024
【図２３】
2016224871.tif 000025
【図２４】
2016224871.tif 000026
【図２５】
2016224871.tif 000027
【図２６】
2016224871.tif 000028
【図２７】
2016224871.tif 000029
【図２８】
2016224871.tif 000030
【図２９】
2016224871.tif 000031
【図３０】
2016224871.tif 000032