JP7326930B2 - SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE - Google Patents
SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE Download PDFInfo
- Publication number
- JP7326930B2 JP7326930B2 JP2019122728A JP2019122728A JP7326930B2 JP 7326930 B2 JP7326930 B2 JP 7326930B2 JP 2019122728 A JP2019122728 A JP 2019122728A JP 2019122728 A JP2019122728 A JP 2019122728A JP 7326930 B2 JP7326930 B2 JP 7326930B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- rules
- relationship
- derived
- additional
- 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
Description
本発明は、探索プログラム、探索方法、および、情報処理装置に関する。 The present invention relates to a search program, search method, and information processing apparatus.
近年、インターネットやSNS(Social Networking Service)の普及により情報の入手や発信が手軽になったため、特定の商品に対するニーズが突然高まるなどの、人々のニーズの変動が起こりやすくなっている。そこで、デジタルサービスを提供する企業は、変動しやすいニーズに対応して利益を確保するために迅速にサービスを開始することが望ましい場合がある。サービスの開始がネットワークの設定変更を伴うこともあるので、迅速にサービスを開始するためには、ネットワークの設定変更が容易であることが望ましい。そこで、ネットワークサービスの設定変更を容易にするために、ソフトウェア定義型ネットワーク(Software Defined Networking、SDN)やネットワーク機能仮想化(Network Functions Virtualization、NFV)などの技術が使用されることがある。SDNやNFVを用いて構築されたシステムでは、パケットの処理ルールを設定することにより、新規パスの設定などの設定変更が行われ得る。処理ルールの追加設定などによりネットワークの設定変更を行う場合、設定変更に起因する不具合がネットワークに発生していないことを検証する。しかし、検証作業の際には、既にネットワークに設定されている全てのルールと新たに追加設定したルールとの間で矛盾が生じていないことを検証するので、煩雑であり時間もかかる。 In recent years, the widespread use of the Internet and SNSs (Social Networking Services) has made it easier to obtain and transmit information, making it easier for people's needs to fluctuate, such as sudden increases in needs for specific products. Therefore, it may be desirable for companies that provide digital services to start services quickly in order to meet fluctuating needs and secure profits. Since starting a service may involve changing network settings, it is desirable to be able to easily change network settings in order to start services quickly. Therefore, techniques such as Software Defined Networking (SDN) and Network Functions Virtualization (NFV) are sometimes used to facilitate setting changes of network services. In a system built using SDN or NFV, settings such as new path settings can be changed by setting packet processing rules. When changing network settings by adding processing rules, etc., verify that no problems have occurred in the network due to the setting changes. However, the verification work is complicated and time consuming because it verifies that there is no contradiction between all the rules already set in the network and the newly added rules.
そこで、検証処理を効率化するために、処理ルールのブール結合を個々の処理ルールとは別の転送動作表現とするネットワーク検証技術(Delta-net)が提案されている(特許文献1など)。
Therefore, in order to improve the efficiency of verification processing, a network verification technique (Delta-net) has been proposed in which the Boolean combination of processing rules is used as a different transfer operation expression than individual processing rules (
関連する技術として、複数の検索条件に合致するレコード系列を抽出する際に、特定の項目の各項目値にフラグを付与し、処理にかかるレコードについて特定したフラグの出現態様が検索指示に従っているかを判定する方法も知られている(特許文献2など)。
As a related technology, when extracting a series of records that match multiple search conditions, flags are attached to each item value of a specific item, and whether the appearance of the flag specified for the record to be processed complies with the search instruction. A determination method is also known (
処理ルールのブール結合を別個の転送動作表現として記載することにより、追加設定される処理ルールと適用範囲が重複する処理ルールの適用範囲のパケットのうち、追加設定される処理ルール自体は適用されないパケットを、検証処理の対象から除外できる。しかし、ネットワークに設定される処理ルールの数が増加するに従って、設定済みの処理ルールの各々と追加設定される処理ルールとの間での適用範囲の包含関係を探索するための計算量が膨大になるため、包含関係の探索に時間がかかってしまう。その結果、ネットワークの検証処理にも、時間がかかってしまう。また、関連する技術として述べた技術を用いても、この問題は解決されない。 By describing the Boolean combination of processing rules as a separate transfer operation expression, among the packets in the scope of application of the processing rule that overlaps with the additionally set processing rule, the additionally set processing rule itself is not applied. can be excluded from verification processing. However, as the number of processing rules set in the network increases, the amount of calculation required to search for the coverage inclusion relationship between each of the set processing rules and the additionally set processing rules becomes enormous. As a result, it takes time to search for inclusion relationships. As a result, network verification processing also takes time. Moreover, even if the technology described as the related technology is used, this problem is not solved.
本発明は、1つの側面として、ネットワークの検証処理を効率化することを目的とする。 An object of the present invention, as one aspect, is to improve the efficiency of network verification processing.
ある1つの態様にかかる探索プログラムは、情報処理装置で実行される。情報処理装置は、パケットの処理を定義するためにネットワークに設定された複数のルールのうちで、前記ネットワークに追加する追加ルールの適用対象となる対象パケットの1つ以上に適用可能な関係ルールを特定する。情報処理装置は、前記関係ルールの各々について、当該関係ルールと前記追加ルールとの間の包含関係を決定する。情報処理装置は、前記関係ルールを少なくとも1つ含む、前記複数のルールのうちの2つ以上のルールの組み合わせの各々について、当該組み合わせと前記追加ルールとの間の包含関係を決定する。情報処理装置は、前記関係ルールおよび前記組み合わせについて決定された包含関係を用いて、前記対象パケットおよび前記複数のルールの各々の間での包含関係を探索する。 A search program according to one aspect is executed by an information processing device. The information processing device selects relational rules applicable to one or more target packets to which additional rules to be added to the network are applied, among a plurality of rules set in the network for defining packet processing. Identify. The information processing device determines, for each of the relationship rules, an inclusion relationship between the relationship rule and the additional rule . The information processing device determines, for each combination of two or more rules among the plurality of rules including at least one of the relational rules, an inclusion relationship between the combination and the additional rule . The information processing device searches for an inclusion relationship between the target packet and each of the plurality of rules using the relationship rule and the inclusion relationship determined for the combination.
ネットワークの検証処理を効率化できる。 The network verification process can be made more efficient.
図1は、実施形態にかかる探索方法の例を説明する図である。図1のフローチャートは、検証対象のネットワークに設定されている複数の処理ルールの適用範囲の包含関係を探索する情報処理装置で行われる処理の例である。 FIG. 1 is a diagram explaining an example of a search method according to an embodiment. The flowchart of FIG. 1 is an example of processing performed by an information processing apparatus that searches for an inclusion relationship of application ranges of a plurality of processing rules set in a network to be verified.
まず、情報処理装置は、検証対象のネットワークに設定されている処理ルール(ルール)と、検証対象のネットワークに追加される処理ルール(追加対象のルール)を特定する(ステップS1)。情報処理装置は、設定中の処理ルールのうち、追加対象の処理ルールに関連する処理ルールを関係ルールとして抽出する(ステップS2)。情報処理装置は、関係ルールを関係ルールマップ42に記録する。ここで、関係ルールは、追加対象の処理ルールの適用対象となるパケットの1つ以上に適用可能な処理ルールである。すなわち、ある処理ルールの適用対象となるパケットと追加対象の処理ルールの適用対象となるパケットの間に重複がない場合、その処理ルールは追加対象の処理ルールの関係ルールではない。個々の処理ルールには、その処理ルールを適用するパケットのアドレスの範囲、ポートの値の範囲、プロトコルなどの1つ以上のパラメータが定義されている。このため、情報処理装置は、処理ルールのパラメータの少なくとも1つの値の範囲が、追加対象の処理ルールのパラメータの値の範囲と重複しない場合、その処理ルールは関係ルールではないと判定する。
First, the information processing device identifies a processing rule (rule) set in the network to be verified and a processing rule to be added to the network to be verified (rule to be added) (step S1). The information processing device extracts a processing rule related to the processing rule to be added from among the processing rules being set as a related rule (step S2). The information processing device records the relationship rule in the
例えば、処理ルールAが追加対象の処理ルールであるとする。設定済みの処理ルールBが適用されるパケットの宛先アドレスの範囲と処理ルールAが適用されるパケットの宛先アドレスの範囲が重複していないとする。すると、情報処理装置は、設定済みの処理ルールBは、処理ルールAの関係ルールではないと判定する。このように、情報処理装置は、処理ルールの定義に使用される一部のパラメータを用いて、処理ルールが関係ルールではないことを特定できる。一方、追加対象の処理ルールAと全てのパラメータにおいて重複関係がある処理ルールCは、関係ルールに設定される。 For example, assume that processing rule A is the processing rule to be added. Assume that the range of destination addresses of packets to which processing rule B is applied and the range of destination addresses of packets to which processing rule A is applied do not overlap. Then, the information processing apparatus determines that the set processing rule B is not a related rule of the processing rule A. FIG. In this way, the information processing apparatus can identify that the processing rule is not a relational rule by using some parameters used for defining the processing rule. On the other hand, processing rule C, which has an overlapping relationship in all parameters with processing rule A to be added, is set as a related rule.
次に、情報処理装置は、関係ルールマップに含まれるルールの各々について、そのルールおよびそのルールから派生したルール(派生ルール)について、追加対象のルールとの間の包含関係を求める(ステップS3)。ここで、追加対象のルールと関係ルールとの間の包含関係は、関係ルールが追加対象のルールの全体を含む場合、関係ルールの全体が追加対象のルールに含まれる場合、関係ルールと追加対象のルールは互いに他方の一部を含むが全体を含まない場合がある。情報処理装置は派生ルールについても同様に、追加対象のルールとの間の包含関係を求める。 Next, for each rule contained in the relational rule map, the information processing apparatus obtains an inclusion relationship between the rule and the rule derived from the rule (derivative rule) (step S3). . Here, the inclusion relationship between the rule to be added and the relationship rule is defined as follows: when the relationship rule includes the entire rule to be added, when the entire relationship rule is included in the rule to be added, rules may contain parts of each other but not all of them. The information processing device similarly obtains the inclusion relationship between the derived rule and the rule to be added.
情報処理装置は、得られた包含関係を用いて、追加対象のルールの適用範囲と、ネットワークに設定済みの全てのルールとの間での包含関係を探索する(ステップS4)。ここで、包含関係は、例えば、ハッセ図を用いた半順序集合として探索され得る。ステップS4においては、ネットワークに設定済みのルールが複数適用される範囲を、組み合わせて適用されている各ルールから派生した派生ルールとして、各ルールとは別に追加対象のルールの適用範囲との間の包含関係が探索される。 The information processing device uses the obtained inclusion relationship to search for an inclusion relationship between the scope of the rule to be added and all the rules already set in the network (step S4). Here, inclusion relations can be explored as partially ordered sets using, for example, Hasse diagrams. In step S4, the scope of application of a plurality of rules already set to the network is defined as a derived rule derived from each rule that is applied in combination, and the scope of application of the rule to be added separately from each rule. Containment relationships are searched.
このように、図1に示す方法では、追加対象のルールとの間の包含関係を特定する対象は、関係ルールと関係ルールから派生した派生ルールに限定される。さらに、関係ルールを特定する時点での処理は、重複がないパラメータが1つ以上あるルールを関係ルールから除外する処理であるので、包含関係を特定する処理よりも計算量が少なくて済む。従って、実施形態にかかる探索方法では、処理ルールの組み合わせを組み合わせのもととなった各ルールとは別個の派生ルールとして記載する場合での、各処理ルールの適用範囲の包含関係を探索するための処理が効率化される。各処理ルールの適用範囲の包含関係の計算を効率化することで、検証処理の対象とするパケットの特定にかかる時間が短縮され、その結果、ネットワークの検証処理が効率化される。 In this way, in the method shown in FIG. 1, targets for specifying inclusion relationships with rules to be added are limited to relational rules and derived rules derived from relational rules. Furthermore, since the processing at the time of specifying the relationship rule is the processing of excluding rules having one or more non-overlapping parameters from the relationship rule, the amount of calculation can be less than the processing of specifying the inclusion relationship. Therefore, in the search method according to the embodiment, in the case where a combination of processing rules is described as a derived rule separate from each rule that is the basis of the combination, in order to search for the inclusion relationship of the scope of application of each processing rule processing is streamlined. By streamlining the calculation of the inclusion relationship of the scope of application of each processing rule, the time required to identify packets to be verified can be shortened, and as a result, network verification can be made more efficient.
<装置構成>
図2は、情報処理装置10の構成の例を説明する図である。なお、情報処理装置10は、設定済みのルールと新たに設定される処理ルールを取得できれば、検証対象のネットワークに接続されていなくても良く、検証対象のネットワークに接続されていても良い。
<Device configuration>
FIG. 2 is a diagram illustrating an example of the configuration of the
情報処理装置10は、入出力処理部20、制御部30、記憶部40を備える。入出力処理部20は、入力部21と出力部22を有する。入力部21は、ネットワークに設定されているルールや新たに設定されるルールの情報の入力に使用される。入力部21を介して入力された情報は、適宜、ルール情報41として記憶部40に記録され得る。出力部22は、得られた探索結果の出力に使用される。
The
記憶部40は、ルール情報41、関係ルールマップ42、派生ルールマップ43、および、調査リスト44を備える。ルール情報41は、ネットワークに設定されている処理ルールの情報と追加対象の処理ルールの情報である。なお、ルール情報41は、派生ルールの各々がどの処理ルールの組み合わせであるかを特定するための情報も含み得る。関係ルールマップ42は、関係ルールとして特定された処理ルールの識別情報を記録する。派生ルールマップ43は、ルール情報41に記録されている処理ルールの2つ以上を組み合わせることによって得られる派生ルールを識別する情報が記録される。調査リスト44は、包含関係を決定する対象となる処理ルールおよび派生ルールを特定する情報が記録される。
The
制御部30は、特定部31、リスト生成部32、包含関係決定部33、探索部34を備え、オプションとして、順序決定部35を備えてもよい。特定部31は、ネットワークに設定されている処理ルールの中から、追加対象のルールに対する関係ルールを特定する。特定部31は、特定した関係ルールを関係ルールマップ42に記録する。リスト生成部32は、関係ルールマップ42と派生ルールマップ43を用いて調査リスト44を生成する。包含関係決定部33は、調査リスト44に含まれる関係ルールおよび派生ルールの各々に対して、追加対象の処理ルールとの間の包含関係を決定する。探索部34は、包含関係決定部33で得られた包含関係を用いて、ネットワーク中の全ての処理ルール、追加対象のルール、および、追加対象の処理ルールから派生した派生ルールの各々について、包含関係を探索する。例えば、探索部34は、ネットワーク中の全ての処理ルール、追加対象のルール、および、追加対象の処理ルールから派生した派生ルールを含むハッセ図を生成する。順序決定部35は、複数の処理ルールを追加する際に、処理ルールの追加処理を行う順序を決定する。
The
図3は、情報処理装置10のハードウェア構成の例を説明する図である。情報処理装置10は、プロセッサ101、メモリ102、入力装置103、出力装置104、および、バス105を備える。さらに、情報処理装置10は、記憶装置106、可搬記憶媒体駆動装置107、および、ネットワークインタフェース109の1つ以上を有していても良い。情報処理装置10は、例えば、コンピュータ、サーバ装置などによって実現され得る。
FIG. 3 is a diagram illustrating an example of the hardware configuration of the
プロセッサ101は、任意の処理回路であり、例えば、Central Processing Unit(CPU)とすることができる。プロセッサ101は、制御部30として動作する。プロセッサ101は、例えば、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。メモリ102は、プロセッサ101の動作により得られたデータや、プロセッサ101の処理に用いられるデータを、適宜、記憶する。記憶装置106は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ101などに提供する。メモリ102や記憶装置106は、情報処理装置10において、記憶部40として動作する。
バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107、ネットワークインタフェース109を、相互にデータの送受信が可能になるように接続する。入力装置103は、キーボード、マウス、マイク、カメラなど、情報の入力に使用される任意の装置である。入力装置103は、入力部21として動作し得る。出力装置104は、ディスプレイなど、データの出力に使用される任意の装置であり、出力部22を実現できる。可搬記憶媒体駆動装置107は、メモリ102や記憶装置106のデータを可搬記憶媒体108に出力することができ、また、可搬記憶媒体108からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体108は、Compact Disc Recordable(CD-R)やDigital Versatile Disk Recordable(DVD-R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。ネットワークインタフェース109は、適宜、情報処理装置10が他の装置と通信するための処理を行う。情報処理装置10が検証対象のネットワークに接続されており、ネットワーク中のノード装置やから処理ルールなどを取得する場合、ネットワークインタフェース109によって入力部21が実現され得る。さらに、オペレータが使用する管理端末から検証対象のネットワーク中に設定されている処理ルールの情報や追加対象のルールが通知される場合、ネットワークインタフェース109が入力部21および出力部22として動作し得る。ネットワークインタフェース109が出力部22として動作する場合、情報処理装置10は、得られた結果をオペレータの管理端末に送信できる。
A
<第1の実施形態>
以下、ネットワークで用いられる処理ルールの例とネットワークの設定例、処理ルールの追加のための関係ルールの特定、調査リストの生成、探索処理に分けて説明する。第1の実施形態を実施する情報処理装置10は、順序決定部35を含んでも良く、また、順序決定部35を含んでいなくてもよい。
<First Embodiment>
Examples of processing rules used in a network, examples of network settings, identification of related rules for adding processing rules, generation of a survey list, and search processing will be described below. The
(1)処理ルールの例とネットワークの設定例
図4は、ルール情報41の例を説明する図である。ルール情報41は、R1に示すようにACL(Access-control list)ルールであってもよく、また、R2に示すようにルーティングルールであってもよい。R1に示すACLルールには、ルールID、処理対象のパケットを特定するための情報、処理ルールが含まれる。R1の例では、処理ルールは、パケットの通過の許可(Allow)とパケットと通過させない(Deny)ための処理のいずれかである。また、R1では、処理対象のパケットを特定するための情報には、送信元IPアドレス(IP-SA)、宛先IPアドレス(IP-DA)、送信元ポート番号、宛先ポート番号、および、プロトコルの5タプルの情報が含まれる。R1に含まれるルールID=1のルールでは、送信元IPアドレス=221.38.7.9/32、宛先IPアドレス=203.21.45.10/32であり、送信元ポート番号と宛先ポート番号が65536以下のプロトコルAのパケットを通過させる。同様に、他のルールについても、そのルールの適用範囲は5タプルの情報から特定される。
(1) Example of Processing Rule and Example of Network Setting FIG. 4 is a diagram illustrating an example of the
R2の例では、各ルールは、ルールID、ルールが適用されるネットワーク中のノード装置、宛先のIPprefix、Nexthop情報を含む。例えば、ルールID=1のルールによると、Node0で識別されるノード装置では、IPプレフィックスが0.0.0.12/30のパケットはNode2で識別されるノード装置に転送される。 In the R2 example, each rule includes a rule ID, a node device in the network to which the rule applies, a destination IPprefix, and Nexthop information. For example, according to the rule with rule ID=1, the node device identified by Node0 forwards the packet with the IP prefix 0.0.0.12/30 to the node device identified by Node2.
図5は、ルールの適用範囲の管理方法の例を説明する図である。以下の説明では、パケットに適用される処理の種類が同じ領域をPEC(Packet Equivalence Class)と記載する。図5の例では、ネットワークにルールaとルールbが適用されている。ルールaでは、送信元IPアドレスがRaに示す範囲(133.28.116.0~133.28.116.255)のパケットの通過を許可する。ルールaが適用される範囲をαで示す。ルールbでは、宛先IPアドレスがRbに示す範囲(202.248.10.0~202.248.10.255)のパケットを、ノード装置Xに転送する。ルールbが適用される範囲をβで示す。図5の点描が入っている領域(#PEC C)は、送信元IPアドレスがRaに示す範囲であり、かつ、宛先IPアドレスがRbに示す範囲のパケットであるので、αとβの両方に含まれている。従って、ルールaとルールbが設定されたノード装置は、#PEC Cに含まれるパケットの通過を許可するとともに、#PEC Cに含まれるパケットをノード装置Xに転送する。 FIG. 5 is a diagram illustrating an example of a method for managing the scope of application of rules. In the following description, an area in which the same type of processing is applied to packets is referred to as PEC (Packet Equivalence Class). In the example of FIG. 5, rule a and rule b are applied to the network. Rule a permits passage of packets whose source IP address is in the range indicated by Ra (133.28.116.0 to 133.28.116.255). The range to which rule a is applied is denoted by α. According to rule b, packets whose destination IP address is in the range indicated by Rb (202.248.10.0 to 202.248.10.255) are transferred to the node device X. The range to which rule b is applied is denoted by β. The stippled area (#PEC C) in FIG. 5 is a packet whose source IP address is in the range indicated by Ra and whose destination IP address is in the range indicated by Rb. include. Therefore, the node equipment to which rule a and rule b are set permits passage of the packet included in #PEC C and transfers the packet included in #PEC C to node equipment X.
αに示す領域のうちで#PEC Cを除いた領域を#PEC Aとする。#PEC Aでは、ルールaが適用されるがルールbは適用されない。このため、#PEC Aに含まれるパケットは、ルールaに従って、通過が許可される。βに示す領域のうちで#PEC Cを除いた領域を#PEC Bとする。#PEC Bでは、ルールbが適用されるがルールaは適用されない。このため、PEC# Bに含まれるパケットは、ルールbに従って、ノード装置Xに転送される。 Let #PEC A be the area excluding #PEC C in the area indicated by α. # For PEC A, rule a applies but rule b does not. Therefore, packets included in #PEC A are permitted to pass according to rule a. Let #PEC B be the area excluding #PEC C in the area indicated by β. # In PEC B, rule b applies but rule a does not. Therefore, the packet included in PEC# B is transferred to node equipment X according to rule b.
図5に示す#PEC Cでは、ルールaとルールbが組み合わされている。そこで、#PEC Cで適用されるルールは、ルールaとルールbから派生したルールであるといえる。このように、複数の処理ルールの組み合わせなどの処理ルールのブール結合を、新たなルール(派生ルール)として管理できる。 In #PEC C shown in FIG. 5, rule a and rule b are combined. Therefore, it can be said that the rule applied in #PEC C is a rule derived from rule a and rule b. In this way, a Boolean combination of processing rules, such as a combination of multiple processing rules, can be managed as a new rule (derived rule).
図6は、処理ルールの適用範囲についてのベン図とハッセ図の例を説明する図である。ルールa、ルールb、ルールc、および、ルールeがネットワークに適用されるとする。ルールaの適用範囲は、ルールb、ルールc、ルールeの各々の適用範囲を包含しているとする。ルールbとルールcは適用範囲の一部が重複するが、いずれも他方の適用範囲を包含していないとする。この場合、ルールbとルールcが重複して適用される領域は、ルールbとルールcの組み合わせの派生ルールdが適用されると考える。さらに、ルールeはルールdに包含されるとする。すると、各ルールの適用範囲は、ベン図B1に示すとおりになる。 FIG. 6 is a diagram illustrating an example of a Venn diagram and a Hasse diagram of the application range of processing rules. Let rule a, rule b, rule c, and rule e apply to the network. It is assumed that the scope of application of rule a includes the scope of application of each of rule b, rule c, and rule e. It is assumed that rule b and rule c partly overlap in scope, but neither of them includes the scope of the other. In this case, it is considered that derived rule d, which is a combination of rule b and rule c, is applied to a region to which rule b and rule c are applied in duplicate. Further assume that rule e is subsumed by rule d. Then, the scope of application of each rule becomes as shown in Venn diagram B1.
ベン図B1に示すルール間の関係は、ハッセ図H1に示す半順序集合として表せる。ハッセ図H1の最上位レイヤはルールaであり、ルールaの下のレイヤにルールbとルールcがある。ルールbとルールcの重複部分であるルールdは、ルールbおよびルールcの下のレイヤに表される。ルールeの適用範囲は、ルールdの適用範囲に包含されるので、ルールeはルールdの下のレイヤで表される。 The relationship between rules shown in Venn diagram B1 can be expressed as a partially ordered set shown in Hasse diagram H1. The top layer of Hasse diagram H1 is rule a, and the layers below rule a are rule b and rule c. Rule d, the overlapping part of rule b and rule c, is represented in a layer below rule b and rule c. The scope of rule e is included in the scope of rule d, so rule e is represented in a layer below rule d.
各ルールが適用される領域をPECで表すと、ベン図B2の通りになる。ルールaのみが適用される領域は#PEC Aであり、ルールbのみが適用される領域は#PEC Bである。ルールcのみが適用される領域は#PEC Cであり、ルールeのみが適用される領域は#PEC Eである。さらに、ルールbとルールcの組み合わせであるルールdのみが適用される領域は#PEC Dである。 When the area to which each rule is applied is represented by PEC, it becomes as shown in Venn diagram B2. The area where only rule a is applied is #PEC A, and the area where only rule b is applied is #PEC B. The region to which only rule c applies is #PEC C, and the region to which only rule e applies is #PEC E. Furthermore, the region to which only rule d, which is a combination of rule b and rule c, is applied is #PEC D.
図6には、各PECに収容される範囲を表す数式も記載されている。各数式では、ルールの適用される範囲をそのルールを表すアルファベットの小文字で示している。従って、aは、ルールaの適用範囲である。従って、#PEC A=a-(#PEC B+#PEC C+#PEC D+#PEC E)という式は、ルールaの適用範囲から#PEC B、#PEC C、#PEC D、#PEC Eを差し引いた範囲を表す。同様に、#PEC B=b-(#PEC D+#PEC E)という式は、ルールbの適用範囲から#PEC Dと#PEC Eを差し引いた範囲を表す。#PEC C=c-(#PEC D+#PEC E)という式は、ルールcの適用範囲から#PEC DとPEC# Eを差し引いた範囲を表す。#PEC D=d-#PEC Eという式は、ルールdの適用範囲から#PEC Eを差し引いた範囲を表す。さらに、#PEC E=eという式は、ルールeの適用範囲の全範囲を表す。 Also shown in FIG. 6 are formulas representing the range accommodated in each PEC. In each formula, the range to which the rule applies is indicated by the lowercase letter representing the rule. Therefore, a is the scope of rule a. Therefore, the formula #PEC A=a-(#PEC B+#PEC C+#PEC D+#PEC E) is obtained by subtracting #PEC B, #PEC C, #PEC D, and #PEC E from the scope of rule a. represents a range. Similarly, the formula #PEC B=b−(#PEC D+#PEC E) represents the range of rule b minus #PEC D and #PEC E. The formula #PEC C=c−(#PEC D+#PEC E) represents the scope of rule c minus #PEC D and PEC# E. The formula #PEC D=d−#PEC E represents the scope of rule d minus #PEC E. Furthermore, the expression #PEC E=e represents the full range of applicability of rule e.
図7は、探索処理を行うネットワークのルールを表すハッセ図の例である。ルール1~ルール55の処理ルールとルール1~ルール55から派生した派生ルールがネットワークに設定されているとする。以下の説明では、ネットワークに設定される処理ルールと派生ルールを区別しやすくするために、処理ルールの識別情報を数字で表し、派生ルールの識別情報をアルファベットで表す。ネットワーク中に設定されているルールと派生ルールは、図7に示すハッセ図中のノードとして表されている。
FIG. 7 is an example of a Hasse diagram showing rules of a network for performing search processing. Assume that the processing rules of
図8は、派生ルールマップ43の例を説明する図である。図8に示す派生ルールマップ43は、図7に示すハッセ図で表されるようにルールが設定されているネットワークでの派生ルールマップ43の例である。ルールの追加設定を行ったときに派生ルールが発生すると、派生ルールの識別情報が生成され、派生ルールマップ43に登録される。図8に示す派生ルールマップ43の1番目のエントリには、ルール5の追加の際に派生ルールaが発生していることが表されている。図7のハッセ図にも、ルール2とルール5の下のレイヤに派生ルールaが記録されている。派生ルールマップ43の他のルールについても、同様に、各派生ルールは、その派生ルールが発生する原因となったルールのうちの1つに対応付けて派生ルールマップ43に記録される。
FIG. 8 is a diagram illustrating an example of the derived
(2)関係ルールの特定
以下の説明では、図7と図8で示すネットワークに、新たにルール56を設定する場合に、ルール56の適用範囲と他のルールの適用範囲との関係を探索する場合を例とする。新たにルール56を追加する場合、図7に示す各ノードで表されるルールの各々についてのルール56との間の包含関係の情報を用いることになる。しかし、図7中のハッセ図の全てのノードについて、ルール56との包含関係を特定するための処理を行うと、情報処理装置10での計算量が多くなる。
(2) Identification of related rules In the following description, when a
そこで、情報処理装置10は、まず、ルール56の関係ルールを特定する。ルール56の関係ルールは、ルール56の適用対象をそのルールの適用対象に包含するルール、そのルールの適用対象がルール56の適用対象に包含されるルール、ルール56の適用対象と適用対象が一部重複するルールのいずれかである。このため、特定部31は、図7のハッセ図に含まれる各ノードに対応するルールのうち、適用対象がルール56の適用対象の1つ以上のパケットを含まないルールを、追加対象のルール56の関係ルールから除外する。なお、その後の処理では関係ルールが追加対象のルール56との間の包含関係を特定する対象とされる。
Therefore, the
図9は、ルール間の関連の有無を判定する処理の例を説明するフローチャートである。図9では、図4のルールR1に示すように、5タプルのACLルールを追加する場合を例とする。なお、図9は処理の一例にすぎず、処理の手順は実装に応じて変更され得る。例えば、ステップS12~S16の判定処理の順序は任意に変更され得る。 FIG. 9 is a flowchart illustrating an example of processing for determining whether there is a relationship between rules. In FIG. 9, a case of adding a 5-tuple ACL rule as shown in rule R1 in FIG. 4 is taken as an example. Note that FIG. 9 is only an example of processing, and the processing procedure may be changed according to implementation. For example, the order of determination processing in steps S12 to S16 can be arbitrarily changed.
まず、ネットワーク中に設定されているルールの各々について、ループ端L1とL2で挟まれたループ処理が行われる。以下、ループ端L1とL2で挟まれたループのことを「判定ループ」と記載することがある。特定部31は、ネットワーク中に設定されているルールのうちで、判定ループでの処理が行われていないルールを選択する(ステップS11)。特定部31は、選択したルールと追加対象のルールの間で、送信元IPアドレスに重なりがあるかを判定する(ステップS12)。選択したルールと追加対象のルールの間で送信元IPアドレスに重なりがない場合、特定部31は、選択したルールと追加対象のルールの間には重複する領域がないと判定する(ステップS12でNo、ステップS18)。一方、選択したルールと追加対象のルールの間で送信元IPアドレスに重なりがある場合、特定部31は、選択したルールと追加対象のルールの間で宛先IPアドレスに重なりがあるかを判定する(ステップS12でYes、ステップS13)。
First, loop processing between loop ends L1 and L2 is performed for each of the rules set in the network. Hereinafter, a loop sandwiched between loop ends L1 and L2 may be referred to as a "judgment loop". The specifying
選択したルールと追加対象のルールの間で宛先IPアドレスに重なりがない場合、特定部31は、選択したルールと追加対象のルールの間には重複する適用領域がないと判定する(ステップS13でNo、ステップS18)。一方、選択したルールと追加対象のルールの間で宛先IPアドレスに重なりがある場合、特定部31は、選択したルールと追加対象のルールの間で送信元ポートに重なりがあるかを判定する(ステップS13でYes、ステップS14)。
If there is no overlap in the destination IP addresses between the selected rule and the rule to be added, the specifying
選択したルールと追加対象のルールの間で送信元ポ-トに重なりがない場合、特定部31は、選択したルールと追加対象のルールの間には重複する適用領域がないと判定する(ステップS14でNo、ステップS18)。一方、選択したルールと追加対象のルールの間で送信元ポートに重なりがある場合、特定部31は、選択したルールと追加対象のルールの間で宛先ポートに重なりがあるかを判定する(ステップS14でYes、ステップS15)。
If there is no overlap in the transmission source port between the selected rule and the rule to be added, the specifying
選択したルールと追加対象のルールの間で宛先ポ-トに重なりがない場合、特定部31は、選択したルールと追加対象のルールの間には重複する適用領域がないと判定する(ステップS15でNo、ステップS18)。一方、選択したルールと追加対象のルールの間で送信元ポートに重なりがある場合、特定部31は、選択したルールと追加対象のルールの間でプロトコルに重なりがあるかを判定する(ステップS15でYes、ステップS16)。
If the destination port does not overlap between the selected rule and the rule to be added, the identifying
選択したルールと追加対象のルールの間でプロトコルに重なりがない場合、特定部31は、選択したルールと追加対象のルールの間には重複する適用領域がないと判定する(ステップS16でNo、ステップS18)。一方、選択したルールと追加対象のルールの間でプロトコルに重なりがある場合、特定部31は、選択したルールと追加対象のルールの間で重複する適用領域があると判定する(ステップS16でYes、ステップS17)。
When there is no protocol overlap between the selected rule and the rule to be added, the specifying
その後、特定部31は、全てのルールが選択済みかを判定する(ループ端L2)。全てのルールが選択済みではない場合、ステップS11以降の処理が繰り返される(ループ端L2でNo)。一方、全てのルールが選択済みである場合、特定部31は、関係ルールマップ42を生成する(ループ端L2でYes、ステップS19)。ステップS19では、特定部31は、ステップS17において、追加対象のルールとの間に重複する適用領域があると判定したルールを関係ルールとして、関係ルールマップ42に記録する。
After that, the specifying
図10は、関係ルールマップの例を説明する図である。ルール56が追加対象のルールである場合に、図7に示すルール1~ルール55の各々に対して図9のフローチャートで説明する処理を行ったとする。その結果、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40については、ルール56との間に重複する適用領域があると判定された場合、図10に示す関係ルールマップ42が生成される。
FIG. 10 is a diagram illustrating an example of a relationship rule map. Assume that when
以下で説明するように、関係ルールマップ42に記録されているルールは包含関係を特定するための詳細な探索処理として後述する処理(図13A、図13B)の対象となる。一方、図9において、追加対象のルールと重複する領域が適用範囲にないと判定されたルールは、関係ルールマップ42に記録されず、包含関係を特定するための詳細な探索処理として後述する処理の対象にもならない。このため、情報処理装置10では、図7に示すハッセ図の各ノードについて追加対象のルールとの間の包含関係を特定する場合に比べて、ルールの適用範囲を特定するための計算処理が軽減される。
As will be described below, the rules recorded in the
(3)調査リストの生成
図11は、調査リスト44の生成方法の例を説明するフローチャートである。リスト生成部32は、関係ルールマップ42と派生ルールマップ43を用いて調査リスト44を生成する。例えば、ルール56について図10に示す関係ルールマップ42が得られており、ネットワーク中の派生ルールマップ43は図8に示すとおりであるとする。
(3) Generating Survey List FIG. 11 is a flow chart illustrating an example of a method for generating the
リスト生成部32は、関係ルールマップ42を調査リスト44にコピーする(ステップS31)。従って、ルール56を追加するための探索処理でステップS31が終わった時点では、調査リスト44には、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40が記録される。
The
次に、ループ端L11とL12で挟まれたループ処理が行われる。以下、ループ端L11とL12で挟まれたループのことを「ノード追加ループ」と記載することがある。リスト生成部32は、関係ルールマップ42中のルールから、注目するルールを特定する(ステップS32)。リスト生成部32は、注目するルールについて、派生ルールマップ43の記録があるかを判定する(ステップS33)。注目するルールについて、派生ルールマップ43の記録がある場合、リスト生成部32は、注目するルールに対応付けて派生ルールマップ43に記録されている派生ルールを調査リスト44に追加する(ステップS33でNo、ステップS34)。例えば、調査リスト44中のルール5が注目するルールとして特定されている場合、派生ルールマップ43にはルール5に対応付けて派生ルールaが記録されている。ステップS34の処理によりリスト生成部32が派生ルールaを調査リスト44に追加するので、更新後の調査リスト44には、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40、ルールaが記録される。
Next, a loop process sandwiched between loop ends L11 and L12 is performed. Hereinafter, a loop sandwiched between loop ends L11 and L12 may be referred to as a "node addition loop". The
ステップS34の処理後か、ステップS33で注目するルールについての派生ルールマップ43の記録がないと判定した場合、リスト生成部32は、関係ルールマップ42中の全てのルールに注目したかを判定する(ループ端L12)。関係ルールマップ42中の全てのルールに注目していない場合、ステップS32以降の処理が繰り返される(ループ端L12でNo)。
After the process of step S34 or when it is determined in step S33 that there is no record of the derived
例えば、リスト生成部32は、ルール15を注目するノードに特定したとすると、ステップS34の処理で派生ルールcと派生ルールdを調査リスト44に追加する。このため、調査リスト44には、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40、ルールa、ルールc、ルールdが記録される。ステップS31に戻って、リスト生成部32がルール27を選択した場合、ルール27に対応付けられたルールが派生ルールマップ43に記録されていないので、調査リスト44は変更されず、再度、ステップS31以降の処理が行われる。次に、リスト生成部32は、ルール28を注目するルールとして特定するので、ステップS34の処理で派生ルールmを調査リスト44に追加する。このため、調査リスト44には、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40、ルールa、ルールc、ルールd、ルールmが記録される。その後、注目するルールがルール40に変更された場合には、ルール40に対応付けられたルールが派生ルールマップ43に記録されていないので、調査リスト44は変更されない。
For example, assuming that the
関係ルールマップ42中の全てのルールに注目した場合、リスト生成部32は処理を終了する(ループ端L12でYes)。このため、ルール56を追加する処理のために生成される調査リスト44には、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40、ルールa、ルールc、ルールd、ルールmが含まれる。
When all the rules in the
図12は、探索対象のノードの特定例を説明する図である。図12には、ルール56を追加する処理のために生成される調査リスト44の例と、調査リスト44に記録されている各ルールのハッセ図中の位置を示す。図12に示すハッセ図では、調査リスト44に記録されている各ルールに対応するノードを探索ノードとして示している。探索ノードは、包含関係の探索対象となるノードである。図12に示すように、図9~図11を参照しながら説明した処理により、ルール56との間の包含関係を特定する対象は、ルール1、ルール5、ルール15、ルール27、ルール28、ルール40、ルールa、ルールc、ルールd、ルールmに限定されている。
FIG. 12 is a diagram illustrating an example of specifying a search target node. FIG. 12 shows an example of a
(4)探索処理
図13Aおよび図13Bは、パターンの分類処理の例を説明するフローチャートである。図13Aと図13Bでは、調査対象となるルールと追加対象のルールの間の包含関係を以下の4パターンに分類するものとする。
パターン1:調査対象のルールの適用範囲が追加対象のルールの適用範囲を包含
パターン2:追加対象のルールの適用範囲が調査対象のルールの適用範囲を包含
パターン3:調査対象のルールの適用範囲と追加対象のルールの適用範囲は、一部重複するがいずれのルールの適用範囲も他方の全体を包含しない
パターン4:調査対象のルールの適用範囲と追加対象のルールの適用範囲は重複しない
(4) Search Processing FIGS. 13A and 13B are flowcharts illustrating an example of pattern classification processing. In FIGS. 13A and 13B, the inclusion relationship between the rule to be investigated and the rule to be added is classified into the following four patterns.
Pattern 1: The scope of the rule to be investigated includes the scope of the rule to be added Pattern 2: The scope of the rule to be added includes the scope of the rule to be investigated Pattern 3: The scope of the rule to be investigated The scope of application of the rule to be added partially overlaps, but the scope of application of either rule does not encompass the entirety of the other. Pattern 4: The scope of application of the rule to be investigated and the scope of the rule to be added do not overlap
包含関係決定部33は、調査リスト44に含まれているルールに対応するハッセ図中のノードを注目するノードに設定する(ステップS41)。このとき、包含関係決定部33は、ハッセ図中の全てのルールを包含するルール1を最初に注目するノードに設定する。次に、包含関係決定部33は、注目するノードのハッセ図中での子ノードのうち、調査リスト44中のルールに対応するノードを特定する(ステップS42)。
The inclusion
その後、ループ端L21とL22で挟まれたループ処理が行われる。ループ端L21とL22で挟まれたループのことを「パターン分類ループ」と記載することがある。包含関係決定部33は、特定した子ノードのうち、調査対象を決定する(ステップS43)。包含関係決定部33は、調査対象の子ノードの追加で生じたルールの重複を示すノード(派生ノード)を、派生ルールマップ43を用いて特定する(ステップS44)。例えば、図12に示す例では、ルール1のノードの子ノードのうち、ルール5に対応付けられたノードが特定されるので調査対象の子ノードはルール5のノードとなる。さらに、派生ノードは、ルールaのノードとなる。
Thereafter, a loop process sandwiched between loop ends L21 and L22 is performed. A loop sandwiched between loop ends L21 and L22 may be referred to as a "pattern classification loop". The inclusion
次に、ループ端L31とL32で挟まれたループ処理が行われる。ループ端L31とL32で挟まれたループのことを「分類処理ループ」と記載することがある。なお、分類処理ループでは、追加対象のルールに対応するハッセ図中のノードのことを、追加するノードと記載することがある。 Next, a loop process sandwiched between loop ends L31 and L32 is performed. A loop sandwiched between loop ends L31 and L32 may be referred to as a "classification processing loop". In the classification processing loop, the node in the Hasse diagram corresponding to the rule to be added may be referred to as the node to be added.
包含関係決定部33は、調査対象の子ノードと調査対象の子ノードの派生ノードの中から処理対象のノードを特定する(ステップS45)。包含関係決定部33は、処理対象のノードと追加するノードの間で、各ノードに対応付けられたルールの送信元IPアドレスの包含関係を決定する(ステップS46)。次に、包含関係決定部33は、処理対象のノードと追加するノードの間で、各ノードに対応付けられたルールの宛先IPアドレスの包含関係を決定する(ステップS47)。包含関係決定部33は、処理対象のノードと追加するノードの間で、各ノードに対応付けられたルールの送信元ポートの包含関係を決定する(ステップS48)。包含関係決定部33は、処理対象のノードと追加するノードの間で、各ノードに対応付けられたルールの宛先ポートの包含関係を決定する(ステップS49)。包含関係決定部33は、処理対象のノードと追加するノードの間で、各ノードに対応付けられたルールのプロトコルの包含関係を決定する(ステップS50)。包含関係決定部33は、ステップS46~S50で求めた包含関係に基づいて、処理対象のノードと追加するノードの関係をパターン1~4のいずれかに分類する。
The inclusion
例えば、ルール5のノードが処理対象のノードであり、追加対象のルールがルール56であるとする。ここで、ルール5が適用される送信元IPアドレスは、ルール56が適用されるパケットの送信元IPアドレスの範囲を包含し、ルール5が適用される宛先IPアドレスはルール56が適用されるパケットの宛先IPアドレスの範囲を包含するとする。また、ルール5が適用される送信元ポートは、ルール56が適用されるパケットの送信元ポートの範囲を包含し、ルール5が適用される宛先ポートはルール56が適用されるパケットの宛先ポートの範囲を包含するとする。さらに、ルール5が適用されるプロトコルは、ルール56が適用されるパケットのプロトコルを包含しているとする。この場合、包含関係決定部33は、ルール5はルール56を包含すると判定する。すなわち、ルール5とルール56の関係はパターン1である。
For example, assume that the node of
包含関係決定部33は、調査対象の子ノードと調査対象の子ノードの派生ノードの全てを処理対象としたかを判定する(ループ端L32)。調査対象の子ノードと調査対象の子ノードの派生ノードの全てを処理対象としていない場合、包含関係決定部33は、ステップS45以降の処理を繰り返す(ループ端L32でNo)。例えば、包含関係決定部33は、ステップS45において処理対象のノードをノードaに設定して、以降の処理を行うことができる。例えば、ステップS46において、包含関係決定部33は、ルールaが適用される送信元IPアドレスは、ルール56が適用されるパケットの送信元IPアドレスの範囲と重複しないと判定したとする。すると、その後のステップS47~S50の包含関係の結果によらず、包含関係決定部33は、ルールaとルール56の関係はパターン4であると判定する。
The inclusive
一方、調査対象の子ノードと調査対象の子ノードの派生ノードの全てを処理対象とした場合、包含関係決定部33は、ステップS42で特定した子ノードの全てを処理対象としたかを判定する(ループ端L32でYes、ループ端L22)。特定した子ノードの全てを処理対象としていない場合、包含関係決定部33は、ステップS43以降の処理を繰り返す(ループ端L22でNo)。一方、特定した子ノードの全てを処理対象とした場合、包含関係決定部33は処理を終了する(ループ端L22でYes)。
On the other hand, if all of the child node to be investigated and the derived nodes of the child node to be investigated are to be processed, the inclusion
図13Aと図13Bに示す処理がハッセ図中の1つのレイヤについて行われた後で、処理を行ったレイヤの下のレイヤについても。図13Aと図13Bに示す処理が行われる。例えば、ルール1をステップS41での注目するノードにした処理が終わると、次に、ルール5のノードを注目するノードとして、図13Aと図13Bに示す処理が行われる。その後も、ハッセ図中の最下層のレイヤのノードと追加対象のルールとの間の包含関係が求められるまで、図13Aと図13Bに示す処理が行われる。
After the processing shown in FIGS. 13A and 13B has been performed for one layer in the Hasse diagram, also for the layer below the processed layer. The processing shown in FIGS. 13A and 13B is performed. For example, after the process of setting
なお、図13Aと図13Bに示す処理は一例であり、実装に応じて処理は変更され得る。例えば、ステップS46~S50で行われる包含関係の決定処理の順序は、任意に変更され得る。 Note that the processing shown in FIGS. 13A and 13B is an example, and the processing may be changed according to implementation. For example, the order of the inclusion relationship determination process performed in steps S46 to S50 can be arbitrarily changed.
探索部34は、図13Aと図13Bに示す処理によって得られた包含関係を用いて、ネットワーク中に設定されている全てのルールの全体を表すハッセ図中で、追加対象のルールに対応するノードを追加する位置を探索する。また、追加対象のルールを追加することにより、新たな派生ルールが発生する場合には、探索部34は、新たな派生ルールを登録するための処理も行う。
13A and 13B, the
図14は、ルールの追加によって派生ルールが発生する場合の処理の例を説明するフローチャートである。図14の処理では、変数nと定数Nが使用される。変数nは、処理対象としたルールの数の計数に使用される。定数Nは探索ノードの総数である。探索部34は、変数nを1に設定する(ステップS61)。探索部34は、追加対象のルールがn番目のルールとの間でパターン3の関係にあるかを判定する(ステップS62)。追加対象のルールがn番目のルールとの間でパターン3の関係にない場合、追加対象のルールは、他のルールとパターン1、パターン2、パターン4のいずれかである(ステップS62でNo)。この場合、追加対象のルールを追加してもn番目のルールとの重複による派生ルールは発生しない。
FIG. 14 is a flowchart for explaining an example of processing when a derived rule is generated by adding a rule. Variable n and constant N are used in the process of FIG. A variable n is used to count the number of rules to be processed. The constant N is the total number of search nodes. The
一方、追加対象のルールがn番目のルールとの間でパターン3の関係にある場合、追加対象のルールを追加することにより、追加対象のルールとn番目のルールの両方が適用される範囲を適用範囲とする派生ルールが発生する(ステップS62でYes)。そこで、探索部34は、追加対象のルールとn番目のルールの両方の適用を意味する派生ルールを識別する識別情報を生成する(ステップS63)。探索部34は、生成した識別情報を、追加対象のルールと対応付けて派生ルールマップ43に記録する(ステップS64)。探索部34は、生成した識別情報で識別されるルールに対応するルールをハッセ図に追加する(ステップS65)。
On the other hand, if the rule to be added has a relationship of
ステップS62でNoと判定した場合か、ステップS65の処理が終わった場合、探索部34はn番目のルールについて処理を終了するために、nの値を1つインクリメントする(ステップS66)。探索部34は、変数nを定数Nと比較する(ステップS67)。変数nが定数N以下の場合、探索部34は、ステップS62以降の処理を繰り返す(ステップS67でNo)。一方、変数nが定数Nを超えると、探索部34は、ステップ処理を終了する(ステップS67でYes)。
If it is determined No in step S62 or if the process of step S65 is finished, the
図15は、探索処理により得られたハッセ図の例である。図15の例では、ルール56は、ルール27とルール28の両方が適用されることを意味する派生ルールmに包含される部分を有する。さらに、ルール27に包含されているルール40とルール56の間で適用範囲が一部重複している。このため、図14に示す処理により、探索部34は、ルール40とルール56の両方を適用することを意味する派生ルールを派生ルールxとしている。従って、図15に示すルール56に対応するノードは、ルール56が適用される領域のうち、ルール56のみが適用される領域を表す。一方、派生ルールxに対応するノードは、ルール40とルール56の両方が適用される領域を表す。さらに、図15におけるルール40のノードに対応する領域は、ルール40の適用範囲のうち、ルール40のみが適用される領域となる。
FIG. 15 is an example of a Hasse diagram obtained by the search process. In the example of FIG. 15,
以上説明したように、第1の実施形態にかかる探索方法では、追加対象のルールと適用範囲の重複がないルールは、包含関係を特定するための詳細な探索処理(図13A、図13B)の対象とならない。また、ネットワークに設定済みの各ルールについて、パターン4であるかの判定のための処理での計算は、図9などを参照しながら説明したように、包含関係を特定するための詳細な探索処理での計算量よりも少ない。例えば、図9のようにルール同士で適用範囲が重複するかを判定する場合、各パラメータの上限と下限の比較を行うだけの処理で済む。比較対象となるパラメータが送信元IPアドレスであるとする。この場合、追加対象のルールのアドレス空間の上限より重複するかの判定の対象のルールアドレスの下限の方が小さいかの判定と、追加対象のルールのアドレス空間の下限より重複するかの判定の対象のルールアドレスの上限の方が大きいかの判定をすればよい。一方、図13A、図13Bでの処理のように、各パラメータの包含関係を判定する場合には、各パラメータが重複するかを判定する場合の数倍以上の処理負荷がかかる。従って、情報処理装置10は、追加対象のルールとの包含関係を特定する処理を関係ルールと関係ルールの派生ルールに限定することで、処理負荷が大幅に軽減されている。すなわち、情報処理装置10では、図7に示すハッセ図の各ノードについて追加対象のルールとの間の包含関係を特定する場合に比べて、ルールの適用範囲を特定するための計算処理が軽減される。
As described above, in the search method according to the first embodiment, a rule whose scope does not overlap with a rule to be added is subjected to detailed search processing (FIGS. 13A and 13B) for specifying an inclusion relationship. Not applicable. Also, for each rule already set in the network, the calculation in the process for determining whether it is
<第2の実施形態>
第2の実施形態では、複数のルールを一度に設定する場合の実施形態について説明する。第2の実施形態を実施する情報処理装置10は順序決定部35を備えるものとする。
<Second embodiment>
In the second embodiment, an embodiment in which a plurality of rules are set at once will be described. The
複数のルールをネットワークに設定する場合、ハッセ図上で上のレイヤに書かれるノードに対応するルールほど、そのルールが包含するルール数やそのルールから派生するルール数が多いことが予測される。このため、ハッセ図上で上のレイヤに書かれるノードを、他のノードの後から追加する場合、第1の実施形態を適用したとしても多数のルールとの比較を行うことになる。例えば、図15のハッセ図のルール1~ルール4、および、ルール6~ルール56が追加された後にルール5を追加する場合、ルール5との間の包含関係が調査される対象となる処理ルール(関係ルール)は、ルール2、ルール7、ルール12~ルール56となる。さらに、ルール5の追加前に追加されている派生ルールのうち関係ルールから派生したルールについても、ルール5との間で包含関係が調査される対象となる。
When multiple rules are set in a network, it is expected that the rules corresponding to nodes written in higher layers on the Hasse diagram will contain more rules and the number of rules derived from those rules. Therefore, when a node written in an upper layer on the Hasse diagram is added after another node, even if the first embodiment is applied, comparison with many rules is performed. For example, when adding
このように、ハッセ図上で上のレイヤに記載されるノードほど、後から追加する場合に追加処理にかかる計算量が多くなる。そこで、第2の実施形態では、順序決定部35は、ハッセ図上で上のレイヤにくる確率の高いルールから先にネットワークに追加してハッセ図を生成するように、追加処理対象のルールの追加処理の順序を決定する。ハッセ図上で上のレイヤにくる確率の高いルールは、関係ルールの数が多いことが予測される。そこで、順序決定部35は、追加対象のルールのうち、関係ルールの数が多いルールほど先に追加処理が行われるように順序を決定する。
In this way, the higher the node described in the Hasse diagram, the greater the amount of calculation required for the addition process when added later. Therefore, in the second embodiment, the
図16は、ルールを追加する順序の決定方法の例を説明する図である。図16では、変数xと定数Xを用いる。変数xは処理したルール数の計数に使用される。定数Xは追加するルールの総数である。順序決定部35は、変数xを1に設定する(ステップS71)。特定部31は、x番目の追加対象のルールについて関係ルールを求め、得られた結果を順序決定部35に出力する。順序決定部35は、特定部31から得られた情報を用いて、x番目の追加対象のルールについて関係ルールの数(Rnum)を求める(ステップS72)。順序決定部35は変数xを1つインクリメントして、変数xを定数Xと比較する(ステップS73、S74)。変数xが定数X以下の場合、ステップS72以降の処理が繰り返される(ステップS74でNo)。一方、変数xが定数Xを超えた場合、全ての追加対象のルールについて、関係ルールの数が求められている(ステップS74でNo)。そこで、順序決定部35は、Rnumが多い順に各ルールの追加処理の順序を決定する(ステップS75)。
FIG. 16 is a diagram illustrating an example of a method for determining the order of adding rules. In FIG. 16, variable x and constant X are used. The variable x is used to count the number of rules processed. The constant X is the total number of rules to add. The
なお、関係ルールの特定方法やルールを追加する順序の決定後の各ルールの追加処理は、第2の実施形態でも第1の実施形態と同様である。 Note that the method of specifying the relational rule and the process of adding each rule after determining the order of adding the rules are the same in the second embodiment as in the first embodiment.
図17は、ネットワークに設定される各ルールの適用領域の探索にかかる時間の短縮例である。図17のグラフの縦軸は、PECの領域分けにかかる時間である。図17のグラフの横軸は、ネットワークに設定されるルールの総数である。なお、ネットワークに設定されるルールの数は、一般にネットワークの規模が大きくなるほど大きくなるので、ネットワークに設定されるルールの数は、ネットワーク規模を表す指標であるといえる。 FIG. 17 shows an example of reducing the time required to search for the application area of each rule set in the network. The vertical axis of the graph in FIG. 17 is the time required for PEC segmentation. The horizontal axis of the graph in FIG. 17 is the total number of rules set in the network. Since the number of rules set in a network generally increases as the scale of the network increases, it can be said that the number of rules set in the network is an index representing the scale of the network.
図17のグラフの黒丸は、実施形態にかかる方法を適用していない場合に、各ルールの適用領域の探索にかかる時間の例である。一方、白丸は、第1および第2の実施形態にかかる探索方法を適用した場合に各ルールの適用領域の探索にかかる時間の例である。ネットワークに設定されるルール数が比較的小さい間は両者に大きな違いはないが、ネットワークに設定されるルール数が10000を超えるあたりから白丸のほうが黒丸よりも低い値となる。また、白丸と黒丸の所要時間の差は、ネットワークに設定されるルール数の増加に伴って増加する。例えば、ルール数が80000にもなる大規模ネットワークでは、実施形態にかかる探索方法を用いない場合、各ルールの適用領域を特定するために7時間近くかかる。しかし、第1および第2の実施形態を併用すると、ルール数が80000の大規模ネットワークでの各ルールの適用領域の特定が10分程度で行われる。 The black circles in the graph of FIG. 17 are examples of the time required to search the application area of each rule when the method according to the embodiment is not applied. On the other hand, the white circles are examples of the time required to search the application area of each rule when the search methods according to the first and second embodiments are applied. As long as the number of rules set in the network is relatively small, there is not much difference between the two, but when the number of rules set in the network exceeds 10000, the white circles have a lower value than the black circles. Also, the difference in the required time between the white circles and the black circles increases as the number of rules set in the network increases. For example, in a large-scale network with 80,000 rules, it takes nearly seven hours to identify the application area of each rule without using the search method according to the embodiment. However, if the first and second embodiments are used together, it takes about 10 minutes to identify the application area of each rule in a large-scale network with 80,000 rules.
このように、第1の実施形態と第2の実施形態を用いることにより、追加対象のルールとの間の包含関係を特定する対象は、関係ルールと関係ルールから派生した派生ルールに限定される。また、関係ルール数の多いルールから順に設定されるので、処理対象とする関係ルールの数は、ルールの追加順序を無作為に決定する場合に比べて少なくなる。従って、第1および第2の実施形態にかかる探索方法では、処理ルールの組み合わせを、その組み合わせのもととなった各ルールと別個の派生ルールとして記載する場合での、各処理ルールの適用範囲の包含関係を探索するための処理が効率化される。処理ルールの組み合わせを別個の派生ルールとしたときの各処理ルールの適用範囲の包含関係の特定処理が効率化されることにより、ネットワークの検証処理が効率化される。 In this way, by using the first embodiment and the second embodiment, the target for specifying the inclusion relationship between the rule to be added is limited to the relational rule and the derived rule derived from the relational rule. . In addition, since rules are set in descending order of the number of relational rules, the number of relational rules to be processed is smaller than in the case of randomly determining the addition order of rules. Therefore, in the search methods according to the first and second embodiments, the scope of application of each processing rule when a combination of processing rules is described as a derived rule separate from each rule that is the basis of the combination The processing for searching for the inclusion relationship of is made efficient. The network verification process is made more efficient by streamlining the process of identifying the inclusion relationship of the scope of application of each process rule when a combination of process rules is made into separate derived rules.
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
<Others>
Note that the embodiment is not limited to the above, and various modifications are possible. Some examples are given below.
例えば、図13Aと図13Bを用いて説明した分類処理ループの処理において、図9のフローチャートのように、包含関係があるかを判定する各パラメータのいずれかが重なりがない場合には、他のパラメータの包含関係を判定せずにパターン4と判定しても良い。このように処理を変形すると、例えば、ステップS46で処理対象のノードと追加するノードの間で送信元IPアドレスの重複がないと判定すると、ステップS47~S50の処理を省略した上で、パターン4に分類できる。このため、分類処理ループでの処理負荷がさらに低減される。
For example, in the processing of the classification processing loop described with reference to FIGS. 13A and 13B, as shown in the flowchart of FIG.
以上の説明で述べたテーブルやルールなどは一例であり、テーブル中の情報要素や各ルールの定義に使用されるパラメータは実装に応じて変更され得る。例えば、ACLルールの定義には5タプルの情報のうちの一部のみが使用されても良い。さらに、プロトコルなどのパラメータの指定方法も実装に応じて任意に変更され得る。例えば、プロトコルの指定にプロトコル番号が用いられてもよく、また、プロトコル名が用いられても良い。 The tables and rules described above are examples, and the information elements in the tables and the parameters used to define each rule may be changed according to the implementation. For example, only part of the 5-tuple information may be used to define the ACL rule. Furthermore, the method of specifying parameters such as protocols can be arbitrarily changed according to the implementation. For example, a protocol number may be used to designate a protocol, or a protocol name may be used.
派生ルールマップ43には、複数のルールの組み合わせに含まれる1つのルールに対応付けて派生ルールが記録されるが、実装に応じて派生ルールマップ43の対応付けは変更され得る。例えば、派生ルールで組み合わされる個々のルールに対応付けて派生ルールが記録されても良い。
Derived rules are recorded in the derived
10 情報処理装置
20 入出力処理部
21 入力部
22 出力部
30 制御部
31 特定部
32 リスト生成部
33 包含関係決定部
34 探索部
35 順序決定部
40 記憶部
41 ルール情報
42 関係ルールマップ
43 派生ルールマップ
44 調査リスト
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 可搬記憶媒体駆動装置
108 可搬記憶媒体
109 ネットワークインタフェース
10
Claims (7)
前記関係ルールの各々について、当該関係ルールと前記追加ルールとの間の包含関係を決定し、
前記関係ルールを少なくとも1つ含む、前記複数のルールのうちの2つ以上のルールの組み合わせの各々について、当該組み合わせと前記追加ルールとの間の包含関係を決定し、
前記関係ルールおよび前記組み合わせについて決定された包含関係を用いて、前記対象パケットおよび前記複数のルールの各々の間での包含関係を探索する
処理を情報処理装置に行わせることを特徴とする探索プログラム。 Identifying, from among a plurality of rules set in a network for defining packet processing, applicable rules applicable to one or more target packets to which additional rules to be added to the network are applied;
determining, for each of the relationship rules, an inclusion relationship between the relationship rule and the additional rule ;
determining, for each combination of two or more rules of the plurality of rules , including at least one of the relationship rule, an inclusion relationship between the combination and the additional rule ;
A search program for causing an information processing device to search for an inclusion relationship between each of the target packet and the plurality of rules using the relationship rule and the inclusion relationship determined for the combination. .
前記追加ルールが適用されるパケットの特定に使用される1つ以上のパラメータの各々について、前記追加ルールでの当該パラメータの値と、前記判定対象ルールが適用されるパケットの特定に使用される当該パラメータの値の間で重複するかを判定し、
前記1つ以上のパラメータの全てについて重複すると判定した場合に、前記判定対象ルールを前記関係ルールに設定する
処理を前記情報処理装置に行わせることを特徴とする請求項1に記載のプログラム。 selecting a determination target rule for determining whether or not it is the relationship rule from the plurality of rules;
For each of one or more parameters used to identify the packet to which the additional rule is applied, the value of the parameter in the additional rule and the value of the parameter used to identify the packet to which the determination target rule is applied Determines if there is overlap between the values of the parameters,
2. The program according to claim 1, causing the information processing device to perform a process of setting the determination target rule to the relation rule when it is determined that all of the one or more parameters overlap.
前記判定対象ルールが前記関係ルールに設定された場合、前記派生ルールマップで前記判定対象ルールに対応付けられた前記派生ルールを、前記追加ルールとの間の包含関係を特定する前記組み合わせに設定する
処理を前記情報処理装置に行わせることを特徴とする請求項2に記載のプログラム。 The information processing device, when there may be a packet to which the first rule and the second rule included in the plurality of rules are applied in duplicate, divides the first rule and the second rule. a derived rule map that records the combined third rule as a derived rule derived from the second rule in association with the second rule;
When the determination target rule is set to the relationship rule, the derived rule associated with the determination target rule in the derived rule map is set to the combination specifying an inclusion relationship with the additional rule . 3. The program according to claim 2, causing the information processing apparatus to perform processing.
前記識別情報を前記追加ルールと対応付けて、前記派生ルールマップに記録する
処理を前記情報処理装置に行わせることを特徴とする請求項3に記載のプログラム。 Identification information that identifies the other derived rule if, when the additional rule is added to the network, there may be a packet to which another derived rule combining the additional rule and the related rule is applied. to generate
4. The program according to claim 3, causing the information processing apparatus to perform a process of associating the identification information with the additional rule and recording it in the derived rule map.
第1の追加ルールと第2の追加ルールを前記ネットワークに追加する場合、前記第1の追加ルールを追加する際の前記関係ルールの数である第1のルール数と、前記第2の追加ルールを追加する際の前記関係ルールの数である第2のルール数を求め、
前記第2のルール数が前記第1のルール数より大きい場合、前記第1の追加ルールおよび前記複数のルールの各々の間での包含関係を探索するより先に、前記第2の追加ルールおよび前記複数のルールの各々の間での包含関係を探索する
処理を行わせることを特徴とする請求項1~4のいずれか1項に記載のプログラム。 In the information processing device,
When adding a first additional rule and a second additional rule to the network, a first rule number, which is the number of the relationship rules when adding the first additional rule, and the second additional rule Obtaining a second number of rules, which is the number of said relationship rules when adding
If the second number of rules is greater than the first number of rules, prior to searching for an inclusion relationship between each of the first additional rule and the plurality of rules, the second additional rule and 5. The program according to any one of claims 1 to 4, wherein a process of searching for an inclusion relationship among each of said plurality of rules is performed.
前記関係ルールの各々について、当該関係ルールと前記追加ルールとの間の包含関係を決定し、
前記関係ルールを少なくとも1つ含む、前記複数のルールのうちの2つ以上のルールの組み合わせの各々について、当該組み合わせと前記追加ルールとの間の包含関係を決定し、
前記関係ルールおよび前記組み合わせについて決定された包含関係を用いて、前記対象パケットおよび前記複数のルールの各々の間での包含関係を探索する
処理を情報処理装置が行うことを特徴とする探索方法。 Identifying, from among a plurality of rules set in a network for defining packet processing, applicable rules applicable to one or more target packets to which additional rules to be added to the network are applied;
determining, for each of the relationship rules, an inclusion relationship between the relationship rule and the additional rule ;
determining, for each combination of two or more rules of the plurality of rules, including at least one of the relationship rule, an inclusion relationship between the combination and the additional rule ;
A search method, wherein an information processing device searches for an inclusion relationship between each of the target packet and the plurality of rules, using the inclusion relationship determined for the relationship rule and the combination.
前記関係ルールの各々について、当該関係ルールと前記追加ルールとの間の包含関係を決定するとともに、前記関係ルールを少なくとも1つ含む、前記複数のルールのうちの2つ以上のルールの組み合わせの各々について、当該組み合わせと前記追加ルールとの間の包含関係を決定する決定部と、
前記決定部で決定された包含関係を用いて、前記対象パケットおよび前記複数のルールの各々の間での包含関係を探索する探索部
を備えることを特徴とする情報処理装置。 a specifying unit that specifies, from among a plurality of rules set in a network for defining packet processing, a relevant rule applicable to one or more target packets to which an additional rule to be added to the network is applied; ,
each of a combination of two or more of the plurality of rules, comprising, for each of the relationship rules, determining an inclusion relationship between the relationship rule and the additional rule, and including at least one of the relationship rules; a determination unit that determines an inclusion relationship between the combination and the additional rule for
An information processing apparatus, comprising: a search unit that searches for an inclusion relationship between each of the target packet and the plurality of rules, using the inclusion relationship determined by the determination unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019122728A JP7326930B2 (en) | 2019-07-01 | 2019-07-01 | SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019122728A JP7326930B2 (en) | 2019-07-01 | 2019-07-01 | SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021010098A JP2021010098A (en) | 2021-01-28 |
JP7326930B2 true JP7326930B2 (en) | 2023-08-16 |
Family
ID=74198603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019122728A Active JP7326930B2 (en) | 2019-07-01 | 2019-07-01 | SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7326930B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006090781A1 (en) | 2005-02-24 | 2006-08-31 | Nec Corporation | Filtering rule analysis method and system |
CN102308302A (en) | 2009-02-10 | 2012-01-04 | 日本电气株式会社 | Policy management apparatus, policy management system, and method and program used for the same |
US20160191466A1 (en) | 2014-12-30 | 2016-06-30 | Fortinet, Inc. | Dynamically optimized security policy management |
JP2017228857A (en) | 2016-06-20 | 2017-12-28 | 富士通株式会社 | Information processing apparatus, inspection method and control network system |
JP2018046549A (en) | 2016-09-13 | 2018-03-22 | 富士通株式会社 | Network verification |
-
2019
- 2019-07-01 JP JP2019122728A patent/JP7326930B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006090781A1 (en) | 2005-02-24 | 2006-08-31 | Nec Corporation | Filtering rule analysis method and system |
CN102308302A (en) | 2009-02-10 | 2012-01-04 | 日本电气株式会社 | Policy management apparatus, policy management system, and method and program used for the same |
US20160191466A1 (en) | 2014-12-30 | 2016-06-30 | Fortinet, Inc. | Dynamically optimized security policy management |
JP2017228857A (en) | 2016-06-20 | 2017-12-28 | 富士通株式会社 | Information processing apparatus, inspection method and control network system |
JP2018046549A (en) | 2016-09-13 | 2018-03-22 | 富士通株式会社 | Network verification |
Also Published As
Publication number | Publication date |
---|---|
JP2021010098A (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhat et al. | Var-CNN: A data-efficient website fingerprinting attack based on deep learning | |
US11777945B1 (en) | Predicting suspiciousness of access between entities and resources | |
US10419462B2 (en) | Event information access interface in data intake stage of a distributed data processing system | |
US9836623B2 (en) | Anonymizing machine data events | |
CN111565205A (en) | Network attack identification method and device, computer equipment and storage medium | |
EP2942731A1 (en) | Identifying and securing sensitive data at its source | |
US11562064B2 (en) | Machine learning-based security alert escalation guidance | |
US11372956B2 (en) | Multiple input neural networks for detecting fraud | |
CN109286511B (en) | Data processing method and device | |
US11558412B1 (en) | Interactive security visualization of network entity data | |
US20220141188A1 (en) | Network Security Selective Anomaly Alerting | |
Kumar et al. | Analysis of intrusion detection in cyber attacks using DEEP learning neural networks | |
US11824729B2 (en) | Generating a three-dimensional cityscape including a cluster of nodes | |
CN109753797A (en) | For the intensive subgraph detection method and system of streaming figure | |
CN109710667A (en) | A kind of shared realization method and system of the multisource data fusion based on big data platform | |
US20230139000A1 (en) | Graphical User Interface for Presentation of Network Security Risk and Threat Information | |
JP7326930B2 (en) | SEARCH PROGRAM, SEARCH METHOD, AND INFORMATION PROCESSING DEVICE | |
Dong et al. | Bi-level selection via meta gradient for graph-based fraud detection | |
US11528294B2 (en) | Systems and methods for automated threat detection | |
Lamba | SR-MLC: Machine Learning Classifiers in Cyber Security-An Optimal Approach | |
JP2019153871A (en) | Network management apparatus, network management method, network management program, and network system | |
Monakhov et al. | A Machine-Synesthetic Approach To DDoS Network Attack Detection | |
US11184282B1 (en) | Packet forwarding in a network device | |
CN115865492B (en) | Variant flow generation method based on similarity orientation | |
CN115269126B (en) | Cloud platform inverse affinity scheduling system based on cosine similarity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230327 |
|
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: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7326930 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |