CN106233296B - Url匹配装置以及url匹配方法 - Google Patents

Url匹配装置以及url匹配方法 Download PDF

Info

Publication number
CN106233296B
CN106233296B CN201480066821.3A CN201480066821A CN106233296B CN 106233296 B CN106233296 B CN 106233296B CN 201480066821 A CN201480066821 A CN 201480066821A CN 106233296 B CN106233296 B CN 106233296B
Authority
CN
China
Prior art keywords
url
character string
partial character
information
partial
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
CN201480066821.3A
Other languages
English (en)
Other versions
CN106233296A (zh
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 CN106233296A publication Critical patent/CN106233296A/zh
Application granted granted Critical
Publication of CN106233296B publication Critical patent/CN106233296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供URL匹配装置以及URL匹配方法。URL匹配装置创建部分字符串信息,该部分字符串信息存放了从1个以上的参照URL的层级结构的上位层的字符串开始按顺序阶段性地连结而成的部分字符串作为关联数组的关键字。而且,URL匹配装置对于匹配对象URL也生成从层级结构的上位层的字符串开始按顺序阶段地连结而成的部分字符串,且按照该匹配对象URL的每个部分字符串,将该部分字符串作为关键字来检索部分字符串信息。由此,即使改变了URL的一部分也能够高速地进行匹配。

Description

URL匹配装置以及URL匹配方法
技术领域
本发明涉及URL(Uniform Resource Locator:统一资源定位器)匹配装置以及URL匹配方法。
背景技术
为了从恶劣的Web站点或恶劣的Web内容中保护使用WWW(World Wide Web:万维网)的用户,而实施过滤。过滤是指,使用表示恶劣的Web站点或恶劣的Web内容的URL(恶性URL)的黑名单来防止对该列表所包含的URL或FQDN(Fully Qualified Domain Name(完全限定域名)、服务器的主机名)进行访问。由防病毒供应商等组织以独自的观点创建用于该过滤的黑名单(参照非专利文献1)。
另一方面,攻击者为了避免自己的URL成为过滤的对象而有时改变URL的字符串的一部分。例如,有时将http://www.example.com/index1.html改变成http://www.example.com/index2.html。因此,还提出了如下这样的技术:为了即使在这样改变URL的字符串的一部分的情况下也作为过滤的对象,将存在于同一FQDN上的Web内容看作类似于恶性URL的URL而作为过滤的对象。
现有技术文献
非专利文献
非专利文献1:“Google Safe Browsing”、[online]、[平成25年11月5日检索]、因特网<https://developers.google.com/safe-browsing/>
非专利文献2:Zhou Zhou等、“A High-Performance URL Lookup Engine for URLFiltering Systems”,IEEE ICC、2010年
发明内容
发明要解决的课题
但是,在上述的技术中,若将类似于恶性URL的URL作为过滤的对象则有可能会发生误检测。另外,若将类似的URL作为过滤的对象,则需要进行与多个URL的匹配,因此也存在为匹配处理而消耗时间的问题。尤其是,正常情况下,使用了黑名单的过滤在网络的网关或Web代理服务器中进行,且需要将多个通信目的地URL与对象进行匹配,因此匹配的高速化是重要的问题。因此,本发明的课题在于,提供一种解决上述的问题、且即使改变了URL的一部分也高速地进行匹配的手段。
用于解决课题的手段
为了解决上述的课题,本发明的特征在于,具有:URL(Uniform ResourceLocator:统一资源定位器)部分字符串存放部,其存储部分字符串信息,该部分字符串信息存放了从1个以上的参照URL的层级结构的上位层的字符串开始按顺序阶段性地连结而成的部分字符串作为关联数组的关键字;部分字符串生成部,其生成从匹配对象URL的层级结构的上位层的字符串开始按顺序阶段性地连结而成的部分字符串;以及检索部,其按照所述生成的匹配对象URL的每个部分字符串,将该部分字符串作为关键字来检索所述部分字符串信息,且输出该部分字符串的属性信息,所述部分字符串信息是将所述部分字符串与属性信息对应起来表示的信息,该属性信息表示该部分字符串与所述参照URL一致到哪种程度。
发明效果
根据本发明,即使改变了URL的一部分也能够高速地进行匹配。
附图说明
图1是示出包含各实施方式的URL匹配装置的系统的结构的一例的图。
图2是示出图1的URL匹配装置的处理的概要的图。
图3是示出由图1的URL匹配装置生成的部分字符串的一例的图。
图4是示出部分字符串信息的一例的图。
图5是示出图1的URL匹配装置的结构的功能框图。
图6是示出由图1的URL匹配装置生成的部分字符串的一例的图。
图7是示出图1的URL匹配装置所保持的部分字符串信息的一例的图。
图8是示出成为部分字符串信息的关键字的部分字符串的实现的一例的图。
图9是示出图1的URL匹配装置的处理步骤的流程图。
图10是示出URL的域部的各要素的重排的一例的图。
图11是用于说明部分字符串的公共前缀的图。
图12是示出执行URL匹配程序的计算机的图。
具体实施方式
以下,参照附图,将本发明的实施方式分成第1实施方式到第3实施方式进行说明。此外,本发明不限定于这些实施方式。
(第1实施方式)
首先,使用图1来说明包含各实施方式的URL匹配装置10的系统的结构例。图1是示出包含各实施方式的URL匹配装置的系统的结构的一例的图。此外,在以下的例子中,以参照URL是恶劣的Web站点或恶劣的Web内容的URL(恶性URL)的列表(例如URL黑名单)的情况为例进行说明,但并不限于此。
系统构成为包含URL匹配装置10、用户终端20以及Web代理服务器30。用户终端20经由Web代理服务器30对网络进行访问。Web代理服务器30是用户终端20访问网络时的中继装置,该Web代理服务器30记录用户终端20的访问目的地URL。Web代理服务器30将该记录的访问目的地URL作为匹配对象URL发送给URL匹配装置10。
URL匹配装置10判断访问目的地URL是否与URL黑名单A、B所表示的URL组(参照URL)匹配。即,URL匹配装置10获取用户终端20的访问目的地URL作为匹配对象URL,且收集URL黑名单(恶性URL的列表。例如URL黑名单A、B)。而且,URL匹配装置10将该收集的黑名单所表示的URL作为参照URL,进行与匹配对象URL的匹配。而且,URL匹配装置10向Web代理服务器30等通知匹配结果(例如,表示匹配对象URL对于参照URL一致到哪种程度的信息)。
通过这样的方式,URL匹配装置10能够向用户终端20的管理者等通知用户终端20的访问目的地URL对于恶性URL匹配到哪种程度。
接着,使用图2来说明URL匹配装置10的处理的概要。图2是示出图1的URL匹配装置的处理的概要的图。
URL匹配装置10用部分字符串(例如被“.”或“/”划分的字符串)来分割参照URL(即,黑名单所表示的恶性URL)。而且,URL匹配装置10生成所分割的字符串中的从层级结构的上位层的字符串开始按顺序阶段性地连结而成的多个部分字符串。例如,URL匹配装置10生成参照URL的部分字符串A、B、C、D((1)分割)。例如,在参照URL是“http://www.example.co.jp/path1/path2/index.php?id=123”的情况下,生成如图3的标号31~标号36所示的部分字符串。关于这里的URL的部分字符串的生成,使用例如在日本特开2012-118713号公报中所记载的技术。
之后,URL匹配装置10利用关联数组来存放所生成的部分字符串((2)存放)。关联数组是以字符串为关键字的数组,作为实现例,具有Trie树或Patricia树等。通过这样利用关联数组来存放参照URL的部分字符串,能够高速地检索匹配对象URL的部分字符串。后面对该关联数组的详细情况进行说明,与关联数组中的关键字(部分字符串)对应的值(value)例如是表示关键字所表示的部分字符串符合参照URL的哪个部分的信息(属性信息)。若举出具体例,是表示该部分字符串是参照URL的域的一部分(部分域)或者是全部(完整域)的信息、而且是表示该部分字符串是参照URL的路径部的一部分(部分路径)或者是全部(完整路径)的信息(参照图4)。
接着,URL匹配装置10分割匹配对象URL且生成部分字符串E、F、G、H((3)分割)。
而且,URL匹配装置10从存放于关联数组中的部分字符串中检索所生成的匹配对象URL的部分字符串((4)检索),且输出该检索结果((5)输出)。例如,URL匹配装置10检索匹配对象URL的部分字符串,且输出该部分字符串的属性信息、和一致(匹配)的部分字符串等。
通过这样的方式,URL匹配装置10即使在匹配对象URL与参照URL是部分一致的情况下,也能够向用户通知该情况。而且,URL匹配装置10能够通知匹配对象URL与参照URL一致到哪种程度。另外,因为在URL匹配装置10中,利用关联数组存放参照URL的部分字符串,因此即使成为关键字的部分字符串是多个的情况下,也能够高速地检索匹配对象URL的部分字符串。
接着,说明URL匹配装置10的结构。图5是示出图1的URL匹配装置的结构的功能框图。
如图5所示,URL匹配装置10具有输入输出部11、匹配处理部121、URL部分字符串生成部122、URL部分字符串存放处理部123、URL部分字符串检索部124以及URL部分字符串存放部13。
输入输出部11负责URL匹配装置10的数据输入输出。输入输出部11例如受理上述的参照URL、匹配对象URL的输入,或者输出参照URL与匹配对象URL的匹配结果(来自部分字符串信息的检索结果)。该输入输出部11也可以具有通过因特网等进行数据收发的通信接口功能。
匹配处理部121、URL部分字符串生成部122、URL部分字符串存放处理部123、URL部分字符串检索部124是通过基于URL匹配装置10所具有的CPU(Central Processing Unit:中央处理单元)的程序执行处理或专用硬件来实现的。
匹配处理部121进行参照URL与匹配对象URL的匹配,且经由输入输出部11输出其结果。具体而言,匹配处理部121若经由输入输出部11获取参照URL,则将该参照URL交接给URL部分字符串生成部122,且将由URL部分字符串生成部122生成的部分字符串经由URL部分字符串存放处理部123存放于URL部分字符串存放部13中。另外,匹配处理部121若经由输入输出部11获取匹配对象URL,则同样将匹配对象URL交接给URL部分字符串生成部122,且接收由URL部分字符串生成部122生成的部分字符串。而且,匹配处理部121将该匹配对象URL的部分字符串交接给URL部分字符串检索部124。之后,匹配处理部121若从URL部分字符串检索部124接收到该部分字符串的检索结果,则经由输入输出部11输出该检索结果。
URL部分字符串生成部122生成所接收的URL(例如参照URL或匹配对象URL)的部分字符串,且向匹配处理部121返回所生成的部分字符串。这里的URL的部分字符串的生成例如如以下那样进行。
首先,说明作为前提的URL的结构。URL如RFC(Request For Comments:请求注解)1738所规定那样,具有http://<域部>/<路径部>的结构。在该域部描述有Web站点的FQDN。另外,在路径部以目录形式描述有表示该Web站点上的Web内容的位置的字符串。域部是将“.(点)”作为分隔符从右向左连接要素而成的字符串,例如表现为www.example.co.jp等。域部的各要素从右向左表示从上位概念到下位概念,将最右的要素(jp)称为顶级域,将从右开始第2个称为二级域,将从右开始第3个称为三级域。
路径部是将“/(斜线)”作为分隔符从左向右连接要素而成的字符串,例如,表现为/path1/path2/index.html等。路径部的各要素从左向右表示从上位概念到下位概念。在路径部的末尾也可以赋予以“?”连接的字符串(URL参数)。例如,也可以如/path1/path2/index.html?id=123那样赋予id=123的URL参数。URL部分字符串生成部122针对这样构成的URL的各要素生成从上位概念(层级结构的上位层)的字符串开始按顺序阶段性地连结而成的多个部分字符串。
在图3、图6中例示该URL部分字符串生成部122生成的部分字符串。例如,考虑成为部分字符串的生成对象的URL是“http://www.example.co.jp/path1/path2/index.php?id=123”的情况。在该情况下,根据该URL生成图3的标号31~标号36所示的6个部分字符串。即,关于“http://www.example.co.jp/path1/path2/index.php?id=123”,在域部是“www.example.co.jp”的情况下,生成省去了FQDN的“www”而得到的部分字符串、表示FQDN的部分字符串、路径部的最上位层为止的部分字符串、从路径部的上位层起第2层为止的部分字符串、从路径部的上位层起第3层为止的部分字符串、包含路径部的末尾为止的部分字符串。
此外,URL部分字符串生成部122生成部分字符串时,也可以将公共后缀(co.jp或jp等其自身在属下具有不确定的多个域的域)不作为部分字符串的生成对象。
而且,URL部分字符串生成部122生成的部分字符串也可以如图6所例示那样包含“*(通配符)”。这样,在URL部分字符串检索部124中,针对域部的主机名的一部分变更的URL也能够作为与部分字符串信息的部分字符串的匹配对象。例如,在参照URL是http://www.example.co.jp/path1/index.php?id=abc的情况下,针对http://mail.example.co.jp/path1/index.php?id=abc也能够进行匹配。
URL部分字符串存放处理部123创建部分字符串信息,该部分字符串信息利用关联数组存放了URL部分字符串生成部122所生成的参照URL的部分字符串。如上所述,关联数组由关键字与对应于该关键字的值(value)的对构成,这里的关键字是URL的部分字符串,值是该部分字符串的属性信息。属性信息例如是表示关键字所表示的部分字符串符合参照URL的哪个部分的信息。
图4、图7是示出部分字符串信息的一例的图。图4所示的部分字符串信息是表示http://www.example.co.jp/path1/path2/index.php?id=123这样的参照URL所涉及的部分字符串信息的信息。在图4所示的部分字符串信息中,成为关键字的部分字符串是“example.co.jp”、“www.example.co.jp”、“www.example.co.jp/path1/”、“www.example.co.jp/path1/path2/”、“www.example.co.jp/path1/path2/index.php?”、“http://www.example.co.jp/path1/path2/index.php?id=123”,分别对应的值是“部分域”、“完整域”、“完整域/部分路径”、“完整域/部分路径”、“完整域/部分路径”、“完整域/完整路径”这样的属性信息。“部分域”表示是参照URL的一部分的域名,“完整域”表示是参照URL的完整的域名(即FQDN)。同样,关于路径也是“部分路径”表示参照URL的一部分的路径名,“完整路径”表示参照URL的完整的路径名。
作为该部分字符串信息的关键字,设定按照参照URL的每层而阶段性地划分的部分字符串,由此,URL部分字符串检索部124能够获得对于匹配对象URL来说URL的上位层的字符串相同但下位层的字符串(例如路径部等)不同的URL等、字符串的一部分不同的URL的匹配结果。
另外,URL部分字符串存放处理部123将部分字符串作为关联数组的关键字来存放于部分字符串信息中,由此,即使在存放于该部分字符串信息中的要素数量增加的情况下,也能够抑制检索速度的降低。
此外,赋予给部分字符串信息的属性信息除了上述的信息以外还可以是示出了表示该URL的部分字符串对于参照URL一致到哪种程度的数值(一致的比例或一致的字符数量)等的信息。
另外,也可以如图7所例示那样对部分字符串信息的关键字栏的部分字符串使用“*(通配符)”。
此外,如上所述,例如由Trie树或Patricia树之类的树结构来实现成为部分字符串信息的关键字的部分字符串。图8是示出成为部分字符串信息的关键字的部分字符串的实现的一例的图。例如,对于如“http://www.example.co.jp/path1/path2/”、“http://www.example.co.jp/path11/path2/”、“http://www.example.co.jp/path1/path12/”、“http://www.example.co.jp/path11/path12/”那样一部分不同的部分字符串来说,在将它们作为关键字来存放的情况下,如图8所例示那样利用将URL的部分字符串的公共部分作为公共节点的树结构来实现。这样,能够有效地存放成为部分字符串信息的关键字的部分字符串。
URL部分字符串检索部124若从URL部分字符串生成部122接收到匹配对象URL的部分字符串,则针对该部分字符串的每一个将该部分字符串作为关键字来检索部分字符串信息。例如,URL部分字符串检索部124将匹配对象URL的部分字符串作为关键字从部分字符串信息中检索该部分字符串的属性信息。经由输入输出部11输出检索结果。这里的检索结果例如是作为检索的结果找到了该部分字符串的属性信息的情况、或者找到了属性信息的部分字符串、找到的属性信息、不存在要找的属性信息(即没有相应的部分字符串)等的信息。
例如,在URL部分字符串检索部124检索出了图4所示的部分字符串信息的结果是与“www.example.co.jp/path1/”匹配的情况下,输出针对该部分字符串的属性值是“完整域/部分路径”的检索结果。URL部分字符串检索部124输出这样的属性信息,由此,URL匹配装置10的用户能够获知匹配对象URL对于参照URL一致(匹配)到哪种程度。
URL部分字符串存放部13存储由URL部分字符串存放处理部123创建的部分字符串信息。该URL部分字符串存放部13由URL匹配装置10所具有的存储单元(例如,HDD(HardDisk Drive:硬盘驱动器)、RAM(Random Access Memory:随机存取存储器)等)来实现。
接着,使用图9来说明URL匹配装置10的处理步骤。图9是示出图1的URL匹配装置的处理步骤的流程图。
首先,URL匹配装置10的匹配处理部121若经由输入输出部11获取参照URL(S1),则将该参照URL交接给URL部分字符串生成部122,URL部分字符串生成部122生成参照URL的部分字符串(S2)。
接着,匹配处理部121将S2中生成的参照URL的部分字符串交接给URL部分字符串存放处理部123,URL部分字符串存放处理部123利用关联数组存放该部分字符串,来创建部分字符串信息(S3)。即,URL部分字符串存放处理部123分配S2中生成的部分字符串作为部分字符串信息的关键字,且作为与各个部分字符串对应的值(value)而使该部分字符串的属性信息对应起来。即,URL部分字符串存放处理部123创建部分字符串信息,该部分字符串信息对S2中生成的每个部分字符串赋予了该部分字符串是参照URL的哪部分(例如,是参照URL的域部的全部或者是一部分,而且是路径部的全部或者是一部分)作为属性信息。
之后,匹配处理部121若经由输入输出部11获取匹配对象URL(S4),则将该匹配对象URL交接给URL部分字符串生成部122,URL部分字符串生成部122生成匹配对象URL的部分字符串(S5)。而且,匹配处理部121将S5中生成的匹配对象URL的部分字符串交接给URL部分字符串检索部124,URL部分字符串检索部124将该匹配对象URL的部分字符串作为关键字从部分字符串信息中检索属性信息(S6:检索部分字符串)。而且,URL部分字符串检索部124输出检索结果(S7)。
通过这样的方式,URL匹配装置10即使在匹配对象URL与参照URL是部分一致的情况下,也能够向用户通知该情况。另外,URL匹配装置10因为将参照URL的部分字符串作为关联数组的关键字来存放于部分字符串信息中,因此能够高速地进行匹配对象URL的部分字符串的检索。
(第2实施方式)
此外,由URL部分字符串检索部124进行检索的结果,也有时可获得多个匹配结果。例如,存在参照URL是http://www.example.co.jp/path1/path2/index.php?id=123、匹配对象URL是http://www.example.co.jp/path1/path2/test.html的情况。在该情况下,一致的部分字符串是example.co.jp(部分域)、www.example.co.jp(完整域)、www.example.co.jp/path1/(完整域/部分路径)、www.example.co.jp/path1/path2/(完整域/部分路径),从而可获得多个匹配结果。在该情况下,URL部分字符串检索部124可以优先从与参照URL匹配的程度高的匹配结果开始作为检索结果来输出。
即,部分字符串信息的属性信息所表示的部分字符串的匹配程度按照匹配程度从高到低的顺序成为以下那样。完整域/完整路径→完整域/部分路径→部分域/部分路径→部分域。因此,URL部分字符串检索部124在存在多个匹配结果的情况下,优先从匹配程度较高的匹配结果开始输出。例如,若以上述的例子进行说明,则URL部分字符串检索部124输出作为匹配程度高的属性信息的“完整域/部分路径”。
这样,URL匹配装置10的用户容易确认匹配对象URL与参照URL匹配到哪种程度。
而且,URL部分字符串检索部124不仅根据从字符串信息中检索到的属性信息,还可以包含匹配的部分字符串的字符数量来判断与上述的参照URL的匹配程度。例如,若以上述的例子进行说明,则属性信息为“完整域/部分路径”的部分字符串存在2个。即,存在www.example.co.jp/path1/(完整域/部分路径)、和www.example.co.jp/path1/path2/(完整域/部分路径)。在该情况下,URL部分字符串检索部124优先从这些部分字符串中的部分字符串的字符串较长的部分字符串开始输出。例如,URL部分字符串检索部124输出这些部分字符串中的字符串最长的部分字符串。
若以上述的例子进行说明,则与www.example.co.jp/path1/的字符串相比www.example.co.jp/path1/path2/的字符串较长。因而,URL部分字符串检索部124选择输出www.example.co.jp/path1/path2/。这样,URL匹配装置10的用户容易确认匹配对象URL的哪个层的字符串为止与参照URL一致。
(第3实施方式)
此外,关于成为部分字符串信息的关键字部分(即部分字符串的部分)中的关键字的URL的部分字符串,也可以将域部的各要素配置成左右相反。
图10是示出URL的域部的各要素的重排的一例的图。这里,以www.example.co.jp为例进行说明。如图10所示,URL部分字符串生成部122将www.example.co.jp的各要素重排成左右相反而成为jp.co.example.www。之后,URL部分字符串存放处理部123存放所重排的jp.co.example.www作为部分字符串信息的关键字。
即,URL部分字符串存放处理部123在部分字符串信息的关键字栏上将参照URL的域部的顶级域(例如jp)或二级域(例如co.jp)为开头进行配置。这样,在以Trie树或Patricia树等树结构配置了成为部分字符串信息的关键字的部分字符串的情况下,即使在成为各部分字符串的前缀的字符串中公共的部分较少的情况下,也能够高效地存放各部分字符串。
例如,考虑2个参照URL的域部分别是www.example.co.jp和mail.explain.co.jp的情况。在该情况下,因为各个域部的字符串从开头部分不同,因此,在正常情况下,不存在Trie树或Patricia树等中的公共前缀。但是,若对于www.example.co.jp与mail.explain.co.jp将要素配置成左右相反,则成为jp.co.example.www和jp.co.explain.mail。由此,如图11所示,因为能够将jp.co.ex为止作为部分字符串的公共前缀,因此能够高效地存放部分字符串信息的关键字栏的部分字符串。
此外,用于反转的各要素的字符串连结时的分离标号例如是“.(点)”或“_(下划线)”等。另外,URL部分字符串检索部124在针对将相对于参照URL的域部配置成左右相反的部分字符串作为关键字的部分字符串信息进行检索时,使用相对于匹配对象URL的域部配置成左右相反的部分字符串进行检索。
(程序)
另外,也能够创建以计算机能够执行的语言描述了URL匹配装置10所执行的处理的程序。在该情况下,通过由计算机执行程序,能够获得与上述实施方式同样的效果。而且,也可以将该程序记录于计算机可读取的记录介质中,通过使计算机读入并执行该记录介质中记录的程序,实现与上述实施方式同样的处理。以下说明执行URL匹配程序的计算机的一例,该URL匹配程序实现与URL匹配装置10同样的功能。
图12是示出执行URL匹配程序的计算机的图。如图12所示,计算机1000例如具有存储器1010、CPU 1020、硬盘驱动器接口1030、磁盘驱动器接口1040、串行端口接口1050、视频适配器1060以及网络接口1070。利用总线1080连接这些各部件。
存储器1010包含ROM(Read Only Memory:只读存储器)1011和RAM 1012。ROM 1011例如存储BIOS(Basic Input Output System:基本输入输出系统)等引导程序。硬盘驱动器接口1030与硬盘驱动器1090连接。磁盘驱动器接口1040与磁盘驱动器1100连接。在磁盘驱动器1100中插入有例如磁盘或光盘等可装卸的记录介质。在串行端口接口1050连接有例如鼠标1110和键盘1120。在视频适配器1060连接有例如显示器1130。
这里,如图12所示,硬盘驱动器1090例如存储OS 1091、应用程序1092、程序模块1093以及程序数据1094。在上述实施方式中说明的各表存储于例如硬盘驱动器1090或存储器1010中。
另外,URL匹配程序例如作为描述有由计算机1000执行的指令的程序模块而存储于硬盘驱动器1090中。具体而言,在上述实施方式中说明的描述有执行URL匹配的各处理的程序模块存储于硬盘驱动器1090中。
另外,在URL匹配程序的信息处理中使用的数据作为程序数据存储于例如硬盘驱动器1090中。而且,CPU1020根据需要将存储于硬盘驱动器1090中的程序模块1093或者程序数据1094读出到RAM1012,来执行上述的各步骤。
此外,URL匹配程序的程序模块1093或程序数据1094并不限于存储于硬盘驱动器1090的情况,例如也可以存储于可以装卸的记录介质并经由磁盘驱动器1100等被CPU1020读出。或者,URL匹配程序的程序模块1093或程序数据1094也可以存储于经由LAN(LocalArea Network:局域网)或WAN(Wide Area Network:广域网)等网络连接的其他计算机中,并经由网络接口1070被CPU1020读出。
标号说明
10:URL匹配装置;
11:输入输出部;
13:URL部分字符串存放部;
20:用户终端;
30:Web代理服务器;
121:匹配处理部;
122:URL部分字符串生成部;
123:URL部分字符串存放处理部;
124:URL部分字符串检索部。

Claims (5)

1.一种URL匹配装置,其特征在于,该URL匹配装置具有:
URL部分字符串存放部,其存储部分字符串信息,该部分字符串信息存放了从1个以上的参照URL的层级结构的上位层的字符串开始按顺序阶段性地连结而成的部分字符串作为关联数组的关键字;
部分字符串生成部,其生成从匹配对象URL的层级结构的上位层的字符串开始至所述匹配对象URL的所述层级结构的一个以上的下位层按顺序阶段性地连结而成的部分字符串,所述上位层对应于URL的顶级域,所述一个以上的下位层对应于除了所述顶级域以外的URL的要素且包括URL的路径部;以及
检索部,其按照生成的匹配对象URL的每个部分字符串,将该部分字符串作为关键字来检索所述部分字符串信息,且输出该部分字符串的属性信息,所述部分字符串信息是将所述部分字符串与属性信息对应起来表示的信息,该属性信息表示该部分字符串与所述参照URL一致到哪种程度,
所述检索部将所述匹配对象URL的所述部分字符串作为关键字来检索所述部分字符串信息,且输出示出所述匹配对象URL与所述参照URL的所述层级结构的哪个下位层匹配的结果,
至少一个所述部分字符串通过将URL的域部的各要素配置成左右相反来生成。
2.根据权利要求1所述的URL匹配装置,其特征在于,
所述属性信息是表示所述部分字符串与所述参照URL的域部和路径部各自的全部一致或者与一部分一致的信息。
3.根据权利要求1或2所述的URL匹配装置,其特征在于,
所述检索部参照所述检索到的各部分字符串的属性信息,优先从与所述参照URL一致的程度高的部分字符串开始输出。
4.根据权利要求1或2所述的URL匹配装置,其特征在于,
所述部分字符串信息中的部分字符串是从所述参照URL的顶级域的字符串开始按顺序阶段性地连结而成的字符串,而且是提取出在所述参照URL之间在各个URL的域部中开头部分共同的字符串作为Trie树或者Patricia树的公共前缀而得的字符串。
5.一种URL匹配方法,其特征在于,
计算机执行下述步骤:
生成从匹配对象URL的层级结构的上位层的字符串开始至所述匹配对象URL的所述层级结构的一个以上的下位层按顺序阶段性地连结而成的部分字符串,所述上位层对应于URL的顶级域,所述一个以上的下位层对应于除了所述顶级域以外的URL的要素且包括URL的路径部;以及
按照所述生成的匹配对象URL的每个部分字符串,将该部分字符串作为关键字来检索1个以上的参照URL的部分字符串信息,且输出该部分字符串的属性信息,
所述部分字符串信息是存放了从所述1个以上的参照URL的层级结构的上位层的字符串开始按顺序阶段性地连结而成的部分字符串作为关联数组的关键字的信息,
所述部分字符串信息是将所述部分字符串与属性信息对应起来表示的信息,该属性信息表示该部分字符串与所述参照URL一致到哪种程度,
将所述匹配对象URL的所述部分字符串作为关键字来检索所述部分字符串信息,且输出示出所述匹配对象URL与所述参照URL的所述层级结构的哪个下位层匹配的结果,
至少一个所述部分字符串通过将URL的域部的各要素配置成左右相反来生成。
CN201480066821.3A 2013-12-10 2014-12-08 Url匹配装置以及url匹配方法 Active CN106233296B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013-255096 2013-12-10
JP2013255096 2013-12-10
PCT/JP2014/082427 WO2015087835A1 (ja) 2013-12-10 2014-12-08 Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム

Publications (2)

Publication Number Publication Date
CN106233296A CN106233296A (zh) 2016-12-14
CN106233296B true CN106233296B (zh) 2019-09-06

Family

ID=53371140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480066821.3A Active CN106233296B (zh) 2013-12-10 2014-12-08 Url匹配装置以及url匹配方法

Country Status (5)

Country Link
US (1) US10277613B2 (zh)
EP (1) EP3067814B1 (zh)
JP (1) JP5989919B2 (zh)
CN (1) CN106233296B (zh)
WO (1) WO2015087835A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209488B (zh) * 2015-04-28 2021-01-29 北京瀚思安信科技有限公司 用于检测网站攻击的方法和设备
JP6666475B2 (ja) * 2017-01-11 2020-03-13 日本電信電話株式会社 解析装置、解析方法及び解析プログラム
JP6442545B2 (ja) * 2017-03-31 2018-12-19 西日本電信電話株式会社 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム
CN111615699B (zh) * 2017-12-26 2024-01-19 北京嘀嘀无限科技发展有限公司 用于统一资源标识符(uri)合并的系统和方法
US10666681B2 (en) 2017-12-31 2020-05-26 Rapid7, Inc. Detecting malicious actors
CN110245330B (zh) * 2018-03-09 2023-07-07 腾讯科技(深圳)有限公司 字符序列匹配方法、实现匹配的预处理方法和装置
CN109889616B (zh) * 2018-05-21 2020-06-05 新华三信息安全技术有限公司 一种识别域名的方法及装置
CN108881311A (zh) * 2018-08-22 2018-11-23 杭州安恒信息技术股份有限公司 一种多网域环境下访问设备的方法
CN110336777B (zh) * 2019-04-30 2020-10-16 北京邮电大学 安卓应用的通信接口采集方法及装置
CN111061972B (zh) * 2019-12-25 2023-05-16 武汉绿色网络信息服务有限责任公司 一种用于url路径匹配的ac查找优化方法和装置
TWI736457B (zh) * 2020-10-27 2021-08-11 財團法人資訊工業策進會 動態網路特徵處理裝置以及動態網路特徵處理方法
CN113312549B (zh) * 2021-05-25 2024-01-26 北京天空卫士网络安全技术有限公司 一种域名处理方法和装置
CN113890756B (zh) * 2021-09-26 2024-01-02 网易(杭州)网络有限公司 用户账号的混乱度检测方法、装置、介质和计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1952947A (zh) * 2005-10-17 2007-04-25 左其其 一种网站反克隆的系统和方法
CN102045360A (zh) * 2010-12-27 2011-05-04 成都市华为赛门铁克科技有限公司 恶意网址库的处理方法及装置
CN102339320A (zh) * 2011-11-04 2012-02-01 成都市华为赛门铁克科技有限公司 恶意网页的识别方法以及识别装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013304B1 (en) * 1999-10-20 2006-03-14 Xerox Corporation Method for locating digital information files
US7921035B2 (en) * 2005-04-15 2011-04-05 The Go Daddy Group, Inc. Parked webpage domain name suggestions
JP5415390B2 (ja) 2010-10-28 2014-02-12 日本電信電話株式会社 フィルタリング方法、フィルタリングシステム及びフィルタリングプログラム
US8407245B2 (en) * 2010-11-24 2013-03-26 Microsoft Corporation Efficient string pattern matching for large pattern sets
JP5465651B2 (ja) 2010-11-30 2014-04-09 日本電信電話株式会社 リスト生成方法、リスト生成装置及びリスト生成プログラム
US20140258260A1 (en) * 2013-03-11 2014-09-11 Sabrina Rayborn Methods for on line dating

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1952947A (zh) * 2005-10-17 2007-04-25 左其其 一种网站反克隆的系统和方法
CN102045360A (zh) * 2010-12-27 2011-05-04 成都市华为赛门铁克科技有限公司 恶意网址库的处理方法及装置
CN102339320A (zh) * 2011-11-04 2012-02-01 成都市华为赛门铁克科技有限公司 恶意网页的识别方法以及识别装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Fast URL Lookup Engine for Content-Aware Multi-Gigabit Switches;Nen-Fu Huang等;《19th International Conference on Advanced Information Networking and Applications (AINA"05) Volume 1 (AINA papers)》;20050425;全文
PhishNet:Predictive Blacklisting to Detect Phishing Attacks;Pawan Prakash等;《IEEE INFOCOM》;20100314;摘要、第二页右列倒数第三段至第三页右列倒数第三段、附图1-2

Also Published As

Publication number Publication date
US10277613B2 (en) 2019-04-30
US20180145993A1 (en) 2018-05-24
JPWO2015087835A1 (ja) 2017-03-16
EP3067814A4 (en) 2017-06-14
EP3067814A1 (en) 2016-09-14
WO2015087835A1 (ja) 2015-06-18
CN106233296A (zh) 2016-12-14
EP3067814B1 (en) 2020-02-26
JP5989919B2 (ja) 2016-09-07

Similar Documents

Publication Publication Date Title
CN106233296B (zh) Url匹配装置以及url匹配方法
CN109857917B (zh) 面向威胁情报的安全知识图谱构建方法及系统
JP5160556B2 (ja) 分散型コンピュータネットワークに基づくログファイル分析方法およびシステム
US9152674B2 (en) Performing application searches
US20160357424A1 (en) Collapsing and placement of applications
US20090083266A1 (en) Techniques for tokenizing urls
US20160092550A1 (en) Automated search intent discovery
CN105022824B (zh) 无效链接的识别方法和装置
CN103514189A (zh) 一种基于搜索引擎的网络爬虫的实现方法
CN107135242A (zh) Mongodb集群访问方法、装置及系统
CN110825950B (zh) 一种基于元搜索的隐藏服务发现方法
Las-Casas et al. A big data architecture for security data and its application to phishing characterization
Mehta et al. A comparative study of various approaches to adaptive web scraping
US11477161B1 (en) Systems and methods for detecting DNS communications through time-to-live analyses
US10897483B2 (en) Intrusion detection system for automated determination of IP addresses
CN105653717B (zh) 一种信息分享的方法及装置
CN106844553A (zh) 基于样本数据的数据探测和扩充方法及装置
CN112231700B (zh) 行为识别方法和装置、存储介质及电子设备
CN103258052B (zh) 一种eMule网络上关联资源的发现方法
Vidya et al. Web mining-concepts and application
Alouneh et al. An effective classification approach for big data security based on GMPLS/MPLS networks
TWI634769B (zh) Method for detecting domain name transformation botnet through proxy server log
Zhuang et al. Design of a more scalable database system
US9473556B1 (en) Content discovery using description sequences
JP5745464B2 (ja) アクセス履歴記憶及び検索装置及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant