用于操作和管理网络内的受限设备的方法和装置与流程

文档序号:23554677发布日期:2021-01-05 21:16阅读:142来源:国知局
用于操作和管理网络内的受限设备的方法和装置与流程

本公开涉及一种用于操作网络内的受限设备的方法以及一种用于管理网络内的受限设备的方法。本公开还涉及一种受限设备、受限设备的管理器以及计算机程序和计算机程序产品,所述计算机程序产品配置为当在计算机上运行时实现在受限设备和受限设备的管理器中执行的方法。



背景技术:

“物联网”(iot)是指各设备启用了通信网络连接,如此便可以对这些设备进行远程管理,并且可以在各个设备之间以及在设备与应用服务器之间交换设备收集的或要求的数据。此类设备通常会因为其运行环境或情况的缘故而在处理能力、存储容量、能源供应、设备复杂性和/或网络连接性方面存在着严重的局限性,因而可以被称为受限设备。受限设备可以按照一系列协议运行,这些协议包括互联网协议(ipv4或ipv6)等广泛使用的协议,以及针对受限设备的专用协议(包括受限应用协议(coap),如互联网工程任务组(ietf)rfc7252中所定义的)。coap是受限设备的通用restful应用协议,并被设计为通过互联网在用户数据报协议(udp,在ietfrfc0768中定义)上使用。

可以采用任何合适的管理协议来执行对受限设备的管理,例如,所述管理协议包括由开放移动联盟定义的轻量级机器到机器(lwm2m)协议。lwm2m被设计成在coap上运行。

在iot部署中,受限设备可以部署在防火墙后面,而防火墙根据在防火墙上配置的安全规则对进入和离开的业务进行监视和控制。制定出这些安全规则是为了应对网络上最常遇到的威胁,并且这些安全规则可以建立在ip表的基础上;根据源或目的地ip地址和/或端口阻止或允许某些业务。这样的规则保护网络设备免受常规安全威胁的影响,但是由于此类设备存在着特定漏洞,这些规则可能并不足以保护受限设备。受限设备在处理能力、能量供应等方面的局限性会使得它们容易遭遇到那些试图向这些资源施加沉重负荷的攻击。此类攻击对非受限设备的影响有限,因此,常规的防火墙安全规则不是设计来防止此类攻击,因此,即使是部署在防火墙后面,iot部署也可能容易遭受攻击。

在发生攻击的情况下,受限设备通常无法采取任何行动来减轻攻击的影响。例如,如果发生了涉及指向受限设备的过量信息请求的拒绝服务(dos)攻击,则受限设备可能会直接崩溃,无法对收到的请求数量进行处理。



技术实现要素:

本公开的目的是提供一种至少部分地解决上述一个或多个难题的方法、装置和计算机可读介质。

根据本公开的第一方面,提供了一种用于操作网络内的受限设备的方法,该网络包括部署在受限设备与管理器之间的防火墙。由受限设备执行的方法包括:从管理器接收受限设备上的攻击向量数据对象和端口控制协议(pcp)配置数据对象的配置信息,该配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。该方法还包括:根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量数据对象的资源的值。

根据本公开的示例,管理器可以运行lwm2m服务器,并且受限设备上的pcp配置数据对象可以存储在在受限设备上运行的lwm2m客户端内。根据本公开的示例,可以在配置信息中接收每个数据对象中的多个资源的值。

出于本公开的目的,受限设备包括符合ietfrfc7228的第2.1节中针对“受限节点”陈述的定义的设备。根据ietfrfc7228中的定义,受限设备是这样一种设备:“通常,由于成本约束和/或对特性(例如,大小、重量以及可用功率和能量)的物理性约束而无法实现某些特性,而这些特性在撰写时通常被视为互联网节点理所应当具备的特性。对功率、内存和处理资源的严格限制导致了状态、代码空间和处理周期的硬上限,使得对能量和网络带宽使用的优化成为所有设计要求中的一项主要考虑因素。另外,可能缺少某些第2层服务,例如完全连接性和广播/多播”。因此,受限设备与服务器系统、台式机、便携式计算机或平板电脑以及功能强大的移动设备(如智能手机)有着明显区别。例如,受限设备可以包括机器类型通信设备、电池供电设备或者存在上述局限性的任何其他设备。受限设备的示例可以包括:测量温度、湿度和气体含量(例如,在房间内或在运输和存储货物时)的传感器、控制灯泡的运动传感器、可用于控制百叶窗的光测量传感器、心率监测器和其他个人健康传感器(持续监测血压等)执行器和连接电子门锁。

根据本公开的示例,攻击向量数据对象中的资源的值可以包括以下至少一个:攻击方法资源的值、攻击定义阈值资源的值或规则资源的值。

根据本公开的示例,如果满足攻击方法和攻击定义阈值资源中的条件,则规则资源可以包含要在防火墙中应用的规则。

根据本公开的示例,pcp请求可以包含要在防火墙中应用到指向设备的业务的策略。

