JP7033560B2 - Analytical equipment and analytical method - Google Patents

Analytical equipment and analytical method Download PDF

Info

Publication number
JP7033560B2
JP7033560B2 JP2019005589A JP2019005589A JP7033560B2 JP 7033560 B2 JP7033560 B2 JP 7033560B2 JP 2019005589 A JP2019005589 A JP 2019005589A JP 2019005589 A JP2019005589 A JP 2019005589A JP 7033560 B2 JP7033560 B2 JP 7033560B2
Authority
JP
Japan
Prior art keywords
action
communication partner
information
behavior
classification
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.)
Active
Application number
JP2019005589A
Other languages
Japanese (ja)
Other versions
JP2020113216A (en
Inventor
千絵 増田
和 三村
幸三 池上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019005589A priority Critical patent/JP7033560B2/en
Priority to PCT/JP2019/033189 priority patent/WO2020148934A1/en
Publication of JP2020113216A publication Critical patent/JP2020113216A/en
Application granted granted Critical
Publication of JP7033560B2 publication Critical patent/JP7033560B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Description

本発明は、データを分析する分析装置および分析方法に関する。 The present invention relates to an analyzer and an analysis method for analyzing data.

サイバー空間では攻撃側が構造的に優位であり、その攻撃は日々高度化、増加、変化している。そのような中、攻撃対象は、従来の金融事業者およびIT(Information Technology)サービス事業者からインフラ事業者へ拡大している。対策に必要な対策コストは右肩上がりだが、投資がそれに追いつかないのが現状である。セキュリティ専門家の人数も不足しており、将来に向けた人材確保が課題となっている。十分な数のセキュリティ専門家が確保されないため、SOC(Security Operation Center)の運用業務に支障を来たすことが懸念される。特に、社会インフラ事業者は、システム全体を監視する。したがって、これまでに比べて、SOC運用性能の大幅な向上が要求される。 In cyberspace, the attacker has a structural advantage, and the attacks are becoming more sophisticated, increasing, and changing every day. Under such circumstances, the targets of attacks are expanding from conventional financial businesses and IT (Information Technology) service businesses to infrastructure businesses. The cost of countermeasures required for countermeasures is rising, but the current situation is that investment cannot keep up with it. The number of security experts is also insufficient, and securing human resources for the future is an issue. Since a sufficient number of security experts are not secured, there is a concern that it will hinder the operation of SOC (Security Operation Center). In particular, social infrastructure operators monitor the entire system. Therefore, a significant improvement in SOC operation performance is required as compared with the past.

SOC運用業務において最も工数を要するのは、FW(Firewall)/IPS(Intrusion Prevention System)から通知されるセキュリティアラートの重要度を判断する作業(インシデントか誤検知かを人手で判断する作業)である。従来はアラートが発生した際には、SOCの専門家がシステム内の各装置ログと外部脅威情報(たとえば、URL(Uniform Resource Locator)やマルウェアの危険度評価)を参照し、そのアラートの重要度を経験と勘に基づいて判断していた。増加し続けるサイバー攻撃や監視対象システムの大規模化に対して、将来に渡って持続可能なSOC運用を実現するには、上記アラート重要度判断の自動化が必須である。しかし、判断ロジックをすべてルール定義することは、コスト面で困難である。よって、機械学習により、専門家によるアラート重要度の蓄積データから、アラート重要度の判断ロジックを作り出す技術が必要となる。 The most man-hours required in SOC operation work is the work of determining the importance of security alerts notified from FW (Firewall) / IPS (Intrusion Prevention System) (work of manually determining whether an incident or false positive is detected). .. Conventionally, when an alert occurs, an SOC expert refers to each device log in the system and external threat information (for example, URL (Uniform Experience Locator) and malware risk assessment), and the importance of the alert. Was judged based on experience and intuition. In order to realize sustainable SOC operation in the future against the ever-increasing number of cyber attacks and the scale-up of monitored systems, it is essential to automate the above-mentioned alert importance judgment. However, it is difficult in terms of cost to define all the judgment logic rules. Therefore, by machine learning, a technique for creating an alert importance judgment logic from the accumulated data of the alert importance by an expert is required.

また、特許文献1は、機械学習の教師データとして用いるための、特定の分野に関するデータを収集する教師データ収集装置を開示する。この教師データ収集装置は、予め登録しておいた特定の分野に関するデータの特徴ベクトルである第1の特徴ベクトルを算出する特徴算出部と、前記第1の特徴ベクトルから、前記特定の分野に関するデータの収集に用いる検索条件を生成する生成部と、生成された前記検索条件をもとに、前記特定の分野に関するデータを収集する収集部と、収集した前記データの特徴ベクトルである第2の特徴ベクトルを前記特徴算出部が算出すると、該第2の特徴ベクトルと前記第1の特徴ベクトルとの類似度を算出する類似度算出部と、前記類似度が所定の範囲内にある収集した前記データを前記教師データとして抽出する抽出部と、を備える。 Further, Patent Document 1 discloses a teacher data collecting device that collects data relating to a specific field for use as teacher data for machine learning. This teacher data collecting device is a feature calculation unit that calculates a first feature vector that is a feature vector of data related to a specific field registered in advance, and data related to the specific field from the first feature vector. A generation unit that generates search conditions used for collecting data, a collection unit that collects data related to the specific field based on the generated search conditions, and a second feature that is a feature vector of the collected data. When the feature calculation unit calculates the vector, the similarity calculation unit calculates the similarity between the second feature vector and the first feature vector, and the collected data in which the similarity is within a predetermined range. Is provided with an extraction unit for extracting the teacher data.

特開2018-124617号公報Japanese Unexamined Patent Publication No. 2018-124617

サイバー攻撃は、時間経過とともに手口が変わる。変化に追随するには、継続的な追加学習が欠かせない。よって、機械的に判断できなかった、判断の確度が低いアラートに対して、専門家であるセキュリティアナリストによる判断(ラベルという)を新たに入力してもらう必要がある。しかしながら、入力回数が増加するにつれ、専門家の負担が増加する。 Cyber attacks change over time. Continuous additional learning is essential to keep up with change. Therefore, it is necessary to have a security analyst who is an expert enter a new judgment (called a label) for an alert that cannot be judged mechanically and has a low accuracy of judgment. However, as the number of inputs increases, the burden on the expert increases.

本開示技術は、分析対象アラート増加によるセキュリティアナリストの分析負担を軽減することを目的とする。 The purpose of this disclosure technology is to reduce the analysis burden of security analysts due to the increase in alerts to be analyzed.

本開示技術の一側面となる分析装置および分析方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置および分析方法であって、前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、前記プロセッサは、前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、を実行することを特徴とする。 An analyzer and an analysis method according to one aspect of the present disclosure technique are an analyzer and an analysis method including a processor for executing a program and a storage device for storing the program, wherein the processor is a behavior history information. The behavior classification information and the behavior sequence information can be accessed, and the behavior history information is information that stores the past behavior history executed by the communication partner with the monitoring target for the monitoring target, and the behavior classification information. Is information in which the communication partner and the classified action group of the communication partner are associated with each other, and the action sequence information includes an action sequence which is a time-series action of the communication partner and the action sequence. The information is associated with the included information indicating whether or not it is a part of another action sequence longer than the action sequence, and the processor is an alert of each alert group generated in the monitoring target. The acquisition process for acquiring the classification result of the behavior of the communication partner with the monitoring target within the first predetermined period before the occurrence, and the monitoring within the first predetermined period before the occurrence of a specific alert in the alert group. The first determination process for determining whether or not a specific communication partner with the target exists in the behavior classification information and the first determination processing determine that the specific communication partner does not exist in the behavior classification information. In this case, it is a time-series action of the specific communication partner based on the classification result of the action of the specific communication partner and the past action history of the specific communication partner stored in the action history information. By the second determination process of generating a specific action sequence and using the action sequence information to determine whether or not the specific action sequence is a part of the other action sequence, and the second determination process. When it is determined that the specific action sequence is a part of the other action sequence, a selection process for selecting the classification result of the action of the specific communication partner and the specific communication selected by the selection process. It is characterized by executing an output process that outputs the classification result of the behavior of the other party.

本開示技術の他の側面となる分析装置および分析方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置および分析方法であって、前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスの出現頻度と、を対応付けた情報であり、前記プロセッサは、前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定する第2判定処理と、前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、を実行することを特徴とする。 An analyzer and an analysis method according to another aspect of the present disclosure technique are an analyzer and an analysis method having a processor for executing a program and a storage device for storing the program, wherein the processor is a behavior history information. And the action classification information and the action sequence information can be accessed, and the action history information is information that stores the past action history executed by the communication partner with the monitoring target for the monitoring target, and the action classification. The information is information in which the communication partner and the classified action group of the communication partner are associated with each other, and the action sequence information is an action sequence which is a time-series action of the communication partner and the action sequence. It is information corresponding to the appearance frequency of the above, and the processor classifies the behavior of the communication partner with the monitoring target within the first predetermined period before the occurrence of each alert of the alert group generated in the monitoring target. The acquisition process for acquiring the result and determination of whether or not a specific communication partner with the monitoring target exists in the behavior classification information within the first predetermined period before the occurrence of the specific alert in the alert group. When it is determined by the first determination process and the first determination process that the specific communication partner does not exist in the action classification information, the action classification result of the specific communication partner and the action history information are stored. Based on the past action history of the specific communication partner, a specific action sequence which is a time-series action of the specific communication partner is generated, and the action sequence information is used to generate the specific action. When the second determination process for determining whether or not the appearance frequency of the sequence is less than or equal to the predetermined frequency and the second determination process determine that the appearance frequency of the specific action sequence is less than or equal to the predetermined frequency, the said It is characterized by executing a selection process for selecting a classification result of the behavior of a specific communication partner and an output process for outputting the classification result of the behavior of the specific communication partner selected by the selection process.

本発明の代表的な実施の形態によれば、手口変化の関連性が高いアラートの絞り込みの自動化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, it is possible to automate the narrowing down of alerts that are highly related to the change in technique. Issues, configurations and effects other than those described above will be clarified by the description of the following examples.

図1は、サイバー攻撃の分析例を示す説明図である。FIG. 1 is an explanatory diagram showing an analysis example of a cyber attack. 図2は、監視システムのシステム構成例を示すブロック図である。FIG. 2 is a block diagram showing a system configuration example of the monitoring system. 図3は、図2に示した各種コンピュータのハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram showing a hardware configuration example of various computers shown in FIG. 図4は、特徴量テーブルの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a feature amount table. 図5は、ラベルテーブルの一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of a label table. 図6は、行動分類テーブルの一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of a behavior classification table. 図7は、行動シーケンステーブルの一例を示す説明図である。FIG. 7 is an explanatory diagram showing an example of an action sequence table. 図8は、比率テーブルの一例を示す説明図である。FIG. 8 is an explanatory diagram showing an example of a ratio table. 図9は、分析装置の機能的構成例を示すブロック図である。FIG. 9 is a block diagram showing a functional configuration example of the analyzer. 図10は、分析装置の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing the operation of the analyzer. 図11は、アナリスト端末の出力画面表示例を示す説明図である。FIG. 11 is an explanatory diagram showing an output screen display example of the analyst terminal. 図12は、図10に示した行動分類予測(ステップS1005)の詳細な処理手順例を示すフローチャートである。FIG. 12 is a flowchart showing a detailed processing procedure example of the behavior classification prediction (step S1005) shown in FIG. 図13は、図10に示した通信相手別異常行動判定(ステップS1007)の詳細な処理手順例を示すフローチャートである。FIG. 13 is a flowchart showing a detailed processing procedure example of the abnormal behavior determination (step S1007) for each communication partner shown in FIG. 図14は、図10に示した行動別異常行動判定(ステップS1009)の詳細な処理手順例を示すフローチャートである。FIG. 14 is a flowchart showing a detailed processing procedure example of the behavior-specific abnormal behavior determination (step S1009) shown in FIG. 図15は、図11に示したフィードバック処理(ステップS1012)の詳細な処理手順例を示すフローチャートである。FIG. 15 is a flowchart showing a detailed processing procedure example of the feedback processing (step S1012) shown in FIG. 図16は、図10に示した追加学習処理(ステップS1013)の詳細な処理手順例を示すフローチャートである。FIG. 16 is a flowchart showing a detailed processing procedure example of the additional learning process (step S1013) shown in FIG.

<サイバー攻撃の分析例>
図1は、サイバー攻撃の分析例を示す説明図である。図1では、監視対象システム110が、サイバー攻撃をおこなう通信端末120(単に攻撃者と表記する場合もある)からサイバー攻撃を受けた場合を例に挙げて説明する。監視対象システム110は、通信端末120からサイバー攻撃を受けると、SOC100にアラートを送信する。アラートは、たとえば、アラートを一意に特定するアラート識別子と、アラートの発生日時と、通信相手(この例では通信端末120)と、を含む。
<Analysis example of cyber attack>
FIG. 1 is an explanatory diagram showing an analysis example of a cyber attack. In FIG. 1, a case where the monitored system 110 receives a cyber attack from a communication terminal 120 (sometimes simply referred to as an attacker) performing a cyber attack will be described as an example. When the monitoring target system 110 receives a cyber attack from the communication terminal 120, the monitoring target system 110 sends an alert to the SOC 100. The alert includes, for example, an alert identifier that uniquely identifies the alert, the date and time when the alert occurred, and a communication partner (communication terminal 120 in this example).

SOC100は、アラート管理装置101と、ログ収集装置102と、分析装置103と、を有する。アラート管理装置101は、監視対象システム110からのアラートを受信してログ収集装置102に転送する。ログ収集装置102は、監視対象システム110の挙動を示すログ(たとえば、キャッシュミス回数や異常応答回数)を監視対象システム110から取得して分析装置103に送信する。 The SOC 100 includes an alert management device 101, a log collection device 102, and an analysis device 103. The alert management device 101 receives the alert from the monitored system 110 and forwards it to the log collecting device 102. The log collecting device 102 acquires a log (for example, the number of cache misses and the number of abnormal responses) indicating the behavior of the monitored system 110 from the monitored system 110 and transmits it to the analyzer 103.

分析装置103は、DB130を有し、ログ収集装置102からアラート発生前の所定期間内ログを取得して、当該所定期間内に発生したアラートのアラート識別子を当該ログに付与し、DB130に格納する。アラート識別子が付与されたログを「アラート特徴データ」と称す。異なるログに同一のアラート識別子が付与されても、それぞれがアラート特徴データとなる。 The analysis device 103 has a DB 130, acquires a log within a predetermined period before an alert is generated from the log collection device 102, assigns an alert identifier of an alert generated within the predetermined period to the log, and stores the log in the DB 130. .. The log to which the alert identifier is attached is called "alert feature data". Even if the same alert identifier is assigned to different logs, each will be alert feature data.

分析装置103は、機械学習処理131を実行して、アラート特徴データを分類するための分類器を生成する。分類器は、たとえば、学習パラメータである。なお、機械学習処理131において、2種類の学習データが適用される。1つは、教師なしアラート特徴データであり、もう1つは、教師ありアラート特徴データである。 The analyzer 103 executes machine learning processing 131 to generate a classifier for classifying alert feature data. The classifier is, for example, a learning parameter. In the machine learning process 131, two types of learning data are applied. One is unsupervised alert feature data and the other is supervised alert feature data.

教師なしアラート特徴データは、過去のアラート発生前における監視対象システム110またはその通信相手の挙動に関するログである。教師ありアラート特徴データは、過去のアラート発生前における監視対象システム110またはその通信相手の挙動に関するログと、当該ログに対してセキュリティアナリスト141が付与した分類のラベルと、の組み合わせである。機械学習処理131で教師なしアラート特徴データ群をクラスタリングすることにより、教師なしアラート特徴データ群は、複数のクラスタに分類される。各クラスタは、セキュリティアナリスト141によってサイバー攻撃の分類を示すラベルが付与される。これにより、教師なしアラート特徴データは、教師ありアラート特徴データとなる。分析装置103は、教師ありアラート特徴データを用いて機械学習処理131を実行することにより、分類器を生成する。 The unsupervised alert feature data is a log relating to the behavior of the monitored system 110 or its communication partner before the occurrence of past alerts. The supervised alert feature data is a combination of a log relating to the behavior of the monitored system 110 or its communication partner before the occurrence of a past alert, and a classification label assigned to the log by security analyst 141. By clustering the unsupervised alert feature data group in the machine learning process 131, the unsupervised alert feature data group is classified into a plurality of clusters. Each cluster is labeled by security analyst 141 to indicate the classification of cyber attacks. As a result, the unsupervised alert feature data becomes the supervised alert feature data. The analyzer 103 generates a classifier by executing the machine learning process 131 using the supervised alert feature data.

あらたに、サイバー攻撃の予測対象アラートの発生前所定期間内の予測対象アラート特徴データ群がログ収集装置102から得られると、分析装置103は、アラート分類処理132により、生成済みの分類器を用いて当該予測対象アラート特徴データ群を分類し、分類結果をDB130に格納する。 When the predicted target alert feature data group within the predetermined period before the occurrence of the predicted target alert of the cyber attack is newly obtained from the log collecting device 102, the analyzer 103 uses the generated classifier by the alert classification process 132. The prediction target alert feature data group is classified, and the classification result is stored in the DB 130.

分析装置103は、サンプリング処理133により、分類器から得られた分類結果であるラベルから手口変化と強い関連があるラベルを、以下の観点(1)および(2)によってサンプリングする。 The analyzer 103 samples the labels that are strongly related to the tactical change from the labels that are the classification results obtained from the classifier by the sampling process 133 from the following viewpoints (1) and (2).

(1)通信相手別異常行動判定処理134により、分析装置103は、予測対象アラートの発生原因となる通信相手にとって、付与されたラベルまたはラベルの時系列シーケンスが初出または低頻度であるか否かを判定する。分析装置103は、付与されたラベルまたはラベルの時系列シーケンスが初出または低頻度であれば、当該ラベルが付与された予測対象アラート特徴データに対応する予測対象アラートを選択アラートとしてサンプリングする。 (1) Whether or not the label or the time-series sequence of the label given to the communication partner that causes the prediction target alert to occur is the first appearance or the frequency of the time series sequence of the label by the communication partner-specific abnormal behavior determination process 134. To judge. If the labeled label or the time-series sequence of labels appears for the first time or is infrequent, the analyzer 103 samples the predicted target alert corresponding to the predicted target alert feature data to which the label is assigned as a selection alert.

(2)行動別異常行動判定処理135により、分析装置103は、通信相手集団にとって、付与されたラベルまたはラベルの時系列な行動シーケンスが過去に長期攻撃の一部であった実績があるか否かを判定する。分析装置103は、付与されたラベルまたは行動シーケンスが過去に長期攻撃の一部であった実績があれば、当該ラベルが付与された予測対象アラート特徴データに対応する予測対象アラートを選択アラートとしてサンプリングする。 (2) By the behavior-specific abnormal behavior determination process 135, the analyzer 103 has a track record of whether the given label or the time-series behavior sequence of the label has been a part of a long-term attack in the past for the communication partner group. Is determined. If the given label or action sequence has a track record of being part of a long-term attack in the past, the analyzer 103 samples the predicted alert corresponding to the predicted alert feature data to which the label is given as a selection alert. do.

観点(1)および(2)により、分析装置103は、手口変化の関連性が高い予測対象アラート群を選択アラートに自動的に絞り込むことができる。これにより、セキュリティアナリスト141の分析負担を軽減することができる。 From the viewpoints (1) and (2), the analyzer 103 can automatically narrow down the prediction target alert group having a high relevance of the technique change to the selection alert. As a result, the analysis burden of the security analyst 141 can be reduced.

アナリスト端末140は、サンプリング処理133でサンプリングされた選択アラートを受信し、セキュリティアナリスト141は、アナリスト端末140に表示された当該選択アラートを分析する。たとえば、セキュリティアナリスト141は、選択アラートのラベルを変更する。そして、アナリスト端末140は、セキュリティアナリスト141が作成したフィードバック情報を分析装置103に送信する。フィードバック情報は、たとえば、選択アラートの変更後のラベルを含む。分析装置103は、フィードバック情報に基づいて、DB130内の選択アラートのラベルを更新する。なお、セキュリティアナリスト141は、分析装置103で表示された選択アラートを分析したり、分析装置103を操作してフィードバック情報を作成してもよい。 The analyst terminal 140 receives the selection alert sampled by the sampling process 133, and the security analyst 141 analyzes the selection alert displayed on the analyst terminal 140. For example, security analyst 141 changes the label of a selection alert. Then, the analyst terminal 140 transmits the feedback information created by the security analyst 141 to the analyzer 103. The feedback information includes, for example, the modified label of the selection alert. The analyzer 103 updates the label of the selection alert in the DB 130 based on the feedback information. Note that the security analyst 141 may analyze the selection alert displayed on the analyzer 103 or operate the analyzer 103 to create feedback information.

また、分析装置103は、分類器の再学習の際、調整処理137により、分類器に与える追加学習データの分布の偏りを抑制する。追加学習データとは、たとえば、サンプリング処理133済みの予測対象アラート特徴データと、当該予測対象アラート特徴データに対してセキュリティアナリスト141が新たに付与した分類を示すラベルと、の組み合わせである。具体的には、たとえば、分析装置103は、調整処理137により、追加学習データ群のラベルが特定のラベルに集中しないよう、ラベルごとの選択アラートの数を以下の観点(3)で調整する。 Further, the analyzer 103 suppresses the bias of the distribution of the additional learning data given to the classifier by the adjustment process 137 when the classifier is relearned. The additional learning data is, for example, a combination of the predicted target alert feature data that has been sampled 133 and a label indicating the classification newly assigned by the security analyst 141 to the predicted target alert feature data. Specifically, for example, the analyzer 103 adjusts the number of selection alerts for each label from the following viewpoint (3) by the adjustment process 137 so that the labels of the additional learning data group do not concentrate on a specific label.

(3)分析装置103は、ラベルごとの選択アラートの数が同数となるように、選択アラートの数が少ないラベルに、サンプリング処理133でサンプリングされていない未選択アラートを補充する。 (3) The analyzer 103 replenishes the label having a small number of selected alerts with unselected alerts not sampled by the sampling process 133 so that the number of selected alerts for each label is the same.

観点(3)により、追加学習データの分布の偏りが抑制される。したがって、分析装置103は、追加学習データで再学習する際に、追加学習データの分布の偏り調整についてセキュリティアナリスト141へ問い合わせる回数を最小限にすることができる。また、追加学習データの分布の偏りを抑制することにより、特定のラベルに集中することによる過学習を抑制する。したがって、時間経過とともに手口が変わるサイバー攻撃に対応することができる。 From the viewpoint (3), the bias of the distribution of the additional learning data is suppressed. Therefore, the analyzer 103 can minimize the number of inquiries to the security analyst 141 regarding the bias adjustment of the distribution of the additional learning data when re-learning with the additional learning data. In addition, by suppressing the bias of the distribution of the additional learning data, overfitting due to concentration on a specific label is suppressed. Therefore, it is possible to respond to cyber attacks whose methods change over time.

<システム構成例>
図2は、監視システムのシステム構成例を示すブロック図である。監視システム200は、監視対象システム110と、SOC100と、を有する。監視対象システム110とSOC100は、通信可能に接続される。
<System configuration example>
FIG. 2 is a block diagram showing a system configuration example of the monitoring system. The monitoring system 200 includes a monitoring target system 110 and an SOC 100. The monitored system 110 and the SOC 100 are communicably connected.

監視対象システム110は、SOC100に監視されるシステムである。監視対象システム110は、たとえば、第1ネットワーク210、1台以上のクライアント端末211、業務サーバ212、ネットワーク監視装置213、第1FW/IPS214、およびプロキシサーバ216を有する。 The monitored system 110 is a system monitored by the SOC 100. The monitoring target system 110 includes, for example, a first network 210, one or more client terminals 211, a business server 212, a network monitoring device 213, a first FW / IPS 214, and a proxy server 216.

第1ネットワーク210は、たとえば、バスであり、1台以上のクライアント端末211、業務サーバ212、ネットワーク監視装置213、第1FW/IPS214、プロキシサーバ216、第2FW/IPS223およびSOC100を通信可能に接続する。第1FW/IPS214は、外部ネットワーク202に通信可能に接続される。外部ネットワーク202は、たとえば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットである。 The first network 210 is, for example, a bus, and connects one or more client terminals 211, a business server 212, a network monitoring device 213, a first FW / IPS 214, a proxy server 216, a second FW / IPS 223, and an SOC 100 communicably. .. The first FW / IPS 214 is communicably connected to the external network 202. The external network 202 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet.

また、監視対象システム110は、たとえば、第2ネットワーク220、制御装置221、コントローラ222、および第2FW/IPS223を有する。第2ネットワーク220は、たとえば、バスであり、第2ネットワーク220、制御装置221、コントローラ222、および第2FW/IPS223を通信可能に接続する。 Further, the monitored system 110 includes, for example, a second network 220, a control device 221, a controller 222, and a second FW / IPS223. The second network 220 is, for example, a bus and communicably connects the second network 220, the control device 221, the controller 222, and the second FW / IPS223.

SOC100は、たとえば、アラート管理装置101と、ログ収集装置102と、分析装置103と、アナリスト端末140と、第3ネットワーク203と、を有する。第3ネットワーク203は、たとえば、バスであり、アラート管理装置101、ログ収集装置102、分析装置103、アナリスト端末140、および外部脅威情報データベース201を通信可能に接続する。 The SOC 100 has, for example, an alert management device 101, a log collection device 102, an analysis device 103, an analyst terminal 140, and a third network 203. The third network 203 is, for example, a bus, and connects the alert management device 101, the log collection device 102, the analysis device 103, the analyst terminal 140, and the external threat information database 201 so as to be communicable.

アラート管理装置101は、事象の一例として、監視対象システム110からウィルス検出、異常な挙動検出、未登録装置との接続検出といったアラートを取得して格納する。アラートは、たとえば、アラートの発生日時と、アラート対象(アラートの発生元である監視対象システム110内のコンピュータ)と、アラート対象の通信相手(たとえば、通信端末120を特定するIPアドレス)と、を含む情報である。アラート管理装置101は、取得したアラートを分析装置103に通知する。 As an example of an event, the alert management device 101 acquires and stores alerts such as virus detection, abnormal behavior detection, and connection detection with an unregistered device from the monitored system 110. The alert includes, for example, the date and time when the alert occurred, the alert target (the computer in the monitored system 110 that is the source of the alert), and the communication partner (for example, the IP address that identifies the communication terminal 120) that is the alert target. Information included. The alert management device 101 notifies the analysis device 103 of the acquired alert.

ログ収集装置102は、監視対象システム110からのログを取得して格納する。ログは、いつ、監視対象システム110内のどのコンピュータ300がどのようなデータをどの通信相手に送受信したかを示す履歴情報である。 The log collecting device 102 acquires and stores the log from the monitored system 110. The log is historical information indicating when, which computer 300 in the monitored system 110 sends and receives what data to which communication partner.

分析装置103は、アラート管理装置101で管理されているアラートとログ収集装置102で管理されているログと外部脅威情報データベース201に登録されている脅威情報を用いて、アラートを分析する。外部脅威情報データベース201は、たとえば、インターネット上で脅威情報を公開するデータベースである。脅威情報には、たとえば、マルウェア、プログラムの脆弱性、スパム、不正URLがある。アナリスト端末140は、セキュリティアナリスト141が操作する端末である。 The analysis device 103 analyzes the alert using the alert managed by the alert management device 101, the log managed by the log collection device 102, and the threat information registered in the external threat information database 201. The external threat information database 201 is, for example, a database that discloses threat information on the Internet. Threat information includes, for example, malware, program vulnerabilities, spam, and malicious URLs. The analyst terminal 140 is a terminal operated by the security analyst 141.

<コンピュータのハードウェア構成例>
図3は、図2に示した各種コンピュータ(クライアント端末211、業務サーバ212、ネットワーク監視装置213、第1FW/IPS214、プロキシサーバ216、制御装置221、コントローラ222、第2FW/IPS223、アラート管理装置101、ログ収集装置102、分析装置103、アナリスト端末140)のハードウェア構成例を示すブロック図である。
<Computer hardware configuration example>
FIG. 3 shows various computers (client terminal 211, business server 212, network monitoring device 213, first FW / IPS 214, proxy server 216, control device 221, controller 222, second FW / IPS 223, alert management device 101) shown in FIG. , Log collection device 102, analysis device 103, analyst terminal 140) is a block diagram showing a hardware configuration example.

