[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7568071B2 - マッチング装置、マッチング方法、および、マッチングプログラム - Google Patents

マッチング装置、マッチング方法、および、マッチングプログラム Download PDF

Info

Publication number
JP7568071B2
JP7568071B2 JP2023514194A JP2023514194A JP7568071B2 JP 7568071 B2 JP7568071 B2 JP 7568071B2 JP 2023514194 A JP2023514194 A JP 2023514194A JP 2023514194 A JP2023514194 A JP 2023514194A JP 7568071 B2 JP7568071 B2 JP 7568071B2
Authority
JP
Japan
Prior art keywords
address
record
indicating
matching
addresses
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
JP2023514194A
Other languages
English (en)
Other versions
JPWO2022219683A1 (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022219683A1 publication Critical patent/JPWO2022219683A1/ja
Application granted granted Critical
Publication of JP7568071B2 publication Critical patent/JP7568071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/695Types of network addresses using masks or ranges of addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IPアドレスのマッチング装置、マッチング方法、および、マッチングプログラムに関する。
サーバ等への疑わしいアクセスを検知するため、サーバへのアクセスログに示されるアクセスのうち、Proxyサーバや悪性IPアドレスからのアクセスはどれか、また、Proxyサーバからのアクセスがある場合、どのような種別のProxyサーバからのアクセスかを特定することが行われる。
ここでサーバが多数のアクセスを受け付けるサーバである場合、大量のアクセス元のIPアドレス(単体)のリストと、ProxyサーバのIPアドレスや悪性IPアドレスのリスト等の大量のIPアドレス(IPアドレスのレンジを含む)のリストとのマッチングを行う必要がある。
N.Yazdani, et al.、Fast and Scalable schemes for the IP address Lookup Problem、High Performance Switching and Routing, 2000. ATM 2000. Changhoon Yim, et al.、Efficient Binary Search for IP Address Lookup、IEEE Communications Letters ( Volume: 9, Issue: 7, July 2005) Ju Hyoung Mun, et al.、New Approach for Efficient IPAddress Lookup Using a Bloom Filter in Trie Based Algorithms、 IEEE Transactions on Computers ( Volume: 65, Issue: 5, May 1 2016)
ここで、アクセス元のIPアドレスの数や、ProxyサーバのIPアドレスおよび悪性IPアドレスのリスト(参照用のIPアドレスのリスト)のIPアドレスのレンジの数が膨大である場合、マッチングに要する時間が膨大になる。
例えば、アクセス元のIPアドレスの数がMであり、参照用のIPアドレスのリストにおけるIPアドレスのレンジの数がNである場合、IPアドレスのマッチングに要する時間計算量はO(MN)となる。
また、参照用のIPアドレスのリストにおけるIPアドレスのレンジを展開して得られたIPアドレス群と、アクセス元のIPアドレスそれぞれとをハッシュ等でマッチングすることも考えられる。このような方法によれば、マッチングに要する時間計算量はO(M)となるが、参照用のIPアドレスのリストの示されるIPアドレスのレンジの大きさによっては、メモリ使用量(空間計算量)が膨大になる可能性がある。
なお、IPアドレスlookupにおける高速マッチング方法(非特許文献1,2,3参照)もあるが、この方法は、アクセス元のIPアドレスが、複数のIPアドレスのレンジにマッチする場合については考慮されていない。
そこで、本発明は、前記した問題を解決し、大量のIPアドレスのリストのマッチングを行う際の計算量を低減することを課題とする。
前記した課題を解決するため、本発明は、参照用のIPアドレスの範囲を示すリストにおける前記IPアドレスの範囲ごとに、前記IPアドレスの範囲の開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードを生成する生成部と、前記参照用のIPアドレスの範囲それぞれの開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードと、マッチング対象のIPアドレスを示すレコードとを結合する結合部と、前記結合されたレコード群を、前記レコードのIPアドレスを主キーとし、前記レコードが、前記マッチング対象のIPアドレスのレコードか、前記開始IPアドレスを示すレコードか、前記終了IPアドレスのレコードかを示す情報を副キーとしてソートするソート部と、前記ソートされたレコード群において、いずれかの前記IPアドレスの範囲の開始IPアドレスを示すレコードと終了IPアドレスを示すレコードとの間に、前記マッチング対象のIPアドレスのレコードがある場合、前記マッチング対象のIPアドレスは、当該IPアドレスの範囲にマッチすると判定する判定部と、前記判定の結果を出力する判定結果出力部とを備えることを特徴とする。
本発明によれば、大量のIPアドレスのリストのマッチングを行う際の計算量を低減することができる。
図1は、マッチング装置の概要を説明する図である。 図2は、マッチング装置の動作概要を説明する図である。 図3は、マッチング装置の動作概要を説明する図である。 図4は、マッチング装置の構成例を示す図である。 図5は、マッチング装置の処理手順の例を示すフローチャートである。 図6は、マッチング装置により判定の例を示す図である。 図7は、マッチング装置によるIPアドレスのマッチングの適用例を示す図である。 図8は、マッチングプログラムを実行するコンピュータの例を示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、以下に説明する実施形態に限定されない。
なお、以下の説明において、マッチング装置は、マッチング対象のIPアドレスのリストと、参照用のIPアドレスのリストとのマッチングを行う。参照用のIPアドレスのリストは、例えば、悪性である可能性のあるIPアドレスのリストであり、ProxyサーバのIPアドレスのリスト、悪性IPアドレスのリスト等である。
また、マッチング対象のIPアドレスのリストにおけるIPアドレス群は、それぞれ単体のIPアドレスである場合を例に説明する。また、参照用のIPアドレスのリストにおけるIPアドレス群は、それぞれ単体のIPアドレスまたはIPアドレスの範囲(レンジ)である場合を例に説明する。また、各リストは、例えば、総量が1M以上の大規模なリストであるものとする。
[概要]
まず、図1を用いて、本実施形態のマッチング装置の概要を説明する。マッチング装置は、マッチング対象のIPアドレスのリスト(例えば、アクセスログから取得したアクセス元のIPアドレス等)と、参照用のIPアドレスのリストとをマッチングする。
例えば、マッチング装置は、アクセス元のIPアドレスのリストと、参照用のIPアドレスのリストとをマッチングすることにより、各アクセスがProxyサーバ経由であるか否か等を判定する。例えば、マッチング装置は、アクセス元のIPアドレスが、参照用のIPアドレスのリストのProxyサーバのIPアドレス(IPアドレスのレンジ)に該当する場合、当該アクセスはProxyサーバ経由であると判定する。これにより、マッチング装置は、当該アクセス元のIPアドレスからのアクセスが、悪性のアクセスである可能性があるか否かを判定することができる。
図2、図3を用いて、マッチング装置の動作概要を説明する。まず、マッチング装置は、参照用のIPアドレスのリストにおけるIPアドレスのレンジごとにインデックスを割り当てる(図2の(1)参照用のIPアドレスのリストにインデックスを割り当てる)。
次に、マッチング装置は、参照用のIPアドレスのリストにおける各IPアドレスのレンジを、レンジの開始IPアドレスのレコードとレンジの終了IPアドレスのレコードとに分割する((2)参照用のIPアドレスのリストのレンジを開始IPアドレスと終了IPアドレスに分割する)。
このときマッチング装置は、開始IPアドレスのレコードには、開始IPアドレスのレコードであることを示す情報(例えば、BEGIN)を付与し、終了IPアドレスのレコードには、終了IPアドレスのレコードであることを示す情報(例えば、END)を付与する。
次に、マッチング装置は、(2)の処理を行ったリストと、マッチング対象のIPアドレスのリストとを結合する((3)マッチング対象のIPアドレスのリストと結合する)。このときマッチング装置は、マッチング対象のIPアドレスのレコードに、マッチング対象のIPアドレスのレコードであることを示す情報(例えば、TARGET)を付与する。
図3の説明に移る。マッチング装置は、図2の(3)の処理を行ったリストの各レコードに対し、下記のルールで昇順のソートを行う((4)下記のルールで昇順のソートを行う)。
主キー:IPアドレス(IPアドレスを整数値としてソート)
副キー:BEGIN<TARGET<ENDの順にソート
上記のルールにより各レコードは、例えば、図3の符号301に示すようにソートされる。
その後、マッチング装置は、(4)でソートされた各レコードについて、上から順に、同じインデックスを持つ開始IPアドレスのレコードと終了IPアドレスのレコードとの間に、マッチング対象のIPアドレスのレコードがあるか否かを判定する((5)上から順に処理)。
例えば、マッチング装置は、図3の符号302に示すリストの破線で囲んだ部分について、インデックス0(1.1.1.1-1.1.1.10)の開始IPアドレス(BEGIN)と終了IPアドレス(END)との間に、マッチング対象のIPアドレス(TARGET)1.1.1.2があると判定する。よって、マッチング装置は、マッチング対象のIPアドレス1.1.1.2が、参照用のIPアドレスのインデックス0(1.1.1.1-1.1.1.10)のIPアドレスのレンジに含まれる(マッチする)と判定する。
マッチング装置が、上記のようにして各IPアドレスのリストのマッチングを行うことにより、各リストそれぞれが大規模なものであっても、マッチングに要する計算量を低減することができる。
例えば、マッチング対象のIPアドレスのリストのIPアドレス数がMであり、参照用のIPアドレスのリストのIPアドレスのレンジの数がNである場合、各リストのIPアドレスのマッチングに要する空間計算量をO(M+N)にすることができる。また、例えば、マッチングに用いるソートアルゴリズムがTimsortである場合、各リストのIPアドレスのマッチングに要する時間計算量を、O((M+N)log(M+N))にすることができる。
[構成例]
次に、図4を用いてマッチング装置の構成例を説明する。図4に示すようにマッチング装置10は、入出力部11と、記憶部12と、制御部13とを備える。
入出力部11は、各種データの入出力を司るインタフェースである。例えば、入出力部11は、マッチング対象のIPアドレスのリスト、参照用のIPアドレスのリスト等の入力を受け付ける。なお、各リストのIPアドレスは、IPv4のIPアドレスでもよいし、IPv6のIPアドレスでもよい。
記憶部12は、制御部13が各種処理を実行する際に参照する各種データを記憶する。例えば、記憶部12は、入出力部11経由で入力されたマッチング対象のIPアドレスのリストや、参照用のIPアドレスのリストを記憶する。また、記憶部12は、制御部13がマッチングを行う過程で作成するデータを一時的に記憶する。
制御部13は、マッチング装置10全体の制御を司る。制御部13は、例えば、生成部131と、結合部132と、ソート部133と、判定部134と、判定結果出力部135とを備える。
生成部131は、参照用のIPアドレスのリストにおけるIPアドレスのレンジごとに、当該IPアドレスのレンジの開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードを生成する。
例えば、生成部131は、まず、参照用のIPアドレスのリストにおけるIPアドレスのレンジごとに、インデックスを付与する(図2の(1)参照)。そして、生成部131は、IPアドレスのレンジそれぞれについて、当該IPアドレスのレンジの開始IPアドレスのレコードおよび終了IPアドレスのレコードを生成する。
そして、生成部131は、IPアドレスのレンジの開始IPアドレスのレコードには、当該レコードが開始IPアドレスのレコードであることを示す情報(例えば、BEGIN)を付与する。また、生成部131は、IPアドレスのレンジの終了IPアドレスのレコードには、当該レコードが終了IPアドレスのレコードであることを示す情報(例えば、END)を付与する(図2の(2)参照)。
結合部132は、生成部131により生成されたレコードと、マッチング対象のIPアドレスのリストのIPアドレスのレコードとを結合する。また、このとき、結合部132は、マッチング対象のIPアドレスのレコードに、当該レコードがマッチング対象のIPアドレスのレコードである旨の情報(例えば、TARGET)を付与する(図2の(3)参照)。
ソート部133は、結合部132により結合されたレコード群を、各レコードのIPアドレスを主キーとし、各レコードがマッチング対象のIPアドレスのレコードか、開始IPアドレスのレコードか、終了IPアドレスのレコードかを示す情報(例えば、TARGET、BEGIN、END)を副キーとしてソートする(図3の(4)参照)。例えば、ソート部133は、各レコードをBEGIN<TARGET<ENDの昇順でソートする。
これによりソート部133は、例えば、TARGETが付されたレコードのIPアドレスと、BEGINまたはENDが付されたレコードのIPアドレスとが一致する場合でも、BEGINが付されたレコードとENDが付されたレコードとの間に、TARGETが付されたレコードが配置されるようにソートすることができる。
なお、ソート部133が用いるソートアルゴリズムは、例えば、Timsort等である。
判定部134は、ソート部133によりソートされたレコードにおいて、参照用のIPアドレスのリストにおけるいずれかのIPアドレスのレンジの開始IPアドレスのレコードと終了IPアドレスのレコードとの間に、マッチング対象のIPアドレスのレコードがある場合(図3の(5)参照)、当該マッチング対象のIPアドレスは、当該IPアドレスのレンジに該当すると判定する。
なお、ソート部133によりソートされたレコードにおいて、参照用のIPアドレスのリストにおけるいずれのIPアドレスのレンジの開始IPアドレスを示すレコードと終了IPアドレスを示すレコードとの間にも、マッチング対象のIPアドレスのレコードがない場合、判定部134は、マッチング対象のIPアドレスのリストの各IPアドレスは、参照用のIPアドレスのリストにおけるいずれのIPアドレスのレンジにも該当しないと判定する。
判定結果出力部135は、判定部134による判定の結果を出力する。例えば、判定部134により、マッチング対象のIPアドレスが、悪性IPリストのIPアドレスのレンジに該当すると判定された場合、判定結果出力部135は、マッチング対象のIPアドレスからのアクセスは、悪性のアクセスである可能性がある旨の判定結果を出力する。
また、判定結果出力部135は、マッチング対象のIPアドレスがマッチするIPアドレスのレンジの属性情報を判定結果として出力してもよい。例えば、判定部134により、マッチング対象のIPアドレスが、Web ProxyのIPアドレスのレンジおよびResidential ProxyのIPアドレスのレンジに含まれると判定された場合、判定結果出力部135は、マッチング対象のIPアドレスは、Web ProxyおよびResidential Proxyからのアクセスである旨の判定結果を出力してもよい。
[処理手順の例]
次に、図5を用いて、マッチング装置10の処理手順の例を説明する。なお、マッチング装置10は、参照用のIPアドレスのリストおよびマッチング対象のIPアドレスのリストを取得済みであるものとする。
まず、マッチング装置10の生成部131は、参照用のIPアドレスのリストにおける各IPアドレスのレンジのレコードにインデックスを割り当てる(S1)。次に、生成部131は、参照用のIPアドレスのリストの各IPアドレスのレンジのレコードを、開始IPアドレスのレコードと終了IPアドレスのレコードとに分割する(S2)。そして、結合部132は、S2で分割された参照用のIPアドレスのリストを、マッチング対象のIPアドレスのリストのレコードと結合する(S3)。
S3の後、ソート部133は、S3で結合されたリストの各レコードを昇順にソートする(S4)。このときの主キーは、IPアドレスであり、副キーは、各レコードが、マッチング対象のIPアドレスのレコードか、開始IPアドレスのレコードか、終了IPアドレスのレコードかを示す情報(例えば、TARGET、BEGIN、END)である。
例えば、ソート部133は、S3で結合されたリストの各レコードについて、主キーであるIPアドレスを整数値に変換した値が昇順になり、副キーであるTARGET、BEGIN、ENDがBEGIN<TARGET<ENDであるとして昇順になるようソートする。
S4の後、判定部134は、ソート後の各レコードのうち、未処理のレコードについて上から順に、同じインデックスが付された開始IPアドレスのレコードと終了IPアドレスとの間に、マッチング対象のIPアドレスがあるか否かを判定する(S5)。
ここで判定部134が、同じインデックスが付された開始IPアドレスのレコードと終了IPアドレスとの間に、マッチング対象のIPアドレスがあると判定した場合(S5でYes)、当該マッチング対象のIPアドレスは、当該インデックスのIPアドレスのレンジに含まれる(マッチする)と判定する(S6)。そして、判定部134が、ソート後のすべてのレコードを処理済みと判定した場合(S7でYes)、S8へ進む。一方、判定部134が、未処理のレコードがあると判定した場合(S7でNo)、S5へ戻る。
S7で、判定部134が、ソート後のすべてのレコードを処理済みと判定した場合(S7でYes)、判定部134は、判定の結果を判定結果出力部135に出力する。そして、判定結果出力部135は、判定部134による判定の結果を入出力部11経由で出力する(S8)。例えば、判定結果出力部135は、マッチング対象のIPアドレスが該当する(マッチする)IPアドレスのレンジの属性情報(例えば、Web Proxy、Residential Proxy等)と、マッチング対象のIPアドレスとを出力する。
マッチング装置10が上記の処理を行うことで、IPアドレスのリストがそれぞれ大規模なものであっても、マッチングに要する計算量を低減することができる。その結果、マッチング装置10は、大規模なIPアドレスのリスト同士でも、高速かつ高効率でマッチングすることができる。
例えば、マッチング装置10が100万件のIPアドレスのリストと、100万件の参照用のIPアドレスのリストとをマッチングする場合、各リストのIPアドレスを1つ1つマッチングする場合と比べ、IPアドレス同士の比較回数を1/10000以下にすることができる。その結果、IPアドレスのリストのマッチングに要する時間を大幅に低減できる。
なお、前記した図5のS5の処理は、例えば、以下のようにして行ってもよい。例えば、判定部134は、未処理のレコードについて上から順に見ていき、BEGINが付与されたレコードを見つけると、当該レコードに付与されたインデックスのフラグを立てる。また、判定部134は、TARGETが付与されたレコードを見つけると、フラグが立っているインデックスに対応するIPアドレスのレンジに、当該TARGETが付与されたレコードのIPアドレスが含まれると判定する。また、判定部134は、ENDが付与されたレコードを見つけると、当該レコードに付与されたインデックスのフラグを降ろす。
判定部134は、上記の処理を上から順に最後のレコードまで実行する。そして、判定部134は、フラグの立っているインデックスに対応するIPアドレスのレンジを、マッチング対象のIPアドレスがマッチするIPアドレスのレンジとする。このようにすることで、判定部134は、例えば、マッチング対象のIPアドレスが複数のIPアドレスのレンジに含まれる場合でも、漏れなく検出することができる。
例えば、図6に示すようにマッチング対象のIPアドレスが該当する複数のIPアドレスのレンジ同士が、入れ子状になっている場合(符号601参照)や、部分的に重複している場合(符号602参照)でも、漏れなく検出することができる。
例えば、符号601に示す例の場合、判定部134は、マッチング対象のIPアドレス「1.1.1.2」が、インデックス0(1.1.1.1-1.1.1.10)およびインデックス1(1.1.1.1-1.1.1.5)に含まれることを検出することができる。
また、符号602に示す例の場合、判定部134は、マッチング対象のIPアドレス「1.1.1.3」が、インデックス0(1.1.1.1-1.1.1.10)およびインデックス2(1.1.1.2-1.1.1.15)に含まれることを検出することができる。
[適用例]
図7を用いて、マッチング装置10によるIPアドレスのリストのマッチングの適用例を説明する。例えば、マッチング装置10によるIPアドレスのマッチングを、図7の(1)に示すような、あるショッピングサイトにおけるクレジットカード決済のIP(IPアドレス)ログと、あらかじめ用意したProxy Listとのマッチングに適用してもよい。ここで、IPログに記載されたIPアドレスが、あらかじめ用意したProxy ListのいずれかのIPアドレスのレンジに該当すれば、当該IPログに対応するアクセスはProxy経由の疑わしいアクセスと判断することができる。
また、マッチング装置10によるIPアドレスのマッチングを、図7の(2)に示すような、あるウェブサイトにおけるサーバへのアクセスログと、あらかじめ用意した悪性IP(IPアドレス)リストとのマッチングに適用してもよい。ここで、アクセスログに記載されたIPアドレスが、あらかじめ用意した悪性IPリストのいずれかのIPアドレスのレンジに該当すれば、当該IPログに対応するアクセスは乗っ取られた端末によるアクセス等と判断することができる。
[システム構成等]
また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、前記した実施形態において説明した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
前記したマッチング装置10は、パッケージソフトウェアやオンラインソフトウェアとしてプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置をマッチング装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等の端末等がその範疇に含まれる。
また、マッチング装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の処理に関するサービスを提供するサーバ装置として実装することもできる。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図8は、マッチングプログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のマッチング装置10が実行する各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、マッチング装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続される他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 マッチング装置
11 入出力部
12 記憶部
13 制御部
131 生成部
132 結合部
133 ソート部
134 判定部
135 判定結果出力部

Claims (6)

  1. 参照用のIPアドレスの範囲を示すリストにおける前記IPアドレスの範囲ごとに、前記IPアドレスの範囲の開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードを生成する生成部と、
    前記参照用のIPアドレスの範囲それぞれの開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードと、マッチング対象のIPアドレスを示すレコードとを結合する結合部と、
    前記結合されたレコード群を、前記レコードのIPアドレスを主キーとし、前記レコードが、前記マッチング対象のIPアドレスのレコードか、前記開始IPアドレスを示すレコードか、前記終了IPアドレスのレコードかを示す情報を副キーとしてソートするソート部と、
    前記ソートされたレコード群において、いずれかの前記IPアドレスの範囲の開始IPアドレスを示すレコードと終了IPアドレスを示すレコードとの間に、前記マッチング対象のIPアドレスのレコードがある場合、前記マッチング対象のIPアドレスは、当該IPアドレスの範囲にマッチすると判定する判定部と、
    前記判定の結果を出力する判定結果出力部と
    を備えることを特徴とするマッチング装置。
  2. 前記ソート部は、
    前記結合されたレコード群を、各レコードのIPアドレスを主キーとし昇順でソートし、前記副キーについて、前記開始IPアドレスを示すレコード、前記マッチング対象のIPアドレスを示すレコード、前記終了IPアドレスを示すレコードの順になるようソートする
    ことを特徴とする請求項1に記載のマッチング装置。
  3. 前記判定部が、
    前記マッチング対象のIPアドレスが、いずれかの前記IPアドレスの範囲にマッチすると判定した場合、
    前記判定結果出力部は、
    前記マッチング対象のIPアドレスからのアクセスは、悪性のアクセスである可能性がある旨の判定結果を出力する
    ことを特徴とする請求項1に記載のマッチング装置。
  4. 前記判定部が、
    前記マッチング対象のIPアドレスが、いずれかの前記IPアドレスの範囲にマッチすると判定した場合、
    前記判定結果出力部は、
    前記マッチング対象のIPアドレスがマッチする前記IPアドレスの範囲それぞれの属性情報を出力する
    ことを特徴とする請求項1に記載のマッチング装置。
  5. マッチング装置により実行されるマッチング方法であって、
    参照用のIPアドレスの範囲を示すリストにおける前記IPアドレスの範囲ごとに、前記IPアドレスの範囲の開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードを生成する工程と、
    前記参照用のIPアドレスの範囲それぞれの開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードと、マッチング対象のIPアドレスを示すレコードとを結合する工程と、
    前記結合されたレコード群を、前記レコードのIPアドレスを主キーとし、前記レコードが、前記マッチング対象のIPアドレスのレコードか、前記開始IPアドレスを示すレコードか、前記終了IPアドレスのレコードかを示す情報を副キーとしてソートする工程と、
    前記ソートされたレコード群において、いずれかの前記IPアドレスの範囲における開始IPアドレスを示すレコードと終了IPアドレスを示すレコードとの間に、前記マッチング対象のIPアドレスのレコードがある場合、前記マッチング対象のIPアドレスは、当該IPアドレスの範囲にマッチすると判定する工程と、
    前記判定の結果を出力する工程と
    を含むことを特徴とするマッチング方法。
  6. 参照用のIPアドレスの範囲を示すリストにおける前記IPアドレスの範囲ごとに、前記IPアドレスの範囲の開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードを生成する工程と、
    前記参照用のIPアドレスの範囲それぞれの開始IPアドレスを示すレコードおよび終了IPアドレスを示すレコードと、マッチング対象のIPアドレスを示すレコードとを結合する工程と、
    前記結合されたレコード群を、前記レコードのIPアドレスを主キーとし、前記レコードが、前記マッチング対象のIPアドレスのレコードか、前記開始IPアドレスを示すレコードか、前記終了IPアドレスのレコードかを示す情報を副キーとしてソートするソート部と、
    前記ソートされたレコード群において、いずれかの前記IPアドレスの範囲における開始IPアドレスを示すレコードと終了IPアドレスを示すレコードとの間に、前記マッチング対象のIPアドレスのレコードがある場合、前記マッチング対象のIPアドレスは、当該IPアドレスの範囲にマッチすると判定する工程と、
    前記判定の結果を出力する工程と
    をコンピュータに実行させることを特徴とするマッチングプログラム。
JP2023514194A 2021-04-12 2021-04-12 マッチング装置、マッチング方法、および、マッチングプログラム Active JP7568071B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/015195 WO2022219683A1 (ja) 2021-04-12 2021-04-12 マッチング装置、マッチング方法、および、マッチングプログラム

Publications (2)

Publication Number Publication Date
JPWO2022219683A1 JPWO2022219683A1 (ja) 2022-10-20
JP7568071B2 true JP7568071B2 (ja) 2024-10-16

Family

ID=83640244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023514194A Active JP7568071B2 (ja) 2021-04-12 2021-04-12 マッチング装置、マッチング方法、および、マッチングプログラム

Country Status (3)

Country Link
US (1) US20240187435A1 (ja)
JP (1) JP7568071B2 (ja)
WO (1) WO2022219683A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813645B1 (en) 2000-05-24 2004-11-02 Hewlett-Packard Development Company, L.P. System and method for determining a customer associated with a range of IP addresses by employing a configurable rule engine with IP address range matching
JP2005117211A (ja) 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> データ検索装置
US20180063082A1 (en) 2016-08-31 2018-03-01 Fortress Information Security Systems and methods for geoprocessing-based computing network security

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006054637A (ja) * 2004-08-11 2006-02-23 Ricoh Co Ltd 通信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813645B1 (en) 2000-05-24 2004-11-02 Hewlett-Packard Development Company, L.P. System and method for determining a customer associated with a range of IP addresses by employing a configurable rule engine with IP address range matching
JP2005117211A (ja) 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> データ検索装置
US20180063082A1 (en) 2016-08-31 2018-03-01 Fortress Information Security Systems and methods for geoprocessing-based computing network security

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Butler Lampson et al.,IP Lookups Using Multiway and Multicolumn Search,IEEE/ACM TRANSACTIONS ON NETWORKING,1999年06月,VOL.7, NO.3,P.324-334

Also Published As

Publication number Publication date
US20240187435A1 (en) 2024-06-06
JPWO2022219683A1 (ja) 2022-10-20
WO2022219683A1 (ja) 2022-10-20

Similar Documents

Publication Publication Date Title
Che et al. DRES: Dynamic range encoding scheme for TCAM coprocessors
US9077669B2 (en) Efficient lookup methods for ternary content addressable memory and associated devices and systems
JP5267670B2 (ja) 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
US20060184556A1 (en) Compression algorithm for generating compressed databases
CN109376277B (zh) 确定设备指纹同源性的方法及装置
US20060193159A1 (en) Fast pattern matching using large compressed databases
Moia et al. Similarity digest search: A survey and comparative analysis of strategies to perform known file filtering using approximate matching
JP2023546687A (ja) コード類似性検索
WO2022113308A1 (ja) 修正装置、修正方法及び修正プログラム
CN112256704A (zh) 一种快速join方法、存储介质及计算机
JP7568071B2 (ja) マッチング装置、マッチング方法、および、マッチングプログラム
US20060074852A1 (en) Method and data structure for performing regular expression searches in a fixed length word language
US20130275384A1 (en) System, method, and computer program product for determining whether an electronic mail message is unwanted based on processing images associated with a link in the electronic mail message
US9201982B2 (en) Priority search trees
Zhong et al. FPGA-CPU Architecture Accelerated Regular Expression Matching With Fast Preprocessing
US20100205135A1 (en) Determining best match among a plurality of pattern rules using wildcards with a text string
WO2020070916A1 (ja) 算出装置、算出方法及び算出プログラム
US20240291828A1 (en) Searching device, search range determination method, and search range determination program
Kaya et al. A low power lookup technique for multi-hashing network applications
CN111597379B (zh) 音频搜索方法、装置、计算机设备和计算机可读存储介质
CN111683036B (zh) 数据存储方法、装置以及报文识别方法和装置
WO2024189864A1 (ja) 情報処理方法
KR20210021838A (ko) 악성코드 분석용 머신러닝을 위한 하이브리드 피처 벡터 생성 장치 및 방법
WO2023238259A1 (ja) 修正装置、修正方法及び修正プログラム
CN116232686B (zh) 网络攻击防御模型建立方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240916

R150 Certificate of patent or registration of utility model

Ref document number: 7568071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150