根据本公开的示例,该方法还可以包括:接收对pcp请求的pcp响应;检查pcp响应的结果代码;并且如果该结果代码指示成功,则更新pcp配置数据对象中的pcp状态资源的值。

根据本公开的示例,更新值可以指示pcp在防火墙上的成功启用,从而建立要在防火墙中应用到指向设备的业务的策略。

根据本公开的示例,该方法还可以包括:从管理器接收对pcp配置数据对象中的pcp状态资源的值的订阅请求,并且以向管理器通知pcp状态资源的当前值来对订阅请求作出响应。

根据本公开的示例,该方法还可以包括:在更新pcp配置数据对象中的pcp状态资源的值时,向管理器发送包括pcp状态资源的更新值的通知。

根据本公开的示例,该方法还可以包括:从实体(不同于管理器的实体)接收消息;并且从管理器接收攻击向量数据对象的配置信息,该配置信息更新攻击向量数据对象中的资源的值。

根据本公开的示例,更新资源值可以包括攻击方法资源或攻击定义阈值资源的值,并且可以另外包括规则资源的值。

根据本公开的示例,该方法还可以包括:基于攻击向量数据对象中的更新值,将来自实体的消息识别为攻击。

根据本公开的示例,该方法还可以包括通知管理器已经识别出攻击。

根据本公开的示例,该方法还可以包括保存来自实体的消息的特性。

根据本公开的示例,可以保存的一个或多个特性的示例包括:消息的源ip和端口、实体的coap端点名称、mac、消息中请求的资源等。根据本公开的示例,来自实体的消息的保存特性可以包括在发送给管理器的攻击消息的通知中。

根据本公开的示例,该方法还可以包括:根据pcp配置数据对象,向防火墙发送另一pcp请求,该另一pcp请求包括攻击向量对象的更新资源值。

根据本公开的示例,该另一pcp请求可以更新要在防火墙中应用到指向设备的业务的策略。

根据本公开的示例,策略更新可以包括改变阈值、新的攻击方法和/或根据指向受限设备的业务的策略对要应用的规则的改变。根据本公开的示例,该另一pcp请求可以包括来自实体的消息的保存特性。

根据本公开的示例,该方法还可以包括:接收对另一pcp请求的pcp响应;并且检查pcp响应的结果代码。根据本公开的示例,该方法还可以包括:根据pcp响应的结果代码,更新pcp配置数据对象中的pcp状态资源的值;并且向管理器发送包括pcp状态资源的更新值的通知。

根据本公开的另一方面,提供了一种用于管理网络内的受限设备的方法,该网络包括部署在受限设备与管理器之间的防火墙。由管理器执行的方法包括:通过设置攻击向量数据对象中的资源的值以及设置pcp配置数据对象中的资源的值,配置受限设备上的攻击向量数据对象和pcp配置数据对象。

根据本公开的示例,该方法还可以包括:触发受限设备以向防火墙发送pcp请求。

根据本公开的示例,管理器可以正在运行lwm2m服务器,并且受限设备上的pcp配置数据对象可以存储在受限设备上运行的lwm2m客户端中。根据本公开的示例,可以将每个数据对象中的多个资源的值设置为配置的一部分。

根据本公开的示例,攻击向量数据对象中的资源的值可以包括以下至少一个:攻击方法资源的值、攻击定义阈值资源的值或规则资源的值。

根据本公开的示例,如果满足攻击方法和攻击定义阈值资源中的条件,则规则资源可以包含要在防火墙中应用的规则。

根据本公开的示例,该方法还可以包括监视pcp在防火墙上的成功启用。

根据本公开的示例,pcp在防火墙上的成功启用可以包括:建立要在防火墙中应用到指向设备的业务的策略。

根据本公开的示例,监视pcp在防火墙上的成功启用可以包括:订阅受限设备上的pcp配置数据对象中的pcp状态资源的值。

根据本公开的示例,该方法还可以包括:从受限设备接收已经在防火墙上成功启用pcp的通知。在一些示例中,该通知可以是pcp状态资源的值的改变的订阅通知。

根据本公开的示例,该方法还可以包括:监视受限设备的行为;从行为中识别出针对设备进行的攻击;确定受限设备上将使设备能够识别出攻击的攻击向量数据对象中的资源的值;并且将所确定的资源的值作为配置信息发送给受限设备。

可以监视并可以用来识别攻击的行为的示例可以包括:访问限制资源的尝试、相同客户端访问相同资源的重复尝试、过量的资源请求等。

根据本公开的示例,确定受限设备上将使设备能够识别出攻击的攻击向量数据对象中的资源的值可以包括:确定攻击方法资源或攻击定义阈值资源中的至少一个的更新值。

根据本公开的示例,该方法还可以包括:确定受限设备上将使防火墙能够阻止攻击的攻击向量数据对象中的规则资源的值;并且将所确定的规则资源的值作为配置信息发送给受限设备。根据本公开的示例,该方法还可以包括触发受限设备以向防火墙发送新的pcp请求。