コンピュータ300は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF)305と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バス306により接続される。プロセッサ301は、コンピュータ300を制御する。 The computer 300 has a processor 301, a storage device 302, an input device 303, an output device 304, and a communication interface (communication IF) 305. The processor 301, the storage device 302, the input device 303, the output device 304, and the communication IF 305 are connected by the bus 306. The processor 301 controls the computer 300.

記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタがある。通信IF305は、ネットワークと接続し、データを送受信する。 The storage device 302 serves as a work area for the processor 301. Further, the storage device 302 is a non-temporary or temporary recording medium for storing various programs and data. Examples of the storage device 302 include a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive), and a flash memory. The input device 303 inputs data. The input device 303 includes, for example, a keyboard, a mouse, a touch panel, a numeric keypad, and a scanner. The output device 304 outputs data. Examples of the output device 304 include a display and a printer. Communication IF305 connects to a network and sends and receives data.

<特徴量テーブル400>
図4は、特徴量テーブル400の一例を示す説明図である。特徴量テーブル400は、アラートの特徴量を示すアラート特徴量を記憶するテーブルであり、分析装置103によってログ収集装置102から収集され、たとえば、分析装置103の記憶デバイス302に記憶される。特徴量テーブル400は、ログ収集装置102に記憶されていてもよい。
<Feature table 400>
FIG. 4 is an explanatory diagram showing an example of the feature amount table 400. The feature amount table 400 is a table that stores an alert feature amount indicating the feature amount of the alert, is collected from the log collecting device 102 by the analysis device 103, and is stored in the storage device 302 of the analysis device 103, for example. The feature amount table 400 may be stored in the log collecting device 102.

特徴量テーブル400は、アラート識別子401と、集計日時402と、プロキシサーバログ403と、業務サーバログ404と、外部脅威情報405と、をフィールドとして有する。ある行における各フィールドの値の組み合わせがアラート特徴データを構成するエントリである。 The feature amount table 400 has an alert identifier 401, an aggregation date and time 402, a proxy server log 403, a business server log 404, and external threat information 405 as fields. The combination of the values of each field in a row is the entry that makes up the alert feature data.

プロキシサーバログ403、業務サーバログ404、および外部脅威情報405以外にも監視対象システム110内の他のコンピュータ(クライアント端末211やFW/IPS214,223、ネットワーク監視装置213など)についてのログがあってもよいが、図4では省略する。 In addition to the proxy server log 403, business server log 404, and external threat information 405, there are logs for other computers in the monitored system 110 (client terminal 211, FW / IPS214,223, network monitoring device 213, etc.). It may be, but it is omitted in FIG.

