JP2023031591A - Anomaly determination system, anomaly determination program, and anomaly determination method - Google Patents
Anomaly determination system, anomaly determination program, and anomaly determination method Download PDFInfo
- Publication number
- JP2023031591A JP2023031591A JP2021137181A JP2021137181A JP2023031591A JP 2023031591 A JP2023031591 A JP 2023031591A JP 2021137181 A JP2021137181 A JP 2021137181A JP 2021137181 A JP2021137181 A JP 2021137181A JP 2023031591 A JP2023031591 A JP 2023031591A
- Authority
- JP
- Japan
- Prior art keywords
- filter condition
- detection
- determination
- filter
- data
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
この発明は、異常判定システム、異常判定プログラム、及び異常判定方法に関し、例えば、セキュリティ機器のログを分析し、マルウェア感染や情報漏洩といった異常を検出するシステムに適用し得る。 The present invention relates to an anomaly determination system, an anomaly determination program, and an anomaly determination method, and can be applied, for example, to a system that analyzes logs of security devices and detects anomalies such as malware infection and information leakage.
近年、年々増加・進化するサイバー攻撃が社会問題となっている。サイバー攻撃に対しては、プロキシやファイアウォールなどのネットワーク機器での防御が従来有効であるが、近年ではネットワーク機器の機能だけでは防ぎきれない攻撃も増えている。このような攻撃に対しては、ネットワーク機器のログを分析し攻撃の見逃しを防ぐことが重要である。しかし、従業員数の多い企業ではネットワーク機器のログの量は膨大であり、人手で分析するのは非常に困難である。こういった膨大なログに対しては機械的に異常な通信ログを絞り込むアプローチが有効である。 In recent years, cyberattacks, which are increasing and evolving year by year, have become a social problem. Network devices such as proxies and firewalls have traditionally been effective against cyber-attacks, but in recent years, the number of attacks that cannot be prevented by the functions of network devices alone is increasing. Against such attacks, it is important to analyze the logs of network devices to prevent attacks from being overlooked. However, in a company with a large number of employees, the amount of network device logs is enormous, and it is very difficult to analyze them manually. An effective approach is to mechanically narrow down abnormal communication logs for such huge logs.
ログ分析を用いた異常判定方法の一つとして、攻撃通信の挙動や振舞いといった特徴を検知エンジンとして落とし込み、特徴に合致するログを異常として検出する方法が考えられる。しかしながら、攻撃の特徴は目的や手段によって多種多様であり、単一の検知エンジンでは攻撃を網羅し切れない。また単一の検知エンジンでは、正常な通信であるが攻撃と同様の特徴を持つ通信を異常と判定する誤判定も避けられない。そこで複数の検知エンジンを導入し、それら複数エンジンの検知結果から総合的に判断して、本当に異常と思われる通信のみを異常と検出する方法をとることで、検知率と誤判定率の両方を改善できる。 As one of the anomaly determination methods using log analysis, a method is conceivable in which the behavior and behavior of the attacking communication are used as a detection engine, and logs that match the characteristics are detected as anomalies. However, the characteristics of attacks vary widely depending on the purpose and method, and a single detection engine cannot cover all attacks. In addition, with a single detection engine, erroneous determinations of normal communications that have similar characteristics to attacks as abnormalities cannot be avoided. Therefore, by introducing multiple detection engines and comprehensively judging from the detection results of those multiple engines, adopting a method to detect only the communication that seems to be really abnormal, both the detection rate and the misjudgment rate are improved. can.
複数の検知エンジンの検知結果から総合的に異常を判断するために、各検知エンジンの検知結果(例えば0~100点の異常スコアなど)を特徴量とし、過去の異常な通信ログと正常な通信ログにラベル付けしたものを教師データとして機械学習する方法が考えられる。機械学習では、検知エンジン間の相関も見て異常な通信を絞り込むため、人の目では気付けない攻撃の特徴から異常な通信を検知できることが期待される。機械学習では、異常な通信ログの見落としを減らすのか、誤判定を減らすのかといった目的に応じてハイパーパラメータと呼ばれるパラメータを調整する。サイバー攻撃検知では、異常の見逃しを防ぐことが重要であるため、機械学習器の学習時に異常な通信ログの検知率が高くなるようにパラメータを設定することが多い。このようにした場合、異常な通信ログの特徴量に近い正常な通信ログも異常検知されやすくなるため誤判定が発生する。誤判定に対しては、システム利用者が異常検知されたログが本当に異常か調査し結果誤判定であった時に、システムにフィードバックを行い、システムが誤判定フィードバックされたログを正常通信としてラベル付けして機械学習器を再学習させることで誤判定率を減らす効果が期待される。しかし、機械学習器は異常を重視して学習されるため、一度の誤判定フィードバックでは機械学習器の異常検知精度に影響を与えない場合がある。システム利用者の立場で考えると、一度誤判定フィードバックしたログは以後検知されない、または異常検知結果が異常の度合いを示すスコアで表示される場合は検知スコアが減少することが望ましい。 In order to comprehensively judge anomalies from the detection results of multiple detection engines, the detection results of each detection engine (for example, anomaly scores of 0 to 100 points) are used as feature quantities, and past abnormal communication logs and normal communication A method of performing machine learning using labeled logs as teacher data is conceivable. Machine learning narrows down abnormal communications by looking at correlations between detection engines, so it is expected to be able to detect abnormal communications from characteristics of attacks that are invisible to the human eye. In machine learning, parameters called hyperparameters are adjusted according to the purpose of reducing oversight of abnormal communication logs or reducing erroneous judgments. In cyberattack detection, it is important to prevent anomalies from being overlooked, so parameters are often set to increase the detection rate of anomalous communication logs during machine learning. In this case, an erroneous determination occurs because even a normal communication log that is close to the characteristic amount of an abnormal communication log is likely to be detected as abnormal. For erroneous judgments, the system user investigates whether the log in which an abnormality was detected is really abnormal, and when the result is an erroneous judgment, feedback is provided to the system, and the system labels the log with the erroneous judgment feedback as normal communication. It is expected that the misjudgment rate will be reduced by retraining the machine learning device. However, since the machine learner learns with an emphasis on anomalies, there are cases in which a single misjudgment feedback does not affect the anomaly detection accuracy of the machine learner. From the system user's point of view, it is desirable that logs that have once been fed back an erroneous judgment will not be detected again, or that the detection score will decrease if the anomaly detection result is displayed with a score indicating the degree of anomaly.
誤判定フィードバックされたログを以後利用者に提示しない方法として、例えば誤判定ログの通信先FQDN(Fully Qualified Domain Name)をホワイトリストで管理し条件に合致するログをフィルタして利用者に表示させない方法が考えられる。この方法では、誤判定ログは異常検知結果として現れなくなるが、例えばホワイトリストに設定した通信先ホストのWebサイトが攻撃者によって改ざんされたり、乗っ取られたりした場合に異常検知結果に表示されないという問題が発生し得る。また、誤判定フィードバックの回数が増えれば、誤判定されたログの誤判定率は減少していくと考えられるが、今度は異常検知されていた異常通信ログが正常と判定される見逃しの問題が発生し得る。 As a method of not presenting logs that have received incorrect judgment feedback to the user, for example, the communication destination FQDN (Fully Qualified Domain Name) of the incorrect judgment log is managed with a white list, and logs that match the conditions are filtered and not displayed to the user. I can think of a way. With this method, erroneous judgment logs do not appear as anomaly detection results. can occur. Also, if the number of false positive feedbacks increases, the false positive rate of false negative logs will decrease. can.
以上より、異常検知精度は維持したまま、誤判定フィードバックされたログを異常検知させない方法が求められる。 From the above, there is a demand for a method that does not detect anomalies in logs that are fed back erroneous judgments while maintaining anomaly detection accuracy.
従来の異常判定システムとしては、例えば、特許文献1の記載技術が存在する。
As a conventional abnormality determination system, for example, the technology described in
特許文献1の記載技術は、検知ルールが異なる複数の異常検知手段を多層化して異常検知する場合に、誤判定や見逃しを抑えることを目的とした技術である。そして、特許文献1に記載されたシステムでは、異常通信識別ルールに基づいてルールに合致する通信をブロックする第1の異常通信検知システムと、正常通信識別ルール(正常状態を学習させた判定器)に基づいてルールに合致しない通信をブロックする第2の異常通信検知システムの2つからなる。また、特許文献1に記載されたシステムでは、誤判定(正常だが第1の異常判定システムで異常と識別)された通信に対して、当該通信を異常と識別した異常識別ルールを削除する。さらに、特許文献1では、見逃し(正解は異常だが第2の異常判定システムで正常通信と識別)した通信に対して、当該通信を第1の異常判定システムで異常と識別するように異常識別ルールを追加する。これにより、特許文献1に記載されたシステムでは、誤判定と見逃しの両方を抑えることができる。
The technique described in
しかしながら、特許文献1に記載された第1の異常判定システムは、異常検知をルールベースで行うため、誤判定の際にどのルールが誤判定の原因なのか判断することは容易だが、本発明が対象とする複数の異常検知エンジンを使って機械学習で総合的に異常検知するシステムでは、検知結果から検知に寄与した検知エンジンのルールまでを特定するのは従来技術の構成では困難である。また、特許文献1に記載された第2の異常判定システムでは、機械学習により正常パターンを学習させて異常検知することを想定しているが、正常パターンを学習させて異常検知する方式は、異常な通信パターンを学習させる方式に比べ、異常な通信パターンを用意する必要が無い一方で一般に誤判定が多いという課題がある。したがって、特許文献1において、第2の異常判定システムでの誤判定の抑制も必要となると考えられる。
However, since the first abnormality determination system described in
以上のような問題に鑑みて、検知精度を維持したまま誤判定率を低減することができる異常判定システム、異常判定プログラム、及び異常判定方法が望まれている。 In view of the above problems, an abnormality determination system, an abnormality determination program, and an abnormality determination method capable of reducing the erroneous determination rate while maintaining the detection accuracy are desired.
第1の本発明は、ネットワーク上に配置された1又は複数のネットワーク装置から収集した解析対象データから、前記ネットワーク上の異常を判定する異常判定システムにおいて、それぞれ異なる観点で前記解析対象データから異常を検知する複数の検知手段と、前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力するフィルタ処理手段と、前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得する特徴量処理手段と、教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定する判定手段と、前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付けるフィードバック受付手段と、前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成するフィルタ条件生成手段とを有することを特徴とする。 A first aspect of the present invention provides an anomaly determination system for determining an anomaly on a network from analysis target data collected from one or a plurality of network devices arranged on the network. A plurality of detection means for detecting and filter condition data describing filter conditions for each of the detection means are held, and the detection results of each of the detection means are filtered based on the filter condition data, and each of the Filter processing means for outputting the detection result after the filter processing for the detection means, and feature amount processing means for acquiring feature amount data suitable for machine learning based on the detection results of the respective detection means output by the filter processing means. and determining means for determining an abnormality on the network by supplying the feature amount data to a determining device equipped with a learning model machine-learned based on teacher data, and indicating that the determination result by the determining means is an erroneous determination. and a filter condition generation means for generating the filter condition data to be set in the filter processing means according to the content of the erroneous judgment feedback received by the feedback reception means. .
第2の本発明の異常判定プログラムは、ネットワーク上に配置された1又は複数のネットワーク装置から収集した解析対象データから、前記ネットワーク上の異常を判定する異常判定システムを構成するコンピュータを、それぞれ異なる観点で前記解析対象データから異常を検知する複数の検知手段と、前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力するフィルタ処理手段と、前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得する特徴量処理手段と、教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定する判定手段と、前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付けるフィードバック受付手段と、前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成するフィルタ条件生成手段として機能させることを特徴とする。 According to the abnormality determination program of the second aspect of the present invention, different computers constituting an abnormality determination system for determining an abnormality on the network from analysis target data collected from one or a plurality of network devices arranged on the network. a plurality of detection means for detecting anomalies from the data to be analyzed from a viewpoint, and filter condition data describing filter conditions for each of the detection means are held; filtering means for performing filtering and outputting detection results after the filtering for each of the detecting means; and feature amounts suitable for machine learning based on the detection results of the respective detecting means output by the filtering means. feature amount processing means for acquiring data; determination means for determining abnormality on the network by supplying the feature amount data to a determination device having a learning model machine-learned based on teacher data; and determination by the determination means. feedback receiving means for receiving erroneous determination feedback indicating that a result is an erroneous determination; and filter condition generating means for generating the filter condition data to be set in the filtering means according to the content of the erroneous determination feedback received by the feedback receiving means. It is characterized by functioning as
第3の本発明は、ネットワーク上に配置された1又は複数のネットワーク装置から収集した解析対象データから、前記ネットワーク上の異常を判定する異常判定システムが行う異常判定方法において、前記異常判定システムは、複数の検知手段、フィルタ処理手段、特徴量処理手段、判定手段、フィードバック受付手段、及びフィルタ条件生成手段を備え、それぞれの前記検知手段は、それぞれ異なる観点で前記解析対象データから異常を検知し、前記フィルタ処理手段は、前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力し、前記特徴量処理手段は、前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得し、前記判定手段は、教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定し、前記フィードバック受付手段は、前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付け、前記フィルタ条件生成手段は、前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成することを特徴とする。 A third aspect of the present invention provides an abnormality determination method performed by an abnormality determination system that determines an abnormality on the network from analysis target data collected from one or more network devices arranged on the network, wherein the abnormality determination system , a plurality of detection means, filtering means, feature amount processing means, determination means, feedback reception means, and filter condition generation means, and each of the detection means detects an abnormality from the analysis target data from a different point of view. , the filter processing means holds filter condition data describing filter conditions for each of the detection means, performs filter processing on the detection results of each of the detection means based on the filter condition data, and performs filter processing for each of the detection means The feature amount processing means acquires feature amount data suitable for machine learning based on the detection results of the respective detection means output by the filtering means, and the determination The means supplies the feature amount data to a determiner equipped with a learning model machine-learned based on teacher data to determine an abnormality on the network, and the feedback receiving means determines whether the determination result by the determination means is an erroneous determination. and the filter condition generating means generates the filter condition data to be set in the filtering means according to the content of the erroneous determination feedback received by the feedback receiving means. .
本発明によれば、検知精度を維持したまま誤判定率を低減する異常判定システムを提供することができる。 Advantageous Effects of Invention According to the present invention, it is possible to provide an abnormality determination system that reduces an erroneous determination rate while maintaining detection accuracy.
(A)第1の実施形態
以下、本発明による異常判定システム、異常判定プログラム、及び異常判定方法の第1の実施形態を、図面を参照しながら詳述する。
(A) First Embodiment Hereinafter, a first embodiment of an abnormality determination system, an abnormality determination program, and an abnormality determination method according to the present invention will be described in detail with reference to the drawings.
(A-1)第1の実施形態の構成
図1は、この実施形態の異常判定システム1の全体構成を示すブロック図である。なお、図1において括弧内の符号は、後述する第2の実施形態でのみ用いられる符号である。
(A-1) Configuration of First Embodiment FIG. 1 is a block diagram showing the overall configuration of an
異常判定システム1は、検知対象であるネットワークNEから解析対象のデータ(例えば、ネットワークNE上に配置されたネットワーク機器のログ情報;以下「解析対象データ」とも呼ぶ)を取得し、取得した解析対象データに基づいてネットワークNE上の異常を検知する処理(以下、「異常検知処理」と呼ぶ)を行う。ここでは、異常判定システム1は、ネットワークNE上に配置された1又は複数のネットワーク機器(例えば、プロキシサーバ、ファイアウォール、ルータ、L4スイッチ等)上で発生した種々のログ情報を解析対象データとして取得し、取得したログ情報に基づいて異常検知処理を行うものとする。
The
ログ情報の内容や形式は限定されないものである。この実施形態の例では、説明を簡易とするため、ログ情報は、ネットワークNE上の図示しないプロキシサーバにおける通信ログであるものとして説明する。この実施形態の例におけるプロキシサーバは、図示しない通信元のクライアント端末から通信先(例えば、所定のURLにより指定されたインターネット上のサイト)への通信を中継する際に、通信ごと(例えば、通信セッションごと)の情報をログ情報として出力するものとして説明する。 The contents and format of the log information are not limited. In the example of this embodiment, to simplify the explanation, the log information is assumed to be a communication log in a proxy server (not shown) on the network NE. The proxy server in the example of this embodiment relays communication from a communication source client terminal (not shown) to a communication destination (for example, a site on the Internet specified by a predetermined URL) for each communication (for example, communication session) is output as log information.
このようなプロキシサーバが通信ごとに出力するログ情報には、例えば、当該通信における通信先のホストを特定するためのFQDN(以下、「通信先FQDN」と呼ぶ)、当該通信において伝送されたデータ量(以下、「送信バイト数」と呼ぶ)、当該通信において通信元で用いられたURLからFQDNを除外したパス部分(以下、「URLパス」と呼ぶ)等が含まれる。たとえば、URL全体が「xxx.yyy.jp/a.exe」である場合、「xxx.yyy.jp」の部分が通信先FQDNで「/a.exe」の部分がURLパスとなる。以下では、1件のログ情報には1つの通信(例えば、1つの通信セッションが開始されてから終了するまでの通信)に関する情報が含まれるものとして説明する。異常判定システム1は、例えば、異常のようなログ情報に基づき、通信元のマルウェア感染や情報漏洩等の異常を検出するものとして説明する。
The log information output by such a proxy server for each communication includes, for example, the FQDN for specifying the host of the communication destination in the communication (hereinafter referred to as "communication destination FQDN"), the data transmitted in the communication amount (hereinafter referred to as "transmission byte count"), a path portion (hereinafter referred to as "URL path") obtained by excluding the FQDN from the URL used at the communication source in the communication, and the like. For example, if the entire URL is "xxx.yyy.jp/a.exe", the "xxx.yyy.jp" part is the communication destination FQDN and the "/a.exe" part is the URL path. In the following description, it is assumed that one piece of log information includes information about one communication (for example, communication from the start to the end of one communication session). The
以下では、ログ情報を構成する各項目(例えば、上記の「通信先FQDN」、「URLパス」、「送信バイト数」等)をそれぞれ「フィールド」とも呼ぶものとする。 Hereinafter, each item (for example, the above-mentioned "communication destination FQDN", "URL path", "transmission byte count", etc.) constituting the log information is also referred to as a "field".
次に、異常判定システム1の内部構成について説明する。
Next, the internal configuration of the
異常判定システム1は、検知処理部10、特徴量処理部20、判定部30、判定結果処理部40、フィルタ条件生成部50、判定器作成部60、及び制御部70を有している。なお、検知処理部10は、検知エンジン部11及びフィルタ処理部12を有している。
The
異常判定システム1は、例えば、コンピュータにプログラム(実施形態に係る異常判定プログラム)をインストールすることにより構築してもよいが、機能的には図1のように示すことができる。
The
検知エンジン部11は、N個(Nは1以上の整数)の検知エンジン111(111-1~111-N)を有している。また、フィルタ処理部12は、N個のフィルタ条件データD2(D2ー1~D2-N)を有している。さらに、判定部30は、判定器31を有している。さらにまた、フィルタ条件生成部50は、フィルタ条件生成定義情報51を保持している。
The
検知エンジン部11は、ログ情報から、一つの観点(それぞれ異なる観点)で異常検知するN個の検知エンジン111(111-1~111-N)を管理する。各検知エンジン111は、ログ情報を所定の観点に関する異常の検知を行い、その検知結果を出力する。以下では、検知エンジン111-1~111-Nの検知結果を、それぞれ検知結果D1-1~D1-Nと表す。
The
この実施形態では、各検知エンジン111に対して識別子として検知エンジン名が付与されているものとする。各検知エンジン111に対する識別子はID番号でもよいし所定の文字列でも良い。この実施形態では、各検知エンジン111には、当該検知エンジン111がログ情報に対して検知する基準(検知方法)を示す文字列(タイトルの文字列)であるものとして説明する。
In this embodiment, it is assumed that each
なお、この実施形態では、検知エンジン111-1の検知エンジン名を「URLパスが疑わしい」、検知エンジン111-2の検知エンジン名を「実行形式ファイルダウンロード」、検知エンジン111-3の検知エンジン名を「アップロードサイズが大きい」であるものとする。 In this embodiment, the detection engine name of the detection engine 111-1 is "URL path is suspicious", the detection engine name of the detection engine 111-2 is "executable file download", and the detection engine name of the detection engine 111-3 is be "large upload size".
「URLパスが疑わしい」は、例えば、悪性サイトが利用するディレクトリ構造のパターンの検知を意味するものとする。また、「実行形式ファイルダウンロード」は、実行形式のファイル(例えば、実行可能な形式の拡張子が付与されたファイル)がダウンロードされたことの検知を意味するものとする。実行可能な形式の拡張子が付与されたファイルとは、例えば、「exe」、「docx」等のコンピュータ上でダウンロード後に単独又は対応するアプリケーション上で実行可能な形式の拡張子が付与されたファイルを示すものとする。さらに、「アップロードサイズが大きい」は通信元(クライアント)からインターネット側へアップロードされるデータ量(1つの通信セッションでアップロードされるデータサイズ)が大きい(例えば、所定サイズよりも大きいか否か)ことの検知を意味するものとする。 "URL path is suspicious" means, for example, the detection of a directory structure pattern used by a malicious site. Also, "executable file download" means detection that an executable file (for example, a file with an executable file extension) has been downloaded. A file with an executable format extension is, for example, a file with an executable format extension such as "exe" or "docx" after being downloaded on a computer or on a corresponding application. shall indicate Furthermore, "large upload size" means that the amount of data uploaded from the communication source (client) to the Internet side (data size uploaded in one communication session) is large (for example, whether it is larger than a predetermined size). shall mean the detection of
フィルタ処理部12は、それぞれの検知エンジン111(111-1~111-N)の検知結果D1(D1-1~D1-N)に対するフィルタ条件が記述されたフィルタ条件データD2(D2-1~D2-N)を管理している。そして、フィルタ処理部12は、それぞれの検知結果D1(D1-1~D1-N)に対して、フィルタ条件データD2(D2-1~D2-N)に基づくフィルタ処理を施した内容としてフィルタ処理済検知結果D3(D3-1~D3-N)を出力する。例えば、フィルタ処理部12は、検知エンジン111-i(iは1~Nのいずれかの整数)の検知結果D1-iに対して、フィルタ条件データD2-iに基づくフィルタ処理を実行し、フィルタ処理済検知結果D3-iを得る。フィルタ処理部12の詳細については後述する。
The
特徴量処理部20は、検知エンジン部11による検知結果(フィルタ条件データD2-1~D2-N)を用いて、機械学習処理に適用可能な特徴量を表すデータ(以下、「特徴量データ」と呼ぶ)を生成する処理を行う。特徴量データの形式(例えば、ベクトルの形式や次元数等)は限定されないものである。ここでは、特徴量データは、例えば、各検知エンジン111の検知結果を一つの特徴量として表したものとする。例えば、各検知エンジン111が、0~100点の数値スコアで検知結果を出力する場合、特徴量データは、図2に示すように検知エンジン単位に数値スコアを並べたものとしてもよい。
The feature
図2は、特徴量データの構成例について示した図である。 FIG. 2 is a diagram showing a configuration example of feature amount data.
この実施形態では、特徴量データは、図2に示すように、N次元のベクトルデータ(N個のパラメータで構成されるベクトルデータ)であるものとして説明する。以下では、特徴量データにおいて、フィルタ処理済検知結果D3-1~D3-N(検知エンジン111-1~111-N)に対応するパラメータ(特徴量データを構成するパラメータ)を、それぞれ「X1、XN、・・・、XN」と表すものとする。そうすると、特徴量データVは以下の(1)式のように示すことができる。
V={X1、X2、・・・、XN} …(1)
In this embodiment, as shown in FIG. 2, feature amount data is N-dimensional vector data (vector data composed of N parameters). In the following, in the feature amount data, the parameters (parameters constituting the feature amount data) corresponding to the filtered detection results D3-1 to D3-N (detection engines 111-1 to 111-N) are respectively defined as "X1, XN, . . . , XN”. Then, the feature amount data V can be represented by the following equation (1).
V={X1, X2, . . . , XN} (1)
以下では、X1~XNは、それぞれ異常度合を0~100の数値(大きいほど異常度合が大きいことを示す数値)で表されたパラメータであるものとして説明する。この実施形態の例では、検知エンジン111-1~111-Nが、それぞれ検知結果として異常度合を0~100の数値を出力し、フィルタ処理部12においてフィルタ条件に応じたフィルタ処理(例えば、フィルタ条件に該当するパラメータを0に変更する処理等)が行われるものとして説明する。なお、以下では、検知結果D1-1~D1-N(フィルタ処理部12によりフィルタ処理される前の検知結果)を、それぞれY1~YNと表すものとする。
In the following explanation, X1 to XN are parameters representing the degrees of abnormality respectively with numerical values from 0 to 100 (the larger the numerical value, the greater the degree of abnormality). In the example of this embodiment, the detection engines 111-1 to 111-N each output a numerical value of 0 to 100 indicating the degree of abnormality as the detection result, and the
図2では、1行で1つの特徴量データV(X1、X2、・・・XN)について図示している。図2では、各行に時系列を示すインデックス(1、2、3、・・・)を付している。図2では、インデックスは、解析対象(ログ情報)と対応づけられた識別子となっている。この実施形態では、説明を簡易とするため、解析対象(ログ情報)、特徴量データ、及び判定結果について対応付けて管理するための識別子として上記のインデックス(インデックス番号)を用いるものとして説明するが、その他の識別子(例えば、タイムスタンプ等の他の識別子)を用いるようにしてもよい。 In FIG. 2, one line indicates one feature amount data V (X1, X2, . . . XN). In FIG. 2, each row is given an index (1, 2, 3, . . . ) indicating a time series. In FIG. 2, the index is an identifier associated with an analysis target (log information). In this embodiment, in order to simplify the explanation, it is assumed that the above index (index number) is used as an identifier for managing the analysis target (log information), the feature amount data, and the determination result in association with each other. , other identifiers (eg, other identifiers such as timestamps) may be used.
判定部30は、特徴量処理部20から供給された特徴量データVに対して総合的な異常の判定処理を行う。
The
なお、以下では、判定部30による異常の判定処理を単に「判定処理」又は「異常判定処理」と呼び、判定部30による異常の判定処理の結果を単に「判定結果」又は「異常判定結果」と呼ぶものとする。
Hereinafter, the abnormality determination processing by the
判定部30が出力する判定結果の形式については限定されないものである。この実施形態の例では、判定部30は、例えば、判定結果として、正常又は異常(異常の有り又は異常の無し)を2値(例えば、正常を表す0又は異常を表す1のいずれか)で表したデータを出力するようにしてもよいし、異常度の度合を表す数値スコア(例えば、0~100のいずれかの値)を出力するようにしてもよい。この実施形態では、判定部30は、判定結果として異常度を表す0~100のいずれかの値(大きいほど異常度が高いことを示す値)を出力するものとして説明する。
The format of the determination result output by the
この実施形態において、判定部30は、判定器31を用いて判定処理を行うものとする。判定部30は、判定器31を入力して得られる結果を判定結果として出力する。判定器31は、予め教師データとしての特徴量データと、当該教師データ(特徴量データ)に対応する教師ラベル(正解データ)とを含むデータ(以下、「教師データセット」と呼ぶ)に基づいた学習処理により取得された学習モデルを用いて判定処理を行う。この実施形態では、判定器31は、判定器作成部60の制御に応じて学習処理を行い、学習モデルを取得するものとする。
In this embodiment, the
判定器31は、複数の教師データセットが供給されると、供給された教師データセットに基づいて学習処理を行って学習モデルを得る。また、判定器31は、だけが供給されると、取得した学習モデルを用いて、に対する判定処理を行う。判定器31に適用する機械学習器についても限定はされないものであるが、例えば、SVM(Support Vector Machine)やRandom Forestなどが適用し得る。
When a plurality of teacher data sets are supplied, the
教師データセットにおける教師ラベルの取得方法については限定しないが、例えば、過去に実際にあった攻撃通信に係るログ情報の特徴量データに異常の教師ラベルを適用するようにしてもよい。また、例えば、過去においていずれの検知エンジン111の判定結果(Y1、Y2、・・・、YN)についても一定値以下であるようなログ情報に対応する特徴量データについて正常(例えば、一定値以下(例えば0)の数値スコアの判定結果)の教師ラベルを適用するようにしてもよい。 Although the method of acquiring the teacher label in the teacher data set is not limited, for example, the abnormal teacher label may be applied to the feature data of the log information related to the attack communication that actually occurred in the past. Further, for example, the feature quantity data corresponding to the log information for which the judgment results (Y1, Y2, . (for example, a numerical score judgment result of 0)) may be applied.
判定結果処理部40は、判定部30から供給された判定結果を出力する。また、判定結果処理部40は、出力した判定結果に対するフィードバックの情報入力をオペレータOPから受け付ける処理も行うものとする。判定結果処理部40により、判定結果を出力する手段や出力するデータ形式については限定されないものである。判定結果処理部40は、例えば、通信により他の装置に判定結果を出力するようにしてもよいし、所定のデータ記録媒体に判定結果を記録するようにしてもよい。また、判定結果処理部40は、判定結果と共に関連するデータ(以下、「関連データ」と呼ぶ)を付加して出力するようにしてもよい。関連データには、例えば、当該判定結果に対応するログ情報等、当該判定結果に関する情報を含むようにしてもよい。この実施形態では、判定結果処理部40は、判定結果を関連データと共に、オペレータOPが使用する監視端末TEに供給(通信により送信)するものとする。
The determination
判定結果処理部40が、判定結果を監視端末TEに提示する際の画面(例えば、Webページ等の操作画面;以下、「判定結果表示画面」と呼ぶ)の構成については限定されないものであるが、例えば、異常と判定されたログ情報ごとに、判定結果を表す数値スコア、各検知エンジン111の検知結果(X1~XN)を表示する構成としてもよい。
The configuration of the screen (for example, an operation screen such as a web page; hereinafter referred to as a "determination result display screen") when the determination
図3は、判定結果表示画面の構成例について示した図である。 FIG. 3 is a diagram showing a configuration example of a determination result display screen.
図3に示す判定結果表示画面では、ログ情報ごとに、インデックス、判定結果(数値スコア)、及び各検知エンジン111の検知結果(X1~XN)をテーブル形式で表示している。図3に示す判定結果表示画面では、1行で1つのログ情報に関する情報を表示している。
On the determination result display screen shown in FIG. 3, the index, determination result (numerical score), and detection results (X1 to XN) of each
ログ情報は、複数項目(以下、これらの項目を「フィールド」と呼ぶ)の情報により構成されている。 The log information is composed of information of a plurality of items (these items are hereinafter referred to as "fields").
また、判定結果処理部40は、オペレータOPから、誤判定された判定結果(例えば、異常判定されたログ情報のうちオペレータOPが誤判定と判断したログ情報;以下、「誤判定結果」と呼ぶ)の内容についてフィードバック(以下、「誤判定フィードバック」と呼ぶ)を受け付ける手段を備えているものとする。なお、以下では、誤判定フィードバックにおいて指定されたログ情報を「誤判定ログ」と呼ぶものとする。
In addition, the determination
判定結果処理部40において、誤判定結果を受け付ける方法については限定されないものである。判定結果処理部40は、例えば、判定結果表示画面において、オペレータOPから、誤判定ログ情報(異常判定されたログ情報のうちオペレータOPが誤判定と判断したログ情報)を特定する操作を受け付けることができるようにしてもよい。例えば、判定結果表示画面において、選択操作(例えば、マウスによるクリック操作やポインティングデバイスによる選択操作)された行に対応するログ情報を誤判定ログとして受け付けるようにしてもよい。例えば、図3に示す判定結果表示画面において、インデックスを1とするログ情報の行(破線により囲われた領域A101)について選択操作された場合、判定結果処理部40は、当該ログ情報を誤判定ログと受け付けるようにしてもよい。同様に、判定結果処理部40は、インデックスを2とするログ情報の行(破線により囲われた領域A102)について選択操作された場合、当該ログ情報を誤判定ログと受け付けるようにしてもよい。
In the determination
判定器作成部60は、判定器31による学習処理を制御するものである。判定器作成部60は、教師データセットを蓄積し、蓄積した教師データセットを判定器31に供給して学習処理(機械学習処理)を実行させ、判定器31に判定に必要な学習モデルを保持させる。判定器作成部60で保持する教師用データセットは、オペレータOP(監視端末TE)により付与された教師ラベル(異常判定システム1が出力した判定結果に対するフィードバック)に基づいた教師データセットとしてもよいし、ユーザや設計者等により疑似的に作成されたログ(例えば、一定時間内に特定の種類のネットワーク装置で発生し得るログ)としてもよい。具体的には、例えば、判定器作成部60は、過去に実際にあった攻撃的な通信のログ情報(例えば、過去に異常判定システム1で処理したログ情報)に基づく特徴量データを教師データとし、それらの教師データに対して異常を示す判定結果(例えば、オペレータによりフィードバックされた値、又は異常を示す所定の値)の教師ラベル(正解ラベル)を付与した教師データセットを保持するようにしてもよい。また、例えば、判定器作成部60は、過去に実際にあった正常時な通信のログ情報(例えば、いずれの検知エンジン111のでもパラメータが一定値以下であるようなログ情報)の特徴量データを教師データとし、それらの教師データに対して正常を示す判定結果(例えば、オペレータによりフィードバックされた値、又は正常を示す所定の値)の教師ラベル(正解ラベル)を付与した教師データセットを保持するようにしてもよい。
The
判定器作成部60に教師データセットが供給されるタイミングについても限定されないものである。例えば、判定結果処理部40では、オペレータOP(監視端末TE)により手動で教師データセットの供給を受けるようにしてもよいし、判定結果処理部40からオペレータOP(監視端末TE)の操作に基づいたフィードバック(判定結果に対する教師ラベルと、当該教師ラベルに対応する特徴量データを含む教師データセット)を受けて蓄積するようにしてもよい。
The timing at which the teacher data set is supplied to the
また、判定器作成部60が判定器31に学習処理させるタイミングについても限定されないものである。例えば、判定器作成部60は、異常判定システム1の運用開始時にだけ判定器31に学習処理を実行させるようにしてもよいし、定期又は不定期の間隔で判定器31に学習処理を実行させるようにしてもよい。例えば、判定器作成部60は、蓄積する学習用データセットが一定量追加されたタイミングで判定器31に学習処理を実行させるようにしてもよい。
Also, the timing at which the
次に、フィルタ条件生成部50の詳細構成について説明する。
Next, a detailed configuration of the
フィルタ条件生成部50は、誤判定フィードバックされたログ情報及び当該ログ情報に関連する情報(各検知エンジン111の検知結果、判定結果の数値スコア等)に基づいて、誤判定に寄与した検知エンジン111の検知結果に適用するフィルタ条件データD2を生成する処理(フィルタ条件生成処理)を行う。
The filter
フィルタ条件生成部50は、まず誤判定フィードバックされたログ情報の特徴量データから、どの検知エンジン111が当該ログ情報に対して異常を検知したかを判断する。次に、フィルタ条件生成部50は、フィルタ条件生成定義情報51から当該検知エンジン111のエントリを取得し、フィールド列に記載のフィールド名から当該ログのフィールドの値を取得し、値条件列に記載の条件式でフィルタ条件を作成する。フィルタ条件生成部50は、生成したフィルタ条件を対応する検知エンジン111のフィルタ条件リストに追加するよう検知エンジン111部に要求する。フィルタ条件生成部50は、誤判定ログと指定されたログ情報(例えば、判定結果表示画面で誤判定ログとして選択されたログ情報;以下、「指定ログ情報」と呼ぶ)に対応する特徴量データを参照し、指定ログ情報を異常として検知した検知エンジン111の検知結果を除外する(例えば、異常でないという検知結果に相当する値に変更する)ためのフィルタ条件を生成して、当該検知エンジン111に対応するフィルタ条件データD2に反映させる。
The filter
図4は、フィルタ条件生成定義情報51の構成例について示した図である。
FIG. 4 is a diagram showing a configuration example of the filter condition
図4に示すようにフィルタ条件生成定義情報51では、1行で1つのエントリ(フィルタを生成する条件を定義した情報)が記述されている。図4に示すようにフィルタ条件生成定義情報51では、エントリごとに、検知エンジン111を識別するための「検知エンジン名」、ログ情報において当該検知エンジンが検査する項目を示す「フィールド名」、及び「値条件」の情報が登録されている。本明細書では、フィルタ条件生成定義情報51については、説明を簡易とするため図4のような表形式で示しているが、フィルタ条件生成定義情報51の形式は限定されないものである。例えば、フィルタ条件生成定義情報51は、JSON(JavaScript Object Notation)やXML(eXtensible Markup Language)等によりフィルタ条件の生成ルールが設定される形式としてもよい。
As shown in FIG. 4, in the filter condition
「値条件」の項目は、フィールド名の項目に適用する抽出条件を示している。例えば、フィールド名で指定された項目が文字列形式(例えば、パス、通信先FQDN、ファイルの拡張子等)である場合には、値条件に、指定ログ情報とフィールド名の項目で文字列が一致するログ情報を抽出することを示す「一致」が設定される。また、例えば、フィールド名で指定された項目が数値形式(例えば、送信バイト数等)である場合には、値条件に、指定ログ情報のフィールド名の項目の値以下のログ情報を抽出することを示す「以下」や、指定ログ情報のフィールド名の項目の値以上のログ情報を抽出することを示す「以上」等を設定することができる。 The "value condition" item indicates an extraction condition to be applied to the field name item. For example, if the item specified by the field name is in character string format (e.g., path, communication destination FQDN, file extension, etc.), the specified log information and field name items are "Match" is set to indicate that matching log information is to be extracted. Also, for example, if the item specified by the field name is in a numerical format (e.g., the number of bytes sent, etc.), the value condition is to extract log information that is less than or equal to the value of the item of the field name of the specified log information. or "greater than or equal to" indicating that the log information equal to or greater than the value of the field name item of the specified log information is to be extracted.
図1では1~3行目のエントリの検知エンジン名は、それぞれ「URLパスが疑わしい」、「実行形式ファイルダウンロード」、「アップロードサイズが大きい」となっている。 In FIG. 1, the detection engine names of the entries on the 1st to 3rd lines are "URL path is suspicious", "executable file download", and "upload size is large", respectively.
フィルタ処理部12は、フィルタ条件生成定義情報51の検知エンジン名の列からフィルタ条件を生成する検知エンジン111を検索し、フィールド名の列から誤判定ログの当該フィールドの値を取得し、値条件の列に記載の条件式を適用することで行う。
The
この場合、1行目のエントリは、検知エンジン名が「URLパスが疑わしい」であり、フィールド名が「URLパス」であり、値条件が「一致」である。この場合、1行目のエントリでは、「URLパスが疑わしい」という検知エンジン111(この場合は、検知エンジン111-1)に対して、誤判定ログのURLパスのフィールドの値と一致するログ情報をフィルタするフィルタ条件が生成されることを示している。 In this case, the entry in the first row has the detection engine name "URL path is suspect", the field name "URL path", and the value condition "match". In this case, in the entry on the first line, for the detection engine 111 (in this case, the detection engine 111-1) "the URL path is suspicious", log information that matches the value of the URL path field of the misjudgment log indicates that a filter condition is generated to filter the .
また、2行目のエントリは、検知エンジン名が「実行形式ファイルダウンロード」であり、フィールド名に「通信先FQDN」と「パスのファイル拡張子」の2つが設定され、値条件が「一致」となっている。この場合、2行目のエントリでは、誤判定ログの「通信先FQDN」と「パスのファイル拡張子」の両方のフィールドの値が一致するログをフィルタするフィルタ条件が生成されることを示している。 In the entry on the second line, the detection engine name is "executable file download", two field names, "communication destination FQDN" and "path file extension" are set, and the value condition is "match". It has become. In this case, the entry in the second line indicates that a filter condition will be generated to filter the false positive logs with matching values in both the Destination FQDN and Path File Extension fields. there is
さらに、3行目のエントリは、検知エンジン名が「アップロードサイズが大きい」であり、フィールド名が「送信バイト数」であり、値条件が「以下」である。この場合、3行目のエントリでは、誤判定ログの送信バイト数フィールドの値以下のログ情報をフィルタするフィルタ条件が生成されることを意味している。 Furthermore, the entry in the third line has the detection engine name "large upload size", the field name "number of bytes sent", and the value condition "less than or equal to". In this case, the entry on the third line means that a filter condition for filtering log information equal to or less than the value of the number of bytes sent field of the erroneous determination log is generated.
以上のように、異常判定システム1では、複数の検知エンジン111の検知結果をまとめて特徴量データとし、異常パターンを学習させた判定部30(判定器31)で総合的に異常か否かを判定して出力する。そして、異常判定システム1では、誤判定フィードバック時に異常検知に寄与した検知エンジン111に対して誤判定ログを検知しない処理(例えば、異常の検知結果を正常に変更する処理)ためのフィルタ条件を生成する仕組みを提供する。具体的には、異常判定システム1では、フィルタ条件生成部50が、誤判定ログに対して各検知エンジン111がどのようなフィルタ条件を生成すればよいかを記載したフィルタ条件生成定義情報51を保持し、誤判定フィードバックがあったときに、フィルタ条件生成定義情報51を参照して各検知エンジン111のフィルタ条件(フィルタ条件データD2)を生成する。
As described above, in the
(A-2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の異常判定システム1の動作(実施形態に係る異常判定方法)を説明する。
(A-2) Operation of First Embodiment Next, the operation (abnormality determination method according to the embodiment) of the
まず、検知処理部10の動作の詳細について図5を用いて説明する。
First, details of the operation of the
図5は、検知処理部10の動作について示したフローチャートである。
FIG. 5 is a flow chart showing the operation of the
検知処理部10は、制御部70の制御にしたがったタイミングで、図5のフローチャートの処理を行う。
The
検知処理部10では、解析対象のログ情報が供給されると(S101)、検知エンジン部11の検知エンジン111(111-1~111-N)により当該ログ情報に対する検知処理が行われ、検知結果D1(D1-1~D1-N)が取得される(S102)。
In the
各検知エンジン111(111-1~111-N)は、それぞれの異常検知の観点で異常と判断したログ情報とその数値スコアを出力する。ここで、各検知エンジン111において、異常検知の観点は限定しないが、例えば、上記のように「実行形式のファイル拡張子をダウンロード」のようなルールベースの観点や、「通信先へのアップロードサイズが異常に大きい」のような統計値ベースの観点がある。各検知エンジン111の詳細構成については、従来技術を適用することができるので詳しい説明を省略する。
Each detection engine 111 (111-1 to 111-N) outputs log information judged to be abnormal from the viewpoint of respective abnormality detection and its numerical score. Here, in each
検知結果D1-1~D1-Nは、それぞれフィルタ処理部12において、フィルタ条件データD2-1~D2-Nに基づくフィルタ条件が適用され、フィルタ条件に合致する場合にフィルタ処理される(S103)。
The detection results D1-1 to D1-N are subjected to filter conditions based on the filter condition data D2-1 to D2-N in the
フィルタ処理部12は、検知結果D1-1~D1-Nに対してフィルタ条件を適用し必要に応じてフィルタ処理した結果としてフィルタ処理済検知結果D3-1~D3-Nを得る。なお、ログ情報がフィルタ条件に合致しない場合は、検知結果D1-1~D1-Nは特にフィルタ処理されないため、検知結果D1-1~D1-Nとフィルタ処理済検知結果D3-1~D3-Nは同じ内容となる。
The
検知処理部10は、全ての検知エンジン111についてフィルタ処理が完了して、フィルタ処理済検知結果D3-1~D3-Nの取得が完了(S104)すると、取得したフィルタ処理済検知結果D3-1~D3-Nを出力(特徴量処理部20に供給)する。このとき、検知処理部10は、フィルタ処理済検知結果D3-1~D3-Nに解析対象のログ情報等を付加して、特徴量処理部20に供給する。
When the filtering process for all the
次に、特徴量処理部20、判定部30(判定器31)及び判定器作成部60の動作の詳細について図6を用いて説明する。
Next, details of operations of the feature
図6は、特徴量処理部20、判定部30(判定器31)及び判定器作成部60の動作の例について示したフローチャートである。
FIG. 6 is a flow chart showing an example of operations of the feature
特徴量処理部20、判定部30(判定器31)及び判定器作成部60は、制御部70の制御に従ったタイミング(学習処理又は判定処理が必要となったタイミング)で、図6のフローチャートの処理を行う。制御部70において、学習処理又は判定処理の制御タイミングについては限定されないものである。例えば、制御部70は、スケジューリングによって定期的(例えば、1日1回の周期)なタイミングで学習処理を行うと判断してもよいし、オペレータOP(監視端末TE)からの誤判定フィードバックがあったタイミングで学習処理を行うと判断するようにしてもよい。また、例えば、制御部70は、検知処理部10から検知結果(フィルタ処理済検知結果D3-1~D3-N)が出力されたことをトリガとし判定処理を行うと判断してもよいし、送信元IPアドレス単位にある期間の検知結果(フィルタ処理済検知結果D3-1~D3-N)を集約したものを特徴量データとする場合などは必要な期間の検知結果が蓄積(例えば、判定部30や制御部70で蓄積)されたタイミングで、それらの蓄積された検知結果について判定処理を行うと判断するようにしてもよい。
The feature
特徴量処理部20は、フィルタ処理済検知結果D3-1~D3-Nが供給されると、フィルタ処理済検知結果D3-1~D3-Nに基づいて特徴量データを生成し、判定部30の判定器31に供給する(S201)。
When the filtered detection results D3-1 to D3-N are supplied, the feature
ここで、判定部30(判定器31)は、制御部70の制御に従って、学習処理を実行するか否か判断し(S202)、学習処理を実行する場合には後述するステップS203に移行し、判定処理を実行する場合には後述するステップS205に移行する。 Here, the determination unit 30 (determiner 31) determines whether or not to execute the learning process according to the control of the control unit 70 (S202). When executing the determination process, the process proceeds to step S205, which will be described later.
判定部30は、学習処理を実行する場合、蓄積された教師データセットを保持し(S203)、保持した教師データセットを用いて判定器31に機械学習処理を実行させ、新たな学習モデルを取得させる(S204)。
When executing the learning process, the
また、判定部30は、判定処理を実行する場合、供給された特徴量データを判定器31にセットして判定処理を実行させ、判定結果を判定結果処理部40に供給する(S205)。
When executing the determination process, the
次に、判定結果処理部40及びフィルタ条件生成部50の動作の詳細について図7を用いて説明する。
Next, details of operations of the determination
図7は、判定結果処理部40及びフィルタ条件生成部50の動作の例について示したフローチャートである。
FIG. 7 is a flow chart showing an example of operations of the determination
判定結果処理部40は、判定部30(判定器31)から供給された判定結果について判定結果表示画面としてオペレータOPが使用する監視端末TEに提示する(S301)。
The determination
そして、判定結果処理部40は、オペレータOPが使用する監視端末TEに判定結果の情報を含む判定結果表示画面を表示させ、オペレータOPから誤判定ログのフィードバック(誤判定ログの指定操作)を受け付ける(S302)。このとき、判定結果処理部40は、異常となった判定結果(例えば、判定結果の数値が一定値異常の判定結果)のみを出力(判定結果表示画面に表示)するものとする。また、このとき、制御部70は、判定結果処理部40から、誤判定フィードバックに係る誤判定ログ等の関連データ(例えば、当該誤判定ログに対応する特徴量データ等)をフィルタ条件生成部50に供給させ、フィルタ条件生成部50にフィルタ条件の生成を要求する。
Then, the determination
判定結果処理部40が、判定結果をオペレータOPに通知し、誤判定フィードバック(誤判定ログの指定等)を受け付ける手段については、上記のような判定結果表示画面の提示(例えば、Webページを用いた操作画面の提示)に限定されないものであり、メール送受信や種々のメッセージ送受信によりオペレータOPから誤判定フィードバックを受け付けるようにしてもよい。オペレータOPは、異常と判定されたログ情報が本当に異常に起因するものであるか否かを調査し、結果誤判定と判断した場合、判定結果処理部40に当該ログ情報を誤判定ログとして誤判定フィードバックすることができる。
As for means for the judgment
例えば、図3に示すような判定結果表示画面において、1行目の判定結果(インデックス:1とする判定結果)が選択された場合、判定結果処理部40は、1行目の判定結果(インデックス:1とする判定結果)に対応するログ情報及び特徴量データ(X1~XN)を誤判定フィードバックの情報として取得する。 For example, in the determination result display screen as shown in FIG. : 1) is obtained as the information of the erroneous determination feedback.
次に、フィルタ条件生成部50は、誤判定ログの供給を受けると、誤判定ログとしてフィードバックされた誤判定ログに対応する特徴量データ(X1、X2、・・・、XN)に基づき、フィルタ条件の生成対象となるエントリ(検知エンジン111)を選択する(S303)。
Next, when receiving the false determination log, the filter
例えば、フィルタ条件生成部50は、誤判定ログに対応する特徴量データにおいて、検知結果の数値が0より大きくなっている検知エンジン111については異常が検知されたものとし、フィルタ条件の生成対象となる検知エンジン111としてエントリ選択するようにしてもよい。
For example, the filter
例えば、図3に示す判定結果表示画面において1行目の判定結果(インデックス:1とする判定結果)に対応するログ情報及び特徴量データ(X1~XN)を誤判定フィードバックの情報として取得された場合を想定する。この場合、誤判定ログに対応する特徴量データにおいてX1=60で、X2~XNが全て0となるとすれば、X1に係る検知エンジン111-1の検知結果のみが異常を示し、それ以外は正常を示していたと判断できる。この場合、フィルタ条件生成部50は、フィルタ条件の生成対象となるエントリ(検知エンジン111)として、検知エンジン111-1に対応するエントリを選択する。ここでは、検知エンジン111-1に対応するエントリは、図4に示す1行目のエントリ(検知エンジン名:URLパスが疑わしい)であったものとする。
For example, log information and feature amount data (X1 to XN) corresponding to the first row of the judgment result (index: 1 judgment result) on the judgment result display screen shown in FIG. 3 are acquired as incorrect judgment feedback information. Assume the case. In this case, if X1=60 and X2 to XN are all 0 in the feature amount data corresponding to the erroneous determination log, only the detection result of the detection engine 111-1 related to X1 indicates an abnormality, and the others are normal. It can be judged that the In this case, the
次に、フィルタ条件生成部50は、フィルタ条件生成定義情報51から、フィルタ条件の生成対象として選択した検知エンジン111のエントリを取得し、取得したエントリに基づいて選択した検知エンジン111に対応するフィルタ条件を生成する(S304)。
Next, the filter
このとき、フィルタ条件生成部50は、取得したエントリのフィールド名に対応するフィールドの値を誤判定ログから取得し、当該フィールドの値と取得したエントリの値条件に基づいてフィルタ条件データD2にフィードバックするフィルタ条件を生成する。
At this time, the
フィルタ条件生成部50は、生成したフィルタ条件を、検知エンジン部11(フィルタ処理部12)に通知する。このとき、フィルタ条件生成部50は、生成したフィルタ条件と共に、選択した検知エンジン111の識別子(例えば、検知エンジン名等の検知エンジン111のID)を通知する。
The filter
フィルタ処理部12は、フィルタ条件生成部50から供給されたフィルタ条件を、対応するフィルタ条件データD2に追加更新する(S305)。
The
例えば、ステップS302で図3に示すような判定結果表示画面において、1行目の判定結果(インデックス:1とする判定結果)が選択され、ステップS303で、図4に示すフィルタ条件生成定義情報51で1行目のエントリ(検知エンジン111-1に対応するエントリ)が選択されていた場合を想定する。この場合、当該エントリでは、フィールド名が「URLパス」で、値条件が「一致」となっている。この場合、フィルタ条件生成部50は、URLパスが誤判定ログにおける値である「/a.exe」と一致するログ情報が供給された場合には判定結果を異常ではなく正常とする値(例えば、0)とするようなフィルタ条件を生成して、検知エンジン111-1に対応するフィルタ条件データD2-1に追加登録するように更新する。
For example, in the judgment result display screen as shown in FIG. 3 in step S302, the judgment result in the first row (the judgment result with index: 1) is selected, and in step S303, the filter condition
以後は、URLパスが「/a.exe」と一致するログ情報が検知エンジン111-1に供給された場合、検知結果D1-1が異常を示す値(1以上の値;例えば、以前と同じく60)であったとしても、フィルタ処理部12(フィルタ条件データD2-1)のフィルタ処理により正常を示す値(例えば、0)にフィルタ処理され、フィルタ処理済検知結果D3-1として出力される。 Thereafter, when log information whose URL path matches "/a.exe" is supplied to the detection engine 111-1, the detection result D1-1 will have a value indicating abnormality (a value of 1 or more; 60), the filter processing unit 12 (filter condition data D2-1) filters to a value indicating normality (for example, 0) and outputs it as a filtered detection result D3-1. .
(A-3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of First Embodiment According to the first embodiment, the following effects can be obtained.
第1の実施の異常判定システム1では、判定結果処理部40がオペレータOP(監視端末TE)からの誤判定フィードバックを受け、フィルタ条件生成部50が、フィルタ条件生成定義情報51に基づいて誤判定に寄与した検知エンジン111のフィルタ条件を生成し、検知処理部10(フィルタ処理部12)に設定する。
In the
これにより、異常判定システム1では、誤判定フィードバックの対象となる検知エンジン111について、誤判定フィードバックされたログ情報を異常として出力させない(フィルタ処理部12で正常な値にフィルタ処理する)ため、当該検知エンジン111に関連する検知事由での誤判定を抑制できる。
As a result, the
また、異常判定システム1では、過去に誤判定されたログ情報について異常検知に寄与しない検知エンジン111に対しては、フィルタ条件が追加生成されないため、当該検知エンジン111に関連する検知事由での異常の見逃しを抑制し、検知精度を維持できる。
Further, in the
さらに、異常判定システム1では、フィルタ条件生成定義情報51により、誤判定に寄与した検知エンジン111のみにフィルタ条件が生成されるため、誤判定ログに対する正確なホワイトリスト型のフィルタが可能になる。例えば、異常判定システム1では、悪性サイトからの実行ファイルダウンロードを検知したという事由で異常検知された場合、誤判定事由に関連する、悪性サイトを検知する検知エンジン111や実行ファイルをダウンロードする検知エンジン111にはホワイトリストによるフィルタが適用され、誤判定事由に関連しない正規Webサイトの改ざんや乗っ取りを検知する検知エンジン111はホワイトリストのフィルタが適用されない。このようにすることで、異常判定システム1では、誤判定された異常検知事由での異常検知を抑制し、それ以外の事由での検知精度は維持することが可能になる。
(B)第2の実施形態
以下、本発明による異常判定システム、異常判定プログラム、及び異常判定方法の第2の実施形態を、図面を参照しながら詳述する。
Furthermore, in the
(B) Second Embodiment Hereinafter, a second embodiment of an abnormality determination system, an abnormality determination program, and an abnormality determination method according to the present invention will be described in detail with reference to the drawings.
(B-1)第2の実施形態の構成
第2の実施形態の異常判定システム1Aについても、上述の図1を用いて示すことができる。
(B-1) Configuration of Second Embodiment The
なお、図1において、括弧内の符号は第2の実施形態でのみ用いられる符号である。 In FIG. 1, the symbols in parentheses are symbols used only in the second embodiment.
以下では、第2の実施形態の異常判定システム1Aについて第1の実施形態との差異を説明する。
Below, difference with 1st Embodiment is demonstrated about the
図1に示すように、第2の実施形態の異常判定システム1Aでは判定結果処理部40、及びフィルタ条件生成部50(フィルタ条件生成定義情報51)が、判定結果処理部40A、及びフィルタ条件生成部50A(フィルタ条件生成定義情報51A)に置き換わっている点で第1の実施形態と異なる。
As shown in FIG. 1, in the
第2の実施形態の判定結果処理部40Aは、オペレータOPから、ログ情報単位ではなく、ログ情報を構成するフィールドの値を指定した誤判定フィードバックを受け付けることが可能な点で第1の実施形態と異なっている。判定結果処理部40Aがログ情報を構成するフィールドの値を指定した誤判定フィードバックを受け付ける方法については限定されないものであるが、例えば、図8、図9に示すような判定結果表示画面の構成を適用するようにしてもよい。
The determination
図8、図9は、第2の実施形態における判定結果処理部40Aが表示する判定結果表示画面の構成例について示した図である。
8 and 9 are diagrams showing configuration examples of the determination result display screen displayed by the determination
第1の実施形態の判定結果表示画面では、ログ情報単位(行単位)で選択を受け付けることが可能であったが、第2の実施形態の判定結果表示画面では、ログ情報のフィールドの値(フィールド名とその値)を指定した誤判定フィードバックを受け付けることができる。 In the determination result display screen of the first embodiment, it was possible to accept selection in log information units (row units), but in the determination result display screen of the second embodiment, the log information field values ( field name and its value) can be accepted.
第2の実施形態の誤判定結果表示画面において、フィールド名とその値の入力を受け付ける方法については限定されないものであるが、例えば、図8に示すような操作画面(GUI)を適用するようにしてもよい。 In the erroneous determination result display screen of the second embodiment, the method of receiving input of the field name and its value is not limited, but for example, an operation screen (GUI) as shown in FIG. 8 is applied. may
図8に示す判定結果表示画面では、フィールド名の入力を受け付けることができるオブジェクトOB201、フィールドの値(オブジェクトOB201で選択されたフィールドの値)の入力を受けることができるテキストボックス形式のオブジェクトOB202、及びオブジェクトOB201で指定されたフィールド名とオブジェクトOB202で入力された値で誤判定フィードバックを受け付けるためのボタン形式のオブジェクトOB203が配置されている。 In the determination result display screen shown in FIG. 8, an object OB201 capable of receiving field name input, a text box type object OB202 capable of receiving field value input (field value selected in object OB201), And a button-type object OB203 is arranged for receiving feedback on an erroneous determination based on the field name designated by the object OB201 and the value input by the object OB202.
オブジェクトOB201では、例えば、リストボックス等の形式のオブジェクト(GUI)によりフィールド名の選択入力を受け付けるようにしてもよいし、その上に表示された表で選択されたセルに応じたフィールド名を入力するようにしてもよい。また、例えば、判定結果表示画面において、オブジェクトOB201には、選択されたセル(行)に応じたフィールド名を自動入力するようにしてもよい。例えば、図8に示す判定結果表示画面では、ログ情報の通信先FQDNのセル(インデックス:1の通信先FQDNのセル)が選択(ハイライト)された状態について示しており、オブジェクトOB201には選択されたフィールドのフィールド名(通信先FQDN)が入力されている。具体的には、例えば、図8に示す判定結果表示画面では、オブジェクトOB202には選択されたフィールドの値(xxx.yyy.zzz)が自動入力されている。なお、オブジェクトOB202においては、オペレータOPによる自由なテキスト編集も受け付け可能とするようにしてもよい。 In the object OB201, for example, an object (GUI) in the form of a list box or the like may accept a field name selection input, or input a field name corresponding to the cell selected in the table displayed thereon. You may make it Further, for example, on the determination result display screen, a field name corresponding to the selected cell (row) may be automatically entered in the object OB201. For example, the determination result display screen shown in FIG. 8 shows a state in which the cell of the communication destination FQDN of the log information (the cell of the communication destination FQDN with index: 1) is selected (highlighted), and the object OB201 is selected (highlighted). The field name (communication destination FQDN) of the specified field is entered. Specifically, for example, in the judgment result display screen shown in FIG. 8, the value (xxx.yyy.zzz) of the selected field is automatically entered in the object OB202. Note that the object OB202 may also accept free text editing by the operator OP.
そして、図8に示すように、フィールド名として「通信先FQDN」、フィールド値として「xxx.yyy.zzz」が指定された状態でオブジェクトOB203のボタンが押下されると、判定結果処理部40Aは、フィールド名「通信先FQDN」、フィールド値「xxx.yyy.zzz」とする誤判定フィードバックを受け付けることができる。
Then, as shown in FIG. 8, when the button of the object OB 203 is pressed with "communication destination FQDN" specified as the field name and "xxx.yyy.zzz" specified as the field value, the determination
さらに、第2の実施形態の判定結果表示画面のオブジェクトOB202では、図9に示すように、ワイルドカードを用いたテキスト記述を可能とするようにしてもよい。 Furthermore, in the object OB202 of the determination result display screen of the second embodiment, as shown in FIG. 9, text description using wildcards may be allowed.
例えば、図9では、オブジェクトOB202に、「*.yyy.zzz」と「*」をワイルドカードとしたテキスト記述となっている。この場合「*」は、0文字以上の任意の文字列が該当する(置き換え可能とする)ことを意味する。例えば、誤判定フィードバックされた通信先FQDNが「*.yyy.zzz」だった場合、「aaa.yyy.zzz」や「ttt.yyy.zzz」等、通信先FQDNの末尾が「yyy.zzz」となるログ情報を全て指定したことと同義となる。例えば、図9に示す判定結果表示画面では、マウスのドラッグ操作等により、いずれかのセルの一部の文字列のみ選択された場合には、選択されなかった部分について、オブジェクトOB202で上記のようなワイルドカードを用いた表示に置き換えるようにしてもよい。例えば、図9では、インデックス:1の通信先FQDNのセルについて「xxx.yyy.zzz」のうち「yyy.zzz」のみが選択(ハイライト)された状態になっているので、オブジェクトOB202では選択されなかった「xxx.」の部分がワイルドカード「*」に置き換わって表示(自動表示)されている。 For example, in FIG. 9, the object OB202 has a text description with "*.yyy.zzz" and "*" as wildcards. In this case, "*" means that any character string of 0 or more characters is applicable (replaceable). For example, if the FQDN of the communication destination that is fed back with an erroneous judgment is "*.yyy.zzz", the end of the communication destination FQDN such as "aaa.yyy.zzz" or "ttt.yyy.zzz" is "yyy.zzz" It is synonymous with specifying all log information. For example, on the determination result display screen shown in FIG. 9, if only a part of the character string in any cell is selected by a mouse drag operation or the like, the unselected part is displayed in the object OB202 as described above. may be replaced with a display using a wild card. For example, in FIG. 9, only "yyy.zzz" of "xxx.yyy.zzz" is selected (highlighted) for the cell of the communication destination FQDN with index: 1. The portion of "xxx." which was not displayed is replaced with a wild card "*" and displayed (automatically displayed).
以上のように、オペレータOPは、図9のように、ワイルドカード形式でフィールド値を誤判定フィードバックすることもできる。ワイルドカード形式の誤判定フィードバックは、例えばホスト名が異なる通信先FQDNが複数異常検知されるような場合に、共通のドメイン名に対して誤判定フィードバックすることで、一括でフィードバックしたい場合や、今後発生し得る他の異なるホスト名をまとめて誤判定フィードバックしたい場合に利用できる。 As described above, the operator OP can feed back erroneous determinations of field values in a wildcard format as shown in FIG. The wildcard format misjudgment feedback, for example, when multiple failures are detected for communication destination FQDNs with different host names, by giving misjudgment feedback to a common domain name. It can be used when you want to collectively give feedback on misjudgments of other different host names that may occur.
以上のように、判定結果処理部40Aは、フィールド値(フィールド名とその値)について誤判定フィードバックを受け付けると、フィルタ条件生成部50Aに受け付けた情報(フィールド名とその値)を通知し、フィルタ条件の生成を要求する。
As described above, when the determination
フィルタ条件生成部50Aは、判定結果処理部40Aから通知された情報(フィールド名とその値)をフィルタ条件生成定義情報51Aに適用して検知エンジン111ごとのフィルタ条件を生成し、フィルタ処理部12に通知する。
The filter
図10は、第2の実施形態に係るフィルタ条件生成定義情報51Aの構成例について示した図である。
FIG. 10 is a diagram showing a configuration example of filter condition
図10に示すように、フィルタ条件生成定義情報51Aも、各エントリについてフィールド名、検知エンジン名、及び値条件の項目で構成されているが、検索時のキー(主キー)がフィールド名となっている点で第1の実施形態と異なる。すなわち、フィルタ条件生成定義情報51Aは、フィールド名をキーとするフィードバック条件生成定義情報となっている。
As shown in FIG. 10, the filter condition
フィルタ条件生成部50Aは、判定結果処理部40Aから、誤判定フィードバックの情報(フィールド名とその値)を受けると、当該誤判定フィードバック情報のフィールド名に合致するエントリをフィルタ条件生成定義情報51Aから検索し、当該エントリの検知エンジン名と値条件を取得する。そして、フィルタ条件生成部50Aは、検出したエントリの検知エンジン名、値条件、及び誤判定フィードバックされた値に基づいて、フィルタ条件を生成する。
When the filter
図10では1~3行目のエントリのフィールド名は、それぞれ「URLパス」、「通信先FQDN」、「URLパス」となっている。 In FIG. 10, the field names of the entries on the first to third lines are "URL path", "communication destination FQDN", and "URL path", respectively.
この場合、1行目のエントリは、フィールド名が「URLパス」であり、検知エンジン名が「URLパスが疑わしい」であり、値条件が「一致」である。この場合、1行目のエントリでは、誤判定フィードバックのフィールド名であるURLパスにおいて誤判定フィードバックの値と一致するログ情報をフィルタするフィルタ条件が生成されることを示している。 In this case, the entry in the first row has the field name "URL path", the detection engine name "URL path is suspect", and the value condition "match". In this case, the entry in the first line indicates that a filter condition is generated to filter log information that matches the false positive feedback value in the URL path, which is the false positive feedback field name.
また、2行目のエントリは、フィールド名が「通信先FQDN」であり、検知エンジン名が「通信先ドメインが疑わしい」であり、値条件が「部分一致(ドメイン名)」となっている。この場合、2行目のエントリでは、誤判定フィードバックのフィールド名である通信先FQDNにおいて誤判定フィードバックの値と部分一致(通信先FQDNのうちドメイン名の部分の文字列が一致)するログ情報をフィルタするフィルタ条件が生成されることを示している。ここでは、ドメイン名は、FQDNからホスト名を除外した文字列とする。例えば、FQDNが「host1.xxx.yyy.zzz」であった場合、「host1」がホスト名で「xxx.yyy.zzz」がドメイン名となる。 In the entry on the second line, the field name is "communication destination FQDN", the detection engine name is "communication destination domain is suspicious", and the value condition is "partial match (domain name)". In this case, in the entry on the second line, the log information that partially matches the value of the misjudgment feedback (the character string of the domain name part of the communication destination FQDN matches) in the communication destination FQDN, which is the field name of the misjudgment feedback. It shows that a filtering filter condition is generated. Here, the domain name is a character string obtained by excluding the host name from the FQDN. For example, if the FQDN is "host1.xxx.yyy.zzz", "host1" is the host name and "xxx.yyy.zzz" is the domain name.
さらに、3行目のエントリは、フィールド名が「URLパス」であり、検知エンジン名が「ダウンロードファイル名が疑わしい」であり、値条件が「部分一致(ファイル名)」となっている。この場合、3行目のエントリでは、誤判定フィードバックのフィールド名であるURLパスにおいて誤判定フィードバックの値と部分一致(URLパスのうちファイル名の部分の文字列が一致)するログ情報をフィルタするフィルタ条件が生成されることを示している。ここでは、ファイル名は、URLパスからディレクトリの表記を除外したファイル名の文字列であるものとする。 Furthermore, the entry in the third line has a field name of "URL path", a detection engine name of "suspect download file name", and a value condition of "partial match (file name)". In this case, the entry in the third line filters log information that partially matches the value of the false positive feedback in the URL path, which is the field name of the false positive feedback (the character string of the file name part of the URL path matches). It shows that the filter condition is generated. Here, the file name is assumed to be a character string of the file name excluding the notation of the directory from the URL path.
なお、ここでは、検知エンジン111-1の検知エンジン名が「URLパスが疑わしい」、検知エンジン111-2の検知エンジン名が「通信先ドメインが疑わしい」、検知エンジン111-3の検知エンジン名が「ダウンロードファイル名が疑わしい」であるものとする。 Here, the detection engine name of the detection engine 111-1 is "suspicious URL path", the detection engine name of the detection engine 111-2 is "suspicious destination domain", and the detection engine name of the detection engine 111-3 is "suspicious". Assume that "download file name is suspicious".
(B-2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の異常判定システム1Aの動作(実施形態に係る異常判定方法)について第1の実施形態との差異のみを説明する。
(B-2) Operation of Second Embodiment Next, the operation (abnormality determination method according to the embodiment) of the
第2の実施形態では、判定結果処理部40A及びフィルタ条件生成部50Aの動作のみが第1の実施形態と異なっている。
The second embodiment differs from the first embodiment only in the operations of the determination
次に、判定結果処理部40A及びフィルタ条件生成部50Aの動作の詳細について図11を用いて説明する。
Next, details of operations of the determination
図11は、判定結果処理部40A及びフィルタ条件生成部50Aの動作の例について示したフローチャートである。
FIG. 11 is a flow chart showing an example of operations of the determination
判定結果処理部40Aは、判定部30(判定器31)から供給された判定結果について判定結果表示画面としてオペレータOPが使用する監視端末TEに提示し(S401)、誤判定フィードバックの情報入力(誤判定に係るフィールド名とその値の入力)を受け付ける(S402)。このとき、判定結果処理部40Aは、図8、図9のような判定結果表示画面を提示して誤判定フィードバックの情報入力を受け付ける点で第1の実施形態と異なっている。判定結果処理部40Aは、誤判定フィードバックの情報入力を受け付けると、当該情報(フィールド名とその値)を、フィルタ条件生成部50Aに通知すると共にフィルタ条件の更新を要求する。
The determination
誤判定フィードバック情報(フィールド名とその値)が供給されると、フィルタ条件生成部50Aは、当該誤判定フィードバック情報のフィールド名に合致するエントリをフィルタ条件生成定義情報51Aから検索して選択する(S403)。
When the erroneous determination feedback information (field name and its value) is supplied, the filter
次に、フィルタ条件生成部50Aは、フィルタ条件生成定義情報51Aから、選択したエントリの情報(検知エンジン名及び値条件)を取得し、取得したエントリごとにフィルタ条件を生成する(S404)。
Next, the filter
フィルタ条件生成部50Aは、生成したフィルタ条件を、検知エンジン部11(フィルタ処理部12)に通知する。このとき、フィルタ条件生成部50Aは、生成したフィルタ条件と共に、選択した検知エンジン111の識別子(例えば、検知エンジン名等の検知エンジン111のID)を通知してフィルタ条件の更新を要求する。そして、フィルタ処理部12は、フィルタ条件生成部50Aから供給されたフィルタ条件を、対応するフィルタ条件データD2に追加更新する(S405)。
The filter
例えば、ステップS402で図9に示すような判定結果表示画面において、誤判定フィードバックのフィールド名が「通信先FQDN」で、フィールド値が「*.yyy.zzz」であったものとする。 For example, in the judgment result display screen shown in FIG. 9 in step S402, it is assumed that the field name of the erroneous judgment feedback is "communication destination FQDN" and the field value is "*.yyy.zzz".
この場合、ステップS403で、図4に示すフィルタ条件生成定義情報51で2行目のエントリ(フィールド名:通信先FQDN)が選択されることになる。当該エントリでは、フィールド名が「通信先FQDN」で、値条件が「部分一致(ドメイン名)」となっている。
In this case, in step S403, the second line entry (field name: communication destination FQDN) is selected in the filter condition
したがって、この場合、フィルタ条件生成部50Aは、通信先FQDNを構成するドメイン名(通信先FQDNの一部)が、誤判定フィードバックされたフィールド値である「*.yyy.zzz」と一致するログ情報が供給された場合には判定結果を異常ではなく正常とする値(例えば、0)とするようなフィルタ条件を生成して、検知エンジン111-2に対応するフィルタ条件データD2-2に追加登録するように更新する。
Therefore, in this case, the filter
以後は、通信先FQDNのうちドメイン名の末尾が「yyy.zzz」と一致するログ情報が検知エンジン111-2に供給された場合、検知結果D1-2が異常を示す値(1以上の値)であったとしても、フィルタ処理部12(フィルタ条件データD2-1)のフィルタ処理により正常を示す値(例えば、0)にフィルタ処理され、フィルタ処理済検知結果D3-2として出力される。 Henceforth, when the detection engine 111-2 is supplied with log information in which the end of the domain name of the communication destination FQDN matches "yyy.zzz", the detection result D1-2 is set to a value indicating abnormality (a value of 1 or more). ), the filter processing unit 12 (filter condition data D2-1) filters to a value (for example, 0) indicating normality, and is output as a filtered detection result D3-2.
(B-3)第2の実施形態の効果
第2の実施形態によれば、以下のような効果を奏することができる。
(B-3) Effects of Second Embodiment According to the second embodiment, the following effects can be obtained.
第2の実施形態の異常判定システム1Aでは、判定結果処理部40Aが、オペレータOP(監視端末TE)から誤判定フィードバックを受け付ける際に、ログ情報のフィールドの値(フィールド名とその値)の指定を受け付ける。そして、異常判定システム1Aでは、フィルタ条件生成部50Aがフィールド名をキーとするフィルタ条件生成定義情報51Aをもとにフィルタ条件を生成する。
In the
これにより、異常判定システム1Aでは、ログ情報全体に対して誤判定か否かの判断ができない場合にも、フィールド単位に正常と判断できる項目を指定して誤判定フィードバックできる。これにより、第2の実施形態では、例えば、ログ監視経験の浅いオペレータOPでも異常判定システム1Aを活用することができる。また、異常判定システム1Aでは、ワイルドカード形式で誤判定フィードバックを受け付けることができるため、例えばFQDNのドメイン名を誤判定フィードバックすることで、例えば、ホスト名が異なるだけの類似するFQDNを一括で誤判定フィードバックすることができる。このように、異常判定システム1Aでは、ログ情報のフィールドの値を指定した誤判定フィードバックに基づきフィルタ条件を生成するが、フィールド名をキーとするフィルタ条件生成定義情報51Aに記載される検知エンジン111のみに対してフィルタ条件(フィルタ条件データD2)が追加生成される。したがって、異常判定システム1Aでは、例えば、あるログ情報に対してフィルタするのが望ましくない検知エンジン111(例えば、上記のような正規Webサイトの改ざんを検知するような検知エンジン111)についてはフィルタ条件が生成されないため、検知精度の低下を抑制できる。
As a result, in the
(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C) Other Embodiments The present invention is not limited to the above-described embodiments, and modified embodiments such as those illustrated below can be exemplified.
(C-1)第1の実施形態の判定結果処理部40が表示する判定結果表示画面では、ログ情報単位(行単位)で誤判定フィードバックを受け付ける構成となっていたが、他の単位で誤判定フィードバックを受け付けるようにしてもよい。例えば、判定結果表示画面において、図12に示すように、各ログ情報の検知エンジン111単位で誤判定フィードバックを受け付けるようにしてもよい。
(C-1) The determination result display screen displayed by the determination
図12は、第2の実施形態に係る判定結果表示画面の変形実施例について示した図である。 FIG. 12 is a diagram showing a modified example of the determination result display screen according to the second embodiment.
図12では、各ログ情報(各行)について、検知エンジン111ごとの検知結果(検知エンジン111ごとの検知結果X1~XN)のセルに当該セルの選択を受け付けるためのオブジェクトであるチェックボックスCBが配置されている。 In FIG. 12, for each piece of log information (each row), a check box CB, which is an object for accepting selection of the cell, is placed in the cell of the detection result for each detection engine 111 (detection results X1 to XN for each detection engine 111). It is
図12のような判定結果表示画面の提示を受けたオペレータOPに検知エンジン111の観点毎に、各ログ情報について誤判定か否かを判断させることができる。そして、図12の判定結果表示画面では、オペレータOPにより誤判定と判断されたログ情報と検知エンジン111の組合せに該当するセルのチェックボックスCBについて操作(チェックをオンとする操作)を受け付けることができる。例えば、図12に示す判定結果操作画面では、インデックスが1のログ情報に係る第1の検知エンジン111-1の検知結果(X1)と、インデックスが2のログ情報に係る第2の検知エンジン111-2の検知結果(X2)のチェックボックスCBにチェックが入った状態となっている。図12に示す判定結果操作画面では、1又は複数のチェックボックスCBについてチェックがONの状態でボタンOB301が操作されると、チェックボックスCBがONの状態のセルに対応するログ情報(インデックス)と検知エンジン111の組合せを指定した誤判定フィードバックを受け付けることができる。
The operator OP, who has been presented with the judgment result display screen as shown in FIG. Then, on the determination result display screen of FIG. 12, it is possible to accept an operation (operation to turn on the check) for the check box CB of the cell corresponding to the combination of the log information and the
この場合、判定結果処理部40は、誤判定フィードバックの情報としてチェックボックスCBがオンとなっていたログ情報(インデックス)に検知エンジン111の識別子(例えば、検知エンジン名)を含む情報を対応付けた情報を取得し、フィルタ条件生成部50に供給する。
In this case, the determination
そして、フィルタ条件生成部50は、誤判定フィードバックで指定された検知エンジン名のエントリをフィルタ条件生成定義情報51から取得する。そして、フィルタ条件生成部50は、取得したエントリと誤判定フィードバックで指定されたエントリに対応するログ情報に基づいて、誤判定フィードバックに係る検知エンジンに対するフィルタ条件を生成し、フィルタ処理部12に通知する。
Then, the filter
判定結果処理部40において、上記のような誤判定フィードバックを適用することにより、オペレータOPの誤判定フィードバック事由を反映できるため、より正確にフィルタ条件の生成が必要な検知エンジンを選定することができ、さらに誤判定の抑制と検知精度低下の抑制効果を高めることができる。
By applying the erroneous determination feedback as described above in the determination
(C-2)上記の各実施形態の異常判定システム1、1Aにおいて、検知処理部10(フィルタ処理部12)が、設定されたフィルタ条件(フィルタ条件データD2-1~D2-N)をリセットする処理(以下、「リセット処理」と呼ぶ)を実行する手段(以下、「リセット手段」と呼ぶ)を備えるようにしてもよい。
(C-2) In the
例えば、正規サイトの改ざんを検知する検知エンジン111があった場合に、この検知エンジン111で検知したログの通信先FQDNを含むログをフィルタするフィルタ条件をフィルタ処理部12(フィルタ条件データD2)から削除することで、「正規のサイトの改ざん」を契機として発生する他の異常検知事由を検出できる可能性がある。このような条件をトリガとしてフィルタ条件を削除する場合、検知処理部10において、フィルタ条件削除のトリガとなる検知エンジン名と「フィルタ条件を削除する条件」の情報を予め保持させるようにしてもよい。
For example, if there is a
「フィルタ条件を削除する条件」とは、例えば、上記の「正規サイトの改ざん」を検知する検知エンジン111の例では、当該検知エンジン111で検知したログの通信先FQDNと一致するフィルタ条件を持つフィルタ条件リストのエントリを削除する、というような条件が該当する。
For example, in the example of the
検知エンジン部11は、フィルタ条件を削除するトリガとなる検知エンジンが検知した場合、当該検知エンジンのフィルタ条件を削除する条件に従って、他の検知エンジンのフィルタ条件をフィルタ条件リストから削除する。
When a detection engine that triggers deletion of a filter condition is detected, the
また、フィルタ処理部12のフィルタ条件(フィルタ条件データD2)をリセットする他の方法として、各フィルタ条件データD2に、フィルタ条件の生成時刻情報(フィルタ条件を追加した時刻の情報)を付加し、時間経過でフィルタ条件を削除するようにしてもよい。具体的には、例えば、フィルタ処理部12では、各フィルタ条件データD2でフィルタ条件を追加する際に、フィルタ条件の生成時刻情報(フィルタ条件を追加した時刻の情報)を付加し、フィルタ条件データD2のフィルタ条件ごとに生存期間(フィルタ条件を追加した時刻からリセット処理までの期間)を管理し、作成日時から生存期間を経過したフィルタ条件を削除するようにしてもよい。
As another method for resetting the filter conditions (filter condition data D2) of the
異常判定システム1、1Aでは、上記のようにリセット手段により定期的にフィルタ条件がリセットされると、過去に誤判定フィードバックされた判定結果が定期的にオペレータOPに通知されることになるため、過去の時点では誤判定と判断されたが時間経過で異常に変わるような事象の見逃しを防ぐことができる。
In the
1…異常判定システム、10…検知処理部、11…検知エンジン部、111、111-1~111-N…検知エンジン、12…フィルタ処理部、20…特徴量処理部、30…判定部、31…判定器、40…判定結果処理部、50…フィルタ条件生成部、51…フィルタ条件生成定義情報、60…判定器作成部、70…制御部、D1、D1-1~D1-N…検知結果、D2、D2-1~D2-N…フィルタ条件データ、D3、D3-1~D3-N…フィルタ処理済検知結果、NE…ネットワーク、OP…オペレータ、TE…監視端末
Claims (7)
それぞれ異なる観点で前記解析対象データから異常を検知する複数の検知手段と、
前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力するフィルタ処理手段と、
前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得する特徴量処理手段と、
教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定する判定手段と、
前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付けるフィードバック受付手段と、
前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成するフィルタ条件生成手段と
を有することを特徴とする異常判定システム。 In an abnormality determination system that determines an abnormality on the network from analysis target data collected from one or more network devices arranged on the network,
a plurality of detection means for detecting anomalies from the analysis target data from different viewpoints;
Filter condition data describing filter conditions for each of the detection means is held, detection results of each of the detection means are subjected to filter processing based on the filter condition data, and detection is performed for each of the detection means after the filter processing. filtering means for outputting results;
feature amount processing means for acquiring feature amount data suitable for machine learning based on the detection results of the respective detection means output by the filtering means;
determining means for determining an abnormality on the network by supplying the feature data to a determining device having a learning model machine-learned based on teacher data;
feedback receiving means for receiving erroneous determination feedback indicating that the determination result by the determining means is an erroneous determination;
and filter condition generation means for generating the filter condition data to be set in the filter processing means according to the contents of the erroneous judgment feedback received by the feedback reception means.
前記フィルタ条件生成手段は、前記検知手段ごとのフィルタ条件生成ルールが記述されたフィルタ条件生成定義情報を保持し、前記誤判定フィードバックに係る各前記検知手段の検知結果に基づいていずれかの前記検知手段の前記フィルタ条件生成ルールを選択し、選択した前記フィルタ条件生成ルールに従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成することを特徴とする請求項1に記載の異常判定システム。 The feedback receiving means receives the erroneous determination feedback specifying the analysis target data,
The filter condition generation means holds filter condition generation definition information describing a filter condition generation rule for each of the detection means, and performs any of the detections based on the detection result of each of the detection means related to the erroneous judgment feedback. 2. The abnormality determination system according to claim 1, wherein said filter condition generation rule of means is selected, and said filter condition data to be set in said filter processing means is generated according to said selected filter condition generation rule.
前記フィルタ条件生成手段は、前記項目ごとのフィルタ条件生成ルールが記述されたフィルタ条件生成定義情報を保持し、前記誤判定フィードバックに係る前記項目に対応する前記フィルタ条件生成ルールを選択し、選択した前記フィルタ条件生成ルールに従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成することを特徴とする請求項1に記載の異常判定システム。 The feedback receiving means receives an item name and its value of the item of the analysis target data as the content of the erroneous determination feedback,
The filter condition generation means holds filter condition generation definition information describing a filter condition generation rule for each item, selects the filter condition generation rule corresponding to the item related to the erroneous determination feedback, and selects the filter condition generation rule. 2. The abnormality determination system according to claim 1, wherein said filter condition data to be set in said filter processing means is generated according to said filter condition generation rule.
それぞれ異なる観点で前記解析対象データから異常を検知する複数の検知手段と、
前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力するフィルタ処理手段と、
前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得する特徴量処理手段と、
教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定する判定手段と、
前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付けるフィードバック受付手段と、
前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成するフィルタ条件生成手段と
して機能させることを特徴とする異常判定プログラム。 A computer that constitutes an abnormality determination system that determines an abnormality on the network from analysis target data collected from one or more network devices arranged on the network,
a plurality of detection means for detecting anomalies from the analysis target data from different viewpoints;
Filter condition data describing filter conditions for each of the detection means is held, detection results of each of the detection means are subjected to filter processing based on the filter condition data, and detection is performed for each of the detection means after the filter processing. filtering means for outputting results;
feature amount processing means for acquiring feature amount data suitable for machine learning based on the detection results of the respective detection means output by the filtering means;
determining means for determining an abnormality on the network by supplying the feature data to a determining device having a learning model machine-learned based on teacher data;
feedback receiving means for receiving erroneous determination feedback indicating that the determination result by the determining means is an erroneous determination;
An abnormality determination program functioning as filter condition generation means for generating the filter condition data to be set in the filter processing means according to the content of the erroneous determination feedback received by the feedback reception means.
前記異常判定システムは、複数の検知手段、フィルタ処理手段、特徴量処理手段、判定手段、フィードバック受付手段、及びフィルタ条件生成手段を備え、
それぞれの前記検知手段は、それぞれ異なる観点で前記解析対象データから異常を検知し、
前記フィルタ処理手段は、前記検知手段ごとのフィルタ条件が記述されたフィルタ条件データを保持し、前記検知手段ごとの検知結果について前記フィルタ条件データに基づいたフィルタ処理を行い、それぞれの前記検知手段について前記フィルタ処理後の検知結果を出力し、
前記特徴量処理手段は、前記フィルタ処理手段が出力するそれぞれの前記検知手段の検知結果に基づき機械学習に適した特徴量データを取得し、
前記判定手段は、教師データに基づき機械学習した学習モデルを備える判定器に、前記特徴量データを供給して前記ネットワーク上の異常を判定し、
前記フィードバック受付手段は、前記判定手段による判定結果が誤判定である旨の誤判定フィードバックを受け付け、
前記フィルタ条件生成手段は、前記フィードバック受付手段が受け付けた前記誤判定フィードバックの内容に従って前記フィルタ処理手段に設定する前記フィルタ条件データを生成する
ことを特徴とする異常判定方法。
In the above determination method performed by an abnormality determination system that determines an abnormality on the network from analysis target data collected from one or more network devices arranged on the network,
The abnormality determination system includes a plurality of detection means, filtering means, feature amount processing means, determination means, feedback reception means, and filter condition generation means,
each of the detection means detects an abnormality from the analysis target data from a different point of view,
The filter processing means holds filter condition data describing filter conditions for each of the detection means, performs filter processing on detection results of each of the detection means based on the filter condition data, and performs filter processing on each of the detection means. Outputting the detection result after the filtering process,
The feature amount processing means acquires feature amount data suitable for machine learning based on the detection results of the respective detection means output by the filtering means,
The determination means supplies the feature amount data to a determination device having a learning model machine-learned based on teacher data to determine an abnormality on the network;
The feedback receiving means receives erroneous determination feedback indicating that the determination result by the determining means is an erroneous determination,
The abnormality determination method, wherein the filter condition generation means generates the filter condition data to be set in the filter processing means according to the content of the erroneous determination feedback received by the feedback reception means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021137181A JP2023031591A (en) | 2021-08-25 | 2021-08-25 | Anomaly determination system, anomaly determination program, and anomaly determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021137181A JP2023031591A (en) | 2021-08-25 | 2021-08-25 | Anomaly determination system, anomaly determination program, and anomaly determination method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023031591A true JP2023031591A (en) | 2023-03-09 |
Family
ID=85416171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021137181A Pending JP2023031591A (en) | 2021-08-25 | 2021-08-25 | Anomaly determination system, anomaly determination program, and anomaly determination method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023031591A (en) |
-
2021
- 2021-08-25 JP JP2021137181A patent/JP2023031591A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11936667B2 (en) | Cyber security system applying network sequence prediction using transformers | |
EP3588898B1 (en) | Defense against apt attack | |
US20200186569A1 (en) | Security Rule Generation Based on Cognitive and Industry Analysis | |
US9853994B2 (en) | Attack analysis system, cooperation apparatus, attack analysis cooperation method, and program | |
US20230254325A1 (en) | Risk based priority processing of data | |
Appelt et al. | Behind an application firewall, are we safe from SQL injection attacks? | |
US20200106790A1 (en) | Intelligent system for mitigating cybersecurity risk by analyzing domain name system traffic | |
US20210297427A1 (en) | Facilitating security orchestration, automation and response (soar) threat investigation using a machine-learning driven mind map approach | |
CN109074454A (en) | Malware is grouped automatically based on artefact | |
Cinque et al. | Contextual filtering and prioritization of computer application logs for security situational awareness | |
CN110598411A (en) | Sensitive information detection method and device, storage medium and computer equipment | |
US20230205891A1 (en) | Systems and methods for prioritizing security findings using machine learning models | |
US20210173940A1 (en) | Mitigation of external exposure of energy delivery systems | |
US20210021611A1 (en) | Inline malware detection | |
JP5656266B2 (en) | Blacklist extraction apparatus, extraction method and extraction program | |
Majumdar et al. | Learning probabilistic dependencies among events for proactive security auditing in clouds | |
EP3699796A1 (en) | Message report processing and threat prioritization | |
US20230094119A1 (en) | Scanning of Content in Weblink | |
Rahman et al. | Classification of spamming attacks to blogging websites and their security techniques | |
JP2018022248A (en) | Log analysis system, log analysis method and log analysis device | |
JP2023031591A (en) | Anomaly determination system, anomaly determination program, and anomaly determination method | |
Criscione et al. | Integrated detection of attacks against browsers, web applications and databases | |
Peleh et al. | Intelligent detection of DDoS attacks in SDN networks | |
Yüksel et al. | Towards useful anomaly detection for back office networks | |
Tundis et al. | An exploratory analysis on the impact of Shodan scanning tool on the network attacks |