根据本公开的示例,该方法还可以包括:从受限设备接收已经识别出攻击的通知。

根据本公开的示例,由设备标识为攻击的一部分的消息的保存特性可以包括在发送给管理器的攻击消息的通知中。

根据本公开的示例,该方法还可以包括:从受限设备接收成功更新防火墙上的策略的通知。

根据本公开的另一方面,提供了一种计算机程序,该计算机程序包括指令,所述指令当在至少一个处理器上执行时,使得该至少一个处理器执行根据本公开的前述方面或示例中的任何一个所述的方法。

根据本公开的另一方面,提供了一种包含根据本公开的前述方面的计算机程序的载体,其中该载体包括电信号、光信号、无线电信号或计算机可读存储介质中的一种。

根据本公开的另一方面,提供了一种计算机程序产品,该计算机程序产品包括其上存储有根据本公开的前述方面的计算机程序的非暂时性计算机可读介质。

根据本公开的另一方面,提供了一种受限设备,该受限设备可操作以在网络内部署,该网络包括部署在受限设备与管理器之间的防火墙。受限设备包括处理器和存储器,该存储器包含可由处理器执行的指令,使得受限设备可操作以从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息。该配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。受限设备还可操作以根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量对象的资源值。

根据本公开的另一方面,提供了一种受限设备,该受限设备可操作以在网络内部署,该网络包括部署在受限设备与管理器之间的防火墙节点。受限设备适于从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息,该配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。受限设备还适于根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量对象的资源值。

根据本公开的另一方面,提供了一种受限设备,该受限设备可操作以在网络内部署,该网络包括部署在受限设备与管理器之间的防火墙。受限设备包括接收模块,该接收模块用于从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息,该配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。受限设备还包括发送模块,该发送模块用于根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量对象的资源值。

根据本公开的另一方面,提供了一种用于管理网络内的受限设备的管理器,该网络包括部署在受限设备与管理器之间的防火墙。该管理器包括处理器和存储器,该存储器包含可由处理器执行的指令,使得管理器可操作以:通过设置攻击向量数据对象中的资源的值以及设置pcp配置数据对象中的资源的值,配置受限设备上的攻击向量数据对象和pcp配置数据对象。

根据本公开的另一方面,提供了一种用于管理网络内的受限设备的管理器,该网络包括部署在受限设备与管理器之间的防火墙。该管理器适于:通过设置攻击向量数据对象中的资源的值以及设置pcp配置数据对象中的资源的值,配置受限设备上的攻击向量数据对象和pcp配置数据对象。

根据本公开的另一方面,提供了一种用于管理网络内的受限设备的管理器,该网络包括部署在受限设备与管理器之间的防火墙。该管理器包括配置模块,该配置模块用于:通过设置攻击向量数据对象中的资源的值以及设置pcp配置数据对象中的资源的值,配置受限设备上的攻击向量数据对象和pcp配置数据对象。

附图说明

为了更好地理解本公开并且为了更清楚地示出如何实现本公开,现在将通过示例的方式参考以下附图,其中:

图1是示出了网络拓扑的框图;

图2是示出了用于操作受限设备的方法中的处理步骤的流程图;

图3a和图3b是示出了用于操作受限设备的方法的另一示例中的处理步骤的流程图;

图4是示出了用于管理受限设备的方法中的处理步骤的流程图;

图5a和图5b是示出了用于管理受限设备的方法的另一示例中的处理步骤的流程图;

图6是消息流程图;

图7是示出了示例性数据对象的图;

图8是示出了另一示例性数据对象的图;

图9是示例性分组格式的表示;

图10是示出了受限设备中的功能单元的框图;

图11是示出了受限设备的另一示例中的功能单元的框图;

图12是示出了管理器中的功能单元的框图;以及

图13是示出了管理器的另一示例中的功能单元的框图。

具体实施方式

本公开的各方面提供了方法,根据这些方法,受限设备的管理器可以使受限设备对部署在管理器与受限设备之间的防火墙进行配置。受限设备可以将防火墙配置来使得由管理器定义的策略在防火墙中应用到指向受限设备的业务。

本公开的各方面利用在ietfrfc6887和ietfrfc7723中定义的端口控制协议(pcp)。pcp允许在外部ip地址、协议和端口与内部ip地址、协议和端口之间创建显式映射。pcp需要pcp客户端和pcp服务器,并采用以udp作为传输协议的请求-响应通信模式。

图1是示出了可以实现本公开的各方面的网络拓扑100的框图。参照图1,至少一个受限设备102部署在本地网络上,该本地网络可以是无线lan(wlan)104。wlan104通过防火墙108连接到更广的互联网106。受限设备102使用lwm2m进行管理,因而被示出为lwm2m设备。网络拓扑100还包括lwm2m服务器110,该lwm2m服务器110连接到互联网106并管理设备102,并经由防火墙108与设备102进行通信。常见的lwm2m部署包括处于某种形式的家庭网关(用于家庭设备)下或者处于包含路由器(其可以充当防火墙)的某些其他专用网络基础设施下的同一子网上的各种lwm2m设备。因此,图1的网络拓扑是lwm2m部署的广义表示。网络拓扑100还示出了攻击者112。攻击者112连接到互联网并且可能试图攻击受限设备102,并经由防火墙108与受限设备联系。