アラート識別子401は、アラートを一意に特定する識別情報である。なお、アラート管理装置101からのアラートは、アラート識別子401、発生日時、アラート対象、および通信相手を含む。発生日時は、そのアラートが発生した日付時刻である。アラート対象は、アラートの発生元、ここでは、監視対象システム110内のコンピュータである。通信相手は、アラート対象が送信したデータの宛先またはアラート対象にデータを送信した送信元である。なお、分析装置103は、そのアラートの発生日時前から所定時間遡った日時から発生日時までの時間帯に集計日時402が含まれるエントリに、そのアラートのアラート識別子401を付与する。 The alert identifier 401 is identification information that uniquely identifies the alert. The alert from the alert management device 101 includes the alert identifier 401, the date and time of occurrence, the alert target, and the communication partner. The date and time of occurrence is the date and time when the alert occurred. The alert target is the source of the alert, in this case, the computer in the monitored system 110. The communication partner is the destination of the data sent by the alert target or the sender of the data sent to the alert target. In addition, the analyzer 103 assigns the alert identifier 401 of the alert to the entry including the aggregated date and time 402 in the time zone from the date and time retroactive to the occurrence date and time to the occurrence date and time from before the occurrence date and time of the alert.

集計日時402は、アラート識別子401で特定されるアラートの発生日時から所定時間遡った日時から一定時間間隔で発生日時までログ収集装置102がログを集計した日付時刻である。本例では、所定時間を1時間とし、一定時間間隔を10分とする。集計日時402は、一定時間間隔の終了日時を示す。たとえば、集計日時402が「10/10 12:57」のエントリは、10/10の12:48から12:57までの10分間で集計されたログで特定されるアラート特徴データを示す。 The aggregation date and time 402 is a date and time when the log collection device 102 aggregates the logs from the date and time retroactive to the occurrence date and time of the alert specified by the alert identifier 401 to the occurrence date and time at regular time intervals. In this example, the predetermined time is 1 hour and the fixed time interval is 10 minutes. The aggregation date and time 402 indicates the end date and time at a fixed time interval. For example, an entry with an aggregation date and time 402 of "10/10 12:57" indicates alert feature data identified in a log aggregated in 10 minutes from 12:48 to 12:57 on 10/10.

たとえば、アラート識別子401が「Alert_005」であるアラートの発生日時を「10/10 13:57」とすると、アラート識別子401が「Alert_005」であるアラートの集計日時402は、発生日時である「10/10 13:57」から1時間遡った「10/10 12:57」と、「10/10 13:57」から10分刻みの「10/10 13:07」、「10/10 13:17」、「10/10 13:27」、「10/10 13:37」、「10/10 13:47」、および「10/10 13:57」となる。このようにして、アラート発生時のアラート特徴データの収集タイミングが設定される。 For example, if the alert occurrence date and time when the alert identifier 401 is "Alert_005" is "10/10 13:57", the aggregated date and time 402 of the alert whose alert identifier 401 is "Alert_005" is the occurrence date and time "10 /". "10/10 12:57" one hour back from "10 13:57" and "10/10 13:07" and "10/10 13:17" in 10-minute increments from "10/10 13:57" , "10/10 13:27", "10/10 13:37", "10/10 13:47", and "10/10 13:57". In this way, the collection timing of alert feature data when an alert occurs is set.

プロキシサーバログ403は、サブフィールドとして、キャッシュミス回数431と異常応答回数432とを有する。キャッシュミス回数431は、集計日時402においてプロキシサーバ116がキャッシュミスした回数である。異常応答回数432は、集計日時402においてプロキシサーバ116が異常応答を受信した回数である。なお、プロキシサーバログ403のサブフィールドは、キャッシュミス回数431や異常応答回数432以外(たとえば、通信バイト数)であってもよいが、図4では省略する。 The proxy server log 403 has a cache miss count 431 and an abnormal response count 432 as subfields. The number of cache misses 431 is the number of times the proxy server 116 has made a cache miss at the aggregation date and time 402. The number of abnormal responses 432 is the number of times that the proxy server 116 received the abnormal response at the aggregation date and time 402. The subfield of the proxy server log 403 may be other than the number of cache misses 431 and the number of abnormal responses 432 (for example, the number of communication bytes), but it is omitted in FIG.

業務サーバログ404は、サブフィールドとして、異常応答回数441とアクセス回数442とを有する。異常応答回数441は、集計日時402において業務サーバ112が異常応答を受信した回数である。アクセス回数442は、集計日時402で特定される一定時間間隔の集計期間において業務サーバ112が他のコンピュータ300にアクセスされた回数である。なお、業務サーバログ404のサブフィールドは、異常応答回数441やアクセス回数442以外(たとえば、認証失敗回数)であってもよいが、図6では省略する。 The business server log 404 has an abnormal response number 441 and an access number 442 as subfields. The number of abnormal responses 441 is the number of times that the business server 112 received the abnormal response at the aggregation date and time 402. The number of accesses 442 is the number of times that the business server 112 is accessed by the other computer 300 during the aggregation period specified by the aggregation date and time 402. The subfield of the business server log 404 may be other than the number of abnormal responses 441 and the number of accesses 442 (for example, the number of authentication failures), but it is omitted in FIG.

外部脅威情報405は、サブフィールドとして、IPアドレス危険度451とURL危険度452とを有する。IPアドレス危険度451は、集計日時402におけるアラート対象の通信相手がIPアドレスで特定された場合に、外部脅威情報データベース201において当該IPアドレスの危険度を段階的に示した指標値である。本例では、0~5の6段階とし、5が最も危険度が高いことを示す。 The external threat information 405 has an IP address risk level 451 and a URL risk level 452 as subfields. The IP address risk level 451 is an index value indicating stepwise the risk level of the IP address in the external threat information database 201 when the communication partner to be alerted at the aggregation date and time 402 is specified by the IP address. In this example, there are 6 levels from 0 to 5, and 5 indicates the highest risk.

URL危険度452は、集計日時402におけるアラート対象の通信相手がURLで特定された場合に、外部脅威情報データベース201において当該URLの危険度を段階的に示した指標値である。本例では、0~5の6段階とし、5が最も危険度が高いことを示す。なお、外部脅威情報405のサブフィールドは、IPアドレス危険度451やURL危険度452以外であってもよいが、図4では省略する。 The URL risk level 452 is an index value indicating the risk level of the URL in the external threat information database 201 stepwise when the communication partner to be alerted at the aggregation date and time 402 is specified by the URL. In this example, there are 6 levels from 0 to 5, and 5 indicates the highest risk. The subfield of the external threat information 405 may be other than the IP address risk level 451 and the URL risk level 452, but it is omitted in FIG.

<ラベルテーブル500>
図5は、ラベルテーブル500の一例を示す説明図である。ラベルテーブル500は、分類のラベルを記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。ラベルテーブル500は、ログ収集装置102に記憶されていてもよい。
<Label table 500>
FIG. 5 is an explanatory diagram showing an example of the label table 500. The label table 500 is a table for storing classification labels, and is stored in, for example, the storage device 302 of the analyzer 103. The label table 500 may be stored in the log collecting device 102.

ラベルテーブル500は、アラート識別子401と、集計日時402と、通信相手分類情報503と、行動分類(ラベル)504と、確度505と、行動分類(旧ラベル)506と、サンプリング507と、追加学習済み508と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが、ラベルデータを構成するエントリである。 In the label table 500, the alert identifier 401, the aggregation date and time 402, the communication partner classification information 503, the action classification (label) 504, the accuracy 505, the action classification (old label) 506, the sampling 507, and additional learning have been completed. 508 and as a field. The combination of the values of each field in a row is the entry that makes up the label data.

通信相手分類情報503は、通信相手を分類する情報であり、アラートに含まれる監視対象システム110の通信相手である。行動分類(ラベル)504は、通信相手の行動、換言すれば、通信端末120からのサイバー攻撃を分類する最新のラベルであり、たとえば、マルウェア、プログラムの脆弱性、スパム、不正URLなどの脅威情報である。本実施例では、便宜上、行動分類(ラベル)504の個々の値をアルファベット大文字で示す。 The communication partner classification information 503 is information for classifying the communication partner, and is the communication partner of the monitoring target system 110 included in the alert. The behavior classification (label) 504 is the latest label that classifies the behavior of the communication partner, in other words, the cyber attack from the communication terminal 120, and is threat information such as malware, program vulnerability, spam, and malicious URL. Is. In this embodiment, for convenience, the individual values of the behavior classification (label) 504 are shown in uppercase letters.

確度505は、行動分類(ラベル)504の値の確からしさを示す数値であり、値が大きいほど行動分類(ラベル)504が確からしいことを示す。確度505の値は、0.0以上1.0以下の範囲を取る。確度505の値は、機械学習処理131による学習結果である。行動分類(ラベル)504の値で特定されるクラスタの中心に近いほど確度505の値は大きくなる。 The accuracy 505 is a numerical value indicating the certainty of the value of the behavior classification (label) 504, and the larger the value, the more likely the behavior classification (label) 504 is. The value of the accuracy 505 takes a range of 0.0 or more and 1.0 or less. The value of the accuracy 505 is the learning result by the machine learning process 131. The closer to the center of the cluster specified by the value of the behavior classification (label) 504, the larger the value of the accuracy 505.

行動分類(旧ラベル)506は、過去のラベルを示す。行動分類(ラベル)504にあらたなラベルが記録されると、記録される前のラベルは、旧ラベルとして行動分類(旧ラベル)506に格納される。 The behavior classification (old label) 506 indicates the past label. When a new label is recorded in the action classification (label) 504, the label before recording is stored in the action classification (old label) 506 as an old label.

サンプリング507は、そのアラートが分析対象としてサンプリングされたか否かを示すフラグであり、初期値は、サンプリングされていないことを示す「N」である。サンプリングされると、サンプリングされたことを示す「Y」に更新される。 The sampling 507 is a flag indicating whether or not the alert has been sampled for analysis, and the initial value is "N" indicating that the alert has not been sampled. When it is sampled, it is updated to "Y" indicating that it has been sampled.

追加学習済み508は、調整処理137により追加学習データの偏りを抑制する場合に、そのアラートのアラート識別子および行動分類(ラベル)が、追加学習データとして選択されたか否かを示すフラグである。初期値は、追加学習データでないことを示す「N」であり、追加学習データとして追加されると「Y」に更新される。追加学習データについては後述する。 The additional learning 508 is a flag indicating whether or not the alert identifier and the action classification (label) of the alert are selected as the additional learning data when the bias of the additional learning data is suppressed by the adjustment process 137. The initial value is "N" indicating that the data is not additional learning data, and is updated to "Y" when added as additional learning data. The additional learning data will be described later.

<行動分類テーブル600>
図6は、行動分類テーブル600の一例を示す説明図である。行動分類テーブル600は、攻撃者の行動を記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。行動分類テーブル600は、ログ収集装置102に記憶されていてもよい。
<Behavior classification table 600>
FIG. 6 is an explanatory diagram showing an example of the behavior classification table 600. The behavior classification table 600 is a table that stores the behavior of the attacker, and is stored in, for example, the storage device 302 of the analyzer 103. The action classification table 600 may be stored in the log collecting device 102.

行動分類テーブル600は、通信相手分類情報503と、行動分類601と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが行動分類データを構成するエントリである。 The action classification table 600 has communication partner classification information 503 and action classification 601 as fields. The combination of the values of each field in a row is the entry that constitutes the behavior classification data.

行動分類601は、サブフィールドとして、ラベルを有する。したがって、通信相手分類情報503で特定される通信相手のラベルごとに、当該ラベルの出現頻度および正常/異常が特定される。ラベルの出現頻度は、その通信相手分類情報503で特定される攻撃者からの当該ラベルに該当する通信相手からのアクセス回数nで規定される。本実施例では、「H」(多い)、「M」(普通)、「L」(少ない)、空白の4段階で出現頻度が規定される。 The behavior classification 601 has a label as a subfield. Therefore, for each label of the communication partner specified in the communication partner classification information 503, the appearance frequency and normal / abnormal of the label are specified. The frequency of appearance of the label is defined by the number of accesses n from the communication partner corresponding to the label from the attacker specified in the communication partner classification information 503. In this embodiment, the frequency of appearance is defined in four stages of "H" (more), "M" (normal), "L" (less), and blank.

空白は、1度もその通信相手のアクセス回数nが0(n=0)であることを示す。「L」は、その通信相手によるそのラベルの行動でのアクセス回数nが1回以上na-1回(1≦n<na-1)であることを示す。「M」は、その通信相手によるそのラベルの行動でのアクセス回数nがna回以上nb-1回(na≦n<nb-1)であることを示す。「H」は、その通信相手によるそのラベルの行動でのアクセス回数nがnb回以上(nb≦n)であることを示す。na、nbは、あらかじめ設定される値である。 The blank indicates that the number of accesses n of the communication partner is 0 (n = 0) even once. “L” indicates that the number of times n of access by the communication partner in the action of the label is one or more na-1 times (1 ≦ n <na-1). “M” indicates that the number of accesses n by the communication partner in the action of the label is na times or more and nb-1 times (na ≦ n <nb-1). “H” indicates that the number of accesses n by the communication partner in the action of the label is nb times or more (nb ≦ n). na and nb are preset values.

なお、通信相手分類情報503から行動分類601の中のあるラベルに相当するサイバー攻撃などの挙動があったことが検出されると、当該ラベルに該当するアクセス回数nが1回加算される。加算後のアクセス回数nがnaになるとラベルの出現頻度が「L」から「M」に更新され、加算後の回数nからnbになると「M」から「H」に更新される。また、ラベルが正常であるか異常であるかは、セキュリティアナリスト141が決定する。具体的には、たとえば、アナリスト端末140からのフィードバック情報に、ラベルが正常であるか異常であるかを示す情報が含まれており、図1に示したフィードバック処理136により、更新される。 When it is detected from the communication partner classification information 503 that there is a behavior such as a cyber attack corresponding to a certain label in the behavior classification 601 the access count n corresponding to the label is added once. When the number of accesses n after addition is na, the frequency of appearance of the label is updated from "L" to "M", and when the number of times n after addition is changed from n to nb, "M" is updated to "H". In addition, security analyst 141 determines whether the label is normal or abnormal. Specifically, for example, the feedback information from the analyst terminal 140 includes information indicating whether the label is normal or abnormal, and is updated by the feedback process 136 shown in FIG.

<行動シーケンステーブル700>
図7は、行動シーケンステーブル700の一例を示す説明図である。行動シーケンステーブル700は、通信相手の異常行動を記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。行動シーケンステーブル700は、ログ収集装置102に記憶されていてもよい。
<Action sequence table 700>
FIG. 7 is an explanatory diagram showing an example of the action sequence table 700. The action sequence table 700 is a table that stores the abnormal behavior of the communication partner, and is stored in, for example, the storage device 302 of the analyzer 103. The action sequence table 700 may be stored in the log collection device 102.

行動シーケンステーブル700は、行動シーケンス701と、頻度702と、長期攻撃の一部703と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが行動シーケンスデータを構成するエントリである。なお、行動シーケンステーブル700は、頻度702および長期攻撃の一部703のうち少なくとも一方を有していればよい。 The action sequence table 700 has an action sequence 701, a frequency 702, and a part of a long-term attack 703 as fields. The combination of the values of each field in a row is the entry that constitutes the action sequence data. The action sequence table 700 may have at least one of the frequency 702 and the part 703 of the long-term attack.

行動シーケンス701は、1以上のラベルの時系列である。なお、同じラベルが2個以上連続する場合は、1個に縮約される。たとえば、ラベルの時系列が「A→B→B→B→C」である場合、「B」が3回連続で出現しているため、行動シーケンス701は、「A→B→C」となる。 The action sequence 701 is a time series of one or more labels. If two or more of the same label are consecutive, the label is reduced to one. For example, when the time series of the label is "A-> B-> B-> B-> C", the action sequence 701 becomes "A-> B-> C" because "B" appears three times in a row. ..

頻度702は、行動分類601で示した場合と同様、「H」(多い)、「M」(普通)、「L」(少ない)、空白の4段階で規定される行動シーケンス701の出現頻度である。 The frequency 702 is the appearance frequency of the behavior sequence 701 defined by four stages of "H" (more), "M" (normal), "L" (less), and blank, as in the case shown in the behavior classification 601. be.

長期攻撃の一部703とは、その行動シーケンス701が長期攻撃の一部であるか否かを示す被包含情報である。長期攻撃の一部703の初期値は、長期攻撃の一部703ではないことを示す「N」であり、長期攻撃の一部703に含まれていれば、「Y」に更新される。長期攻撃とは、過去に出現した行動シーケンスであり、行動シーケンス701よりもラベル数が1個以上多い。 The part 703 of the long-term attack is included information indicating whether or not the action sequence 701 is a part of the long-term attack. The initial value of the part 703 of the long-term attack is "N" indicating that it is not the part 703 of the long-term attack, and if it is included in the part 703 of the long-term attack, it is updated to "Y". The long-term attack is an action sequence that has appeared in the past, and has one or more labels than the action sequence 701.

たとえば、過去の行動シーケンスとして「A→B→C→D」が長期攻撃として規定されている場合、「A」、「B」、「C」、「D」、「A→B」、「B→C」、「C→D」、「A→B→C」、「B→C→D」の各行動シーケンス701は、長期攻撃の一部703に該当する。したがって、これらの行動シーケンス701の長期攻撃の一部703は、「Y」に更新される。また、長期攻撃の一部703のラベル数は、2個以上であってもよい。たとえば、長期攻撃の一部703のラベル数が3個以上である場合、上記の例では、「A→B→C」、「B→C→D」の各行動シーケンス701が、長期攻撃の一部703に該当する。 For example, if "A-> B-> C-> D" is defined as a long-term attack as a past action sequence, "A", "B", "C", "D", "A-> B", "B" Each action sequence 701 of "-> C", "C-> D", "A-> B-> C", and "B-> C-> D" corresponds to a part 703 of a long-term attack. Therefore, some 703 of these long-term attacks in the action sequence 701 are updated to "Y". Further, the number of labels of the part 703 of the long-term attack may be two or more. For example, when the number of labels of a part 703 of a long-term attack is 3 or more, in the above example, each action sequence 701 of "A-> B-> C" and "B-> C-> D" is one of the long-term attacks. Corresponds to part 703.

なお、どの行動シーケンス701が長期攻撃の一部703であるかは、セキュリティアナリスト141が決定する。具体的には、たとえば、アナリスト端末140からのフィードバック情報に、どの行動シーケンス701が長期攻撃の一部703であるかを示す情報が含まれる。この場合、図1に示したフィードバック処理136により、長期攻撃の一部703に該当する行動シーケンス701があれば、その長期攻撃の一部703が「Y」に更新される。 The security analyst 141 determines which action sequence 701 is part of the long-term attack 703. Specifically, for example, the feedback information from the analyst terminal 140 includes information indicating which action sequence 701 is part of the long-term attack 703. In this case, if there is an action sequence 701 corresponding to the part 703 of the long-term attack by the feedback process 136 shown in FIG. 1, the part 703 of the long-term attack is updated to "Y".

<比率テーブル800>
図8は、比率テーブル800の一例を示す説明図である。比率テーブル800は、ラベルごとのアラート数の比率を記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。比率テーブル800は、ログ収集装置102に記憶されていてもよい。
<Ratio table 800>
FIG. 8 is an explanatory diagram showing an example of the ratio table 800. The ratio table 800 is a table that stores the ratio of the number of alerts for each label, and is stored in, for example, the storage device 302 of the analyzer 103. The ratio table 800 may be stored in the log collecting device 102.

比率テーブル800は、行動分類(ラベル)504と、アラート数の比率801と、をフィールドとして有する。アラート数の比率801は、追加学習データとして追加されるアラート数(すなわち、ラベル数)の比率を示す。追加学習データとして追加されるアラートは、サンプリング507が「Y」であるラベルのアラートである。図8では、サンプリング507が「Y」であるラベルは「A」、「B」、「C」とする。各ラベルのアラート数の比率801が均等に近づくほど、機械学習処理131での追加学習における学習偏り、すなわち、分類精度低下を抑制することができる。 The ratio table 800 has an action classification (label) 504 and an alert number ratio 801 as fields. The ratio of the number of alerts 801 indicates the ratio of the number of alerts (that is, the number of labels) added as additional learning data. The alert added as additional learning data is an alert labeled with a sampling 507 of "Y". In FIG. 8, the labels whose sampling 507 is “Y” are “A”, “B”, and “C”. As the ratio 801 of the number of alerts for each label approaches evenly, it is possible to suppress a learning bias in the additional learning in the machine learning process 131, that is, a decrease in classification accuracy.

<分析装置103の機能的構成例>
図9は、分析装置103の機能的構成例を示すブロック図である。分析装置103は、特徴量テーブル400と、ラベルテーブル500と、行動分類テーブル600と、行動シーケンステーブル700と、比率テーブル800と、学習部901と、予測部902と、第1判定部903と、第2判定部904と、通信部905と、サンプリング候補リスト911と、追加学習用アラートリスト912と、を有する。
<Example of functional configuration of analyzer 103>
FIG. 9 is a block diagram showing a functional configuration example of the analyzer 103. The analyzer 103 includes a feature amount table 400, a label table 500, an action classification table 600, an action sequence table 700, a ratio table 800, a learning unit 901, a prediction unit 902, and a first determination unit 903. It has a second determination unit 904, a communication unit 905, a sampling candidate list 911, and an additional learning alert list 912.

学習部901、予測部902、第1判定部903、第2判定部904、および通信部905は、具体的には、たとえば、図3に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。また、サンプリング候補リスト911および追加学習用アラートリスト912は、具体的には、たとえば、図3に示した記憶デバイス302により実現される。 Specifically, the learning unit 901, the prediction unit 902, the first determination unit 903, the second determination unit 904, and the communication unit 905 transfer the program stored in the storage device 302 shown in FIG. 3 to the processor 301. It is realized by executing it. Further, the sampling candidate list 911 and the alert list 912 for additional learning are specifically realized by, for example, the storage device 302 shown in FIG.

学習部901は、図1に示した機械学習処理を実行する。予測部902は、図1に示したアラート分類処理132を実行する。第1判定部903は、図1に示した通信相手別異常行動判定処理134を実行する。第2判定部904は、図1に示した行動別異常行動判定処理135およびフィードバック処理136を実行する。通信部905は、通信IF305により、アナリスト端末140とデータを送受信する。 The learning unit 901 executes the machine learning process shown in FIG. The prediction unit 902 executes the alert classification process 132 shown in FIG. The first determination unit 903 executes the communication partner-specific abnormal behavior determination process 134 shown in FIG. The second determination unit 904 executes the behavior-specific abnormal behavior determination processing 135 and the feedback processing 136 shown in FIG. The communication unit 905 transmits / receives data to / from the analyst terminal 140 by the communication IF 305.

<分析装置103の動作シーケンス>
図10は、分析装置103の動作を示すシーケンス図である。学習部901は、ログ収集装置102から特徴量テーブル400に記憶されたログを取得する(ステップS1001)。学習部901は、当該取得したログを教師なしアラート特徴データ群として入力し、機械学習を実行する(ステップS1002)。これにより、教師なしアラート特徴データ群は、複数のクラスタに分類される。各クラスタは、セキュリティアナリスト141によって分類を示すラベルが付与される。これにより、分類器900が生成される。
<Operation sequence of analyzer 103>
FIG. 10 is a sequence diagram showing the operation of the analyzer 103. The learning unit 901 acquires the log stored in the feature amount table 400 from the log collecting device 102 (step S1001). The learning unit 901 inputs the acquired log as an unsupervised alert feature data group, and executes machine learning (step S1002). As a result, the unsupervised alert feature data group is classified into a plurality of clusters. Each cluster is labeled with a classification by security analyst 141. As a result, the classifier 900 is generated.

なお、学習部901は、この教師なしアラート特徴データ群にラベルが付与された教師ありアラート特徴データ群を用いて再学習し、分類器900を更新してもよい。なお、分類器900は、セキュリティアナリスト141が作成してもよい。 The learning unit 901 may relearn using the supervised alert feature data group to which the unsupervised alert feature data group is labeled, and update the classifier 900. The classifier 900 may be created by the security analyst 141.

つぎに、予測部902は、アラート管理装置101から監視対象システム110で発生した予測対象アラートを取得し、ログ収集装置102から特徴量テーブル400に記憶された予測対象アラート発生前のログを予測対象アラート特徴データとして取得する(ステップS1003)。予測部902は、分類器900を取得する(ステップS1004)。 Next, the prediction unit 902 acquires the prediction target alert generated in the monitoring target system 110 from the alert management device 101, and predicts the log before the prediction target alert generated stored in the feature amount table 400 from the log collection device 102. Acquired as alert feature data (step S1003). The prediction unit 902 acquires the classifier 900 (step S1004).

予測部902は、予測対象アラート特徴データ群の各々を分類器900に与えることで行動分類予測を実行して(ステップS1005)、分類結果(予測対象アラート特徴データが分類されたラベルおよびその確度の組み合わせ)を第1判定部903に出力する(ステップS1006)。行動分類予測(ステップS1005)の詳細は、図12で後述する。なお、行動分類予測(ステップS1005)を実行せず、セキュリティアナリスト141が、アナリスト端末140で、予測対象アラート特徴データを参照して分類結果を作成してもよい。 The prediction unit 902 executes the behavior classification prediction by giving each of the prediction target alert feature data groups to the classifier 900 (step S1005), and classifies the classification result (the label on which the prediction target alert feature data is classified and its accuracy). The combination) is output to the first determination unit 903 (step S1006). The details of the behavior classification prediction (step S1005) will be described later in FIG. Note that the security analyst 141 may create a classification result by referring to the prediction target alert feature data on the analyst terminal 140 without executing the behavior classification prediction (step S1005).

つぎに、第1判定部903は、分類結果を用いて、通信相手別異常行動判定を実行して(ステップS1007)、初出または低頻度の分類結果を第2判定部904に出力する(ステップS1008)。通信相手別異常行動判定(ステップS1007)の詳細は、図13で後述する。 Next, the first determination unit 903 executes the abnormal behavior determination for each communication partner using the classification result (step S1007), and outputs the first appearance or low frequency classification result to the second determination unit 904 (step S1008). ). The details of the abnormal behavior determination for each communication partner (step S1007) will be described later with reference to FIG.

つぎに、第2判定部904は、初出または低頻度の分類結果を用いて、行動別異常行動判定を実行して(ステップS1009)、予測対象アラート群の中からサンプリングすべきアラート(以下、選択アラート)を決定する。選択アラートは、たとえば、選択アラートを特定するアラート識別子401と、選択アラートの分類結果と、の組み合わせである。選択アラートは、選択アラートの行動分類(旧ラベル)506を含んでもよい。第2判定部904は、選択アラートを、通信部905を介してアナリスト端末140に送信する(ステップS1010)。行動別異常行動判定(ステップS1010)の詳細は、図13で後述する。 Next, the second determination unit 904 executes an abnormal behavior determination by behavior using the first appearance or low frequency classification result (step S1009), and alerts to be sampled from the prediction target alert group (hereinafter, selection). Alert) is decided. The selection alert is, for example, a combination of an alert identifier 401 that identifies the selection alert and a classification result of the selection alert. The selection alert may include the behavior classification (old label) 506 of the selection alert. The second determination unit 904 transmits the selection alert to the analyst terminal 140 via the communication unit 905 (step S1010). The details of the behavior-specific abnormal behavior determination (step S1010) will be described later with reference to FIG.

アナリスト端末140は、通信部905から選択アラートを受信してディスプレイに表示する。出力画面表示例については、図11で後述する。セキュリティアナリスト141は、出力画面から選択アラートのラベルや行動属性(正常/異常)などの情報を入力する。これにより、アナリスト端末140は、フィードバック情報を生成して、分析装置103に送信する(ステップS1011)。 The analyst terminal 140 receives a selection alert from the communication unit 905 and displays it on the display. An output screen display example will be described later with reference to FIG. The security analyst 141 inputs information such as a label of a selection alert and an action attribute (normal / abnormal) from the output screen. As a result, the analyst terminal 140 generates feedback information and transmits it to the analyzer 103 (step S1011).

分析装置103は、フィードバック情報を受信すると、フィードバック処理を実行する(ステップS1012)。具体的には、たとえば、第2判定部904は、フィードバック情報にしたがってラベルテーブル500を更新する(ステップS1021)。また、第1判定部903も、フィードバック情報にしたがって行動分類テーブル600を更新する(ステップS1022)。 Upon receiving the feedback information, the analyzer 103 executes the feedback process (step S1012). Specifically, for example, the second determination unit 904 updates the label table 500 according to the feedback information (step S1021). Further, the first determination unit 903 also updates the action classification table 600 according to the feedback information (step S1022).

また、学習部901は、追加学習処理を実行する(ステップS1013)。具体的には、たとえば、学習部901は、追加学習データを選択し(ステップS1031)、比率調整を実行する(ステップS1032)。これにより、追加学習データの偏りを抑制する。比率調整後、学習部901は、追加学習データに基づいて分類器900を再学習して更新する(ステップS1033)。これにより、その後あらたにログが取得された場合(ステップS1003)、予測部902は、最新の分類器900で入力アラート群の行動分類を実行することができる。 Further, the learning unit 901 executes the additional learning process (step S1013). Specifically, for example, the learning unit 901 selects additional learning data (step S1031) and executes ratio adjustment (step S1032). As a result, the bias of the additional learning data is suppressed. After adjusting the ratio, the learning unit 901 relearns and updates the classifier 900 based on the additional learning data (step S1033). As a result, when a new log is acquired after that (step S1003), the prediction unit 902 can execute the action classification of the input alert group with the latest classifier 900.

<アナリスト端末140の出力画面表示例>
図11は、アナリスト端末140の出力画面表示例を示す説明図である。出力画面1100は、分析アラートリスト1101を表示する。分析アラートリストは、アラート識別子401と、発生日時1102と、サンプリング結果1103と、分析優先度1104と、を含む。分析アラートリスト1101におけるリスト番号ごとのエントリが選択アラートを規定する。
<Example of output screen display of analyst terminal 140>
FIG. 11 is an explanatory diagram showing an output screen display example of the analyst terminal 140. The output screen 1100 displays the analysis alert list 1101. The analysis alert list includes an alert identifier 401, an occurrence date and time 1102, a sampling result 1103, and an analysis priority 1104. An entry for each list number in the analysis alert list 1101 defines a selection alert.

