説明

不正操作判定システム、不正操作判定方法及び不正操作判定プログラム

コンピュータが受付けたオペレーションについて、プロファイルを参照して特異行動から不正操作であるかを判定するための不正操作判定システムを提供する。権限のあるユーザがコンピュータを換えて行う不正や、ユーザプロファイルの作成されていない新規ユーザの不正にも対応する。 ユーザがあるオペレーションを実行すると、当該オペレーションの傾向及び当該ユーザの実行するオペレーションの傾向を学習してそれぞれノードプロファイル、ユーザプロファイルを作成し、それぞれノードプロファイルステートテーブル、各々のユーザのユーザプロファイルステートテーブルに格納される。このように作成されたノードプロファイル、ユーザプロファイルを参照して、受け付けたオペレーションと通常の操作パターンとの乖離計算を行って、当該オペレーションが特異操作に該当するか否かを判定し、不正操作である可能性をスコア値として算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定システム、不正操作判定方法及び不正操作判定プログラムに関するものである。
【背景技術】
【0002】
コンピュータに格納された情報の不正な取得やコンピュータからネットワークへの不正な侵入など、コンピュータの不正操作による被害を防止するために様々な技術が提供されている。例えば、ID・パスワード等により操作権限を認証する方法が広く用いられているが、この方法によるとID・パスワードを保有する権限のある者による不正操作や、ID・パスワードを不正に取得した第三者による操作などを防止することができない。
【0003】
このような課題に対応するために、一般的に不正操作である可能性が高い操作パターンをルールとして登録し、コンピュータが受け付けた操作をルールと対比して不正操作である可能性を判定するルールベースによる判定が行われるようになっている。例えばネットワークに送出されるデータに対して、アクセス権や送信元、送信する文書の種類などについて予め定められたルールを参照して、不正の恐れがあると検知されると通信を切断する技術が開示されている(特許文献1参照。)。しかしながら、ルールベースによる判定は、不正な意図をもった操作であってもルールの範囲内であれば不正と判定されず、また、従来とは全く異なる方法により登録されたルールに該当しない不正な操作が実行されると、これを感知することができないという問題を有している。
【0004】
そこで、一般に不正な操作は日常的に行われる操作とは異なり、あるタイミングにおいて特異に発生する操作であることに着目して、コンピュータに対する操作の履歴からユーザの行動パターンを設定したプロファイルを作成し、コンピュータが受け付けた操作をプロファイルと対比して不正操作である可能性を判定する方法も発明されている。例えば、ユーザのネットワークの使用状況からプロファイルを作成してネットワークの不正侵入を検知する技術(特許文献2参照。)や、コンピュータの操作履歴から日常的な操作内容を登録して、これに合致しない操作を不正操作と判定する技術(特許文献3参照。)が開示されている。
【特許文献1】特開2002−232451号公報
【特許文献2】特開2002−135248号公報
【特許文献3】特開2002−258972号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
前記特許文献2及び前記特許文献3記載の発明は、いずれもコンピュータの操作パターンはコンピュータのユーザ単位で設定されることとなっている。例えば企業等で業務用に用いられるコンピュータは、1台のコンピュータに複数のアカウントを設けて複数のユーザが共同で利用することが少なくないため、不正の基準となるプロファイルはユーザ単位で設定することが好ましい。しかしながら、ユーザ単位でプロファイルを設ける方式には、次のような課題が存在している。
【0006】
まず、不正操作の判定を複数のコンピュータとネットワークで接続された管理用のサーバで行うこととした場合、あるユーザが自己のプロファイルの範囲内において操作を行う限りは、通常使用しているコンピュータと異なるコンピュータを操作していても正常な操作であると判定されてしまうことになる。当該ユーザが何らかの不正を行うために同一のネットワーク上にあるが通常は使用しないコンピュータを使用していた場合、例えば、本社で会計関係のデータを扱っている権限のある社員が、通常は使わない倉庫のコンピュータで会計関係のデータを操作していた場合、特異な操作で不正の可能性があるにも関わらず、ユーザ単位のプロファイルのみではかかる操作を不正と判定することができない。
【0007】
また、ユーザ単位でプロファイルを作成する場合、特定のコンピュータについて新しいユーザアカウントを設けた場合、新たなユーザについて信頼性の高いプロファイルを作成するためには、当該ユーザについて一定の操作履歴の蓄積を待たねばならず、その間は有効な判定を行うことができない、という問題もある。
【0008】
これらの課題に対処するためには、不正操作の判定を行うためのプロファイルをユーザ単位でのみ設定するのではなく、コンピュータ単位でも設定して双方の観点から総合的に判定することが好ましい。かかる判定を行うためには、コンピュータが様々な操作を受け付ける中で、コンピュータ単位のプロファイルとユーザ単位のプロファイルを効率的に作成することが必要になる。
【0009】
本発明は、このような課題に対応してなされたものであり、コンピュータが受付けたオペレーションを、コンピュータ単位のプロファイルとユーザ単位のプロファイルを参照して不正操作であるかを判定するための不正操作判定システム、不正操作判定方法及び不正操作判定プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【0010】
このような課題を解決するために、本発明は、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定システムであって、前記オペレーションを実行するための指示データを受け付けるオペレーション受付手段と、前記指示データから、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成する第一のプロファイル作成手段と、前記第一のプロファイル作成手段が作成した第一のプロファイルを格納する第一のプロファイル格納手段と、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成する第二のプロファイル作成手段と、前記第二のプロファイル作成手段が作成した第二のプロファイルをユーザ別に格納する第二のプロファイル格納手段と、前記指示データを、前記第一のプロファイル格納手段又は前記第二のプロファイル格納手段に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するスコア値算出手段と、を備えることを特徴とする。
【0011】
この発明においては、コンピュータが受け付けたオペレーションからコンピュータ単位、ユーザ単位それぞれを基準にしたプロファイルを作成して格納し、新たに受け付けたオペレーションをそれぞれ対応するプロファイルと対比して不正操作の判定を行うことにより、ユーザを基準とした特異な操作からの判定のみでなく、コンピュータに対する特異な操作に対する判定を行うことができる。そのため、権限のあるユーザがコンピュータを換えて行う不正や、ユーザプロファイルの作成していない新規のユーザの不正にも対応することができる。
【0012】
プロファイルの作成においては、特定のユーザのオペレーションを、オペレーションの受付け時にログインしているユーザのユーザID、オペレーションを受け付けた指示データに含まれるユーザID等で識別して、コンピュータに特定のユーザがログインしている状態でのオペレーションからはユーザ単位でのプロファイルを作成することとすればよい。コンピュータ単位でのプロファイルの作成は、特定のユーザがログインせずにコンピュータが操作されている状態でのオペレーションのみを対象としてもよいし、特定のユーザがログインした状態も含めた全てのオペレーションを対象としてもよい。
【0013】
また、本発明は、前記コンピュータにかかるログデータを格納する第一のログデータ格納手段と、前記コンピュータにかかるユーザ別のログデータを格納する第二のログデータ格納手段と、を備えていて、前記第一のプロファイル作成手段は、前記第一のログデータ格納手段を参照して前記第一のプロファイルを作成し、前記第二のプロファイル作成手段は、前記第二のログデータ格納手段を参照して前記第二のプロファイルを作成すること
を特徴とすることもできる。
【0014】
コンピュータ単位のプロファイル、ユーザ単位でのプロファイルは、いずれもそれぞれコンピュータユーザの操作傾向を定義するものなので、プロファイルの作成には過去の操作履歴であるログデータを用いることができる。
【0015】
さらに、本発明は、前記コンピュータに特定のユーザがログインしているかを検出するための処理を実行するログイン検出手段を備えており、前記ログイン検出手段により特定のユーザがログインしていることが検出されると、前記第二のプロファイル作成手段が前記ユーザにかかるプロファイルを作成することを特徴とすることもできる。前記ログイン検出手段が検出処理を実行しても特定のユーザがログインしていることが検出されない場合には、前記第一のプロファイル作成手段が前記コンピュータにかかるプロファイルを作成することを特徴としてもよい。上記のそれぞれの構成において、前記ログイン検出手段は、前記コンピュータが稼動している間は所定の間隔で検出処理を実行することを特徴としてもよい。
【0016】
このように構成すると、プロファイルの作成に用いられる特定のオペレーションが行われない場合であっても、ユーザがログインしていることが検出されるとその時点で当該ユーザがコンピュータを使用していることを、ログインしていない場合にもコンピュータが稼動していることを、操作履歴として記録することができる。このように記録される操作履歴は、稼働時間からユーザやコンピュータの操作傾向を分析して、プロファイルの作成に用いることができる。
【0017】
さらに、本発明は、前記指示データについて、前記オペレーションの実行操作を行ったユーザが前記コンピュータを初めて操作するファーストユーザであると特定されると、ファーストユーザであると特定されたユーザが実行操作を行ったオペレーションにかかる第三のプロファイルを作成する第三のプロファイル作成手段と、前記第三のプロファイル作成手段が作成した第三のプロファイルを格納する第三のプロファイル格納手段と、を備えていて、前記スコア値算出手段は、前記第二のプロファイル格納手段に換えて前記第三のプロファイル格納手段に格納された少なくとも一つのプロファイルを用いて前記オペレーションが不正操作であるかを判定することを特徴とすることもできる。前記コンピュータを操作するユーザの、前記コンピュータへのログイン回数、前記コンピュータを操作した操作時間、又は前記コンピュータを操作した操作日数の少なくとも一つの操作実績に関する累積値をユーザ別に格納する操作実績格納手段と、前記操作実績格納手段を参照して、前記累積値が予め定められた基準値に満たない場合には、前記オペレーションを実行したユーザを、前記コンピュータを初めて操作するファーストユーザと判定するファーストユーザ判定手段と、を備えていて、前記第三のプロファイル作成手段は、前記ファーストユーザ判定手段がファーストユーザと判定したユーザが実行操作を行ったオペレーションを対象に前記第三のプロファイルを作成し、前記スコア算出手段は、前記ファーストユーザ判定手段がファーストユーザと判定した場合に前記第三のプロファイル格納手段に格納された少なくとも一つのプロファイルを用いて前記オペレーションが不正操作であるかを判定することを特徴としてもよい。
【0018】
ユーザプロファイルの作成されていないコンピュータを始めて使用するファーストユーザに対しては、操作するコンピュータのプロファイルから一般的な不正操作を判定することはできるが、このように構成すると、さらにファーストユーザの一般的な操作傾向と対比することにより、より正確な不正操作の判定を行うことができる。ファーストユーザとして扱うユーザは、当該コンピュータを全く初めて操作するユーザに限定してもよいが、適切なユーザプロファイルが作成されるまでは2回目以降についても当面の間は一般的なファーストユーザ用のプロファイルを用いることとしてもよい。ファーストユーザ用のプロファイルを用いる期間は、初回のみの他に、所定のログイン回数を指定、所定の操作時間を指定(例えば、合計ログイン時間99時間等。)、所定の操作日数を指定(例えば、初回操作から10日間の間等。)などのルールを自由に設定できることとしてもよい。
【0019】
さらに、本発明は、前記スコア値算出手段は、前記指示データと前記プロファイルに記録されたデータとの乖離計算によりスコア値を算出することを特徴とすることもできる。
【0020】
さらに、本発明は、前記スコア値が基準値を超えると前記オペレーションの停止処理を実行するオペレーション停止手段を備えることを特徴とすることもできる。前記スコア値が基準値を超えると、前記コンピュータの操作画面に警告を表示、又は前記コンピュータに警告音を発生させるための処理を実行する警告処理手段を備えることを特徴としてもよい。前記スコア値が基準値を超えると、前記コンピュータの管理者が操作する管理サーバに不正操作の可能性を警告する通知を送信する警告通知送信手段を備えることを特徴としてもよい。
【0021】
このように、スコア値の算出は受け付けたオペレーションに関する指示データと一般的な操作傾向であるプロファイルとの乖離計算により行うことが可能であり、不正操作であるか否かの判定は、スコア値が所定の基準値を超えるか否かにより行えばよい。不正操作と判定された場合には、オペレーションを中止させてもよいし、コンピュータに警告画面を表示したり警告音を発したりしてもよい。ネットワークを通じて管理者に不正の発生を通知してもよい。
【0022】
本発明は、これまで説明した不正操作判定システムのそれぞれの構成を用いた不正操作判定方法として把握することもできる。また、不正操作判定システムのそれぞれの構成に用いられる不正操作判定プログラムとして把握してもよい。尚、上記の不正操作判定方法及び不正操作判定プログラムは、プロファイルをコンピュータ内に格納して不正操作の判定を行う場合、プロファイルをネットワークで接続された他のコンピュータに格納して判定を行う場合の2つのケースにより、各々の手順が異なることになる。
【0023】
つまり、本発明にかかる第一の不正操作判定方法は、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定方法であって、前記コンピュータが、前記オペレーションを実行するための指示データを受け付けるステップと、前記コンピュータが、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納部に格納するステップと、前記コンピュータが、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納部に格納するステップと、前記コンピュータが、前記指示データを前記第一のプロファイル格納部又は前記第二のプロファイル格納部に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、を有することを特徴とする不正操作判定方法である。
【0024】
本発明にかかる第二の不正操作判定方法は、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定方法であって、前記コンピュータが、前記オペレーションを実行するための指示データを受け付けるステップと、前記コンピュータが、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納装置に送信するステップと、前記コンピュータが、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納装置に送信するステップと、前記コンピュータが、前記第一のプロファイル格納装置又は前記第二のプロファイル格納装置から少なくとも一つのプロファイルを取得し、前記指示データを前記プロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、を有することを特徴とする不正操作判定方法である。
【0025】
また、本発明にかかる第一の不正操作判定プログラムは、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定プログラムであって、前記コンピュータに、前記オペレーションを実行するための指示データを受け付けるステップと、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納部に格納するステップと、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納部に格納するステップと、前記指示データを前記第一のプロファイル格納部又は前記第二のプロファイル格納部に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、を実行させることを特徴とする不正操作判定プログラムである。
【0026】
本発明にかかる第二の不正操作判定プログラムは、コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定プログラムであって、前記コンピュータに、前記オペレーションを実行するための指示データを受け付けるステップと、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納装置に送信するステップと、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納装置に送信するステップと、前記第一のプロファイル格納装置又は前記第二のプロファイル格納装置から少なくとも一つのプロファイルを取得し、前記指示データと前記プロファイルを対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、を実行させることを特徴とする不正操作判定プログラムである。
【発明の効果】
【0027】
本発明により、ルールベースでは判定できないコンピュータに対する特異な操作について不正操作であるか否かを判定できるとともに、ユーザを基準とした特異な操作からの判定のみでなく、コンピュータに対する特異な操作に対する判定を行うことも可能になる。そのため、権限のあるユーザがコンピュータを換えて行う不正や、ユーザプロファイルの作成されていない新規のユーザの不正にも対応することができるので、コンピュータの不正操作に対する安全性を著しく高めることができる。
【発明を実施するための最良の形態】
【0028】
本発明を実施するための最良の形態について、図面を用いて以下に詳細に説明する。尚、以下の説明では主としてネットワークに接続されたコンピュータの不正操作を判定する例について説明するが、これは本発明の実施形態の一例であって、コンピュータはスタンドアローンで用いられるものであってもよく、本発明はかかる実施形態に限定されるものではない。
【0029】
図1は、本発明にかかる不正操作判定システムの概要を示す図である。図2、図3は、本発明にかかる不正操作判定システムの、それぞれ第1、第2の実施形態を示すブロック図である。図4は、本発明にかかる不正操作判定システムの構成を示すブロック図である。図5、図6は、本発明にかかる不正操作判定システムにより、ノードプロファイルとユーザプロファイルの作成する、それぞれ第1、第2のパターンを示す図である。図7は、本発明にかかる不正操作判定システムのフローを示すフローチャートである。
【0030】
図1を用いて、本発明にかかる不正操作判定システムの概要について説明する。図1の例では、本発明にかかる不正操作判定システムはネットワークに接続されたクライアントPCに備えられている。クライアントPCは複数のユーザにより利用されていて、各々のユーザに対応したアカウントが設けられている。
【0031】
あるユーザがクライアントPCで何らかのオペレーションを実行すると、当該クライアントPCが受け付けるオペレーションの傾向及び当該ユーザの実行するオペレーションの傾向を学習してそれぞれノードプロファイル、ユーザプロファイルを作成する。このように作成されたプロファイルは、ノードプロファイルはノードプロファイルステートテーブルに、ユーザプロファイルは各々のユーザについて設けられたユーザプロファイルステートテーブルに、それぞれ格納される。
【0032】
当該ユーザが実行したオペレーションについてプロファイルを作成すると、次に当該オペレーションが特異操作に該当するか否かの判定が行われる。判定はノードプロファイルステートテーブルに格納されたノードプロファイル、ユーザプロファイルステートテーブルに格納された対応するユーザのユーザプロファイルを参照して、通常の操作パターンとの乖離計算により実行される。参照するテーブルは、オペレーションの内容によってノードプロファイル、ユーザプロファイルの双方であってもよいし、いずれか一方であってもよい。
【0033】
乖離計算の結果は、不正操作の可能性を示すスコア値として算出される。スコア値に一定の基準値を設けることにより、基準値を超えて不正操作である可能性が高いオペレーションに対しては、オペレーションの中止処理、ディスプレイへの警告表示、管理者への通知の送信など、予め定められたアクションを実行するよう設定することができる。
【0034】
本発明にかかる不正操作判定システムは、コンピュータをスタンドアローンで用いる場合、コンピュータをネットワークに接続して用いる場合のいずれにおいても利用することができる。後者については、クライアントPCが単独で不正操作の判定を行うこととしてもよいし、クライアントPCが不正監視用のサーバと協働して不正操作の判定を行うこととしてもよい。図2は、クライアントPCが単独で不正操作の判定を行う本発明にかかる不正操作判定システムの第1の実施形態を、図3は、クライアントPCが不正監視用のサーバと協働して不正操作の判定を行う本発明にかかる不正操作判定システム第2の実施形態を示している。
【0035】
図2に示した本発明にかかる不正操作判定システムは、ユーザ端末20の処理装置210に備えられていて、ユーザ端末20において受け付けたオペレーションが不正操作であるか否かを判定する。不正操作判定システムの機能は、処理装置210のHDD214に格納された学習プログラム10及び不正判定プログラム11により実行される。尚、処理装置においてプログラムを格納するHDD214については、フラッシュメモリなどプログラムを格納することができるその他の記憶媒体を用いるものであってもよい。
【0036】
まず、ユーザ端末20に電源が入れられると、ROM213に記憶された入力制御や出力制御などのハードウェア制御のための基本的な各種プログラムを起動するとともに、HDD214からコンピュータのオペレーションシステムを読み出して起動する。併せて、HDD214から学習プログラム10及び不正判定プログラム11を読み出して起動し、RAM212をワークエリアとして機能させながら、CPU211が演算処理を行う。
【0037】
学習プログラム10及び不正判定プログラム11は、例えばIDE(Integrated Drive Electronics、パーソナルコンピュータとHDDやCD−ROMドライブ等のインターフェイスの標準規格)への書き出しを何らかのオペレーションが実行されたイベントと捉えることにより、これらのイベントについて学習及び不正判定の処理を実行する。外部接続バス22に書き出されたデータを監視して、出力装置23や外部記憶装置24に対して実行されるオペレーションとして、学習及び不正判定の処理を実行してもよい。処理装置210においてネットワークへの送信処理がされるデータを監視して、これらのデータを監視してネットワークとの送受信に関する学習及び不正判定の処理を実行してもよい。
【0038】
学習については、受け付けたオペレーションをログデータ格納部14に格納されたログと対比してオペレーションの傾向を分析し、分析結果からプロファイルを作成して、ユーザ端末20に対するユーザを特定しない操作全体のプロファイルはノードプロファイル格納部12に、ユーザを特定したプロファイルについてはユーザプロファイル格納部13に格納する。不正判定については、ユーザ端末20に対する一般的な判定についてノードプロファイル格納部12を参照し、個々のユーザに対する判定についてユーザプロファイル格納部13を参照する。
【0039】
このように、不正操作の判定に用いられるプロファイルを格納するノードプロファイル格納部12及びユーザプロファイル格納部13はユーザ端末20の内部に設けられていてもよいが、図3に示した第2の実施形態のように、ユーザ端末20とネットワークで接続された不正監視サーバ30のHDD314に設けられていてもよい。本発明にかかる不正操作判定システムは、プロファイルを用いた判定の他に一般的なルールベースの判定を併用してもよいが、第2の実施形態においては、例えば不正監視サーバ30に複数のユーザ端末を接続して多くのプロファイルを蓄積し、これらのプロファイルからネットワーク内において汎用的に用いられるルールを作成して、汎用ルール格納部16に格納することとしてもよい。また、図3の例には示していないが、学習プログラム10や不正判定プログラム11の機能を、不正監視サーバ30側に設けることもできる。
【0040】
図4を用いて、本発明にかかる不正操作判定システムにおけるそれぞれの機能の関連について説明する。まず、ユーザ端末20に対して何らかのオペレーションが実行されると、当該オペレーションを実行するためのデータをデータ学習部100が受け付ける。データ学習部100は、ログデータ格納部14を参照して、特異操作判定の基準となるプロファイルを作成する。
【0041】
当該オペレーションが電源のオン・オフなど、ユーザアカウントにログインしていない状態でのオペレーションである場合には、ログデータ格納部14ではユーザを特定しないユーザ端末20についての一般的なログを参照し、データ学習部100はユーザを特定しないユーザ端末20についての一般的なプロファイルを作成して、ノードプロファイル格納部12に格納する。
【0042】
一方、当該オペレーションが特定のユーザアカウントにログインした後のオペレーションである場合には、ログデータ格納部14では当該アカウントに対応するユーザをユーザID等で特定し、該当するユーザのログを参照し、データ学習部100はユーザを特定したプロファイルを作成して、ユーザプロファイル格納部13の該当するユーザに関するテーブルに格納する。同一のユーザがログインを継続した状況で複数のオペレーションを実行した場合には、それぞれのオペレーションについてログイン時に特定されたユーザID等をキーとしてユーザを特定し、プロファイルが作成される。ユーザの特定については、例えばログイン時に特定されたユーザID等をログインが継続されている間はRAM212等の演算処理領域に保持しておき、プロファイルの作成時にこれを読み出すこととしてもよいし、ログインされた状態においてはオペレーションの実行を指示する指示データにユーザIDを特定するヘッダー等を付与し、当該ヘッダーをキーとしてユーザを特定することとしてもよい。尚、ユーザが特定されたオペレーションについては、これも同一のコンピュータが受け付けたオペレーションであるとして、併せてユーザを特定しないユーザ端末20についての一般的なプロファイルを作成し、ノードプロファイル格納部12に格納することとしてもよい。
【0043】
次に、当該オペレーションを実行するためのデータは、特異操作判定部110において対応するプロファイルを参照して、不正操作である可能性についての判定が行われる。当該オペレーションがユーザを特定しない操作である場合には、ノードプロファイル格納部12に格納されたプロファイルを、当該オペレーションがユーザを特定することができる操作である場合には、ユーザプロファイル格納部13に格納された対応するユーザのプロファイルを参照して、特異操作であるか否かの判定が行われる。
【0044】
特異操作の判定は、受け付けたオペレーションと対応するプロファイルの乖離計算により行われる。乖離計算の基準には、例えばオペレーションを受け付ける時間帯やその標準値、オペレーションの頻度、処理に要するデータ量など、数値化の可能な様々なデータを用いることができる。
【0045】
特異操作判定部110において乖離計算が実行されると、スコア算出部111においては不正操作である可能性をスコア値として算出する。スコアの設定は乖離計算により算出されたプロファイルとの乖離度合いにより定めることとすればよいが、算出されたスコアに一定の基準値を設けることにより、基準値を上回る場合には不正操作であると判定して、オペレーションの中止処理等を実行するよう設定することもできる。
【0046】
尚、上記で説明したデータ学習部100、特異操作判定部110、スコア算出部111の各部は物理的に分離されて設けられたものではなく、各々の処理を実行するためのプログラムとしてHDD214に格納された学習プログラム10又は不正判定プログラム11に含まれていて、順次読み出されてRAM212をワークエリアとして機能させながら、CPU211により演算処理が実行されるものである。
【0047】
また、上記の説明では、オペレーションを受け付けると学習を行った後に特異判定を行うこととしているが、処理の順序はこのように限定されるものではなく、受け付けたオペレーションの特異判定を行った後に、当該オペレーションに関する学習を行って新たなプロファイルを作成することとしてもよい。
【0048】
次に、図5、図6を用いて、本発明にかかる不正操作判定システムによりノードプロファイルとユーザプロファイルを作成する手順について、具体例に沿って2つのパターンを説明する。図5は、ユーザが特定されていない場合のオペレーションについてはノードプロファイルを、ユーザが特定されている場合のオペレーションについてはユーザプロファイルを作成する第1のパターンを示す図である。図6は、全てのオペレーションについてノードプロファイルを、ユーザが特定されている場合のオペレーションについてはユーザプロファイルを作成する第2のパターンを示す図である。
【0049】
図5に示した第1のパターンにおいて、コンピュータに電源が入れられてオペレーションシステムが起動された後に、本発明にかかる不正操作判定システムが起動されるここでコンピュータに電源を入れるというオペレーションをイベントとして捉え、コンピュータの起動時間等に関するプロファイルを作成するが、この時点ではユーザがログインしておらず特定できないため、当該コンピュータに関する一般的なプロファイルとしてノードプロファイルが作成される。
【0050】
次に、コンピュータを起動したユーザ1が自らのアカウントにログインすると、ユーザ1がログインしたというオペレーションをイベントとして、ユーザ1に関するプロファイルを作成する。ユーザ1がログイン中に行ったアプリケーションの起動や操作、ネットワークへのアクセス、プリントアウト等の様々なオペレーションもイベントとして捉えることが可能であり、これらのイベントからもユーザ1に関するプロファイルが作成される。ユーザ1がログアウトすると、ログアウトにかかるオペレーションについてもユーザ1のプロファイルを作成することができる。
【0051】
ユーザ1がログアウトした後、他のユーザがログインするまでの間に、電源のオン・オフその他のオペレーションが行われた場合には、ユーザが特定されないオペレーションとしてノードプロファイルが作成される。その後にユーザ2がログインすると、ユーザ1の場合と同様に、ユーザ2についてのプロファイルが作成される。ユーザ2のプロファイルは、ユーザID等によりユーザ1のプロファイルとは識別され、異なるテーブルに格納される。
【0052】
コンピュータが受け付けたオペレーションの不正操作の判定においては、上記の区分と同様に、ユーザが特定されていない状態ではノードプロファイルが、ユーザが特定されている状態では各々のユーザに対応するユーザプロファイルが用いられる。各々のユーザに対応するプロファイルの特定は、ログイン時に受け付けたユーザID等を用いることができる。
【0053】
図6に示した第2のパターンにおいては、ユーザが特定された状態で受け付けたオペレーションについて、各々のユーザのプロファイルを作成するとともに、ユーザを特定しない当該コンピュータについてのノードプロファイルを作成することとしている。ユーザが特定されたオペレーションであっても、当該コンピュータが受け付けたオペレーションであることに違いはないため、ノードプロファイルについては電源オンからオフまでの全てのオペレーションを対象にしてもよい。
【0054】
また、プロファイルを作成する対象となるオペレーションは実行されていないが、コンピュータに電源が入れられた状態や、特定のユーザがログインした状態が継続していることをプロファイルの作成に用いることとしてもよい。そのためには、例えば1時間に1度といった頻度で当該処理を行うプログラムを起動して電源がオンであること、特定のユーザがログインしていることを検出し、これらの結果からプロファイルを作成するよう構成することもできる。
【0055】
尚、これまで説明した図5及び図6いずれのパターンにおいても、ログインしているのは1ユーザという前提となっているが、オペレーションシステムにおいて1つのコンピュータに対して複数のログインが可能な設定が行われているなど、同時に複数ユーザの操作が並行して行われる場合においては、ユーザプロファイルの作成、ユーザプロファイルを用いた不正操作の判定についても、複数のユーザプロファイルを対象にした処理が同時に行われるよう設定することができる。ノードプロファイルについても、それぞれのユーザの全てのオペレーションを対象に、プロファイルの作成及びプロファイルによる判定を並行して処理することとしてもよい。
【0056】
図7のフローチャートを用いて、本発明にかかる不正操作判定システムのフローについて説明する。尚、以下に説明するフローは、本発明にかかる不正操作判定システムの処理フローの一例であって、プロファイルの作成とスコア算出の順序、ユーザが特定されたオペレーションについてノードプロファイル作成の有無などについて、本発明は以下のフローに示した例に限定されるものではない。
【0057】
まず、コンピュータに電源が入れられて不正操作判定システムが起動すると、コンピュータの起動についてのノードプロファイルを作成する(S01)。作成されたノードプロファイルは、ノードプロファイルステートテーブルに格納される(S02)。
【0058】
次に、コンピュータの起動について、当該電源オンにかかるオペレーションとノードプロファイルステートテーブルに格納されたコンピュータの電源オンに関するノードプロファイルを対比して乖離計算を実行し(S03)、スコアを算出する(S04)。算出されたスコアを予め定められた基準値と対比して(S05)、基準値を上回る場合には不正操作である可能性が高いとして、オペレーションの停止処理、具体的にはコンピュータの起動処理の停止を実行する(S06)。
【0059】
一方、スコアが基準値に満たない場合には、そのままオペレーションの受け付けが継続される。特定のユーザについてのログインを受け付けると(S07)、ログインしたユーザのユーザIDを識別する(S08)。当該ユーザがログインを行ったことについてユーザプロファイルを作成し(S09)、当該ユーザのユーザIDに対応するユーザプロファイルステートテーブルに、作成したユーザプロファイルを格納する(S10)。
【0060】
次に、当該ユーザのログインについて、当該ユーザのログインにかかるオペレーションと当該ユーザに対応するユーザプロファイルステートテーブルに格納されたログインに関するユーザプロファイルを対比して乖離計算を実行し(S11)、スコアを算出する(S12)。算出されたスコアを予め定められた基準値と対比して(S13)、基準値を上回る場合には不正操作である可能性が高いとして、オペレーションの停止処理、具体的にはログインの受け付け処理の停止を実行する(S14)。
【0061】
一方、スコアが基準値に満たない場合には、そのままオペレーションの受け付けが継続される。ログインしたユーザは様々なアプリケーション等の処理を実行するが、不正操作判定システムは新たなアプリケーション等の起動をIDEへの書き出しを監視することにより検出する(S15)。IDEへの書き出しがない場合は監視を継続し、IDEへの書き出しが検出されると、書き出されたデータにより実行される処理に関するユーザプロファイルを作成し(S16)、当該ユーザのユーザIDに対応するユーザプロファイルステートテーブルに、作成したユーザプロファイルを格納する(S17)。尚、アプリケーション等の起動はIDEへの書き出しを監視することにより検出することとしているが、アプリケーション等のワークエリアとなるメモリ領域を監視して、新たな操作が行われたことを検出することとしてもよい。
【0062】
次に、当該ユーザのログインについて、当該ユーザのアプリケーションの起動等にかかるオペレーションと当該ユーザに対応するユーザプロファイルステートテーブルに格納されたアプリケーションの起動等に関するユーザプロファイルを対比して乖離計算を実行し(S18)、スコアを算出する(S19)。算出されたスコアを予め定められた基準値と対比して(S20)、基準値を上回る場合には不正操作である可能性が高いとして、オペレーションの停止処理、具体的にはアプリケーションの中止処理等を実行する(S21)。一方、スコアが基準値に満たない場合には、引続きIDEへの書き出しの監視が継続される(S15)。
【図面の簡単な説明】
【0063】
[図1]本発明にかかる不正操作判定システムの概要を示す図である。
[図2]本発明にかかる不正操作判定システムの、第1の実施形態を示すブロック図である。
[図3]本発明にかかる不正操作判定システムの、第2の実施形態を示すブロック図である。
[図4]本発明にかかる不正操作判定システムの構成を示すブロック図である。
[図5]本発明にかかる不正操作判定システムにより、ノードプロファイルとユーザプロファイルの作成する第1のパターンを示す図である。
[図6]本発明にかかる不正操作判定システムにより、ノードプロファイルとユーザプロファイルの作成する第2のパターンを示す図である。
[図7]本発明にかかる不正操作判定システムのフローを示すフローチャートである。
【符号の説明】
【0064】
10 学習プログラム
100 データ学習部
11 不正判定プログラム
110 特異操作判定部
111 スコア算出部
12 ノードプロファイル格納部
13 ユーザプロファイル格納部
14 ログデータ格納部
15 ログデータ格納部
16 汎用ルール格納部
20 ユーザ端末
210 処理装置
211 CPU
212 RAM
213 ROM
214 HDD
22 外部接続バス
23 出力装置
24 外部記憶装置
30 不正監視サーバ
311 CPU
312 RAM
313 ROM
314 HDD
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】


