JP7259436B2 - Information processing device, information processing method, information processing program, and information processing system - Google Patents

Information processing device, information processing method, information processing program, and information processing system Download PDF

Info

Publication number
JP7259436B2
JP7259436B2 JP2019050612A JP2019050612A JP7259436B2 JP 7259436 B2 JP7259436 B2 JP 7259436B2 JP 2019050612 A JP2019050612 A JP 2019050612A JP 2019050612 A JP2019050612 A JP 2019050612A JP 7259436 B2 JP7259436 B2 JP 7259436B2
Authority
JP
Japan
Prior art keywords
graph
analysis
normal
event
analysis graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019050612A
Other languages
Japanese (ja)
Other versions
JP2020154489A (en
Inventor
弘悦 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2019050612A priority Critical patent/JP7259436B2/en
Publication of JP2020154489A publication Critical patent/JP2020154489A/en
Application granted granted Critical
Publication of JP7259436B2 publication Critical patent/JP7259436B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本願発明は、情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム。
に関する。
The present invention provides an information processing device, an information processing method, an information processing program, and an information processing system.
Regarding.

近年、標的型攻撃やマルウェア等のサイバー攻撃が脅威となっており、サイバー攻撃を検知したいというニーズが高まっている。サイバー攻撃を検知するために、ルールベース型検知と呼ばれる、過去の攻撃手法の特徴と照合することにより、サイバー攻撃を検知するブラックリスト型の検知方法が広く用いられている。 In recent years, cyber-attacks such as targeted attacks and malware have become a threat, and there is a growing need to detect cyber-attacks. In order to detect cyber-attacks, a blacklist-type detection method, called rule-based detection, is widely used to detect cyber-attacks by matching with the characteristics of past attack methods.

しかしながら、攻撃者は、攻撃が検知されることを防ぐために、似た攻撃であっても振る舞いが異なるような様々なサイバー攻撃を行う。このような、既知の攻撃パターンと振る舞いが異なるサイバー攻撃を検知することは、ルールベース型検知のようなブラックリスト型の検知方法では難しいケースが想定される。そこで、既知の攻撃パターンと振る舞いが異なるサイバー攻撃を検知するためには、ブラックリスト型の検知方法ではなく、正常な動作と異なることを検出する方法を用いることが有用である。 However, in order to prevent attacks from being detected, attackers carry out various cyber-attacks that behave differently even though they are similar. Detecting such cyber-attacks whose behavior differs from known attack patterns is expected to be difficult with blacklist-type detection methods such as rule-based detection. Therefore, in order to detect cyber-attacks whose behavior differs from known attack patterns, it is useful to use a method that detects behavior that differs from normal behavior, rather than a blacklist-type detection method.

未知の標的型攻撃による異常を検出する技術の一例として、特許文献1が挙げられる。具体的に、特許文献1に記載の技術は、グラフ化部が、要素間の関係変化情報に基づいて状態グラフを作成し、平常モデル生成部が、任意の期間の関係変化情報に基づいて平常モデルを生成し、異常検出部が、状態グラフと平常モデルとに基づいて異常情報を生成する。平常モデルとは、状態グラフが監視対象システムの平常時に満たすべき条件の集合である。具体的に、平常モデルは、条件種別と条件値とを含む。例えば、条件種別が「関係頂点数」、条件値が「上限値2」の場合は、「1つの頂点との辺を持つ他の要素の数が2以下であること」という条件を示す。また、条件種別が「次数」、条件値が「上限値6」の場合は、「1つの頂点から出る辺の数が6以下であること」という条件を示す。 Patent document 1 is mentioned as an example of the technique of detecting anomalies due to unknown targeted attacks. Specifically, in the technology described in Patent Document 1, the graphing unit creates a state graph based on relationship change information between elements, and the normal model generation unit creates a normal state graph based on the relationship change information for an arbitrary period. A model is generated, and an anomaly detector generates anomaly information based on the state graph and the normal model. A normal model is a set of conditions that the state graph should satisfy when the monitored system is normal. Specifically, the normal model includes condition types and condition values. For example, if the condition type is "number of related vertices" and the condition value is "upper limit value 2", the condition is that "the number of other elements that have sides with one vertex is 2 or less". Further, when the condition type is "order" and the condition value is "upper limit value 6", the condition "the number of edges extending from one vertex is 6 or less" is indicated.

国際公開第2015/141221号WO2015/141221

ところで、サイバー攻撃の中には、ラテラルムーブメントのように、攻撃者が標的のネットワーク内に侵入した後、特権ユーザになるためにコンピュータ間を移動していくものがある。例えば、ラテラルムーブメントでは、ユーザAからユーザBへ推移し、ユーザBからユーザCへ推移するような、特定のユーザ間を連続的に推移するような活動が行われる。このようなサイバー攻撃を検知するためには、連続的に推移するような活動についても、異常な活動については検知を行う必要がある。 By the way, among cyberattacks, there are some, such as lateral movement, in which an attacker moves between computers in order to become a privileged user after intruding into a target network. For example, in lateral movement, an activity is performed that continuously transitions between specific users, such as transitioning from user A to user B and then from user B to user C. In order to detect such cyberattacks, it is necessary to detect anomalous activities, even those that change continuously.

しかし、特許文献1に記載の技術では、連続的に推移するような活動について、異常を検知することは困難である。なぜなら、特許文献1に記載の技術は、頂点や辺の数等に基づいて異常を検出しているが、連続的に推移するような活動における異常を検知することを想定していないからである。 However, with the technique described in Patent Literature 1, it is difficult to detect anomalies in activities that change continuously. This is because the technology described in Patent Literature 1 detects anomalies based on the number of vertices and edges, etc., but does not assume detection of anomalies in activities that change continuously. .

本願発明は、連続的に推移するような活動であっても、異常を検知することが可能な情報処理装置、情報処理方法、及び、プログラムを提供することを目的とする。 An object of the present invention is to provide an information processing device, an information processing method, and a program capable of detecting anomalies even in activities that change continuously.

本願発明の情報処理装置は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、を有する。 The information processing apparatus of the present invention includes a generation unit that generates an analysis graph representing program activity using edges and nodes, and a normal graph that stores a normal graph representing normal activity in a monitoring target using edges and nodes. a storage unit; and a detection unit that detects an abnormality based on the analysis graph generated by the generation unit and the normal graph stored in the normal graph storage unit.

本願発明の情報処理方法は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、前記分析グラフと前記正常グラフとに基づいて異常を検知する。 The information processing method of the present invention generates an analysis graph representing program activity using edges and nodes, stores a normal graph representing normal activity in a monitoring target using edges and nodes, and stores the analysis graph and An abnormality is detected based on the normal graph.

本願発明の情報処理プログラムは、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる。 An information processing program of the present invention generates an analysis graph representing program activity using edges and nodes, stores a normal graph representing normal activity in a monitoring target using edges and nodes, and stores the analysis graph and A computer is caused to execute a process of detecting an abnormality based on the normal graph.

本願発明の情報処理システムは、情報処理装置と、1以上のコンピュータを含む監視対象と、前記情報処理装置に対して情報を入力する入力装置と、前記情報処理装置が処理を行った情報を出力する出力装置と、を有し、前記情報処理装置は、前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、前記入力装置から入力された情報に基づき、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部とを有する。 An information processing system of the present invention includes an information processing device, a monitoring target including one or more computers, an input device for inputting information to the information processing device, and outputting information processed by the information processing device. and an output device, wherein the information processing device includes a generation unit that generates an analysis graph that expresses the activity of the program in the monitoring target using edges and nodes, and based on the information input from the input device, a normal graph storage unit for storing a normal graph representing normal activity in a monitoring target using edges and nodes; an abnormality based on the analysis graph generated by the generation unit and the normal graph stored by the normal graph storage unit; and a detection unit that detects the

本願発明によれば、連続的に推移するような活動であっても、異常を検知することが可能な情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システムを提供することできる。 According to the present invention, it is possible to provide an information processing device, an information processing method, an information processing program, and an information processing system capable of detecting anomalies even in activities that change continuously.

情報処理システム100の構成を示す図である。1 is a diagram showing a configuration of an information processing system 100; FIG. イベントグラフの概念図である。1 is a conceptual diagram of an event graph; FIG. 情報処理装置10の動作を示すフローチャートである。4 is a flowchart showing the operation of the information processing device 10; 分析グラフの1例を示す図である。It is a figure which shows one example of an analysis graph. イベントグラフの一例を示す図である。It is a figure which shows an example of an event graph. 分析グラフの一例を示す図である。It is a figure which shows an example of an analysis graph. イベントグラフの一例を示す図である。It is a figure which shows an example of an event graph. 分析グラフと正常グラフとの不一致箇所を強調表示するように出力した場合の具体例を示す図である。FIG. 11 is a diagram showing a specific example of outputting a mismatched portion between an analysis graph and a normal graph so as to be highlighted; 情報処理装置100のブロック図を示す図である。2 is a diagram showing a block diagram of the information processing apparatus 100; FIG. 情報処理装置100の動作を示すフローチャートである。4 is a flowchart showing the operation of the information processing device 100; コンピュータの一例を示すブロック図である。1 is a block diagram showing an example of a computer; FIG.

<第1の実施形態>
[構成]
本願発明の第1の実施形態を、図面を参照して説明する。図1は、第1の実施形態における、情報処理システム1の構成を示す図である。
<First Embodiment>
[composition]
A first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing the configuration of an information processing system 1 according to the first embodiment.

情報処理システム1は、情報処理装置10と、監視対象システム20と、入力装置30と、出力装置40と、を備える。 The information processing system 1 includes an information processing device 10 , a monitored system 20 , an input device 30 and an output device 40 .

情報処理装置10は、監視対象システム20で発生したプログラムの活動において異常を検知し、検知結果を出力する。 The information processing device 10 detects an abnormality in the activity of the program occurring in the monitored system 20 and outputs the detection result.

異常を検知するとは、プログラムの異常な活動を検知することを含む。異常とは、例えば、マルウェアが介在していると考えられるプログラムの活動等である。ただし、ここでいう異常とは、セキュリティ上の異常には限定されない。例えば、プログラムのバグ等によって、プロセスが想定外の動作を行っている等といった異常も含まれる。 Detecting anomalies includes detecting abnormal activity of a program. An anomaly is, for example, a program activity or the like considered to be mediated by malware. However, the anomaly here is not limited to a security anomaly. For example, abnormalities such as a process performing an unexpected operation due to a program bug or the like are also included.

情報処理装置10は、グラフ生成部11と、分析グラフ記憶部12と、正常グラフ生成部13と、正常グラフ記憶部14と、検知部15と、出力部16と、を備える。 The information processing apparatus 10 includes a graph generation unit 11 , an analysis graph storage unit 12 , a normal graph generation unit 13 , a normal graph storage unit 14 , a detection unit 15 and an output unit 16 .

グラフ生成部11は、エッジ及びノードを用いて、監視対象システム20におけるプログラムの活動を表す分析グラフを生成する。グラフ生成部11は、生成したイベントグラフを用いて分析グラフを生成し、生成した分析グラフを分析グラフ記憶部12に格納する。 The graph generation unit 11 generates an analysis graph representing program activity in the monitored system 20 using edges and nodes. The graph generation unit 11 generates an analysis graph using the generated event graph, and stores the generated analysis graph in the analysis graph storage unit 12 .

エッジとは、起動、停止、通信、又は、アクセス等のように、プログラムの活動内容を示す。プログラムの活動内容とは、プロセスを起動する、プロセスを停止する、ファイルをオープンする、ファイルからデータを読み込む、ファイルにデータを書き込む、ソケットをオープンする、ソケットからデータを読み込む、又「ソケットにデータを書き込む等が挙げられる。なお、ソケットに対するアクセスは、そのソケットに対応付けられた他の装置へのアクセスを意味する。なお、エッジには、プログラムの活動内容の他にも、成功可否、実行ユーザ、実行日時等の情報を、付加情報として含めることが可能である。 An edge indicates the activity of a program such as activation, termination, communication, or access. Program activities include starting a process, stopping a process, opening a file, reading data from a file, writing data to a file, opening a socket, reading data from a socket, and "data to a socket". , etc. Access to a socket means access to another device associated with that socket.In addition to the contents of the program activity, the edge also includes success or failure, execution Information such as user, execution date and time can be included as additional information.

ノードとは、監視対象システム20で発生したプログラムの活動内容における要素を示す。ノードの具体例としては、ファイル、プロセス、ソケット、監視対象の装置、等が挙げられる。例えば、ノードがプロセスである場合、当該ノードにはそのプロセスの識別情報等を含む。プロセスの識別情報とは、例えば、そのプロセスのID等を含む。また、ノードがファイルである場合、当該ノードにはそのファイルの識別情報等を含む。ファイルの識別情報とは、例えば、そのファイルの名称やパス等である。また、ファイルの識別情報は、ファイルのハッシュ値や、ファイルシステムの識別情報、そのファイルシステム上でそのファイルを構成するディスクブロックの識別情報との組み合わせであっても良い。更に、ノードがソケットである場合、ノードは当該ソケットの識別情報を含み、ノードが監視対象の装置である場合、ノードは当該監視対象の装置の識別情報を含む。 A node represents an element in the content of program activity occurring in the monitored system 20 . Specific examples of nodes include files, processes, sockets, devices to be monitored, and the like. For example, when a node is a process, the node includes identification information of the process. The process identification information includes, for example, the ID of the process. Also, when the node is a file, the node includes identification information of the file. File identification information is, for example, the name and path of the file. Further, the file identification information may be a combination of a hash value of the file, identification information of the file system, and identification information of the disk blocks forming the file on the file system. Further, if the node is a socket, the node contains the identification of the socket, and if the node is the monitored device, the node contains the identification of the monitored device.

ノードは、例えば、プログラムの活動内容における、主体と客体とを示すものであっても良いし、オブジェクトとサブジェクトとを示すものであっても良いし、親と子の関係性を示すものであっても良い。 A node may represent, for example, a subject and an object, an object and a subject, or a relationship between a parent and a child in the activity content of a program. can be

以後、ノードが、プログラムの活動内容における主体と客体とを示すものである場合について説明を行う。例えば、ノードが主体と客体とを示すものである場合、グラフ生成部11は、監視対象システム20で発生したイベントにおける活動内容をエッジとして表し、なおかつその活動内容の主体と客体それぞれをノードとして表すイベントグラフを生成する。 Hereinafter, a description will be given of a case in which nodes indicate subjects and objects in the activity content of the program. For example, when a node indicates a subject and an object, the graph generation unit 11 represents the activity content in an event that occurred in the monitoring target system 20 as an edge, and also represents the subject and object of the activity content as nodes. Generate an event graph.

グラフとは、複数のノード及びノード間を接続するエッジによって構成されるデータ構造である。 A graph is a data structure composed of a plurality of nodes and edges connecting the nodes.

イベントとは、プログラムにおける主体が何らかの客体に対して行った活動を示す。イベントの具体例として、例えば、「特定のプロセスが特定のファイルを読み込む」活動等が、イベントの一例として挙げられる。 An event indicates an activity performed by a subject in a program on some object. As a specific example of an event, for example, an activity such as "a specific process reads a specific file" is an example of an event.

イベントグラフとは、グラフ生成部11が、取得したイベントを用いて生成したグラフである。具体的に、イベントグラフは、1つのエッジ及びそのエッジによって接続される2つのノードを用いて示される。 An event graph is a graph generated by the graph generator 11 using acquired events. Specifically, an event graph is shown with an edge and two nodes connected by the edge.

図2に、監視対象システム20内のあるコンピュータにおいて、プロセス「fileread.exe」がファイル「testdata.txt」を読み込むというイベントが発生した場合に、グラフ生成部11が生成するイベントグラフの概念図を示す。
図2に示すイベントグラフの概念図は、「fileread.exe」を示すノードN1と、「testdata.txt」を示すノードN2と、ノードN1及びノードN2を接続する「read」を示すエッジE1とで構成されている。
FIG. 2 is a conceptual diagram of an event graph generated by the graph generation unit 11 when an event occurs in a computer in the monitored system 20 in which the process "fileread.exe" reads the file "testdata.txt". show.
The conceptual diagram of the event graph shown in FIG. 2 includes a node N1 indicating "fileread.exe", a node N2 indicating "testdata.txt", and an edge E1 indicating "read" connecting the nodes N1 and N2. It is configured.

ここで、図2では、向きを表す矢印をエッジE1として示すことで、イベントの流れを表している。具体的には、エッジE1の始点と接続されているノードN1が活動内容の主体を示し、エッジの終点と接続されているノードN2が活動内容の客体を示す。そして、エッジE1が示す方向に向かって順にノードを見ていくことで、プログラムの活動内容を時系列に沿って把握することが可能となる。 Here, in FIG. 2, the arrow representing the direction is shown as edge E1 to represent the flow of events. Specifically, the node N1 connected to the starting point of the edge E1 indicates the subject of the activity content, and the node N2 connected to the end point of the edge indicates the object of the activity content. By sequentially looking at the nodes in the direction indicated by the edge E1, it is possible to grasp the activity of the program in chronological order.

なお、エッジの出力態様は、必ずしも向きを表すものに限定されず、直線などの向きを表さないものであってもよい。エッジが向きを表さない態様で出力される場合、例えば、「グラフにおいて、イベントの流れは左から右へ向かう向きで表される」といったルールを予め定めておき、そのルールに従ってグラフを生成するようにしても良い。 It should be noted that the edge output mode is not necessarily limited to one that indicates the direction, and may be one that does not indicate the direction, such as a straight line. When edges are output in a manner that does not represent their direction, for example, a rule such as ``in a graph, the flow of events is represented in the direction from left to right'' is determined in advance, and the graph is generated according to that rule. You can do it.

分析グラフとは、グラフ生成部11が生成し、分析グラフ記憶部12に記憶されるグラフである。具体的に、分析グラフは1以上のエッジ及びそのエッジによって接続される2以上のノードを用いて示される。 An analysis graph is a graph generated by the graph generation unit 11 and stored in the analysis graph storage unit 12 . Specifically, an analytic graph is shown using one or more edges and two or more nodes connected by the edges.

分析グラフ記憶部12は、グラフ生成部11が生成した分析グラフを記憶する。 The analysis graph storage unit 12 stores analysis graphs generated by the graph generation unit 11 .

グラフ生成部11は、分析グラフ記憶部12に記憶された分析グラフとイベントグラフとを用いて、新たな分析グラフを生成する。グラフ生成部11が、分析グラフを生成する構成について、具体的に説明する。 The graph generation unit 11 generates a new analysis graph using the analysis graph and the event graph stored in the analysis graph storage unit 12 . A configuration in which the graph generation unit 11 generates an analysis graph will be specifically described.

グラフ生成部11は、イベントグラフを生成した場合、当該イベントグラフと分析グラフ記憶部12に記憶されている分析グラフとの連続関係の有無を確認する。イベントグラフと分析グラフとの連続関係に関する説明については、後述する。 When the event graph is generated, the graph generation unit 11 checks whether there is a continuous relationship between the event graph and the analysis graphs stored in the analysis graph storage unit 12 . A description of the continuous relationship between the event graph and the analysis graph will be given later.

グラフ生成部11は、イベントグラフと分析グラフ記憶部12に記憶されている分析グラフとが連続関係を有する場合、当該分析グラフにイベントグラフを結合させることで、新たな分析グラフを生成し、分析グラフ記憶部12に格納する。グラフ生成部11は、イベントグラフが、分析グラフ記憶部12に記憶されている分析グラフと連続関係を有さない場合、当該イベントグラフを分析グラフとして分析グラフ記憶部12に格納する。 When the event graph and the analysis graph stored in the analysis graph storage unit 12 have a continuous relationship, the graph generation unit 11 generates a new analysis graph by combining the event graph with the analysis graph, and performs analysis. Stored in the graph storage unit 12 . If the event graph does not have a continuous relationship with the analysis graph stored in the analysis graph storage unit 12, the graph generation unit 11 stores the event graph in the analysis graph storage unit 12 as an analysis graph.

正常グラフ生成部13は、監視対象システム20における正常時の活動をエッジ及びノードを用いて表す正常グラフを生成する。具体的に、正常グラフ生成部13は、監視対象システム20における正常時の活動内容をエッジとして表し、なおかつその活動内容の主体と客体それぞれをノードとして表す正常グラフを生成し、正常グラフ記憶部14に格納する。正常グラフ生成部13が正常グラフを生成する際の説明については後述する。 The normal graph generation unit 13 generates a normal graph that represents normal activity in the monitored system 20 using edges and nodes. Specifically, the normal graph generation unit 13 generates a normal graph that expresses the normal activity content of the monitored system 20 as edges, and expresses the subjects and objects of the activity content as nodes. store in A description of how the normal graph generator 13 generates the normal graph will be given later.

正常グラフとは、監視対象システム20における正常時の活動をエッジ及びノードを用いて表したものである。また、正常グラフは、1以上のエッジ及びそのエッジによって接続される2以上のノードを用いて示される。 A normal graph is a representation of normal activity in the monitored system 20 using edges and nodes. A normal graph is also shown using one or more edges and two or more nodes connected by the edges.

正常グラフ記憶部14は、正常グラフ生成部13が生成した正常グラフを記憶する。分析グラフ記憶部12及び正常グラフ記憶部14は、グラフデータベース等のように、グラフを記憶することが可能なデータベースを利用可能である。 The normal graph storage unit 14 stores the normal graph generated by the normal graph generation unit 13 . The analysis graph storage unit 12 and the normal graph storage unit 14 can use a database capable of storing graphs, such as a graph database.

検知部15は、グラフ生成部11が生成した分析グラフと正常グラフ記憶部14に記憶された正常グラフとを用いて、異常を検知する。具体的に、検知部15は、所定の条件を満たす場合に、グラフ生成部11が生成した分析グラフと、正常グラフ記憶部14に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。 The detection unit 15 detects abnormality using the analysis graph generated by the graph generation unit 11 and the normal graph stored in the normal graph storage unit 14 . Specifically, when a predetermined condition is satisfied, the detection unit 15 calculates the degree of similarity between the analysis graph generated by the graph generation unit 11 and the normal graph stored in the normal graph storage unit 14, and calculates the degree of similarity. and a predetermined threshold are used to detect an abnormality.

所定の条件とは、例えば、グラフ生成部11が、分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合等でも良い。この場合、検知部15は、グラフ生成部11が分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合に、当該分析グラフと、正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。 The predetermined condition may be, for example, a case where the graph generation unit 11 generates an analysis graph by combining an analysis graph and an event graph. In this case, when the graph generation unit 11 generates an analysis graph by combining the analysis graph and the event graph, the detection unit 15 calculates the degree of similarity between the analysis graph and the normal graph, and calculates the degree of similarity. and a predetermined threshold are used to detect an abnormality.

なお、所定の条件は上記の例に限られない。例えば、所定の条件は、グラフ生成部11が、イベントグラフを分析グラフとして格納した場合でも良い。つまり、検知部15は、グラフ生成部11が分析グラフを新たに生成する度に類似度を算出するとしても良い。 Note that the predetermined condition is not limited to the above example. For example, the predetermined condition may be a case where the graph generator 11 stores an event graph as an analysis graph. That is, the detection unit 15 may calculate the degree of similarity each time the graph generation unit 11 generates a new analysis graph.

また、所定の条件は、グラフ生成部11が生成した分析グラフに含まれているノード又はエッジの数が所定の値になった場合でも良い。また、所定の条件は、グラフ生成部11が生成した分析グラフに所定のノード又はエッジが含まれている場合でも良い。更に、所定の条件は、正常グラフが有するノード又はエッジの数と、分析グラフが有するノード又はエッジの数との差分が所定の値以内の場合でも良く、検知部15は、当該差分が所定の値以上の場合は、類似度を算出しなくても良い。このように、所定の条件は、検知部15が分析グラフと正常グラフとの類似度を算出するタイミングを定める条件であれば、どのような条件を用いても構わない。 Also, the predetermined condition may be a case where the number of nodes or edges included in the analysis graph generated by the graph generation unit 11 reaches a predetermined value. Further, the predetermined condition may be a case where the analysis graph generated by the graph generation unit 11 includes a predetermined node or edge. Furthermore, the predetermined condition may be a case where the difference between the number of nodes or edges that the normal graph has and the number of nodes or edges that the analysis graph has is within a predetermined value, and the detection unit 15 determines that the difference is within a predetermined value. If it is equal to or greater than the value, it is not necessary to calculate the degree of similarity. As described above, any condition may be used as the predetermined condition as long as it determines the timing at which the detection unit 15 calculates the degree of similarity between the analysis graph and the normal graph.

なお、検知部15が類似度を算出する方法は、「graph edit distance」、「Sim Rank」、又は「Maximum common subgraph」等のように、グラフとグラフとの類似度を算出できる方法であれば、どのような方法を用いても構わない。 The method for the detection unit 15 to calculate the degree of similarity is any method that can calculate the degree of similarity between graphs, such as "graph edit distance", "Sim Rank", or "Maximum common subgraph". , any method may be used.

出力部16は、検知部15が異常を検知した場合、当該異常に関する情報を出力装置40に出力する。 The output unit 16 outputs information about the abnormality to the output device 40 when the detection unit 15 detects an abnormality.

監視対象システム20は、ネットワーク等で接続された1以上のコンピュータを含む。具体的に、監視対象システム20は、PC(Personal Computer)、サーバマシン、タブレット端末、又は、スマートフォン等のような任意のコンピュータを含む。また、監視対象システム20は、物理マシンに限定されず、仮想マシンであっても良い。 The monitored system 20 includes one or more computers connected via a network or the like. Specifically, the monitored system 20 includes any computer such as a PC (Personal Computer), a server machine, a tablet terminal, or a smart phone. Also, the monitored system 20 is not limited to a physical machine, and may be a virtual machine.

監視対象システム20は、対象が1つであっても良いし、対象が複数であっても良い。なお、イベントは、対象毎にそれぞれ発生する場合や、対象間を通信することで発生する場合がある。 The monitored system 20 may have one target or multiple targets. Note that an event may be generated for each object individually, or may be generated by communication between objects.

なお、監視対象システム20で発生するイベントは、ログ形式のデータやグラフ形式のデータ等、監視対象システム20で発生するイベントを示すものであるならば何でも良い。例えば、監視対象システム20で発生するイベントがログ形式のデータである場合、グラフ生成部11は、当該ログ形式のデータを用いてイベントグラフを生成する。 The event that occurs in the monitoring target system 20 may be any data that indicates an event that occurs in the monitoring target system 20, such as log format data or graph format data. For example, if an event that occurs in the monitoring target system 20 is data in log format, the graph generation unit 11 generates an event graph using the data in log format.

入力装置30は、情報処理装置10に対して情報を入力する。入力装置30とは、例えば、マウスやタッチパネル等のポインティングデバイスや、キーボード、又はスキャナ等が挙げられるが、情報処理装置10に対して情報を入力することが可能な装置であれば、これらに限定されるものではない。入力装置30が入力する内容としては、監視対象システム20における正常時の活動に関する情報が挙げられるが、本願発明はこれに限定されない。 The input device 30 inputs information to the information processing device 10 . The input device 30 includes, for example, a pointing device such as a mouse or a touch panel, a keyboard, or a scanner. not to be Contents to be input by the input device 30 include information regarding normal activities in the monitored system 20, but the present invention is not limited to this.

出力装置40は、出力部16が出力した情報を受信し、当該情報を出力する。出力装置40とは、例えば、ディスプレイ、スピーカー、ランプ、又はプリンタ等が挙げられるが、外部出力が可能な装置であれば、これらに限定されるものではない。例えば、出力装置40がディスプレイの場合、ディスプレイは、出力部16が出力した情報を表示する。 The output device 40 receives the information output by the output unit 16 and outputs the information. The output device 40 is, for example, a display, a speaker, a lamp, a printer, or the like, but is not limited to these as long as it is capable of external output. For example, if the output device 40 is a display, the display displays information output by the output unit 16 .

[動作]
次に、第1の実施形態における動作を、フローチャートを用いて説明する。
[motion]
Next, operations in the first embodiment will be described using a flowchart.

図3は、情報処理装置10の動作を示すフローチャートである。 FIG. 3 is a flowchart showing the operation of the information processing device 10. As shown in FIG.

グラフ生成部11は、監視対象システム20で発生したイベントを取得する(S1)。 The graph generator 11 acquires an event that has occurred in the monitored system 20 (S1).

グラフ生成部11は、取得したイベントを用いてイベントグラフを生成する(S2)。 The graph generator 11 generates an event graph using the acquired events (S2).

グラフ生成部11は、生成したイベントグラフが、分析グラフ記憶部12に記憶された分析グラフと連続関係を有するか否かを確認する(S3)。 The graph generation unit 11 checks whether the generated event graph has a continuous relationship with the analysis graph stored in the analysis graph storage unit 12 (S3).

グラフ生成部11は、生成したイベントグラフと分析グラフ記憶部12に記憶されている分析グラフとが連続関係を有する場合(S3でYes)、当該分析グラフにイベントグラフを結合することで、新たな分析グラフを生成する(S4)。 If the generated event graph and the analysis graph stored in the analysis graph storage unit 12 have a continuous relationship (Yes in S3), the graph generation unit 11 combines the event graph with the analysis graph to create a new An analysis graph is generated (S4).

グラフ生成部11は、新たな分析グラフを分析グラフ記憶部12に格納する(S5)。 The graph generation unit 11 stores the new analysis graph in the analysis graph storage unit 12 (S5).

グラフ生成部11は、生成したイベントグラフが、分析グラフ記憶部12に記憶されている分析グラフと連続関係を有さない場合(S3でNo)、当該イベントグラフを分析グラフとして分析グラフ記憶部12に格納する(S6)。 If the generated event graph does not have a continuous relationship with the analysis graph stored in the analysis graph storage unit 12 (No in S3), the graph generation unit 11 stores the event graph as an analysis graph in the analysis graph storage unit 12. (S6).

検知部15は、所定の条件を満たす場合(S7でYes)、グラフ生成部11が生成した分析グラフと、正常グラフ記憶部14に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する(S8)。 If a predetermined condition is satisfied (Yes in S7), the detection unit 15 calculates the degree of similarity between the analysis graph generated by the graph generation unit 11 and the normal graph stored in the normal graph storage unit 14, and calculates the degree of similarity. and a predetermined threshold value are used to detect an abnormality (S8).

出力部16は、検知部15が異常を検知した場合(S9でYes)、当該異常を検知した分析グラフに関する情報を出力する(S10)。 When the detection unit 15 detects an abnormality (Yes in S9), the output unit 16 outputs information about the analysis graph in which the abnormality is detected (S10).

[具体例]
次に、第1の実施形態における詳細な動作について、具体例を用いながら説明する。
[Concrete example]
Next, detailed operations in the first embodiment will be described using specific examples.

第1の実施形態は、正常グラフの生成フェーズと、分析グラフの生成フェーズと、異常検知フェーズとに分けることが可能である。 The first embodiment can be divided into a normal graph generation phase, an analysis graph generation phase, and an anomaly detection phase.

<正常グラフの生成フェーズ>
ユーザは、入力装置30を用いて、監視対象システム20における正常時の活動を示す情報を情報処理装置10に入力する。具体的に、ユーザは、隣接行列や隣接リスト等を入力しても良いし、描画ツール等を用いて生成したグラフを入力しても良い。
<Normal graph generation phase>
The user uses the input device 30 to input information indicating normal activity in the monitored system 20 into the information processing device 10 . Specifically, the user may input an adjacency matrix, an adjacency list, or the like, or may input a graph generated using a drawing tool or the like.

正常グラフ生成部13は、入力装置30から入力された情報を用いて、監視対象システム20における正常時の活動を示す正常グラフを生成し、正常グラフ記憶部14に格納する。 The normal graph generation unit 13 uses the information input from the input device 30 to generate a normal graph showing normal activity in the monitored system 20 and stores it in the normal graph storage unit 14 .

なお、正常グラフ生成部13は、ユーザによって入力された情報を用いて正常グラフを生成すると説明したが、本願発明はこれに限られない。 Although the normal graph generating unit 13 has been described as generating a normal graph using information input by the user, the present invention is not limited to this.

例えば、正常グラフ生成部13は、監視対象システム20におけるプログラムの活動を監視し、予め定められた条件に基づき正常と想定される活動を選定し、当該選定した情報を用いて正常グラフを生成することが可能である。また、監視対象システム20におけるプログラムの活動から、ユーザが正常と想定される活動を選定してもよいし、自動で正常と想定される活動が選定されてもよい。更に、正常グラフ生成部13は、監視対象システム20において正常なプログラムを実行させ、プログラムの活動を監視することにより、グラフ生成部11と同等の動作によってグラフを生成し、生成されたグラフを正常グラフとしてもよい。このように、正常グラフを生成することが可能であれば、どのような方法を用いても構わない。 For example, the normal graph generation unit 13 monitors program activities in the monitored system 20, selects activities that are assumed to be normal based on predetermined conditions, and generates a normal graph using the selected information. Is possible. Further, from the activities of the programs in the monitored system 20, the user may select an activity assumed to be normal, or an activity assumed to be normal may be automatically selected. Further, the normal graph generator 13 executes a normal program in the monitoring target system 20, monitors the activity of the program, generates a graph by the operation equivalent to that of the graph generator 11, and displays the generated graph as normal. A graph may be used. Any method may be used as long as it is possible to generate a normal graph in this way.

<分析グラフ生成フェーズ>
グラフ生成部11は、監視対象システム20で発生したイベントを取得し、当該取得したイベントを用いてイベントグラフを生成する。なお、グラフ生成部11は、イベントを取得することができるのであれば、監視対象システム20から送られてきたイベントを取得する等のように、どのような方法を用いても構わない。
<Analysis graph generation phase>
The graph generation unit 11 acquires events that have occurred in the monitored system 20 and generates an event graph using the acquired events. Note that the graph generation unit 11 may use any method such as acquiring an event sent from the monitored system 20 as long as it can acquire the event.

グラフ生成部11は、生成したイベントグラフと分析グラフ記憶部12に記憶されている分析グラフとが連続関係を有するか否かを確認する。 The graph generation unit 11 checks whether or not the generated event graph and the analysis graph stored in the analysis graph storage unit 12 have a continuous relationship.

イベントグラフと分析グラフとが連続関係を有するか否かは、ノード一致条件に基づき判断することができる。ノード一致条件とは、例えば、イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しく、かつ、これらのノードを有するイベントの実行日時の差分が閾値以下の場合に、イベントグラフと分析グラフとが連続関係を有すると判断することができる。 Whether the event graph and the analysis graph have a continuous relationship can be determined based on the node matching condition. The node matching condition is, for example, when the nodes included in the event graph and the nodes included in the analysis graph are equal, and the difference in the execution date and time of the event having these nodes is equal to or less than the threshold, the event graph and the analysis It can be determined that the graph has a continuous relationship.

イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しい場合とは、例えば、イベントグラフにおいて主体を示すノードと、分析グラフにおいて客体を示すノードとが同じノードである場合等が挙げられる。 A case where a node included in the event graph and a node included in the analysis graph are the same includes, for example, a case where a node indicating the subject in the event graph and a node indicating the object in the analysis graph are the same node. .

なお、イベントグラフに含まれるノードと、分析グラフに含まれるノードとが等しい場合であっても、これらの実行日時が離れている場合、これらのグラフは一連の活動を示すものではなく、それぞれ独立した活動であることが考えられる。 Note that even if the nodes included in the event graph and the nodes included in the analysis graph are the same, if their execution dates and times are different, these graphs do not represent a series of activities and are independent of each other. It can be considered that this is an activity that

実行日時とは、例えば、主体のノードを含むイベントの実行日時と、客体のノードを含むイベントの実行日時とのように、プログラムの活動が実行された時間を示す。従って、これらのノードの実行日時が閾値以上離れている場合、当該イベントグラフと分析グラフとは連続関係を有していないと判断することができる。 The execution date and time indicates the time when the program activity is executed, such as the execution date and time of the event including the subject node and the execution date and time of the event including the object node. Therefore, if the execution dates and times of these nodes are separated by a threshold value or more, it can be determined that the event graph and the analysis graph do not have a continuous relationship.

また、実行日時について、ミリ秒単位のような精度が高いタイムスタンプを参照する場合は、誤差が含まれることが想定される。従って、実行日時の差分を示す閾値については、誤差等も考慮した設定を行うことが好適である。 Also, when referring to a highly accurate time stamp such as milliseconds for the execution date and time, it is assumed that an error is included. Therefore, it is preferable to set the threshold value that indicates the difference between the execution dates and times, taking into consideration errors and the like.

また、ノード一致条件には、「プログラムの実行ユーザが等しい場合」等のように、新たな条件を加えることや、既存の条件を削除することが可能である。このように、ノード一致条件に関する許容値や条件を適切に設定することで、セキュアシェル等の通信によるリモート操作であっても、グラフを適切に連結することが可能となる。 Moreover, it is possible to add a new condition such as "if the users executing the programs are the same" or delete an existing condition as the node matching condition. In this way, by appropriately setting the allowable values and conditions for node matching conditions, it is possible to appropriately connect graphs even in remote operation by communication such as secure shell.

グラフ生成部11が、連続関係を有するイベントグラフと分析グラフとを連結する場合の具体例について、図面を用いて説明する。 A specific example in which the graph generator 11 connects an event graph and an analysis graph that have a continuous relationship will be described with reference to the drawings.

図4に、分析グラフ記憶部12に記憶されている分析グラフの1例を示す。図4を参照すると、ノードN3とノードN4とがエッジE2によって接続され、ノードN4とノードN5とがエッジE3によって接続され、ノードN4とノードN6とがエッジE4によって接続されている。 FIG. 4 shows an example of the analysis graph stored in the analysis graph storage unit 12. As shown in FIG. Referring to FIG. 4, node N3 and node N4 are connected by edge E2, node N4 and node N5 are connected by edge E3, and node N4 and node N6 are connected by edge E4.

図4に示す分析グラフは、例えば、「readwrite.exe」が「testdata.txt」を読み込んで、「csvwriter.sh」を起動するという動作を示すものであっても良い。例えば、この場合、図4に示す分析グラフは、ノードN3が「start.exe」を示し、エッジE2が「execute」を示し、ノードN4が「readwrite.exe」を示すものであっても良い。また、エッジE3が「execute」を示し、ノードN5が「csvwriter.sh」を示すものであっても良い。更に、エッジE4が「read」を示し、ノードN6が「testdata.txt」を示すものであっても良い。 The analysis graph shown in FIG. 4 may indicate, for example, an operation in which "readwrite.exe" reads "testdata.txt" and activates "csvwriter.sh". For example, in this case, the analysis graph shown in FIG. 4 may have node N3 indicating "start.exe", edge E2 indicating "execute", and node N4 indicating "readwrite.exe". Alternatively, the edge E3 may indicate "execute" and the node N5 may indicate "csvwriter.sh". Further, the edge E4 may indicate "read" and the node N6 may indicate "testdata.txt".

ここで、監視対象システム20で、「csvwriter.sh」が「data.csv」に書き込み処理を行うというイベントが発生し、グラフ生成部11がイベントグラフを生成したとする。 Assume that an event occurs in the monitoring target system 20 in which "csvwriter.sh" writes to "data.csv", and the graph generation unit 11 generates an event graph.

図5に、グラフ生成部11が生成したイベントグラフの一例を示す。図5に示すように、グラフ生成部11が生成したイベントグラフは、ノードN5とノードN7とが、エッジE5によって接続されている。 FIG. 5 shows an example of an event graph generated by the graph generator 11. As shown in FIG. As shown in FIG. 5, in the event graph generated by the graph generator 11, a node N5 and a node N7 are connected by an edge E5.

なお、図5に示すイベントグラフは、ノードN5が「csvwriter.sh」を示し、エッジE5が「write」を示し、ノードN7が「data.csv」を示すものであっても良い。 In the event graph shown in FIG. 5, the node N5 may indicate "csvwriter.sh", the edge E5 may indicate "write", and the node N7 may indicate "data.csv".

なお、図5に示すイベントグラフと、図4に示す分析グラフとは、実行ユーザが等しく、共通するノードN5を有するイベントの実行日時の差分が閾値以下であるとする。 It is assumed that the event graph shown in FIG. 5 and the analysis graph shown in FIG. 4 have the same execution user and the difference in the execution date and time of the event having the common node N5 is equal to or less than the threshold.

グラフ生成部11は、当該生成したイベントグラフと、分析グラフ記憶部12に記憶されている分析グラフとが、連続関係を有するか否かを確認する。 The graph generation unit 11 checks whether the generated event graph and the analysis graph stored in the analysis graph storage unit 12 have a continuous relationship.

図5に示すイベントグラフは、図4に示す分析グラフと、ノードN5が等しく、実行ユーザが等しく、かつ、ノードN5を有するイベントの実行日時の差分が閾値以下であるため、グラフ生成部11は、連続関係を有すると判断することができる。グラフ生成部11は、図4に示す分析グラフに、図5に示すイベントグラフを結合することで、新たな分析グラフを生成し、当該分析グラフを分析グラフ記憶部12に格納する。 The event graph shown in FIG. 5 is equal to the analysis graph shown in FIG. , can be determined to have a continuous relationship. The graph generation unit 11 generates a new analysis graph by combining the event graph shown in FIG. 5 with the analysis graph shown in FIG. 4 , and stores the analysis graph in the analysis graph storage unit 12 .

図6に、グラフ生成部11が新たに生成した分析グラフの一例を示す。図6に示すように、図4に示す分析グラフから、エッジE5及びノードN7が新たに追加されている。 FIG. 6 shows an example of an analysis graph newly generated by the graph generation unit 11. As shown in FIG. As shown in FIG. 6, edge E5 and node N7 are newly added from the analysis graph shown in FIG.

なお、図4、図5、及び図6を用いて説明したグラフの例はあくまで一例である。本願は、例えば、ノードN3がノードN4を起動し、ノードN4がノードN5及びノードN6を起動し、ノードN6がノードN7を起動している場合等のように、プログラムの活動を示すものであれば、どのようなグラフであっても構わない。 Note that the examples of graphs described using FIGS. 4, 5, and 6 are merely examples. This application does not show program activity, such as, for example, node N3 powering up node N4, node N4 powering up nodes N5 and node N6, and node N6 powering up node N7. Any graph will do.

次に、グラフ生成部11が生成したイベントグラフが、分析グラフ記憶部12が記憶する分析グラフと連続関係を有していない場合について説明する。 Next, a case where the event graph generated by the graph generation unit 11 does not have a continuous relationship with the analysis graph stored in the analysis graph storage unit 12 will be described.

図7に、グラフ生成部11が生成したイベントグラフの一例を示す。図7に記載のように、グラフ生成部11が生成したイベントグラフは、ノードN8とノードN9とが、エッジE6によって接続されている。 FIG. 7 shows an example of an event graph generated by the graph generator 11. As shown in FIG. As shown in FIG. 7, in the event graph generated by the graph generator 11, the node N8 and the node N9 are connected by an edge E6.

グラフ生成部11は、図7に示すイベントグラフと、分析グラフ記憶部12に記憶されている分析グラフとが、連続関係を有するか否かを確認する。 The graph generation unit 11 checks whether the event graph shown in FIG. 7 and the analysis graphs stored in the analysis graph storage unit 12 have a continuous relationship.

グラフ生成部11は、図7に示すイベントグラフについて、ノード一致条件を満たす分析グラフが分析グラフ記憶部12に記憶されていない場合、当該グラフは連続関係を有していないと判断する。 If the analysis graph that satisfies the node matching condition is not stored in the analysis graph storage unit 12 for the event graph shown in FIG. 7, the graph generation unit 11 determines that the graph does not have a continuous relationship.

グラフ生成部11は、図7に示すイベントグラフが、分析グラフ記憶部12に記憶されている分析グラフと連続関係を有さない場合、当該イベントグラフを新たな分析グラフとして、分析グラフ記憶部12に格納する。 When the event graph shown in FIG. 7 does not have a continuous relationship with the analysis graph stored in the analysis graph storage unit 12, the graph generation unit 11 sets the event graph as a new analysis graph, and stores the event graph in the analysis graph storage unit 12. store in

なお、グラフ生成部11は、分析グラフ記憶部12に複数の分析グラフが記憶されている場合、記憶されている全ての分析グラフについて、イベントグラフとの連続関係を確認し、最も連続関係を有する分析グラフに、イベントグラフを結合しても良いが、本願はこれに限られない。例えば、分析グラフ記憶部12は、分析グラフを実行ユーザ毎に分類して記憶し、グラフ生成部11は、取得したイベントの実行ユーザが同じ分類の中から、当該取得したイベントと連続関係を有するグラフを探すように構成しても良い。分析グラフ記憶部12は、実行ユーザ毎の分類に限られず、実行日時毎等のように様々な条件を用いて、分析グラフを分類して記憶しても良く、グラフ生成部11は当該分類を用いて連続関係を有するグラフを探しても良い。このように構成することで、グラフ生成部11は、連続関係を有するグラフを効率良く探す事が可能となる。 Note that, when a plurality of analysis graphs are stored in the analysis graph storage unit 12, the graph generation unit 11 confirms the continuous relationship with the event graph for all the stored analysis graphs, An event graph may be combined with an analysis graph, but the present application is not limited to this. For example, the analysis graph storage unit 12 classifies and stores analysis graphs for each execution user, and the graph generation unit 11 selects the acquired event from among the classifications of the same execution user of the acquired event, and has a continuous relationship with the acquired event. It may be configured to look for graphs. The analysis graph storage unit 12 may classify and store the analysis graphs using various conditions, such as execution date and time, without being limited to the classification for each execution user. may be used to find graphs with continuity relationships. By configuring in this way, the graph generating unit 11 can efficiently search for graphs having continuous relationships.

なお、グラフ生成部11は、監視対象システム20で発生するイベントについて、グラフ形式のデータとして取得しても良い。グラフ生成部11は、監視対象システム20で発生するイベントについて、グラフ形式のデータとして取得した場合、イベントグラフを生成せずに、当該グラフ形式のデータが分析グラフ記憶部12に記憶された分析グラフと連続関係を有しているか否かを確認する。グラフ生成部11は、当該取得したグラフ形式のデータが、分析グラフと連続関係を有している場合、当該グラフ形式のデータと分析グラフとを結合することで新たな分析グラフを生成する。グラフ生成部11は、当該取得したグラフ形式のデータが、分析グラフと連続関係を有していない場合、当該取得したグラフ形式のデータを新たな分析グラフとして、分析グラフ記憶部12に格納する。 Note that the graph generation unit 11 may acquire data in graph format for events that occur in the monitoring target system 20 . When an event that occurs in the monitoring target system 20 is acquired as graph format data, the graph generation unit 11 does not generate an event graph, and creates an analysis graph in which the graph format data is stored in the analysis graph storage unit 12. Check whether it has a continuous relationship with When the acquired graph-format data has a continuous relationship with the analysis graph, the graph generation unit 11 generates a new analysis graph by combining the graph-format data and the analysis graph. If the acquired graph-format data does not have a continuous relationship with the analysis graph, the graph generation unit 11 stores the acquired graph-format data in the analysis graph storage unit 12 as a new analysis graph.

<異常検知フェーズ>
検知部15は、所定の条件を満たす場合に、グラフ生成部11が生成した分析グラフと、正常グラフ記憶部14に記憶された正常グラフとの類似度を算出し、当該類似度と予め定めた閾値とを用いて異常を検知する。
<Anomaly detection phase>
The detection unit 15 calculates the degree of similarity between the analysis graph generated by the graph generation unit 11 and the normal graph stored in the normal graph storage unit 14 when a predetermined condition is satisfied. An abnormality is detected using a threshold value.

一例として、所定の条件が、グラフ生成部11が、分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合の具体例について説明する。例えば、検知部15は、グラフ生成部11が分析グラフとイベントグラフとを結合させることで分析グラフを生成した場合に、当該分析グラフと、正常グラフとの類似度を算出し、当該類似度が予め定めた閾値以下の場合に異常を検知する。 As an example, a specific example will be described in which the graph generation unit 11 generates an analysis graph by combining an analysis graph and an event graph based on a predetermined condition. For example, when the graph generation unit 11 generates an analysis graph by combining an analysis graph and an event graph, the detection unit 15 calculates the degree of similarity between the analysis graph and the normal graph. Abnormality is detected when the value is equal to or less than a predetermined threshold.

なお、検知部15が異常を検知する手法は、上記手法に限られない。例えば、検知部15は、分析グラフと正常グラフとが完全一致していない場合に異常を検知しても良い。このように、検知部15は、分析グラフと正常グラフとを用いて異常を検知するものであれば、どのような手法を用いても良い。 In addition, the method by which the detection unit 15 detects an abnormality is not limited to the above method. For example, the detection unit 15 may detect an abnormality when the analysis graph and the normal graph do not completely match. In this way, the detection unit 15 may use any method as long as it detects an abnormality using the analysis graph and the normal graph.

また、検知部15は、分析グラフが有するノードやエッジの数に応じて、閾値を変更しても良い。例えば、分析グラフは、様々な活動を行う度に、当該分析グラフが有するノードやエッジの数が多くなる。分析グラフが有するノードやエッジの数が多くなるにつれて、予め定められた正常グラフとの類似度が低下し、その分析グラフが正常な活動を示すものであったとしても、異常と検知されてしまうおそれがある。従って、検知部15は、分析グラフが有するノードやエッジの数が所定の数よりも多くなる際は異常と検知するための閾値を下げる等のように、分析グラフが有するノードやエッジの数に応じて閾値を変更することで、正常な活動に対して異常と検知することを防止することができる。このように、検知部15は、分析グラフが有するノードやエッジの数に応じて閾値を変更することで、柔軟な異常検知を行うことが可能となる。 Further, the detection unit 15 may change the threshold according to the number of nodes and edges that the analysis graph has. For example, an analytic graph increases in the number of nodes and edges it has each time various activities are performed. As the number of nodes and edges in an analysis graph increases, the degree of similarity with a predetermined normal graph decreases, and even if the analysis graph shows normal activity, it will be detected as abnormal. There is a risk. Therefore, when the number of nodes and edges included in the analysis graph exceeds a predetermined number, the detection unit 15 reduces the threshold for detecting an abnormality. By changing the threshold accordingly, it is possible to prevent normal activity from being detected as abnormal. In this manner, the detection unit 15 can perform flexible anomaly detection by changing the threshold according to the number of nodes and edges included in the analysis graph.

また、検知部15が分析グラフとの類似度を算出する対象は、正常グラフ記憶部14に記憶された全ての正常グラフでも良いし、正常グラフ記憶部14に記憶された一部の正常グラフでも良い。例えば、検知部15は、正常グラフ記憶部14に記憶された全ての正常グラフと、グラフ生成部11が生成した分析グラフとの類似度を算出する際、類似度が閾値以上の正常グラフが1つも無い場合に異常と判断することができる。このように、検知部15は、正常グラフ記憶部14に記憶された全ての正常グラフと分析グラフとの類似度を算出することで、精度良く異常検知を行うことが可能となる。また、検知部15は、正常グラフ記憶部14に記憶された一部の正常グラフと分析グラフとの類似度を算出することで、全ての正常グラフについて類似度を算出する場合に比べて、処理を軽減することができる。 Further, the targets for which the detection unit 15 calculates the degree of similarity with the analysis graph may be all normal graphs stored in the normal graph storage unit 14, or some normal graphs stored in the normal graph storage unit 14. good. For example, when the detection unit 15 calculates the degree of similarity between all the normal graphs stored in the normal graph storage unit 14 and the analysis graph generated by the graph generation unit 11, one normal graph having a degree of similarity equal to or greater than the threshold value is calculated. Abnormality can be determined when there is no such thing. In this way, the detection unit 15 can accurately detect an abnormality by calculating the degree of similarity between all the normal graphs stored in the normal graph storage unit 14 and the analysis graph. Further, the detection unit 15 calculates the degree of similarity between some of the normal graphs stored in the normal graph storage unit 14 and the analysis graph. can be reduced.

なお、類似度を算出する対象となる正常グラフは、ユーザが選定しても良いし、所定の基準等を定めて自動で選定されるようにしても良い。例えば、検知部15は、分析グラフが有する最新のノードと最新のノードが一致する正常グラフについて、類似度を算出する対象として選定しても良い。このように、検知部15が、類似度を算出する対象となる正常グラフを選定できるのであれば、所定の基準等は何でも良い。 It should be noted that the normal graphs for which the degree of similarity is to be calculated may be selected by the user, or may be automatically selected based on predetermined criteria or the like. For example, the detection unit 15 may select a normal graph in which the latest node included in the analysis graph matches the latest node as a target for calculating the degree of similarity. As described above, any predetermined criterion or the like may be used as long as the detection unit 15 can select a normal graph for which similarity is to be calculated.

出力部16は、検知部15が異常を検知した場合、当該異常に関する情報を出力する。 The output unit 16 outputs information about the abnormality when the detection unit 15 detects an abnormality.

異常に関する情報として、例えば、出力部16は、検知部15が異常を検知したグラフの全体を表示するように出力をしても良いし、正常グラフとの不一致箇所のみを表示するように出力しても良い。また、正常グラフとの不一致箇所を強調表示するように出力しても良いし、正常グラフとの一致箇所をグレースケールや点線等を用いて表示を変更するように出力しても良いし、異常と判断された原因を表示するように出力しても良い。 As the information about the abnormality, for example, the output unit 16 may output to display the entire graph in which the detection unit 15 has detected an abnormality, or may output to display only the portions that do not match the normal graph. can be In addition, it is also possible to output so as to highlight the points that do not match the normal graph, or to output the points that match with the normal graph so that the display is changed using a gray scale or a dotted line. You may output so that the cause judged as it may be displayed.

このように、出力部16は、グラフ生成部11が生成した分析グラフと正常グラフとの一致箇所及び不一致箇所について互いに異なる態様で出力することで、ユーザ等が容易に異常な箇所を特定することが可能となる。 In this way, the output unit 16 outputs the matching and non-matching portions between the analysis graph generated by the graph generating unit 11 and the normal graph in different modes, so that the user or the like can easily identify the abnormal portion. becomes possible.

なお、分析グラフと正常グラフとの一致箇所及び不一致箇所を判定する手法については、分析グラフと正常グラフとを対比することで一致部分と不一致部分とを判定する手法等のように、様々な手法を採用することが可能である。 Note that there are various methods for judging matching and non-matching portions between the analysis graph and the normal graph, such as a method for judging matching and non-matching portions by comparing the analysis graph and the normal graph. can be adopted.

更に、出力部16は、スピーカーで流す音声を出力しても良いし、ランプの点灯を変更させるように出力しても良いし、異常に関する情報をプリントするように出力しても良い。このように、出力部16が出力を行う異常に関する情報は、任意に変更可能である。 Furthermore, the output unit 16 may output sound played by a speaker, may output to change the lighting of a lamp, or may output to print out information about an abnormality. In this way, the information about abnormality output by the output unit 16 can be arbitrarily changed.

一例として、検知部15が図6に示す分析グラフの異常を検知した場合における、出力部16の出力例について説明する。このとき、正常グラフ記憶部14には図4に示すグラフが正常グラフとして記憶されており、グラフ生成部11が図6に示す分析グラフを生成したものとする。図8に、出力部16が、分析グラフと正常グラフとの不一致箇所を強調表示するように出力した場合の具体例を示す。 As an example, an output example of the output unit 16 when the detection unit 15 detects an abnormality in the analysis graph shown in FIG. 6 will be described. At this time, it is assumed that the normal graph storage unit 14 stores the graph shown in FIG. 4 as a normal graph, and the graph generation unit 11 generates the analysis graph shown in FIG. FIG. 8 shows a specific example of output by the output unit 16 so as to highlight the disagreement between the analysis graph and the normal graph.

図8に示す具体例では、ノードN5とノードN7との間を枠線で囲むことで、正常グラフとの不一致箇所を強調表示している。なお、出力部16は、強調表示だけでなく、図8の吹き出し中に示すように、注意書きや異常と判断された原因等を表示するように出力しても良い。このように、出力部16が正常グラフとの不一致箇所を、一致箇所と異なる態様で出力することで、ユーザは、異常な活動を直感的に把握することができる。 In the specific example shown in FIG. 8, by enclosing the area between the node N5 and the node N7 with a frame line, the point of disagreement with the normal graph is highlighted. It should be noted that the output unit 16 may output not only the highlighted display, but also a cautionary note, the reason for the determination of the abnormality, etc., as shown in the balloon in FIG. In this manner, the output unit 16 outputs the non-matching portion with the normal graph in a manner different from the matching portion, so that the user can intuitively grasp the abnormal activity.

なお、出力部16は、検知部15が検知した異常に関する情報を外部の記憶装置等に出力し、当該情報を記憶させる等、出力装置40以外の装置に出力することも可能である。 It should be noted that the output unit 16 can also output information about the abnormality detected by the detection unit 15 to a device other than the output device 40, for example, to output the information to an external storage device or the like to store the information.

なお、出力部16が出力する情報は、例えば、監視対象システム20の監視を行うユーザによって利用される。ユーザは、出力部16が出力する情報を出力装置40から取得することにより、監視対象システム20の状況を把握することができる。より具体的には、ユーザは、出力装置40から情報を取得することにより、監視対象システム20において、異常な状態を表すプログラムの活動が発生していないかどうかを確認する。なお、監視対象システム20において異常な状態を表すプログラムの活動が発生した場合、ユーザが当該異常に対する対処を行ってもいいし、情報処理装置10が当該異常に対する対処を行っても良い。 Information output by the output unit 16 is used by, for example, a user who monitors the monitored system 20 . The user can grasp the status of the monitored system 20 by acquiring the information output by the output unit 16 from the output device 40 . More specifically, the user obtains information from the output device 40 to confirm whether any program activity indicating an abnormal state has occurred in the monitored system 20 . Note that when a program activity indicating an abnormal state occurs in the monitoring target system 20, the user may take action against the error, or the information processing apparatus 10 may take action against the error.

なお、入力装置30と出力装置40とは、別個の装置として説明したが、入出力装置として、1つの装置にまとめても良い。また、入力装置30及び出力装置40と情報処理装置10とは別個の装置として説明したが、情報処理装置10は、入力装置30又は出力装置40を含めても良い。 Although the input device 30 and the output device 40 have been described as separate devices, they may be integrated into one device as an input/output device. Further, although the input device 30 and the output device 40 are described as separate devices from the information processing device 10 , the information processing device 10 may include the input device 30 or the output device 40 .

なお、グラフ生成部11は、イベントとグラフとの連続関係を確認する際、イベントグラフを生成した上で、分析グラフとの連続関係を確認しても良い。また、グラフ生成部11は、イベントからグラフを生成しない状態、つまり、ログ等の状態から、分析グラフ記憶部12に記憶された分析グラフとの連続関係を確認しても良い。グラフ生成部11は、連続関係を有する場合、当該ログと分析グラフとを用いて新たな分析グラフを生成し、連続関係を有さない場合、当該ログを用いて分析グラフを生成する。 Note that when confirming the continuity between events and graphs, the graph generation unit 11 may generate the event graph and then confirm the continuity with the analysis graph. Further, the graph generation unit 11 may check the continuous relationship with the analysis graph stored in the analysis graph storage unit 12 from a state in which a graph is not generated from an event, that is, from a state such as a log. The graph generation unit 11 generates a new analysis graph using the log and the analysis graph when there is a continuous relationship, and generates an analysis graph using the log when there is no continuous relationship.

なお、グラフ生成部11は、連続関係を有するイベントグラフと分析グラフとを結合し、新たな分析グラフを生成することで、連続的に推移するような活動を、異常検知の対象となる分析グラフとして表現することが可能となる。 Note that the graph generation unit 11 combines an event graph and an analysis graph that have a continuous relationship to generate a new analysis graph. can be expressed as

なお、ノード、エッジ、分析グラフ、正常グラフ、監視対象システム20内の監視対象、実行ユーザ、及び実行日時等には、それぞれ重み付けをすることが可能である。それぞれに適切な重み付けを設定することで、異常検知の精度を向上させることが可能である。 Note that nodes, edges, analysis graphs, normal graphs, monitoring targets in the monitoring target system 20, execution users, execution dates and times, etc. can be weighted. By setting appropriate weights for each, it is possible to improve the accuracy of anomaly detection.

[効果]
本願発明は、上記のような構成を有することにより、連続的に推移するような活動であっても、異常を検知することが可能となる。
[effect]
With the configuration as described above, the present invention can detect anomalies even in activities that change continuously.

特に、本願発明は、マルチホップの活動について、異常を検知する際に効果を奏する。具体的に、本願発明は、異常を検知する対象となる活動(分析グラフ)及びホワイトリスト(正常グラフ)にグラフ構造を用いているため、ユーザAからユーザBへ推移し、ユーザBからユーザCへ推移するようなマルチホップの活動についても、異常を検知することが可能となる。 In particular, the present invention is effective in detecting anomalies in multi-hop activity. Specifically, the present invention uses a graph structure for the activity (analysis graph) and the whitelist (normal graph) that are targets for detecting anomalies, so that the user A transitions to the user B, and the user B to the user C It is also possible to detect anomalies in multi-hop activity that transitions to

また、グラフ構造が有するマルチホップでの親子関係や、グラフが有する様々な付加情報を用いることで、異常検知の精度を向上させることが可能である。更に、異常を検知する対象となる活動やホワイトリストにグラフを用いることで、ユーザが活動を監視する際の視認性を向上させることができる。 Further, by using the multi-hop parent-child relationship of the graph structure and various additional information of the graph, it is possible to improve the accuracy of anomaly detection. Furthermore, by using graphs for the activities and whitelists for which anomalies are to be detected, visibility can be improved when the user monitors the activities.

<第2の実施形態>
[構成]
本願発明の第2の実施形態を、図面を参照して説明する。図9は、第2の実施形態における、情報処理装置100のブロック図を示す図である。第2の実施形態における情報処理装置100は、生成部200と、正常グラフ記憶部300と、検知部400とを含む。
<Second embodiment>
[composition]
A second embodiment of the present invention will be described with reference to the drawings. FIG. 9 is a block diagram of the information processing device 100 according to the second embodiment. An information processing apparatus 100 according to the second embodiment includes a generation unit 200 , a normal graph storage unit 300 and a detection unit 400 .

生成部200は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する。 The generation unit 200 generates an analysis graph representing program activity using edges and nodes.

正常グラフ記憶部300は、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する。 The normal graph storage unit 300 stores a normal graph that represents normal activity in the monitored object using edges and nodes.

検知部400は、生成部200が生成した分析グラフと正常グラフ記憶部300が記憶する正常グラフとに基づいて異常を検知する。 The detection unit 400 detects abnormality based on the analysis graph generated by the generation unit 200 and the normal graph stored in the normal graph storage unit 300 .

[動作]
次に、本願発明の第2の実施形態における主な動作を説明する。
[motion]
Next, main operations in the second embodiment of the present invention will be described.

図10は、情報処理装置100の動作を示すフローチャートである。 FIG. 10 is a flow chart showing the operation of the information processing apparatus 100. As shown in FIG.

生成部200は、エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する(S100)。 The generation unit 200 generates an analysis graph representing program activity using edges and nodes (S100).

正常グラフ記憶部300は、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する(S200)。 The normal graph storage unit 300 stores a normal graph that expresses normal activity in the monitored object using edges and nodes (S200).

検知部400は、生成部200が生成した分析グラフと正常グラフ記憶部300が記憶する正常グラフとに基づいて異常を検知する(S300)。 The detection unit 400 detects an abnormality based on the analysis graph generated by the generation unit 200 and the normal graph stored in the normal graph storage unit 300 (S300).

本願発明は、上記のような構成を有することにより、連続的に推移するような活動であっても、異常を検知することが可能となる。 With the configuration as described above, the present invention can detect anomalies even in activities that change continuously.

[プログラム]
本願発明におけるプログラムは、コンピュータに、本願発明の処理を実行させるプログラムである。このプログラムをコンピュータにインストールし、実行することによって、本願発明を実現することができる。
[program]
A program in the present invention is a program that causes a computer to execute the processing of the present invention. The present invention can be implemented by installing and executing this program on a computer.

ここで、本願発明におけるプログラムを実行することによって、本願発明を実現するコンピュータについて図11を用いて説明する。 A computer that implements the present invention by executing the program of the present invention will now be described with reference to FIG.

図11は、本願発明を実現するコンピュータの一例を示すブロック図である。 FIG. 11 is a block diagram showing an example of a computer that implements the present invention.

図11に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。 As shown in FIG. 11 , computer 110 includes CPU 111 , main memory 112 , storage device 113 , input interface 114 , display controller 115 , data reader/writer 116 and communication interface 117 . These units are connected to each other via a bus 121 so as to be able to communicate with each other.

CPU111は、記憶装置113に格納された、本願発明におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本願発明におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本願発明におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。 The CPU 111 expands the programs (codes) of the present invention stored in the storage device 113 into the main memory 112 and executes them in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). Also, the program according to the present invention is provided in a state stored in a computer-readable recording medium 120 . It should be noted that the program in the present invention may be distributed on the Internet connected via the communication interface 117 .