発生日時1102は、アラート識別子401で特定される選択アラートがアラート管理装置101で発生した日付時刻である。サンプリング結果1103は、アラート識別子401で特定される選択アラートが選択アラートとしてサンプリングされた経緯を示す文字列である。サンプリング結果1103は、たとえば、その選択アラートの行動分類(ラベル)504と、行動分類(旧ラベル)506と、行動分類(旧ラベル)506で特定される最高出現頻度のラベルの出現確率と、を用いて、第1判定部903により作成される。たとえば、リスト番号が「1」の選択アラートのサンプリング結果1103の場合、行動分類(ラベル)504が「A」、行動分類(旧ラベル)506が最高出現頻度のラベルである「B」を含み、「B」の出現確率が「0.7」である。 The occurrence date and time 1102 is the date and time when the selection alert specified by the alert identifier 401 occurs in the alert management device 101. The sampling result 1103 is a character string indicating how the selection alert specified by the alert identifier 401 was sampled as the selection alert. The sampling result 1103 includes, for example, the behavior classification (label) 504 of the selection alert, the behavior classification (old label) 506, and the appearance probability of the label with the highest appearance frequency specified by the behavior classification (old label) 506. It is created by the first determination unit 903. For example, in the case of the sampling result 1103 of the selection alert whose list number is "1", the behavior classification (label) 504 includes "A" and the behavior classification (old label) 506 includes the label "B" having the highest frequency of appearance. The appearance probability of "B" is "0.7".

分析優先度1104とは、アラート識別子401で特定される選択アラートをセキュリティアナリスト141に分析してもらう際の優先度を示す文字列である。分析優先度1104は、たとえば、その選択アラートの行動分類601と、行動分類601に該当するアラートについての攻撃者の割合と、該当する行動シーケンス701についての長期攻撃の一部703と、を用いて、第2判定部904により作成される。 The analysis priority 1104 is a character string indicating the priority when the security analyst 141 analyzes the selection alert specified by the alert identifier 401. The analysis priority 1104 uses, for example, the behavior classification 601 of the selection alert, the percentage of attackers for the alert corresponding to the behavior classification 601 and the partial long-term attack 703 for the corresponding behavior sequence 701. , Created by the second determination unit 904.

たとえば、リスト番号が「1」の選択アラートの分析優先度1103の場合、行動分類601が「A」(「正常/異常」はまだセキュリティアナリスト141から付与されていない)である。また、行動分類601に該当するアラートについての攻撃者の割合が、通信相手分類情報503の全エントリ数で、行動分類601の「A」の頻度が「H」、「M」、「L」のいずれかに該当するエントリの数を割った値である。また、該当する行動シーケンス701についての長期攻撃の一部703が「Y」である。 For example, in the case of the analysis priority 1103 of the selection alert whose list number is "1", the action classification 601 is "A" ("normal / abnormal" has not yet been assigned by the security analyst 141). Further, the percentage of attackers for the alert corresponding to the behavior classification 601 is the total number of entries of the communication partner classification information 503, and the frequency of "A" in the behavior classification 601 is "H", "M", "L". It is the value obtained by dividing the number of entries corresponding to any of them. Also, part of the long-term attack 703 for the corresponding action sequence 701 is "Y".

セキュリティアナリスト141は、分析アラートリスト1101を参照して、分析アラートリスト1101を表示するタブ(ラベル付け依頼アラート)とは別のタブ(不図示)で、入力デバイス303を操作することにより、選択アラートのラベルを付与したり、選択アラートのラベルに正常および異常のいずれかを付与したり、長期攻撃の一部703であるか否かを示すフラグ(YまたはN)を付与したりする。これら付与した情報がフィードバック情報となる。そして、アナリスト端末140は、フィードバック情報を分析装置103に送信する(ステップS1011)。 The security analyst 141 refers to the analysis alert list 1101 and selects by operating the input device 303 in a tab (not shown) different from the tab (labeling request alert) for displaying the analysis alert list 1101. Label the alert, label the selected alert either normal or abnormal, or flag it as part of a long-term attack 703 (Y or N). The added information becomes feedback information. Then, the analyst terminal 140 transmits the feedback information to the analyzer 103 (step S1011).

<行動分類予測(ステップS1005)>
図12は、図10に示した行動分類予測(ステップS1005)の詳細な処理手順例を示すフローチャートである。行動分類予測(ステップS1005)は、たとえば、特徴量テーブル400のエントリである予測対象アラート特徴データ毎に実行される。予測部902は、特徴量テーブル400のエントリである予測対象アラート特徴データを取得する(ステップS1201)。予測部902は、学習部901から分類器900を取得する(ステップS1202)。予測部902は、予測対象アラート特徴データを分類器900に入力する(ステップS1203)。
<Behavior classification prediction (step S1005)>
FIG. 12 is a flowchart showing a detailed processing procedure example of the behavior classification prediction (step S1005) shown in FIG. The behavior classification prediction (step S1005) is executed for each prediction target alert feature data which is an entry in the feature amount table 400, for example. The prediction unit 902 acquires the prediction target alert feature data which is an entry of the feature amount table 400 (step S1201). The prediction unit 902 acquires the classifier 900 from the learning unit 901 (step S1202). The prediction unit 902 inputs the prediction target alert feature data to the classifier 900 (step S1203).

予測部902は、予測対象アラート特徴データを分類器900に入力して、通信相手の行動を分類する(ステップS1204)。予測部902は、分類器900から分類結果であるラベルおよび確度を取得する(ステップS1205)。予測部902は、ラベルおよび確度505をそれぞれラベルテーブル500の行動分類(ラベル)504および確度505に格納する(ステップS1206)。なお、当該格納前に行動分類(ラベル)504に格納されていたラベルは、行動分類(旧ラベル)506の末尾に格納される。これにより、当該予測対象アラート特徴データついての行動分類予測(ステップS1005)が終了する。 The prediction unit 902 inputs the prediction target alert feature data into the classifier 900 and classifies the behavior of the communication partner (step S1204). The prediction unit 902 acquires the label and the accuracy as the classification result from the classifier 900 (step S1205). The prediction unit 902 stores the label and the accuracy 505 in the action classification (label) 504 and the accuracy 505 of the label table 500, respectively (step S1206). The label stored in the action classification (label) 504 before the storage is stored at the end of the action classification (old label) 506. As a result, the behavior classification prediction (step S1005) for the prediction target alert feature data is completed.

<通信相手別異常行動判定(ステップS1007)>
図13は、図10に示した通信相手別異常行動判定(ステップS1007)の詳細な処理手順例を示すフローチャートである。通信相手別異常行動判定(ステップS1007)は、たとえば、行動分類予測(ステップS1005)で新たに分類結果が追加されたラベルテーブル500のラベルデータ毎に実行される。
<Abnormal behavior determination by communication partner (step S1007)>
FIG. 13 is a flowchart showing a detailed processing procedure example of the abnormal behavior determination (step S1007) for each communication partner shown in FIG. The communication partner-specific abnormal behavior determination (step S1007) is executed for each label data of the label table 500 to which the classification result is newly added in the behavior classification prediction (step S1005), for example.

第1判定部903は、ラベルテーブル500からラベルデータを取得する(ステップS1301)。第1判定部903は、ステップS1301で取得したアラートに対応する行動分類601を行動分類テーブル600から特定する(ステップS1302)。第1判定部903は、当該行動分類601の値があるか否かを判定する(ステップS1303)。 The first determination unit 903 acquires label data from the label table 500 (step S1301). The first determination unit 903 identifies the action classification 601 corresponding to the alert acquired in step S1301 from the action classification table 600 (step S1302). The first determination unit 903 determines whether or not there is a value of the behavior classification 601 (step S1303).

たとえば、取得したラベルデータに属する通信相手分類情報503が「www.aaaa.bb」で行動分類(ラベル)504が「A」である場合、行動分類テーブル600における通信相手分類情報503が「www.aaaa.bb」のエントリに、行動分類601が「A」である場合の値「L/異常」が存在する。一方、取得したアラートに属する通信相手分類情報503が「123.45.6.7」で行動分類(ラベル)504が「A」である場合、行動分類テーブル600における通信相手分類情報503が「123.45.6.7」のエントリに、行動分類601が「A」である場合の値は存在しない(空欄)。 For example, when the communication partner classification information 503 belonging to the acquired label data is "www.aaaaa.bb" and the action classification (label) 504 is "A", the communication partner classification information 503 in the action classification table 600 is "www. In the entry of "aaaa.bb", there is a value "L / abnormality" when the behavior classification 601 is "A". On the other hand, when the communication partner classification information 503 belonging to the acquired alert is "123.45.6.7" and the action classification (label) 504 is "A", the communication partner classification information 503 in the action classification table 600 is "123". In the entry of ".45.6.7", there is no value when the action classification 601 is "A" (blank).

特定した行動分類601の値がない場合(ステップS1303:No)、第1判定部903は、ステップS1301で取得したラベルデータ(当該ラベルデータへのポインタでもよい)をサンプリング候補リスト911に追加する(ステップS1304)。また、この場合、第1判定部903は、通信相手分類情報503および行動分類(ラベル)504を行動分類テーブル600に新規登録する。これにより、ステップS1301で取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。 When there is no value of the specified action classification 601 (step S1303: No), the first determination unit 903 adds the label data (which may be a pointer to the label data) acquired in step S1301 to the sampling candidate list 911 (may be a pointer to the label data). Step S1304). Further, in this case, the first determination unit 903 newly registers the communication partner classification information 503 and the action classification (label) 504 in the action classification table 600. As a result, the abnormal behavior determination for each communication partner (step S1007) for the label data acquired in step S1301 is completed.

また、特定した行動分類601の値がある場合(ステップS1303:Yes)、第1判定部903は、そのエントリ内の行動属性が「異常」であるか否かを判断する(ステップS1305)。なお、このとき、アクセス回数nも1回加算され、出現頻度が更新される場合がある。異常である場合(ステップS1305:Yes)、第1判定部903は、ステップS1301で取得したラベルデータを、通信部905を介してアナリスト端末140に送信する(ステップS1306)。ラベルデータではなく、ラベルデータとアラート識別子401および集計日時402が同一なアラート特徴データを送信してもよい。これにより、取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。 Further, when there is a value of the specified action classification 601 (step S1303: Yes), the first determination unit 903 determines whether or not the action attribute in the entry is "abnormal" (step S1305). At this time, the number of accesses n is also added once, and the appearance frequency may be updated. If it is abnormal (step S1305: Yes), the first determination unit 903 transmits the label data acquired in step S1301 to the analyst terminal 140 via the communication unit 905 (step S1306). Instead of the label data, the label data and the alert feature data having the same alert identifier 401 and aggregation date and time 402 may be transmitted. As a result, the abnormal behavior determination for each communication partner (step S1007) for the acquired label data is completed.

一方、異常でない場合(ステップS1305:No)、第1判定部903は、特定した行動分類601の値に含まれる頻度が「L」であるか否かを判断する(ステップS1307)。頻度が「L」である場合(ステップS1304:Yes)、第1判定部903は、ステップS1301で取得したラベルデータ(当該ラベルデータへのポインタでもよい)をサンプリング候補リスト911に追加する(ステップS1304)。これにより、取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。一方、頻度が「L」でない場合(ステップS1307:No)、頻度は「L」よりも高い「M」または「H」である。したがって、取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。 On the other hand, if it is not abnormal (step S1305: No), the first determination unit 903 determines whether or not the frequency included in the value of the specified behavior classification 601 is “L” (step S1307). When the frequency is "L" (step S1304: Yes), the first determination unit 903 adds the label data (which may be a pointer to the label data) acquired in step S1301 to the sampling candidate list 911 (step S1304). ). As a result, the abnormal behavior determination for each communication partner (step S1007) for the acquired label data is completed. On the other hand, when the frequency is not "L" (step S1307: No), the frequency is "M" or "H" higher than "L". Therefore, the abnormal behavior determination for each communication partner (step S1007) for the acquired label data ends.

<行動別異常行動判定(ステップS1009)>
図14は、図10に示した行動別異常行動判定(ステップS1009)の詳細な処理手順例を示すフローチャートである。行動別異常行動判定(ステップS1009)は、たとえば、通信相手別異常行動判定(ステップS1007)でサンプリング候補リスト911に登録されたラベルデータ毎に実行される。
<Abnormal behavior determination by behavior (step S1009)>
FIG. 14 is a flowchart showing a detailed processing procedure example of the behavior-specific abnormal behavior determination (step S1009) shown in FIG. The behavior-specific abnormal behavior determination (step S1009) is executed for each label data registered in the sampling candidate list 911 in the communication partner-specific abnormal behavior determination (step S1007), for example.

第2判定部904は、サンプリング候補リスト911からラベルデータを取得する(ステップS1401)。第2判定部904は、ステップS1401で取得したラベルデータに含まれている行動分類(ラベル)504および行動分類(旧ラベル)506から行動シーケンス701を生成する(ステップS1402)。 The second determination unit 904 acquires label data from the sampling candidate list 911 (step S1401). The second determination unit 904 generates an action sequence 701 from the action classification (label) 504 and the action classification (old label) 506 included in the label data acquired in step S1401 (step S1402).

第2判定部904は、行動シーケンステーブル700を参照して、ステップS1402で生成した行動シーケンス701のエントリを特定する(ステップS1403)。当該エントリが特定されない場合(ステップS1404:No)、すなわち、当該エントリが存在しない場合、第2判定部904は、行動シーケンステーブル700に新規エントリを作成し、ステップS1401で取得したラベルデータをサンプリング候補リスト911から削除する(ステップS1405)。これにより、当該取得したラベルデータについての行動別異常行動判定(ステップS1009)が終了する。 The second determination unit 904 identifies the entry of the action sequence 701 generated in step S1402 with reference to the action sequence table 700 (step S1403). If the entry is not specified (step S1404: No), that is, if the entry does not exist, the second determination unit 904 creates a new entry in the action sequence table 700, and samples the label data acquired in step S1401 as sampling candidates. It is deleted from the list 911 (step S1405). As a result, the behavior-specific abnormal behavior determination (step S1009) for the acquired label data is completed.

一方、ステップS1402で生成した行動シーケンス701のエントリが特定された場合(ステップS1404:Yes)、第2判定部904は、特定された行動シーケンス701のエントリの長期攻撃の一部703が「Y」であるか否かを判定する(ステップS1406)。「Y」である場合(ステップS1406:Yes)、第2判定部904は、ステップS1401で取得したラベルデータのサンプリング507を「Y」に更新する(ステップS1407)。これにより、当該取得したラベルデータについての行動別異常行動判定(ステップS1009)が終了する。 On the other hand, when the entry of the action sequence 701 generated in step S1402 is specified (step S1404: Yes), the second determination unit 904 determines that a part of the long-term attack 703 of the entry of the specified action sequence 701 is “Y”. (Step S1406). When it is "Y" (step S1406: Yes), the second determination unit 904 updates the sampling 507 of the label data acquired in step S1401 to "Y" (step S1407). As a result, the behavior-specific abnormal behavior determination (step S1009) for the acquired label data is completed.

一方、特定された行動シーケンス701のエントリの長期攻撃の一部703が「Y」でない場合(ステップS1406:No)、第2判定部904は、当該特定された行動シーケンス701のエントリ内の頻度が「L」であるか否かを判断する(ステップS1408)。頻度が「L」である場合(ステップS1408:Yes)、ステップS1407に移行する。すなわち、特定された行動シーケンス701が長期攻撃の一部703でない場合でも頻度が「L」であれば、特定された行動シーケンス701内の行動分類(ラベル)504は、サンプリング対象となる。 On the other hand, when a part 703 of the long-term attack of the entry of the specified action sequence 701 is not "Y" (step S1406: No), the second determination unit 904 determines the frequency in the entry of the specified action sequence 701. It is determined whether or not it is "L" (step S1408). When the frequency is "L" (step S1408: Yes), the process proceeds to step S1407. That is, even if the specified action sequence 701 is not a part of the long-term attack 703, if the frequency is "L", the action classification (label) 504 in the specified action sequence 701 is a sampling target.

