CN108282454B - 用于使用内联模式匹配加速安全检查的装置、系统和方法 - Google Patents

用于使用内联模式匹配加速安全检查的装置、系统和方法 Download PDF

Info

Publication number
CN108282454B
CN108282454B CN201710221564.1A CN201710221564A CN108282454B CN 108282454 B CN108282454 B CN 108282454B CN 201710221564 A CN201710221564 A CN 201710221564A CN 108282454 B CN108282454 B CN 108282454B
Authority
CN
China
Prior art keywords
packet
signature
pattern matching
cpu
line card
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
CN201710221564.1A
Other languages
English (en)
Other versions
CN108282454A (zh
Inventor
D·库施瓦哈
M·乔施
P·图特利亚尼
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN108282454A publication Critical patent/CN108282454A/zh
Application granted granted Critical
Publication of CN108282454B publication Critical patent/CN108282454B/zh
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
    • 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/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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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
    • 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/0245Filtering by information in the payload
    • 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
    • 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/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开的各实施例总体上涉及用于使用内联模式匹配加速安全检查的装置、系统和方法。具体地,所公开的装置可以包括(1)在网络设备处,接收去往网络内计算设备的分组,(2)通过(A)将分组的至少一部分与促进关于网络流量的模式匹配的签名集比较,以及(B)至少部分基于比较,确定分组的部分匹配签名中的至少一个签名,来对分组执行模式匹配,(3)在执行模式匹配之后,解析分组的至少该部分以至少部分基于分组的部分来确定分组是否为恶意,然后(4)在确定分组为恶意时,执行关于分组的至少一个安全措施的物理处理。还公开了各种其他装置、系统和方法。

Description

用于使用内联模式匹配加速安全检查的装置、系统和方法
技术领域
本公开的各实施例总体上涉及计算机网络,具体地涉及用于使用内联模式匹配加速安全检查的装置、系统和方法。
背景技术
对网络通信执行的安全检查经常消耗大量资源。例如,防火墙可以对进入网络的分组进行安全检查。作为安全检查的一部分,防火墙可以首先解析分组,然后尝试将从分组中解析的某些信息与入侵防御系统(IPS)数据库中包括的签名进行匹配。在此示例中,防火墙可以利用中央处理单元(CPU)和/或图形处理单元(GPU)来执行解析和匹配。在从分组之一中解析的信息与表示已知攻击模式的签名匹配的情况下,防火墙可以将该分组分类为恶意,然后采取某种补救措施。
遗憾的是,由于传统IPS解析和匹配操作由CPU和/或GPU执行,因此这些操作可能相对于分组输入/输出(I/O)速率和/或线路速率减缓CPU和/或GPU,由此削弱防火墙的性能。此外,由于传统IPS安全检查要求分组在被匹配之前进行解析,因此防火墙可以结束解析最终导致不匹配的分组,由此降低IPS安全检查的效率。
因此,本公开标识并解决了对使用内联模式匹配加速安全检查的系统和方法的需求。
发明内容
如下面将更详细所述,本公开总体上涉及用于使用内联模式匹配加速安全检查的装置、系统和方法。在一个示例中,一种用于完成这种任务的装置可以包括(1)至少一个存储设备,其存储促进关于网络流量的模式匹配的签名集,以及(2)至少一个物理处理设备,其被通信地耦合至存储设备,其中物理处理设备(A)在网络设备处,接收去往网络内计算设备的分组,(B)通过(I)将分组的至少一部分与存储设备中存储的签名集比较,以及(II)至少部分基于比较,确定分组的部分匹配签名中的至少一个签名,来对分组执行模式匹配,(C)在执行模式匹配之后,解析分组的至少部分以至少部分基于分组的部分来确定分组是否为恶意,然后(D)在确定分组为恶意时,执行关于分组的至少一个安全措施。
在一个实施例中,其中物理处理设备可以包括以下至少一个:中央处理单元(CPU);图形处理单元(GPU);线卡;以及专用集成电路(ASIC)。
在一个实施例中,其中:物理处理设备可以包括线卡和CPU;线卡:通过网络设备上的入口端口接收分组;对分组执行模式匹配;以及在完成模式匹配之后,向CPU转发分组;CPU:从线卡接收分组;以及解析分组以确定分组的部分是否匹配任意已知恶意签名。
在一个实施例中,其中:线卡可以标识对应于分组中匹配签名的部分的位置的偏移;以及线卡可以标识相对于存储设备指定分组的部分与之匹配的签名的至少一个签名的索引;以及线卡可以随分组一起向CPU转发偏移和索引。
在一个实施例中,其中:在向CPU转发分组之前,线卡可以将偏移和索引插入分组的脚注;以及CPU:可以从分组的脚注获得偏移和索引;可以以偏移解析分组的部分;以及可以将以偏移从分组的部分解析的内容与由索引指定的签名的至少一个签名比较。
在一个实施例中,其中分组的部分可以包括以下至少一个:分组的净荷;以及分组的报头。
在一个实施例中,其中物理处理设备可以:在网络设备,接收去往网络内计算设备的另一分组;通过以下对另一分组执行模式匹配:将另一分组与存储设备中存储的签名集比较;以及至少部分基于比较,确定没有另一分组的部分匹配签名的任意签名;以及至少部分由于没有分组的部分匹配签名的任意签名,拒绝解析另一分组。
在一个实施例中,其中物理处理设备可以通过仅解析具有匹配签名的至少一个签名的模式的分组,来加速对网络流量执行的安全措施。
在一个实施例中,其中安全措施可以包括以下至少一个:丢弃分组;终止其中发起分组的通信会话;以及将发送分组的设备列入黑名单。
在一个实施例中,其中物理处理设备解析分组的部分可以作为入侵防御系统(IPS)的一部分。
类似地,并入上述装置的系统可以包括(1)至少一个存储设备,其存储促进关于网络流量的模式匹配的签名集,以及(2)至少一个物理处理设备,其被通信地耦合至存储设备,其中物理处理设备(A)在防火墙设备处,接收去往网络内计算设备的分组,(B)通过(I)将分组的至少一部分与存储设备中存储的签名集比较,以及(II)至少部分基于比较,确定分组的部分匹配签名中的至少一个签名,来对分组执行模式匹配,(C)在执行模式匹配之后,解析分组的至少部分以至少部分基于分组的部分来确定分组是否为恶意,然后(D)在确定分组为恶意时,执行关于分组的至少一个安全措施。
在一个实施例中,其中物理处理设备可以包括以下至少一个:中央处理单元(CPU);图形处理单元(GPU);线卡;以及专用集成电路(ASIC)。
在一个实施例中,其中:物理处理设备可以包括线卡和CPU;线卡:通过网络设备上的入口端口接收分组;对分组执行模式匹配;以及在完成模式匹配之后,向CPU转发分组;CPU:从线卡接收分组;以及解析分组以确定分组的部分是否匹配任意已知恶意签名。
在一个实施例中,其中:线卡可以标识对应于分组中匹配签名的至少一个签名的部分的位置的偏移;以及线卡可以标识相对于存储设备指定分组的部分与之匹配的签名的至少一个签名的索引;以及线卡可以随分组一起向CPU转发偏移和索引。
在一个实施例中,其中:在向CPU转发分组之前,线卡可以将偏移和索引插入分组的脚注;以及CPU:可以从分组的脚注获得偏移和索引;可以以偏移解析分组的部分;以及可以将以偏移从分组的部分解析的内容与由索引指定的签名的至少一个签名比较。
在一个实施例中,其中分组的部分可以包括以下至少一个:分组的净荷;以及分组的报头。
在一个实施例中,其中物理处理设备可以:在防火墙设备,接收去往网络内计算设备的另一分组;通过以下对另一分组执行模式匹配:将另一分组与存储设备中存储的签名集比较;以及至少部分基于比较,确定没有另一分组的部分匹配签名的任意签名;以及至少部分由于没有分组的部分匹配签名的任意签名,拒绝解析另一分组。
在一个实施例中,其中物理处理设备可以通过仅解析具有匹配签名的至少一个签名的模式的分组,来加速对网络流量执行的安全措施。
在一个实施例中,其中安全措施可以包括以下至少一个:丢弃分组;终止其中发起分组的通信会话;以及将发送分组的设备列入黑名单。
对应的方法可以包括(1)在网络设备处,接收去往网络内计算设备的分组,(2)通过(A)将分组的至少一部分与促进关于网络流量的模式匹配的签名集比较,以及(B)至少部分基于比较,确定分组的部分匹配签名中的至少一个签名,来对分组执行模式匹配,(3)在执行模式匹配之后,解析分组的至少部分以至少部分基于分组的部分来确定分组是否为恶意,然后(4)在确定分组为恶意时,执行关于分组的至少一个安全措施。
可以根据这里描述的一般原理相互组合地使用来自上述实施例中的任何实施例的特征。在与附图和权利要求结合阅读以下具体实施方式时,将更完全地理解这些和其他实施例、特征和优点。
附图说明
附图图示了多个示例性实施例并且是说明书的一部分。与以下描述一起,这些附图示范和说明了本公开内容的各种原理。
图1是用于使用内联模式匹配加速安全检查的示例性装置的框图。
图2是用于使用内联模式匹配加速安全检查的装置的示例性实现的框图。
图3是示例性超文本传输协议(HTTP)请求的图示。
图4是促进关于网络流量的模式匹配的示例性签名集的图示。
图5是用于使用内联模式匹配加速安全检查的示例性方法的流程图。
图6是能够实现在此描述和/或图示的实施例中的一个或多个实施例和/或关于这些实施例而被使用的示例性计算系统的框图。
贯穿附图,相同附图标记和描述指示相似但是未必相同的单元。尽管这里描述的示例性实施例易有各种修改和备选形式,但是已经在附图中通过示例示出并且这里将详细地描述具体实施例。然而,这里描述的示例性实施例并非旨在于限于公开的具体形式。实际上,本公开内容覆盖落在所附权利要求的范围内的所有修改、等效物和备选。
具体实施方式
本公开描述了用于使用内联模式匹配加速安全检查的各种装置、系统和方法。如下文更加详细所释,本公开的各实施例可以在解析分组之前对该分组执行模式匹配。因此,这些实施例可以通过仅解析其内容产生模式匹配的那些分组来提高安全检查(诸如深度分组检查)的效率。换言之,这些实施例可以使得网络设备能够在安全检查期间取得选择性和/或智能解析。
附加地或备选地,本公开的各实施例可以将模式匹配操作卸载到硬件引擎(诸如线卡和/或专用集成电路(ASIC))。通过这样做,这些实施例可以释放和/或使得在其他情况下要被模式匹配操作消耗的CPU和/或GPU资源可用。因此,这些实施例可以使得硬件引擎能够对传入分组执行模式匹配,继而仅将其内容产生模式匹配的那些分组转发给CPU和/或GPU用于解析,由此消除大量处理开支并总体上加速安全检查。
下面将参考图1和图2提供用于使用内联模式匹配加速安全检查的装置和/或对应实现方式的示例。示例性HTTP请求和促进模式匹配的示例性签名集的详细描述将分别关于图3和图4提供。用于使用内联模式匹配加速安全检查的示例性方法的详细描述将关于图5提供。最后,对应于图6的讨论将提供可以包括图1和图2中所示的装置和/或部件的系统的多种示例。
图1是用于使用内联模式匹配加速安全检查的示例性装置100的框图。在一个示例中,装置100可以包括和/或表示物理防火墙设备。装置100的附加示例包括但不限于:网络设备,路由器,交换机,集线器,调制解调器,网桥,中继器,网关,负载均衡器,多路复用器,网络适配器,服务器,客户端设备,其中的一个或多个的各部分,其中的一个或多个的变型或者组合,和/或任何其他适当的装置。
如图1所示,装置100可以包括一个或多个存储设备,诸如存储设备102。存储设备102通常表示能够存储数据和/或计算机可读指令的任意类型或形式的易失性或非易失性存储器或介质。在一个示例中,存储设备102可以包括数据库,该数据库存储、加载和/或维护促进关于网络流量的模式匹配的签名104集。存储设备102的示例包括但不限于:随机访问存储器(RAM),只读存储器(ROM),闪存,硬盘驱动(HDD),固态驱动(SSD),光盘驱动,高速缓存,其中的一个或多个的变型或者组合,和/或任何其他适当的存储设备。
签名104各自通常表示能够被用作对模式匹配的参考的任意类型或形式的表示、哈希、模式和/或数据。在某些示例中,签名104可以被应用于传入分组的内容(诸如报头和/或主体)以确定分组的任意部分是否包括和/或表示某种数据模式。某些签名104可以包括和/或表示恶意模式,该恶意模式在分组中的出现指示和/或建议该分组是攻击的一部分。附加地或备选地,某些签名104可以包括和/或表示如下模式,该模式在分组中的出现不必指示和/或建议该分组是攻击的一部分。
在某些示例中,签名104可以对应于分组的某个位置或部分。例如,签名104之一可以指示仅当对应数据模式在分组的报头中找到时,该分组才是恶意。附加地或备选地,签名104中的另一签名可以指示仅当对应数据模式在分组的主体中找到时,该分组才是恶意。
如图1所示,装置100还可以包括一个或多个物理处理设备,诸如物理处理设备106。物理处理设备106通常表示能够解释和/或执行计算机可读指令的任意类型或形式的硬件实现的计算设备。在一个示例中,物理处理设备106可以访问和/或修改存储设备102中存储的一个或多个签名104。附加地或备选地,物理处理设备106可以使得装置100能够促进使用内联模式匹配加速安全检查。物理处理设备106的示例包括但不限于:微处理器、微控制器、CPU、GPU、实现软核处理器的现场可编程门阵列(FPGA),专用集成电路(ASIC),其中的一个或多个的各部分,其中的一个或多个的变型或者组合,和/或任何其他适当的处理单元。
图1中的示例性装置100可以通过各种方式实现。例如,全部示例性装置100或其一部分可以表示图2中示例性实现方式200的各部分。如图2所示,实现方式200可以包括在网络204内与装置100通信的计算设备202(1)-(N)。如下面更详细所述,装置100可以使用内联模式匹配加速对去往计算设备202(1)-(N)的分组执行的安全检查。
计算设备202(1)-(N)通常表示能够读取计算机可执行指令的任意类型或形式的计算设备。在一个示例中,计算设备202(1)-(N)可以包括和/或表示客户端设备和/或端用户设备。计算设备202(1)-(N)的附加示例包括但不限于:膝上型计算机、平板计算机、台式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏机,其中的一个或多个的变型或者组合和/或任何其他适当的计算设备。
网络204通常表示能够促进通信或数据传送的任意介质或架构。在一个示例中,网络204可以包括计算设备202(1)-(N)和装置100以及/或者促进计算设备202(1)-(N)与装置100之间的通信。在此示例中,网络204可以使用无线和/或有线连接来促进通信或数据传送。网络204的示例包括但不限于:内联网、广域网(WAN)、局域网(LAN)、企业网、个人局域网(PAN)、因特网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络),其中的一个或者多个的各部分,其中的一个或者多个的组合或者变型和/或任何其他适当网络。
在某些示例中,装置100的物理处理设备106可以在接收去往网络204内的计算设备202(1)的分组。例如,计算机(不必在图2中示出)可以尝试通过装置100向计算设备202(1)发送分组。在此示例中,分组可以经由入口端口和/或线卡到达装置100。
本文所使用的术语“分组”通常指的是由计算设备发送和/或接收的任意类型或形式的通信和/或消息。在一个示例中,分组可以包括和/或表示HTTP消息。附加地或备选地,分组可以包括和/或表示因特网协议(IP)分组(诸如IPv4分组和/或IPv6分组)。
随着分组到达装置100,物理处理设备106可以对分组执行模式匹配。例如,物理处理设备106可以将所有分组或其各部分与存储设备102中存储的签名104集进行比较。在一个示例中,物理处理设备106可以确定分组的至少一部分与来自签名104的已知恶意签名匹配。在模式匹配的情况下,物理处理设备106可以解析分组以确定和/或确认分组的该部分或任意其他部分是否指示和/或建议该分组是恶意。
作为一个示例,物理处理设备106可以检验分组的匹配部分是否位于指示和/或建议恶意攻击的位置中。换言之,物理处理设备106可以通过解析获得分组匹配部分的上下文,继而至少部分基于该上下文确定该分组是否为恶意。例如,物理处理设备106可以检测分组报头中的某个模式匹配。在此示例中,如果该模式位于分组的报头中,则特定模式可以指示和/或建议该分组是恶意。然而,如果该模式位于分组的主体中,则该相同模式可以不必指示和/或建议该分组是恶意。
在另一示例中,物理处理设备106可以确定没有分组部分匹配任意签名104。因此,物理处理设备106可以拒绝解析和/或放弃解析分组,因为没有分组匹配任意签名104。通过这么做,物理处理设备106可以消除大量处理开支和/或总体上加速装置100处的安全检查。因此,物理处理设备106可以通过仅解析其内容产生模式匹配的那些分组来提高装置100处安全检查的效率。换言之,针对在此示例中产生恶意分类的安全检查,物理处理设备106可能需要(1)检测分组内的模式匹配,(2)解析分组以标识匹配模式的上下文,以及(3)确定模式匹配的上下文已知为恶意。
在某些示例中,模式匹配阶段和解析阶段可以通过装置100内的不同部件和/或设备执行。例如,物理处理设备106的一部分可以包括和/或表示对到达装置100的分组执行模式匹配的线卡或ASIC。在此示例中,物理处理设备106的另一部分可以包括和/或表示CPU或GPU,该CPU或GPU解析匹配分组的内容以标识模式匹配的上下文。因此,在完成模式匹配时,线卡或ASIC可以向CPU或GPU转发分组以执行解析。
在另一示例中,模式匹配阶段和解析阶段可以由装置100内的相同部件和/或设备执行。例如,物理处理设备106可以包括和/或表示对到达装置100的分组执行模式匹配的CPU或GPU。在完成模式匹配时,CPU或GPU继而可以解析匹配分组的内容以标识模式匹配的上下文。
作为具体示例,图3中的HTTP请求300可以通过线卡上的入口端口到达装置100。如图3所示,HTTP请求300可以包括和/或标识请求线路(在此示例中,“GET/index.html HTTP/1.1”)、报头(在此示例中,“Host:www.suspiciouswebsite.com”、“User-Agent:Mozilla/5.0(compatible;MSIE 7.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;InfoPath.3;SuspiciousAgent 5.0)”、“Accept:text/xml,text/html,text/plain,image/jpeg”、“Accept-Language:en-us,en”、“Accept-Encoding:gzip”、“Keep-Alive:300”和“Connection:keep-alive”)和主体(在此示例中,主体为空)。
在此示例中,线卡可以接收HTTP请求300,继而对该HTTP请求300执行模式匹配。例如,线卡可以将HTTP请求300的内容与图4中的该组签名104进行签名。如图4所示,该组签名104可以包括和/或表示在某些上下文中指示和/或建议恶意分组的某些模式(在此示例中,“UnknownAgent 1.0”、“UnknownAgent 2.0”、“SuspiciousAgent 4.0”、“SuspiciousAgent5.0”、“SuspiciousAgent 6.0”、“QuestionableAgent 3.0”和“QuestionableAgent 3.1”)。在此示例中,线卡可以确定该组签名104中HTTP请求300中包括和/或找到的“SuspiciousAgent 5.0”签名。
继续此示例,由于HTTP请求300的一部分匹配“SuspiciousAgent 5.0”签名,线卡可以向装置100的CPU转发HTTP请求300。在一个示例中,线卡可以标识对应于和/或表示HTTP请求300中匹配“SuspiciousAgent 5.0”签名的部分的位置的偏移。附加地或备选地,线卡可以标识指定和/或指向存储设备102内“SuspiciousAgent 5.0”签名的索引。线卡可以随HTTP请求300一起向CPU转发该偏移和/或索引。例如,线卡可以在向CPU转发HTTP请求300之前将该偏移和索引插入和/或附加在HTTP请求300的脚注中。
在从线卡接收到HTTP请求300时,CPU可以解析HTTP请求300以确定HTTP请求300中匹配“SuspiciousAgent 5.0”签名的部分的上下文。在一个示例中,CPU可以从HTTP请求300的脚注获得偏移和索引。在此示例中,CPU可以在该偏移处解析HTTP请求300的该部分。换言之,CPU可以从该偏移标识的位置提取数据和/或内容。通过此方式,CPU可以通过动态决定解析或跳过分组中的某些构造而不是简单地解析整个分组而变成更加智能的解析器。CPU继而可以将从HTTP请求300的该部分解析的数据和/或内容与索引指定的“SuspiciousAgent 5.0”签名进行比较。
继续此示例,CPU可以确定对应于“SuspiciousAgent 5.0”签名的数据模式在HTTP请求300报头内的HTTP用户代理字段中找到。数据模式的位置和/或定位可以指示和/或建议HTTP请求300是恶意。然而,如果数据模式在HTTP请求300的主体内找到,则位置和/或定位可以不必指示和/或建议关于HTTP请求300的任何恶意。
在某些示例中,CPU可以与线卡协作以减少可应用于某些安全检查和/或分组的签名的数目。例如,CPU和/或线卡可以至少部分基于所述通信会话中涉及的应用和/或业务逻辑来减少可应用签名的数目。此减少可以改进安全检查结果的准确度和/或缓和假阳性。
在某些示例中,CPU和/或线卡可以执行动态模式更新,该动态模式更新促进确定在解析阶段期间是否旁路分组中包括的某些内容。代替逐行解析直到到达分组内容的末尾,CPU可以旁路分组的某些内容。例如,在分组表示其中较大文件被上传和/或下载的多用途因特网邮件扩展(MIME)会话的一部分时,线卡可以利用MIME边界模式被匹配和/或更新,使得CPU不再需要解析到MIME边界的文件的末尾。在此示例中,一旦线卡在分组中检测到MIME边界模式,CPU就可以直接去往附加到脚注的偏移用于解析和/或检查。附加地或备选地,线卡可以被配置和/或设计用于旁路所有分组除非其MIME边界匹配对应的边界模式。
相对于仅模式匹配安全检查,这些类型的2阶段安全检查可以改进检查结果的准确度。换言之,通过执行模式匹配和解析两者,这些安全检查可以比仅包括模式匹配的安全检查产生更少的假阳性。此外,通过在解析阶段之前执行模式匹配阶段,物理处理设备106可以相对于传统IPS加速安全检查和/或改进安全检查的效率。例如,物理处理设备106可以在模式匹配阶段期间仅解析具有匹配至少一个签名104的模式的分组,并且向其相应目的地简单地转发所有其他不匹配分组而不进行解析。附加地或备选地,物理处理设备106可以将模式匹配操作卸载到硬件引擎(诸如线卡和/或ASIC)以释放和/或使得附加CPU和/或GPU资源可用。
在某些示例中,模式匹配操作可以被卸载到硬件引擎,因为这些操作仅涉及和/或需要固定算法,而如线卡和ASIC之类的硬件能够以堪比分组I/O速率和/或线路速率的速率在入口端口执行固定算法。通过此方式,物理处理设备106可以使用内联模式匹配随后选择性和/或智能的解析来加速对到达装置100的分组执行的安全检查。
在某些示例中,物理处理设备106可以在确定分组是恶意时执行关于该分组的安全措施。这种安全措施的示例包括但不限于:丢弃分组、终止其中发起分组的通信会话、将发送分组的设备列入黑名单,其中的一个或多个的变型或组合和/或任意其他适当的安全措施。
图5是用于使用内联模式匹配加速安全检查的示例性方法500的流程图。方法500可以包括在网络内接收去往计算设备的分组的步骤(510)。此接收步骤可以通过各种方式执行。在一个示例中,网络内的网络设备可以检测和/或接收来自网络内的计算设备的分组。在另一示例中,网络设备可以检测和/或接收来自网络外的计算设备的分组。
在某些示例中,方法500还可以包括对分组执行模式匹配的步骤(520)。此步骤可以通过各种方式执行。在一个示例中,网络设备可以将分组的至少一部分与促进模式匹配的签名集进行比较(520(1))。网络设备继而可以至少部分基于该比较确定分组的一部分匹配至少一个签名(520(2))。
在某些示例中,方法500可以进一步包括在执行模式匹配之后解析分组的至少一部分以至少部分基于分组的该部分来确定该分组是否为恶意的步骤(530)。此解析步骤可以通过各种方式执行。在一个示例中,网络设备可以提取该分组某些字段中包括的数据和/或信息。在此示例中,网络设备可以至少部分基于所提取的数据和/或信息创建和/或开发针对分组内检测到的模式匹配的上下文。
附加地或备选地,方法500可以包括在确定分组是恶意时执行关于分组的至少一个安全措施的步骤(540)。此步骤可以通过各种方式执行。在一个示例中,网络设备可以丢弃分组和/或终止其中发起分组的通信会话。在另一示例中,网络设备可以将发送分组的计算设备列入黑名单。
图6是能够实施在此描述和/或说明的实施例中的一个或多个实施例和/或关于这些实施例而被使用的示例性计算系统600的框图。在一些实施例中,计算系统600的全部或部分可以单独地或与其他元件组合地,执行与图5有关地描述的一个或多个步骤和/或作为用于执行这样的步骤的装置。计算系统600的全部或部分也可以执行任何在此描述和/或展示的其他的步骤、方法或流程和/或作为用于执行这样的步骤、方法或流程的装置和/或实现这样的步骤、方法或流程。在一个示例中,计算系统600可以包括来自图1的装置100。
计算系统600广义地代表任何类型或形式的电气负载,其包括能够执行计算机可读指令的单个计算设备或系统或多处理器计算设备或系统。计算系统600的示例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、移动设备、网络交换机、网络路由器(例如,骨干路由器、边界路由器、核心路由器、移动服务路由器、宽带路由器等)、网络装置(例如,网络安全装置、网络控制装置、网络定时装置、SSL VPN(安全套接字层虚拟专有网)装置等)、网络控制器、网关(例如,服务网关、移动分组网关、多接入网关、安全网关等)和/或任何其他类型或者形式的计算系统或者设备。
计算系统600可以被编程、配置和/或以别的方式被设计为遵循一个或者多个联网协议。根据某些实施例,计算系统600可以被设计为与开放系统互连(OSI)参考模型的一层或者多层的协议(比如物理层协议、链路层协议、网络层协议、传送层协议、会话层协议、表达层协议和/或应用层协议)一起工作。例如,计算系统600可以包括根据通用串行总线(USB)协议、电气和电子工程师协会(IEEE)1394协议、以太网协议、T1协议、同步光联网(SONET)协议、同步数字分级(SDH)协议、集成服务数字网络(ISDN)协议、异步传输模式(ATM)协议、点到点协议(PPP)、以太网上的点到点协议(PPPoE)、ATM上的点到点协议(PPPoA)、蓝牙协议、IEEE 802.XX协议、帧中继协议、令牌环协议、生成树协议和/或任何其他适当协议配置的网络设备。
计算系统600可以包括各种网络和/或计算部件。例如,计算系统600可以包括至少一个处理器614和系统存储器616。处理器614一般地代表能够处理数据或者解译和执行指令的任何类型或者形式的处理单元。例如,处理器614可以代表专用集成电路(ASIC)、片上系统(例如,网络处理器)、硬件加速器、通用处理器和/或任何其他适当处理单元。
处理器614可以根据以上讨论的联网协议中的一个或者多个联网协议来处理数据。例如,处理器614可以执行或者实施协议栈的一部分、可以处理数据包、可以执行存储器操作(例如,将数据包排队以用于以后处理)、可以执行终端用户应用和/或可以执行任何其他处理任务。
系统存储器616一般地代表能够存储数据和/或其他计算机可读指令的任何类型或者形式的易失性或者非易失性存储设备或者介质。系统存储器616的示例包括而不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存或者任何其他适当存储器设备。虽然不是必需,但是在某些实施例中,计算系统600可以同时包括易失性存储器单元(如例如系统存储器616)和非易失性存储设备(如例如如以下详细地描述的主存储设备632)。系统存储器616可以被实施为共享存储器和/或在网络设备中的分布式存储器。另外,系统存储器616可以存储在联网操作中使用的数据包和/或其他信息。
在某些实施例中,示例性计算系统600也可以除了处理器614和系统存储器616之外还包括一个或者多个部件或者单元。例如,如图6中所示,计算系统600可以包括各自可以经由通信基础设施612互连的存储器控制器618、输入/输出(I/O)控制器620和通信接口622。通信基础设施612一般地代表能够促进在计算设备的一个或者多个部件之间的通信的任何类型或者形式的基础结构。通信基础设施612的示例包括而不限于通信总线(比如串行ATA(SATA)、工业标准架构(ISA)、外围部件互连(PCI)、PCI快速(PCIe)和/或任何其他适当总线)和网络。
存储器控制器618一般地代表能够操控存储器或者数据或者控制在计算系统600的一个或者多个部件之间的通信的任何类型或者形式的设备。例如,在某些实施例中,存储器控制器618可以控制经由通信基础设施612在处理器614、系统存储器616和I/O控制器620之间的通信。在一些实施例中,存储器控制器618可以包括可以向或者从链路适配器传送数据(例如,数据包)的直接存储器存取(DMA)单元。
I/O控制器620一般地代表能够协调和/或控制计算设备的输入和输出功能的任何类型或者形式的设备或者模块。例如,在某些实施例中,I/O控制器620可以控制或者促进在计算系统600的一个或者多个单元(比如处理器614、系统存储器616、通信接口622和存储接口630)之间传送数据。
通信接口622广义地代表能够促进在示例性计算系统600与一个或者多个附加设备之间通信的任何类型或者形式的通信设备或者适配器。例如,在某些实施例中,通信接口622可以促进在计算系统600与包括附加计算系统的专用或者公用网络之间的通信。通信接口622的示例包括而不限于链路适配器、有线网络接口(比如网络接口卡)、无线网络接口(比如无线网络接口卡)和任何其他适当接口。在至少一个实施例中,通信接口622可以经由到网络(比如因特网)的直接链路来提供到远程服务器的直接连接。通信接口622也可以例如通过局域网(比如以太网网络)、专用网、广域网、专有网(例如,虚拟专有网)、电话或者有线电视网络、蜂窝电话连接、卫星数据连接或者任何其他适当连接间接地提供这样的连接。
在某些实施例中,通信接口622也可以代表被配置为促进经由外部总线或者通信信道在计算系统600与一个或者多个附加网络或者存储设备之间的通信的主机适配器。主机适配器的示例包括而不限于小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE 1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口622也可以使计算系统600能够参加分布式或者远程计算。例如,通信接口622可以从远程设备接收指令或者向远程设备发送指令以用于执行。
如图6中所示,示例性计算系统600也可以包括经由存储接口630耦合到通信基础设施612的主存储设备632和/或备用存储设备634。存储设备632和634一般地代表能够存储数据和/或其他计算机可读指令的任何类型或者形式的存储设备或者介质。例如,存储设备632和634可以代表磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、快闪驱动器等。存储接口630一般地代表用于在存储设备632和634与计算系统600的其他部件之间传送数据的任何类型或者形式的接口或者设备。
在某些实施例中,存储设备632和634可以被配置为从和/或向被配置为存储计算机软件、数据或者其他计算机可读信息的移动存储单元读取和/或写入。适当的移动存储单元的示例包括而不限于软盘、磁带、光盘、闪存设备等。存储设备632和634也可以包括用于允许计算机软件、数据或者其他计算机可读指令被加载到计算系统600中的其他相似结构或者设备。例如,存储设备632和634可以被配置为读取和写入软件、数据或者其他计算机可读信息。存储设备632和634可以是计算系统600的一部分或者可以是通过其他接口系统被访问的分离设备。
许多其他设备或者子系统可以被连接到计算系统600。反言之,不是所有图6中所示的部件和设备都需要存在以实现这里描述和/或图示的实施例。可以用与图6中所示的方式不同的方式互连以上引用的设备和子系统。计算系统600也可以运用任何数目的软件、固件和/或硬件配置。例如,这里公开的示例性实施例中的一个或者多个示例性实施例可以被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用、计算机可读指令或者计算机控制逻辑)。术语“计算机可读介质”一般地是指能够存储或者承载计算机可读指令的任何形式的设备、载体或者介质。计算机可读介质的示例包括而不限于传输型介质(比如载波)以及非瞬态型介质(比如磁存储介质(例如,硬盘驱动器和软盘))、光存储介质(例如,紧致盘(CD)和数字视频盘(DVD))、电存储介质(例如,固态驱动器和快闪介质)和其他分布式系统。
尽管前文公开内容使用了具体框图、流程图和示例来阐述各种实施例,但是这里描述和/或图示的每个框图组成、流程图步骤、操作和/或部件可以个别地和/或共同地使用广泛硬件、软件或者固件(或者其任何组合)配置被实施。附加地,在其他部件内包含的部件的任何公开内容应当被视为在性质上为示例,因为可以实施许多其他架构以实现相同功能。
在一些示例中,图1中的装置100的全部或者一部分可以代表基于云计算或者网络的环境的部分。基于云计算和网络的环境可以经由因特网提供各种服务和应用。这些基于云计算和网络的服务(例如,软件即服务、平台即服务、基础结构即服务等)可以通过web浏览器或者其他远程接口访问。这里描述的各种功能也可以提供网络切换能力、网关接入能力、网络安全功能、用于网络的内容高速缓存和递送服务、网络控制服务和/或其他联网功能。
附加地,这里描述的模块中的一个或者多个模块可以将数据、物理设备和/或物理设备的表示从一个形式变换成另一形式。附加地或者可选地,这里记载的模块中的一个或者多个模块可以通过在物理计算设备上执行、在计算设备上存储数据和/或以别的方式与计算设备交互来将计算设备的处理器、易失性存储器、非易失性存储器和/或任何其他部分从一个形式变换成另一形式。
这里描述和/或图示的过程参数和步骤的序列仅通过示例被给出并且可以如希望的那样被变化。例如,尽管可以按照特定顺序示出或者讨论这里图示和/或描述的步骤,但是未必需要按照图示或者讨论的顺序来执行这些步骤。这里描述和/或图示的各种示例性方法也可以省略这里描述或者图示的步骤中的一个或者多个步骤或者除了公开的步骤之外还包括附加步骤。
已经提供了前文描述以使本领域其他技术人员能够最好地利用这里公开的示例性实施例的各种方面。这一示例性描述没有旨在于穷举或者限于公开的任何精确形式。许多修改和变型是可能的并且未脱离本公开内容的精神实质和范围。这里公开的实施例应当在所有方面被视为说明性而不是限制。应当在确定本公开内容的范围时参照所附权利要求及其等效含义。
除非另有指出,术语“连接到”和“耦合到”(及其派生)如在说明书和权利要求中使用的那样将被解释为允许直接和间接(即,经由其他单元或者部件)连接二者。附加地,术语“一个”如在说明书和权利要求中使用的那样将被解释为意味着“……中的至少一个”。最后,为了易于使用,术语“包括(include)”和“具有”(及其派生)如在说明书和权利要求中使用的那样与单词“包括(comprise)”可互换并且具有相同含义。