また、記憶装置113は、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、入力機器118との間のデータ伝送を仲介する。入力機器118とは、例えば、キーボード及びマウス並びにタッチパネル等が挙げられる。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。 The storage device 113 may be a hard disk drive or a semiconductor storage device such as a flash memory. Input interface 114 mediates data transmission between CPU 111 and input device 118 . The input device 118 includes, for example, a keyboard, a mouse, and a touch panel. The display controller 115 is connected to the display device 119 and controls display on the display device 119 .

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と他のコンピュータとの間のデータ伝送を仲介する。 Data reader/writer 116 mediates data transmission between CPU 111 and recording medium 120 , reads programs from recording medium 120 , and writes processing results in computer 110 to recording medium 120 . Communication interface 117 mediates data transmission between CPU 111 and other computers.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、又はフレキシブルディスク(Flexible Disk)等の磁気記憶媒体が挙げられる。更に、記録媒体120の具体例としては、CD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体も挙げられる。 Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), or magnetic storage media such as flexible disks. . Furthermore, a specific example of the recording medium 120 includes an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory).

ここまで、本願発明を実施するための形態を説明してきたが、本願発明は上述した実施形態に限定されるものではない。例えば、本明細書で記載したフローチャートにおける処理の順序はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で変更する事が可能である。また、本明細書で記載した構成はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で構成を変更する事が可能である。即ち、本願発明は、本願発明を実施する際に矛盾のない範囲で当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せ等も、本願発明の技術的範囲に含まれる。 Although the embodiments for carrying out the present invention have been described so far, the present invention is not limited to the above-described embodiments. For example, the order of processing in the flowcharts described in this specification is merely an example, and can be changed within a range that does not contradict when implementing the present invention. Moreover, the configuration described in this specification is merely an example, and it is possible to change the configuration within a range that is not inconsistent when implementing the present invention. That is, the present invention can apply various aspects that can be understood by those skilled in the art within a range that is not inconsistent when implementing the present invention. included in the technical scope of