一方、頻度が「L」でない場合(ステップS1408:No)、第2判定部904は、ステップS1401で取得したラベルデータをサンプリング候補から削除する(ステップS1409)。これにより、当該取得したラベルデータについての行動別異常行動判定(ステップS1009)が終了する。このあと、サンプリング候補リスト911に登録された全ラベルデータについて通信相手別異常行動判定(ステップS1007)が終了した場合、通信部905は、サンプリング候補リスト911内のラベルデータ群を選択アラート群としてアナリスト端末140に送信する。これにより、図11に示したように、アナリスト端末140は、サンプリング候補リスト911の各アラートを分析して、分析アラートリスト1101を表示する。 On the other hand, when the frequency is not "L" (step S1408: No), the second determination unit 904 deletes the label data acquired in step S1401 from the sampling candidates (step S1409). As a result, the behavior-specific abnormal behavior determination (step S1009) for the acquired label data is completed. After that, when the communication partner-specific abnormal behavior determination (step S1007) for all the label data registered in the sampling candidate list 911 is completed, the communication unit 905 analyzes the label data group in the sampling candidate list 911 as a selection alert group. Send to the list terminal 140. As a result, as shown in FIG. 11, the analyst terminal 140 analyzes each alert in the sampling candidate list 911 and displays the analysis alert list 1101.

<フィードバック処理(ステップS1012)>
図15は、図11に示したフィードバック処理(ステップS1012)の詳細な処理手順例を示すフローチャートである。フィードバック処理(ステップS1012)は、フィードバック情報に含まれる選択アラート毎に実行される。分析装置103は、アナリスト端末140からフィードバック情報を取得する(ステップS1501)。分析装置103は、フィードバック情報の中の選択アラートについてラベル更新があるか否かを判断する(ステップS1502)。ラベル更新がない場合(ステップS1502:No)、当該選択アラートについては、フィードバック処理が終了する。
<Feedback processing (step S1012)>
FIG. 15 is a flowchart showing a detailed processing procedure example of the feedback processing (step S1012) shown in FIG. The feedback process (step S1012) is executed for each selection alert included in the feedback information. The analyzer 103 acquires feedback information from the analyst terminal 140 (step S1501). The analyzer 103 determines whether or not there is a label update for the selection alert in the feedback information (step S1502). If there is no label update (step S1502: No), the feedback process ends for the selection alert.

一方、ラベル更新がある場合(ステップS1502:Yes)、分析装置103は、第2判定部904により、選択アラートであるラベルテーブル500のラベルデータの行動分類(ラベル)504を、フィードバック情報に含まれる同一選択アラートの変更後のラベルに更新し、行動分類(旧ラベル)506の末尾に、行動分類(ラベル)504に記録されていたラベルを格納する(ステップS1503)。 On the other hand, when there is a label update (step S1502: Yes), the analyzer 103 includes the behavior classification (label) 504 of the label data of the label table 500, which is a selection alert, in the feedback information by the second determination unit 904. The label is updated to the changed label of the same selection alert, and the label recorded in the behavior classification (label) 504 is stored at the end of the behavior classification (old label) 506 (step S1503).

そして、分析装置103は、第1判定部903により、行動分類テーブル600を更新する(ステップS1504)。具体的には、たとえば、分析装置103は、選択アラートの通信相手分類情報503が行動分類テーブル600にない場合、行動分類テーブル600に新規エントリを作成する。 Then, the analyzer 103 updates the behavior classification table 600 by the first determination unit 903 (step S1504). Specifically, for example, the analyzer 103 creates a new entry in the behavior classification table 600 when the communication partner classification information 503 of the selection alert is not in the behavior classification table 600.

分析装置103は、選択アラートの通信相手分類情報503が行動分類テーブル600にある場合、その行動分類601の値の頻度を更新する。また、その行動分類601の値に登録されている行動属性(正常/異常)が、フィードバック情報に含まれる選択アラートの行動属性(正常/異常)と異なる場合、分析装置103は、その行動分類601の値の行動属性を、フィードバック情報に含まれる選択アラートの行動属性(正常/異常)に更新する。 When the communication partner classification information 503 of the selection alert is in the action classification table 600, the analyzer 103 updates the frequency of the value of the action classification 601. Further, when the behavior attribute (normal / abnormal) registered in the value of the behavior classification 601 is different from the behavior attribute (normal / abnormal) of the selection alert included in the feedback information, the analyzer 103 uses the behavior classification 601. Update the behavior attribute of the value of to the behavior attribute (normal / abnormal) of the selection alert included in the feedback information.

分析装置103は、行動シーケンステーブル700を参照して、ステップS1503で更新後の選択アラートから得られる行動シーケンス701が長期攻撃の一部703であるか否かを判断する(ステップS1505)。長期攻撃の一部703でない場合(ステップS1505:No)、当該選択アラートについては、フィードバック処理が終了する。 The analyzer 103 refers to the action sequence table 700 to determine whether the action sequence 701 obtained from the updated selection alert in step S1503 is part of the long-term attack 703 (step S1505). If it is not part of the long-term attack 703 (step S1505: No), the feedback process ends for the selection alert.

一方、長期攻撃の一部703である場合(ステップS1505:Yes)、分析装置103は、行動シーケンステーブル700の当該行動シーケンス701の長期攻撃の一部703を「Y」に更新する。そして、当該選択アラートについては、フィードバック処理が終了する。 On the other hand, when it is a part 703 of the long-term attack (step S1505: Yes), the analyzer 103 updates the part 703 of the long-term attack of the action sequence 701 of the action sequence table 700 to "Y". Then, the feedback process ends for the selection alert.

<追加学習処理(ステップS1012)>
図16は、図10に示した追加学習処理(ステップS1013)の詳細な処理手順例を示すフローチャートである。追加学習処理(ステップS1012)は一定期間ごとに実行される。一定期間とは、予測対象アラートの発生日時から所定期間遡った日時から予測対象アラートの発生日時までの期間でもよく、あらかじめ設定された予定日時から所定期間遡った日時から予定日時までの期間でもよい。
<Additional learning process (step S1012)>
FIG. 16 is a flowchart showing a detailed processing procedure example of the additional learning process (step S1013) shown in FIG. The additional learning process (step S1012) is executed at regular intervals. The fixed period may be a period from the date and time retroactive to the forecast target alert occurrence date and time to the forecast target alert occurrence date and time, or may be a period from the preset scheduled date and time to the predetermined period retroactive date and time to the scheduled date and time. ..

図16では、一例として、ラベルテーブル500には、A~Eのラベルが登録されており、一定期間分のラベルデータの数を1000個とする。また、この1000個のラベルデータのうち、サンプリング507が「Y」でかつ追加学習済み508が「N」ある選択アラートは、30個とする。この30個の内訳は、行動分類(ラベル)504の値「A」が15個、「B」が10個、「C」が5個、「D」および「E」がそれぞれ0個とする。 In FIG. 16, as an example, labels A to E are registered in the label table 500, and the number of label data for a certain period is 1000. Further, out of the 1000 label data, 30 selection alerts have a sampling 507 of "Y" and an additional learning 508 of "N". The breakdown of these 30 is that the value "A" of the behavior classification (label) 504 is 15, "B" is 10, "C" is 5, and "D" and "E" are 0, respectively.

学習部901は、ラベルテーブル500から一定期間分のラベルデータ(本例では1000個)を取得する(ステップS1601)。学習部901は、一定期間分のラベルデータからサンプリング507が「Y」である選択アラート(本例では30個)を取得し、追加学習済み508を「Y」に更新して、追加学習用アラートリスト912に追加する(ステップS1602)。 The learning unit 901 acquires label data (1000 in this example) for a certain period from the label table 500 (step S1601). The learning unit 901 acquires selection alerts (30 in this example) whose sampling 507 is "Y" from the label data for a certain period, updates the additional learning 508 to "Y", and alerts for additional learning. Add to list 912 (step S1602).

学習部901は、追加学習用アラートリスト912内の選択アラートを行動分類(ラベル)504別に集計し、比率を計算する(ステップS1603)。比率とは、選択アラートの行動分類(ラベル)504ごとに、選択アラートが占める割合である。たとえば、選択アラートは30個である。そのうち、行動分類(ラベル)504が「A」である選択アラートは15個である。したがって、ラベルAの比率は、15/30=1/2である。同様に、行動分類(ラベル)504が「B」の比率は10/30=1/3であり、行動分類(ラベル)504が「C」の比率は5/30=1/6である。行動分類(ラベル)504が「D」、「E」の比率は、選択アラートが0個であるため、0である。 The learning unit 901 aggregates the selection alerts in the additional learning alert list 912 by action classification (label) 504 and calculates the ratio (step S1603). The ratio is the ratio occupied by the selection alert for each action classification (label) 504 of the selection alert. For example, there are 30 selection alerts. Of these, 15 selection alerts have an action classification (label) 504 of "A". Therefore, the ratio of the label A is 15/30 = 1/2. Similarly, the ratio of the behavior classification (label) 504 to "B" is 10/30 = 1/3, and the ratio of the behavior classification (label) 504 to "C" is 5/30 = 1/6. The ratio of the action classification (label) 504 to "D" and "E" is 0 because the selection alert is 0.

学習部901は、一定期間分のアラートに含まれるすべての行動分類(ラベル)504が下記式(1)を満たすか否か、すなわち、目標比率からステップS1603で引いた値の絶対値が閾値以下であるか否かを判断する(ステップS1604)。 In the learning unit 901, whether or not all the action classifications (labels) 504 included in the alert for a certain period satisfy the following equation (1), that is, the absolute value of the value subtracted from the target ratio in step S1603 is equal to or less than the threshold value. It is determined whether or not it is (step S1604).

|目標比率-比率|≦閾値・・・(1) | Target ratio-Ratio | ≤ Threshold ... (1)

ここで、目標比率とは、選択アラートの行動分類(ラベル)504の種類数の逆数である。本例では、選択アラートの行動分類(ラベル)504の種類数はA~Eの5個であるため、目標比率は1/5である。また、閾値を0.15とする。1つでも式(1)を充足しない行動分類(ラベル)504が存在する場合(ステップS1604:No)、ステップS1605に移行する。すべてのラベルが式(1)を充足する場合(ステップS1604:Yes)、ステップS1608に移行する。 Here, the target ratio is the reciprocal of the number of types of the action classification (label) 504 of the selection alert. In this example, since the number of types of the action classification (label) 504 of the selection alert is 5 from A to E, the target ratio is 1/5. Further, the threshold value is set to 0.15. If there is an action classification (label) 504 that does not satisfy even one of the equations (1) (step S1604: No), the process proceeds to step S1605. When all the labels satisfy the equation (1) (step S1604: Yes), the process proceeds to step S1608.

ラベルAの場合、その比率は1/2であるため、式(1)の左辺は0.30となり、式(1)を充足しない。ラベルBの場合、その比率は1/3であるため、式(1)の左辺は0.13となり、式(1)を充足する。ラベルCの場合、その比率は1/6であるため、式(1)の左辺は0.03となり、式(1)を充足する。 In the case of label A, the ratio is 1/2, so the left side of the equation (1) is 0.30, which does not satisfy the equation (1). In the case of label B, the ratio is 1/3, so the left side of the equation (1) is 0.13, which satisfies the equation (1). In the case of label C, the ratio is 1/6, so the left side of the equation (1) is 0.03, which satisfies the equation (1).

ラベルD,Eの場合、その比率は0であるため、式(1)の左辺は0.20となり、式(1)を充足しない。本例では、ステップS1605に移行する。 In the case of labels D and E, the ratio is 0, so the left side of the equation (1) is 0.20, which does not satisfy the equation (1). In this example, the process proceeds to step S1605.

ステップS1605において、学習部901は、ステップS1604で閾値を超えたラベルを1つ選択する(ステップS1605)。たとえば、閾値を超えたラベルA,D,EからAが選択されたとする。選択されたラベルを「選択ラベル」と称す。 In step S1605, the learning unit 901 selects one label that exceeds the threshold value in step S1604 (step S1605). For example, it is assumed that A is selected from labels A, D, and E that exceed the threshold value. The selected label is referred to as the "selection label".

学習部901は、ステップS1601で取得した一定期間分のラベルデータのうち、行動分類(ラベル)504が選択ラベルでかつサンプリング507が「N」である選択アラートを1つ選択する(ステップS1606)。すなわち、1000個ある一定期間分のラベルデータのうち、サンプリング507が「Y」である30個の選択アラートを除いた、970個のラベルデータから1つ選択される。学習部901は、ステップS1606での選択アラート(選択アラートへのポインタでもよい)を追加学習用アラートリスト912に追加する(ステップS1607)。そして、ステップS1603に戻り、比率を再計算して、一定期間分のラベルデータに含まれるすべてのラベルが式(1)を充足するか否かを判断する。 The learning unit 901 selects one selection alert in which the action classification (label) 504 is the selection label and the sampling 507 is "N" from the label data for a certain period acquired in step S1601 (step S1606). That is, one of 1000 label data for a certain period is selected from 970 label data excluding 30 selection alerts in which sampling 507 is "Y". The learning unit 901 adds the selection alert (which may be a pointer to the selection alert) in step S1606 to the additional learning alert list 912 (step S1607). Then, the process returns to step S1603, the ratio is recalculated, and it is determined whether or not all the labels included in the label data for a certain period satisfy the equation (1).

一定期間分のラベルデータに含まれるすべての行動分類(ラベル)504が式(1)を充足する場合、ラベルA~Eの比率が、追加学習処理(ステップS1013)の開始当初に比べて均等に近づいている。この時点で追加学習用アラートリスト912に存在する選択アラートが追加学習データの元になる。そして、学習部901は、追加学習用アラートリスト912内の選択アラートの追加学習済み508を「Y」に更新する(ステップS1608)。 When all the action classifications (labels) 504 included in the label data for a certain period satisfy the equation (1), the ratio of the labels A to E is evenly compared with the initial start of the additional learning process (step S1013). It is approaching. At this point, the selection alert existing in the additional learning alert list 912 becomes the source of the additional learning data. Then, the learning unit 901 updates the additional learning 508 of the selection alert in the additional learning alert list 912 to "Y" (step S1608).

そして、学習部901は、追加学習用アラートリスト912内の選択アラートからアラート識別子401、集計日時402、および行動分類(ラベル)504を取得し、取得したアラート識別子401および集計日時402に一致するアラート特徴データを特徴量テーブル400から取得して、追加学習データを生成する。そして、学習部901は、追加学習データを分類器900に与えて再学習する(ステップS1609)。これにより、分類器900が更新されて過学習が抑制され、分類精度低下が抑制される。 Then, the learning unit 901 acquires the alert identifier 401, the aggregation date / time 402, and the action classification (label) 504 from the selection alert in the additional learning alert list 912, and the alert that matches the acquired alert identifier 401 and the aggregation date / time 402. The feature data is acquired from the feature amount table 400, and additional learning data is generated. Then, the learning unit 901 gives the additional learning data to the classifier 900 and relearns (step S1609). As a result, the classifier 900 is updated to suppress overfitting and to suppress deterioration of classification accuracy.

