JP2020181235A - サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 - Google Patents
サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 Download PDFInfo
- Publication number
- JP2020181235A JP2020181235A JP2019081761A JP2019081761A JP2020181235A JP 2020181235 A JP2020181235 A JP 2020181235A JP 2019081761 A JP2019081761 A JP 2019081761A JP 2019081761 A JP2019081761 A JP 2019081761A JP 2020181235 A JP2020181235 A JP 2020181235A
- Authority
- JP
- Japan
- Prior art keywords
- operation log
- server
- client terminals
- candidates
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims description 36
- 238000000034 method Methods 0.000 title claims description 30
- 230000002159 abnormal effect Effects 0.000 claims abstract description 48
- 238000010801 machine learning Methods 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 239000000284 extract Substances 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 230000005856 abnormality Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005484 gravity Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000007621 cluster analysis Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】異常な操作ログの候補をより容易に抽出する。【解決手段】送信手段11は、自装置におけるユーザの操作ログをサーバ30に送信する。取得手段31は、複数のクライアント端末10から操作ログを取得する。学習手段32は、複数のクライアント端末10から取得した操作ログ群のデータに対して、教師無し機械学習を行う。抽出手段33は、機械学習の結果から、異常な操作ログの候補を抽出する。出力手段34は、抽出手段33により抽出された操作ログの候補を、管理者端末20に出力する。【選択図】図2
Description
本発明は、クライアント端末のセキュリティを監視する技術に関する。
ソフトウェアのセキュリティを確保するための技術が知られている。特許文献1には、ネットワーク内にある共有リソースへのアクセスを監視するため、異常アクセス(ファイルオープン数が閾値以上等)が検知されると操作ログをマスターサーバに送信し、マスターサーバから管理端末にアラートを出力することが記載されている。また、特許文献2には、計算機システムのセキュリティ侵害対策のため、計算機のログデータを収集し、所定のルールとの乖離から異常状態を判定することが記載されている。
特許文献1及び特許文献2に記載の技術においては、異常アクセス又は異常状態を判断するための判断基準をユーザが自ら設定する必要があり、煩雑であった。
これに対し本発明は、異常な操作ログの候補をより容易に抽出することを目的の一つとする。
これに対し本発明は、異常な操作ログの候補をより容易に抽出することを目的の一つとする。
本発明は、複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得する取得手段と、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、前記抽出された操作ログの候補を、所定の管理者端末に出力する出力手段とを有するサーバを提供する。
前記学習手段は、前記操作ログを所定の座標空間においてクラスタリングし、前記抽出手段は、前記クラスタリングの結果から、前記異常な操作ログの候補を抽出してもよい。
前記抽出手段は、前記クラスタリングの結果において、所定の基準より小さなクラスタに含まれる操作ログを前記異常な操作ログの候補として抽出してもよい。
このサーバは、前記異常な操作ログの候補の各々について、当該操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する計算手段を有し、前記出力手段は、前記操作ログの候補と共に、前記異常度を示す情報を前記管理者端末に出力してもよい。
このサーバは、前記異常な操作ログの候補の各々について計算される、当該操作ログと最寄りのクラスタとの距離に基づいて、前記取得手段により取得された操作ログ全体の安全度を計算する計算手段を有し、前記出力手段は、前記操作ログの候補と共に、前記安全度を示す情報を前記管理者端末に出力してもよい。
また、本発明は、複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有し、前記複数のクライアント端末の各々は、当該クライアント端末におけるユーザの操作ログをサーバに送信する送信手段を有し、前記サーバは、前記複数のクライアント端末から前記操作ログを取得する取得手段と、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、前記抽出された操作ログの候補を、前記管理者端末に出力する出力手段とを有するセキュリティ監視システムを提供する。
また、本発明は、コンピュータに、複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得するステップと、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、前記抽出された操作ログの候補を、所定の管理者端末に出力するステップとを実行させるためのプログラムを提供する。
また、本発明は、複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有するセキュリティ監視システムが行うセキュリティ監視方法であって、前記複数のクライアント端末の各々が、当該クライアント端末におけるユーザの操作ログをサーバに送信するステップと、前記サーバが、前記複数のクライアント端末から前記操作ログを取得するステップと、前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、前記抽出された操作ログの候補を、前記管理者端末に出力するステップとを有するセキュリティ監視方法を提供する。
本発明によれば、クライアント端末におけるユーザの操作ログから異常な操作ログの候補をより容易に抽出することができる。
1.構成
図1は、一実施形態に係るセキュリティ監視システム1の構成を例示する図である。セキュリティ監視システム1は、複数のクライアント端末10に対するセキュリティ監視サービスを提供するシステムである。セキュリティ監視システム1は、複数のクライアント端末10、管理者端末20、及びサーバ30を有する。この実施形態においてセキュリティ監視サービスは、複数のクライアント端末10の操作ログを監視し、従業員の行動(例えば、働き方の異常や不正な行い)による異常な操作ログを見つけて管理者に提示するサービスを含む。働き方の異常は例えば、時間外のPC操作、グループ内の作業時間の偏り、不届の残業時間の増加、である。不正な行いは例えば、普段と異なるメール送信、普段は行わない人による大量のデバイス書き込み、である。
図1は、一実施形態に係るセキュリティ監視システム1の構成を例示する図である。セキュリティ監視システム1は、複数のクライアント端末10に対するセキュリティ監視サービスを提供するシステムである。セキュリティ監視システム1は、複数のクライアント端末10、管理者端末20、及びサーバ30を有する。この実施形態においてセキュリティ監視サービスは、複数のクライアント端末10の操作ログを監視し、従業員の行動(例えば、働き方の異常や不正な行い)による異常な操作ログを見つけて管理者に提示するサービスを含む。働き方の異常は例えば、時間外のPC操作、グループ内の作業時間の偏り、不届の残業時間の増加、である。不正な行いは例えば、普段と異なるメール送信、普段は行わない人による大量のデバイス書き込み、である。
クライアント端末10はサービスを利用するユーザにより用いられる。クライアント端末10は汎用コンピュータであり、例えばスマートフォン、タブレット端末、又はラップトップ型コンピュータである。クライアント端末10には、アプリケーションプログラム等のソフトウェアがインストールされており、ユーザにより使用される。管理者端末20は、複数のクライアント端末10を管理する管理者により用いられる。管理者端末20は汎用コンピュータであり、例えばスマートフォン、タブレット端末、又はラップトップ型コンピュータである。サーバ30はいわゆるクラウドサーバである。クライアント端末10及び管理者端末20は通信回線2によりサーバ30に接続されている。通信回線2は、例えば、インターネット、移動体通信網、電話回線、又はLAN(Local Area Network)を含む。
この例において、複数のクライアント端末10及び管理者端末20は単一のLANに接続される。例えば、これら複数のクライアント端末10及び管理者端末20はある会社(A社)の社内LANに接続される。図1では図面が煩雑になるのを防ぐため、2台のクライアント端末10及び1台の管理者端末20をそれぞれ1台ずつ図示しているが、3以上のクライアント端末10及び複数の管理者端末20がセキュリティ監視システム1に含まれてもよい。また、セキュリティ監視システム1は複数のLANをまたいで(例えば、A社及びB社といった異なる複数の会社をまたいで)適用されてもよい。
図2は、セキュリティ監視システム1の機能構成を例示するブロック図である。クライアント端末10は、送信手段11を有する。送信手段11は、自装置におけるユーザの操作ログをサーバ30に送信する。
サーバ30は、取得手段31、学習手段32、抽出手段33、出力手段34、及び計算手段35を有する。取得手段31は、複数のクライアント端末10から操作ログを取得する。操作ログとは、各クライアント端末10においてユーザの操作(すなわち、クライアント端末本体又はキーボード等の入力装置を介した操作入力)に起因して発生するイベントのログをいう。学習手段32は、複数のクライアント端末10から取得した操作ログ群のデータに対して、教師無し機械学習(又は教師なし学習)を行う。抽出手段33は、機械学習の結果から、異常な操作ログの候補を抽出する。出力手段34は、抽出手段33により抽出された操作ログの候補を、管理者端末20に出力する。計算手段35は、異常な操作ログの候補の各々について、操作ログの異常さの度合い(以下「異常度」という)を計算する。異常度は、例えば、操作ログと最寄りのクラスタとの距離に基づいて計算される。
図3は、サーバ30のハードウェア構成を例示するブロック図である。プロセッサ301は、サーバ30の他の要素を制御するプロセッサである。メモリ302は、プロセッサ301がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばRAM(Random Access Memory)を含む。記憶装置303は各種のプログラム及びデータを記憶する記憶装置であり、例えば、SSD(Solid State Drive)又はHDD(Hard Disk Drive)を含む。通信IF304は、予め定められた無線又は有線の通信規格(例えば、Wi−Fi(登録商標)、Bluetooth(登録商標)、又はイーサネット(登録商標))に従って他の装置と通信を行う。
プロセッサ301が記憶装置303に記憶されたプログラムを実行することにより、図2に示される機能が実装される。プログラムを実行しているプロセッサ301及び/又は通信IF304は、取得手段31及び出力手段34の一例である。プログラムを実行しているプロセッサ301は、学習手段32、抽出手段33、及び計算手段35の一例である。
クライアント端末10は、プロセッサ、メモリ、記憶装置、通信IF、及びUI部を含むハードウェア構成を有する。クライアント端末10のプロセッサが記憶装置に記憶されたプログラムを実行することにより、図2に示される機能が実装される。プログラムを実行しているプロセッサ及び/又は通信IFは、送信手段11の一例である。
クライアント端末10には、アプリケーションプログラム及びドライバ等、各種のソフトウェアがインストールされる。ユーザはこれらのソフトウェアを使用する。クライアント端末10には、特に、クライアント端末10におけるユーザの操作ログを記録するためのソフトウェアプログラム(以下「監視エージェントプログラム」という)がインストールされる。以下この監視エージェントプログラムにより実装されるアプリケーションを「監視エージェント」という。クライアント端末10のプロセッサが監視エージェントプログラムを実行することにより、自装置における操作ログの管理が行われる。クライアント端末10にインストールされた監視エージェントは、クライアント端末10においてバックグラウンドで実行され、システムに常駐する。
2.動作
2−1.セキュリティ管理動作
図4は、セキュリティ監視システム1の動作を例示するシーケンスチャートである。図4においては、2つのクライアント端末10を図示しているが、クライアント端末10の数はこれより多くても少なくてもよい。ステップS101において、クライアント端末10は、ユーザによる操作の履歴を操作ログとして自装置の記憶装置に記憶する処理を実行する。操作ログは例えば、クライアント端末10と通信した無線LANアクセスポイントのログ、ファイル又はフォルダへのアクセス履歴、Webサイトへのアクセス履歴、USBメモリ等のデバイスに対する操作履歴、外部サーバへのファイルのFTP等によるアップロード履歴、メール送信のログ、メール受信のログ、アプリの起動履歴、アクティブウィンドウのログ、予め定められたシステムへのログイン/ログアウト履歴、アプリケーションIDのパスワードのログ、プリント履歴、クリップボードのログ、共有フォルダへのアクセス履歴、クライアント端末10におけるソフトウェアの起動履歴、及び監視エージェントを起動したソフトウェアを特定する情報、等を含む。起動されたソフトウェアを特定する情報としては、例えば、そのソフトウェアの実行ファイル名が用いられる。また、記憶される操作ログには、例えばユーザを識別する識別情報、ユーザ名を示す情報、操作ログの種別を示す情報、等が付される。
2−1.セキュリティ管理動作
図4は、セキュリティ監視システム1の動作を例示するシーケンスチャートである。図4においては、2つのクライアント端末10を図示しているが、クライアント端末10の数はこれより多くても少なくてもよい。ステップS101において、クライアント端末10は、ユーザによる操作の履歴を操作ログとして自装置の記憶装置に記憶する処理を実行する。操作ログは例えば、クライアント端末10と通信した無線LANアクセスポイントのログ、ファイル又はフォルダへのアクセス履歴、Webサイトへのアクセス履歴、USBメモリ等のデバイスに対する操作履歴、外部サーバへのファイルのFTP等によるアップロード履歴、メール送信のログ、メール受信のログ、アプリの起動履歴、アクティブウィンドウのログ、予め定められたシステムへのログイン/ログアウト履歴、アプリケーションIDのパスワードのログ、プリント履歴、クリップボードのログ、共有フォルダへのアクセス履歴、クライアント端末10におけるソフトウェアの起動履歴、及び監視エージェントを起動したソフトウェアを特定する情報、等を含む。起動されたソフトウェアを特定する情報としては、例えば、そのソフトウェアの実行ファイル名が用いられる。また、記憶される操作ログには、例えばユーザを識別する識別情報、ユーザ名を示す情報、操作ログの種別を示す情報、等が付される。
具体的には、例えば、起動されたソフトウェアの実行ファイル名が操作ログとして記録される場合、ステップS101において、クライアント端末10は、起動されたソフトウェアの実行ファイル名を、起動された時刻(タイムスタンプ)と共に記憶装置に書き込む。監視エージェントが常駐しているので、クライアント端末10は、何らかのソフトウェアが起動される度に、そのソフトウェアの実行ファイル名及びタイムスタンプを記憶装置に記憶する。こうして、クライアント端末10の記憶装置に操作ログが記憶される。
ステップS102において、各クライアント端末10は、操作ログをサーバ30に送信する。この送信処理は、例えば予め定められたタイミングで定期的に行われてもよく、また、例えば、予め定められた操作が検知されたタイミングで行われてもよい。サーバ30は、複数のクライアント端末10から、クライアント端末10におけるユーザの操作ログを受信(取得)する。
サーバ30は、クライアント端末10から操作ログを受信する度に、ステップS103において、クライアント端末10から受信された操作ログを記憶装置303に記憶する。こうしてサーバ30は、複数のクライアント端末10から操作ログを収集する。ステップS101乃至S103の処理は繰り返し行われる。
サーバ30は、ステップS201乃至S204において収集した操作ログをAI(artificial intelligence)により解析し、解析結果を管理者端末20に送信する。ステップS201乃至S204の処理は、定期的に実行されてもよく、また、例えば、管理者端末20からの要求に応じて行われてもよい。ステップS201において、学習手段32は、複数のクライアント端末10から取得した操作ログ群のデータに対して、教師無し機械学習を行う。教師無し機械学習は例えば、クラスタ分析、主成分分析、ベクトル量子化、又は自己組織化マップである。この実施形態では、学習手段32は、対象となる操作ログを所定の座標空間においてクラスタ分析(クラスタリング)することにより教師無し機械学習を行う。クラスタ分析としては、この実施形態では、操作ログを特定のクラスタ数に分類する手法(例えば、k平均法)が用いられる。k平均法は、非階層型クラスタリングのアルゴリズムであり、クラスタの平均を用い、与えられたクラスタ数k個に分類するアルゴリズムである。
クラスタリングは、例えば以下のようにして行われる。操作ログのデータの数をn、クラスタの数をkとする。学習手段32は、各データxi(i=1,…,n)に対してランダムにクラスタを割り振る。学習手段32は、割り振ったデータをもとに各クラスタの重心Vj(j=1,…k)を計算する。この計算は例えば、割り当てられたデータの各要素の算術平均が用いられる。学習手段32は、各xiと各Vjとの距離を求め、xiを最も近い重心のクラスタに割り当て直す。上記の処理で全てのxiのクラスタの割り当てが変化しなかった場合、あるいは変化量が閾値を下回った場合に、収束したと判断されて処理が終了される。そうでない場合は新しく割り振られたクラスタからVjを再計算して上記の処理を繰り返す。
図5は、クラスタリングの結果を例示する図である。図5には、パラメータp1とパラメータp2の2種類のパラメータにより定義される2次元の座標空間において、操作ログ群がクラスタC1、C2、及びC3の3つのクラスタに分類された場合が例示されている。なお、図5の例では、説明の理解を容易にすべく、2次元の座標空間におけるクラスタリングの結果が示されているが、実際にはこれより多い次元の座標空間が用いられる。また、実際には操作ログ群はこれより多いクラスタ数に分類される。図5において、横軸はパラメータp1の値を示し、縦軸はパラメータp2の値を示す。パラメータp1、p2は操作ログに関するパラメータであり、例えば、クライアント端末10におけるログイン時刻、及びログアウト時刻である。
図4の説明に戻る。ステップS202において、抽出手段33は、学習手段32による機械学習の結果から、異常な操作ログの候補を抽出する。この実施形態では、抽出手段33は、学習手段32によるクラスタリングの結果から、所定の基準より小さなクラスタに含まれる操作ログを、異常な操作ログとして抽出する。この実施形態において、「所定の基準」とは、そのクラスタに含まれるデータxiの数が所定の閾値(例えば全データ数に対する所定の割合(例:0.1%)に相当する数)以下であるクラスタに含まれるデータxiをいう。なお「所定の閾値」は全データ数に対する割合として定義されるものに限定されず、所定のクラスタ(例えば含まれるデータxiの数が最大のクラスタ)に含まれるデータ数に対する所定の割合として定義されてもよいし、全データ数によらない絶対的な数値として定義されてもよい。また、この「閾値」は管理者端末20のユーザ(すなわち管理者)からの指示により変更が可能であってもよい。抽出手段33は、抽出した操作ログについて、異常な操作ログの候補としてフラグを立てる。この場合において、学習手段32は、異常な操作ログの候補とされたデータxiを除外して、再度、クラスタリングを行ってもよい。こうして、学習手段32及び抽出手段33は、異常と判断される操作ログが無くなるまでステップS201及びS202の処理を繰り返し実行する。
ステップS203において、計算手段35は、異常な操作ログの候補である操作ログの各々について、各操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する。異常度は例えば、計算手段35がその異常データと最近接のクラスタの重心との距離を算出し、この距離を所定の距離(例えば、複数のクラスタのうち、最も遠い距離にある2つのクラスタ間の距離)で規格化することにより計算される。すなわち、その異常データと最近接のクラスタの重心との距離が大きいほど異常度が高いと計算される。図5の例では例えば、データd1及びデータd2が異常データ候補として抽出され、データd1についてはクラスタC1の重心とデータd1との距離が算出され、データd2についてはクラスタC2の重心とデータd2との距離が算出される。これらの距離を用いて異常度が計算される。
ステップS204において、出力手段34は、抽出手段33により抽出された操作ログの候補のリストを、所定の管理者端末20に送信する。送信される操作ログには、ステップS203で算出された異常度を示す情報が付される。送信先となる管理者端末20は、操作ログの送信元である複数のクライアント端末10を管理する管理者の端末であり、クライアント端末10に予め対応付けられている。管理者端末20は、サーバ30から異常な操作ログの候補のリストを受信し、受信したリストの内容をUI部に表示する。サーバ30は、管理者端末20からの要求に応じてステップS204の処理を行ってもよいし、前回、候補者のリストを送信してから所定の時間が経過したことをトリガとしてステップS204の処理を行ってもよい。
図6は、管理者端末20のUI部に表示されるリスト画面SC1を例示する図である。図6の例では、リスト画面SC1には、異常な操作ログを示す情報として、「ユーザID」、「ユーザ名」、「操作ログの種別」、及び「異常度」等の各項目が互いに関連付けて表示される。これらの項目のうち、「ユーザID」の項目には、受信された操作ログに付された、ユーザを識別する識別情報が表示される。「ユーザ名」の項目には、受信された操作ログに付された、ユーザ名が表示される。「操作ログの種別」の項目には、受信された操作ログの種別が表示される。「異常度」の項目には、受信された操作ログに付された、操作ログの異常度が表示される。このリストは、管理者端末20において実行されている、コンピュータをセキュリティ監視システム1における管理者端末20として機能させるためのプログラム(以下「管理プログラム」という)により表示される。あるいは、このリストは、管理プログラムから汎用のデータ形式でデータとして出力され、管理プログラムとは別のプログラム(例えば、表計算プログラム)がこのデータを読み込んでリストを表示してもよい。
図6に例示される画面において、表示される操作ログのリストは、異常度でソートされて表示されてもよい。このソート処理は例えば、管理者が管理者端末20のUI部を操作することをトリガとして行われてもよい。管理者は、UI部に表示される画面を確認し、どのような操作ログが異常な操作ログの候補として抽出されたかを確認する。管理者は例えば、異常な操作ログ候補の操作が行われたクライアント端末10を実際に確認に行ったり、クライアント端末10のユーザと電話で話をしたり、クライアント端末10の他の時間帯の操作ログを確認したりする。
また、管理者は、必要に応じて、機械学習による抽出結果を元に、抽出された操作ログの機械学習で用いられた座標空間における周辺の操作ログの内容を確認し、同様の異常が発生していないかを確認したりする。
サーバ30による図5のステップS201乃至S204の操作ログの解析処理は、定期的に又は所定のトリガにより繰り返し実行される。このとき、2回目以降の解析処理においては、それ以前のステップS201において記憶装置303に記憶された操作ログのうち、異常な操作ログ候補として抽出された操作ログが解析対象から除かれる。すなわち、一度異常な操作ログ候補として抽出された操作ログは、それ以降の解析処理においては機械学習の対象に含まれない。
ところで、従来のセキュリティ監視システムでは、管理者等がログを探索し、操作ログの発生時刻や頻度に注目して異常がないかを判断する。異常データを探し出すのは、多大なコストや手間が掛かる上、経験則に頼りがちである。操作ログの量が大量にある場合、作業時間が充分とれなかったり、異常な操作ログが見落とされたりする虞がある。また、経験の浅い者が作業した場合、異常データをうまく見つけられない場合もある。異常な操作ログをテンプレート等で抽出する手法も考えられるが、異常な操作ログとして抽出するための閾値や傾向は会社や部署によって様々であり、これを手動で設定するのは煩雑である。
それに対しこの実施形態では、操作ログをAIの技術(クラスタ分析等の教師無し機械学習)を活用して分析することで、標準から外れた操作ログを自動的に抽出する。例えば、管理者が抽出結果を元に周辺の関連する操作ログを確認することにより、作業者の作業効率を向上させることができる。また、例えば、管理者の経験則からは特定され得ない異常を発見することも可能となる。
3.変形例
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わされて実施されてもよい。
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わされて実施されてもよい。
(1)計算手段35は、異常度の計算に加えて、又は代えて、操作ログの安全度を計算してもよい。操作ログの安全度とは、その操作ログの安全性を示す指標をいう。異常度が個々の操作ログについて計算されるのに対し、安全度は複数の操作ログについて計算される。安全度は、例えば、取得手段31が取得した操作ログ全体に含まれる異常な操作ログの候補の各々について異常度を計算し、これを操作ログ全体について積算した値の逆数を取ることによって計算される。これにより管理者は、操作ログ全体の安全度を知ることができる。例えば、上位10位までの異常度が同じ値を示す場合であっても、それがLAN内の多数のクライアント端末10で起こっているような場合には操作ログ全体の安全度は相対的に低くなり、それがごく一部の限られたクライアント端末10のみで起こっている場合には操作ログ全体の安全度は相対的に高くなる。
(2)上述の実施形態では、サーバ30は、対象となる操作ログを所定の座標空間においてクラスタリング(具体的には、k平均法によるクラスタリング)することにより教師無し機械学習を行った。サーバ30が実行する教師無し機械学習は上述した実施形態で示したものに限られない。例えば、サーバ30は、k平均法以外の手法によるクラスタリング、又は主成分分析、ベクトル量子化、若しくは自己組織化マップ等のクラスタリング以外の手法を用いて異常な操作ログ候補を抽出してもよい。
(3)クライアント端末10、管理者端末20及びサーバ30の機能構成は図2で例示したものに限定されない。図2に示した機能の一部が省略されてもよいし、図示されていない機能が追加されてもよい。また、セキュリティ監視システム1を構成する装置における機能の分担は、実施形態において例示したものに限定されない。例えば、上述のサーバ30の機能が、複数のサーバ装置により分担されて提供されてもよい。
セキュリティ監視システム1が行う処理の順序は、上述した実施形態で説明された例に限られない。処理のステップは、矛盾が生じない限りにおいて入れ替えられてもよい。また、本発明は、セキュリティ監視システム1において行われるセキュリティ監視方法として提供されてもよい。
サーバ30のハードウェア構成は、図3に例示されたものに限定されない。要求される機能を実現できるものであれば、サーバ30はどのようなハードウェア構成を有していてもよい。
クライアント端末10、管理者端末20、及びサーバ30において実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。
1…セキュリティ監視システム、2…通信回線、10…クライアント端末、11…送信手段、20…管理者端末、30…サーバ、31…取得手段、32…学習手段、33…抽出手段、34…出力手段、35…計算手段、301…プロセッサ、302…メモリ、303…記憶装置、304…通信IF。
Claims (8)
- 複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得する取得手段と、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、
前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、
前記抽出された操作ログの候補を、所定の管理者端末に出力する出力手段と
を有するサーバ。 - 前記学習手段は、前記操作ログを所定の座標空間においてクラスタリングし、
前記抽出手段は、前記クラスタリングの結果から、前記異常な操作ログの候補を抽出する
請求項1に記載のサーバ。 - 前記抽出手段は、前記クラスタリングの結果において、所定の基準より小さなクラスタに含まれる操作ログを前記異常な操作ログの候補として抽出する
請求項2に記載のサーバ。 - 前記異常な操作ログの候補の各々について、当該操作ログと最寄りのクラスタとの距離に基づいて、異常度を計算する計算手段を有し、
前記出力手段は、前記操作ログの候補と共に、前記異常度を示す情報を前記管理者端末に出力する
請求項2又は3に記載のサーバ。 - 前記異常な操作ログの候補の各々について計算される、当該操作ログと最寄りのクラスタとの距離に基づいて、前記取得手段により取得された操作ログ全体の安全度を計算する計算手段を有し、
前記出力手段は、前記操作ログの候補と共に、前記安全度を示す情報を前記管理者端末に出力する
請求項2又は3に記載のサーバ。 - 複数のクライアント端末と、
前記複数のクライアント端末を管理する管理者端末と、
サーバと
を有し、
前記複数のクライアント端末の各々は、
当該クライアント端末におけるユーザの操作ログをサーバに送信する送信手段
を有し、
前記サーバは、
前記複数のクライアント端末から前記操作ログを取得する取得手段と、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行う学習手段と、
前記機械学習の結果から、異常な操作ログの候補を抽出する抽出手段と、
前記抽出された操作ログの候補を、前記管理者端末に出力する出力手段と
を有する
セキュリティ監視システム。 - コンピュータに、
複数のクライアント端末の各々から、当該クライアント端末におけるユーザの操作ログを取得するステップと、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、
前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、
前記抽出された操作ログの候補を、所定の管理者端末に出力するステップと
を実行させるためのプログラム。 - 複数のクライアント端末と、前記複数のクライアント端末を管理する管理者端末と、サーバとを有するセキュリティ監視システムが行うセキュリティ監視方法であって、
前記複数のクライアント端末の各々が、
当該クライアント端末におけるユーザの操作ログをサーバに送信するステップと、
前記サーバが、
前記複数のクライアント端末から前記操作ログを取得するステップと、
前記複数のクライアント端末から取得した操作ログ群のデータに対して、教師無し機械学習を行うステップと、
前記機械学習の結果から、異常な操作ログの候補を抽出するステップと、
前記抽出された操作ログの候補を、前記管理者端末に出力するステップと
を有する
セキュリティ監視方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019081761A JP2020181235A (ja) | 2019-04-23 | 2019-04-23 | サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019081761A JP2020181235A (ja) | 2019-04-23 | 2019-04-23 | サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020181235A true JP2020181235A (ja) | 2020-11-05 |
Family
ID=73024087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019081761A Pending JP2020181235A (ja) | 2019-04-23 | 2019-04-23 | サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020181235A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182340A (ja) * | 2012-02-29 | 2013-09-12 | Sogo Keibi Hosho Co Ltd | 特異データ検出装置および特異データ検出方法 |
JP2017037382A (ja) * | 2015-08-07 | 2017-02-16 | 三菱電機インフォメーションシステムズ株式会社 | 異常ベクトル検出装置および異常ベクトル検出プログラム |
US20170109654A1 (en) * | 2015-10-20 | 2017-04-20 | International Business Machines Corporation | Identifying intervals of unusual activity in information technology systems |
JP2017084106A (ja) * | 2015-10-28 | 2017-05-18 | 株式会社 日立産業制御ソリューションズ | 気付き情報提供装置及び気付き情報提供方法 |
JP2017134786A (ja) * | 2016-01-29 | 2017-08-03 | ファナック株式会社 | 製造機械の異常の原因を発見するセル制御装置 |
-
2019
- 2019-04-23 JP JP2019081761A patent/JP2020181235A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182340A (ja) * | 2012-02-29 | 2013-09-12 | Sogo Keibi Hosho Co Ltd | 特異データ検出装置および特異データ検出方法 |
JP2017037382A (ja) * | 2015-08-07 | 2017-02-16 | 三菱電機インフォメーションシステムズ株式会社 | 異常ベクトル検出装置および異常ベクトル検出プログラム |
US20170109654A1 (en) * | 2015-10-20 | 2017-04-20 | International Business Machines Corporation | Identifying intervals of unusual activity in information technology systems |
JP2017084106A (ja) * | 2015-10-28 | 2017-05-18 | 株式会社 日立産業制御ソリューションズ | 気付き情報提供装置及び気付き情報提供方法 |
JP2017134786A (ja) * | 2016-01-29 | 2017-08-03 | ファナック株式会社 | 製造機械の異常の原因を発見するセル制御装置 |
Non-Patent Citations (1)
Title |
---|
山西健司: ""情報セキュリティとAI データマイニングの情報セキュリティへの応用"", 人工知能学会誌, vol. 第21巻, 第5号, JPN6022047913, 2006, pages 570 - 576, ISSN: 0005051225 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3108525C (en) | Machine learning system and methods for determining confidence levels of personal information findings | |
US20210117563A1 (en) | Use of Multi-Faceted Trust Scores for Decision Making, Action Triggering, and Data Analysis and Interpretation | |
US11496495B2 (en) | System and a method for detecting anomalous patterns in a network | |
US20140039955A1 (en) | Task assignment management system and method | |
WO2016093836A1 (en) | Interactive detection of system anomalies | |
JP6714152B2 (ja) | 分析装置、分析方法及び分析プログラム | |
CN109543891B (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
US11455389B2 (en) | Evaluation method, information processing apparatus, and storage medium | |
US10884892B2 (en) | Non-transitory computer-readable storage medium, display control method and display control device for observing anomolies within data | |
JP6201079B2 (ja) | 監視システムおよび監視方法 | |
JP6119767B2 (ja) | 対処方法作成プログラム、対処方法作成方法、及び情報処理装置 | |
CN109831358A (zh) | 一种客户端流量统计方法、装置、服务器及可读存储介质 | |
US8918406B2 (en) | Intelligent analysis queue construction | |
JP2020181235A (ja) | サーバ、セキュリティ監視システム、プログラム及びセキュリティ監視方法 | |
JP6780326B2 (ja) | 情報処理装置及びプログラム | |
US20210092159A1 (en) | System for the prioritization and dynamic presentation of digital content | |
US10325455B2 (en) | Alerts provided based on responder profile | |
US11765022B2 (en) | Information distribution system, monitoring device, sharing device and information distribution method | |
US11489877B2 (en) | Cybersecurity maturity determination | |
JP6606222B1 (ja) | ログ情報収集分析システム | |
Cui et al. | User Behavior Auditing in Electric Management Information System based on Graph Clustering | |
JP6508202B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
WO2009090944A1 (ja) | ルールベース管理システム、ルールベース管理方法およびルールベース管理用プログラム | |
US20210232950A1 (en) | Information processing system and method for controlling information processing system | |
US11797768B2 (en) | System and method to represent conversational flows as graph embeddings and to conduct classification and clustering based on such embeddings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230509 |