【特許請求の範囲】
【請求項1】
コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定システムであって、
前記オペレーションを実行するための指示データを受け付けるオペレーション受付手段と、
前記指示データから、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成する第一のプロファイル作成手段と、
前記第一のプロファイル作成手段が作成した第一のプロファイルを格納する第一のプロファイル格納手段と、
前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成する第二のプロファイル作成手段と、
前記第二のプロファイル作成手段が作成した第二のプロファイルをユーザ別に格納する第二のプロファイル格納手段と、
前記指示データを、前記第一のプロファイル格納手段又は前記第二のプロファイル格納手段に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するスコア値算出手段と、
を備えることを特徴とする不正操作判定システム。
【請求項2】
前記コンピュータにかかるログデータを格納する第一のログデータ格納手段と、
前記コンピュータにかかるユーザ別のログデータを格納する第二のログデータ格納手段と、を備えていて、
前記第一のプロファイル作成手段は、前記第一のログデータ格納手段を参照して前記第一のプロファイルを作成し、
前記第二のプロファイル作成手段は、前記第二のログデータ格納手段を参照して前記第二のプロファイルを作成すること
を特徴とする請求項1記載の不正操作判定システム。
【請求項3】
前記コンピュータに特定のユーザがログインしているかを検出するための処理を実行するログイン検出手段を備えており、
前記ログイン検出手段により特定のユーザがログインしていることが検出されると、前記第二のプロファイル作成手段が前記ユーザにかかる第二のプロファイルを作成すること
を特徴とする請求項1記載の不正操作判定システム。
【請求項4】
前記ログイン検出手段は、前記コンピュータが稼動している間は所定の間隔で検出処理を実行すること
を特徴とする請求項3記載の不正操作判定システム。
【請求項5】
前記ログイン検出手段が検出処理を実行しても特定のユーザがログインしていることが検出されない場合には、前記第一のプロファイル作成手段が前記コンピュータにかかる第一のプロファイルを作成すること
を特徴とする請求項3記載の不正操作判定システム。
【請求項6】
前記ログイン検出手段は、前記コンピュータが稼動している間は所定の間隔で検出処理を実行すること
を特徴とする請求項5記載の不正操作判定システム。
【請求項7】
前記指示データについて、前記オペレーションの実行操作を行ったユーザが前記コンピュータを初めて操作するファーストユーザであると特定されると、ファーストユーザであると特定されたユーザが実行操作を行ったオペレーションにかかる第三のプロファイルを作成する第三のプロファイル作成手段と、
前記第三のプロファイル作成手段が作成した第三のプロファイルを格納する第三のプロファイル格納手段と、を備えていて、
前記スコア値算出手段は、前記第二のプロファイル格納手段に換えて前記第三のプロファイル格納手段に格納された少なくとも一つのプロファイルを用いて前記オペレーションが不正操作であるかを判定すること
を特徴とする請求項1記載の不正操作判定システム。
【請求項8】
前記コンピュータを操作するユーザの、前記コンピュータへのログイン回数、前記コンピュータを操作した操作時間、又は前記コンピュータを操作した操作日数の少なくとも一つの操作実績に関する累積値をユーザ別に格納する操作実績格納手段と、
前記操作実績格納手段を参照して、前記累積値が予め定められた基準値に満たない場合には、前記オペレーションを実行したユーザを、前記コンピュータを初めて操作するファーストユーザと判定するファーストユーザ判定手段と、を備えていて、
前記第三のプロファイル作成手段は、前記ファーストユーザ判定手段がファーストユーザと判定したユーザが実行操作を行ったオペレーションを対象に前記第三のプロファイルを作成し、
前記スコア算出手段は、前記ファーストユーザ判定手段がファーストユーザと判定した場合に、前記第三のプロファイル格納手段に格納された少なくとも一つのプロファイルを用いて前記オペレーションが不正操作であるかを判定すること
を特徴とする請求項7記載の不正操作判定システム。
【請求項9】
前記スコア値算出手段は、前記指示データと前記プロファイルに記録されたデータとの乖離計算によりスコア値を算出すること
を特徴とする請求項1乃至8いずれかに記載の不正操作判定システム。
【請求項10】
前記スコア値が基準値を超えると前記オペレーションの停止処理を実行するオペレーション停止手段を備えること
を特徴とする請求項1乃至8いずれかに記載の不正操作判定システム。
【請求項11】
前記スコア値が基準値を超えると、前記コンピュータの操作画面に警告を表示、又は前記コンピュータに警告音を発生させるための処理を実行する警告処理手段を備えること
を特徴とする請求項1乃至8いずれかに記載の不正操作判定システム。
【請求項12】
前記スコア値が基準値を超えると、前記コンピュータの管理者が操作する管理サーバに不正操作の可能性を警告する通知を送信する警告通知送信手段を備えること
を特徴とする請求項1乃至8いずれかに記載の不正操作判定システム。
【請求項13】
コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定方法であって、
前記コンピュータが、前記オペレーションを実行するための指示データを受け付けるステップと、
前記コンピュータが、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納部に格納するステップと、
前記コンピュータが、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納部に格納するステップと、
前記コンピュータが、前記指示データを前記第一のプロファイル格納部又は前記第二のプロファイル格納部に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、
を有することを特徴とする不正操作判定方法。
【請求項14】
コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定方法であって、
前記コンピュータが、前記オペレーションを実行するための指示データを受け付けるステップと、
前記コンピュータが、前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納装置に送信するステップと、
前記コンピュータが、前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納装置に送信するステップと、
前記コンピュータが、前記第一のプロファイル格納装置又は前記第二のプロファイル格納装置から少なくとも一つのプロファイルを取得し、前記指示データを前記プロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、
を有することを特徴とする不正操作判定方法。
【請求項15】
コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定プログラムであって、前記コンピュータに、
前記オペレーションを実行するための指示データを受け付けるステップと、
前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納部に格納するステップと、
前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納部に格納するステップと、
前記指示データを前記第一のプロファイル格納部又は前記第二のプロファイル格納部に格納された少なくとも一つのプロファイルと対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、
を実行させることを特徴とする不正操作判定プログラム。
【請求項16】
コンピュータが受付けたオペレーションが不正操作であるかを判定するための不正操作判定プログラムであって、前記コンピュータに、
前記オペレーションを実行するための指示データを受け付けるステップと、
前記コンピュータが指示データを受け付けたオペレーションにかかる第一のプロファイルを作成して、第一のプロファイル格納装置に送信するステップと、
前記指示データについて、前記オペレーションの実行操作を行ったユーザを特定し、前記ユーザが実行操作を行ったオペレーションにかかる第二のプロファイルを作成して、第二のプロファイル格納装置に送信するステップと、
前記第一のプロファイル格納装置又は前記第二のプロファイル格納装置から少なくとも一つのプロファイルを取得し、前記指示データと前記プロファイルを対照させて、前記オペレーションが不正操作であるかを判定するためのスコア値を算出するステップと、
を実行させることを特徴とする不正操作判定プログラム。

【国際公開番号】WO2005/048119
【国際公開日】平成17年5月26日(2005.5.26)
【発行日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2005−515391(P2005−515391)
【国際出願番号】PCT/JP2004/006440
【国際出願日】平成16年5月13日(2004.5.13)
【出願人】(397067853)株式会社インテリジェントウェイブ (20)
【Fターム(参考)】