Claims (17)

1.一种用于加速安全检查的装置,包括:
至少一个存储设备,其存储促进关于网络流量的模式匹配的签名集;以及
至少一个物理处理设备,其被通信地耦合至所述存储设备,其中所述物理处理设备:
在网络设备处,接收去往网络内计算设备的分组;
通过以下对所述分组执行模式匹配:
将所述分组的至少一部分与所述存储设备中存储的所述签名集比较;以及
至少部分基于所述比较,确定所述分组的所述部分匹配所述签名集中的至少一个签名;
在执行所述模式匹配之后,解析所述分组的至少所述部分以至少部分基于所述分组的所述部分来确定所述分组是否为恶意;以及
在确定所述分组为恶意时,执行关于所述分组的至少一个安全措施;
其中所述物理处理设备包括线卡和CPU;
所述线卡:
通过所述网络设备上的入口端口接收所述分组;
对所述分组执行所述模式匹配;以及
在完成所述模式匹配之后,向所述CPU转发所述分组;
所述CPU:
从所述线卡接收所述分组;以及
解析所述分组以确定所述分组的所述部分是否匹配任意已知恶意签名;
其中,
所述线卡标识对应于所述分组中匹配所述签名的所述部分的位置的偏移;以及
所述线卡标识相对于所述存储设备指定所述分组的所述部分与之匹配的所述签名集中的所述至少一个签名的索引;以及
所述线卡随所述分组一起向所述CPU转发所述偏移和所述索引;
以及其中,
在向所述CPU转发所述分组之前,所述线卡将所述偏移和所述索引插入所述分组的脚注;以及
所述CPU从所述分组的所述脚注获得所述偏移和所述索引。
2.根据权利要求1所述的装置,其中所述物理处理设备包括以下至少一个:
中央处理单元(CPU);
图形处理单元(GPU);
线卡;以及
专用集成电路(ASIC)。
3.根据权利要求1所述的装置,其中所述CPU:
以所述偏移解析所述分组的所述部分;以及
将以所述偏移从所述分组的所述部分解析的内容与由所述索引指定的所述签名集中的所述至少一个签名比较。
4.根据权利要求1所述的装置,其中所述分组的所述部分包括以下至少一个:
所述分组的净荷;以及
所述分组的报头。
5.根据权利要求1所述的装置,其中所述物理处理设备:
在所述网络设备处,接收去往所述网络内计算设备的另一分组;
通过以下对所述另一分组执行模式匹配:
将所述另一分组与所述存储设备中存储的所述签名集比较;以及
至少部分基于所述比较,确定没有所述另一分组的部分匹配所述签名集中的任意签名;以及
至少部分由于没有所述另一分组的部分匹配所述签名集中的任意签名,拒绝解析所述另一分组。
6.根据权利要求1所述的装置,其中所述物理处理设备通过仅解析具有匹配所述签名集的至少一个签名的模式的分组,来加速对网络流量执行的安全措施。
7.根据权利要求1所述的装置,其中所述安全措施包括以下至少一个:
丢弃所述分组;
终止其中发起所述分组的通信会话;以及
将发送所述分组的设备列入黑名单。
8.根据权利要求1所述的装置,其中所述物理处理设备解析所述分组的所述部分作为入侵防御系统(IPS)的一部分。
9.一种防火墙设备,包括:
至少一个存储设备,其存储促进关于网络流量的模式匹配的签名集;以及
至少一个物理处理设备,其被通信地耦合至所述存储设备,其中所述物理处理设备:
在网络设备处,接收去往网络内计算设备的分组;
通过以下对所述分组执行模式匹配:
将所述分组的至少一部分与所述存储设备中存储的所述签名集比较;以及
至少部分基于所述比较,确定所述分组的所述部分匹配所述签名集中的至少一个签名;
在执行所述模式匹配之后,解析所述分组的至少所述部分以至少部分基于所述分组的所述部分来确定所述分组是否为恶意;以及
在确定所述分组为恶意时,执行关于所述分组的至少一个安全措施;
其中所述物理处理设备包括线卡和CPU;
所述线卡:
通过所述网络设备上的入口端口接收所述分组;
对所述分组执行所述模式匹配;以及
在完成所述模式匹配之后,向所述CPU转发所述分组;
所述CPU:
从所述线卡接收所述分组;以及
解析所述分组以确定所述分组的所述部分是否匹配任意已知恶意签名;
其中,
所述线卡标识对应于所述分组中匹配所述签名的所述部分的位置的偏移;以及
所述线卡标识相对于所述存储设备指定所述分组的所述部分与之匹配的所述签名集中的所述至少一个签名的索引;以及
所述线卡随所述分组一起向所述CPU转发所述偏移和所述索引,
以及其中,
在向所述CPU转发所述分组之前,所述线卡将所述偏移和所述索引插入所述分组的脚注;以及
所述CPU从所述分组的所述脚注获得所述偏移和所述索引。
10.根据权利要求9所述的防火墙设备,其中所述物理处理设备包括以下至少一个:
中央处理单元(CPU);
图形处理单元(GPU);
线卡;以及
专用集成电路(ASIC)。
11.根据权利要求9所述的防火墙设备,其中所述CPU:
以所述偏移解析所述分组的所述部分;以及
将以所述偏移从所述分组的所述部分解析的内容与由所述索引指定的所述签名集中的所述至少一个签名比较。
12.根据权利要求9所述的防火墙设备,其中所述分组的所述部分包括以下至少一个:
所述分组的净荷;以及
所述分组的报头。
13.根据权利要求9所述的防火墙设备,其中所述物理处理设备:
在所述网络设备处,接收去往所述网络内计算设备的另一分组;
通过以下对所述另一分组执行模式匹配:
将所述另一分组与所述存储设备中存储的所述签名集比较;以及
至少部分基于所述比较,确定没有所述另一分组的部分匹配所述签名集中的任意签名;以及
至少部分由于没有所述另一分组的部分匹配所述签名集中的任意签名,拒绝解析所述另一分组。
14.根据权利要求9所述的防火墙设备,其中所述物理处理设备通过仅解析具有匹配所述签名集的至少一个签名的模式的分组,来加速对网络流量执行的安全措施。
15.根据权利要求9所述的防火墙设备,其中所述安全措施包括以下至少一个:
丢弃所述分组;
终止其中发起所述分组的通信会话;以及
将发送所述分组的设备列入黑名单。
16.根据权利要求9所述的防火墙设备,其中所述物理处理设备解析所述分组的所述部分作为入侵防御系统(IPS)的一部分。
17.一种用于加速安全检查的方法,包括:
在网络设备处,接收去往网络内计算设备的分组;
通过以下对所述分组执行模式匹配:
将所述分组的至少一部分与促进关于网络流量的模式匹配的签名集比较;以及
至少部分基于所述比较,确定所述分组的所述部分匹配所述签名集中的至少一个签名;
在执行所述模式匹配之后,解析所述分组的至少所述部分以至少部分基于所述分组的所述部分来确定所述分组是否为恶意;以及
在确定所述分组为恶意时,执行关于所述分组的至少一个安全措施,
其中所述网络设备包括:
至少一个存储设备,其存储促进关于网络流量的模式匹配的签名集;以及
至少一个物理处理设备,其被通信地耦合至所述存储设备;
其中所述物理处理设备包括线卡和CPU;
所述线卡:
通过所述网络设备上的入口端口接收所述分组;
对所述分组执行所述模式匹配;以及
在完成所述模式匹配之后,向所述CPU转发所述分组;
所述CPU:
从所述线卡接收所述分组;以及
解析所述分组以确定所述分组的所述部分是否匹配任意已知恶意签名;
其中,
所述线卡标识对应于所述分组中匹配所述签名的所述部分的位置的偏移;以及
所述线卡标识相对于所述存储设备指定所述分组的所述部分与之匹配的所述签名集中的所述至少一个签名的索引;以及
所述线卡随所述分组一起向所述CPU转发所述偏移和所述索引;
以及其中,
在向所述CPU转发所述分组之前,所述线卡将所述偏移和所述索引插入所述分组的脚注;以及
所述CPU从所述分组的所述脚注获得所述偏移和所述索引。
CN201710221564.1A 2017-01-06 2017-04-06 用于使用内联模式匹配加速安全检查的装置、系统和方法 Active CN108282454B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/400,922 US10298606B2 (en) 2017-01-06 2017-01-06 Apparatus, system, and method for accelerating security inspections using inline pattern matching
US15/400,922 2017-01-06