[付記]
本発明における一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、情報処理方法、情報処理プログラム、情報処理システムの構成の概略を説明する。ただし、本発明は、以下の構成に限定されない。
(付記1)
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、
を有する情報処理装置。
(付記2)
前記検知部は、前記正常グラフ記憶部が記憶する正常グラフと、前記生成部が生成した分析グラフとの類似度を算出し、当該類似度に基づき異常を検知する、
付記1に記載の情報処理装置。
(付記3)
前記検知部は、前記生成部が分析グラフを生成したタイミングで類似度を算出する、
付記2に記載の情報処理装置。
(付記4)
前記生成部が生成した分析グラフを格納する分析グラフ記憶部を更に有し、
前記生成部は、1つのエッジ及びそのエッジによって接続される2つのノードを有するイベントグラフを生成し、当該イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとを用いて、新たな分析グラフを生成する、
付記1乃至3のいずれか1項に記載の情報処理装置。
(付記5)
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、当該分析グラフにイベントグラフを結合することで、新たな分析グラフを生成する、
付記4に記載の情報処理装置。
(付記6)
前記生成部は、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有さない場合は、当該イベントグラフを新たな分析グラフとして、前記分析グラフ記憶部に格納する、
付記4又は5に記載の情報処理装置。
(付記7)
検知部が異常を検知した場合、当該異常に関する情報を出力する出力部を更に有し、
前記出力部は、正常グラフと分析グラフとの一致部分と、正常グラフと分析グラフとの不一致部分とを、異なる態様で出力する、
付記1乃至6のいずれか1項に記載の情報処理装置。
(付記8)
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する、
情報処理方法。
(付記9)
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる、
情報処理プログラム。
(付記10)
情報処理装置と、
1以上のコンピュータを含む監視対象と、
前記情報処理装置に対して情報を入力する入力装置と、
前記情報処理装置が処理を行った情報を出力する出力装置と、
を有し、
前記情報処理装置は、
前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、
前記入力装置から入力された情報に基づき、監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部とを有する、
情報処理システム。
[Appendix]
A part or all of the present invention can also be described as the following supplementary remarks. An outline of the configuration of an information processing apparatus, an information processing method, an information processing program, and an information processing system according to the present invention will be described below. However, the present invention is not limited to the following configurations.
(Appendix 1)
a generator that generates an analytic graph representing program activity using edges and nodes;
a normal graph storage unit that stores a normal graph representing normal activity in the monitored object using edges and nodes;
a detection unit that detects an abnormality based on the analysis graph generated by the generation unit and the normal graph stored in the normal graph storage unit;
Information processing device having
(Appendix 2)
The detection unit calculates a similarity between the normal graph stored in the normal graph storage unit and the analysis graph generated by the generation unit, and detects an abnormality based on the similarity.
The information processing device according to appendix 1.
(Appendix 3)
The detection unit calculates the similarity at the timing when the generation unit generates the analysis graph.
The information processing device according to appendix 2.
(Appendix 4)
further comprising an analysis graph storage unit that stores the analysis graph generated by the generation unit;
The generation unit generates an event graph having one edge and two nodes connected by the edge, and uses the event graph and the analysis graph stored in the analysis graph storage unit to generate a new analysis graph. generate,
The information processing apparatus according to any one of Appendices 1 to 3.
(Appendix 5)
The generation unit confirms a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit, and if the event graph and the analysis graph stored in the analysis graph storage unit have a continuous relationship, the analysis Generate new analysis graphs by combining event graphs with graphs,
The information processing device according to appendix 4.
(Appendix 6)
The generation unit confirms a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit, and if the event graph and the analysis graph stored in the analysis graph storage unit do not have a continuous relationship, storing the event graph as a new analysis graph in the analysis graph storage unit;
The information processing device according to appendix 4 or 5.
(Appendix 7)
further comprising an output unit that outputs information about the abnormality when the detection unit detects an abnormality;
The output unit outputs a matching portion between the normal graph and the analysis graph and a mismatching portion between the normal graph and the analysis graph in different modes.
7. The information processing apparatus according to any one of Appendices 1 to 6.
(Appendix 8)
generating an analytic graph representing program activity using edges and nodes;
storing a normal graph representing normal activity in the monitored object using edges and nodes;
detecting an anomaly based on the analysis graph and the normal graph;
Information processing methods.
(Appendix 9)
generating an analytic graph representing program activity using edges and nodes;
storing a normal graph representing normal activity in the monitored object using edges and nodes;
causing a computer to execute a process of detecting an abnormality based on the analysis graph and the normal graph;
Information processing program.
(Appendix 10)
an information processing device;
a monitored object comprising one or more computers;
an input device for inputting information to the information processing device;
an output device that outputs information processed by the information processing device;
has
The information processing device is
a generation unit that generates an analysis graph representing program activity in the monitored target using edges and nodes;
a normal graph storage unit for storing a normal graph representing normal activity in a monitoring target using edges and nodes based on information input from the input device;
a detection unit that detects an abnormality based on the analysis graph generated by the generation unit and the normal graph stored by the normal graph storage unit;
Information processing system.

