JP2020113216A - Analyzer and method for analysis - Google Patents
Analyzer and method for analysis Download PDFInfo
- Publication number
- JP2020113216A JP2020113216A JP2019005589A JP2019005589A JP2020113216A JP 2020113216 A JP2020113216 A JP 2020113216A JP 2019005589 A JP2019005589 A JP 2019005589A JP 2019005589 A JP2019005589 A JP 2019005589A JP 2020113216 A JP2020113216 A JP 2020113216A
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Abstract
Description
本発明は、データを分析する分析装置および分析方法に関する。 The present invention relates to an analysis device and an analysis method for analyzing data.
サイバー空間では攻撃側が構造的に優位であり、その攻撃は日々高度化、増加、変化している。そのような中、攻撃対象は、従来の金融事業者およびIT(Information Technology)サービス事業者からインフラ事業者へ拡大している。対策に必要な対策コストは右肩上がりだが、投資がそれに追いつかないのが現状である。セキュリティ専門家の人数も不足しており、将来に向けた人材確保が課題となっている。十分な数のセキュリティ専門家が確保されないため、SOC(Security Operation Center)の運用業務に支障を来たすことが懸念される。特に、社会インフラ事業者は、システム全体を監視する。したがって、これまでに比べて、SOC運用性能の大幅な向上が要求される。 The attacking side is structurally dominant in cyberspace, and the attacks are becoming more sophisticated, increasing, and changing day by day. Under such circumstances, the targets of attack are expanding from conventional financial businesses and IT (Information Technology) service businesses to infrastructure businesses. The cost of countermeasures required for countermeasures is increasing, 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, it is feared that the operation work of SOC (Security Operation Center) will be hindered. In particular, social infrastructure operators monitor the entire system. Therefore, a significant improvement in SOC operational performance is required as compared with the past.
SOC運用業務において最も工数を要するのは、FW(Firewall)/IPS(Intrusion Prevention System)から通知されるセキュリティアラートの重要度を判断する作業(インシデントか誤検知かを人手で判断する作業)である。従来はアラートが発生した際には、SOCの専門家がシステム内の各装置ログと外部脅威情報(たとえば、URL(Uniform Resource Locator)やマルウェアの危険度評価)を参照し、そのアラートの重要度を経験と勘に基づいて判断していた。増加し続けるサイバー攻撃や監視対象システムの大規模化に対して、将来に渡って持続可能なSOC運用を実現するには、上記アラート重要度判断の自動化が必須である。しかし、判断ロジックをすべてルール定義することは、コスト面で困難である。よって、機械学習により、専門家によるアラート重要度の蓄積データから、アラート重要度の判断ロジックを作り出す技術が必要となる。 What requires the most man-hours in the SOC operation work is the work of judging the importance of the security alert notified from the FW (Firewall)/IPS (Intrusion Prevention System) (the work of manually judging whether it is an incident or a false positive). .. Conventionally, when an alert occurs, an SOC expert refers to each device log in the system and external threat information (for example, URL (Uniform Resource Locator) and malware risk evaluation), 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 large scale of monitored systems, automation of the above alert importance determination is essential. However, it is difficult in terms of cost to define all decision logic rules. Therefore, there is a need for a technique for creating a judgment logic of the alert importance level by machine learning from accumulated data of the alert importance level by an expert.
また、特許文献1は、機械学習の教師データとして用いるための、特定の分野に関するデータを収集する教師データ収集装置を開示する。この教師データ収集装置は、予め登録しておいた特定の分野に関するデータの特徴ベクトルである第1の特徴ベクトルを算出する特徴算出部と、前記第1の特徴ベクトルから、前記特定の分野に関するデータの収集に用いる検索条件を生成する生成部と、生成された前記検索条件をもとに、前記特定の分野に関するデータを収集する収集部と、収集した前記データの特徴ベクトルである第2の特徴ベクトルを前記特徴算出部が算出すると、該第2の特徴ベクトルと前記第1の特徴ベクトルとの類似度を算出する類似度算出部と、前記類似度が所定の範囲内にある収集した前記データを前記教師データとして抽出する抽出部と、を備える。
Further,
サイバー攻撃は、時間経過とともに手口が変わる。変化に追随するには、継続的な追加学習が欠かせない。よって、機械的に判断できなかった、判断の確度が低いアラートに対して、専門家であるセキュリティアナリストによる判断(ラベルという)を新たに入力してもらう必要がある。しかしながら、入力回数が増加するにつれ、専門家の負担が増加する。 Cyber attacks change their methods over time. In order to keep up with change, continuous additional learning is essential. Therefore, it is necessary to have a security analyst, who is an expert, newly input a judgment (called a label) for an alert that cannot be judged mechanically and whose accuracy is low. However, as the number of inputs increases, the burden on the expert increases.
本開示技術は、分析対象アラート増加によるセキュリティアナリストの分析負担を軽減することを目的とする。 The disclosed technique aims to reduce the analysis burden on the security analyst due to an increase in the number of alerts to be analyzed.
本開示技術の一側面となる分析装置および分析方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置および分析方法であって、前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、前記プロセッサは、前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、を実行することを特徴とする。 An analysis apparatus and an analysis method according to an aspect of the present disclosure are an analysis apparatus and an analysis method that include a processor that executes a program and a storage device that stores the program, the processor including action history information. The action classification information and the action sequence information are accessible, and the action history information is information in which a past action history executed by the communication partner with the monitoring target for the monitoring target is stored, and the action classification information Is information that associates the communication partner with the classified action group of the communication partner, and the action sequence information is an action sequence that is a time-series action of the communication partner, and the action sequence is The included information indicating whether or not it is a part of another action sequence longer than the action sequence is information in which the associated information is associated with the processor, and the processor is provided for each alert of the alert group generated in the monitoring target. Acquisition processing for acquiring the classification result of the behavior of the communication partner with the monitoring target within the first predetermined period before occurrence, and the monitoring within the first predetermined period before the occurrence of a specific alert in the alert group A first determination process for determining whether or not a specific communication partner with the target exists in the action classification information, and it is determined by the first determination process that the specific communication partner does not exist in the action classification information. In this case, it is a time-series action of the specific communication partner based on the action classification result of the specific communication partner and the past action history of the specific communication partner stored in the action history information. A second determination process of generating a specific action sequence and using the action sequence information to determine whether 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 of selecting an action classification result of the specific communication partner, and the specific communication selected by the selection process And an output process for outputting the classification result of the actions of the other party.
本開示技術の他の側面となる分析装置および分析方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置および分析方法であって、前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスの出現頻度と、を対応付けた情報であり、前記プロセッサは、前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定する第2判定処理と、前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、を実行することを特徴とする。 An analysis apparatus and an analysis method according to another aspect of the disclosed technique are an analysis apparatus and an analysis method that include a processor that executes a program and a storage device that stores the program, wherein the processor is action history information. And action sequence information and action sequence information are accessible, and the action history information is information in which past action history executed by the communication partner with the monitoring target for the monitoring target is stored. The information is information in which the communication partner is associated with a classified action group of the communication partner, and the action sequence information is an action sequence that is a time-series action of the communication partner, and the action sequence. And the appearance frequency of each of the monitoring target, 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. An acquisition process for acquiring a result and determining whether or not a specific communication partner with the monitoring target within the first predetermined period before the occurrence of a specific alert in the alert group exists in the action classification information Stored in the action history information and the action classification result of the specific communication partner when it is determined by the first determination process that the specific communication partner does not exist in the action classification information. Based on the past action history of the specified communication partner, a specific action sequence that is a time-series action of the specific communication partner is generated, and using the action sequence information, the specific action Second determination processing for determining whether or not the appearance frequency of the sequence is less than or equal to a predetermined frequency, and when the appearance frequency of the specific action sequence is determined to be less than or equal to the predetermined frequency by the second determination processing, It is characterized in that a selection process for selecting the action classification result of the specific communication partner and an output process for outputting the action classification result of the specific communication partner selected by the selection process are performed.
本発明の代表的な実施の形態によれば、手口変化の関連性が高いアラートの絞り込みの自動化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to the exemplary embodiment of the present invention, it is possible to automate the narrowing down of alerts that are highly related to the change in the tactics. Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
<サイバー攻撃の分析例>
図1は、サイバー攻撃の分析例を示す説明図である。図1では、監視対象システム110が、サイバー攻撃をおこなう通信端末120(単に攻撃者と表記する場合もある)からサイバー攻撃を受けた場合を例に挙げて説明する。監視対象システム110は、通信端末120からサイバー攻撃を受けると、SOC100にアラートを送信する。アラートは、たとえば、アラートを一意に特定するアラート識別子と、アラートの発生日時と、通信相手(この例では通信端末120)と、を含む。
<Example of cyber attack analysis>
FIG. 1 is an explanatory diagram showing an example of cyber attack analysis. In FIG. 1, a case where the monitored
SOC100は、アラート管理装置101と、ログ収集装置102と、分析装置103と、を有する。アラート管理装置101は、監視対象システム110からのアラートを受信してログ収集装置102に転送する。ログ収集装置102は、監視対象システム110の挙動を示すログ(たとえば、キャッシュミス回数や異常応答回数)を監視対象システム110から取得して分析装置103に送信する。
The
分析装置103は、DB130を有し、ログ収集装置102からアラート発生前の所定期間内ログを取得して、当該所定期間内に発生したアラートのアラート識別子を当該ログに付与し、DB130に格納する。アラート識別子が付与されたログを「アラート特徴データ」と称す。異なるログに同一のアラート識別子が付与されても、それぞれがアラート特徴データとなる。
The
分析装置103は、機械学習処理131を実行して、アラート特徴データを分類するための分類器を生成する。分類器は、たとえば、学習パラメータである。なお、機械学習処理131において、2種類の学習データが適用される。1つは、教師なしアラート特徴データであり、もう1つは、教師ありアラート特徴データである。
The
教師なしアラート特徴データは、過去のアラート発生前における監視対象システム110またはその通信相手の挙動に関するログである。教師ありアラート特徴データは、過去のアラート発生前における監視対象システム110またはその通信相手の挙動に関するログと、当該ログに対してセキュリティアナリスト141が付与した分類のラベルと、の組み合わせである。機械学習処理131で教師なしアラート特徴データ群をクラスタリングすることにより、教師なしアラート特徴データ群は、複数のクラスタに分類される。各クラスタは、セキュリティアナリスト141によってサイバー攻撃の分類を示すラベルが付与される。これにより、教師なしアラート特徴データは、教師ありアラート特徴データとなる。分析装置103は、教師ありアラート特徴データを用いて機械学習処理131を実行することにより、分類器を生成する。
The unsupervised alert feature data is a log relating to the behavior of the monitored
あらたに、サイバー攻撃の予測対象アラートの発生前所定期間内の予測対象アラート特徴データ群がログ収集装置102から得られると、分析装置103は、アラート分類処理132により、生成済みの分類器を用いて当該予測対象アラート特徴データ群を分類し、分類結果をDB130に格納する。
When a prediction target alert feature data group within a predetermined period before the occurrence of a cyber attack prediction target alert is obtained from the
分析装置103は、サンプリング処理133により、分類器から得られた分類結果であるラベルから手口変化と強い関連があるラベルを、以下の観点(1)および(2)によってサンプリングする。
Through the
(1)通信相手別異常行動判定処理134により、分析装置103は、予測対象アラートの発生原因となる通信相手にとって、付与されたラベルまたはラベルの時系列シーケンスが初出または低頻度であるか否かを判定する。分析装置103は、付与されたラベルまたはラベルの時系列シーケンスが初出または低頻度であれば、当該ラベルが付与された予測対象アラート特徴データに対応する予測対象アラートを選択アラートとしてサンプリングする。
(1) By the communication partner-specific abnormal
(2)行動別異常行動判定処理135により、分析装置103は、通信相手集団にとって、付与されたラベルまたはラベルの時系列な行動シーケンスが過去に長期攻撃の一部であった実績があるか否かを判定する。分析装置103は、付与されたラベルまたは行動シーケンスが過去に長期攻撃の一部であった実績があれば、当該ラベルが付与された予測対象アラート特徴データに対応する予測対象アラートを選択アラートとしてサンプリングする。
(2) By the behavior-specific abnormal
観点(1)および(2)により、分析装置103は、手口変化の関連性が高い予測対象アラート群を選択アラートに自動的に絞り込むことができる。これにより、セキュリティアナリスト141の分析負担を軽減することができる。
From the viewpoints (1) and (2), the
アナリスト端末140は、サンプリング処理133でサンプリングされた選択アラートを受信し、セキュリティアナリスト141は、アナリスト端末140に表示された当該選択アラートを分析する。たとえば、セキュリティアナリスト141は、選択アラートのラベルを変更する。そして、アナリスト端末140は、セキュリティアナリスト141が作成したフィードバック情報を分析装置103に送信する。フィードバック情報は、たとえば、選択アラートの変更後のラベルを含む。分析装置103は、フィードバック情報に基づいて、DB130内の選択アラートのラベルを更新する。なお、セキュリティアナリスト141は、分析装置103で表示された選択アラートを分析したり、分析装置103を操作してフィードバック情報を作成してもよい。
The
また、分析装置103は、分類器の再学習の際、調整処理137により、分類器に与える追加学習データの分布の偏りを抑制する。追加学習データとは、たとえば、サンプリング処理133済みの予測対象アラート特徴データと、当該予測対象アラート特徴データに対してセキュリティアナリスト141が新たに付与した分類を示すラベルと、の組み合わせである。具体的には、たとえば、分析装置103は、調整処理137により、追加学習データ群のラベルが特定のラベルに集中しないよう、ラベルごとの選択アラートの数を以下の観点(3)で調整する。
Further, the
(3)分析装置103は、ラベルごとの選択アラートの数が同数となるように、選択アラートの数が少ないラベルに、サンプリング処理133でサンプリングされていない未選択アラートを補充する。
(3) The
観点(3)により、追加学習データの分布の偏りが抑制される。したがって、分析装置103は、追加学習データで再学習する際に、追加学習データの分布の偏り調整についてセキュリティアナリスト141へ問い合わせる回数を最小限にすることができる。また、追加学習データの分布の偏りを抑制することにより、特定のラベルに集中することによる過学習を抑制する。したがって、時間経過とともに手口が変わるサイバー攻撃に対応することができる。
From the viewpoint (3), the bias of the distribution of the additional learning data is suppressed. Therefore, the
<システム構成例>
図2は、監視システムのシステム構成例を示すブロック図である。監視システム200は、監視対象システム110と、SOC100と、を有する。監視対象システム110とSOC100は、通信可能に接続される。
<Example of system configuration>
FIG. 2 is a block diagram showing a system configuration example of the monitoring system. The
監視対象システム110は、SOC100に監視されるシステムである。監視対象システム110は、たとえば、第1ネットワーク210、1台以上のクライアント端末211、業務サーバ212、ネットワーク監視装置213、第1FW/IPS214、およびプロキシサーバ216を有する。
The
第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
また、監視対象システム110は、たとえば、第2ネットワーク220、制御装置221、コントローラ222、および第2FW/IPS223を有する。第2ネットワーク220は、たとえば、バスであり、第2ネットワーク220、制御装置221、コントローラ222、および第2FW/IPS223を通信可能に接続する。
Further, the monitored
SOC100は、たとえば、アラート管理装置101と、ログ収集装置102と、分析装置103と、アナリスト端末140と、第3ネットワーク203と、を有する。第3ネットワーク203は、たとえば、バスであり、アラート管理装置101、ログ収集装置102、分析装置103、アナリスト端末140、および外部脅威情報データベース201を通信可能に接続する。
The
アラート管理装置101は、事象の一例として、監視対象システム110からウィルス検出、異常な挙動検出、未登録装置との接続検出といったアラートを取得して格納する。アラートは、たとえば、アラートの発生日時と、アラート対象(アラートの発生元である監視対象システム110内のコンピュータ)と、アラート対象の通信相手(たとえば、通信端末120を特定するIPアドレス)と、を含む情報である。アラート管理装置101は、取得したアラートを分析装置103に通知する。
The
ログ収集装置102は、監視対象システム110からのログを取得して格納する。ログは、いつ、監視対象システム110内のどのコンピュータ300がどのようなデータをどの通信相手に送受信したかを示す履歴情報である。
The
分析装置103は、アラート管理装置101で管理されているアラートとログ収集装置102で管理されているログと外部脅威情報データベース201に登録されている脅威情報を用いて、アラートを分析する。外部脅威情報データベース201は、たとえば、インターネット上で脅威情報を公開するデータベースである。脅威情報には、たとえば、マルウェア、プログラムの脆弱性、スパム、不正URLがある。アナリスト端末140は、セキュリティアナリスト141が操作する端末である。
The
<コンピュータのハードウェア構成例>
図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 (
コンピュータ300は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF)305と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バス306により接続される。プロセッサ301は、コンピュータ300を制御する。
The
記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタがある。通信IF305は、ネットワークと接続し、データを送受信する。
The
<特徴量テーブル400>
図4は、特徴量テーブル400の一例を示す説明図である。特徴量テーブル400は、アラートの特徴量を示すアラート特徴量を記憶するテーブルであり、分析装置103によってログ収集装置102から収集され、たとえば、分析装置103の記憶デバイス302に記憶される。特徴量テーブル400は、ログ収集装置102に記憶されていてもよい。
<Feature amount 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 alert feature amounts that indicate alert feature amounts, is collected from the
特徴量テーブル400は、アラート識別子401と、集計日時402と、プロキシサーバログ403と、業務サーバログ404と、外部脅威情報405と、をフィールドとして有する。ある行における各フィールドの値の組み合わせがアラート特徴データを構成するエントリである。
The feature amount table 400 has an
プロキシサーバログ403、業務サーバログ404、および外部脅威情報405以外にも監視対象システム110内の他のコンピュータ(クライアント端末211やFW/IPS214,223、ネットワーク監視装置213など)についてのログがあってもよいが、図4では省略する。
In addition to the
アラート識別子401は、アラートを一意に特定する識別情報である。なお、アラート管理装置101からのアラートは、アラート識別子401、発生日時、アラート対象、および通信相手を含む。発生日時は、そのアラートが発生した日付時刻である。アラート対象は、アラートの発生元、ここでは、監視対象システム110内のコンピュータである。通信相手は、アラート対象が送信したデータの宛先またはアラート対象にデータを送信した送信元である。なお、分析装置103は、そのアラートの発生日時前から所定時間遡った日時から発生日時までの時間帯に集計日時402が含まれるエントリに、そのアラートのアラート識別子401を付与する。
The
集計日時402は、アラート識別子401で特定されるアラートの発生日時から所定時間遡った日時から一定時間間隔で発生日時までログ収集装置102がログを集計した日付時刻である。本例では、所定時間を1時間とし、一定時間間隔を10分とする。集計日時402は、一定時間間隔の終了日時を示す。たとえば、集計日時402が「10/10 12:57」のエントリは、10/10の12:48から12:57までの10分間で集計されたログで特定されるアラート特徴データを示す。
The total date and
たとえば、アラート識別子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 date and time of occurrence of an alert whose
プロキシサーバログ403は、サブフィールドとして、キャッシュミス回数431と異常応答回数432とを有する。キャッシュミス回数431は、集計日時402においてプロキシサーバ116がキャッシュミスした回数である。異常応答回数432は、集計日時402においてプロキシサーバ116が異常応答を受信した回数である。なお、プロキシサーバログ403のサブフィールドは、キャッシュミス回数431や異常応答回数432以外(たとえば、通信バイト数)であってもよいが、図4では省略する。
The
業務サーバログ404は、サブフィールドとして、異常応答回数441とアクセス回数442とを有する。異常応答回数441は、集計日時402において業務サーバ112が異常応答を受信した回数である。アクセス回数442は、集計日時402で特定される一定時間間隔の集計期間において業務サーバ112が他のコンピュータ300にアクセスされた回数である。なお、業務サーバログ404のサブフィールドは、異常応答回数441やアクセス回数442以外(たとえば、認証失敗回数)であってもよいが、図6では省略する。
The
外部脅威情報405は、サブフィールドとして、IPアドレス危険度451とURL危険度452とを有する。IPアドレス危険度451は、集計日時402におけるアラート対象の通信相手がIPアドレスで特定された場合に、外部脅威情報データベース201において当該IPアドレスの危険度を段階的に示した指標値である。本例では、0〜5の6段階とし、5が最も危険度が高いことを示す。
The
URL危険度452は、集計日時402におけるアラート対象の通信相手がURLで特定された場合に、外部脅威情報データベース201において当該URLの危険度を段階的に示した指標値である。本例では、0〜5の6段階とし、5が最も危険度が高いことを示す。なお、外部脅威情報405のサブフィールドは、IPアドレス危険度451やURL危険度452以外であってもよいが、図4では省略する。
The
<ラベルテーブル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 that stores classification labels, and is stored in, for example, the
ラベルテーブル500は、アラート識別子401と、集計日時402と、通信相手分類情報503と、行動分類(ラベル)504と、確度505と、行動分類(旧ラベル)506と、サンプリング507と、追加学習済み508と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが、ラベルデータを構成するエントリである。
The label table 500 includes an
通信相手分類情報503は、通信相手を分類する情報であり、アラートに含まれる監視対象システム110の通信相手である。行動分類(ラベル)504は、通信相手の行動、換言すれば、通信端末120からのサイバー攻撃を分類する最新のラベルであり、たとえば、マルウェア、プログラムの脆弱性、スパム、不正URLなどの脅威情報である。本実施例では、便宜上、行動分類(ラベル)504の個々の値をアルファベット大文字で示す。
The communication
確度505は、行動分類(ラベル)504の値の確からしさを示す数値であり、値が大きいほど行動分類(ラベル)504が確からしいことを示す。確度505の値は、0.0以上1.0以下の範囲を取る。確度505の値は、機械学習処理131による学習結果である。行動分類(ラベル)504の値で特定されるクラスタの中心に近いほど確度505の値は大きくなる。
The
行動分類(旧ラベル)506は、過去のラベルを示す。行動分類(ラベル)504にあらたなラベルが記録されると、記録される前のラベルは、旧ラベルとして行動分類(旧ラベル)506に格納される。 The action classification (old label) 506 indicates a 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
追加学習済み508は、調整処理137により追加学習データの偏りを抑制する場合に、そのアラートのアラート識別子および行動分類(ラベル)が、追加学習データとして選択されたか否かを示すフラグである。初期値は、追加学習データでないことを示す「N」であり、追加学習データとして追加されると「Y」に更新される。追加学習データについては後述する。
The additional learning completed 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
<行動分類テーブル600>
図6は、行動分類テーブル600の一例を示す説明図である。行動分類テーブル600は、攻撃者の行動を記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。行動分類テーブル600は、ログ収集装置102に記憶されていてもよい。
<Behavior classification table 600>
FIG. 6 is an explanatory diagram showing an example of the action classification table 600. The action classification table 600 is a table that stores the action of the attacker, and is stored in, for example, the
行動分類テーブル600は、通信相手分類情報503と、行動分類601と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが行動分類データを構成するエントリである。
The behavior classification table 600 has communication
行動分類601は、サブフィールドとして、ラベルを有する。したがって、通信相手分類情報503で特定される通信相手のラベルごとに、当該ラベルの出現頻度および正常/異常が特定される。ラベルの出現頻度は、その通信相手分類情報503で特定される攻撃者からの当該ラベルに該当する通信相手からのアクセス回数nで規定される。本実施例では、「H」(多い)、「M」(普通)、「L」(少ない)、空白の4段階で出現頻度が規定される。
The
空白は、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は、あらかじめ設定される値である。 A blank indicates that the access count n of the communication partner is 0 (n=0) even once. “L” indicates that the number of times of access n in the action of the label by the communication partner is 1 or more and na−1 times (1≦n<na−1). “M” indicates that the number of accesses n in the action of the label by the communication partner is na times or more and nb−1 times (na≦n<nb−1). “H” indicates that the number of times of access n in the action of the label by the communication partner is nb 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
<行動シーケンステーブル700>
図7は、行動シーケンステーブル700の一例を示す説明図である。行動シーケンステーブル700は、通信相手の異常行動を記憶するテーブルであり、たとえば、分析装置103の記憶デバイス302に記憶される。行動シーケンステーブル700は、ログ収集装置102に記憶されていてもよい。
<Behavior 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 abnormal actions of communication partners, and is stored in the
行動シーケンステーブル700は、行動シーケンス701と、頻度702と、長期攻撃の一部703と、をフィールドとして有する。ある行における各フィールドの値の組み合わせが行動シーケンスデータを構成するエントリである。なお、行動シーケンステーブル700は、頻度702および長期攻撃の一部703のうち少なくとも一方を有していればよい。
The action sequence table 700 has an
行動シーケンス701は、1以上のラベルの時系列である。なお、同じラベルが2個以上連続する場合は、1個に縮約される。たとえば、ラベルの時系列が「A→B→B→B→C」である場合、「B」が3回連続で出現しているため、行動シーケンス701は、「A→B→C」となる。
The
頻度702は、行動分類601で示した場合と同様、「H」(多い)、「M」(普通)、「L」(少ない)、空白の4段階で規定される行動シーケンス701の出現頻度である。
The
長期攻撃の一部703とは、その行動シーケンス701が長期攻撃の一部であるか否かを示す被包含情報である。長期攻撃の一部703の初期値は、長期攻撃の一部703ではないことを示す「N」であり、長期攻撃の一部703に含まれていれば、「Y」に更新される。長期攻撃とは、過去に出現した行動シーケンスであり、行動シーケンス701よりもラベル数が1個以上多い。
The
たとえば、過去の行動シーケンスとして「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, when “A→B→C→D” is defined as a long-term attack as a past action sequence, “A”, “B”, “C”, “D”, “A→B”, “B”. Each
なお、どの行動シーケンス701が長期攻撃の一部703であるかは、セキュリティアナリスト141が決定する。具体的には、たとえば、アナリスト端末140からのフィードバック情報に、どの行動シーケンス701が長期攻撃の一部703であるかを示す情報が含まれる。この場合、図1に示したフィードバック処理136により、長期攻撃の一部703に該当する行動シーケンス701があれば、その長期攻撃の一部703が「Y」に更新される。
The
<比率テーブル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 the
比率テーブル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
<分析装置103の機能的構成例>
図9は、分析装置103の機能的構成例を示すブロック図である。分析装置103は、特徴量テーブル400と、ラベルテーブル500と、行動分類テーブル600と、行動シーケンステーブル700と、比率テーブル800と、学習部901と、予測部902と、第1判定部903と、第2判定部904と、通信部905と、サンプリング候補リスト911と、追加学習用アラートリスト912と、を有する。
<Example of functional configuration of
FIG. 9 is a block diagram showing a functional configuration example of the
学習部901、予測部902、第1判定部903、第2判定部904、および通信部905は、具体的には、たとえば、図3に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。また、サンプリング候補リスト911および追加学習用アラートリスト912は、具体的には、たとえば、図3に示した記憶デバイス302により実現される。
The
学習部901は、図1に示した機械学習処理を実行する。予測部902は、図1に示したアラート分類処理132を実行する。第1判定部903は、図1に示した通信相手別異常行動判定処理134を実行する。第2判定部904は、図1に示した行動別異常行動判定処理135およびフィードバック処理136を実行する。通信部905は、通信IF305により、アナリスト端末140とデータを送受信する。
The
<分析装置103の動作シーケンス>
図10は、分析装置103の動作を示すシーケンス図である。学習部901は、ログ収集装置102から特徴量テーブル400に記憶されたログを取得する(ステップS1001)。学習部901は、当該取得したログを教師なしアラート特徴データ群として入力し、機械学習を実行する(ステップS1002)。これにより、教師なしアラート特徴データ群は、複数のクラスタに分類される。各クラスタは、セキュリティアナリスト141によって分類を示すラベルが付与される。これにより、分類器900が生成される。
<Operation sequence of
FIG. 10 is a sequence diagram showing the operation of the
なお、学習部901は、この教師なしアラート特徴データ群にラベルが付与された教師ありアラート特徴データ群を用いて再学習し、分類器900を更新してもよい。なお、分類器900は、セキュリティアナリスト141が作成してもよい。
The
つぎに、予測部902は、アラート管理装置101から監視対象システム110で発生した予測対象アラートを取得し、ログ収集装置102から特徴量テーブル400に記憶された予測対象アラート発生前のログを予測対象アラート特徴データとして取得する(ステップS1003)。予測部902は、分類器900を取得する(ステップS1004)。
Next, the
予測部902は、予測対象アラート特徴データ群の各々を分類器900に与えることで行動分類予測を実行して(ステップS1005)、分類結果(予測対象アラート特徴データが分類されたラベルおよびその確度の組み合わせ)を第1判定部903に出力する(ステップS1006)。行動分類予測(ステップS1005)の詳細は、図12で後述する。なお、行動分類予測(ステップS1005)を実行せず、セキュリティアナリスト141が、アナリスト端末140で、予測対象アラート特徴データを参照して分類結果を作成してもよい。
The
つぎに、第1判定部903は、分類結果を用いて、通信相手別異常行動判定を実行して(ステップS1007)、初出または低頻度の分類結果を第2判定部904に出力する(ステップS1008)。通信相手別異常行動判定(ステップS1007)の詳細は、図13で後述する。
Next, the
つぎに、第2判定部904は、初出または低頻度の分類結果を用いて、行動別異常行動判定を実行して(ステップS1009)、予測対象アラート群の中からサンプリングすべきアラート(以下、選択アラート)を決定する。選択アラートは、たとえば、選択アラートを特定するアラート識別子401と、選択アラートの分類結果と、の組み合わせである。選択アラートは、選択アラートの行動分類(旧ラベル)506を含んでもよい。第2判定部904は、選択アラートを、通信部905を介してアナリスト端末140に送信する(ステップS1010)。行動別異常行動判定(ステップS1010)の詳細は、図13で後述する。
Next, the
アナリスト端末140は、通信部905から選択アラートを受信してディスプレイに表示する。出力画面表示例については、図11で後述する。セキュリティアナリスト141は、出力画面から選択アラートのラベルや行動属性(正常/異常)などの情報を入力する。これにより、アナリスト端末140は、フィードバック情報を生成して、分析装置103に送信する(ステップS1011)。
The
分析装置103は、フィードバック情報を受信すると、フィードバック処理を実行する(ステップS1012)。具体的には、たとえば、第2判定部904は、フィードバック情報にしたがってラベルテーブル500を更新する(ステップS1021)。また、第1判定部903も、フィードバック情報にしたがって行動分類テーブル600を更新する(ステップS1022)。
Upon receiving the feedback information, the
また、学習部901は、追加学習処理を実行する(ステップS1013)。具体的には、たとえば、学習部901は、追加学習データを選択し(ステップS1031)、比率調整を実行する(ステップS1032)。これにより、追加学習データの偏りを抑制する。比率調整後、学習部901は、追加学習データに基づいて分類器900を再学習して更新する(ステップS1033)。これにより、その後あらたにログが取得された場合(ステップS1003)、予測部902は、最新の分類器900で入力アラート群の行動分類を実行することができる。
The
<アナリスト端末140の出力画面表示例>
図11は、アナリスト端末140の出力画面表示例を示す説明図である。出力画面1100は、分析アラートリスト1101を表示する。分析アラートリストは、アラート識別子401と、発生日時1102と、サンプリング結果1103と、分析優先度1104と、を含む。分析アラートリスト1101におけるリスト番号ごとのエントリが選択アラートを規定する。
<Example of output screen display of
FIG. 11 is an explanatory diagram showing an output screen display example of the
発生日時1102は、アラート識別子401で特定される選択アラートがアラート管理装置101で発生した日付時刻である。サンプリング結果1103は、アラート識別子401で特定される選択アラートが選択アラートとしてサンプリングされた経緯を示す文字列である。サンプリング結果1103は、たとえば、その選択アラートの行動分類(ラベル)504と、行動分類(旧ラベル)506と、行動分類(旧ラベル)506で特定される最高出現頻度のラベルの出現確率と、を用いて、第1判定部903により作成される。たとえば、リスト番号が「1」の選択アラートのサンプリング結果1103の場合、行動分類(ラベル)504が「A」、行動分類(旧ラベル)506が最高出現頻度のラベルである「B」を含み、「B」の出現確率が「0.7」である。
The occurrence date and
分析優先度1104とは、アラート識別子401で特定される選択アラートをセキュリティアナリスト141に分析してもらう際の優先度を示す文字列である。分析優先度1104は、たとえば、その選択アラートの行動分類601と、行動分類601に該当するアラートについての攻撃者の割合と、該当する行動シーケンス701についての長期攻撃の一部703と、を用いて、第2判定部904により作成される。
The
たとえば、リスト番号が「1」の選択アラートの分析優先度1103の場合、行動分類601が「A」(「正常/異常」はまだセキュリティアナリスト141から付与されていない)である。また、行動分類601に該当するアラートについての攻撃者の割合が、通信相手分類情報503の全エントリ数で、行動分類601の「A」の頻度が「H」、「M」、「L」のいずれかに該当するエントリの数を割った値である。また、該当する行動シーケンス701についての長期攻撃の一部703が「Y」である。
For example, in the case of the
セキュリティアナリスト141は、分析アラートリスト1101を参照して、分析アラートリスト1101を表示するタブ(ラベル付け依頼アラート)とは別のタブ(不図示)で、入力デバイス303を操作することにより、選択アラートのラベルを付与したり、選択アラートのラベルに正常および異常のいずれかを付与したり、長期攻撃の一部703であるか否かを示すフラグ(YまたはN)を付与したりする。これら付与した情報がフィードバック情報となる。そして、アナリスト端末140は、フィードバック情報を分析装置103に送信する(ステップS1011)。
The
<行動分類予測(ステップ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 action classification prediction (step S1005) shown in FIG. The action classification prediction (step S1005) is executed for each prediction target alert feature data that is an entry of the feature amount table 400, for example. The
予測部902は、予測対象アラート特徴データを分類器900に入力して、通信相手の行動を分類する(ステップS1204)。予測部902は、分類器900から分類結果であるラベルおよび確度を取得する(ステップS1205)。予測部902は、ラベルおよび確度505をそれぞれラベルテーブル500の行動分類(ラベル)504および確度505に格納する(ステップS1206)。なお、当該格納前に行動分類(ラベル)504に格納されていたラベルは、行動分類(旧ラベル)506の末尾に格納される。これにより、当該予測対象アラート特徴データついての行動分類予測(ステップS1005)が終了する。
The
<通信相手別異常行動判定(ステップ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 communication partner-specific abnormal behavior determination (step S1007) shown in FIG. The abnormal behavior determination for each communication partner (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
たとえば、取得したラベルデータに属する通信相手分類情報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
特定した行動分類601の値がない場合(ステップS1303:No)、第1判定部903は、ステップS1301で取得したラベルデータ(当該ラベルデータへのポインタでもよい)をサンプリング候補リスト911に追加する(ステップS1304)。また、この場合、第1判定部903は、通信相手分類情報503および行動分類(ラベル)504を行動分類テーブル600に新規登録する。これにより、ステップS1301で取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。
When there is no value of the identified action classification 601 (step S1303: No), the
また、特定した行動分類601の値がある場合(ステップS1303:Yes)、第1判定部903は、そのエントリ内の行動属性が「異常」であるか否かを判断する(ステップS1305)。なお、このとき、アクセス回数nも1回加算され、出現頻度が更新される場合がある。異常である場合(ステップS1305:Yes)、第1判定部903は、ステップS1301で取得したラベルデータを、通信部905を介してアナリスト端末140に送信する(ステップS1306)。ラベルデータではなく、ラベルデータとアラート識別子401および集計日時402が同一なアラート特徴データを送信してもよい。これにより、取得したラベルデータについての通信相手別異常行動判定(ステップS1007)が終了する。
When there is a value of the identified action classification 601 (step S1303: Yes), the
一方、異常でない場合(ステップ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 not abnormal (step S1305: No), the
<行動別異常行動判定(ステップS1009)>
図14は、図10に示した行動別異常行動判定(ステップS1009)の詳細な処理手順例を示すフローチャートである。行動別異常行動判定(ステップS1009)は、たとえば、通信相手別異常行動判定(ステップS1007)でサンプリング候補リスト911に登録されたラベルデータ毎に実行される。
<Abnormal Behavior Judgment by Behavior (Step S1009)>
FIG. 14 is a flowchart showing a detailed processing procedure example of the abnormal behavior determination for each behavior (step S1009) shown in FIG. The behavior-specific abnormal behavior determination (step S1009) is executed for each label data registered in the
第2判定部904は、サンプリング候補リスト911からラベルデータを取得する(ステップS1401)。第2判定部904は、ステップS1401で取得したラベルデータに含まれている行動分類(ラベル)504および行動分類(旧ラベル)506から行動シーケンス701を生成する(ステップS1402)。
The
第2判定部904は、行動シーケンステーブル700を参照して、ステップS1402で生成した行動シーケンス701のエントリを特定する(ステップS1403)。当該エントリが特定されない場合(ステップS1404:No)、すなわち、当該エントリが存在しない場合、第2判定部904は、行動シーケンステーブル700に新規エントリを作成し、ステップS1401で取得したラベルデータをサンプリング候補リスト911から削除する(ステップS1405)。これにより、当該取得したラベルデータについての行動別異常行動判定(ステップS1009)が終了する。
The
一方、ステップ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
一方、特定された行動シーケンス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 of the long-
一方、頻度が「L」でない場合(ステップS1408:No)、第2判定部904は、ステップS1401で取得したラベルデータをサンプリング候補から削除する(ステップS1409)。これにより、当該取得したラベルデータについての行動別異常行動判定(ステップS1009)が終了する。このあと、サンプリング候補リスト911に登録された全ラベルデータについて通信相手別異常行動判定(ステップS1007)が終了した場合、通信部905は、サンプリング候補リスト911内のラベルデータ群を選択アラート群としてアナリスト端末140に送信する。これにより、図11に示したように、アナリスト端末140は、サンプリング候補リスト911の各アラートを分析して、分析アラートリスト1101を表示する。
On the other hand, if the frequency is not “L” (step S1408: No), the
<フィードバック処理(ステップ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 selected alert included in the feedback information. The
一方、ラベル更新がある場合(ステップS1502:Yes)、分析装置103は、第2判定部904により、選択アラートであるラベルテーブル500のラベルデータの行動分類(ラベル)504を、フィードバック情報に含まれる同一選択アラートの変更後のラベルに更新し、行動分類(旧ラベル)506の末尾に、行動分類(ラベル)504に記録されていたラベルを格納する(ステップS1503)。
On the other hand, when there is a label update (step S1502: Yes), the
そして、分析装置103は、第1判定部903により、行動分類テーブル600を更新する(ステップS1504)。具体的には、たとえば、分析装置103は、選択アラートの通信相手分類情報503が行動分類テーブル600にない場合、行動分類テーブル600に新規エントリを作成する。
Then, the
分析装置103は、選択アラートの通信相手分類情報503が行動分類テーブル600にある場合、その行動分類601の値の頻度を更新する。また、その行動分類601の値に登録されている行動属性(正常/異常)が、フィードバック情報に含まれる選択アラートの行動属性(正常/異常)と異なる場合、分析装置103は、その行動分類601の値の行動属性を、フィードバック情報に含まれる選択アラートの行動属性(正常/異常)に更新する。
When the communication
分析装置103は、行動シーケンステーブル700を参照して、ステップS1503で更新後の選択アラートから得られる行動シーケンス701が長期攻撃の一部703であるか否かを判断する(ステップS1505)。長期攻撃の一部703でない場合(ステップS1505:No)、当該選択アラートについては、フィードバック処理が終了する。
The
一方、長期攻撃の一部703である場合(ステップS1505:Yes)、分析装置103は、行動シーケンステーブル700の当該行動シーケンス701の長期攻撃の一部703を「Y」に更新する。そして、当該選択アラートについては、フィードバック処理が終了する。
On the other hand, when it is the long-term attack part 703 (step S1505: Yes), the
<追加学習処理(ステップ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 processing (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 of the forecast target alert going back a predetermined period to the date and time of the forecast target alert, or may be a period from the preset scheduled date and time back to the predetermined period 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, the labels A to E are registered in the label table 500, and the number of label data for a certain period is 1000. Further, among the 1000 pieces of label data, the number of selection alerts in which the
学習部901は、ラベルテーブル500から一定期間分のラベルデータ(本例では1000個)を取得する(ステップS1601)。学習部901は、一定期間分のラベルデータからサンプリング507が「Y」である選択アラート(本例では30個)を取得し、追加学習済み508を「Y」に更新して、追加学習用アラートリスト912に追加する(ステップS1602)。
The
学習部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
学習部901は、一定期間分のアラートに含まれるすべての行動分類(ラベル)504が下記式(1)を満たすか否か、すなわち、目標比率からステップS1603で引いた値の絶対値が閾値以下であるか否かを判断する(ステップS1604)。
The
|目標比率−比率|≦閾値・・・(1) |Target ratio-Ratio |≦threshold value (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 selected alert. In this example, the number of types of the action classification (label) 504 of the selected alert is 5 from A to E, so the target ratio is ⅕. Further, the threshold value is 0.15. When there is at least one action classification (label) 504 that does not satisfy the formula (1) (step S1604: No), the process proceeds to step S1605. When all the labels satisfy the expression (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 equation (1) is 0.30, which does not satisfy equation (1). In the case of label B, the ratio is 1/3, so the left side of equation (1) is 0.13, which satisfies equation (1). In the case of label C, the ratio is 1/6, so the left side of equation (1) is 0.03, which satisfies equation (1).
ラベルD,Eの場合、その比率は0であるため、式(1)の左辺は0.20となり、式(1)を充足しない。本例では、ステップS1605に移行する。 In the case of labels D and E, since the ratio is 0, the left side of Expression (1) is 0.20, which does not satisfy Expression (1). In this example, the process proceeds to step S1605.
ステップS1605において、学習部901は、ステップS1604で閾値を超えたラベルを1つ選択する(ステップS1605)。たとえば、閾値を超えたラベルA,D,EからAが選択されたとする。選択されたラベルを「選択ラベル」と称す。
In step S1605, the
学習部901は、ステップS1601で取得した一定期間分のラベルデータのうち、行動分類(ラベル)504が選択ラベルでかつサンプリング507が「N」である選択アラートを1つ選択する(ステップS1606)。すなわち、1000個ある一定期間分のラベルデータのうち、サンプリング507が「Y」である30個の選択アラートを除いた、970個のラベルデータから1つ選択される。学習部901は、ステップS1606での選択アラート(選択アラートへのポインタでもよい)を追加学習用アラートリスト912に追加する(ステップS1607)。そして、ステップS1603に戻り、比率を再計算して、一定期間分のラベルデータに含まれるすべてのラベルが式(1)を充足するか否かを判断する。
The
一定期間分のラベルデータに含まれるすべての行動分類(ラベル)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 expression (1), the ratios of the labels A to E become even compared to the beginning of the additional learning process (step S1013). It is approaching. At this point, the selected alert existing in the additional
そして、学習部901は、追加学習用アラートリスト912内の選択アラートからアラート識別子401、集計日時402、および行動分類(ラベル)504を取得し、取得したアラート識別子401および集計日時402に一致するアラート特徴データを特徴量テーブル400から取得して、追加学習データを生成する。そして、学習部901は、追加学習データを分類器900に与えて再学習する(ステップS1609)。これにより、分類器900が更新されて過学習が抑制され、分類精度低下が抑制される。
Then, the
(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
プロセッサ301は、監視対象システム110で発生したアラート群の各々のアラートの発生前の第1所定期間内における監視対象システム110との通信相手分類情報503の行動の分類結果を取得する(ステップS1003)。
The
プロセッサ301は、アラート群の中の特定のアラートの発生前の第1所定期間内における監視対象システム110との特定の通信相手分類情報503が行動分類テーブル600に存在するか否かを判定する(ステップS1007)。
The
プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503の行動の分類結果と、ラベルテーブル500に記憶された特定の通信相手分類情報503の行動分類(旧ラベル)506と、に基づいて、特定の通信相手分類情報503の時系列な行動である特定の行動シーケンス701を生成し、行動シーケンステーブル700を用いて、特定の行動シーケンス701が長期攻撃の一部703であるか否かを判定する(ステップS1009)。
When it is determined that the specific communication
プロセッサ301は、特定の行動シーケンス701が長期攻撃の一部703であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する(ステップS1405、S1407、S1409)。
When it is determined that the
プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果を出力する(ステップS1010)。
The
選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって初出の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において過去に長期攻撃の一部であるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。
The action classification result of the selected specific communication
(2)また、本実施例にかかる分析装置103において、プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503の行動の分類結果と、ラベルテーブル500に記憶された特定の通信相手分類情報503の行動分類(旧ラベル)506と、に基づいて、特定の通信相手分類情報503の時系列な行動である特定の行動シーケンス701を生成し、行動シーケンステーブル700を用いて、特定の行動シーケンス701の頻度702が所定頻度以下であるか否かを判定する(ステップS1408)。
(2) Further, in the
プロセッサ301は、特定の行動シーケンス701の頻度702が所定頻度以下であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する(ステップS1407、S1409)。
When it is determined that the
プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果を出力する(ステップS1010)。
The
選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって初出の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において低頻度の行動シーケンスであるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。
Since the action classification result of the selected specific communication
(3)また、上記(1)の分析装置103において、行動分類テーブル600は、通信相手分類情報503の行動に、当該行動が正常な行動であるか異常な行動であるかを示す行動属性と、通信相手分類情報503の行動の出現頻度と、が対応付けられた情報である。
(3) Further, in the
プロセッサ301は、特定の通信相手分類情報503の行動属性が正常であり、かつ、特定の通信相手分類情報503の行動の出現頻度が所定頻度以下であると判定された場合、特定の行動シーケンス701が長期攻撃の一部703であるか否かを判定する。
When it is determined that the behavior attribute of the specific communication
(4)また、上記(1)の分析装置103において、行動シーケンステーブル700は、行動シーケンス701に、行動シーケンス701の頻度702と、長期攻撃の一部703と、が対応付けられた情報である。
(4) In the
プロセッサ301は、特定の行動シーケンス701が長期攻撃の一部703でないと判定された場合、特定の行動シーケンス701の頻度702が所定頻度以下であるか否かを判定する(ステップS1408)。
When it is determined that the
プロセッサ301は、特定の行動シーケンス701の頻度702が所定頻度以下であると判定された場合、特定の通信相手分類情報503の行動の分類結果を選択する。
When the
選択された特定の通信相手分類情報503の行動の分類結果は、その通信相手にとって低頻度の行動であり、かつ、その通信相手を含む通信相手集団の過去の行動において過去に長期攻撃の一部であるため、手口変化の関連性が高いアラートに属する。したがって、分析装置103は、アラート群から手口変化の関連性が高いアラートを自動的に絞り込むことができる。このように、どのアラートが手口変化の関連性が高いかをセキュリティアナリスト141が判断する必要がないため、セキュリティアナリスト141の負担軽減を図ることができる。
The action classification result of the selected specific communication
(5)また、上記(1)の分析装置103において、プロセッサ301は、特定の通信相手分類情報503が行動分類テーブル600に存在しないと判定された場合、特定の通信相手分類情報503と、特定の通信相手分類情報503の行動の分類結果と、を対応付けて行動分類テーブル600に登録する。
(5) Further, in the
これにより、行動分類テーブル600を自動的に更新することができ、分析装置103の管理者(セキュリティアナリスト141でもよい。)負担の軽減を図ることができる。
As a result, the action classification table 600 can be automatically updated, and the burden on the administrator (or the security analyst 141) of the
(6)また、上記(1)の分析装置103において、プロセッサ301は、特定の行動シーケンス701が行動シーケンステーブル700に存在しなかった場合、特定の行動シーケンス701を行動シーケンステーブル700に登録する。
(6) Further, in the
これにより、行動シーケンステーブル700を自動的に更新することができ、分析装置103の管理者(セキュリティアナリスト141でもよい。)負担の軽減を図ることができる。
As a result, the action sequence table 700 can be automatically updated, and the burden on the administrator (or the security analyst 141) of the
(7)また、上記(1)の分析装置103において、プロセッサ301は、監視対象システム110の挙動を示す特徴量を記憶する特徴量テーブル400にアクセス可能である。
(7) Further, in the
プロセッサ301は、第1所定期間以前の第2所定期間内における特徴量と、第2所定期間内における通信相手分類情報503の行動の分類結果と、の組み合わせに基づいて、通信相手分類情報503の行動の分類結果を予測する分類器900を生成する(ステップS1002)。
The
プロセッサ301は、第1所定期間内における監視対象システム110の挙動を示す特徴量を特徴量テーブル400から取得し、当該取得した特徴量を分類器900に与えることにより、通信相手分類情報503の行動の分類結果を取得する。
The
(8)また、上記(7)の分析装置103において、プロセッサ301は、選択された特定の通信相手分類情報503の行動の分類結果と、当該分類結果に対応し、かつ、第1所定期間内における監視対象システム110の挙動を示す特徴量と、に基づいて、分類器900を再学習する(ステップS1013)。
(8) Further, in the
これにより、分類器900による分類精度の向上を図ることができる。
Thereby, the classification accuracy of the
(9)また、上記(8)の分析装置103において、プロセッサ301は、特定の通信相手分類情報503の行動の分類結果を追加対象分類結果として分類結果別に集計し、追加対象分類結果の総数に対する分類結果別の数を示す比率を算出する(ステップS1603)。
(9) Further, in the
プロセッサ301は、各比率と所定の目標比率との差が許容範囲内であるか否かを判断する(ステップS1604)。
The
プロセッサ301は、各比率と所定の目標比率との差が許容範囲内である場合に(ステップS1604:Yes)、追加対象分類結果と、追加対象分類結果に対応し、かつ、第1所定期間内における監視対象システム110の挙動を示す特徴量と、に基づいて、分類結果を再学習する(ステップS1609)。
When the difference between each ratio and the predetermined target ratio is within the allowable range (step S1604: Yes), the
プロセッサ301は、いずれかの比率と所定の目標比率との差が許容範囲内である場合に(ステップS1604:No)、選択されなかった特定の通信相手分類情報503の行動の分類結果を追加対象分類結果に追加して、各比率を再算出する(ステップS1605〜S1607、S1603)。
When the difference between any of the ratios and the predetermined target ratio is within the allowable range (step S1604: No), the
これにより、追加対象分類結果が特定の分類結果に集中しないよう、分類結果別の周係数が調整される。したがって、分析装置103は、追加対象分類結果で分類器900を再学習する際に、セキュリティアナリスト141へ問い合わせる回数を最小限にしつつ、時間経過とともに手口が変わるサイバー攻撃に対応することができる。
Thereby, the division coefficient for each classification result is adjusted so that the addition target classification result is not concentrated on a specific classification result. Therefore, the
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 The present invention is not limited to the above-described embodiments, but includes various modifications and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments 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 configurations described. Further, 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. Further, with respect to a part of the configuration of each embodiment, another configuration may be added, deleted, or replaced.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ301がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
Further, the above-described respective configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them with, for example, an integrated circuit, and the
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as a program, a table, and a file for realizing each function is recorded in a memory, a hard disk, a storage device such as an SSD (Solid State Drive), or an IC (Integrated Circuit) card, an SD card, a DVD (Digital Versatile Disc). It can be stored on the medium.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 Further, the control lines and information lines are shown to be necessary for explanation, and not all the control lines and information lines necessary for mounting are shown. In reality, it can be considered that almost all configurations are connected to each other.
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
Claims (10)
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析装置。 An analysis apparatus comprising: 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 a past action history executed by the communication partner with the monitoring target on the monitoring target. The action classification information is information in which the communication partner is associated with the classified action group of the communication partner, and the action sequence information is a time-series action of the communication partner. An action sequence and information that associates the action sequence with included information indicating whether or not the action sequence is a part of another action sequence longer than the action sequence,
The processor is
An acquisition process of 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;
A first determination process of determining whether or not a specific communication partner with the monitoring target within the first predetermined period before the occurrence of a specific alert in the alert group exists in the action classification information;
When it is determined by the first determination processing that the specific communication partner does not exist in the behavior classification information, the classification result of the behavior of the specific communication partner and the specific communication partner stored in the behavior history information. Based on the past action history of, a specific action sequence that is a time-series action of the specific communication partner is generated, and using the action sequence information, the specific action sequence is the other action sequence. Second determination processing for determining whether or not it is a part of
When it is determined by the second determination process that the specific action sequence is a part of the other action sequence, a selection process of selecting the action classification result of the specific communication partner,
An output process of outputting a classification result of the behavior of the specific communication partner selected by the selection process,
An analysis device, characterized in that
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスの出現頻度と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析装置。 An analysis apparatus comprising: 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 a past action history executed by the communication partner with the monitoring target on the monitoring target. The action classification information is information in which the communication partner is associated with the classified action group of the communication partner, and the action sequence information is a time-series action of the communication partner. It is information in which the action sequence and the appearance frequency of the action sequence are associated with each other,
The processor is
An acquisition process of 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;
A first determination process of determining whether or not a specific communication partner with the monitoring target within the first predetermined period before the occurrence of a specific alert in the alert group exists in the action classification information;
When it is determined by the first determination processing that the specific communication partner does not exist in the behavior classification information, the classification result of the behavior of the specific communication partner and the specific communication partner stored in the behavior history information. Based on the past action history of, a specific action sequence that is a time-series action of the specific communication partner is generated, and using the action sequence information, the appearance frequency of the specific action sequence is a predetermined frequency. A second determination process for determining whether or not:
When the appearance frequency of the specific action sequence is determined to be equal to or lower than the predetermined frequency by the second determination process, a selection process of selecting an action classification result of the specific communication partner,
An output process of outputting a classification result of the behavior of the specific communication partner selected by the selection process,
An analysis device, characterized in that
前記行動分類情報は、前記通信相手の行動に、当該行動が正常な行動であるか異常な行動であるかを示す行動属性と、前記通信相手の行動の出現頻度と、が対応付けられた情報であり、
前記第2判定処理では、前記プロセッサは、前記第1判定処理によって、前記特定の通信相手の行動属性が正常であり、かつ、前記特定の通信相手の行動の出現頻度が所定頻度以下であると判定された場合、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する、
ことを特徴とする分析装置。 The analysis device according to claim 1, wherein
The action classification information is information in which an action attribute indicating whether the action is a normal action or an abnormal action and an appearance frequency of the action of the communication partner are associated with the action of the communication partner. And
In the second determination process, the processor determines that the action attribute of the specific communication partner is normal and the appearance frequency of the action of the specific communication partner is equal to or lower than a predetermined frequency by the first determination process. If determined, determine whether the particular behavior sequence is part of the other behavior sequence,
An analyzer characterized by the above.
前記行動シーケンス情報は、前記行動シーケンスに、前記行動シーケンスの出現頻度と、前記被包含情報と、が対応付けられた情報であり、
前記第2判定処理では、前記プロセッサは、前記特定の行動シーケンスが前記他の行動シーケンスの一部でないと判定された場合、前記特定の行動シーケンスの出現頻度が所定頻度以下であるか否かを判定し、
前記選択処理では、前記プロセッサは、前記第2判定処理によって前記特定の行動シーケンスの出現頻度が前記所定頻度以下であると判定された場合、前記特定の通信相手の行動の分類結果を選択する、
ことを特徴とする分析装置。 The analysis device according to claim 1, wherein
The action sequence information is information in which the action sequence, the appearance frequency of the action sequence, and the included information are associated with each other,
In the second determination process, the processor determines whether or not the appearance frequency of the specific action sequence is equal to or lower than a predetermined frequency when it is determined that the specific action sequence is not a part of the other action sequence. Judge,
In the selection process, the processor selects the action classification result of the specific communication partner when the appearance frequency of the specific action sequence is determined to be equal to or lower than the predetermined frequency by the second determination process,
An analyzer characterized by the above.
前記第1判定処理では、前記プロセッサは、前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手と、前記特定の通信相手の行動の分類結果と、を対応付けて前記行動分類情報に登録する、
ことを特徴とする分析装置。 The analysis device according to claim 1, wherein
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 classification result of the behavior of the specific communication partner. Register in association with the action classification information,
An analyzer characterized by the above.
前記第2判定処理では、前記プロセッサは、前記特定の行動シーケンスが前記行動シーケンス情報に存在しなかった場合、前記特定の行動シーケンスを前記行動シーケンス情報に登録する、
ことを特徴とする分析装置。 The analysis device according to claim 1, wherein
In the second determination process, the processor registers the specific action sequence in the action sequence information when the specific action sequence does not exist in the action sequence information,
An analyzer characterized by the above.
前記プロセッサは、前記監視対象の挙動を示す特徴量を記憶する特徴量情報にアクセス可能であり、
前記プロセッサは、
前記第1所定期間以前の第2所定期間内における前記特徴量と、前記第2所定期間内における前記通信相手の行動の分類結果と、の組み合わせに基づいて、前記通信相手の行動の分類結果を予測する分類器を生成する学習処理を実行し、
前記取得処理では、前記プロセッサは、前記第1所定期間内における前記監視対象の挙動を示す特徴量を前記特徴量情報から取得し、当該取得した特徴量を前記学習処理によって生成された分類器に与えることにより、前記通信相手の行動の分類結果を取得する、
ことを特徴とする分析装置。 The analysis device according to claim 1, wherein
The processor is capable of accessing feature amount information that stores a feature amount indicating the behavior of the monitoring target,
The processor is
A classification result of the behavior of the communication partner based on a combination of the feature amount in the second predetermined period before the first predetermined period and a classification result of the behavior of the communication partner in the second predetermined period. Execute a learning process to generate a predictive classifier,
In the acquisition process, the processor acquires a feature amount indicating the behavior of the monitoring target within the first predetermined period from the feature amount information, and the acquired feature amount is used as a classifier generated by the learning process. By giving the classification result of the behavior of the communication partner,
An analyzer characterized by the above.
前記学習処理では、前記プロセッサは、前記選択処理によって選択された前記特定の通信相手の行動の分類結果と、当該分類結果に対応し、かつ、前記第1所定期間内における前記監視対象の挙動を示す特徴量と、に基づいて、前記分類器を再学習する、
ことを特徴とする分析装置。 The analysis device according to claim 7, wherein
In the learning process, the processor determines a classification result of the behavior of the specific communication partner selected by the selection process, and a behavior of the monitoring target corresponding to the classification result and within the first predetermined period. Re-learning the classifier based on the indicated feature amount,
An analyzer characterized by the above.
前記学習処理では、前記プロセッサは、
前記特定の通信相手の行動の分類結果を追加対象分類結果として分類結果別に集計し、前記追加対象分類結果の総数に対する分類結果別の数を示す比率を算出する算出処理と、
前記各比率と所定の目標比率との差が許容範囲内であるか否かを判断する判断処理と、
前記各比率と前記所定の目標比率との差が許容範囲内である場合に、前記追加対象分類結果と、前記追加対象分類結果に対応し、かつ、前記第1所定期間内における前記監視対象の挙動を示す特徴量と、に基づいて、前記分類結果を再学習する再学習処理と、
前記いずれかの比率と前記所定の目標比率との差が許容範囲内である場合に、前記選択処理によって選択されなかった前記特定の通信相手の行動の分類結果を前記追加対象分類結果に追加して、前記各比率を再算出する再算出処理と、
を実行することを特徴とする分析装置。 The analysis device according to claim 8, wherein
In the learning process, the processor is
A calculation process of collecting the classification results of the behaviors of the specific communication partners by classification result as an addition target classification result, and calculating a ratio indicating the number of each classification result with respect to the total number of the addition target classification results,
A determination process of determining whether or not the difference between each of the ratios and a predetermined target ratio is within an allowable range,
When the difference between each of the ratios and the predetermined target ratio is within an allowable range, the additional target classification result corresponds to the additional target classification result, and the monitoring target of the monitoring target within the first predetermined period is A re-learning process for re-learning the classification result based on the feature amount indicating the behavior,
When the difference between any one of the ratios and the predetermined target ratio is within the allowable range, the action classification result of the specific communication partner not selected by the selection process is added to the addition target classification result. And a recalculation process for recalculating the respective ratios,
An analysis device, characterized in that
前記プロセッサは、行動履歴情報と行動分類情報と行動シーケンス情報とにアクセス可能であり、前記行動履歴情報は、監視対象との通信相手が前記監視対象に対して実行した過去の行動履歴を記憶した情報であり、前記行動分類情報は、前記通信相手と、分類された前記通信相手の行動群と、を対応付けた情報であり、前記行動シーケンス情報は、前記通信相手の時系列な行動である行動シーケンスと、前記行動シーケンスが前記行動シーケンスよりも長い他の行動シーケンスの一部であるか否かを示す被包含情報と、を対応付けた情報であり、
前記プロセッサは、
前記監視対象で発生したアラート群の各々のアラートの発生前の第1所定期間内における前記監視対象との通信相手の行動の分類結果を取得する取得処理と、
前記アラート群の中の特定のアラートの発生前の前記第1所定期間内における前記監視対象との特定の通信相手が前記行動分類情報に存在するか否かを判定する第1判定処理と、
前記第1判定処理によって前記特定の通信相手が前記行動分類情報に存在しないと判定された場合、前記特定の通信相手の行動の分類結果と、前記行動履歴情報に記憶された前記特定の通信相手の過去の行動履歴と、に基づいて、前記特定の通信相手の時系列な行動である特定の行動シーケンスを生成し、前記行動シーケンス情報を用いて、前記特定の行動シーケンスが前記他の行動シーケンスの一部であるか否かを判定する第2判定処理と、
前記第2判定処理によって前記特定の行動シーケンスが前記他の行動シーケンスの一部であると判定された場合、前記特定の通信相手の行動の分類結果を選択する選択処理と、
前記選択処理によって選択された前記特定の通信相手の行動の分類結果を出力する出力処理と、
を実行することを特徴とする分析方法。
An analysis method executed by an analysis device 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 a past action history executed by the communication partner with the monitoring target on the monitoring target. The action classification information is information in which the communication partner is associated with the classified action group of the communication partner, and the action sequence information is a time-series action of the communication partner. An action sequence and information that associates the action sequence with included information indicating whether or not the action sequence is a part of another action sequence longer than the action sequence,
The processor is
An acquisition process of 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;
A first determination process of determining whether or not a specific communication partner with the monitoring target within the first predetermined period before the occurrence of a specific alert in the alert group exists in the action classification information;
When it is determined by the first determination processing that the specific communication partner does not exist in the behavior classification information, the classification result of the behavior of the specific communication partner and the specific communication partner stored in the behavior history information. Based on the past action history of, a specific action sequence that is a time-series action of the specific communication partner is generated, and using the action sequence information, the specific action sequence is the other action sequence. Second determination processing for determining whether or not it is a part of
When it is determined by the second determination process that the specific action sequence is a part of the other action sequence, a selection process of selecting the action classification result of the specific communication partner,
An output process of outputting a classification result of the behavior of the specific communication partner selected by the selection process,
An analysis method characterized by executing.
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 true JP2020113216A (en) | 2020-07-27 |
JP7033560B2 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)
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)
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 |
-
2019
- 2019-01-16 JP JP2019005589A patent/JP7033560B2/en active Active
- 2019-08-23 WO PCT/JP2019/033189 patent/WO2020148934A1/en active Application Filing
Patent Citations (4)
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 |
---|---|
JP7033560B2 (en) | 2022-03-10 |
WO2020148934A1 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848760B2 (en) | Malware data clustering | |
US11343268B2 (en) | Detection of network anomalies based on relationship graphs | |
US11012472B2 (en) | Security rule generation based on cognitive and industry analysis | |
US20220353286A1 (en) | Artificial intelligence cyber security analyst | |
US10264009B2 (en) | Automated machine learning scheme for software exploit prediction | |
US20210281592A1 (en) | Hybrid Machine Learning to Detect Anomalies | |
US20200160230A1 (en) | Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs | |
US11620581B2 (en) | Modification of machine learning model ensembles based on user feedback | |
JP6845819B2 (en) | Analytical instruments, analytical methods, and analytical programs | |
US10454967B1 (en) | Clustering computer security attacks by threat actor based on attack features | |
JP7069399B2 (en) | Systems and methods for reporting computer security incidents | |
JP2022533552A (en) | Hierarchical Behavior Modeling and Detection Systems and Methods for System-Level Security | |
EP3479279B1 (en) | Dynamic ranking and presentation of endpoints based on age of symptoms and importance of the endpoint in the environment | |
Yang et al. | Cyberattacks detection and analysis in a network log system using XGBoost with ELK stack | |
Hashemi et al. | Detecting intrusion transactions in databases using data item dependencies and anomaly analysis | |
JP7033560B2 (en) | Analytical equipment and analytical method | |
JP7409978B2 (en) | Risk assessment system and risk assessment method | |
US20240146761A1 (en) | Malware data clustering | |
US11973775B1 (en) | Monitoring client networks for security threats using recognized machine operations and machine activities | |
Cao et al. | Flow monitoring system and abnormal log traffic mode detection based on artificial intelligence | |
Ogino | An evaluation of intrusion detection system on Jubatus | |
CN116569168A (en) | Information processing device, information processing method, and information processing program |
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 |