防火墙108可以运行pcp服务器,因此可以是受pcp控制的设备。受限设备可以运行pcp客户端。应当理解,受限设备的pcp客户端逻辑是最小的,这是因为底层堆栈与基于coap的设备堆栈基本上相同,这就意味着,受限设备可以在保持轻量化的同时充当pcp客户端。

图2是示出了根据本公开的各方面的用于操作网络内的受限设备的方法200中的处理步骤的流程图。执行该方法的受限设备可以是如图1所示的受限设备102,并且网络可以包括部署在受限设备与受限设备的管理器110之间的防火墙108,也如图1所示。受限设备可以配置为使用包括例如coap、mqtt、http等在内的restful协议来进行通信。

参照图2,方法200包括:在第一步骤210中,从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息。例如,攻击向量数据对象和pcp配置数据对象可以是ipso对象,其中信息表示为对象/实例/资源。ipso对象模型是可以用来表示受限设备能力和信息的数据模型的示例,如下面参考图7和图8进一步详细讨论的。如图2的210a和210b所示,受限设备接收到的配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。该方法还包括:根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量数据对象的资源值。pcp请求可以包括攻击向量数据对象,并且可以包括pcp配置数据对象。在本公开的一些示例中,受限设备可以因为被受限设备的管理器触发来发送pcp请求而发送pcp请求,例如通过在pcp配置数据对象中执行资源。在其他示例中,在从管理器接收到配置信息时发送pcp请求可以是在受限设备上配置的默认过程。

图3a和图3b示出了根据本公开的各方面的用于操作网络内的受限设备的方法300的另一示例中的处理步骤。方法300的步骤示出了可以对方法200的步骤进行细分和补充以实现上述及附加功能的一种方式。对于以上图2的方法,执行方法300的受限设备可以是如图1所示的受限设备102,并且网络可以包括部署在受限设备与受限设备的管理器110之间的防火墙108,也如图1所示。受限设备可以配置为使用包括例如coap、mqtt、http等在内的restful协议来进行通信。

参照图3a,在第一步骤302中,方法300包括:从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息,该配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值,如310a和310b所示。在本公开的一些示例中,可以在自举过程期间由自举服务器在受限设备上初始地创建攻击向量数据对象和pcp配置数据对象。例如,可以在受限设备上运行的lwm2m客户端内创建数据对象。在共同提交的专利申请号pct/se2018/050276中讨论了这种性质的自举程序。

再次参考图3a,如310a所示,从管理器接收的攻击向量数据对象中的资源的值可以包括攻击方法资源的值、攻击定义阈值资源的值或规则资源的值中的至少一个。如果满足了攻击方法和攻击定义阈值资源中的条件,则规则资源可以包含要在防火墙中应用的规则。下面参考图8讨论了示例性攻击向量数据对象。pcp配置数据对象中的资源的值可以例如包括ip地址资源的值。ip地址资源的值可以是受限设备的全局ipv6地址。将理解的是,除了上述资源的值之外,还可以在配置信息中接收到每个数据对象中的多个资源的值。

在步骤312中,方法300包括:从管理器接收对pcp配置数据对象中的pcp状态资源的值的订阅请求。然后,该方法包括:在步骤314中,以向管理器通知pcp状态资源的当前值来对订阅请求作出响应。例如,pcp状态资源的当前值可以指示出在防火墙上尚未启用pcp。

在步骤320中,该方法包括:根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量数据对象的资源值。pcp请求可以包括攻击向量数据对象,并且可以包括pcp配置数据对象。pcp请求可以包含要在防火墙中应用到指向设备的业务的策略。该策略可以由攻击向量数据对象中的资源定义,该策略包括在满足与业务有关的条件的情况下要应用于指向受限设备的业务的规则。这些条件可以包括攻击方法和应用于业务的多个阈值之一,在所述阈值之上应该应用规则。在本公开的一些示例中,受限设备可以因为被受限设备的管理器触发来发送pcp请求而发送pcp请求,例如通过在pcp配置数据对象中执行资源。在其他示例中,在从管理器接收到配置信息时发送pcp请求可以是在受限设备上配置的默认程序,例如在上述自举程序期间。

在步骤322中,方法300包括接收对pcp请求的pcp响应,并且在步骤324中,该方法包括检查pcp响应的结果代码。还参考图3b,如果结果代码指示成功(步骤326中的“是”),则该方法包括在步骤328中更新pcp配置数据对象中的pcp状态资源的值。更新值可以指示pcp在防火墙上的成功启用,从而建立要在防火墙中应用到指向设备的业务的策略。