Publications (2)

Publication Number Publication Date
CN108282454A CN108282454A (zh) 2018-07-13
CN108282454B true CN108282454B (zh) 2021-09-17

Family

ID=58632146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710221564.1A Active CN108282454B (zh) 2017-01-06 2017-04-06 用于使用内联模式匹配加速安全检查的装置、系统和方法

Country Status (3)

Country Link
US (1) US10298606B2 (zh)
EP (1) EP3346663B1 (zh)
CN (1) CN108282454B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112668597B (zh) * 2019-10-15 2023-07-28 杭州海康威视数字技术股份有限公司 一种特征比对方法、装置及设备
US11711453B2 (en) * 2021-10-24 2023-07-25 Mellanox Technologies, Ltd. Template-based packet parsing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051966A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种网络入侵行为检测系统及检测方法
CN102289614A (zh) * 2010-06-18 2011-12-21 三星Sds株式会社 反恶意软件系统及其操作方法
US9276851B1 (en) * 2011-12-20 2016-03-01 Marvell Israel (M.I.S.L.) Ltd. Parser and modifier for processing network packets
CN105897739A (zh) * 2016-05-23 2016-08-24 西安交大捷普网络科技有限公司 数据包深度过滤方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1282332C (zh) * 2003-11-13 2006-10-25 中兴通讯股份有限公司 一种快速数据包过滤方法
WO2006031496A2 (en) * 2004-09-10 2006-03-23 The Regents Of The University Of California Method and apparatus for deep packet inspection
US20060191008A1 (en) * 2004-11-30 2006-08-24 Sensory Networks Inc. Apparatus and method for accelerating intrusion detection and prevention systems using pre-filtering
IL189530A0 (en) * 2007-02-15 2009-02-11 Marvell Software Solutions Isr Method and apparatus for deep packet inspection for network intrusion detection
US20080219261A1 (en) * 2007-03-06 2008-09-11 Lin Yeejang James Apparatus and method for processing data streams
US8416773B2 (en) * 2007-07-11 2013-04-09 Hewlett-Packard Development Company, L.P. Packet monitoring
US9100319B2 (en) * 2007-08-10 2015-08-04 Fortinet, Inc. Context-aware pattern matching accelerator
US20090235355A1 (en) * 2008-03-17 2009-09-17 Inventec Corporation Network intrusion protection system
US9264441B2 (en) * 2008-03-24 2016-02-16 Hewlett Packard Enterprise Development Lp System and method for securing a network from zero-day vulnerability exploits
US9736251B1 (en) * 2009-04-17 2017-08-15 Ca, Inc. Capture and replay of RDP session packets
US8917742B2 (en) * 2011-07-13 2014-12-23 Microsoft Corporation Mechanism to save system power using packet filtering by network interface
US8724496B2 (en) * 2011-11-30 2014-05-13 Broadcom Corporation System and method for integrating line-rate application recognition in a switch ASIC
KR101434388B1 (ko) * 2013-01-04 2014-08-26 주식회사 윈스 네트워크 보안 장비의 패턴 매칭 시스템 및 그 패턴 매칭 방법
EP3077922B1 (en) * 2014-01-13 2021-12-29 Huawei Technologies Co., Ltd. Method and apparatus for generating a plurality of indexed data fields
CN105701093A (zh) * 2014-11-24 2016-06-22 中兴通讯股份有限公司 基于自动机的模式匹配的方法及装置
IL238690B (en) * 2015-05-07 2019-07-31 Mellanox Technologies Ltd Network-based computational accelerator
US9930057B2 (en) * 2015-10-05 2018-03-27 Cisco Technology, Inc. Dynamic deep packet inspection for anomaly detection
US10084803B2 (en) * 2015-12-28 2018-09-25 Fortinet, Inc. Rating of signature patterns for pattern matching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051966A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种网络入侵行为检测系统及检测方法
CN102289614A (zh) * 2010-06-18 2011-12-21 三星Sds株式会社 反恶意软件系统及其操作方法
US9276851B1 (en) * 2011-12-20 2016-03-01 Marvell Israel (M.I.S.L.) Ltd. Parser and modifier for processing network packets
CN105897739A (zh) * 2016-05-23 2016-08-24 西安交大捷普网络科技有限公司 数据包深度过滤方法