(1)以上説明したように、本実施例にかかる分析装置103は、ラベルテーブル500と行動分類テーブル600と行動シーケンステーブル700とにアクセス可能である。ラベルテーブル500は、監視対象システム110との通信相手分類情報503が監視対象システム110に対して実行した行動分類(旧ラベル)506を記憶した情報である。行動分類テーブル600は、通信相手分類情報503と、分類された通信相手分類情報503の行動分類601と、を対応付けた情報である。行動シーケンステーブル700は、通信相手分類情報503の時系列な行動である行動シーケンス701と、行動シーケンス701が行動シーケンス701よりも長い他の行動シーケンスの一部であるか否かを示す長期攻撃の一部703と、を対応付けた情報である。 (1) As described above, the analyzer 103 according to the present embodiment can access the label table 500, the action classification table 600, and the action sequence table 700. The label table 500 is information that stores the action classification (old label) 506 executed by the communication partner classification information 503 with the monitoring target system 110 for the monitoring target system 110. The action classification table 600 is information in which the communication partner classification information 503 and the action classification 601 of the classified communication partner classification information 503 are associated with each other. The action sequence table 700 is a long-term attack indicating whether or not the action sequence 701, which is a time-series action of the communication partner classification information 503, and the action sequence 701 are part of another action sequence longer than the action sequence 701. This is information associated with a part of 703.

プロセッサ301は、監視対象システム110で発生したアラート群の各々のアラートの発生前の第1所定期間内における監視対象システム110との通信相手分類情報503の行動の分類結果を取得する(ステップS1003)。 The processor 301 acquires the classification result of the action of the communication partner classification information 503 with the monitored system 110 within the first predetermined period before the occurrence of each alert of the alert group generated in the monitored system 110 (step S1003). ..

プロセッサ301は、アラート群の中の特定のアラートの発生前の第1所定期間内における監視対象システム110との特定の通信相手分類情報503が行動分類テーブル600に存在するか否かを判定する(ステップS1007)。 The processor 301 determines whether or not the specific communication partner classification information 503 with the monitored system 110 within the first predetermined period before the occurrence of the specific alert in the alert group exists in the behavior classification table 600 (. Step S1007).

プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503の行動の分類結果と、ラベルテーブル500に記憶された特定の通信相手分類情報503の行動分類(旧ラベル)506と、に基づいて、特定の通信相手分類情報503の時系列な行動である特定の行動シーケンス701を生成し、行動シーケンステーブル700を用いて、特定の行動シーケンス701が長期攻撃の一部703であるか否かを判定する(ステップS1009)。 When the processor 301 determines that the specific communication partner classification information 503 does not exist in the action classification table 600, the processor 301 sets the behavior classification result of the specific communication partner classification information 503 and the specific communication partner stored in the label table 500. Based on the action classification (old label) 506 of the classification information 503, a specific action sequence 701 which is a time-series action of the specific communication partner classification information 503 is generated, and a specific action sequence table 700 is used to generate a specific action sequence. It is determined whether or not the action sequence 701 is a part 703 of the long-term attack (step S1009).

プロセッサ301は、特定の行動シーケンス701が長期攻撃の一部703であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する(ステップS1405、S1407、S1409)。 When it is determined that the specific action sequence 701 is a part of the long-term attack 703, the processor 301 selects the action classification result of the specific communication partner classification information 503 (steps S1405, S1407, S1409).

プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果を出力する(ステップS1010)。 The processor 301 outputs the classification result of the action of the selected specific communication partner classification information 503 (step S1010).

選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって初出の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において過去に長期攻撃の一部であるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。 The classification result of the action of the selected specific communication partner classification information 503 is the first action for the communication partner, and is a part of the long-term attack in the past in the past action of the communication partner group including the communication partner. Therefore, it belongs to an alert that is highly related to the change in technique. Therefore, the analyzer 103 can automatically narrow down the alerts with high relevance of the technique change from the alert group. As described above, since it is not necessary for the security analyst 141 to determine which alert is highly relevant to the method change, the burden on the security analyst 141 can be reduced.

(2)また、本実施例にかかる分析装置103において、プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503の行動の分類結果と、ラベルテーブル500に記憶された特定の通信相手分類情報503の行動分類(旧ラベル)506と、に基づいて、特定の通信相手分類情報503の時系列な行動である特定の行動シーケンス701を生成し、行動シーケンステーブル700を用いて、特定の行動シーケンス701の頻度702が所定頻度以下であるか否かを判定する(ステップS1408)。 (2) Further, in the analyzer 103 according to the present embodiment, when the processor 301 determines that the specific communication partner classification information 503 does not exist in the action classification table 600, the processor 301 performs the action of the specific communication partner classification information 503. Based on the classification result and the action classification (old label) 506 of the specific communication partner classification information 503 stored in the label table 500, a specific action sequence which is a time-series action of the specific communication partner classification information 503. 701 is generated, and the action sequence table 700 is used to determine whether or not the frequency 702 of the specific action sequence 701 is less than or equal to the predetermined frequency (step S1408).

プロセッサ301は、特定の行動シーケンス701の頻度702が所定頻度以下であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する(ステップS1407、S1409)。 When it is determined that the frequency 702 of the specific action sequence 701 is less than or equal to the predetermined frequency, the processor 301 selects the action classification result of the specific communication partner classification information 503 (steps S1407 and S1409).

プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果を出力する(ステップS1010)。 The processor 301 outputs the classification result of the action of the selected specific communication partner classification information 503 (step S1010).

選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって初出の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において低頻度の行動シーケンスであるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。 Because the classification result of the action of the selected specific communication partner classification information 503 is the first action for the communication partner and the low frequency action sequence in the past actions of the communication partner group including the communication partner. , Belongs to alerts with high relevance of tactical changes. Therefore, the analyzer 103 can automatically narrow down the alerts with high relevance of the technique change from the alert group. As described above, since it is not necessary for the security analyst 141 to determine which alert is highly relevant to the method change, the burden on the security analyst 141 can be reduced.

(3)また、上記(1)の分析装置103において、行動分類テーブル600は、通信相手分類情報503の行動に、当該行動が正常な行動であるか異常な行動であるかを示す行動属性と、通信相手分類情報503の行動の出現頻度と、が対応付けられた情報である。 (3) Further, in the analysis device 103 of the above (1), the action classification table 600 has an action attribute indicating whether the action is a normal action or an abnormal action in the action of the communication partner classification information 503. , Is the information associated with the appearance frequency of the action of the communication partner classification information 503.

プロセッサ301は、特定の通信相手分類情報503の行動属性が正常であり、かつ、特定の通信相手分類情報503の行動の出現頻度が所定頻度以下であると判定された場合、特定の行動シーケンス701が長期攻撃の一部703であるか否かを判定する。 When the processor 301 determines that the action attribute of the specific communication partner classification information 503 is normal and the appearance frequency of the action of the specific communication partner classification information 503 is less than or equal to a predetermined frequency, the processor 301 determines the specific action sequence 701. Determines if is part of a long-term attack 703.

(4)また、上記(1)の分析装置103において、行動シーケンステーブル700は、行動シーケンス701に、行動シーケンス701の頻度702と、長期攻撃の一部703と、が対応付けられた情報である。 (4) Further, in the analysis device 103 of the above (1), the action sequence table 700 is information in which the action sequence 701 is associated with the frequency 702 of the action sequence 701 and a part of the long-term attack 703. ..

プロセッサ301は、特定の行動シーケンス701が長期攻撃の一部703でないと判定された場合、特定の行動シーケンス701の頻度702が所定頻度以下であるか否かを判定する(ステップS1408)。 When it is determined that the specific action sequence 701 is not a part of the long-term attack 703, the processor 301 determines whether or not the frequency 702 of the specific action sequence 701 is less than or equal to the predetermined frequency (step S1408).

プロセッサ301は、特定の行動シーケンス701の頻度702が所定頻度以下であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する。 When it is determined that the frequency 702 of the specific action sequence 701 is equal to or lower than the predetermined frequency, the processor 301 selects the action classification result of the specific communication partner classification information 503.

選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって低頻度の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において過去に長期攻撃の一部であるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。 The classification result of the action of the selected specific communication partner classification information 503 is a low frequency action for the communication partner, and is a part of a long-term attack in the past in the past action of the communication partner group including the communication partner. Therefore, it belongs to an alert that is highly relevant to the change in technique. Therefore, the analyzer 103 can automatically narrow down the alerts with high relevance of the technique change from the alert group. As described above, since it is not necessary for the security analyst 141 to determine which alert is highly relevant to the method change, the burden on the security analyst 141 can be reduced.

(5)また、上記(1)の分析装置103において、プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503と、特定の通信相手分類情報503の行動の分類結果と、を対応付けて行動分類テーブル600に登録する。 (5) Further, in the analyzer 103 of the above (1), when it is determined that the specific communication partner classification information 503 does not exist in the behavior classification table 600, the processor 301 identifies the specific communication partner classification information 503 as the specific communication partner classification information 503. The behavior classification result of the communication partner classification information 503 of the above is associated with and registered in the behavior classification table 600.

これにより、行動分類テーブル600を自動的に更新することができ、分析装置103の管理者(セキュリティアナリスト141でもよい。)負担の軽減を図ることができる。 As a result, the behavior classification table 600 can be automatically updated, and the burden on the administrator of the analyzer 103 (may be security analyst 141) can be reduced.

(6)また、上記(1)の分析装置103において、プロセッサ301は、特定の行動シーケンス701が行動シーケンステーブル700に存在しなかった場合、特定の行動シーケンス701を行動シーケンステーブル700に登録する。 (6) Further, in the analyzer 103 of the above (1), when the specific action sequence 701 does not exist in the action sequence table 700, the processor 301 registers the specific action sequence 701 in the action sequence table 700.

これにより、行動シーケンステーブル700を自動的に更新することができ、分析装置103の管理者(セキュリティアナリスト141でもよい。)負担の軽減を図ることができる。 As a result, the action sequence table 700 can be automatically updated, and the burden on the administrator of the analyzer 103 (may be security analyst 141) can be reduced.

(7)また、上記(1)の分析装置103において、プロセッサ301は、監視対象システム110の挙動を示す特徴量を記憶する特徴量テーブル400にアクセス可能である。 (7) Further, in the analyzer 103 of the above (1), the processor 301 can access the feature amount table 400 that stores the feature amount indicating the behavior of the monitored system 110.

プロセッサ301は、第1所定期間以前の第2所定期間内における特徴量と、第2所定期間内における通信相手分類情報503の行動の分類結果と、の組み合わせに基づいて、通信相手分類情報503の行動の分類結果を予測する分類器900を生成する(ステップS1002)。 The processor 301 is based on the combination of the feature amount in the second predetermined period before the first predetermined period and the classification result of the behavior of the communication partner classification information 503 within the second predetermined period, and the communication partner classification information 503. Generate a classifier 900 that predicts the behavior classification result (step S1002).

プロセッサ301は、第1所定期間内における監視対象システム110の挙動を示す特徴量を特徴量テーブル400から取得し、当該取得した特徴量を分類器900に与えることにより、通信相手分類情報503の行動の分類結果を取得する。 The processor 301 acquires a feature amount indicating the behavior of the monitored system 110 within the first predetermined period from the feature amount table 400, and gives the acquired feature amount to the classifier 900, whereby the action of the communication partner classification information 503 is performed. Get the classification result of.

(8)また、上記(7)の分析装置103において、プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果と、当該分類結果に対応し、かつ、第1所定期間内における監視対象システム110の挙動を示す特徴量と、に基づいて、分類器900を再学習する(ステップS1013)。 (8) Further, in the analyzer 103 of the above (7), the processor 301 corresponds to the classification result of the action of the selected specific communication partner classification information 503 and the classification result, and is within the first predetermined period. The classifier 900 is relearned based on the feature amount showing the behavior of the monitored system 110 in the above (step S1013).

これにより、分類器900による分類精度の向上を図ることができる。 As a result, the classification accuracy of the classifier 900 can be improved.

(9)また、上記(8)の分析装置103において、プロセッサ301は、特定の通信相手分類情報503の行動の分類結果を追加対象分類結果として分類結果別に集計し、追加対象分類結果の総数に対する分類結果別の数を示す比率を算出する(ステップS1603)。 (9) Further, in the analyzer 103 of the above (8), the processor 301 aggregates the classification results of the actions of the specific communication partner classification information 503 as additional target classification results for each classification result, and relatives to the total number of additional target classification results. A ratio indicating a number for each classification result is calculated (step S1603).

プロセッサ301は、各比率と所定の目標比率との差が許容範囲内であるか否かを判断する(ステップS1604)。 The processor 301 determines whether or not the difference between each ratio and the predetermined target ratio is within the allowable range (step S1604).

プロセッサ301は、各比率と所定の目標比率との差が許容範囲内である場合に(ステップS1604:Yes)、追加対象分類結果と、追加対象分類結果に対応し、かつ、第1所定期間内における監視対象システム110の挙動を示す特徴量と、に基づいて、分類結果を再学習する(ステップS1609)。 When the difference between each ratio and the predetermined target ratio is within the permissible range (step S1604: Yes), the processor 301 corresponds to the additional target classification result and the additional target classification result, and is within the first predetermined period. The classification result is relearned based on the feature amount showing the behavior of the monitored system 110 in the above (step S1609).

プロセッサ301は、いずれかの比率と所定の目標比率との差が許容範囲内である場合に(ステップS1604:No)、選択されなかった特定の通信相手分類情報503の行動の分類結果を追加対象分類結果に追加して、各比率を再算出する(ステップS1605~S1607、S1603)。 When the difference between any ratio and the predetermined target ratio is within the permissible range (step S1604: No), the processor 301 adds the classification result of the action of the specific communication partner classification information 503 that was not selected. Each ratio is recalculated in addition to the classification result (steps S1605 to S1607, S1603).

これにより、追加対象分類結果が特定の分類結果に集中しないよう、分類結果別の周係数が調整される。したがって、分析装置103は、追加対象分類結果で分類器900を再学習する際に、セキュリティアナリスト141へ問い合わせる回数を最小限にしつつ、時間経過とともに手口が変わるサイバー攻撃に対応することができる。 As a result, the circumference coefficient for each classification result is adjusted so that the additional target classification result is not concentrated on a specific classification result. Therefore, the analyzer 103 can respond to a cyber attack whose method changes over time while minimizing the number of inquiries to the security analyst 141 when re-learning the classifier 900 based on the additional target classification result.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 It should be noted that the present invention is not limited to the above-mentioned examples, but includes various modifications and equivalent configurations within the scope of the attached claims. For example, the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of another embodiment may be added to the configuration of one embodiment. In addition, other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.

また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ301がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 Further, each configuration, function, processing unit, processing means, etc. described above may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the processor 301 performs each function. It may be realized by software by interpreting and executing the program to be realized.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function is recorded in a storage device such as a memory, a hard disk, an SSD (Solid State Drive), or an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versail Disc). It can be stored in a medium.

また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 In addition, the control lines and information lines show what is considered necessary for explanation, and do not necessarily show all the control lines and information lines necessary for mounting. In practice, it can be considered that almost all configurations are interconnected.

101 アラート管理装置
102 ログ収集装置
103 分析装置
110 監視対象システム
120 通信端末
131 機械学習処理
132 アラート分類処理
133 サンプリング処理
134 通信相手別異常行動判定処理
135 行動別異常行動判定処理
136 フィードバック処理
137 調整処理
140 アナリスト端末
141 セキュリティアナリスト
201 外部脅威情報データベース
300 コンピュータ
301 プロセッサ
302 記憶デバイス
400 特徴量テーブル
401 アラート識別子
500 ラベルテーブル
503 通信相手分類情報
600 行動分類テーブル
700 行動シーケンステーブル
701 行動シーケンス
702 頻度
703 長期攻撃の一部
800 比率テーブル
900 分類器
901 学習部
902 予測部
903 第1判定部
904 第2判定部
911 サンプリング候補リスト
912 追加学習用アラートリスト
101 Alert management device 102 Log collection device 103 Analytical device 110 Monitoring target system 120 Communication terminal 131 Machine learning processing 132 Alert classification processing 133 Sampling processing 134 Communication partner-specific abnormal behavior judgment processing 135 Behavior-specific abnormal behavior judgment processing 136 Feedback processing 137 Adjustment processing 140 Analyst terminal 141 Security analyst 201 External threat information database 300 Computer 301 Processor 302 Storage device 400 Feature table 401 Alert identifier 500 Label table 503 Communication partner classification information 600 Action classification table 700 Action sequence table 701 Action sequence 702 Frequency 703 Long-term Part of the attack 800 Ratio table 900 Classifier 901 Learning unit 902 Prediction unit 903 First judgment unit 904 Second judgment unit 911 Sampling candidate list 912 Alert list for additional learning