在步骤328中更新了pcp配置数据对象中的pcp状态资源的值之后,受限设备随后可以在步骤330中向管理器发送包括pcp状态资源的更新值的通知。此通知可以作为对在步骤312中从管理器接收到的订阅请求的进行中响应而发送。

在步骤332中,该方法包括:从实体接收消息,该实体是不同于管理器的实体。例如,可以从诸如图1中的攻击者112之类的攻击者接收消息,但是,受限设备在这一阶段可能无法将实体识别为攻击者。在步骤334中,方法300包括:从管理器接收攻击向量数据对象的配置信息,该配置信息更新攻击向量数据对象中的一个或多个资源的值。例如,更新资源值可以包括攻击方法资源或攻击定义阈值资源的值,并且可以另外包括规则资源的值。

在步骤336中,方法300包括:基于攻击向量数据对象中的一个或多个更新值,将来自实体的消息识别为攻击。然后,该方法包括在步骤338中通知管理器已识别出攻击,并且在步骤340中保存来自实体的消息的特性。可以保存的一个或多个特性的示例包括:来自实体的消息的源ip和端口、实体的coap端点名称、mac、消息中请求的资源等。在一些示例中,来自实体的消息的保存特性可以包括在步骤338的发送给管理器的攻击消息的通知中。

在步骤342中,方法300包括:根据pcp配置数据对象,向防火墙发送另一pcp请求,该另一pcp请求包括攻击向量对象的更新资源值。如步骤342所示,该另一pcp请求可以更新要在防火墙中应用到指向设备的业务的策略。例如,策略更新可以包括改变阈值、新的攻击方法和/或根据指向受限设备的业务的策略对要应用的规则的改变。在步骤334中,所有这样的更新可以在从管理器接收到的攻击向量对象中的资源的一个或多个更新值中列出。在一些示例中,该另一pcp请求还可以包括来自实体的消息的保存特性。例如,受限设备管理器可以通过执行pcp配置数据对象中的资源来触发该另一pcp请求的发送。替代地,可以在受限设备中将该另一pcp请求的发送配置为攻击向量对象更新时的自动过程,或者可以基于到受限设备的进入业务。

方法300还包括在步骤344中接收对该另一pcp请求的pcp响应,并且在步骤346中检查pcp响应的结果代码。如果结果代码指示成功,则方法可以包括更新pcp配置数据对象中的pcp状态资源的值,如以上参考步骤328所讨论的。更新值可以指示要在防火墙中应用到指向设备的业务的策略的成功更新。在更新pcp配置数据对象中的pcp状态资源的值之后,受限设备随后可以向管理器发送包括pcp状态资源的更新值的通知。此通知可以作为对在步骤312中从管理器接收到的订阅请求的进行中响应而发送。

如以下参考图4和图5所讨论的,在受限设备中执行的方法300可以由在管理器中执行的方法400和/或500补充。

图4是示出了根据本公开的各方面的用于管理网络内的受限设备的方法400中的处理步骤的流程图。该方法可以由管理器执行,管理器可以运行诸如图1的lwm2m服务器110之类的lwm2m服务器。根据该方法进行管理的受限设备可以是如图1所示的受限设备102,并且网络可以包括部署在受限设备与受限设备的管理器之间的防火墙108,也如图1所示。受限设备可以配置为使用包括例如coap、mqtt、http等在内的restful协议来进行通信。

参照图4,方法400包括:在步骤410中,配置受限设备上的攻击向量数据对象和pcp配置数据对象。步骤410中的配置是通过在步骤410a中设置攻击向量数据对象中的资源的值并在步骤410b中设置pcp配置数据对象中的资源的值来执行。例如,攻击向量数据对象和pcp配置数据对象可以是ipso对象,其中信息表示为对象/实例/资源。ipso对象模型是可以用来表示受限设备能力和信息的数据模型的示例,如下面参考图7和图8进一步详细讨论的。可以在受限设备上运行的lwm2m客户端内配置数据对象。

图5a和图5b示出了根据本公开的各方面的用于管理网络内的受限设备的方法500的另一示例中的处理步骤。方法500的步骤示出了可以对方法400的步骤进行细分和补充以实现上述及附加功能的一种方式。对于以上图4的方法,方法可以由管理器执行,管理器可以运行诸如图1的lwm2m服务器110之类的lwm2m服务器。根据该方法进行管理的受限设备可以是如图1所示的受限设备102,并且网络可以包括部署在受限设备与受限设备的管理器之间的防火墙108,也如图1所示。受限设备可以配置为使用包括例如coap、mqtt、http等在内的restful协议来进行通信。