1 情報処理システム
10 情報処理装置
11 グラフ生成部
12 分析グラフ記憶部
13 正常グラフ生成部
14 正常グラフ記憶部
15 検知部
16 出力部
20 監視対象システム
30 入力装置
40 出力装置
100 情報処理装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
200 生成部
300 正常グラフ記憶部
400 検知部
1 information processing system 10 information processing device 11 graph generation unit 12 analysis graph storage unit 13 normal graph generation unit 14 normal graph storage unit 15 detection unit 16 output unit 20 monitoring target system 30 input device 40 output device 100 information processing device 110 computer 111 CPU
112 main memory 113 storage device 114 input interface 115 display controller 116 data reader/writer 117 communication interface 118 input device 119 display device 120 recording medium 200 generation unit 300 normal graph storage unit 400 detection unit

Claims (10)

エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成する生成部と、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と、
前記生成部が生成した分析グラフを格納する分析グラフ記憶部とを有し、
前記生成部は、1つのエッジ及びそのエッジによって接続される2つのノードを有するイベントグラフを生成し、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係をノード一致条件に基づき判断し、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、前記分析グラフに前記イベントグラフを結合することで、新たな分析グラフを生成する、
情報処理装置。
a generator that generates an analytic graph representing program activity using edges and nodes;
a normal graph storage unit that stores a normal graph representing normal activity in the monitored object using edges and nodes;
a detection unit that detects an abnormality based on the analysis graph generated by the generation unit and the normal graph stored in the normal graph storage unit;
an analysis graph storage unit that stores the analysis graph generated by the generation unit;
The generation unit generates an event graph having one edge and two nodes connected by the edge, and determines a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit based on a node matching condition. determining, and if the event graph and the analysis graph stored in the analysis graph storage unit have a continuous relationship, combining the event graph with the analysis graph to generate a new analysis graph;
Information processing equipment.
前記検知部は、前記正常グラフ記憶部が記憶する正常グラフと、前記生成部が生成した分析グラフとの類似度を算出し、当該類似度に基づき異常を検知する、
請求項1に記載の情報処理装置。
The detection unit calculates a similarity between the normal graph stored in the normal graph storage unit and the analysis graph generated by the generation unit, and detects an abnormality based on the similarity.
The information processing device according to claim 1 .
前記検知部は、前記生成部が分析グラフを生成したタイミングで前記類似度を算出する、
請求項2に記載の情報処理装置。
The detection unit calculates the similarity at the timing when the generation unit generates the analysis graph.
The information processing apparatus according to claim 2.
前記ノード一致条件として、前記イベントグラフに含まれるノードと、前記分析グラフに含まれるノードとが等しく、かつ、前記イベントグラフに含まれるノードおよび前記分析グラフに含まれるノードが有するイベントの実行日時の差分が閾値以下の場合に、前記イベントグラフと前記分析グラフとが連続関係を有すると判断する As the node matching condition, the nodes included in the event graph and the nodes included in the analysis graph are equal, and the execution date and time of the event held by the nodes included in the event graph and the nodes included in the analysis graph. determining that the event graph and the analysis graph have a continuous relationship when the difference is equal to or less than a threshold
請求項1乃至3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3.
前記ノード一致条件として、さらにプログラムの実行ユーザが等しい場合に前記イベントグラフと前記分析グラフとが連続関係を有すると判断する As the node matching condition, it is further determined that the event graph and the analysis graph have a continuous relationship when the executing user of the program is the same.
請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4.
前記生成部は、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係を確認し、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有さない場合は、当該イベントグラフを新たな分析グラフとして、前記分析グラフ記憶部に格納する、
請求項1乃至5のいずれか1項に記載の情報処理装置。
The generation unit confirms a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit, and if the event graph and the analysis graph stored in the analysis graph storage unit do not have a continuous relationship stores the event graph as a new analysis graph in the analysis graph storage unit;
The information processing apparatus according to any one of claims 1 to 5 .
検知部が異常を検知した場合、当該異常に関する情報を出力する出力部を更に有し、
前記出力部は、正常グラフと分析グラフとの一致部分と、正常グラフと分析グラフとの不一致部分とを、異なる態様で出力する、
請求項1乃至6のいずれか1項に記載の情報処理装置。
further comprising an output unit that outputs information about the abnormality when the detection unit detects an abnormality;
The output unit outputs a matching portion between the normal graph and the analysis graph and a mismatching portion between the normal graph and the analysis graph in different modes.
The information processing apparatus according to any one of claims 1 to 6.
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
生成した分析グラフを分析グラフ記憶部に格納し、
1つのエッジ及びそのエッジによって接続される2つのノードを有するイベントグラフを生成し、
前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係をノード一致条件に基づき判断し、
前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、前記分析グラフに前記イベントグラフを結合することで、新たな分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する、
情報処理方法。
generating an analytic graph representing program activity using edges and nodes;
Store the generated analysis graph in the analysis graph storage unit,
generate an event graph having an edge and two nodes connected by the edge;
judging a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit based on a node matching condition;
generating a new analysis graph by combining the event graph with the analysis graph when the event graph and the analysis graph stored in the analysis graph storage unit have a continuous relationship;
storing a normal graph representing normal activity in the monitored object using edges and nodes;
detecting an anomaly based on the analysis graph and the normal graph;
Information processing methods.
エッジ及びノードを用いてプログラムの活動を表す分析グラフを生成し、
生成した分析グラフを分析グラフ記憶部に格納し、
1つのエッジ及びそのエッジによって接続される2つのノードを有するイベントグラフを生成し、
前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係をノード一致条件に基づき判断し、
前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、前記分析グラフに前記イベントグラフを結合することで、新たな分析グラフを生成し、
監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶し、
前記分析グラフと前記正常グラフとに基づいて異常を検知する処理をコンピュータに実行させる、
情報処理プログラム。
generating an analytic graph representing program activity using edges and nodes;
Store the generated analysis graph in the analysis graph storage unit,
generate an event graph having an edge and two nodes connected by the edge;
judging a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit based on a node matching condition;
generating a new analysis graph by combining the event graph with the analysis graph when the event graph and the analysis graph stored in the analysis graph storage unit have a continuous relationship;
storing a normal graph representing normal activity in the monitored object using edges and nodes;
causing a computer to execute a process of detecting an abnormality based on the analysis graph and the normal graph;
Information processing program.
情報処理装置と、
1以上のコンピュータを含む監視対象と、
前記情報処理装置に対して情報を入力する入力装置と、
前記情報処理装置が処理を行った情報を出力する出力装置と、
を有し、
前記情報処理装置は、
前記監視対象におけるプログラムの活動をエッジ及びノードを用いて表す分析グラフを生成する生成部と、
前記入力装置から入力された情報に基づき、前記監視対象における正常時の活動をエッジ及びノードを用いて表す正常グラフを記憶する正常グラフ記憶部と、
前記生成部が生成した分析グラフと前記正常グラフ記憶部が記憶する正常グラフとに基づいて異常を検知する検知部と
前記生成部が生成した分析グラフを格納する分析グラフ記憶部とを有し、
前記生成部は、1つのエッジ及びそのエッジによって接続される2つのノードを有するイベントグラフを生成し、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとの連続関係をノード一致条件に基づき判断し、前記イベントグラフと前記分析グラフ記憶部が記憶する分析グラフとが連続関係を有する場合は、前記分析グラフに前記イベントグラフを結合することで、新たな分析グラフを生成する、
情報処理システム。
an information processing device;
a monitored object comprising one or more computers;
an input device for inputting information to the information processing device;
an output device that outputs information processed by the information processing device;
has
The information processing device is
a generation unit that generates an analysis graph representing program activity in the monitored target using edges and nodes;
a normal graph storage unit for storing a normal graph representing normal activity in the monitoring target using edges and nodes based on information input from the input device;
a detection unit that detects an abnormality based on the analysis graph generated by the generation unit and the normal graph stored in the normal graph storage unit ;
an analysis graph storage unit that stores the analysis graph generated by the generation unit;
The generation unit generates an event graph having one edge and two nodes connected by the edge, and determines a continuous relationship between the event graph and the analysis graph stored in the analysis graph storage unit based on a node matching condition. determining, and if the event graph and the analysis graph stored in the analysis graph storage unit have a continuous relationship, combining the event graph with the analysis graph to generate a new analysis graph;
Information processing system.
JP2019050612A 2019-03-19 2019-03-19 Information processing device, information processing method, information processing program, and information processing system Active JP7259436B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019050612A JP7259436B2 (en) 2019-03-19 2019-03-19 Information processing device, information processing method, information processing program, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019050612A JP7259436B2 (en) 2019-03-19 2019-03-19 Information processing device, information processing method, information processing program, and information processing system

