IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特許7331421異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム
<>
  • 特許-異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム 図1
  • 特許-異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム 図2
  • 特許-異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム 図3
  • 特許-異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230816BHJP
   G06F 11/07 20060101ALI20230816BHJP
【FI】
G06N20/00 130
G06F11/07 154
G06F11/07 140A
【請求項の数】 10
(21)【出願番号】P 2019071497
(22)【出願日】2019-04-03
(65)【公開番号】P2020170350
(43)【公開日】2020-10-15
【審査請求日】2022-02-08
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100180275
【弁理士】
【氏名又は名称】吉田 倫太郎
(74)【代理人】
【識別番号】100161861
【弁理士】
【氏名又は名称】若林 裕介
(72)【発明者】
【氏名】八百 健嗣
(72)【発明者】
【氏名】中村 信之
【審査官】金田 孝之
(56)【参考文献】
【文献】特開2019-036865(JP,A)
【文献】米国特許出願公開第2012/0284212(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しない
ことを特徴とする異常判定学習器。
【請求項2】
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更する
ことを特徴とする異常判定学習器。
【請求項3】
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更する
ことを特徴とする異常判定学習器。
【請求項4】
コンピュータを、
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しない
ことを特徴とする異常判定学習プログラム。
【請求項5】
コンピュータを、
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更する
ことを特徴とする異常判定学習プログラム。
【請求項6】
コンピュータを、
ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、
取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、
判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、
前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更する
ことを特徴とする異常判定学習プログラム。
【請求項7】
異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、
前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、
前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、
前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、
前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しない
ことを特徴とする異常判定学習方法。
【請求項8】
異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、
前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、
前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、
前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、
前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更する
ことを特徴とする異常判定学習方法。
【請求項9】
異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、
前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、
前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、
前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、
前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、
前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、
さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更する
ことを特徴とする異常判定学習方法。
【請求項10】
1又は2以上の異常指標出力器と、異常判定学習器とを備える異常判定システムであって、
前記異常判定学習器として、請求項1~のいずれかに記載の異常判定学習器を適用したことを特徴とする異常判定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システムに関し、例えば、サイバー攻撃監視のための異常検知システムに適用し得る。
【背景技術】
【0002】
従来、サイバー攻撃監視の目的で、プロキシサーバなどの社内装置に記録されるログ情報を調査し、マルウェアのダウンロードや攻撃者サーバとの通信といった悪性通信を検出する取り組みが実施されている。
【0003】
一般にアクセス履歴などのログ情報は膨大であり、そのほとんどが悪性でない通信によるログ情報であることが多い。そのような前提で、すべてのログ情報の中から悪性通信を総当り的に見つけ出すというアプローチは、監視工数が大きく効率的ではない。
【0004】
近年、悪性通信の検知に教師なし学習を利用してログ情報を分析し、定常状態からの逸脱を検知する取り組みが盛んに行われている。本アプローチでは、攻撃の情報を用いた複雑なルールを構築する必要がない代わりに、誤検知及び検出漏れ又は検知ミスが多くなるという問題も考えられる。
【0005】
一方、既知の攻撃の情報を用いることで、複雑ではあるが感度の高いルールを構築し、誤検知及び検知漏れ数の軽減を目指す取り組みもある。例えば、特許文献1には、将来のネットワーク攻撃を検知及び予測するために、教師あり学習により判定ルールを自動的に学習するシステムが開示されている。特許文献1に記載のシステムのルールは、新たな攻撃についてのフィードバック信号を分析することにより定期的に更新され、新たな攻撃に自動的に追従することが想定されている。このように、システムに対して教師データをフィードバックすることで自動学習させ、検知精度を高めるという概念は、サイバー攻撃による悪性通信の検知にも適用し得るものである。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2014-060722号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、サイバー攻撃による悪性通信の検知に、「正常」、「異常」といった教師データをフィードバックする場合には、対象とする指標の教師データとしての有効性を考慮しなければならない。例えば、正常時の教師データとして接続先FQDN(Fully Qualified Domain Name)に関連する指標をフィードバックする場合、その後、その接続先サイトが改ざんされ、マルウェアを仕込まれるようなケースを考慮しなければならない。
【0008】
また逆に、正規サイトに埋め込まれたマルウェアを検知し、異常時の教師データとして接続先FQDNに関連する指標をフィードバックする場合、その後、その接続先サイトからマルウェアが除去され、正常状態に復帰するようなケースを考慮しなければならない。
【0009】
このように「正常」、「異常」といった教師データをフィードバックすることで検知精度を向上させるシステムにおいては、時間経過により変化する教師データ自体の有効性を考慮する必要があった。
【0010】
そのため、ログ情報に残る異常な振る舞いの異常度判定において、異常判定器が利用する学習データの生成に、前記教師データ(以下、「正解データ」と呼ぶ)を含めるか否かを適切に決定できる異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システムが望まれている。
【課題を解決するための手段】
【0011】
第1の本発明の異常判定学習器は、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しないことを特徴とする。
第2の本発明の異常判定学習器は、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更することを特徴とする
第3の本発明の異常判定学習器は、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段とを備え、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更することを特徴とする
【0012】
の本発明の異常判定学習プログラムは、コンピュータを、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しないことを特徴とする。
第5の本発明の異常判定学習プログラムは、コンピュータを、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更することを特徴とする。
第6の本発明の異常判定学習プログラムは、コンピュータを、(1)ログ情報から測定される態様に関する指標を取得する異常指標入力手段と、(2)取得した前記指標に対して、学習データに基づき異常度を判定する異常度判定手段と、(3)判定した前記異常度に対してフィードバックされた正解データを管理するフィードバック結果保持手段と、(4)前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新する学習データ生成手段として機能させ、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更することを特徴とする。
【0013】
の本発明の異常判定学習方法は、異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、(1)前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、(2)前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、(3)前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、(4)前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(5)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、所定の時刻よりも古い前記正解データを前記学習データの生成に利用しないことを特徴とする。
第8の本発明の異常判定学習方法は、異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、(1)前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、(2)前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、(3)前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、(4)前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データの時刻情報を参照し、現時刻との乖離度合に応じて前記正解データとしての重みを変更することを特徴とする。
第9の本発明の異常判定学習方法は、異常判定学習器に使用する異常判定学習方法であって、異常指標入力手段、異常度判定手段、フィードバック結果保持手段、及び学習データ生成手段を備え、(1)前記異常指標入力手段は、ログ情報から測定される態様に関する指標を取得し、(2)前記異常度判定手段は、取得した前記指標に対して、学習データに基づき異常度を判定し、(3)前記フィードバック結果保持手段は、判定した前記異常度に対してフィードバックされた正解データを管理し、(4)前記学習データ生成手段は、前記フィードバック結果保持手段で管理する前記正解データを用いて、前記学習データを更新し、(5)前記学習データ生成手段は、前記フィードバック結果保持手段で保持する前記正解データの内容、及び、異常度判定された前記指標の内容を基に、前記正解データを前記学習データの生成に利用するか否かを決定し、(6)さらに、前記学習データ生成手段は、前記正解データについて指標の種類ごとに異常判定している前記指標の内容を参照し、同一指標の総数に応じて前記正解データの重みを変更することを特徴とする。
【0014】
10の本発明の異常判定システムは、1又は2以上の異常指標出力器と、異常判定学習器とを備える異常判定システムであって、前記異常判定学習器として、第1~第3の本発明のいずれかの異常判定学習器を適用したことを特徴とする。
【発明の効果】
【0015】
本発明によれば、ログ情報に残る異常な振る舞いの異常度判定において、異常判定器が利用する学習データの生成に、正解データを含めるか否かを適切に決定できる。
【図面の簡単な説明】
【0016】
図1】実施形態に係る異常判定システムの構成を示すブロック図である。
図2】実施形態に係る異常指標出力器の内部構成を示すブロック図である。
図3】実施形態に係る異常判定学習器の内部構成を示すブロック図である。
図4】実施形態に係る異常判定システムの動作の一例を示す説明図である。
【発明を実施するための形態】
【0017】
(A)主たる実施形態
以下、本発明に係る異常判定学習器、異常判定学習プログラム、異常判定学習方法、及び異常判定システムの主たる実施形態を、図面を参照しながら詳述する。
【0018】
(A-1)実施形態の構成
(A-1-1)全体構成
図1は、実施形態に係る異常判定システムの構成を示すブロック図である。
【0019】
図1で示す異常判定システム1は、1又は2以上の異常指標出力器10と、異常判定学習器20とを備える。異常判定システム1は、種々様々な装置に搭載することができるが、例えば、社内ネットワークと社外ネットワークの境界に設置される装置(ファイアウォール)、プロキシサーバ等に搭載しても良いし、また社内ネットワーク上のログを一元管理する装置等に搭載しても良い。
【0020】
(A-1-2)異常指標出力器10の詳細な構成
図2は、実施形態に係る異常指標出力器の内部構成を示すブロック図である。
【0021】
図2において、異常指標出力器10は、ログ情報入力部11及び異常指標出力部12を有する。実施施形態に係る異常指標出力器は、図2に示す各構成部を搭載した専用のICチップ等のハードウェアとして構成しても良いし、又は、CPUと、CPUが実行するプログラムを中心としてソフトウェア的に構成して良いが、機能的には、図2で表すことができる。
【0022】
ログ情報入力部11は、様々な種別のログ情報を取得し、異常指標出力部12へ与えるものである。ログ情報としては特に限定しないが、例えば、組織内外の通信を中継するプロキシサーバのログ(以下、「プロキシログ」と呼ぶ)であったり、ファイアウォールのログであったり、不正侵入検知システム(IDS)のログであったり、トラフィックログ等である。例えば、プロキシログを例に説明すると、プロキシログには、時刻、送信元IPアドレス、ユーザID、接続先FQDN、パス、クエリ、HTTPステータス、ダウンロードサイズ、アップロードサイズ、ユーザーエージェント、リファラー情報等の情報が含まれていても良い。
【0023】
異常指標出力部12は、ログ情報入力部11から与えられたログ情報を分析し、異常と思われる指標を検知するものである。指標とは例えば、接続先FQDNであったり、送信元IPアドレスであったり、ファイル名(パス)であったり、利用するユーザーエージェントであったりと、様々な形が考えられるが、本実施形態では特に限定しない。
【0024】
また、異常の検知方法についても特に限定しない。例えば、教師なし学習で通常とは異なる傾向の指標を検知しても良いし、ルールベースでダウンロードサイズやアップロードサイズが閾値を超えたことを検知しても良いし、統計ベースで特定の送信元IPアドレスから発生する通信ログが異常に多いことを検知しても良い。
【0025】
さらに、異常指標出力部12は、複数の指標の組み合わせで異常と思われる指標を検知しても良い。例えば、パスがexeファイルであり、ダウンロードサイズが異常に大きいことで、そのダウンロード元となるIPアドレスやユーザIDを異常な指標として検知しても良い。
【0026】
また、異常指標出力部12は、1行のログに対して異常な指標を検知しても良いし、任意期間のログ情報を対象として分析した結果として異常な指標を検知しても良い。
【0027】
異常指標出力部12は、異常と検知した指標、及び当該指標を含むログ情報を異常判定学習器20へ与える。ここで、異常指標出力部12は、異常度の大きさに応じて前記指標にスコア付けして与えても良い。
【0028】
(A-1-3)異常判定学習器20の詳細な構成
図3は、実施形態に係る異常判定学習器の内部構成を示すブロック図である。
【0029】
図3において、異常判定学習器20は、異常指標入力部21、異常度判定部22、フィードバック結果保持部23、及び学習データ生成部24を有する。実施施形態に係る異常判定学習器は、図3に示す各構成部を搭載した専用のICチップ等のハードウェアとして構成しても良いし、又は、CPUと、CPUが実行するプログラムを中心としてソフトウェア的に構成して良いが、機能的には、図3で表すことができる。
【0030】
異常指標入力部21は、n個の異常指標出力器10から異常と検知した指標、及び当該指標を含むログ情報を取得するものである。異常指標入力部21は取得した指標を異常度判定部22へ与える。
【0031】
異常度判定部22は、異常指標入力部21より与えられた様々な指標と、後述する学習データ生成部24より与えられた学習データを基に、任意の指標に対する総合的な異常度を判定するものである。ここで、異常度判定部22は、異常度の大きさに応じて前記指標にスコア付けして出力したり、異常度判定したログ情報を出力したりしても良い。
【0032】
異常度判定部22は、学習データに基づき異常度を出力する教師あり異常度判定エンジンを有する。例えば、決定木、ランダムフォレスト、ロジスティック回帰、サポートベクターマシーン等、様々な手法を適用し得るが、これらの例に限定されるものではない。
【0033】
また、異常度判定部22は、後述する学習データ生成部24より、学習データを与えられることにより、異常度判定の基準となる学習を再実施する。
【0034】
フィードバック結果保持部23は、任意の指標に対して、それが異常か正常かを正解データとして保持するものである。また、異常、正常以外に、正常ではないが異常とも言いきれないといった指標をグレー判定として含んでも良い。
【0035】
正解データは事前に設定されても良い。例えば、指標が接続先FQDNの場合には、世の中で利用されているホワイトリストやブラックリストを参照することにより取得し、それぞれ正常、異常と異常度判定した結果として保持しても良い。また、正解データは、異常度判定部22が判定した結果に対して詳細調査された結果(異常、正常、グレー等)をフィードバックされることで与えられても良い。例えば、異常度判定部22としては、総合的に異常と判定した指標に対して、人が詳細調査し、その結果、正常(誤検知)と判断する場合には、当該指標が正常であることを正解データとじてフィードバックしても良い。
【0036】
フィードバック結果保持部23は、保持する正解データを学習データ生成部24へ与える。
【0037】
学習データ生成部24は、フィードバック結果保持部23より与えられた正解データから、学習データを生成し、生成した学習データを異常度判定部22へ与えるものである。学習データ生成部24は、正解データの内容及び異常度判定された指標の内容を基に、当該正解データを学習データの生成に利用するか否か、またどのように利用するかを決定する。
【0038】
例えば、学習データ生成部24は、正解データの時刻情報を参照し、任意の時刻よりも古い正解データを学習データの生成に利用しないとしても良い。また、学習データ生成部24は、現時刻との乖離度合に応じて、正解データとしての重みを変更するようにしても良い。そして、学習データ生成部24は、同一の指標、同一の正解を持つ正解データの総数に応じて重みを変更するようにしても良い。
【0039】
また、学習データ生成部24は、異常度判定された指標の種類に応じて、学習データの生成に利用するか否かの基準を変更しても良い。例えば、正解データの中で接続先FQDNが正常と判定されている場合にのみ、上述のように時刻情報を参照し、生成に利用するか否か、またその重みを決定しても良い。また、学習データ生成部24は、同一の指標について、複数の異なる判定がされている場合には、最新の判定のみを学習データの生成に利用するようにしても良い。ここで利用する指標には、接続先URL、パス、クエリ等も含んだURL、ダウンロード/アップロードサイズ、ユーザーエージェント、リファラー情報等、様々なものがあるが、特に限定しない。また、正解データとしての重みを変更する方法も特に限定しない。例えば、任意の正解データの重みを増やす場合には、当該正解データの複製を大量に用意する等の方法が考えられる。
【0040】
(A-2)実施形態の動作
次に、以上のような構成を有する実施形態に係る異常判定システム1の動作を、図面を参照しながら説明する。
【0041】
図4は、実施形態に係る異常判定システムの動作の一例を示す説明図である。図4の各部の構成は、先述の図1と同様であるが、各部において実行される各動作(異常指標の出力、総合異常度判定、学習データの更新)を対応付けて示している。
【0042】
図4において、異常判定システム1の処理は、大別すると、ログ情報を取得し、異常指標を出力するステップS101の処理(異常指標の出力)と、異常指標から異常度を判定するステップS102の処理(総合異常度判定)と、学習データを更新するステップS103の処理(学習データの更新)に大別できる。以下では各処理の詳細について述べる。
【0043】
[S101]異常指標の出力
各異常指標出力器10のログ情報入力部11にログ情報が与えられる。例えば、1日ごとや1時間ごとにバッチ的に与えられても良いし、1行のログごとに実時間で与えられても良い。
【0044】
各異常指標出力器10の異常指標出力部12において、異常と思われる指標が検知され、検知された指標および当該指標を含むログ情報が異常判定学習器20に出力される。異常と思われる指標の検知には、例えば、システムで設定された時間区間毎にログ情報に含まれる指標を集計し、統計的に有意に大きい指標(正規分布を仮定した際の平均値から3σを越えて大きいもの)や、逆に稀な指標(正規分布を仮定した際の平均値から3σを越えて小さいもの)を計算により求め、得られた指標を出力するものが挙げられる。
【0045】
[S102]総合異常度判定
異常判定学習器20の異常指標入力部21に、各異常指標出力器10から異常と検知した指標および当該指標を含むログ情報が与えられる。
【0046】
異常判定学習器20の異常度判定部22において、事前に学習データを用いて学習された異常判定エンジンを用いて、任意の指標に対する総合的な異常度を判定し、異常判定結果として出力する。例えば、正解の内容(異常、正常、等)とログ情報と指標のセットを正解データとしてフィードバック結果保持部23で保持しており、特定の指標と当該指標が含まれる時間情報を基に学習データを生成する。これにより、当該指標が特定の周期性を持っていた場合、次に異常が現れる時間と指標を基に、異常度を判定できる学習データとなる。この学習データを用いて、異常度判定部22で異常性を判定し、異常判定結果として出力することができる。
【0047】
[S103]学習データの更新
異常判定学習器20のフィードバック結果保持部23に、任意の指標に対して、異常か正常かを含む正解データが保持される。また、正解データは、異常判定学習器20からの異常判定結果を詳細調査し、その結果に対する異常か正常かがフィードバックされることにより保持されても良い。
【0048】
異常判定学習器20の学習データ生成部24において、正解データが与えられ学習データが更新される。学習データ生成部24は、正解データの内容及び異常度判定された指標の内容を基に、当該正解データを学習データの生成に利用するか否か、またその方法を決定し、生成した学習データを異常度判定部22へ与える。
【0049】
異常判定学習器20の異常度判定部22において、更新された学習データが与えられ、当該異常度判定部22が異常度判定するための事前学習を実施する。事前学習では、例えば、クラスター分析により学習データを評価し、クラスター境界面を複雑にする要素(外れ値など)を取り除く。例えば、時間が経過して信頼性が低くなった要素は学習に利用しないという前処理をすることによって、1正解データを除去することにより、精度の高い学習モデルとしても良い。
【0050】
(A-3)実施形態の効果
本実施形態によれば、異常判定学習器20が、ログ情報に残る異常な振る舞いの異常度判定において、異常度判定部22が学習データの生成に利用する正解データを、当該正解データの内容(「正常」、「異常」等)や、異常度判定された指標の内容(ユーザID、IPアドレス、URL、ダウンロードサイズ、等)に基づき、取捨選択することを特徴とする。これにより、サイバー攻撃のような時間の経過と共に、正常、異常かが推移するような指標の検知において、学習データとして有効な正解データのみを異常度判定に利用することができ、システムの検知精度を向上させることができる。
【0051】
(B)他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに以下に例示するような変形実施形態も挙げることができる。
【0052】
上記実施形態では、異常と判定された指標と共にログ情報をやりとりする動作で説明したが、この動作に限定するものではない。例えば、別途各ログの識別情報をDBテーブルに管理しておき、各ログの識別情報のみをやりとりする動作にしても良い。
【符号の説明】
【0053】
1…異常判定システム、10…異常指標出力器、11…ログ情報入力部、12…異常指標出力部、20…異常判定学習器、21…異常指標入力部、22…異常度判定部、23…フィードバック結果保持部、24…学習データ生成部。
図1
図2
図3
図4