参照图5a,在第一步骤510中,方法500包括配置受限设备上的攻击向量数据对象和pcp配置数据对象。步骤510中的配置是通过在步骤510a中设置攻击向量数据对象中的资源的值并在步骤510b中设置pcp配置数据对象中的资源的值来执行。在本公开的一些示例中,可以在自举程序期间由自举服务器在受限设备上初始地创建攻击向量数据对象和pcp配置数据对象。例如,可以在受限设备上运行的lwm2m客户端内创建数据对象。在共同提交的专利申请号pct/se2018/050276中讨论了这种性质的自举程序。

再次参考图5a,如510a所示,由管理器设置的攻击向量数据对象中的资源的值可以包括攻击方法资源的值、攻击定义阈值资源的值或规则资源的值中的至少一个。如果满足了攻击方法和攻击定义阈值资源中的条件,则规则资源可以包含要在防火墙中应用的规则。下面参考图8讨论了示例性攻击向量数据对象。pcp配置数据对象中的资源的值可以例如包括ip地址资源的值。ip地址资源的值可以是受限设备的全局ipv6地址。将理解的是,除了上述资源的值之外,还可以将每个数据对象中的多个资源的值设置为配置步骤510的一部分。

在本公开的一些示例中,方法500还可以包括例如通过执行pcp配置数据对象中的资源来触发受限设备向防火墙发送pcp请求。在其他示例中,在从管理器接收到配置信息时发送pcp请求可以是在受限设备上配置的默认程序,例如在上述自举程序期间。

在步骤512中,方法500包括监视pcp在防火墙上的成功启用。这样的启用可以指示出:已经建立了要在防火墙中应用到指向设备的业务的策略。如512a所示,监视pcp在防火墙上的成功启用可以包括:订阅受限设备上的pcp配置数据对象中的pcp状态资源的值。

在步骤514中,方法500包括从受限设备接收已经在防火墙上成功启用pcp的通知,例如,该通知可以是pcp状态资源的值的改变的订阅通知。

在步骤516中,方法500包括监视受限设备的行为。这可以包括监视通往和来自受限设备的业务、受限设备访问资源的尝试等。在步骤518中,方法500包括从监视行为中识别出针对受限设备进行的攻击。例如,可以基于受限设备访问限制资源的尝试、相同受限设备访问相同资源的重复尝试、过量的资源请求等来识别出攻击。在步骤520中,管理器确定受限设备上将使设备能够识别出攻击的攻击向量数据对象中的资源的值。例如,这可以包括确定攻击方法资源或攻击定义阈值资源中的至少一个的更新值。在步骤522中,管理器确定受限设备上将使防火墙能够阻止攻击的攻击向量数据对象中的规则资源的值。在步骤524中,方法包括将所确定的资源的值作为配置信息发送给受限设备。管理器还可以以更新的资源值来触发向防火墙发送新的pcp请求。替代地,可以将新的pcp请求的发送作为攻击向量数据对象更新时的自动程序配置到受限设备中,或者可以基于到受限设备的进入业务。

在步骤526中,方法500包括从受限设备接收已经识别出攻击的通知。由设备标识为攻击的一部分的消息的保存特性可以包括在发送给管理器的攻击消息的通知中。在一些示例中,管理器还可以从受限设备接收已经根据在步骤524中由管理器发送给受限设备的更新资源值而成功更新防火墙中的策略的通知。

方法200、300、400、500的示例可以协作来使得受限设备的管理器能让受限设备对监视到设备的业务的防火墙进行配置。受限设备可以在防火墙上建立针对到设备的业务的策略,该策略可以在管理器检测到针对受限设备的攻击之后进行更新。管理器可以确定使防火墙能够阻止攻击的策略更改,并可以通过更新在受限设备上配置的攻击向量数据对象的资源的值来将那些策略更改传达给受限设备。可以经由从受限设备到防火墙的pcp请求将策略更改传达给防火墙。

上面讨论的方法利用了pcp的配置可能性,而没有在受限设备中显著地增加额外的复杂性。如上所述,受限设备的pcp客户端逻辑是最小的,这是因为底层堆栈与基于coap的设备堆栈基本上相同,这就意味着,受限设备可以在保持轻量化的同时充当pcp客户端。用于确定适当的资源值以实现对攻击的识别和阻止的逻辑位于管理器中,而管理器可以运行lwm2m服务器。那么,受限设备经由pcp请求将这些资源值传达给防火墙。

图6是示出了上述方法的示例性实施方式的消息流程图。在图6的消息流程图中,元素lc表示受限设备,在该设备上运行lwm2m客户端、coap服务器和pcp客户端。元素fi表示托管pcp服务器的防火墙。元素ls表示运行lwm2m服务器和coap客户端的管理器。图6的消息流涉及具有图7所示的示例性pcp配置对象700的格式的pcp配置数据对象(防火墙对象),并且涉及具有图8所示的示例性攻击向量数据对象800的格式的攻击向量数据对象。图6的消息中对特定资源的引用是对资源标识符的引用,如图7和图8的示例性对象中所示。

参照图6,假定已经用lwm2m服务器正确地自举并配置了受限设备,并且防火墙支持pcp。还假定受限设备、防火墙和lwm2m服务器都知晓pcp。