Publications (2)

Publication Number Publication Date
JP2020154489A JP2020154489A (en) 2020-09-24
JP7259436B2 true JP7259436B2 (en) 2023-04-18

Family

ID=72559039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019050612A Active JP7259436B2 (en) 2019-03-19 2019-03-19 Information processing device, information processing method, information processing program, and information processing system

Country Status (1)

Country Link
JP (1) JP7259436B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140053025A1 (en) 2012-08-16 2014-02-20 Vmware, Inc. Methods and systems for abnormality analysis of streamed log data
WO2015141220A1 (en) 2014-03-20 2015-09-24 日本電気株式会社 Information processing device and monitoring method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140053025A1 (en) 2012-08-16 2014-02-20 Vmware, Inc. Methods and systems for abnormality analysis of streamed log data
WO2015141220A1 (en) 2014-03-20 2015-09-24 日本電気株式会社 Information processing device and monitoring method

Also Published As

Publication number Publication date
JP2020154489A (en) 2020-09-24

Similar Documents

Publication Publication Date Title
US11423146B2 (en) Provenance-based threat detection tools and stealthy malware detection
JP6789308B2 (en) Systems and methods for generating tripwire files
Xu et al. A sharper sense of self: Probabilistic reasoning of program behaviors for anomaly detection with context sensitivity
US11321066B2 (en) Securing software installation through deep graph learning
Palahan et al. Extraction of statistically significant malware behaviors
CN111183620B (en) Intrusion investigation
JPWO2018070404A1 (en) Malware analysis apparatus, malware analysis method, and recording medium storing malware analysis program
US20240004993A1 (en) Malware detection in containerized environments
JP7451476B2 (en) System and method for cross-referencing forensic snapshots over time for root cause analysis
US20150220733A1 (en) Apparatus and method for detecting a malicious code based on collecting event information
JP5441043B2 (en) Program, information processing apparatus, and information processing method
KR20180133726A (en) Appratus and method for classifying data using feature vector
JP7259436B2 (en) Information processing device, information processing method, information processing program, and information processing system
CN116150746A (en) Attack detection method and device, electronic equipment and storage medium
CN114756401B (en) Abnormal node detection method, device, equipment and medium based on log
KR101435341B1 (en) Method of data loss prevention tracing target file classification using support vector machine
JP7168010B2 (en) Action plan estimation device, action plan estimation method, and program
KR102137109B1 (en) An apparatus for classify log massage to patterns
WO2020008632A1 (en) Hypothesis inference device, hypothesis inference method, and computer-readable recording medium
Aswini et al. Towards the Detection of Android Malware using Ensemble Features.
JP7501782B2 (en) Activity trace extraction device, activity trace extraction method, and activity trace extraction program
JP7559974B2 (en) GENERATION APPARATUS, GENERATION METHOD, AND GENERATION PROGRAM
JP6547341B2 (en) INFORMATION PROCESSING APPARATUS, METHOD, AND PROGRAM
JP7571858B2 (en) Determination device, determination method, and determination program
KR20190123369A (en) Method for Feature Selection of Machine Learning Based Malware Detection, RECORDING MEDIUM and Apparatus FOR PERFORMING THE METHOD

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230216

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: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151