(57)【要約】【課題】異常な操作ログの候補をより容易に抽出する。【解決手段】送信手段１１は、自装置におけるユーザの操作ログをサーバ３０に送信する。取得手段３１は、複数のクライアント端末１０から操作ログを取得する。学習手段３２は、複数のクライアント端末１０から取得した操作ログ群のデータに対して、教師無し機械学習を行う。抽出手段３３は、機械学習の結果から、異常な操作ログの候補を抽出する。出力手段３４は、抽出手段３３により抽出された操作ログの候補を、管理者端末２０に出力する。【選択図】図２
2020181235.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得する取得手段と、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、
前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、
前記抽出された操作ログの候補を、所定の管理者端末に出力する出力手段と
を有するサーバ。
【請求項２】
前記学習手段は、前記操作ログを所定の座標空間においてクラスタリングし、
前記抽出手段は、前記クラスタリングの結果から、前記異常な操作ログの候補を抽出する
請求項１に記載のサーバ。
【請求項３】
前記抽出手段は、前記クラスタリングの結果において、所定の基準より小さなクラスタに含まれる操作ログを前記異常な操作ログの候補として抽出する
請求項２に記載のサーバ。
【請求項４】
前記異常な操作ログの候補の各々について、当該操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する計算手段を有し、
前記出力手段は、前記操作ログの候補と共に、前記異常度を示す情報を前記管理者端末に出力する
請求項２又は３に記載のサーバ。
【請求項５】
前記異常な操作ログの候補の各々について計算される、当該操作ログと最寄りのクラスタとの距離に基づいて、前記取得手段により取得された操作ログ全体の安全度を計算する計算手段を有し、
前記出力手段は、前記操作ログの候補と共に、前記安全度を示す情報を前記管理者端末に出力する
請求項２又は３に記載のサーバ。
【請求項６】
複数のクライアント端末と、
前記複数のクライアント端末を管理する管理者端末と、
サーバと
を有し、
前記複数のクライアント端末の各々は、
当該クライアント端末におけるユーザの操作ログをサーバに送信する送信手段
を有し、
前記サーバは、
前記複数のクライアント端末から前記操作ログを取得する取得手段と、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、
前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、
前記抽出された操作ログの候補を、前記管理者端末に出力する出力手段と
を有する
セキュリティ監視システム。
【請求項７】
コンピュータに、
複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得するステップと、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、
前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、
前記抽出された操作ログの候補を、所定の管理者端末に出力するステップと
を実行させるためのプログラム。
【請求項８】
複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有するセキュリティ監視システムが行うセキュリティ監視方法であって、
前記複数のクライアント端末の各々が、
当該クライアント端末におけるユーザの操作ログをサーバに送信するステップと、
前記サーバが、
前記複数のクライアント端末から前記操作ログを取得するステップと、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、
前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、
前記抽出された操作ログの候補を、前記管理者端末に出力するステップと
を有する
セキュリティ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末のセキュリティを監視する技術に関する。
【背景技術】
【０００２】
ソフトウェアのセキュリティを確保するための技術が知られている。特許文献１には、ネットワーク内にある共有リソースへのアクセスを監視するため、異常アクセス（ファイルオープン数が閾値以上等）が検知されると操作ログをマスターサーバに送信し、マスターサーバから管理端末にアラートを出力することが記載されている。また、特許文献２には、計算機システムのセキュリティ侵害対策のため、計算機のログデータを収集し、所定のルールとの乖離から異常状態を判定することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１２８９１０号公報
【特許文献２】特開２０１６−１８４３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１及び特許文献２に記載の技術においては、異常アクセス又は異常状態を判断するための判断基準をユーザが自ら設定する必要があり、煩雑であった。
これに対し本発明は、異常な操作ログの候補をより容易に抽出することを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明は、複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得する取得手段と、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、前記抽出された操作ログの候補を、所定の管理者端末に出力する出力手段とを有するサーバを提供する。
【０００６】
前記学習手段は、前記操作ログを所定の座標空間においてクラスタリングし、前記抽出手段は、前記クラスタリングの結果から、前記異常な操作ログの候補を抽出してもよい。
【０００７】
前記抽出手段は、前記クラスタリングの結果において、所定の基準より小さなクラスタに含まれる操作ログを前記異常な操作ログの候補として抽出してもよい。
【０００８】
このサーバは、前記異常な操作ログの候補の各々について、当該操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する計算手段を有し、前記出力手段は、前記操作ログの候補と共に、前記異常度を示す情報を前記管理者端末に出力してもよい。
【０００９】
このサーバは、前記異常な操作ログの候補の各々について計算される、当該操作ログと最寄りのクラスタとの距離に基づいて、前記取得手段により取得された操作ログ全体の安全度を計算する計算手段を有し、前記出力手段は、前記操作ログの候補と共に、前記安全度を示す情報を前記管理者端末に出力してもよい。
【００１０】
また、本発明は、複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有し、前記複数のクライアント端末の各々は、当該クライアント端末におけるユーザの操作ログをサーバに送信する送信手段を有し、前記サーバは、前記複数のクライアント端末から前記操作ログを取得する取得手段と、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、前記抽出された操作ログの候補を、前記管理者端末に出力する出力手段とを有するセキュリティ監視システムを提供する。
【００１１】
また、本発明は、コンピュータに、複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得するステップと、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、前記抽出された操作ログの候補を、所定の管理者端末に出力するステップとを実行させるためのプログラムを提供する。
【００１２】
また、本発明は、複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有するセキュリティ監視システムが行うセキュリティ監視方法であって、前記複数のクライアント端末の各々が、当該クライアント端末におけるユーザの操作ログをサーバに送信するステップと、前記サーバが、前記複数のクライアント端末から前記操作ログを取得するステップと、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、前記抽出された操作ログの候補を、前記管理者端末に出力するステップとを有するセキュリティ監視方法を提供する。
【発明の効果】
【００１３】
本発明によれば、クライアント端末におけるユーザの操作ログから異常な操作ログの候補をより容易に抽出することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係るセキュリティ監視システム１の構成を例示する図。
【図２】セキュリティ監視システム１の機能構成を例示するブロック図。
【図３】サーバ３０のハードウェア構成を例示するブロック図。
【図４】セキュリティ管理に係る動作を例示するシーケンスチャート。
【図５】クラスタリングされたデータを例示する図。
【図６】リスト画面を例示した図。
【発明を実施するための形態】
【００１５】
１．構成
図１は、一実施形態に係るセキュリティ監視システム１の構成を例示する図である。セキュリティ監視システム１は、複数のクライアント端末１０に対するセキュリティ監視サービスを提供するシステムである。セキュリティ監視システム１は、複数のクライアント端末１０、管理者端末２０、及びサーバ３０を有する。この実施形態においてセキュリティ監視サービスは、複数のクライアント端末１０の操作ログを監視し、従業員の行動（例えば、働き方の異常や不正な行い）による異常な操作ログを見つけて管理者に提示するサービスを含む。働き方の異常は例えば、時間外のＰＣ操作、グループ内の作業時間の偏り、不届の残業時間の増加、である。不正な行いは例えば、普段と異なるメール送信、普段は行わない人による大量のデバイス書き込み、である。
【００１６】
クライアント端末１０はサービスを利用するユーザにより用いられる。クライアント端末１０は汎用コンピュータであり、例えばスマートフォン、タブレット端末、又はラップトップ型コンピュータである。クライアント端末１０には、アプリケーションプログラム等のソフトウェアがインストールされており、ユーザにより使用される。管理者端末２０は、複数のクライアント端末１０を管理する管理者により用いられる。管理者端末２０は汎用コンピュータであり、例えばスマートフォン、タブレット端末、又はラップトップ型コンピュータである。サーバ３０はいわゆるクラウドサーバである。クライアント端末１０及び管理者端末２０は通信回線２によりサーバ３０に接続されている。通信回線２は、例えば、インターネット、移動体通信網、電話回線、又はＬＡＮ（Local Area Network）を含む。
【００１７】
この例において、複数のクライアント端末１０及び管理者端末２０は単一のＬＡＮに接続される。例えば、これら複数のクライアント端末１０及び管理者端末２０はある会社（Ａ社）の社内ＬＡＮに接続される。図１では図面が煩雑になるのを防ぐため、２台のクライアント端末１０及び１台の管理者端末２０をそれぞれ１台ずつ図示しているが、３以上のクライアント端末１０及び複数の管理者端末２０がセキュリティ監視システム１に含まれてもよい。また、セキュリティ監視システム１は複数のＬＡＮをまたいで（例えば、Ａ社及びＢ社といった異なる複数の会社をまたいで）適用されてもよい。
【００１８】
図２は、セキュリティ監視システム１の機能構成を例示するブロック図である。クライアント端末１０は、送信手段１１を有する。送信手段１１は、自装置におけるユーザの操作ログをサーバ３０に送信する。
【００１９】
サーバ３０は、取得手段３１、学習手段３２、抽出手段３３、出力手段３４、及び計算手段３５を有する。取得手段３１は、複数のクライアント端末１０から操作ログを取得する。操作ログとは、各クライアント端末１０においてユーザの操作（すなわち、クライアント端末本体又はキーボード等の入力装置を介した操作入力）に起因して発生するイベントのログをいう。学習手段３２は、複数のクライアント端末１０から取得した操作ログ群のデータに対して、教師無し機械学習（又は教師なし学習）を行う。抽出手段３３は、機械学習の結果から、異常な操作ログの候補を抽出する。出力手段３４は、抽出手段３３により抽出された操作ログの候補を、管理者端末２０に出力する。計算手段３５は、異常な操作ログの候補の各々について、操作ログの異常さの度合い（以下「異常度」という）を計算する。異常度は、例えば、操作ログと最寄りのクラスタとの距離に基づいて計算される。
【００２０】
図３は、サーバ３０のハードウェア構成を例示するブロック図である。プロセッサ３０１は、サーバ３０の他の要素を制御するプロセッサである。メモリ３０２は、プロセッサ３０１がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばＲＡＭ（Random Access Memory）を含む。記憶装置３０３は各種のプログラム及びデータを記憶する記憶装置であり、例えば、ＳＳＤ（Solid State Drive）又はＨＤＤ（Hard Disk Drive）を含む。通信ＩＦ３０４は、予め定められた無線又は有線の通信規格（例えば、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はイーサネット（登録商標））に従って他の装置と通信を行う。
【００２１】
プロセッサ３０１が記憶装置３０３に記憶されたプログラムを実行することにより、図２に示される機能が実装される。プログラムを実行しているプロセッサ３０１及び／又は通信ＩＦ３０４は、取得手段３１及び出力手段３４の一例である。プログラムを実行しているプロセッサ３０１は、学習手段３２、抽出手段３３、及び計算手段３５の一例である。
【００２２】
クライアント端末１０は、プロセッサ、メモリ、記憶装置、通信ＩＦ、及びＵＩ部を含むハードウェア構成を有する。クライアント端末１０のプロセッサが記憶装置に記憶されたプログラムを実行することにより、図２に示される機能が実装される。プログラムを実行しているプロセッサ及び／又は通信ＩＦは、送信手段１１の一例である。
【００２３】
クライアント端末１０には、アプリケーションプログラム及びドライバ等、各種のソフトウェアがインストールされる。ユーザはこれらのソフトウェアを使用する。クライアント端末１０には、特に、クライアント端末１０におけるユーザの操作ログを記録するためのソフトウェアプログラム（以下「監視エージェントプログラム」という）がインストールされる。以下この監視エージェントプログラムにより実装されるアプリケーションを「監視エージェント」という。クライアント端末１０のプロセッサが監視エージェントプログラムを実行することにより、自装置における操作ログの管理が行われる。クライアント端末１０にインストールされた監視エージェントは、クライアント端末１０においてバックグラウンドで実行され、システムに常駐する。
【００２４】
２．動作
２−１．セキュリティ管理動作
図４は、セキュリティ監視システム１の動作を例示するシーケンスチャートである。図４においては、２つのクライアント端末１０を図示しているが、クライアント端末１０の数はこれより多くても少なくてもよい。ステップＳ１０１において、クライアント端末１０は、ユーザによる操作の履歴を操作ログとして自装置の記憶装置に記憶する処理を実行する。操作ログは例えば、クライアント端末１０と通信した無線ＬＡＮアクセスポイントのログ、ファイル又はフォルダへのアクセス履歴、Ｗｅｂサイトへのアクセス履歴、ＵＳＢメモリ等のデバイスに対する操作履歴、外部サーバへのファイルのＦＴＰ等によるアップロード履歴、メール送信のログ、メール受信のログ、アプリの起動履歴、アクティブウィンドウのログ、予め定められたシステムへのログイン／ログアウト履歴、アプリケーションＩＤのパスワードのログ、プリント履歴、クリップボードのログ、共有フォルダへのアクセス履歴、クライアント端末１０におけるソフトウェアの起動履歴、及び監視エージェントを起動したソフトウェアを特定する情報、等を含む。起動されたソフトウェアを特定する情報としては、例えば、そのソフトウェアの実行ファイル名が用いられる。また、記憶される操作ログには、例えばユーザを識別する識別情報、ユーザ名を示す情報、操作ログの種別を示す情報、等が付される。
【００２５】
具体的には、例えば、起動されたソフトウェアの実行ファイル名が操作ログとして記録される場合、ステップＳ１０１において、クライアント端末１０は、起動されたソフトウェアの実行ファイル名を、起動された時刻（タイムスタンプ）と共に記憶装置に書き込む。監視エージェントが常駐しているので、クライアント端末１０は、何らかのソフトウェアが起動される度に、そのソフトウェアの実行ファイル名及びタイムスタンプを記憶装置に記憶する。こうして、クライアント端末１０の記憶装置に操作ログが記憶される。
【００２６】
ステップＳ１０２において、各クライアント端末１０は、操作ログをサーバ３０に送信する。この送信処理は、例えば予め定められたタイミングで定期的に行われてもよく、また、例えば、予め定められた操作が検知されたタイミングで行われてもよい。サーバ３０は、複数のクライアント端末１０から、クライアント端末１０におけるユーザの操作ログを受信（取得）する。
【００２７】
サーバ３０は、クライアント端末１０から操作ログを受信する度に、ステップＳ１０３において、クライアント端末１０から受信された操作ログを記憶装置３０３に記憶する。こうしてサーバ３０は、複数のクライアント端末１０から操作ログを収集する。ステップＳ１０１乃至Ｓ１０３の処理は繰り返し行われる。
【００２８】
サーバ３０は、ステップＳ２０１乃至Ｓ２０４において収集した操作ログをＡＩ（artificial intelligence）により解析し、解析結果を管理者端末２０に送信する。ステップＳ２０１乃至Ｓ２０４の処理は、定期的に実行されてもよく、また、例えば、管理者端末２０からの要求に応じて行われてもよい。ステップＳ２０１において、学習手段３２は、複数のクライアント端末１０から取得した操作ログ群のデータに対して、教師無し機械学習を行う。教師無し機械学習は例えば、クラスタ分析、主成分分析、ベクトル量子化、又は自己組織化マップである。この実施形態では、学習手段３２は、対象となる操作ログを所定の座標空間においてクラスタ分析（クラスタリング）することにより教師無し機械学習を行う。クラスタ分析としては、この実施形態では、操作ログを特定のクラスタ数に分類する手法（例えば、ｋ平均法）が用いられる。ｋ平均法は、非階層型クラスタリングのアルゴリズムであり、クラスタの平均を用い、与えられたクラスタ数ｋ個に分類するアルゴリズムである。
【００２９】
クラスタリングは、例えば以下のようにして行われる。操作ログのデータの数をｎ、クラスタの数をｋとする。学習手段３２は、各データｘｉ（ｉ＝１，…，ｎ）に対してランダムにクラスタを割り振る。学習手段３２は、割り振ったデータをもとに各クラスタの重心Ｖｊ（ｊ＝１，…ｋ）を計算する。この計算は例えば、割り当てられたデータの各要素の算術平均が用いられる。学習手段３２は、各ｘｉと各Ｖｊとの距離を求め、ｘｉを最も近い重心のクラスタに割り当て直す。上記の処理で全てのｘｉのクラスタの割り当てが変化しなかった場合、あるいは変化量が閾値を下回った場合に、収束したと判断されて処理が終了される。そうでない場合は新しく割り振られたクラスタからＶｊを再計算して上記の処理を繰り返す。
【００３０】
図５は、クラスタリングの結果を例示する図である。図５には、パラメータｐ１とパラメータｐ２の２種類のパラメータにより定義される２次元の座標空間において、操作ログ群がクラスタＣ１、Ｃ２、及びＣ３の３つのクラスタに分類された場合が例示されている。なお、図５の例では、説明の理解を容易にすべく、２次元の座標空間におけるクラスタリングの結果が示されているが、実際にはこれより多い次元の座標空間が用いられる。また、実際には操作ログ群はこれより多いクラスタ数に分類される。図５において、横軸はパラメータｐ１の値を示し、縦軸はパラメータｐ２の値を示す。パラメータｐ１、ｐ２は操作ログに関するパラメータであり、例えば、クライアント端末１０におけるログイン時刻、及びログアウト時刻である。
【００３１】
図４の説明に戻る。ステップＳ２０２において、抽出手段３３は、学習手段３２による機械学習の結果から、異常な操作ログの候補を抽出する。この実施形態では、抽出手段３３は、学習手段３２によるクラスタリングの結果から、所定の基準より小さなクラスタに含まれる操作ログを、異常な操作ログとして抽出する。この実施形態において、「所定の基準」とは、そのクラスタに含まれるデータｘｉの数が所定の閾値（例えば全データ数に対する所定の割合（例：０．１％）に相当する数）以下であるクラスタに含まれるデータｘｉをいう。なお「所定の閾値」は全データ数に対する割合として定義されるものに限定されず、所定のクラスタ（例えば含まれるデータｘｉの数が最大のクラスタ）に含まれるデータ数に対する所定の割合として定義されてもよいし、全データ数によらない絶対的な数値として定義されてもよい。また、この「閾値」は管理者端末２０のユーザ（すなわち管理者）からの指示により変更が可能であってもよい。抽出手段３３は、抽出した操作ログについて、異常な操作ログの候補としてフラグを立てる。この場合において、学習手段３２は、異常な操作ログの候補とされたデータｘｉを除外して、再度、クラスタリングを行ってもよい。こうして、学習手段３２及び抽出手段３３は、異常と判断される操作ログが無くなるまでステップＳ２０１及びＳ２０２の処理を繰り返し実行する。
【００３２】
ステップＳ２０３において、計算手段３５は、異常な操作ログの候補である操作ログの各々について、各操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する。異常度は例えば、計算手段３５がその異常データと最近接のクラスタの重心との距離を算出し、この距離を所定の距離（例えば、複数のクラスタのうち、最も遠い距離にある２つのクラスタ間の距離）で規格化することにより計算される。すなわち、その異常データと最近接のクラスタの重心との距離が大きいほど異常度が高いと計算される。図５の例では例えば、データｄ１及びデータｄ２が異常データ候補として抽出され、データｄ１についてはクラスタＣ１の重心とデータｄ１との距離が算出され、データｄ２についてはクラスタＣ２の重心とデータｄ２との距離が算出される。これらの距離を用いて異常度が計算される。
【００３３】
ステップＳ２０４において、出力手段３４は、抽出手段３３により抽出された操作ログの候補のリストを、所定の管理者端末２０に送信する。送信される操作ログには、ステップＳ２０３で算出された異常度を示す情報が付される。送信先となる管理者端末２０は、操作ログの送信元である複数のクライアント端末１０を管理する管理者の端末であり、クライアント端末１０に予め対応付けられている。管理者端末２０は、サーバ３０から異常な操作ログの候補のリストを受信し、受信したリストの内容をＵＩ部に表示する。サーバ３０は、管理者端末２０からの要求に応じてステップＳ２０４の処理を行ってもよいし、前回、候補者のリストを送信してから所定の時間が経過したことをトリガとしてステップＳ２０４の処理を行ってもよい。
【００３４】
図６は、管理者端末２０のＵＩ部に表示されるリスト画面ＳＣ１を例示する図である。図６の例では、リスト画面ＳＣ１には、異常な操作ログを示す情報として、「ユーザＩＤ」、「ユーザ名」、「操作ログの種別」、及び「異常度」等の各項目が互いに関連付けて表示される。これらの項目のうち、「ユーザＩＤ」の項目には、受信された操作ログに付された、ユーザを識別する識別情報が表示される。「ユーザ名」の項目には、受信された操作ログに付された、ユーザ名が表示される。「操作ログの種別」の項目には、受信された操作ログの種別が表示される。「異常度」の項目には、受信された操作ログに付された、操作ログの異常度が表示される。このリストは、管理者端末２０において実行されている、コンピュータをセキュリティ監視システム１における管理者端末２０として機能させるためのプログラム（以下「管理プログラム」という）により表示される。あるいは、このリストは、管理プログラムから汎用のデータ形式でデータとして出力され、管理プログラムとは別のプログラム（例えば、表計算プログラム）がこのデータを読み込んでリストを表示してもよい。
【００３５】
図６に例示される画面において、表示される操作ログのリストは、異常度でソートされて表示されてもよい。このソート処理は例えば、管理者が管理者端末２０のＵＩ部を操作することをトリガとして行われてもよい。管理者は、ＵＩ部に表示される画面を確認し、どのような操作ログが異常な操作ログの候補として抽出されたかを確認する。管理者は例えば、異常な操作ログ候補の操作が行われたクライアント端末１０を実際に確認に行ったり、クライアント端末１０のユーザと電話で話をしたり、クライアント端末１０の他の時間帯の操作ログを確認したりする。
【００３６】
また、管理者は、必要に応じて、機械学習による抽出結果を元に、抽出された操作ログの機械学習で用いられた座標空間における周辺の操作ログの内容を確認し、同様の異常が発生していないかを確認したりする。
【００３７】
サーバ３０による図５のステップＳ２０１乃至Ｓ２０４の操作ログの解析処理は、定期的に又は所定のトリガにより繰り返し実行される。このとき、２回目以降の解析処理においては、それ以前のステップＳ２０１において記憶装置３０３に記憶された操作ログのうち、異常な操作ログ候補として抽出された操作ログが解析対象から除かれる。すなわち、一度異常な操作ログ候補として抽出された操作ログは、それ以降の解析処理においては機械学習の対象に含まれない。
【００３８】
ところで、従来のセキュリティ監視システムでは、管理者等がログを探索し、操作ログの発生時刻や頻度に注目して異常がないかを判断する。異常データを探し出すのは、多大なコストや手間が掛かる上、経験則に頼りがちである。操作ログの量が大量にある場合、作業時間が充分とれなかったり、異常な操作ログが見落とされたりする虞がある。また、経験の浅い者が作業した場合、異常データをうまく見つけられない場合もある。異常な操作ログをテンプレート等で抽出する手法も考えられるが、異常な操作ログとして抽出するための閾値や傾向は会社や部署によって様々であり、これを手動で設定するのは煩雑である。
【００３９】
それに対しこの実施形態では、操作ログをＡＩの技術（クラスタ分析等の教師無し機械学習）を活用して分析することで、標準から外れた操作ログを自動的に抽出する。例えば、管理者が抽出結果を元に周辺の関連する操作ログを確認することにより、作業者の作業効率を向上させることができる。また、例えば、管理者の経験則からは特定され得ない異常を発見することも可能となる。
【００４０】
３．変形例
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わされて実施されてもよい。
【００４１】
（１）計算手段３５は、異常度の計算に加えて、又は代えて、操作ログの安全度を計算してもよい。操作ログの安全度とは、その操作ログの安全性を示す指標をいう。異常度が個々の操作ログについて計算されるのに対し、安全度は複数の操作ログについて計算される。安全度は、例えば、取得手段３１が取得した操作ログ全体に含まれる異常な操作ログの候補の各々について異常度を計算し、これを操作ログ全体について積算した値の逆数を取ることによって計算される。これにより管理者は、操作ログ全体の安全度を知ることができる。例えば、上位１０位までの異常度が同じ値を示す場合であっても、それがＬＡＮ内の多数のクライアント端末１０で起こっているような場合には操作ログ全体の安全度は相対的に低くなり、それがごく一部の限られたクライアント端末１０のみで起こっている場合には操作ログ全体の安全度は相対的に高くなる。
【００４２】
（２）上述の実施形態では、サーバ３０は、対象となる操作ログを所定の座標空間においてクラスタリング（具体的には、ｋ平均法によるクラスタリング）することにより教師無し機械学習を行った。サーバ３０が実行する教師無し機械学習は上述した実施形態で示したものに限られない。例えば、サーバ３０は、ｋ平均法以外の手法によるクラスタリング、又は主成分分析、ベクトル量子化、若しくは自己組織化マップ等のクラスタリング以外の手法を用いて異常な操作ログ候補を抽出してもよい。
【００４３】
（３）クライアント端末１０、管理者端末２０及びサーバ３０の機能構成は図２で例示したものに限定されない。図２に示した機能の一部が省略されてもよいし、図示されていない機能が追加されてもよい。また、セキュリティ監視システム１を構成する装置における機能の分担は、実施形態において例示したものに限定されない。例えば、上述のサーバ３０の機能が、複数のサーバ装置により分担されて提供されてもよい。
【００４４】
セキュリティ監視システム１が行う処理の順序は、上述した実施形態で説明された例に限られない。処理のステップは、矛盾が生じない限りにおいて入れ替えられてもよい。また、本発明は、セキュリティ監視システム１において行われるセキュリティ監視方法として提供されてもよい。
【００４５】
サーバ３０のハードウェア構成は、図３に例示されたものに限定されない。要求される機能を実現できるものであれば、サーバ３０はどのようなハードウェア構成を有していてもよい。
【００４６】
クライアント端末１０、管理者端末２０、及びサーバ３０において実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。
【符号の説明】
【００４７】
１…セキュリティ監視システム、２…通信回線、１０…クライアント端末、１１…送信手段、２０…管理者端末、３０…サーバ、３１…取得手段、３２…学習手段、３３…抽出手段、３４…出力手段、３５…計算手段、３０１…プロセッサ、３０２…メモリ、３０３…記憶装置、３０４…通信ＩＦ。
【図１】
2020181235.tif 000003
【図２】
2020181235.tif 000004
【図３】
2020181235.tif 000005
【図４】
2020181235.tif 000006
【図５】
2020181235.tif 000007
【図６】
2020181235.tif 000008