在图6的消息1和2中,lwm2m服务器配置受限设备上的防火墙对象和攻击向量对象,并将值写入数据对象的资源中。受限设备在消息3中确认数据对象的配置。在消息4中,受限设备向防火墙发送pcp请求,同时使用防火墙对象中的信息在防火墙的pcp服务器上设置规则。在pcp中,这种类型的配置被称为“map”,下面示出了有效map配置的示例,其中包含要应用于特定阈值的规则:

nat_policy_namefirewallalert

thresholdpollfirewall-deny-rule

thresholdpollfirewall-dos-attack

thresholdpollfirewall-drop-packet

thresholdpollfirewall-no-rule

在消息5中,防火墙发送带有结果代码0的pcp响应,以指示防火墙的成功配置。

然后,攻击者开始向受限设备发送多个查询,如消息6、7和8所示。例如,这些查询可以是get、post、put、delete操作等。在图6中,这些操作是对相同温度资源的请求并且每秒接收到几次。如果在步骤4至5中在防火墙上配置的策略将这些消息识别为攻击,则将根据一个或多个规则(其形成了经由先前消息交换在防火墙上建立的策略的一部分)阻止这些消息。但是,如果根据防火墙上的策略,消息不满足攻击定义的条件,则将允许它们通向受限设备。监视受限设备的行为的lwm2m服务器从该行为中识别出设备正在遭受攻击。这可以基于消息本身(在特定时间范围内发送给设备的查询过多)来识别出,也可以基于设备响应于消息的行为来识别出(多次尝试访问同一资源)。lwm2m服务器确定需要在攻击向量资源值中作出什么样的更改才能使受限设备和防火墙都将消息识别为攻击。然后,lwm2m服务器在消息9中相应地更新受限设备上的攻击向量对象中的值。

基于攻击向量对象中的更新资源值,受限设备现在能够将消息识别为攻击,例如识别出消息表示每单位时间的查询过多以及无法服务任何一个查询。受限设备保存消息的源ip和端口,并且可以保存其他特性,例如coap端点名称、mac、使用的资源等。然后,受限设备在消息10中向lwm2m服务器通知攻击。此通知可以基于攻击报告对象,在图6中示为“dos攻击”对象。可以用攻击通知资源在设备上配置这样的对象。在识别攻击时,受限设备可以将该资源的值更新为true,表示进行中的攻击。lwm2m服务器可以订阅针对此资源的通知,从而确保受限设备在识别到攻击时对资源的值进行更新时发送消息10的通知。

然后,受限设备在消息11中向防火墙发送新的pcp请求。新的pcp请求包括从lwm2m管理器接收的更新资源值,以更新防火墙上与受限设备的业务有关的策略。该请求将包含操作代码announce以及阈值和/或新策略名称的修改。策略可以用pcp“filter”选项表示,如图9所示。防火墙在消息12中确认对策略的更新。

防火墙中的更新策略允许防火墙将攻击的消息识别为恶意的,并在这些消息到达受限设备之前对其加以阻止,如消息13、14和15所示。

图6的消息流示出了本公开的各方面如何使得受限设备在遭受攻击时采取行动。如果没有本公开的方法,那么,遭受拒绝服务(dos)攻击的受限设备(例如,遭受无法对其作出响应的过量查询的受限设备)除了崩溃外别无选择。设备无法向其管理器告知攻击,也无法采取任何措施来阻止攻击。根据本公开的示例,受限设备可以配置为识别攻击并配置其防火墙,使得可以阻止攻击业务。如果在防火墙上配置的初始策略不足以阻止攻击,则lwm2m服务器可能会检测到这一点,然后,lwm2m服务器可以为防火墙中的策略确定适当的新值,并使受限设备利用这些值通过如下方式更新策略:更新攻击向量对象中的值。

图7示出了pcp配置数据对象700的示例。图7的“防火墙对象”可以具有示例性pcp配置数据对象700的格式。示例性pcp配置数据对象中的信息以lwm2m/ipso格式被包含。参照图7,示例性pcp配置数据对象700包括多个资源702。第一资源(资源id0)是pcp版本资源704。这是整数类型资源,其值指示所支持的pcp版本;它的默认值为2。第二资源(资源id1)的名称为资源r706。这是指定消息类型的布尔类型资源;例如,资源值0可以指定请求消息。第三资源(资源id2)是ip地址资源708。这是提供受限设备的ip地址的长类型资源。ip地址可以例如是全局ipv6地址。第四资源(资源id3)是pcp选项资源710。这是不透明类型资源,其用于描述要用于给定pcp消息的pcp选项。例如,该选项可以是filter,如下所述。第五资源(资源id4)是pcp状态资源712。这是布尔类型资源,其值可以指示是否已经成功地启用了pcp并且配置了防火墙策略。如果已成功启用pcp,则此资源的值可以为1。pcp配置数据对象的其他示例可以包括与所示资源不同的或额外的资源。