Also Published As

Publication number Publication date
EP3346663B1 (en) 2023-09-13
US20180198809A1 (en) 2018-07-12
US10298606B2 (en) 2019-05-21
EP3346663A1 (en) 2018-07-11
CN108282454A (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN108377213B (zh) 用于在内核空间内传播正在进行中的分组的元数据的系统和方法
US8804504B1 (en) System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device
US10044616B2 (en) Co-existence of routable and non-routable RDMA solutions on the same network interface
US11388140B1 (en) Apparatus, system, and method for applying firewall rules at dynamic offsets within packets in kernel space
US9130991B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
US8908545B1 (en) System and method for handling TCP performance in network access with driver initiated application tunnel
US8447884B1 (en) Methods for mapping virtual addresses to physical addresses in a network device and systems thereof
US8537815B2 (en) Accelerating data routing
US20130346585A1 (en) Network system, and policy route setting method
US9998373B2 (en) Data routing acceleration
WO2007006146A1 (en) System and method of offloading protocol functions
US9210094B1 (en) Utilization of TCP segmentation offload with jumbo and non-jumbo networks
CN113746782B (zh) 报文处理方法、装置及相关设备
US9614773B1 (en) Systems and methods for automatically correcting classification signatures
US11294841B1 (en) Dynamically configurable pipeline
US9961147B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN108282454B (zh) 用于使用内联模式匹配加速安全检查的装置、系统和方法
CN110545230B (zh) 用于转发vxlan报文的方法和装置
US11063877B1 (en) Apparatus, device, and method for fragmenting packets into segments that comply with the maximum transmission unit of egress interfaces
US20120041998A1 (en) Network Interface for Accelerating XML Processing
US10877911B1 (en) Pattern generation using a direct memory access engine
US10992591B1 (en) Apparatus, system, and method for discovering path maximum transmission units
US9559857B2 (en) Preprocessing unit for network data
US10237378B1 (en) Low-latency metadata-based packet rewriter
US11405324B1 (en) Packet serial number validation

Legal Events

Date Code Title Description
PB01 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