Claims (10)

プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置であって、
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析装置。
An analyzer having a processor for executing a program and a storage device for storing the program.
The processor can access the action history information, the action classification information, and the action sequence information, and the action history information stores the past action history executed by the communication partner with the monitoring target for the monitoring target. The action classification information is information in which the communication partner and the classified action group of the communication partner are associated with each other, and the action sequence information is a time-series action of the communication partner. Information in which an action sequence is associated with inclusive information indicating whether or not the action sequence is a part of another action sequence longer than the action sequence.
The processor
Acquisition processing for acquiring the classification result of the behavior of the communication partner with the monitoring target within the first predetermined period before the occurrence of each alert of the alert group generated in the monitoring target, and
The first determination process for determining whether or not a specific communication partner with the monitoring target exists in the behavior classification information within the first predetermined period before the occurrence of the specific alert in the alert group.
When it is determined by the first determination process that the specific communication partner does not exist in the action classification information, the action classification result of the specific communication partner and the specific communication partner stored in the action history information are stored. A specific action sequence, which is a time-series action of the specific communication partner, is generated based on the past action history of the above, and the specific action sequence is the other action sequence using the action sequence information. The second judgment process to determine whether or not it is a part of
When the specific action sequence is determined to be a part of the other action sequence by the second determination process, the selection process for selecting the classification result of the action of the specific communication partner, and the selection process.
Output processing that outputs the classification result of the behavior of the specific communication partner selected by the selection processing, and
An analyzer characterized by performing.
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置であって、
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスの出現頻度と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析装置。
An analyzer having a processor for executing a program and a storage device for storing the program.
The processor can access the action history information, the action classification information, and the action sequence information, and the action history information stores the past action history executed by the communication partner with the monitoring target for the monitoring target. The action classification information is information in which the communication partner and the classified action group of the communication partner are associated with each other, and the action sequence information is a time-series action of the communication partner. Information that associates an action sequence with the frequency of appearance of the action sequence.
The processor
Acquisition processing for acquiring the classification result of the behavior of the communication partner with the monitoring target within the first predetermined period before the occurrence of each alert of the alert group generated in the monitoring target, and
The first determination process for determining whether or not a specific communication partner with the monitoring target exists in the behavior classification information within the first predetermined period before the occurrence of the specific alert in the alert group.
When it is determined by the first determination process that the specific communication partner does not exist in the action classification information, the action classification result of the specific communication partner and the specific communication partner stored in the action history information are stored. Based on the past action history of the above, a specific action sequence which is a time-series action of the specific communication partner is generated, and the appearance frequency of the specific action sequence is a predetermined frequency using the action sequence information. The second determination process to determine whether or not it is as follows,
When it is determined by the second determination process that the appearance frequency of the specific action sequence is less than or equal to the predetermined frequency, the selection process for selecting the classification result of the action of the specific communication partner, and the selection process.
Output processing that outputs the classification result of the behavior of the specific communication partner selected by the selection processing, and
An analyzer characterized by performing.
請求項1に記載の分析装置であって、
前記行動分類情報は、前記通信相手の行動に、当該行動が正常な行動であるか異常な行動であるかを示す行動属性と、前記通信相手の行動の出現頻度と、が対応付けられた情報であり、
前記第2判定処理では、前記プロセッサは、前記第1判定処理によって、前記特定の通信相手の行動属性が正常であり、かつ、前記特定の通信相手の行動の出現頻度が所定頻度以下であると判定された場合、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する、
ことを特徴とする分析装置。
The analyzer according to claim 1.
The behavior classification information is information in which an action attribute indicating whether the behavior is a normal behavior or an abnormal behavior and an appearance frequency of the behavior of the communication partner are associated with the behavior of the communication partner. And
In the second determination process, the processor determines that the behavior attribute of the specific communication partner is normal and the appearance frequency of the behavior of the specific communication partner is a predetermined frequency or less by the first determination process. If so, it is determined whether the particular action sequence is part of the other action sequence.
An analyzer characterized by that.
請求項1に記載の分析装置であって、
前記行動シーケンス情報は、前記行動シーケンスに、前記行動シーケンスの出現頻度と、前記被包含情報と、が対応付けられた情報であり、
前記第2判定処理では、前記プロセッサは、前記特定の行動シーケンスが前記他の行動シーケンスの一部でないと判定された場合、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定し、
前記選択処理では、前記プロセッサは、前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する、
ことを特徴とする分析装置。
The analyzer according to claim 1.
The action sequence information is information in which the appearance frequency of the action sequence and the included information are associated with the action sequence.
In the second determination process, when the processor determines that the specific action sequence is not a part of the other action sequence, the processor determines whether or not the appearance frequency of the specific action sequence is less than or equal to the predetermined frequency. Judgment,
In the selection process, when the second determination process determines that the appearance frequency of the specific action sequence is less than or equal to the predetermined frequency, the processor selects the classification result of the action of the specific communication partner.
An analyzer characterized by that.
請求項1に記載の分析装置であって、
前記第1判定処理では、前記プロセッサは、前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手と、前記特定の通信相手の行動の分類結果と、を対応付けて前記行動分類情報に登録する、
ことを特徴とする分析装置。
The analyzer according to claim 1.
In the first determination process, when it is determined that the specific communication partner does not exist in the behavior classification information, the processor determines the specific communication partner and the behavior classification result of the specific communication partner. Register in the behavior classification information in association with each other,
An analyzer characterized by that.
請求項1に記載の分析装置であって、
前記第2判定処理では、前記プロセッサは、前記特定の行動シーケンスが前記行動シーケンス情報に存在しなかった場合、前記特定の行動シーケンスを前記行動シーケンス情報に登録する、
ことを特徴とする分析装置。
The analyzer according to claim 1.
In the second determination process, when the specific action sequence does not exist in the action sequence information, the processor registers the specific action sequence in the action sequence information.
An analyzer characterized by that.
請求項1に記載の分析装置であって、
前記プロセッサは、前記監視対象の挙動を示す特徴量を記憶する特徴量情報にアクセス可能であり、
前記プロセッサは、
前記第1所定期間以前の第2所定期間内における前記特徴量と、前記第2所定期間内における前記通信相手の行動の分類結果と、の組み合わせに基づいて、前記通信相手の行動の分類結果を予測する分類器を生成する学習処理を実行し、
前記取得処理では、前記プロセッサは、前記第1所定期間内における前記監視対象の挙動を示す特徴量を前記特徴量情報から取得し、当該取得した特徴量を前記学習処理によって生成された分類器に与えることにより、前記通信相手の行動の分類結果を取得する、
ことを特徴とする分析装置。
The analyzer according to claim 1.
The processor can access the feature amount information that stores the feature amount indicating the behavior of the monitored object.
The processor
Based on the combination of the feature amount within the second predetermined period before the first predetermined period and the classification result of the behavior of the communication partner within the second predetermined period, the classification result of the behavior of the communication partner is obtained. Perform a learning process to generate a predictive classifier,
In the acquisition process, the processor acquires a feature amount indicating the behavior of the monitored object from the feature amount information within the first predetermined period, and transfers the acquired feature amount to the classifier generated by the learning process. By giving, the classification result of the behavior of the communication partner is acquired.
An analyzer characterized by that.
請求項7に記載の分析装置であって、
前記学習処理では、前記プロセッサは、前記選択処理によって選択された前記特定の通信相手の行動の分類結果と、当該分類結果に対応し、かつ、前記第1所定期間内における前記監視対象の挙動を示す特徴量と、に基づいて、前記分類器を再学習する、
ことを特徴とする分析装置。
The analyzer according to claim 7.
In the learning process, the processor responds to the classification result of the behavior of the specific communication partner selected by the selection process and the behavior of the monitoring target within the first predetermined period. Relearn the classifier based on the features shown.
An analyzer characterized by that.
請求項8に記載の分析装置であって、
前記学習処理では、前記プロセッサは、
前記特定の通信相手の行動の分類結果を追加対象分類結果として分類結果別に集計し、前記追加対象分類結果の総数に対する分類結果別の数を示す比率を算出する算出処理と、
前記各比率と所定の目標比率との差が許容範囲内であるか否かを判断する判断処理と、
前記各比率と前記所定の目標比率との差が許容範囲内である場合に、前記追加対象分類結果と、前記追加対象分類結果に対応し、かつ、前記第1所定期間内における前記監視対象の挙動を示す特徴量と、に基づいて、前記分類結果を再学習する再学習処理と、
前記いずれかの比率と前記所定の目標比率との差が許容範囲内である場合に、前記選択処理によって選択されなかった前記特定の通信相手の行動の分類結果を前記追加対象分類結果に追加して、前記各比率を再算出する再算出処理と、
を実行することを特徴とする分析装置。
The analyzer according to claim 8.
In the learning process, the processor
A calculation process in which the classification results of the behaviors of the specific communication partner are aggregated as additional target classification results for each classification result, and the ratio indicating the number of each additional target classification result to the total number of the additional target classification results is calculated.
Judgment processing for determining whether or not the difference between each ratio and a predetermined target ratio is within the permissible range, and
When the difference between each ratio and the predetermined target ratio is within the permissible range, the additional target classification result and the additional target classification result correspond to the additional target classification result, and the monitoring target within the first predetermined period. A re-learning process for re-learning the classification result based on the feature amount showing the behavior, and
When the difference between any of the above ratios and the predetermined target ratio is within the permissible range, the classification result of the behavior of the specific communication partner not selected by the selection process is added to the addition target classification result. Then, the recalculation process for recalculating each ratio and
An analyzer characterized by performing.
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置が実行する分析方法であって、
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析方法。
An analysis method executed by an analyzer having a processor that executes a program and a storage device that stores the program.
The processor can access the action history information, the action classification information, and the action sequence information, and the action history information stores the past action history executed by the communication partner with the monitoring target for the monitoring target. The action classification information is information in which the communication partner and the classified action group of the communication partner are associated with each other, and the action sequence information is a time-series action of the communication partner. Information in which an action sequence is associated with inclusive information indicating whether or not the action sequence is a part of another action sequence longer than the action sequence.
The processor
Acquisition processing for acquiring the classification result of the behavior of the communication partner with the monitoring target within the first predetermined period before the occurrence of each alert of the alert group generated in the monitoring target, and
The first determination process for determining whether or not a specific communication partner with the monitoring target exists in the behavior classification information within the first predetermined period before the occurrence of the specific alert in the alert group.
When it is determined by the first determination process that the specific communication partner does not exist in the action classification information, the action classification result of the specific communication partner and the specific communication partner stored in the action history information are stored. A specific action sequence, which is a time-series action of the specific communication partner, is generated based on the past action history of the above, and the specific action sequence is the other action sequence using the action sequence information. The second judgment process to determine whether or not it is a part of
When the specific action sequence is determined to be a part of the other action sequence by the second determination process, the selection process for selecting the classification result of the action of the specific communication partner, and the selection process.
Output processing that outputs the classification result of the behavior of the specific communication partner selected by the selection processing, and
An analysis method characterized by performing.
JP2019005589A 2019-01-16 2019-01-16 Analytical equipment and analytical method Active JP7033560B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019005589A JP7033560B2 (en) 2019-01-16 2019-01-16 Analytical equipment and analytical method
PCT/JP2019/033189 WO2020148934A1 (en) 2019-01-16 2019-08-23 Analysis device and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019005589A JP7033560B2 (en) 2019-01-16 2019-01-16 Analytical equipment and analytical method

Publications (2)

Publication Number Publication Date
JP2020113216A JP2020113216A (en) 2020-07-27
JP7033560B2 true JP7033560B2 (en) 2022-03-10

Family

ID=71614068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019005589A Active JP7033560B2 (en) 2019-01-16 2019-01-16 Analytical equipment and analytical method

Country Status (2)

Country Link
JP (1) JP7033560B2 (en)
WO (1) WO2020148934A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022239162A1 (en) * 2021-05-12 2022-11-17 日本電信電話株式会社 Determination method, determination device, and determination program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138422A (en) 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for detecting behavioral-pattern
WO2016208159A1 (en) 2015-06-26 2016-12-29 日本電気株式会社 Information processing device, information processing system, information processing method, and storage medium
WO2017218636A1 (en) 2016-06-14 2017-12-21 Sdn Systems, Llc System and method for automated network monitoring and detection of network anomalies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138422A (en) 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for detecting behavioral-pattern
WO2016208159A1 (en) 2015-06-26 2016-12-29 日本電気株式会社 Information processing device, information processing system, information processing method, and storage medium
US20180181883A1 (en) 2015-06-26 2018-06-28 Nec Corporation Information processing device, information processing system, information processing method, and storage medium
WO2017218636A1 (en) 2016-06-14 2017-12-21 Sdn Systems, Llc System and method for automated network monitoring and detection of network anomalies

Also Published As

Publication number Publication date
JP2020113216A (en) 2020-07-27
WO2020148934A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
US11343268B2 (en) Detection of network anomalies based on relationship graphs
US20220353286A1 (en) Artificial intelligence cyber security analyst
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
US10264009B2 (en) Automated machine learning scheme for software exploit prediction
US10686829B2 (en) Identifying changes in use of user credentials
JP6845819B2 (en) Analytical instruments, analytical methods, and analytical programs
US20210279644A1 (en) Modification of Machine Learning Model Ensembles Based on User Feedback
US8788407B1 (en) Malware data clustering
US11496495B2 (en) System and a method for detecting anomalous patterns in a network
US20160226893A1 (en) Methods for optimizing an automated determination in real-time of a risk rating of cyber-attack and devices thereof
US20200004957A1 (en) Machine learning-based security alert escalation guidance
US20090245109A1 (en) Methods, systems and computer program products for detecting flow-level network traffic anomalies via abstraction levels
US9578053B2 (en) Systems and methods for using cognitive fingerprints
JP7311350B2 (en) MONITORING DEVICE, MONITORING METHOD, AND MONITORING PROGRAM
JP2022533552A (en) Hierarchical Behavior Modeling and Detection Systems and Methods for System-Level Security
CN113704328A (en) User behavior big data mining method and system based on artificial intelligence
Brandao et al. Log Files Analysis for Network Intrusion Detection
CN113704772B (en) Safety protection processing method and system based on user behavior big data mining
JP7033560B2 (en) Analytical equipment and analytical method
Hashemi et al. Detecting intrusion transactions in databases using data item dependencies and anomaly analysis
Werner et al. Near real-time intrusion alert aggregation using concept-based learning
US20230105087A1 (en) Systems and methods for detecting malicious hands-on-keyboard activity via machine learning
JP7409978B2 (en) Risk assessment system and risk assessment method
US11973775B1 (en) Monitoring client networks for security threats using recognized machine operations and machine activities
Millett et al. Analysis of Computer Audit Data to Create Indicators of Compromise for Intrusion Detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220228

R150 Certificate of patent or registration of utility model

Ref document number: 7033560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150