JP7691620B2 - Anomaly detection method and anomaly detection program - Google Patents
Anomaly detection method and anomaly detection program Download PDFInfo
- Publication number
- JP7691620B2 JP7691620B2 JP2021149861A JP2021149861A JP7691620B2 JP 7691620 B2 JP7691620 B2 JP 7691620B2 JP 2021149861 A JP2021149861 A JP 2021149861A JP 2021149861 A JP2021149861 A JP 2021149861A JP 7691620 B2 JP7691620 B2 JP 7691620B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- access target
- response time
- normal range
- target
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、異常検知方法及び異常検知プログラムに関する。 The present invention relates to an anomaly detection method and an anomaly detection program.
例えば、ユーザに対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うための業務システムを構築して稼働させる。具体的に、事業者は、例えば、インターネット等のネットワークを介してサービス(以下、ウェブサービスとも呼ぶ)を提供するための業務システムを稼働させる。 For example, a business operator that provides a service to a user (hereinafter, also simply referred to as a business operator) constructs and operates a business system for providing the service. Specifically, the business operator operates a business system for providing a service (hereinafter, also referred to as a web service) via a network such as the Internet.
上記のような業務システムにおいて、事業者は、例えば、ユーザに提供するサービスの品質低下等を防ぐために、業務システムからの応答遅延の原因となり得る事象(例えば、アクセスの集中や機器の故障等)の発生を迅速に検知する必要がある。そのため、事業者は、例えば、業務システムからの過去の応答時間を分析して正常状態をモデル化することによって障害の発生を検知する手法であるアノマリー検知を行う。具体的に、事業者は、例えば、過去の応答時間から自動的に設定された応答時間の正常範囲(以下、単に正常範囲とも呼ぶ)を用いることによって、応答時間が異常であると判断可能な応答(応答時間が正常範囲から逸脱した応答)の検知を行う(例えば、特許文献1参照)。 In a business system such as the one described above, the business operator needs to quickly detect the occurrence of events (such as concentrated access or equipment failure) that may cause response delays from the business system in order to prevent, for example, a deterioration in the quality of the service provided to users. For this reason, the business operator performs anomaly detection, which is a method of detecting the occurrence of a failure by analyzing past response times from the business system and modeling a normal state. Specifically, the business operator detects responses whose response time can be determined to be abnormal (responses whose response time deviates from the normal range) by using a normal range of response times (hereinafter also simply referred to as the normal range) that is automatically set from past response times (see, for example, Patent Document 1).
ここで、上記のようなアノマリー検知では、例えば、ユーザによってアクセスが行われるアクセス対象ごとに、各アクセス対象に対してアクセスを行った場合における応答時間の統計値から正常範囲の設定が行われる。 In anomaly detection such as the one described above, for example, a normal range is set for each access target accessed by a user based on the statistical values of response times when each access target is accessed.
しかしながら、ユーザによってアクセスされる頻度が低いアクセス対象が存在する場合、事業者は、そのアクセス対象についての正常範囲の設定に用いるデータ(例えば、アクセスログ)を十分に確保することができず、アノマリー検知を精度良く行うことが可能な正常範囲の設定を行うことができない場合がある。すなわち、事業者は、例えば、各アクセス対象に対するアクセス頻度等によって、アノマリー検知を精度良く行うことができない場合がある。 However, when there is an access target that is infrequently accessed by users, the operator may not be able to secure sufficient data (e.g., access logs) to use in setting the normal range for that access target, and may not be able to set a normal range that allows for accurate anomaly detection. In other words, the operator may not be able to accurately detect anomalies, for example, depending on the access frequency for each access target.
そこで、一つの側面では、本発明は、アノマリー検知を精度良く行うことを可能とする異常検知方法及び異常検知プログラムを提供することを目的とする。 Therefore, in one aspect, the present invention aims to provide an anomaly detection method and an anomaly detection program that enable anomaly detection to be performed with high accuracy.
実施の形態の一態様では、第1アクセス対象の応答時間についての異常検知を行う際に用いる正常範囲を決定するための応答時間情報の数が所定値を下回ると判定された場合に、前記第1アクセス対象の応答時間についての第1推移状況を特定し、応答時間についての推移状況が前記第1推移状況と類似する第2アクセス対象を特定し、前記第1推移状況と前記第2アクセス対象に対応する前記推移状況とから、正常範囲を設定し、前記第1アクセス対象に対する新たなアクセスが発生した場合、前記正常範囲を用いることによって、前記新たなアクセスの応答時間についての異常検知を行う、処理をコンピュータが実行する。 In one aspect of the embodiment, when it is determined that the number of pieces of response time information for determining a normal range used in detecting an anomaly in the response time of a first access target is below a predetermined value, a first transition status of the response time of the first access target is identified, a second access target whose transition status in response time is similar to the first transition status is identified, a normal range is set from the first transition status and the transition status corresponding to the second access target, and when a new access occurs to the first access target, an anomaly is detected in the response time of the new access by using the normal range.
一つの側面によれば、アノマリー検知を精度良く行うことが可能になる。 According to one aspect, it becomes possible to perform anomaly detection with high accuracy.
[第1の実施の形態における情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
[Configuration of Information Processing System in First Embodiment]
First, a description will be given of the configuration of the
情報処理システム10は、図1に示すように、例えば、ユーザに対してウェブサービスを提供する1台以上のWebサーバからなる業務システム2と、各ユーザが業務システム2に対してアクセスを行う際に利用するユーザ端末3a、3b及び3cとを有する。ユーザ端末3a、3b及び3cは、例えば、各ユーザが所有するPC(Personal Computer)やスマートフォン等のモバイル端末である。以下、ユーザ端末3a、3b及び3cを総称して単にユーザ端末3とも呼ぶ。また、以下、情報処理システム10が3台のユーザ端末3を有する場合について説明を行うが、情報処理システム10は、3台以外の台数のユーザ端末3を有するものであってもよい。
As shown in FIG. 1, the
具体的に、例えば、ユーザがユーザ端末3を介して業務システム2にアクセスを行った場合、業務システム2は、アクセスが行われたアクセス対象(例えば、URL(Uniform Resource Locator))に対応する処理を実行し、その実行結果(応答)をユーザ端末3に対して送信する。そして、業務システム2は、図1に示すように、例えば、ユーザ端末3から業務システム2へのアクセスに関するアクセスログLGを記憶装置2aに蓄積する。以下、ユーザ端末3が業務システム2に対してアクセスを行ってから応答を受信するまでの時間を応答時間と呼ぶ。
Specifically, for example, when a user accesses the
また、情報処理システム10は、図1に示すように、例えば、記憶装置2aに蓄積されたアクセスログLGを用いたアノマリー検知を行う情報処理装置1を有する。情報処理装置1は、例えば、1台以上の物理マシンまたは仮想マシンである。
As shown in FIG. 1, the
具体的に、情報処理装置1は、例えば、ユーザがアクセスを行うアクセス対象ごとに、各アクセス対象に対してアクセスを行った場合に生成されたアクセスログLGに含まれる応答時間の統計値から、各アクセス対象に対応する正常範囲の設定を自動的に行う。そして、情報処理装置1は、例えば、設定した正常範囲を異常検知の判断基準として用いることによって、応答時間が普段よりも長くなっているアクセス対象や応答時間が普段よりも短くなっているアクセス対象の検知を行う。
Specifically, for example, for each access target accessed by a user, the
ここで、例えば、ユーザによってアクセスされる頻度が低いアクセス対象が存在する場合、情報処理装置1は、正常範囲の設定に用いるアクセスログLGを十分に確保することができず、アノマリー検知を精度良く行うことが可能な正常範囲の設定を行うことができない。
Here, for example, if there is an access target that is infrequently accessed by users, the
具体的に、例えば、2秒から10秒までの応答時間が正常範囲に含まれるべきアクセス対象であっても、応答時間が6秒から10秒までの間であるアクセスログLGが一時的に通常よりも低い頻度(例えば、応答時間が2秒から6秒までの間であるアクセスログLGよりも低い頻度)で生成されていた場合、情報処理装置1は、2秒から6秒までの間の範囲を正常範囲として設定する場合がある。そのため、情報処理装置1は、この場合、応答時間が正常範囲に含まれると判断すべきアクセス(例えば、応答時間が8秒であるアクセス)を異常なアクセスとして検知する可能性がある。
Specifically, for example, even if an access target has a response time between 2 and 10 seconds that should be within the normal range, if an access log LG with a response time between 6 and 10 seconds is temporarily generated at a frequency lower than normal (for example, lower than the frequency of access logs LG with response times between 2 and 6 seconds), the
また、例えば、2秒から10秒までの間の応答時間が正常範囲に含まれるべきアクセス対象であっても、応答時間が10秒から15秒までの間であるアクセスログLGが一時的に通常よりも高い頻度(例えば、応答時間が2秒から10秒までの間であるアクセスログLGと同等の頻度)で生成されていた場合、情報処理装置1は、2秒から15秒までの間の範囲を正常範囲として設定する場合がある。そのため、情報処理装置1は、この場合、応答時間が正常範囲に含まれないと判断すべきアクセス(例えば、応答時間が13秒であるアクセス)を正常なアクセスとして検知する可能性がある。
Also, for example, even if an access target has a response time between 2 and 10 seconds that should be within the normal range, if an access log LG with a response time between 10 and 15 seconds is temporarily generated at a frequency higher than normal (for example, at a frequency equivalent to that of access logs with response times between 2 and 10 seconds), the
すなわち、情報処理装置1は、例えば、各アクセス対象に対するアクセス頻度等によって、アノマリー検知を精度良く行うことができない場合がある。
In other words, the
そこで、本実施の形態における情報処理装置1は、例えば、複数のアクセス対象に含まれる特定のアクセス対象(以下、第1アクセス対象とも呼ぶ)に対するアクセスの応答時間についての推移状況(以下、第1推移状況とも呼ぶ)を特定する。具体的に、情報処理装置1は、例えば、第1アクセス対象の応答時間についての異常検知を行う際に用いる正常範囲を決定するための応答時間情報の数が所定値を下回ると判定された場合に、第1アクセス対象の応答時間についての第1推移状況を特定する。応答時間情報は、例えば、各アクセス対象に対してアクセスが行われた際の応答時間を示す情報である。
The
そして、情報処理装置1は、複数のアクセス対象のうち、応答時間の推移状況が第1推移状況と所定の関係を有するアクセス対象(以下、第2アクセス対象とも呼ぶ)を特定する。具体的に、情報処理装置1は、例えば、複数のアクセス対象のうち、応答時間の推移状況が第1推移状況と類似する第2アクセス対象を特定する。
Then, the
その後、情報処理装置1は、例えば、第1アクセス対象及び第2アクセス対象のそれぞれに対するアクセスの応答時間から、アクセスの応答時間についての正常範囲を設定する。そして、情報処理装置1は、例えば、第1アクセス対象に対する新たなアクセスが発生した場合、当該正常範囲を用いることによって、新たなアクセスの応答時間についての異常検知(アノマリー検知)を行う。
Then, the
すなわち、第1アクセス対象に対するアクセスの応答時間についての推移状況と第2アクセス対象に対するアクセスの応答時間についての推移状況とが過去の所定期間において類似している場合、各応答時間についての推移状況は、現在においても類似している可能性が高いと判断できる。そのため、第1アクセス対象及び第2アクセス対象は、この場合、正常範囲の設定を纏めて行うことが可能なアクセス対象の組合せであると判断できる。したがって、本実施の形態における情報処理装置1は、第1アクセス対象に対するアクセスの応答時間についての推移状況と第2アクセス対象に対するアクセスの応答時間についての推移状況とが過去の所定期間において類似する場合、第1アクセス対象と第2アクセス対象とを纏めることによって1つのアクセス対象としてから正常範囲の設定を行う。
In other words, if the transition status of the response time of access to the first access target and the transition status of the response time of access to the second access target are similar over a specified period of time in the past, it can be determined that the transition status of each response time is highly likely to be similar even now. Therefore, in this case, the first access target and the second access target can be determined to be a combination of access targets for which the normal range can be set collectively. Therefore, in the
一方、例えば、第1アクセス対象に対応する応答時間の数(すなわち、第1アクセス対象に対するアクセス頻度)が十分に多い場合、第1アクセス対象の正常範囲と第2アクセス対象の正常範囲とを纏めることによって、第1アクセス対象の正常範囲を不必要に広めることになり、アノマリー検知の精度を逆に悪化させる可能性がある。そのため、本実施の形態における情報処理装置1は、第1アクセス対象に対応する応答時間情報の数が予め定められた所定値を下回ると判定された場合に、第1アクセス対象の正常範囲と第2アクセス対象の正常範囲を纏める処理を行う。
On the other hand, for example, if the number of response times corresponding to the first access target (i.e., the access frequency to the first access target) is sufficiently large, combining the normal range of the first access target with the normal range of the second access target may unnecessarily widen the normal range of the first access target, which may actually worsen the accuracy of anomaly detection. Therefore, the
これにより、本実施の形態における情報処理装置1は、ユーザによってアクセスされる頻度が低いアクセス対象が存在する場合であっても、そのアクセス対象についての正常範囲の設定に用いるアクセスログを十分に確保することが可能になり、アノマリー検知を精度良く行うことが可能な正常範囲の設定を行うことが可能になる。そのため、情報処理装置1は、アノマリー検知の判定精度を高めることが可能になる。
As a result, the
[情報処理システムのハードウェア構成]
次に、情報処理システム10のハードウェア構成について説明する。図2は、情報処理装置1のハードウェア構成を説明する図である。
[Hardware configuration of information processing system]
Next, a description will be given of the hardware configuration of the
情報処理装置1は、図2に示すように、プロセッサであるCPU101と、メモリ102と、I/Oインタフェース103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
As shown in FIG. 2, the
記憶媒体104は、例えば、応答時間が異常なアクセスの検知を行う処理(以下、異常検知処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示せず)を有する。また、記憶媒体104は、例えば、異常検知処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
The
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して異常検知処理を行う。
The
I/Oインタフェース103は、例えば、ネットワークインターフェースカード等のインタフェース機器であり、インターネット等のネットワークを介して記憶装置2aに対してアクセスが可能である。
The I/
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図3は、情報処理装置1の機能のブロック図である。
[Functions of the information processing system]
Next, the functions of the
情報処理装置1は、図3に示すように、例えば、CPU101やメモリ102等のハードウェアとプログラム110とが有機的に協働することにより、状況特定部111と、対象特定部112と、範囲設定部113と、グループ分割部114と、異常検知部115と、結果出力部116とを含む各種機能を実現する。
As shown in FIG. 3, the
また、情報処理装置1は、例えば、特徴量情報131と、正常範囲情報132とを情報格納領域130に記憶する。
In addition, the
状況特定部111は、例えば、複数のアクセス対象に含まれる第1アクセス対象に対する応答時間についての第1推移状況を特定する。
The
具体的に、状況特定部111は、例えば、記憶装置2aに蓄積されたアクセスログLGのうち、予め定められた過去の期間(以下、第1期間とも呼ぶ)に生成されたアクセスログLGを取得する。そして、状況特定部111は、例えば、取得したアクセスログLGのそれぞれに含まれる応答時間についての第1推移状況を特定する。
Specifically, the
さらに具体的に、状況特定部111は、例えば、第1アクセス対象に対応する応答時間情報の数が所定値を下回ると判定された場合に、第1アクセス対象の応答時間についての第1推移状況を特定する。
More specifically, the
対象特定部112は、例えば、複数のアクセス対象のうち、応答時間の推移状況が第1推移状況と所定の関係を有する第2アクセス対象を特定する。
The
具体的に、対象特定部112は、例えば、複数のアクセス対象のうち、第1期間における応答時間の推移状況が第1推移状況と類似する第2アクセス対象を特定する。
Specifically, the
範囲設定部113は、例えば、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスの応答時間の正常範囲を設定する。
The
具体的に、範囲設定部113は、例えば、第1アクセス対象と第2アクセス対象に対するアクセスの応答時間の平均及び標準偏差を用いることにより、第1アクセス対象に対するアクセスの応答時間の正常範囲を設定する。
Specifically, the
グループ分割部114は、例えば、範囲設定部113が設定した正常範囲の大きさが所定以上である場合、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスの応答時間を、第1アクセス対象と第2アクセス対象との関連情報を用いることによって複数グループに分割する。そして、範囲設定部113は、グループ分割部114が分割した複数グループごとに、正常範囲の設定を再度行う。
For example, when the size of the normal range set by the
具体的に、グループ分割部114は、例えば、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスの応答時間を、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスに伴って送受信されるデータサイズの大きさごとに分割する。また、グループ分割部114は、例えば、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスの応答時間を、第1アクセス対象と第2アクセス対象とのうちのいずれかに対してアクセスを行ったユーザごとに分割する。
Specifically, the
異常検知部115は、例えば、範囲設定部113が設定した正常範囲を用いることによって、第1アクセス対象と第2アクセス対象とのうちのいずれかに対するアクセスの応答時間についての異常検知を行う。
The
具体的に、異常検知部115は、例えば、第1アクセス対象及び第2アクセス対象のうちのいずれかに対する新たなアクセスが発生した場合、範囲設定部113が設定した正常範囲を用いることによって、新たなアクセスの応答時間についての異常検知(アノマリー検知)を行う。
Specifically, for example, when new access occurs to either the first access target or the second access target, the
結果出力部116は、例えば、異常検知部115による検知結果を管理者端末(図示せず)に出力する。管理者端末は、例えば、業務システム2の管理を行う管理者(以下、単に管理者とも呼ぶ)が閲覧可能な端末である。
The
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図4は、第1の実施の形態における異常検知処理の概略を説明するフローチャート図である。
[Outline of the first embodiment]
Next, an overview of the first embodiment will be described with reference to Fig. 4. Fig. 4 is a flow chart for explaining an overview of anomaly detection processing in the first embodiment.
情報処理装置1は、図4に示すように、例えば、処理開始タイミングになるまで待機する(S11のNO)。処理開始タイミングは、例えば、事業者によって予め設定されたタイミングである。
As shown in FIG. 4, the
そして、処理開始タイミングになった場合(S11のYES)、情報処理装置1は、例えば、複数のアクセス対象に含まれる第1アクセス対象に対するアクセスの応答時間についての第1推移状況を特定する(S12)。
Then, when the processing start timing arrives (YES in S11), the
具体的に、状況特定部111は、例えば、第1アクセス対象に対応する応答時間情報の数が所定値を下回ると判定された場合に、第1アクセス対象の応答時間についての第1推移状況を特定する。
Specifically, the
続いて、情報処理装置1は、例えば、複数のアクセス対象のうち、アクセスの応答時間の推移状況が第1推移状況と所定の関係を有する第2アクセス対象を特定する(S13)。
Next, the
その後、情報処理装置1は、例えば、第1アクセス対象及び第2アクセス対象に対するアクセスの応答時間から、第1アクセス対象に対するアクセスの応答時間についての正常範囲を設定する(S14)。
Then, the
そして、情報処理装置1は、例えば、第1アクセス対象及び第2アクセス対象のうちのいずれかに対する新たなアクセスが発生した場合、S14の処理において設定した正常範囲を用いることによって、発生した新たなアクセスの応答時間についての異常検知を行う(S15)。
Then, when new access occurs to either the first access target or the second access target, the
これにより、本実施の形態における情報処理装置1は、ユーザによってアクセスされる頻度が低いアクセス対象が存在する場合であっても、そのアクセス対象についての正常範囲の設定に用いるアクセスログを十分に確保することが可能になり、アノマリー検知を精度良く行うことが可能な正常範囲の設定を行うことが可能になる。そのため、情報処理装置1は、アノマリー検知の判定精度を高めることが可能になる。以下、第1の実施の形態についての具体例について説明を行う。
As a result, even if there is an access target that is infrequently accessed by users, the
[第1の実施の形態についての具体例]
図5から図7は、第1の実施の形態についての具体例を説明するグラフである。図5から図7に示すグラフにおける横軸及び縦軸は、アクセスログLGの生成時間及び業務システム2への応答時間のそれぞれに対応する。そして、図5から図7には、URL11aに対してアクセスを行った際の応答時間を示す点(丸形の点)と、URL11bに対してアクセスを行った際の応答時間を示す点(星形の点)と、URL11cに対してアクセスを行った際の応答時間を示す点(三角形の点)と、URL11dに対してアクセスを行った際の応答時間を示す点(四角形の点)とがそれぞれ分布している。
[Specific example of the first embodiment]
5 to 7 are graphs for explaining a specific example of the first embodiment. The horizontal and vertical axes in the graphs shown in Fig. 5 to 7 correspond to the generation time of the access log LG and the response time to the
なお、以下、アクセス対象の各URLには、各URLに対するアクセスに応じて行われる機能名(例えば、検索、一覧表示及びダウンロード等)や操作対象(例えば、ユーザ名、フォルダ名及びファイル名等)が含まれているものとして説明を行う。 In the following explanation, it is assumed that each URL to be accessed includes the function name (e.g., search, list display, download, etc.) and operation target (e.g., user name, folder name, file name, etc.) that will be performed in response to the access to each URL.
例えば、図5に示す各URLに対応する点の推移状況から、URL11aに対応する点の推移状況とURL11bに対応する点の推移状況とが類似していると判定した場合、情報処理装置1は、図6に示すように、URL11aに対応する点とURL11bに対応する点とがクラスタCAに属するようにクラスタリングを行う(S12、S13)。
For example, if it is determined that the transition status of the point corresponding to URL11a is similar to the transition status of the point corresponding to URL11b based on the transition status of the points corresponding to each URL shown in FIG. 5, the
また、情報処理装置1は、例えば、図5に示す各URLに対応する点の推移状況から、URL11cに対応する点の推移状況が他のURLに対応する点の推移状況と類似していないと判定した場合、図6に示すように、URL11cに対応する点のみがクラスタCBに属するようにクラスタリングを行う(S12、S13)。
In addition, for example, when the
さらに、情報処理装置1は、例えば、図5に示す各URLに対応する点の推移状況から、URL11dに対応する点の推移状況が他のURLに対応する点の推移状況と類似していないと判定した場合、図6に示すように、URL11dに対応する点のみがクラスタCCに属するようにクラスタリングを行う(S12、S13)。
Furthermore, for example, when the
そして、情報処理装置1は、例えば、クラスタCA、クラスタCB及びクラスタCCのそれぞれについて、各クラスタに含まれる点に対応する正常範囲の設定を行う。具体的に、情報処理装置1は、図7に示すように、例えば、クラスタCAに含まれる点に対応する応答時間から正常範囲RAの設定を行い、クラスタCBに含まれる点に対応する応答時間から正常範囲RBの設定を行い、さらに、クラスタCCに含まれる点に対応する応答時間から正常範囲RCの設定を行う。
Then, the
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明を行う。図8から図10は、第1の実施の形態における異常検知処理の詳細を説明するフローチャート図である。また、図11から図19は、第1の実施の形態における異常検知処理の詳細を説明する図である。
[Details of the First Embodiment]
Next, the details of the first embodiment will be described. Figures 8 to 10 are flow charts for explaining the details of the abnormality detection process in the first embodiment. Figures 11 to 19 are diagrams for explaining the details of the abnormality detection process in the first embodiment.
[正常範囲設定処理]
初めに、異常検知処理のうち、正常範囲の設定を行う処理(以下、正常範囲設定処理とも呼ぶ)について説明を行う。
[Normal range setting process]
First, the process of setting a normal range (hereinafter also referred to as normal range setting process) in the abnormality detection process will be described.
状況特定部111は、図8に示すように、例えば、範囲設定タイミングになるまで待機する(S21のNO)。範囲設定タイミングは、例えば、1日1回等の定期的なタイミングであってよい。
As shown in FIG. 8, the
そして、範囲設定タイミングになった場合(S21のYES)、状況特定部111は、例えば、複数のアクセス対象のうちの1つを特定する(S22)。
Then, when the time to set the range arrives (YES in S21), the
具体的に、状況特定部111は、例えば、ユーザによってアクセスされる複数のアクセス対象のうち、応答時間情報の数(すなわち、アクセス頻度)が所定値を下回るアクセス対象を特定する。
Specifically, the
なお、所定値の初期値は、例えば、許容誤差を10(%)以内に収めることが可能なサンプル数(例えば、100(件))であってよい。また、所定値の初期値は、例えば、許容誤差を5(%)以内に収めることが可能なサンプル数(例えば、400(件))であってよい。さらに、管理者は、例えば、情報処理装置1の運用状況に応じて所定値を適宜変更するものであってよい。
The initial value of the specified value may be, for example, the number of samples (e.g., 100) that can keep the allowable error within 10%. The initial value of the specified value may be, for example, the number of samples (e.g., 400) that can keep the allowable error within 5%. Furthermore, the administrator may change the specified value as appropriate, for example, depending on the operational status of the
また、状況特定部111は、この場合、予め定められた第1期間(例えば、6か月)に含まれる単位期間(例えば、1週間)を1つ特定する(S23)。
In this case, the
具体的に、例えば、第1期間が1月から6月までの6か月である場合、状況特定部111は、例えば、単位期間を1月の第1週から順に特定する。
Specifically, for example, if the first period is six months from January to June, the
そして、状況特定部111は、例えば、S22の処理で特定したアクセス対象に対する応答時間について、S23の処理で特定した単位期間における推移を示す特徴量(以下、単に特徴量とも呼ぶ)を特定する(S24)。その後、状況特定部111は、例えば、特定した特徴量を特徴量情報131として情報格納領域130に記憶する。
The
具体的に、状況特定部111は、例えば、記憶装置2aに記憶されたアクセスログLGのうち、S23の処理で特定した単位期間に生成されたログであって、かつ、S22の処理で特定したアクセス対象に対するアクセスに伴って生成されたログを取得する。そして、状況特定部111は、例えば、取得したアクセスログLGに含まれる応答時間についての複数のパーセンタイル値の組合せを特徴量として算出する。
Specifically, the
これにより、状況特定部111は、S22の処理で特定したアクセス対象に対する応答時間の推移状況を示す特徴量を特定することが可能になる。以下、アクセスログLG及び特徴量情報131の具体例について説明を行う。
This enables the
[アクセスログの具体例]
初めに、アクセスログLGの具体例について説明を行う。図11は、アクセスログLGの具体例を説明する図である。
[Example of access log]
First, a specific example of the access log LG will be described with reference to FIG.
図11に示すアクセスログLGは、例えば、各ログの生成時刻が設定される「タイムスタンプ」と、ユーザ端末3と業務システム2との間で送受信が行われたデータサイズが設定される「データサイズ」とを項目として有する。また、図11に示すアクセスログLGは、例えば、業務システム2に対してアクセスを行ったユーザ(ユーザ端末3)のIPアドレスが設定される「ユーザIP」と、業務システム2に対するアクセスの応答時間が設定される「応答時間」と、ユーザがアクセスを行ったアクセス対象のURLが設定される「URL」とを項目として有する。
The access log LG shown in FIG. 11 has, for example, items such as a "timestamp" in which the time each log was generated is set, and a "data size" in which the size of data transmitted and received between the
具体的に、図11に示す例において、1行目のアクセスログLGは、例えば、「タイムスタンプ」として「20210519120001」が設定され、「データサイズ」として「3.0(MiB)」が設定され、「ユーザIP」として「192.168.3.xxx」が設定され、「応答時間」として「6(秒)」が設定され、「URL」として「/user3/folder3/file3/search」が設定されている。 Specifically, in the example shown in FIG. 11, the access log LG in the first line has, for example, a "timestamp" of "20210519120001," a "data size" of "3.0 (MiB)," a "user IP" of "192.168.3.xxx," a "response time" of "6 (seconds)," and a "URL" of "/user3/folder3/file3/search."
また、図11に示す例において、2行目のアクセスログLGは、例えば、「タイムスタンプ」として「20210519120003」が設定され、「データサイズ」として「12.4(MiB)」が設定され、「ユーザIP」として「192.168.8.xxx」が設定され、「応答時間」として「2(秒)」が設定され、「URL」として「/user1/folder1/download/」が設定されている。図11に含まれる他の情報についての説明は省略する。 In the example shown in FIG. 11, the access log LG in the second line has, for example, "20210519120003" set as the "timestamp", "12.4 (MiB)" set as the "data size", "192.168.8.xxx" set as the "user IP", "2 (seconds)" set as the "response time", and "/user1/folder1/download/" set as the "URL". Explanation of other information included in FIG. 11 will be omitted.
[特徴量情報の具体例(1)]
次に、特徴量情報131の具体例について説明を行う。図12及び図13は、特徴量情報131の具体例について説明する図である。具体的に、図12は、S22の処理で特定したアクセス対象のURLが「A」であって、S23の処理で特定した単位期間が「1月第1週」である場合に生成される特徴量情報131である。
[Specific example of feature amount information (1)]
Next, a specific example of the
図12に示す特徴量情報131は、S22の処理で特定したアクセス対象のURLが設定される「URL」と、S23の処理で特定した単位期間に生成されたアクセスログLGに含まれる応答時間の10パーセンタイル値、50パーセンタイル値及び90パーセンタイル値のそれぞれが設定される「1月第1週10%」、「1月第1週50%」及び「1月第1週90%」とを項目として有する。
The
具体的に、図12に示す特徴量情報131には、「URL」として「A」が設定され、「1月第1週10%」として「4(秒)」が設定され、「1月第1週50%」として「6(秒)」が設定され、「1月第1週90%」として「8(秒)」が設定されている。
Specifically, in the
なお、状況特定部111は、S24の処理において、例えば、アクセスログLGに含まれる応答時間についての複数のパーセンタイル値の対数の組合せを特徴量として算出するものであってもよい。これにより、状況特定部111は、例えば、応答時間が他のアクセスログLGよりも極めて遅いアクセスログLG(以下、外れ値とも呼ぶ)が存在する場合であっても、その外れ値が特徴量に与える影響を抑えることが可能になる。また、状況特定部111は、例えば、時間帯によってアクセス頻度が大きく異なるアクセス対象が存在する場合であっても、そのアクセス頻度の差が特徴量に与える影響を抑えることが可能になる。
Note that in the process of S24, the
図8に戻り、状況特定部111は、例えば、S23の処理において全ての単位期間を特定したか否かを判定する(S25)。
Returning to FIG. 8, the
その結果、S23の処理において全ての単位期間を特定していないと判定した場合(S25のNO)、状況特定部111は、S23以降の処理を再度行う。
As a result, if it is determined that not all unit periods have been identified in the processing of S23 (NO in S25), the
一方、S23の処理において全ての単位期間を特定したと判定した場合(S25のYES)、状況特定部111は、例えば、S22の処理において全てのアクセス対象を特定したか否かを判定する(S26)。
On the other hand, if it is determined in the processing of S23 that all unit periods have been identified (YES in S25), the
その結果、S22の処理において全てのアクセス対象を特定していないと判定した場合(S26のNO)、状況特定部111は、S22以降の処理を再度行う。
As a result, if it is determined that not all access targets have been identified in the processing of S22 (NO in S26), the
一方、S22の処理において全てのアクセス対象を特定したと判定した場合(S26のYES)、対象特定部112は、例えば、S24の処理で算出した特徴量を用いることによってアクセス対象のクラスタリングを行う(S27)。
On the other hand, if it is determined in the process of S22 that all access targets have been identified (YES in S26), the
具体的に、対象特定部112は、例えば、S24の処理が繰り返し行われることによって情報格納領域130に蓄積された特徴量情報131を参照し、アクセス対象のクラスタリングを行う。以下、S27の処理において参照される特徴量情報131の具体例について説明を行う。
Specifically, the
[特徴量情報の具体例(2)]
図13に示す特徴量情報131は、図9で説明した特徴量情報131が有する項目に加え、例えば、1月第2週に生成されたアクセスログLGに含まれる応答時間の10パーセンタイル値、50パーセンタイル値及び90パーセンタイル値のそれぞれが設定される「1月第2週10%」、「1月第2週50%」及び「1月第2週90%」を項目としてさらに有する。また、図13に示す特徴量情報131は、例えば、1月第3週に生成されたアクセスログLGに含まれる応答時間の10パーセンタイル値、50パーセンタイル値及び90パーセンタイル値のそれぞれが設定される「1月第3週10%」、「1月第3週50%」及び「1月第3週90%」を項目としてさらに有する。
[Specific example of feature amount information (2)]
9, the
具体的に、図13に示す特徴量情報131における1行目の情報には、例えば、「URL」として「A」が設定され、「1月第1週10%」として「4(秒)」が設定され、「1月第1週50%」として「6(秒)」が設定され、「1月第1週90%」として「8(秒)」が設定され、「1月第2週10%」として「4(秒)」が設定され、「1月第2週50%」として「6(秒)」が設定され、「1月第2週90%」として「8(秒)」が設定されている。
Specifically, in the information in the first row of the
また、図13に示す特徴量情報131における2行目の情報には、例えば、「URL」として「B」が設定され、「1月第1週10%」として「20(秒)」が設定され、「1月第1週50%」として「21(秒)」が設定され、「1月第1週90%」として「22(秒)」が設定され、「1月第2週10%」として「19(秒)」が設定され、「1月第2週50%」として「21(秒)」が設定され、「1月第2週90%」として「22(秒)」が設定されている。図13に含まれる他の情報についての説明は省略する。
In addition, in the information in the second row of the
そして、対象特定部112は、S27の処理において、例えば、アクセス対象のURLごとに、各URLのパーセンタイル値の組合せを座標とする点を多次元空間に分布する。さらに、対象特定部112は、例えば、ユークリッド距離を用いたk平均法を用いることによって、多次元空間に分布した各点(アクセス対象のURLに対応する各点)についてのクラスタリングを行う。
Then, in the process of S27, the
すなわち、多次元空間におけるユークリッド距離が短いアクセス対象の組合せは、アクセスの応答時間についての推移状況が類似するアクセス対象の組合せであると判断することが可能である。そのため、対象特定部112は、S27の処理において、例えば、多次元空間におけるユークリッド距離を用いることによって、各アクセス対象についてのクラスタリングを行う。
In other words, it is possible to determine that a combination of access targets with a short Euclidean distance in a multidimensional space is a combination of access targets with similar transitions in access response time. Therefore, in the process of S27, the
なお、対象特定部112は、S27の処理において、ユークリッド距離に代えて、例えば、マハラノビス距離、コサイン距離、マンハッタン距離、チェビシェフ距離及びミンコフスキー距離のうちのいずれかを用いるものであってもよい。また、対象特定部112は、S27の処理において、k平均法に代えて、例えば、ウォード法、群平均法、最短距離法及び最長距離法のうちのいずれかを用いるものであってもよい。
In addition, in the process of S27, the
図9に戻り、範囲設定部113は、例えば、S27の処理でクラスタリングを行ったクラスタを1つ特定する(S31)。
Returning to FIG. 9, the
そして、範囲設定部113は、例えば、S31の処理で特定したクラスタに含まれるアクセス対象のそれぞれに対する応答時間の正常範囲を設定する(S32)。
Then, the
具体的に、範囲設定部113は、例えば、記憶装置2aに記憶されたアクセスログLGのうち、S31の処理で特定したクラスタに含まれるアクセス対象に対するアクセスに伴って生成されたログであって、第1期間に含まれる所定タイミング以降の期間(すなわち、第1期間よりも短い直近の期間)に生成されたログを取得する。そして、範囲設定部113は、例えば、取得したアクセスログLGに含まれる応答時間についての平均値μと標準偏差σとを算出する。さらに、範囲設定部113は、例えば、μ±3σを正常範囲として特定する。
Specifically, the
その後、範囲設定部113は、例えば、設定した正常範囲を示す正常範囲情報132を情報格納領域130に記憶する。以下、正常範囲情報132の具体例について説明を行う。
Then, the
[正常範囲情報の具体例(1)]
図14、図18及び図19は、正常範囲情報132の具体例を説明する図である。
[Specific example of normal range information (1)]
14, 18, and 19 are diagrams for explaining specific examples of the
図14等に示す正常範囲情報132は、アクセス対象のURLが設定される「URL」と、正常範囲の下限が設定される「範囲下限」と、正常範囲の上限が設定される「範囲上限」とを項目として有する。
The
具体的に、図14に示す正常範囲情報132における1行目の情報には、「URL」として「/user1/folder1/download」及び「/user1/folder1/upload」が設定され、「範囲下限」として「2(秒)」が設定され、「範囲上限」として「3(秒)」が設定されている。
Specifically, in the information on the first line of the
また、図14に示す正常範囲情報132における2行目の情報には、「URL」として「/user2/folder2/list」が設定され、「範囲下限」として「0(秒)」が設定され、「範囲上限」として「1(秒)」が設定されている。図14に含まれる他の情報についての説明は省略する。
In addition, in the information on the second line of the
すなわち、図14に示す正常範囲情報132は、S27の処理において、「/user1/folder1/download」と「/user1/folder1/upload」とが同一のクラスタに含まれるようにクラスタリングが行われたことを示している。
In other words, the
図9に戻り、グループ分割部114は、例えば、S32の処理で設定した正常範囲が所定の条件を満たすか否かを判定する(S33)。
Returning to FIG. 9, the
具体的に、グループ分割部114は、例えば、正常範囲に含まれる応答時間の上限が下限の所定倍以上であった場合、正常範囲が所定の条件を満たすと判定する。
Specifically, the
その結果、S32の処理で設定した正常範囲が所定の条件を満たさないと判定した場合(S34のNO)、情報処理装置1は、S31以降の処理を再度行う。
As a result, if it is determined that the normal range set in the processing of S32 does not satisfy the predetermined condition (NO in S34), the
一方、S32の処理で設定した正常範囲が所定の条件を満たすと判定した場合(S34のYES)、グループ分割部114は、例えば、S31の処理で特定したクラスタに含まれるアクセス対象のそれぞれに対応する応答時間を、各アクセス対象の関連情報に基づいて複数のグループに分割する(S35)。
On the other hand, if it is determined that the normal range set in the process of S32 satisfies the predetermined condition (YES in S34), the
続いて、範囲設定部113は、例えば、S35の処理で分割したグループを1つ特定する(S36)。
Next, the
そして、範囲設定部113は、例えば、S36の処理で特定したグループに含まれる応答時間についての正常範囲を設定する(S37)。さらに、範囲設定部113は、例えば、設定した正常範囲を示す正常範囲情報132を情報格納領域130に記憶する。
Then, the
その後、範囲設定部113は、例えば、S35の処理で分割した全てのグループを特定済であるか否かを判定する(S38)。
Then, the
その結果、S35の処理で分割した全てのグループを特定済でないと判定した場合(S38のNO)、範囲設定部113は、S36以降の処理を再度行う。以下、S33からS38の処理の具体例について説明を行う。
As a result, if it is determined that not all of the groups divided in the process of S35 have been identified (NO in S38), the
[S33からS38の処理の具体例]
図15から図17は、S33からS38の処理の具体例について説明するグラフである。図15から図17に示すグラフにおける横軸及び縦軸は、アクセスログLGの生成時間及び業務システム2への応答時間のそれぞれに対応する。そして、図15から図17には、URL11cに対してアクセスを行った際の応答時間を示す点(三角形の点)が分布している。
[Specific example of processing from S33 to S38]
Figures 15 to 17 are graphs for explaining a specific example of the processes from S33 to S38. The horizontal and vertical axes in the graphs shown in Figures 15 to 17 correspond to the generation time of the access log LG and the response time to the
例えば、図15に示すように、クラスタCBについて算出した正常範囲RBに含まれる上限が下限の2倍以上であった場合、グループ分割部114は、例えば、図16に示すように、S31の処理で特定したクラスタに含まれるアクセス対象のそれぞれに対応する応答時間を、各アクセス対象に対するアクセスに伴って送受信されるデータサイズの大きさごとに分割する。具体的に、グループ分割部114は、例えば、図16に示すように、URL11cに対してアクセスを行った際の応答時間を示す点を、各アクセス対象に対するアクセスに伴って送受信されるデータサイズが閾値以上である点(網掛けされた点)と、各アクセス対象に対するアクセスに伴って送受信されるデータサイズが閾値未満である点(網掛けされていない点)とに分割する。
For example, as shown in FIG. 15, if the upper limit included in the normal range RB calculated for cluster CB is more than twice the lower limit, the
そして、範囲設定部113は、図17に示すように、例えば、各アクセス対象に対するアクセスに伴って送受信されるデータサイズが閾値以上である点(網掛けされた点)からなるグループCB1についての正解範囲RB1と、各アクセス対象に対するアクセスに伴って送受信されるデータサイズが閾値以上である点(網掛けされた点)からなるグループCB1についての正解範囲RB2とをそれぞれ算出する。
Then, as shown in FIG. 17, the
これにより、範囲設定部113は、アノマリー検知の判定精度をより向上させる正解範囲の設定を行うことが可能になる。
This enables the
なお、グループ分割部114は、例えば、S37の処理において正常範囲の設定が行われるごとに、設定が行われた正常範囲が所定の条件を満たすか否かの判定(すなわち、S33と同じ処理)を行うものであってもよい。そして、例えば、S37の処理において設定が行われた正常範囲が所定の条件を満たすと判定した場合、範囲設定部113及びグループ分割部114は、例えば、S35からS38の処理を再度行うものであってもよい。
The
図9に戻り、S35の処理で分割した全てのグループを特定済であると判定した場合(S38のYES)、範囲設定部113は、例えば、S31の処理において全てのクラスタを特定済であるか否かを判定する(S39)。
Returning to FIG. 9, if it is determined that all of the groups divided in the processing of S35 have been identified (YES in S38), the
その結果、S31の処理において全てのクラスタを特定済でないと判定した場合(S39のNO)、範囲設定部113は、S31以降の処理を再度行う。
As a result, if it is determined in the processing of S31 that not all clusters have been identified (NO in S39), the
一方、S31の処理において全てのクラスタを特定済であると判定した場合(S39のYES)、情報処理装置1は、正常範囲設定処理を終了する。
On the other hand, if it is determined in the processing of S31 that all clusters have been identified (YES in S39), the
[正常範囲情報の具体例(2)]
次に、各アクセス対象に対するアクセスに伴って送受信されるデータサイズに基づいてS35の処理を行った場合の正常範囲情報132の具体例について説明を行う。図18は、各アクセス対象に対するアクセスに伴って送受信されるデータサイズに基づいてS35の処理を行った場合の正常範囲情報132の具体例を説明する図である。
[Specific example of normal range information (2)]
Next, a specific example of the
図18に示す正常範囲情報132は、図14で説明した正常範囲情報132が有する項目に加え、ユーザ端末3と業務システム2との間で送受信が行われたデータサイズが設定される「データサイズ」を項目として有する。
The
具体的に、図18に示す正常範囲情報132における1行目の情報には、「URL」として「/user1/folder1/download」及び「/user1/folder1/upload」が設定され、「データサイズ」として情報が設定されていないことを示す「-」が設定され、「範囲下限」として「2(秒)」が設定され、「範囲上限」として「3(秒)」が設定されている。
Specifically, in the information on the first line of the
また、図18に示す正常範囲情報132における2行目の情報には、「URL」として「/user2/folder2/list」が設定され、「データサイズ」として「-」が設定され、「範囲下限」として「0(秒)」が設定され、「範囲上限」として「1(秒)」が設定されている。
In addition, in the information on the second line of the
また、図18に示す正常範囲情報132における3行目の情報には、「URL」として「/user3/folder3/file3/search」が設定され、「データサイズ」として「0(MiB)~128(MiB)」が設定され、「範囲下限」として「10(秒)」が設定され、「範囲上限」として「50(秒)」が設定されている。
In addition, in the information on the third line of the
さらに、図18に示す正常範囲情報132における4行目の情報には、「URL」として「/user3/folder3/file3/download」が設定され、「データサイズ」として「128(MiB)~」が設定され、「範囲下限」として「5(秒)」が設定され、「範囲上限」として「30(秒)」が設定されている。
Furthermore, in the information on the fourth line of the
すなわち、図18に示す正常範囲情報132は、S35の処理において、「URL」が「/user3/folder3/file3/search」であるクラスタの分割が行われたことを示している。
In other words, the
なお、グループ分割部114は、S35の処理において、例えば、URL11cに対してアクセスを行った際の応答時間を示す点を、各アクセス対象に対してアクセスを行ったユーザごとに分割するものであってもよい。以下、各アクセス対象に対してアクセスを行ったユーザに基づいてS35の処理を行った場合の正常範囲情報132の具体例について説明を行う。
In the process of S35, the
[正常範囲情報の具体例(3)]
図19は、各アクセス対象に対してアクセスを行ったユーザに基づいてS35の処理を行った場合の正常範囲情報132の具体例を説明する図である。
[Specific example of normal range information (3)]
FIG. 19 is a diagram illustrating a specific example of the
図19に示す正常範囲情報132は、図14で説明した正常範囲情報132が有する項目に加え、業務システム2に対してアクセスを行ったユーザのIPアドレスが設定される「ユーザIP」を項目として有する。
The
具体的に、図19に示す正常範囲情報132における1行目の情報には、「URL」として「/user1/folder1/download」及び「/user1/folder1/upload」が設定され、「ユーザIP」として「-」が設定され、「範囲下限」として「2(秒)」が設定され、「範囲上限」として「3(秒)」が設定されている。
Specifically, in the information on the first line of the
また、図19に示す正常範囲情報132における2行目の情報には、「URL」として「/user2/folder2/list」が設定され、「ユーザIP」として「-」が設定され、「範囲下限」として「0(秒)」が設定され、「範囲上限」として「1(秒)」が設定されている。
In addition, in the information on the second line of the
また、図19に示す正常範囲情報132における3行目の情報には、「URL」として「/user3/folder3/file3/search」が設定され、「ユーザIP」として「192.168.1.xxx」が設定され、「範囲下限」として「10(秒)」が設定され、「範囲上限」として「30(秒)」が設定されている。
In addition, in the information on the third line of the
さらに、図19に示す正常範囲情報132における4行目の情報には、「URL」として「/user3/folder3/file3/download」が設定され、「ユーザIP」として「192.168.2.xxx」が設定され、「範囲下限」として「20(秒)」が設定され、「範囲上限」として「50(秒)」が設定されている。
Furthermore, in the information on the fourth line of the
すなわち、図19に示す正常範囲情報132は、S35の処理において、「URL」が「/user3/folder3/file3/search」であるクラスタの分割が行われたことを示している。
In other words, the
[異常検知処理のメイン処理]
次に、異常検知処理のメイン処理について説明を行う。なお、以下、S35の処理において分割が行われていないクラスタについてもグループと呼ぶ場合がある。
[Main processing of abnormality detection processing]
Next, the main process of the anomaly detection process will be described. Note that hereinafter, clusters that have not been divided in the process of S35 may also be referred to as groups.
異常検知部115は、図10に示すように、例えば、異常検知タイミングになるまで待機する(S41のNO)。異常検知タイミングは、例えば、1分間隔等の定期的なタイミングであってよい。
As shown in FIG. 10, the
そして、異常検知タイミングになった場合(S41のYES)、異常検知部115は、例えば、対象期間内に出力されたアクセスログLGを取得する(S42)。対象期間は、例えば、前回の異常検知タイミングの後の期間である。すなわち、異常検知部115は、例えば、記憶装置2aに記憶されたアクセスログLGのうち、異常検知がまだ行われていないログを取得する。
When the timing for detecting an abnormality arrives (YES in S41), the
続いて、異常検知部115は、例えば、S35の処理で分割されたグループ(S27の処理でクラスタリングされたクラスタ)を1つ特定する(S43)。
Next, the
次に、異常検知部115は、例えば、S43の処理で特定したグループに含まれるアクセス対象に対応するアクセスログLG(S42の処理で取得したアクセスログLG)のうち、応答時間が正常範囲に含まれないログを特定する(S44)。
Next, the
そして、異常検知部115は、例えば、S43の処理で特定したグループに含まれるアクセス対象に対応するアクセスログLGのうち、応答時間が正常範囲に含まれないアクセスログLGの割合を算出する(S45)。
Then, the
その結果、応答時間が正常範囲に含まれないアクセスログLGの割合が予め定められた閾値以上である場合(S46のYES)、異常検知部115は、例えば、S43の処理で特定したグループに含まれるアクセス対象に対応する応答時間が異常であると判定する(S47)。
As a result, if the proportion of access logs LG whose response times are outside the normal range is equal to or greater than a predetermined threshold (YES in S46), the
一方、応答時間が正常範囲に含まれないアクセスログLGの割合が予め定められた閾値以上でない場合(S46のNO)、異常検知部115は、S47の処理を行わない。
On the other hand, if the percentage of access logs LG whose response times are not within the normal range is not equal to or greater than the predetermined threshold (NO in S46), the
その後、異常検知部115は、S43の処理において全てのグループを特定済であるか否かを判定する(S48)。
Then, the
その結果、S43の処理において全てのグループを特定済でないと判定した場合(S48のNO)、異常検知部115は、S43以降の処理を再度行う。
As a result, if it is determined in the processing of S43 that not all groups have been identified (NO in S48), the
一方、S43の処理において全てのグループを特定済であると判定した場合(S48のYES)、結果出力部116は、S47の処理において異常と判定したグループに含まれるアクセス対象を示す情報を管理者端末(図示せず)に出力する(S49)。
On the other hand, if it is determined in the process of S43 that all groups have been identified (YES in S48), the
このように、本実施の形態における情報処理装置1は、例えば、複数のアクセス対象に含まれる第1アクセス対象に対する応答時間についての第1推移状況を特定する。そして、情報処理装置1は、複数のアクセス対象のうち、応答時間の推移状況が第1推移状況と所定の関係を有する第2アクセス対象を特定する。
In this manner, the
その後、情報処理装置1は、例えば、第1アクセス対象及び第2アクセス対象に対する応答時間の正常範囲を設定する。そして、情報処理装置1は、設定した正常範囲を用いることによって、第1アクセス対象及び第2アクセス対象に対する応答時間についての異常検知を行う。
Then, the
すなわち、各アクセス対象に対するアクセスの応答時間は、例えば、検索対象のレコード数の増減や、ソフトウェアまたはハードウェアの変更等によって変化する場合がある。また、各アクセス対象に対するアクセスの応答時間は、例えば、障害の発生等によっても変化する可能性がある。そのため、例えば、同じリソースを同じように使用する複数のアクセス対象が存在する場合、これらのアクセス対象に対するアクセスの応答時間は、同じタイミングにおいて同じように変化する可能性が高いと判断できる。 In other words, the response time for access to each access target may change due to, for example, an increase or decrease in the number of records to be searched, changes to software or hardware, etc. The response time for access to each access target may also change due to, for example, the occurrence of a failure. Therefore, for example, if there are multiple access targets that use the same resource in the same way, it can be determined that the response times for access to these access targets are likely to change in the same way at the same time.
そこで、本実施の形態における情報処理装置1は、例えば、第1アクセス対象に対するアクセスの応答時間についての推移状況と第2アクセス対象に対するアクセスの応答時間についての推移状況とが過去の所定期間において類似している場合、各応答時間についての推移状況が現在においても類似している可能性が高いと判断する。そのため、情報処理装置1は、この場合、第1アクセス対象と第2アクセス対象とを纏めることによって1つのアクセス対象としてから正常範囲の設定を行う。
In this embodiment, the
これにより、本実施の形態における情報処理装置1は、ユーザによってアクセスされる頻度が低いアクセス対象が存在する場合であっても、そのアクセス対象についての正常範囲の設定に用いるアクセスログを十分に確保することが可能になり、アノマリー検知を精度良く行うことが可能な正常範囲の設定を行うことが可能になる。そのため、情報処理装置1は、アノマリー検知の判定精度を高めることが可能になる。
As a result, the
以上の実施の形態をまとめると、以下の付記のとおりである。 The above embodiments can be summarized as follows:
(付記1)
第1アクセス対象の応答時間についての異常検知を行う際に用いる正常範囲を決定するための応答時間情報の数が所定値を下回ると判定された場合に、前記第1アクセス対象の応答時間についての第1推移状況を特定し、
応答時間についての推移状況が前記第1推移状況と類似する第2アクセス対象を特定し、
前記第1推移状況と前記第2アクセス対象に対応する前記推移状況とから、正常範囲を設定し、
前記第1アクセス対象に対する新たなアクセスが発生した場合、前記正常範囲を用いることによって、前記新たなアクセスの応答時間についての異常検知を行う、
処理をコンピュータが実行することを特徴とする異常検知方法。
(Appendix 1)
identifying a first transition status of the response time of the first access target when it is determined that the number of pieces of response time information for determining a normal range used in detecting an anomaly in the response time of the first access target is less than a predetermined value;
Identifying a second access target whose response time transition status is similar to the first transition status;
setting a normal range based on the first transition status and the transition status corresponding to the second access target;
when a new access occurs to the first access target, detecting an anomaly in a response time of the new access by using the normal range;
An anomaly detection method, characterized in that processing is executed by a computer.
(付記2)
付記1において、
前記第1推移状況を特定する処理では、第1期間に含まれる単位期間ごとに、前記第1アクセス対象に対するアクセスの応答時間の推移を示す第1特徴量を特定し、
前記第2アクセス対象を特定する処理では、
前記第1期間に含まれる単位期間ごとに、複数のアクセス対象に含まれる他のアクセス対象に対するアクセスの応答時間の推移を示す他の特徴量を算出し、
前記単位期間ごとの前記第1特徴量と前記単位期間ごとの前記他の特徴量とが類似する場合、前記他のアクセス対象と前記第2アクセス対象として特定する、
ことを特徴とする異常検知方法。
(Appendix 2)
In
In the process of identifying the first transition state, a first feature amount indicating a transition of a response time of an access to the first access target is identified for each unit period included in a first period;
In the process of identifying the second access target,
calculating another feature amount indicating a transition of a response time of an access to another access target included in the plurality of access targets for each unit period included in the first period;
When the first feature amount for the unit period and the other feature amount for the unit period are similar to each other, the other access target is identified as the second access target.
The anomaly detection method according to the present invention is characterized in that
(付記3)
付記1において、
前記正常範囲を設定する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のうち、前記第1期間に含まれる所定タイミング以降の期間に対応する応答時間を用いることによって、前記正常範囲の設定を行う、
ことを特徴とする異常検知方法。
(Appendix 3)
In
In the process of setting the normal range, the normal range is set by using a response time corresponding to a period after a predetermined timing included in the first period, among response times of access to either the first access target or the second access target.
The anomaly detection method according to the present invention is characterized in that
(付記4)
付記1において、さらに、
設定した前記正常範囲の大きさが所定の条件を満たす場合、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに関連する情報を用いて複数グループに分割し、
分割した前記複数グループごとに、前記正常範囲を設定する処理を再度行う、
処理をコンピュータに実行させることを特徴とする異常検知方法。
(Appendix 4)
In
When the size of the set normal range satisfies a predetermined condition, each of the response times of access to either the first access target or the second access target is divided into a plurality of groups using information related to each of the first access target and the second access target;
and performing the process of setting the normal range again for each of the divided groups.
An anomaly detection method comprising the steps of: causing a computer to execute a process.
(付記5)
付記4において、
前記複数グループに分割する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに対するアクセスに伴って送受信されるデータサイズの大きさごとに分割する、
ことを特徴とする異常検知方法。
(Appendix 5)
In Appendix 4:
In the process of dividing the groups, each of the response times of access to either the first access target or the second access target is divided according to the size of data transmitted and received in association with the access to each of the first access target and the second access target.
The anomaly detection method according to the present invention is characterized in that
(付記6)
付記5において、
前記複数グループに分割する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに対してアクセスを行ったユーザごとに分割する、
ことを特徴とする異常検知方法。
(Appendix 6)
In Appendix 5:
In the process of dividing the plurality of groups, each of the response times of access to either the first access target or the second access target is divided for each user who has accessed the first access target and the second access target.
The anomaly detection method according to the present invention is characterized in that
(付記7)
第1アクセス対象の応答時間についての異常検知を行う際に用いる正常範囲を決定するための応答時間情報の数が所定値を下回ると判定された場合に、前記第1アクセス対象の応答時間についての第1推移状況を特定し、
応答時間についての推移状況が前記第1推移状況と類似する第2アクセス対象を特定し、
前記第1推移状況と前記第2アクセス対象に対応する前記推移状況とから、正常範囲を設定し、
前記第1アクセス対象に対する新たなアクセスが発生した場合、前記正常範囲を用いることによって、前記新たなアクセスの応答時間についての異常検知を行う、
処理をコンピュータが実行することを特徴とする異常検知プログラム。
(Appendix 7)
identifying a first transition status of the response time of the first access target when it is determined that the number of pieces of response time information for determining a normal range used in detecting an anomaly in the response time of the first access target is less than a predetermined value;
Identifying a second access target whose response time transition status is similar to the first transition status;
setting a normal range based on the first transition status and the transition status corresponding to the second access target;
when a new access occurs to the first access target, detecting an anomaly in a response time of the new access by using the normal range;
An anomaly detection program characterized in that processing is executed by a computer.
(付記8)
付記7において、
前記第1推移状況を特定する処理では、第1期間に含まれる単位期間ごとに、前記第1アクセス対象に対するアクセスの応答時間の推移を示す第1特徴量を特定し、
前記第2アクセス対象を特定する処理では、
前記第1期間に含まれる単位期間ごとに、複数のアクセス対象に含まれる他のアクセス対象に対するアクセスの応答時間の推移を示す他の特徴量を算出し、
前記単位期間ごとの前記第1特徴量と前記単位期間ごとの前記他の特徴量とが類似する場合、前記他のアクセス対象と前記第2アクセス対象として特定する、
ことを特徴とする異常検知プログラム。
(Appendix 8)
In Appendix 7:
In the process of identifying the first transition state, a first feature amount indicating a transition of a response time of an access to the first access target is identified for each unit period included in a first period;
In the process of identifying the second access target,
calculating another feature amount indicating a transition of a response time of an access to another access target included in the plurality of access targets for each unit period included in the first period;
When the first feature amount for the unit period and the other feature amount for the unit period are similar to each other, the other access target is identified as the second access target.
The anomaly detection program according to the present invention.
1:情報処理装置 2:業務システム
2a:記憶装置 3a:ユーザ端末
3b:ユーザ端末 3c:ユーザ端末
10:情報処理システム LG:アクセスログ
1: Information processing device 2:
Claims (7)
応答時間についての推移状況が前記第1推移状況と類似する第2アクセス対象を特定し、
前記第1推移状況と前記第2アクセス対象に対応する前記推移状況とから、正常範囲を設定し、
前記第1アクセス対象に対する新たなアクセスが発生した場合、前記正常範囲を用いることによって、前記新たなアクセスの応答時間についての異常検知を行う、
処理をコンピュータが実行することを特徴とする異常検知方法。 identifying a first transition status of the response time of the first access target when it is determined that the number of pieces of response time information for determining a normal range used in detecting an anomaly in the response time of the first access target is less than a predetermined value;
Identifying a second access target whose response time transition status is similar to the first transition status;
setting a normal range based on the first transition status and the transition status corresponding to the second access target;
when a new access occurs to the first access target, detecting an anomaly in a response time of the new access by using the normal range;
An anomaly detection method, characterized in that processing is executed by a computer.
前記第1推移状況を特定する処理では、第1期間に含まれる単位期間ごとに、前記第1アクセス対象に対するアクセスの応答時間の推移を示す第1特徴量を特定し、
前記第2アクセス対象を特定する処理では、
前記第1期間に含まれる単位期間ごとに、複数のアクセス対象に含まれる他のアクセス対象に対するアクセスの応答時間の推移を示す他の特徴量を算出し、
前記単位期間ごとの前記第1特徴量と前記単位期間ごとの前記他の特徴量とが類似する場合、前記他のアクセス対象と前記第2アクセス対象として特定する、
ことを特徴とする異常検知方法。 In claim 1,
In the process of identifying the first transition state, a first feature amount indicating a transition of a response time of an access to the first access target is identified for each unit period included in a first period;
In the process of identifying the second access target,
calculating another feature amount indicating a transition of a response time of an access to another access target included in the plurality of access targets for each unit period included in the first period;
When the first feature amount for the unit period and the other feature amount for the unit period are similar to each other, the other access target is identified as the second access target.
The anomaly detection method according to the present invention is characterized in that
前記正常範囲を設定する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のうち、前記第1期間に含まれる所定タイミング以降の期間に対応する応答時間を用いることによって、前記正常範囲の設定を行う、
ことを特徴とする異常検知方法。 In claim 1,
In the process of setting the normal range, the normal range is set by using a response time corresponding to a period after a predetermined timing included in the first period, among response times of access to either the first access target or the second access target.
The anomaly detection method according to the present invention is characterized in that
設定した前記正常範囲の大きさが所定の条件を満たす場合、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに関連する情報を用いて複数グループに分割し、
分割した前記複数グループごとに、前記正常範囲を設定する処理を再度行う、
処理をコンピュータに実行させることを特徴とする異常検知方法。 In claim 1, further comprising:
When the size of the set normal range satisfies a predetermined condition, each of the response times of access to either the first access target or the second access target is divided into a plurality of groups using information related to each of the first access target and the second access target;
and performing the process of setting the normal range again for each of the divided groups.
An anomaly detection method comprising the steps of: causing a computer to execute a process.
前記複数グループに分割する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに対するアクセスに伴って送受信されるデータサイズの大きさごとに分割する、
ことを特徴とする異常検知方法。 In claim 4,
In the process of dividing the groups, each of the response times of access to either the first access target or the second access target is divided according to the size of data transmitted and received in association with the access to each of the first access target and the second access target.
The anomaly detection method according to the present invention is characterized in that
前記複数グループに分割する処理では、前記第1アクセス対象及び前記第2アクセス対象のうちのいずれかに対するアクセスの応答時間のそれぞれを、前記第1アクセス対象と前記第2アクセス対象とのそれぞれに対してアクセスを行ったユーザごとに分割する、
ことを特徴とする異常検知方法。 In claim 5,
In the process of dividing the plurality of groups, each of the response times of access to either the first access target or the second access target is divided for each user who has accessed the first access target and the second access target.
The anomaly detection method according to the present invention is characterized in that
応答時間についての推移状況が前記第1推移状況と類似する第2アクセス対象を特定し、
前記第1推移状況と前記第2アクセス対象に対応する前記推移状況とから、正常範囲を設定し、
前記第1アクセス対象に対する新たなアクセスが発生した場合、前記正常範囲を用いることによって、前記新たなアクセスの応答時間についての異常検知を行う、
処理をコンピュータが実行することを特徴とする異常検知プログラム。 identifying a first transition status of the response time of the first access target when it is determined that the number of pieces of response time information for determining a normal range used in detecting an anomaly in the response time of the first access target is less than a predetermined value;
Identifying a second access target whose response time transition status is similar to the first transition status;
setting a normal range based on the first transition status and the transition status corresponding to the second access target;
when a new access occurs to the first access target, detecting an anomaly in a response time of the new access by using the normal range;
An anomaly detection program characterized in that processing is executed by a computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021149861A JP7691620B2 (en) | 2021-09-15 | 2021-09-15 | Anomaly detection method and anomaly detection program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021149861A JP7691620B2 (en) | 2021-09-15 | 2021-09-15 | Anomaly detection method and anomaly detection program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023042636A JP2023042636A (en) | 2023-03-28 |
| JP7691620B2 true JP7691620B2 (en) | 2025-06-12 |
Family
ID=85724268
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021149861A Active JP7691620B2 (en) | 2021-09-15 | 2021-09-15 | Anomaly detection method and anomaly detection program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7691620B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011258057A (en) | 2010-06-10 | 2011-12-22 | Fujitsu Ltd | Analysis program, analysis method, and analyzer |
| JP2019046278A (en) | 2017-09-05 | 2019-03-22 | キヤノン株式会社 | Information processor, control method, computer program, storage medium, and model creation device |
-
2021
- 2021-09-15 JP JP2021149861A patent/JP7691620B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011258057A (en) | 2010-06-10 | 2011-12-22 | Fujitsu Ltd | Analysis program, analysis method, and analyzer |
| JP2019046278A (en) | 2017-09-05 | 2019-03-22 | キヤノン株式会社 | Information processor, control method, computer program, storage medium, and model creation device |
Non-Patent Citations (1)
| Title |
|---|
| 熊野 達夫 Tatsuo KUMANO,Webサービスにおける応答時間に着目した異常検知の高精度化に関する提案 A Proposal for Improving the Accuracy of Anomaly Detection by Focusing on Response Time in Web Services,電子情報通信学会技術研究報告 Vol.120 No.433 [online] IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,第120巻,p58-63 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023042636A (en) | 2023-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10877986B2 (en) | Obtaining performance data via an application programming interface (API) for correlation with log data | |
| US10592522B2 (en) | Correlating performance data and log data using diverse data stores | |
| US10614132B2 (en) | GUI-triggered processing of performance data and log data from an information technology environment | |
| US10268750B2 (en) | Log event summarization for distributed server system | |
| EP3864516B1 (en) | Veto-based model for measuring product health | |
| US20190324946A1 (en) | Correlation of performance data and structure data from an information technology environment | |
| US20170255711A1 (en) | Processing of Performance Data and Raw Log Data from an Information Technology Environment | |
| JP6160064B2 (en) | Application determination program, failure detection apparatus, and application determination method | |
| US11227256B2 (en) | Method and system for detecting gaps in data buckets for A/B experimentation | |
| US20210397584A1 (en) | Method and System for Providing Pre-Approved A/A Data Buckets | |
| CN110347546B (en) | Dynamic adjustment method, device, medium and electronic equipment for monitoring task | |
| CN108509634A (en) | Jitterbug monitoring method, monitoring device and computer readable storage medium | |
| US20190057118A1 (en) | Method and System for Detecting Data Bucket Inconsistencies for A/B Experimentation | |
| US11080115B2 (en) | Sampling management of application programming interface (API) requests | |
| CN114546759B (en) | Database access error monitoring and analyzing method and device and electronic equipment | |
| CN113672912B (en) | Network security monitoring system based on computer hardware indication and behavior analysis | |
| US9225608B1 (en) | Evaluating configuration changes based on aggregate activity level | |
| CN111159131A (en) | Performance optimization method, apparatus, device, and computer-readable storage medium | |
| JP7691620B2 (en) | Anomaly detection method and anomaly detection program | |
| CN109842518B (en) | Content distribution network disaster tolerance method and device, computer equipment and storage medium | |
| CN109063081B (en) | NFS service monitoring method, device, equipment and readable storage medium | |
| US20170223136A1 (en) | Any Web Page Reporting and Capture | |
| CN111368039B (en) | Data management system | |
| EP3961414B1 (en) | Method and apparatus for processing time records | |
| JP7006077B2 (en) | Management system, management method, and management program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240611 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250324 |
|
| 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: 20250430 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250513 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7691620 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |