一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

保护有状态连接管理器中资源分配的系统和方法与流程

2022-07-30 02:13:04 来源:中国专利 TAG:

保护有状态连接管理器中资源分配的系统和方法
1.本发明的背景
技术领域
2.本发明一般涉及有状态网络连接管理器,例如状态防火墙、代理服务器、网络服务器和应用网关,更具体地,涉及用于保护这种有状态连接管理器免受试图通过耗尽其资源来拒绝连接管理器服务合法请求的资源攻击的系统和方法。


背景技术:

3.网络浏览器和服务器的网络协议通常分为两种基本类型,即无状态协议和有状态协议。无状态协议不需要服务器来存储有关由源计算机和目标计算机请求的连接的信息。无状态协议的两个众所周知的示例是互联网协议(ip)和超文本传输协议(http)。无状态协议简化了服务器设计,由于服务器不需要保持跟踪多链路通信或会话细节,因此需要更少的资源。无状态协议允许每个数据包独立地从源传输到目的,而无需参考任何其他数据包。相关会话数据以这样一种方式由源发送到目的,这种方式为可以孤立地理解所传输的每个信息包,而无需会话中先前包的上下文信息。
4.相比之下,当使用有状态网络协议时,客户端机器向服务器发送请求并等待响应,如果没有收到响应,则客户端机器重新发送该请求,直到收到响应为止。文件传输协议(ftp)是有状态网络协议的常见示例。有状态协议通过不断跟踪客户端机器和目的之间的连接信息,为客户端提供更好的性能。然而,有状态网络协议通过要求客户端机器和目的之间的连接信息的存储,为服务器资源带来了更大的负担。有状态连接管理器必须动态地分配存储来处理正在进行的每个对话。
5.传输控制协议,或tcp,是一种用于互连网络上的网络设备的面向连接的通信协议。更具体地说,tcp标准定义了如何建立和维护网络会话,通过该网络会话,应用程序可以交换数据。建立并维护tcp连接,直到每端的应用程序完成交换消息。通过互联网发送的消息被分成多个包。在某些情况下,此类数据包可以通过不同的路径在互联网上传输。在这种情况下,数据包能够以与其被发送的顺序的不同顺序到达它们的目的。tcp协议确保这些包在目的处接收时以正确的顺序被组装。
6.tcp会话遵循有状态的网络协议,因此连接需要有状态网络连接管理器(例如防火墙、代理服务器、网络服务器、应用网关等),以保存与正在建立的连接相关的信息。例如,有状态连接管理器通常维护一个tcp连接表来跟踪源ip地址和目的ip地址的状态。这种有状态网络连接管理器必须维护正常操作所必需的一组有限资源。这些资源用于以下目的:a)在递送到传输/会话层之前重新组装包碎片;b)在递送到应用层之前对片段进行重新排序;c)在递送到应用之前重新组装应用数据;以及d)跟踪网络中实体之间的连接,例如,通过创建和维护tcp连接表。每个已建立的tcp连接,以及每个无序或碎片化的包或包片段,都至少占用这些资源中的一些。当这些资源之一被充分利用时,可能无法为新连接提供服务、维护正在进行的连接,或重新组合/重新排序业务,并且服务可能会被降级。
7.通常,当客户端尝试启动到服务器的tcp连接时,客户端和服务器交换一系列消息,称为tcp三次握手。客户端通过向服务器发送syn(同步)消息来请求连接。服务器通过将syn-ack发送回客户端来确认此请求。客户端以ack响应,以及连接建立。
8.不幸的是,恶意的个人、组织甚至政府机构通过在互联网上传播恶意软件来对网络服务器发起资源攻击,从而试图有效地禁用合法的互联网网络资源。通常这种资源攻击会用虚假请求淹没有状态连接管理器,以仅需通过耗尽有状态连接管理器的资源来试图拒绝连接管理器服务合法请求。在某些情况下,攻击者生成耗尽有状态连接管理器的带宽的大量业务。在其他情况下,攻击者生成需要服务器上的大量处理能力的业务,从而由于服务器的cpu的负载过大而阻止服务器处理合法请求。在其他情况下,攻击者生成流量,该业务尽管带宽相对较低,但仍占用有状态连接管理器维护的大量内存资源(例如,列表、表或缓冲区),因此无法插入新数据。
9.一种拒绝服务(“dos”)资源攻击是tcp syn洪水攻击,其工作原理如下。攻击者向目标发送大量tcp syn包。攻击者可能会进行“欺骗”,即在这些包中使用虚假的源ip地址来显示为合法用户。欺骗使得追溯此类包到实际攻击者变得更加困难。此类攻击的检测和缓解将更难检测和/或缓解,因为目标“受害者”无法通过简单地拒绝来自单个源ip地址的业务来阻止攻击。
10.每次收到tcp syn包时,目标受害者都会在3次握手中以第二包(syn-ack)进行响应。它还分配一些资源,例如用于保持跟踪tcp连接的tcp控制块。然后,目标服务器等待请求客户端以ack代码回答。tcp syn洪水攻击通过未能发送服务器预期的ack响应代码而工作。如果攻击者能够生成大量的tcp syn请求,那么攻击者就有可能占用大量的连接管理器资源。这些资源在一段时间内没有被释放,因为目标受害者希望收到3次握手中的第三包(ack),但第三包永远不会到达,要么是因为恶意客户端被配置为保留ack代码,或者因为在tcp syn包中被提供的源ip地址是一个“欺骗地址”。在后一种情况下,目标受害者服务器将syn-ack握手代码发送到伪造的ip源地址,该ip源地址拒绝以ack代码进行响应,因为它从一开始就没有发送过这样的tcp syn请求。
11.如上所述,恶意客户端要么根本不发送预期的ack代码,要么提供拒绝发送ack代码的虚假源ip地址。最终结果是连接管理器的资源一直被占用,直到触发连接超时。目标受害者最终将“超时”这些部分连接,从而恢复这些资源;但是,如果攻击者可以导致连接管理器的资源分配速度快于释放速度,目标受害者将耗尽资源并且无法服务合法请求。
12.除了tcp syn洪水攻击之外,还有其他类型的拒绝服务(dos)攻击。例如,tcp“无序”包dos攻击利用了tcp包将由网络路由器以正确的顺序重新传输的保证。网络路由器通常会以乱序(例如,第二片段可能在第一片段之前被接收)接收一系列相关的数据包,当这种情况发生时,接收的包会被“缓冲”(即它们暂时被保存在缓冲存储器中),直到接收到丢失的片段,以便在网络路由器重新传输之前可以将它们按正确的顺序放置。攻击者可能故意推迟发送具有大量片段的数据包的第一片段,以强制网络路由器缓冲发送的第二、第三和后面的片段,直到最终接收到丢失的第一片段。然而,攻击者从不发送第一片段,目的是占用网络路由器内用于存储第二、第三和后面的片段的缓冲区资源。
13.历史上,为了防止有状态连接管理器达到充分的资源利用率和由于资源不足而拒绝服务,已经使用了不同的机制。此类机制的示例包括老化(超时)、速率限制器、随机早期
检测和尾部丢弃。
14.老化或“超时”只是考虑部分连接已经存在多长时间而没有完成。如果连接管理器的资源之一达到其最大容量,则连接管理器将确定哪些部分连接是最旧的,并将它们清除,以便它可以接受额外的新条目。
15.速率限制器用于限制给定时间范围内网络接口控制器(nic)接收的业务速率。例如,这个速率可以被测量作为在一秒钟内从端口53接收到的数据包的数量。如果在测量的时间范围内特定端口上已接收到最大数量的数据包,则在给定时间范围内接收的任何其他业务都将被丢弃。当然,速率限制会限制合法业务流以及恶意业务流。
16.随机早期检测(“red”),也称为随机早期弃置或随机早期丢弃,是主动队列管理(“aqm”)的早期形式。red的一个目标是维护平均队列大小低于最小阈值。以这种方式,备用队列容量被维护以应对业务的短暂突发。red算法使用统一随机化来选择丢弃哪些到达包(或在与例如显式拥塞通知—ecn结合使用时“标记”)。以这种方式,标记来自特定连接的包的概率大致与该连接通过网关的带宽份额成正比。
17.加权随机早期弃置(w-red)是red的服务质量(“qos”)类别感知变体。qos通过为网络上特定类型(“类别”)的数据设置优先级来控制和管理网络资源。w-red使用分配给不同qos类别的不同权重来缩放弃置包的概率。因此,属于较高优先级qos类别的业务将被分配一个按比例缩小的弃置概率。然而,这种技术不区分恶意数据包和良性数据包。因此,w-red对恶意数据包和良性数据包进行同等惩罚。
18.当上述类型的保护方法失败,并且连接管理器的一个或更多个资源获取被耗尽时,就会发生“尾部丢弃”。尾部丢弃导致数据包被放入队列中,前提是队列尚未填满。如果队列已经被填满,那么新到达的数据包将被直接丢弃,直到队列有足够的空间来接受进来的业务。然而,这种尾部丢弃排队方法具有惩罚突发业务流的趋势,并且不能解决资源耗尽的问题。
19.传统上,必须进行各种检查和规则匹配工作来确定恶意业务及其源,以保护资源、丢弃恶意包和/或删除连接。这种检查和规则匹配引擎既费时又费资源。它们依赖于良性源与恶意源的二元分类,这并不总是可能的,特别是在欺骗身份的情况下。


技术实现要素:

20.因此,本发明的一个目的是提供一种方法来防止dos攻击试图耗尽有状态连接管理器(包括防火墙、代理服务器、网络服务器、应用网关等)的内存资源,例如列表、表或缓冲区。
21.本发明的另一个目的是提供这样一种方法,其中恶意和畸形数据包比合法数据包更容易受到惩罚。
22.本发明的又一个目的是提供这样一种方法,该方法避免连接管理器的计算能力和/或存储资源的显著负担以便运行,从而实现对连接管理器的最小性能惩罚。
23.本发明的再一目的是提供一种可达到上述目的的联网计算机系统。
24.简言之,根据本发明的各个实施例,本发明的第一方面涉及一种改进的计算系统,该计算系统适于耦合到计算网络以用于接收进入的数据包,并防止尝试耗尽有状态网络连接管理器的内存资源的dos攻击。该计算系统包括提取逻辑,该提取逻辑被配置为从网络接
收数据包,并从每个数据包报头中提取源ip地址值srcip和生存时间值ttl。计算系统还包括分析逻辑,该分析逻辑被配置为分析提取的srcip和ttl值以确定接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。计算系统还包括响应分析逻辑的决策逻辑:
25.a)当数据包是由对计算系统发起资源攻击的攻击者发起的概率不超过预定阈值时,分配计算系统的资源来处理数据包;或者
26.b)当数据包是由对计算系统发起资源攻击的攻击者发起的概率超过预定阈值时,拒绝分配计算系统的资源来处理数据包。
27.在本发明的各种实施例中,计算系统的分析逻辑使用srcip值在srcip地址信誉数据库中查找对应的信誉分数。当确定接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率时,分析逻辑使用该信誉分数。
28.在本发明的一些实施例中,计算系统的分析逻辑对接收的具有特定ttl值的数据包的数量进行计数。随着接收的具有特定ttl值的数据包的数量增加,分析逻辑可以增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
29.在本发明的各种实施例中,计算系统的分析逻辑监控接收的具有特定srcip值的数据包的频率。随着接收的具有特定srcip值的数据包的频率增加,分析逻辑增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
30.在本发明的各种实施例中,计算系统的分析逻辑使用srcip值来查找据称发送接收的数据包的相应地理位置。当相应地理位置是经常发起资源攻击的区域或地区时,分析逻辑增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
31.在本发明的各种实施例中,计算系统的分析逻辑监控已经分配用于处理接收的数据包的资源量。随着已经分配用于处理接收的数据包的资源量增加,分析逻辑增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在至少一些实施例中,分析逻辑监控已经分配用于处理接收的具有特定ttl值的数据包的资源量;随着已分配用于处理接收的具有特定ttl值的数据包的资源量增加,分析逻辑增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在其他实施例中,分析逻辑监控已经分配用于处理接收的具有特定srcip值的数据包的资源量;随着已经分配用于处理接收的具有特定srcip值的数据包的资源量增加,分析逻辑增加了接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在其他实施例中,分析逻辑监控已经分配用于处理接收的源自特定地理位置的数据包的资源量,随着已经分配用于处理接收的源自所述地理位置的数据包的资源量增加,分析逻辑增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
32.在本发明的各种实施例中,计算系统的分析逻辑执行以下操作:
33.a)使用srcip值在srcip地址信誉数据库中查找相应信誉分数;
34.b)对接收的具有特定ttl值的数据包的数量进行计数,并计算从接收的具有特定ttl值的数据包的数量导出的ttl怀疑分数;
35.c)监控接收的具有特定srcip值的数据包的频率,并计算从接收的具有特定srcip值的数据包的频率导出的srcip怀疑分数;
36.d)监控已分配的资源量,并提供对应的占用计数;
37.e)通过加权缩放因子来缩放信誉分数、ttl怀疑分数、srcip怀疑分数和占用计数;
以及
38.f)将缩放的信誉分数、缩放的ttl怀疑分数、缩放的srcip怀疑分数和缩放的占用计数相加,以提供接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
39.本发明的另一方面涉及一种通过惩罚可疑数据包而不显著惩罚合法数据包来保护耦合到计算机网络的计算系统免受资源攻击的方法。在本发明的各种实施例中,该方法包括从每个接收的数据包的报头中提取srcip值和ttl值的步骤。该方法还包括分析提取的srcip值和ttl值以确定接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率的步骤。该方法还包括以下任一步骤:a)当数据包是由对计算系统发起资源攻击的攻击者发起的概率不超过预定阈值时,分配计算系统的资源来处理数据包;或者b)当数据包是由对计算系统发起资源攻击的攻击者发起的概率超过预定阈值时,拒绝分配计算系统的资源来处理数据包。
40.在本发明的一些实施例中,这种方法的分析步骤使用srcip值在srcip地址信誉数据库中查找对应的信誉分数。当确定接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率时,使用信誉分数。
41.在本发明的各种实施例中,这种方法的分析步骤包括对接收的具有特定ttl值的数据包的数量进行计数的步骤。随着接收的具有特定ttl值的数据包的数量增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
42.在至少一些实施例中,这种方法的分析步骤包括监控接收的具有特定srcip值的数据包的频率的步骤。随着接收的具有特定srcip值的数据包的频率增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
43.在本发明的其他实施例中,这种方法的分析步骤包括根据提取的srcip值查找据称发送接收的数据包的地理位置的步骤。当对应的地理位置是经常发起资源攻击的区域或地区时,分析步骤可以增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
44.在各种实施例中,这种方法的分析步骤包括监控已经分配用于处理接收的数据包的资源量的步骤。随着已经分配用于处理接收的数据包的资源量增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在至少一些实施例中,这种方法的分析步骤包括监控已经分配用于处理接收的具有特定ttl值的数据包的资源量的步骤,其中随着已经分配用于处理接收的具有特定ttl值的数据包的资源量的增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在其他实施例中,分析步骤包括监控已经分配用于处理接收的具有特定srcip值的数据包的资源量的步骤,其中随着已经分配用于处理接收的具有特定srcip值的数据包的资源量增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。在其他实施例中,这种方法的分析步骤包括监控已经分配用于处理接收的源自特定地理位置的数据包的资源量的步骤,其中随着已经分配用于处理接收的源自所述地理位置的数据包的资源量增加,分析步骤增加接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
45.在本发明的一些实施例中,这种方法的分析步骤包括以下步骤:
46.a)使用srcip值在srcip地址信誉数据库中查找相应信誉分数;
47.b)对接收的具有特定ttl值的数据包的数量进行计数,并计算从接收的具有特定
ttl值的数据包的数量导出的ttl怀疑分数;
48.c)监控接收的具有特定srcip值的数据包的频率,并计算从接收的具有特定srcip值的数据包的频率导出的srcip怀疑分数;
49.d)监控已分配的资源量,并提供对应的占用计数;
50.e)通过加权缩放因子来缩放信誉分数、ttl怀疑分数、srcip怀疑分数和占用计数;以及
51.f)将缩放的信誉分数、缩放的ttl怀疑分数、缩放的srcip怀疑分数和缩放的占用计数相加,以提供接收的数据包是由对计算系统发起资源攻击的攻击者发起的概率。
52.本发明的前述和其他特征和优点将从以下对本发明的特定实施例的更详细描述中变得更加明显,如附图中所示。
附图说明
53.当结合附图考虑时,可以通过参考详细描述和权利要求来获得本发明的更完整的理解,其中:
54.图1是示出攻击者如何对定向网络服务器发起攻击的示意图。
55.图2是示出典型的tcp数据包格式的示意图。
56.图3是示出有状态连接管理器并概括在其中分配资源以跟踪由其传输的数据包流的该管理器的框图。
57.图4是示出如图3所示的资源管理器的部件的框图。
58.图5是示出根据本发明的各种实施例为处理数据包而执行的步骤的高级流程图。
59.图6是示出执行计算怀疑分数以决定是否拒绝向进入数据包提供资源的步骤的更详细的流程图。
具体实施方式
60.在图1中,恶意攻击者计算机100正试图通过互联网104对目标有状态连接管理器(例如,网络服务器102)发起拒绝服务(dos)攻击。虽然项目102在此示例中被描述为目标网络服务器,但它也可以是中间网络节点,例如代理服务器、负载平衡器、防火墙等。互联网104由在目标服务器102和多个客户端计算机之间传递数据包的多个中间网络服务器106、108、110和112形成。客户端计算机包括正真诚地尝试与目标服务器102连接的合法客户端机器114、116、118和120。此外,已经被攻击者计算机100分发的恶意软件感染的受损客户端机器122、124和126还将数据包引导至目标服务器102以试图禁用目标服务器102的资源。注意,虽然图1没有显示攻击者计算机100直接连接到互联网104,但攻击者计算机100本身可以通过互联网104直接发送数据包至目标服务器102。
61.仍然参考图1,攻击者100通过受损节点122、124和126以受害者节点102为目标发起攻击。受害者节点102是一个有状态连接管理器,例如,它可以是受害者服务器本身,或者是诸如代理服务器、负载平衡器、防火墙等的中间网络节点。在任一情况下,受害者节点102具有处理所有进入数据包的数据路径,并且攻击者100试图耗尽该数据路径的处理资源。
62.在讨论本发明的各种实施例处理数据包的方式之前,首先回顾通过计算机网络发送的tcp数据包的格式可能是有帮助的。在图2中,显示了用于ipv4(第四版互联网协议)的
互联网协议(ip)数据包报头的典型配置。图2所示的数据包包括至少六组32位的数据,以六个32位行的形式显示,即行200、202、204、206、208和210。
63.在报头的第一行200中,四位版本数据提供了使用的互联网协议(例如ipv4)的版本号;对于ipv4,这始终等于4。四位互联网报头长度(ihl)数据表示ip报头的长度。六位差分服务代码点(dscp)数据指定差分服务(diffserv);较新的技术,例如用于交互式语音服务的ip语音(voip),需要实时数据流,并利用dscp字段。两位显式拥塞通知(ecn)数据是允许在不丢弃包的情况下对网络拥塞进行端到端通知的一项可选功能。16位长度数据表示整个ip包的总长度,包括ip报头和相关联数据。
64.在报头的第二行202中,16位识别数据用于识别ip包中的一组“碎片”。三位标志数据用于识别和控制碎片。ip碎片化是一种互联网协议(ip)过程,该过程将包分成更小的片(碎片),这些片由接收主机重新组合。13位碎片偏移数据指定相对于原始未碎片化数据包的开头的特定碎片的偏移。
65.在报头的第三行204中,八位ttl(“生存时间”)数据包含受数据包通过路由器产生的“跳”数的影响的值。ttl值最初由请求源计算机设置;它可以被设置为1与255之间的任何值。每次数据包通过网络路由器产生一“跳”时,路由器将ttl值减一。当ttl值达到零时,包将被弃置以避免过多的“跳”,并且超时消息通常被发送回发送者。因此,该ttl值向网络路由器发出信号,表明该包在网络中的时间是否过长并且是否应该被弃置。这可以防止无法传递的包永远循环并阻塞正在使用的网络。八位协议数据定义了在数据包的数据部分中使用的协议。16位校验和数据用于对数据包的报头进行错误检查。当包到达路由器时,路由器计算报头的校验和并将该校验和与校验和字段进行比较;如果它们不匹配,则丢弃该数据包。注意,校验和发生变化以用于路由器上每一跳,因为每个路由器都会减少ttl计数。
66.源地址数据的第四行206表示发送请求的计算机的ipv4地址,以及目的地址数据的第五行208表示目标计算机的ipv4地址。这些地址通常以点分十进制表示法(例如,172.16.254.1)被编写,其中四位数位中的每一位都由八位表示。第六行210中所示的选项字段是不常用的,并且可以完全被省略。
67.图3描述了根据本发明的各种实施例的用于保护有状态连接管理器免受资源耗尽型ddos攻击的数据路径设置。数据路径300包括入口队列302,该入口队列302被数据路径300的处理逻辑用于“出列”数据包以进行处理。数据路径300可以使用网络处理器asic在硬件中实现;asic是为特殊应用设计的专用集成电路,例如特定类型的传输协议。合适的网络处理器asic的一个示例是可编程的3850系列catalyst网络交换机,该交换机可从加利福尼亚州圣何塞的思科系统公司获得。可替换地,数据路径300可以在软件中实现,例如,通过使用基于dpdk的软件开关(诸如来自opencontrail(现为tungsten fabric)的“vrouter”或linux基金会的合作项目“openvswitch”)。
68.如图3所示,数据路径300包括接收来自入口队列302的进来数据包的出列块304。出列块304确定已经从入口队列接收到整个数据包(报头和相关联数据),并从数据的进来队列中提取该数据包。提取块306从出列块304接收数据包并从中仅提取报头部分(见图2)。提取的报头从提取块306传递到资源请求块308;基于报头的内容,资源请求块308将资源分配请求传递给资源管理器块310。块306和308可以被视为提取逻辑电路,其被配置为从网络接收数据包并从其中提取元数据(包括来自每个数据包的报头的srcip值和ttl值)。
69.资源管理器块310包括为了处理接收的数据包而必须分配的有状态存储资源。如图3所示,这些资源可以包括但不限于:1)流表;2)重组缓冲器;3)nat池表。
70.资源管理器310内的流表312可以是例如用于跟踪连接状态以分别应用每个tcp或udp会话策略的tcp或udp会话流表。tcp协议上面已经解释过了;应用使用udp或用户数据报协议通过取消错误检查来传递更快的信息流。除了跟踪连接的状态之外,流表312还可以用于收集统计数据和用于其他目的。流表312中的条目在接收到syn数据包(三个例行握手信号中的第一个)时被分配,并且在接收到fin包或rst包时被解除分配。fin包表示数据交换已经完成,并且连接应该被终止。rst包表明连接需要被重置,就像当一个片段到达时,它不是用于当前连接的。
71.图3中的碎片缓冲器314被资源管理器310用来重新组合数据碎片,以便重新创建接收到的原始数据包。每当属于新包的碎片到达系统时,在碎片缓冲器314中分配重组缓冲器条目。当所有这些碎片都到达时,该条目被取消分配,并且数据包现在可以在出口端口318上发送出去。
72.nat池表316是保持跟踪nat(网络地址转换)资源的表。网络地址转换是一种在数据包通过网络路由器传输时,通过修改其ip报头中的网络地址信息,从而将一个ip地址空间重新映射到另一个ip地址空间的方法;鉴于足够的唯一ipv4地址用尽,这种方法通常被使用。新连接可能需要nat资源,并且nat池表316保持跟踪可用资源。
73.在本发明的各种实施例中,基于对包元数据、连接跟踪统计和系统状态的考虑,做出是否向数据包提供或拒绝分配资源的决定。在数据包明显偏离正常特征的情况下,更有可能拒绝相关的资源分配请求,以实现更好的资源保护。与已用于防御dos攻击的现有方法相比,这是在不显著增加连接管理器性能负担的情况下实现的。
74.在本发明的至少一些实施例中考虑的包元数据可以包括诸如包大小之类的变量;包报头标志的状态;包报头中的ttl值;源ip地址的地理位置;源ip地址的信誉分数;和/或反向路径转发(rpf)检查的结果。
75.包大小是由包报头提供的总数据包长度;作为dos攻击的一部分传输的数据包可能包括需要更多资源的大量数据。检查包报头标志的状态以确定标志值是正常还是异常。关于包报头中的ttl值,大多数网络设备在发起包时使用较大的默认ttl值(例如,128或255)。因此,合法数据包内不太可能存在低ttl值。然而,当攻击者发起dos攻击时,ttl值可能最初被设置为较低的值,甚至为零,以迫使响应路由器以适当的icmp超时异常消息进行响应,这需要响应路由器的更多计算能力。因此,数据包报头中低ttl值的存在可能表明数据包不合法。反向路径转发(rpf)是多播路由中的一种方法,有助于防止ip地址欺骗和其他类型的挑战。这种方法称为反向路径转发,因为路由器/连接管理器不会向前看所要求的目的,而是会向后看以检查数据包的反向路径。如果反向路径检查确认提供的源ip地址是数据包的实际来源,则发起数据包更可能是真实的,并且应该将其转发到请求的目的。另一方面,如果反向路径检查无法确认提供的源ip地址是数据包的实际来源,则应丢弃数据包。
76.仍然参考数据包元数据的考虑,也可以考虑源ip地址的地理位置。数据包报头包括源ip地址以及地理位置,即源ip地址的地理位置,该地理位置可以通过查找源ip地址索引的查找表得到。一些区域/地理位置比其他区域/地理位置更频繁地被用于发起dos攻击。因此,在评估数据包是合法请求还是dos攻击的一部分时,检查数据包的来源区域/地理位
置会是很有帮助的。此外,许多源ip地址以作为分发恶意软件和/或“垃圾邮件”的基地而具有信誉。因此,在分析数据包是合法请求还是dos攻击的一部分时,考虑源ip地址的信誉分数是很有帮助的。此类ip地址信誉分数通常可以从诸如以下这些提供者获得:firehol[http://iplists.firehol.org/]、palo alto[https://blog.webernetz.net/palo-alto-external-dynamic-ip-lists/]、cisco talos[https://www.talosintelligence.com/reputation center]、spamhaus[https://www.spamhaus.org/]和virustotal ip reputation[https://www.virustotal.com]。反向路径转发(rpf)是多播路由中的一种方法,有助于防止ip地址欺骗。这种方法称为反向路径转发,因为处理数据包传输的路由器不会向前看,而是会向后看以检查包的反向路径。如果反向路径返回源ip地址,则数据包将被转发。如果反向路径没有返回到源ip地址,那么数据包很可能是不合法的并且被丢弃。
[0077]
如上所述,连接跟踪统计是评估数据包是合法请求还是dos攻击的一部分时可以考虑的另一个因素。此类连接跟踪统计包括但不限于a)源ip地址占用的资源数;b)每个目的ip地址占用的资源数;c)给定ttl值占用的资源数;d)对于给定的源ip地址,过去包到达时的包间隔分布(即连续网络包之间的暂停分布);以及e)对于给定的源ip地址,过去包的包大小分布。
[0078]
在决定是否提供或拒绝资源分配时可以考虑的系统状态信息包括以下因素:a)队列大小(队列中等待的数据包的数量);b)队列占用率(即,包到达的速率与包离开的速率之比);以及c)内存和处理器负载。
[0079]
上述包元数据、连接跟踪状态和系统状态信息仅在一定程度上表示恶意字符。单独地,这些因素不能100%确定地识别恶意包,但每个因素都作为贝叶斯证据(即,贝叶斯统计概率定理下的证据)来提高包是恶意或良性的信念或置信度水平。如此获得的置信度用于计算资源分配请求的拒绝概率。这导致创建一种“软”惩罚方法,将更多资源分配给良性请求者而不是恶意请求者。随着该置信度水平提高,资源仅分配给良性请求者的机会就越高。这样做的目的是使恶意和格式错误的包更有可能受到惩罚,而不是合法包。
[0080]
可以使用相同的通用方法来计算已分配资源条目的“超时”(即允许的生命周期),从而可疑条目的老化速度比非可疑条目快。结果是,与合法的数据包请求相比,恶意行为者占用的资源将被更快地释放。因此,攻击者发起成功攻击变得更加困难。
[0081]
例如,根据本发明的至少一个实施例,网络连接管理器系统为添加到tcp连接表的每个新连接计算老化超时。系统创建一个tcp连接列表、它们的系统状态以及它们相关的包元数据(ttl、5元组、rpf检查、ip信誉、geo查找)。对于每个这样的连接,都会计算丢弃概率以反映连接合法(即来自非黑名单源;来自允许的geo位置;以及如果协议要求则响应挑战)且正常活动(即没有过时,没有停留在可能有问题的状态,以及没有过度活跃)的概率。这个老化超时可以被计算为:
[0082]
maxage=t*(1-drop_probability)。
[0083]
在本发明的一些实施例中,网络连接管理器系统基于它们不合法的概率选择性地移除tcp连接。系统维护一个tcp连接列表、它们的系统状态和相关的包元数据(ttl、5元组、rpf检查、ip信誉、geo查找)。对于每个这样的tcp连接,都会计算丢弃概率以反映连接合法(来自非黑名单源、来自允许的geo位置、以及如果协议要求则响应挑战)且正常活动(没有过时,没有停留在可能有问题的状态,以及没有过度活跃)的概率。对于每个进来的数据包,
都会计算丢弃概率以反映包格式错误和/或恶意的概率。
[0084]
网络连接管理器系统管理其资源分配和占用(内存分配、在表中插入条目)以防止滥用和资源拒绝。例如,在将新连接插入tcp连接表之前,会进行检查以确认黑名单源没有请求该连接。进行rpf检查以确保每个到达的数据包通过相对较短的连接路径和/或通过基本上与路由器用来转发返回包的相同路径已经到达。进行检查以确保未决连接的数量不超过特定状态下未完成连接的定义阈值;例如,如果大量连接处于“syn-wait”状态,这可能表明正在进行syn洪水攻击。此外,检查进来的数据包的ttl值以确定在给定时间范围内接收的大量的其他数据包中是否存在相同的ttl值,因为这也可能表明发生了企图攻击。
[0085]
图4显示了图3的资源管理器310的更详细的框图。块400从块308(在图3中)接收资源请求,包括从相关数据包的报头提取的源ip地址(srcip)值和生存时间(ttl)值。该信息由块400提供给虚线块410。块410包括占用计数块412、topn srcip频率块414、srcip信誉缓存块416和ttl发生频率块418。如下所述,块412、414、416和418中的每一个都有助于计算四个对应的怀疑分数。
[0086]
占用计数块412维护当前分配的以支持所有活动tcp连接的资源的计数。这个计数随着每个新资源被分配而递增,并且随着每个分配的资源被取消分配以释放空间而递减。该计数可以是用于管理数据包请求的所有各种类型资源的总计,或者可以为不同类型的资源维护单独的小计(例如,重组缓冲区;tcp/udp会话流表;nat池表等)。
[0087]
可替换地,可以根据数据包报头中的ttl值跟踪占用计数。为了通过ttl值跟踪资源占用,总共使用了255个计数器,因为有256个可能的范围从0到255的ttl值,并且不会接受来自ttl值为零的数据包的请求。255个计数器中的每一个都用于对包(这些包的ttl值为1、2、3等,直到255)占用的资源数进行计数。
[0088]
可以采用其他占用计数选项。例如,可以通过对每个不同srcip地址占用的资源进行计数来跟踪资源占用。然而,这可能变得不切实际,因为理论上有数百万个可能的srcip地址。因此,可以使用更有效的计数技术,例如cormode和muthukrishnan在题为“改进的数据流概要:最小计数草图及其应用(an improved data stream summary:the count-min sketch and itsapplications)”j.algorithms.55:29-38(2005)的一文(其公开内容通过引用并入本文)中描述的所谓“最小计数草图(count min sketch)”数据结构技术。虽然此技术使用近似值,但在这种情况下不需要精确计数,因此,近似计数是可接受的以节省内存。基于srcip地址对占用资源计数的一般目标是为了惩罚包含特定srcip地址的数据包,这些特定srcip地址被指出使用比其他数据包更高的资源占用计数。srcip地址的占用计数可以由块414存储的信息辅助,如下所述,块414跟踪处理的数据包内的特定srcip地址的频率。
[0089]
topn srcip频率块414维护一组最频繁的或前n个(其中n是实数,例如100或1,000)源ip地址,这些源ip地址由处理中的数据包的当前占用率确定。块414通向块420,其中计算srcip怀疑分数。如果当前数据包的srcip与块414跟踪的前n个srcip地址之一匹配,则与使用频率较低的srcip地址的数据包相比,块420为当前数据包分配更高的怀疑分数。随着特定srcip地址占用百分比增加,生成的怀疑分数将成比例地提高。
[0090]
srcip信誉缓存块416存储一系列源ip地址,这些源ip地址具有用作分发恶意软件和/或“垃圾邮件”的基础的信誉。如果特定源ip地址具有恶意的信誉,则块416提供具有更
高值的分数。如下所述,这个较高的值将增加资源将被拒绝至对应的数据包的概率。
[0091]
ttl发生频率块418跟踪相对低的ttl值被包括在处理中的数据包的报头中的频率。例如,如果25个最近的数据包的每一个都包括一个为3的ttl值或更小的ttl值,这可能表明这些数据包不是合法请求,而是dos攻击的一部分。块418进入块422,其中为当前数据包计算ttl怀疑分数。随着这种低ttl值的发生增加,计算的怀疑分数增加,并且这个较高的值将增加资源被拒绝给具有相应较低值ttl的数据包的概率。
[0092]
仍然参考图4,块412、420、416和422提供用于生成四个怀疑分数的信息,当决定是否为请求资源的进来的数据包分配此类资源时可以考虑这四个怀疑分数。这四个怀疑分数可以相互组合以得出是否应该分配或拒绝额外资源的多因素指标。然而,在计算此类怀疑分数的加权总和之前,首先将各个怀疑分数标准化为可比较的比例是有利的。例如,块416提供的srcip地址信誉分数可能是介于1和10之间的值,但其他怀疑分数(例如占用计数)可能具有介于1和100,000之间的值。因此,由块412、420、416和422提供的原始怀疑分数的每一个分别由块424、426、428和430标准化。在块424中,原始占用计数o乘以常数w1以提供缩放值w1*o。在块426中,srcip怀疑分数s乘以常数w2以提供缩放值w2*s。块428采用原始srcip地址信誉分数r并将其乘以常数w3以提供缩放值w3*r。同样,块430将原始ttl怀疑分数乘以常数w4以提供缩放值w4*t。缩放因子w1、w2、w3和w4中的每一个优选地被选择为2的幂(即,2、4、8、16、32、64、128、256等)以用于快速相乘。块424、426、428和430输出的标准化分数对于低怀疑情况是可相互比较的,对于高怀疑情况也是可相互比较的。
[0093]
仍然参考图4,块424、426、428和430输出的标准化分数被提供给加法器块432并被相加在一起以提供值denyprob。该值被提供给决策逻辑块434并与阈值(x)相比较。如果denyprob超过阈值x,则决定拒绝分配处理当前数据包所需的资源,并丢弃该数据包。另一方面,如果denyprob没有超过阈值x,则决定分配处理当前数据包所需的资源。
[0094]
图5和图6的流程图示出了根据本发明的各种实施例执行的用于处理进来的数据包的方法的步骤。这些是资源管理器根据各种怀疑分数确定是否分配资源所采取的步骤。由于本文描述的方法依赖于简单的表查找和基本计算步骤,因此所描述的方法避免了高计算机处理器负载和显著的内存存储成本。
[0095]
参考图5,该方法的流程从开始块500开始,在此开始处理新的数据包。在步骤502,检查数据包的报头,并提取源ip地址(srcip)值和生存时间(ttl)值;假设报头中的其他数据没有被丢弃,还可以考虑报头中的其他数据(例如总包长度)以确定处理当前数据包所需的资源范围。然后流程转到步骤504,在此制定资源分配请求以及srcip值和ttl值。
[0096]
仍然参考图5,步骤506以概要形式示出并且表示由资源管理器执行以确定是否分配资源的步骤。下面结合图6对步骤506进行更详细的解释。步骤506生成二进制值(“0”或“1”),其中,例如,“0”值表示资源将被分配,并且“1”值表示资源将被拒绝。然后流程转到决策步骤508。如果决定拒绝资源请求,则流程进行到步骤510,并丢弃数据包;完成当前数据包的处理,如步骤512所示。另一方面,如果决定分配资源,则流程从决策步骤508转到步骤514,为当前数据包分配所需资源;然后完成当前数据包的处理,如步骤512所示。
[0097]
现在转向图6,更详细地解释在图5的步骤506执行的步骤的细节。步骤600表示获得在步骤504提供的srcip地址的步骤。类似地,步骤602表示获得在步骤504提供的ttl值。
[0098]
在步骤604,将当前srcip地址与最近数据包的最频繁的srcip地址进行比较,如果
匹配,则递增该srcip地址的计数。如果不匹配,则为新的srcip地址创建一个新计数器并将其设置为计数为1。然后控制从步骤604流向步骤610,在该步骤处,根据来自当前srcip地址的请求的频率,通过检查查找表来创建怀疑分数s。
[0099]
如果需要,可以修改步骤604和610以包括“地理位置”分数。术语“地理位置”用于识别数据包来源的世界部分。使用srcip地址作为关键,可以搜索查找表以确定对应的区域/地区。如前所述,那些发起dos攻击的人有时可能会使用“欺骗”的srcip地址来错误地识别数据包的源,如果是这样,那么这个“地理位置”分数将不会那么有效。但是,如果攻击者没有欺骗srcip地址,则可以确定数据包的发送区域/地区。有几个可用于此目的的商用开源地理定位数据库,例如可从马来西亚pulau pinang的ip2location.com获得的ip2location
tm-lite。某些地理位置区域因被用于发起ddos攻击而臭名昭著,并且来自这些地理位置区域的数据包可以被分配更高的怀疑分数以反映增加的风险。如果受保护的连接管理器正在从可疑地理位置接收相对大量的数据包,则这种风险增加。因此,通过将地理位置源与源自该源的数据包的频率相结合,可以更早地拒绝恶意业务,而不会惩罚源自可疑地理位置的良性请求。
[0100]
在步骤606,srcip地址用于查找信誉分数r。此信誉分数与数据包报头中特定srcip地址的信誉相关,与对应的地理位置无关。dos攻击有时是从请求通常合法的地理位置发起的。因此,仅依赖于数据包源的地理位置通常是不够的。使用srcip地址作为关键,执行表查找以确定该特定srcip地址的在线信誉。如前所述,可从firehol、paloalto、cisco talos、spamhaus和virustotal ip获得商用信誉列表。
[0101]
图6中的步骤608将当前ttl值与最近接收的数据包的各种ttl值进行比较。例如,如果当前ttl值为5,则ttl值为5的计数器会递增。在步骤612,当前ttl值以及该ttl值在最近的数据包中出现的频率被用于计算怀疑分数t。一般来说,高ttl值导致低于低ttl值的怀疑分数。此外,频繁出现的较低ttl值会导致更高的怀疑分数。如果接收相对大量的具有相同ttl值和相同地理位置的数据包,则这些数据包具有欺骗srcip地址并被攻击者发送的概率高于正常概率,即使此类数据包的srcip地址互不相同。
[0102]
在图6的步骤614,实时跟踪资源占用。可以多种方式执行该跟踪。例如,可以维护占用的资源总数。这是通过维护单个计数器计算用于处理数据包的所有资源来测量的;由此类计数器维护的计数在分配每个资源时递增,并在取消分配每个此类资源时递减。其次,资源占用率可以通过对应的ttl值来索引。如果很大比例的资源被具有相同ttl值的数据包占用,那么更多呈现相同ttl值的请求将导致更高的占用怀疑分数o。第三,可以根据相关联的srcip源ip地址跟踪资源占用;如前所述,存在大量可能的唯一srcip地址,因此可以使用count_min_sketch技术(如上所述)来避免巨大的内存成本。
[0103]
假设srcip地址正在跟踪资源占用,步骤614可以生成具有与当前数据包相同的srcip地址的数据包当前所占用的总资源的百分比,作为原始怀疑分数。例如,如果当前数据包具有与当前占用资源管理器管理的总资源的70%的其他数据包相同的srcip地址,则提供“70”的原始怀疑分数o。因此,特定srcip地址对资源的占用率越高,对使用相同srcip地址的当前数据包的怀疑分数越高。
[0104]
需要注意的是,某些网络元素,例如代理,可能会出现良性srcip地址可能合法占用相对较大比例资源的情况;一个这样的示例是属于cgnat或运营商级nat的srcip地址。
cgnat可能是位于终端站的连接管理器(例如,配置有私有网络地址的住宅网络,这些地址由网络地址转换器设备转换为公共ipv4地址),允许在许多终端站之间共享小型公共地址池。即使相关请求是合法的,这些cgnat也会导致特定srcip地址的频繁出现。资源管理器可以被配置为从过去的使用历史中“学习”某些srcip地址是良性的,即使它们与相对较高的占用率相关联。在这些情况下,对于给定的srcip地址,可以将怀疑分数o微调到低于实际占用百分比值,以避免惩罚良性的“重击者”。
[0105]
步骤616、618、620和622表示将原始怀疑分数o、s、r和t乘以加权因子w1、w2、w3和w4的步骤,原因如上所述。然后在加法步骤624中将这些加权的怀疑分数相加在一起以提供总的拒绝概率分数dp。可选步骤634允许根据总占用资源的百分比缩放dp分数;换言之,如果占用资源的总数接近100%,则步骤624提供的原始dp分数根本不被缩放。另一方面,如果占用资源总数占比相对较低,则原始dp分数可以降低。
[0106]
存在本文描述的dp分数可用于帮助保护计算设备(例如网络路由器)的资源的不同方式。在一种情况下,将计算的dp分数简单地与阈值(“x”)进行比较。图6示出了在决策步骤626处的这种情况,其中将生成的dp分数与阈值x进行比较。如果dp分数超过阈值x,则拒绝变量被设置为二进制值“0”,并且流程转到返回拒绝值步骤632。可替换地,如果dp分数超过阈值x,则数据包存在过度风险,拒绝变量被设置为二进制值“1”,并且流程转到返回拒绝值步骤632。如图5所示,然后控制流向决策步骤508。
[0107]
在另一种情况下,数据包以部分随机的方式被丢弃,同时丢弃的具有更高dp分数的数据包比那些具有较低dp分数的数据包更多。在这种情况下,假设选择dp分数标准化权重,使得dp分数值介于0和1.0之间,其中零值表示恶意数据包的可能性非常低,而1.0表示恶意数据包的可能性非常高。在分析每个数据包时,使用随机数生成器提供范围也在0和1.0之间的随机十进制数(“y”)。简要参考图4,允许/拒绝块434将随机数y与dp值进行比较;如果y小于dp值,则允许分配资源,但如果y等于或大于dp,则不分配资源,并丢弃数据包。这种方案会导致一些风险相对较低的数据包被丢弃,同时也会允许一些风险相对较高的数据包分配资源。另一方面,平均而言,高风险数据包被丢弃的频率要高于低风险数据包被丢弃的频率。此外,较高风险的数据包(即具有较高dp值的那些数据包)的丢弃百分比将随dp值线性增加。
[0108]
作为上述的资源的部分随机拒绝的示例,假设3,000个进来的数据包被平均分配(每个1000个)在以下表i中表征的三种类型中:
[0109]
表i
[0110][0111]
使用上述部分随机选择方法,在处理上表i所示的包时,200个b类包将被丢弃,以及900个c类包将被丢弃。a类包不会被丢弃。因此,较高风险的c类包将比b类包更频繁地被丢弃,即使每处理1000个c类包将接受100个c类包并为其分配资源。因为即使是高dp分数也
不能保证100%确定包来自攻击者,所以在许多情况下最好不要应用硬决策边界或阈值,超过该硬决策边界或阈值会丢弃所有包。例如,在上面的表i的情况下,如果阈值选择为0.80(或80%),则b类包不会被丢弃,但所有c类包将被丢弃。通过随机选择要丢弃的包(尽管高dp分数的百分比更高),该方案实现了统计性地丢弃比良性包更多的恶意包的效果。因此,当这种数据包是由对计算系统发起拒绝服务攻击的攻击者发起的概率增加时,计算系统的资源分配总体上减少。
[0112]
无论使用固定阈值比较还是部分随机选择方法,都必须记住,如果计算系统的资源尚未受到威胁,则可能不需要丢包。例如,在数据包由于坏信誉而dp分数为20%(0.20)但srcip占用率相对较低的情况下,可能会选择根本不丢弃任何此类数据包。只有当存在资源耗尽的威胁时,才可能需要丢弃数据包。
[0113]
在上面已经描述的tcp“无序”包dos攻击的特定情况下,在评估是否在网络路由器内分配或维护缓冲资源时,srcip地址仍然是一个非常重要的因素。在tcp无序包dos攻击的情况下,使用具有较差信誉分数(r)的srcip地址的数据包会增加资源被拒绝的概率。同样,如果大量数据包来自一个公共srcip地址,这也会增加对使用该srcip地址的包拒绝进一步资源分配的概率。例如,与tcp syn洪水攻击相比,在tcp无序包dos攻击的情况下,ttl发生频率的意义较小。最后,在tcp“无序”包dos攻击的情况下,上述占用计数分析将有助于降低被分配的额外资源来缓冲此类数据包片段的概率,特别是如果srcip地址正在跟踪/索引占用的情况。
[0114]
我们计算拒绝概率,而不是将其与任何阈值进行比较,我们实际上拒绝了这些请求数量。例如,如果给定包的拒绝概率为0.2,我们将以20%的机会拒绝此包。这是通过在0和1之间绘制一个随机数并将其与计算的denyprob进行比较来完成的。这样,随着时间的推移,我们随机地最终选择了比良性包更多的恶意包。
[0115]
本文所指的计算系统可以包括集成电路、微处理器、个人计算机、服务器、分布式计算系统、通信设备、网络设备、防火墙、代理服务器、网络服务器、应用网关、有状态连接管理器,和/或它们的各种组合。例如,这里提到的处理器可以包括微处理器。本文提及的芯片组可以包括一个或更多个集成电路,并且本文提及的存储器和存储可以包括易失性和/或非易失性存储器,例如随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、磁性介质、光学介质、纳米介质、硬盘驱动器、光盘、数字多功能光盘(dvd)和/或其他被配置用于存储模拟或数字信息的设备,例如在数据库中。因此,应当理解,上述逻辑的各种示例可以包括硬件、固件或存储在计算机可读介质上的软件,或其组合。
[0116]
此处提到的各种逻辑的示例可以包括硬件、固件或存储在计算机可读介质上的软件,或其组合。该逻辑可以在电子设备中实现以产生专用计算系统。本文所述的方法的计算机实现的步骤可以包括存储在计算机可读介质上的一组指令,当执行这些指令时,这些指令使计算系统执行这些步骤。如本文所用,计算机可读介质仅指非临时介质,不包括信号传输的临时形式,并且明确排除纸质介质。
[0117]
根据来自程序软件的指令执行特定功能的被编程的计算系统是用于执行那些特定功能的专用计算系统。在执行那些特定功能时由专用计算系统操作的数据至少以电子方式被保存在计算系统的缓冲器中,随着对存储数据的每次改变,将专用计算系统从一种状态物理地改变到下一种状态。此处针对方法的权利要求明确地限制于其计算机实现的实施
例,并且明确地不涵盖可以纯粹在精神上执行的实施例。
[0118]
任何权利要求中没有“手段”一词应被理解为排除该权利要求根据专利法第112(f)条进行解释。如本技术的权利要求中使用的,“被配置为”和“被配置用于”并非旨在援引专利法第112(f)条。
[0119]
在此具体说明和/或描述了若干实施例以举例说明本发明的特定应用。这些描述和附图不应被认为具有限制意义,因此应理解本发明绝不限于所公开的实施例。应当理解,本文所述的方法和/或特定结构的各种修改或调整对于本领域技术人员来说可以是明显的。所有这些修改、调整或变体都被认为在本发明的精神和范围内,并且在所附权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献