图8示出了攻击向量数据对象800的示例。示例性攻击向量数据对象中的信息以lwm2m/ipso格式被包含。参照图8,示例性攻击向量数据对象800包括多个资源802。第一资源(资源id0)是攻击方法资源704。这是列出攻击的可能方法的字符串阵列类型资源。此资源的默认值可以仅是get,但是其他操作也可以包括在此阵列列表中,包括例如put、post、delete等。第二资源(资源id1)是请求阈值资源706。这是整数类型资源,其指定每分钟和每个coap客户端允许的请求数。此资源的默认值可以是30。第一资源和第二资源共同定义了攻击的条件。第三资源(资源id2)是规则资源708。这是字符串类型资源,其指定如果满足资源0和1中的条件时则要应用的规则。此资源的示例性默认值是:阈值轮询防火墙-dos-攻击(“thresholdpollfirewall-dos-attack”)。

图9示出了另一pcp请求消息的示例性请求分组格式900,该另一pcp请求消息可以由受限设备发送,包括对防火墙策略的更新。图6的消息11可以具有图9所示的分组格式。参考图9,所示的请求分组包括与pcp的filter选项相对应的选项代码3,并且包括作为有效负载的新的阈值或者在识别出攻击后从管理器接收到的攻击向量对象的其他更新资源值。

如上所述,方法200、300可以由受限设备执行。图10是示出了示例性受限设备1000的框图,该受限设备1000可以例如在从计算机程序接收到合适指令时实施根据本公开的示例的方法200、300。参照图10,受限设备1000包括处理器1002、存储器1004和接口1006。存储器1004包含可由处理器1002执行的指令,使得受限设备1000可操作以执行方法200和/或300的一些或全部步骤。

图11示出了受限设备1100的另一示例中的功能单元,该受限设备1100可以例如根据从计算机程序接收的计算机可读指令来执行本公开的方法200、300的示例。将理解的是,图11所示的单元是功能单元,并且可以以硬件和/或软件的任何适当组合来实现。这些单元可以包括一个或多个处理器,并且可以以任何程度加以集成。

参照图11,受限设备1100包括接收模块1102,用于从管理器接收受限设备上的攻击向量数据对象和pcp配置数据对象的配置信息。配置信息包括攻击向量数据对象中的资源的值和pcp配置数据对象中的资源的值。受限设备还包括发送模块1104,用于根据pcp配置数据对象向防火墙发送pcp请求,该pcp请求包括在配置信息中接收到的攻击向量对象的资源值。受限设备还包括接口1106。

同样如上所述,方法400、500可以由受限设备管理器执行。管理器可以是单个元件,也可以是分布式管理功能(其例如可以是虚拟化网络功能)的一部分。

图12是示出了示例性管理器1200的框图,该管理器1200可以例如在从计算机程序接收到合适指令时实施根据本公开的示例的方法400、500。参照图12,管理器1200包括处理器1202、存储器1204和接口1206。存储器1204包含可由处理器1202执行的指令,使得管理器1200可操作以执行方法400和/或500的一些或全部步骤。

图13示出了管理器1300的另一示例中的功能单元,该管理器1300可以例如根据从计算机程序接收的计算机可读指令来执行本公开的方法400、500的示例。将理解的是,图13所示的单元是功能单元,并且可以以硬件和/或软件的任何适当组合来实现。这些单元可以包括一个或多个处理器,并且可以以任何程度加以集成。

参照图13,管理器1300包括配置模块1302和接口1304。配置模块1302用于:通过设置攻击向量数据对象中的资源的值以及设置pcp配置数据对象中的资源的值,来配置受限设备上的攻击向量数据对象和pcp配置数据对象。

本公开的各方面提供了方法,根据这些方法,受限设备可以配置为识别针对受限设备的攻击,向管理器通知攻击,并且通过在服务于受限设备的防火墙上配置或更新策略来采取行动阻止攻击。可以由受限设备管理器执行业务监视、配置和确定防火墙的适当策略规则,这样便对接收配置信息并据此采取行动的受限设备提出了最少的额外要求。

本公开的方法可以以硬件实现,或者可以作为在一个或多个处理器上运行的软件模块来实现。这些方法还可以根据计算机程序的指令来执行,并且本公开还提供了一种计算机可读介质,其上存储有用于执行本文所述的任何方法的程序。体现本公开的计算机程序可以存储在计算机可读介质上,或者该计算机程序可以例如是信号的形式(比如,从互联网网站提供的可下载数据信号),或者该计算机程序可以是任何其他形式。

应当注意,上述示例是说明而不是限制本公开,本领域技术人员将能够在不脱离所附权利要求的范围的情况下设计出许多替代实施例。词语“包括”没有排除权利要求中列出的元件或步骤之外的其他元件或步骤的存在,“一个”没有排除多个,并且单个处理器或其他单元可以实现权利要求中记载的若干单元的功能。权利要求中的任何附图标记都不应被解释为限制其范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1