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

用于检测制造设备漏洞的利用的技术的制作方法

2022-11-14 02:04:26 来源:中国专利 TAG:

用于检测制造设备漏洞的利用的技术
1.相关申请的交叉引用
2.本技术要求于2020年2月26日提交的美国非临时申请16/801748的优先权,其内容通过引用并入本文。
技术领域
3.本公开一般涉及网络安全,并且更具体地,涉及识别设备的潜在利用点。


背景技术:

4.每当新设备连接到组织的网络或在组织物理位置附近的位置被激活时,恶意实体就有可能使用新设备对组织、网络或两者造成伤害。由于现在能够连接网络的新设备数量迅速增加,网络接入可能造成的潜在网络危害数量呈指数级增长。此外,这些新设备中的许多不仅能够连接到网络,而且还能够创建自己的网络或热点。
5.可能成为恶意实体的目标的某些特定设备包括用于制造的设备。例如,可编程逻辑控制器、人机接口、监控和数据采集(scada)控制系统、工程站和历史服务器可用于制造。对这些设备的干扰可能会中断生产、破坏货物和/或对现场工作人员造成伤害。
6.许多制造设备通过本地或网络连接连接到其他设备。这些连接可能使制造设备暴露于网络威胁。此外,制造设备可以通过网络连接到传感器或监控系统。因此,这些制造设备为其连接的网络提供了潜在的入口点。因此,非常需要防止利用这些设备中的漏洞。
7.因此,提供克服上述挑战的解决方案将是有利的。


技术实现要素:

8.下面是本公开的几个示例性实施例的概述。提供该概述是为了方便读者提供对这些实施例的基本理解,并且并不完全限定本公开的广度。该概述不是所有预期实施例的广泛概述,并且旨在既不识别所有实施例的关键或关键元素,也不描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的序言。为方便起见,术语“一些实施例”或“某些实施例”可在本文中用于指代本公开的单个实施例或多个实施例。
9.本文公开的实施例包括用于使用分类器层次结构来确定设备属性的方法。所述方法包括:基于制造设备的至少一个第一设备属性和漏洞数据库中指示的多个第二设备属性,确定所述制造设备的至少一个利用条件,其中所述漏洞数据库进一步指示针所述对多个第二设备属性的多个已知利用;分析医疗设备的行为和配置以检测所述制造设备的可利用漏洞,其中所述可利用漏洞是满足所述至少一个利用条件的所述制造设备的行为或配置;以及基于所述可利用漏洞执行至少一个缓解动作。
10.本文公开的实施例还包括非暂时性计算机可读介质,其上存储有用于使处理电路执行进程的指令,所述进程包括:基于制造设备的至少一个第一设备属性和漏洞数据库中指示的多个第二设备属性,确定所述制造设备的至少一个利用条件,其中所述漏洞数据库
进一步指示针对所述多个第二设备属性的多个已知利用;分析医疗设备的行为和配置以检测所述制造设备的可利用漏洞,其中所述可利用漏洞是满足所述至少一个利用条件的所述制造设备的行为或配置;以及基于所述可利用漏洞执行至少一个缓解动作。
11.本文公开的实施例还包括用于使用分类器层次结构来确定设备属性的系统。所述系统包括:处理电路;以及内存,所述内存包含指令,当由所述指令所述处理电路执行时,所述指令将所述系统配置为:基于制造设备的至少一个第一设备属性和漏洞数据库中指示的多个第二设备属性,确定所述制造设备的至少一个利用条件,其中所述漏洞数据库进一步指示针对所述多个第二设备属性的多个已知利用;分析医疗设备的行为和配置以检测所述制造设备的可利用漏洞,其中所述可利用漏洞是满足所述至少一个利用条件的所述制造设备的行为或配置;并且基于所述可利用漏洞执行至少一个缓解动作。
附图说明
12.在说明书结束位置的权利要求书中特别指出并明确要求保护本文公开的主题。通过结合附图进行的以下详细描述,所公开实施例的前述和其他目的、特征和优点将显而易见。
13.图1是一个用于描述各种公开实施例的网络图。
14.图2是一个流程图,其示出了根据实施例检测设备漏洞的利用的方法。
15.图3是一个流程图,其示出了根据实施例的使用分类器层次结构确定设备属性的方法。
16.图4是一个根据实施例的可利用漏洞检测器的示意图。
具体实施方式
17.重要的是应当理解,本文公开的实施例只是本文创新教导的许多有利用途的示例。一般而言,在本技术说明书中所作的陈述不一定限制各种要求保护的实施例中的任何一个。此外,一些陈述可能适用于某些发明特征,但不适用于其他发明特征。一般来说,除非另有说明,单数元素可以是复数,反之亦然,但不丧失一般性。在附图中,相同的数字通过多个视图表示相同的部件。
18.已经确定的是,当以特定方式配置或与特定类型的设备通信时,制造设备经常被利用。更具体地,已经确定的是,各种制造设备根据定义哪些设备彼此通信的分层模型进行操作。作为一个非限制性示例,许多设备根据普渡企业参考体系结构(pera)模型运行,其中设备之间的通信动态是已知的。根据pera模型,设备可分为多个级别,并且设备应仅与相邻级别中的设备通信(例如,级别2中的设备将与级别1和3中的设备进行通信)。
19.此外,还确定的是,制造设备通常使用可能未加密的专有通信协议进行通信。因此,当例如连接到互联网时,这些设备可能被利用。此外,某些设备可能具有特定的责任,使得执行这些责任的其他设备可能被利用。作为一个非限制性示例,工程站负责更新可编程逻辑控制器(plc)的硬件和配置。如果任何其他设备更新plc的硬件或配置,则漏洞被利用。
20.进一步确定的是,某些漏洞不可利用,即不存在黑客攻击的威胁。例如,被阻止访问互联网的设备是一个漏洞,但无法利用该漏洞控制设备或允许恶意实体访问设备或与其连接的任何网络。出于网络安全的目的,最好区分可利用漏洞和不可利用漏洞,因为资源的
优先顺序可能对有效缓解利用至关重要。
21.在一个实施例中,为制造设备创建设备配置文件。基于设备配置文件和漏洞数据库,确定制造设备的一个或多个已知的利用。针对特定类型制造设备的漏洞的常见利用的漏洞数据库定义。检查设备活动、设备配置或两者,以便根据已知利用检测可利用漏洞。可以执行缓解动作以避免利用检测到的可利用漏洞。
22.图1是一个用于描述各种公开的实施例的示例性网络图。在图1中,环境100包括多个设备110-1至110-m(以下仅为简单目的单独称为设备110,并统称为设备110)和多个共存网络120-1至120-n(以下仅为了简单目的单独地称为网络120,并统称网络120),从而允许这些设备110之间的通信。此外,在环境100中可操作的是组织的内部网络130。内部网络130包括受保护资源131。此类受保护资源131可包括但不限于服务器、计算机、数据库、服务、应用、数据等。
23.每个设备110可以是但不限于膝上型计算机、pc、智能手机、物联网设备、可穿戴设备、外围设备(例如,打印机、鼠标、键盘、扬声器等)、电器、遥控器、无线路由器(接入点)或可通过网络通信的任何其他电气或电子设备。在一个实施例中,一个或多个设备110是制造设备,例如但不限于可编程逻辑控制器、人机接口、监控和数据采集(scada)控制系统、工程站和历史服务器。
24.网络120可以促进使用通信协议的通信,例如但不限于因特网协议(ip)、s7通信协议、unity、概念、制造消息规范、wi-fi、nrf、蜂窝通信协议(例如lte、2g、3g、4g等)、zigbee、z-wave、enocean、dect、6lowpan等。应当注意的是,应用层协议可以通过这种通信协议进行通信。应用层协议的示例包括但不限于http、smb、ntlm、http/https、obex等。可选地或共同地,设备110可以直接彼此通信或直接使用通信协议(例如但不限于蓝牙蓝牙低能量(ble)等)与其他系统通信。
25.在一个示例性实现中,多个传感器140-1至140-p(下文中单独称为传感器140,仅为了简单起见,统称为传感器140)部署在网络100中。每个传感器140被部署为带外设备,并且被配置为监视和控制由传感器140部署位置附近的设备110发送的无线流量。在一些实施例中,传感器140可以部署为连接在网络100中的设备,可以部署为仅侦听流量的被动设备,或者可以部署为监听设备。
26.在一个示例性实现中,每个传感器140可以配置为基于相应的无线通信协议来处理所监视的流量。例如,如果监测到的流量通过蓝牙连接传输,则传感器140被配置为通过其整个堆栈提取由蓝牙协议承载的数据。此类数据可包括确定例如是否建立新连接、是否识别现有连接、正在传输的数据类型或其组合所需的报头和有效载荷数据。因此,每个传感器140配置为处理由传感器140支持的每个无线协议的堆栈(所有或一些层)。上面提到了此类无线协议的示例。在一个实施例中,每个传感器140可以处理至少一种类型的无线协议。
27.在一个示例性实现中,传感器140可以嗅探通过安全wi-fi网络(例如,网络120-1)在两个设备110之间传输的流量。为了提取协议数据,需要传感器140对通过空中传输的数据进行解密。为此,根据一个实施例,wi-fi网络的密码短语被上传到传感器140并存储在传感器140中。使用密码短语,传感器140可以充当被动设备,配置为监听wi-fi网络上的数据流量,并解密设备(例如,网络120-1中的设备110-3和110-2)之间传输的任何数据流量。
28.在另一个示例性实现中,传感器140还配置为捕获两个成对的制造设备110之间的
ble通信并提取协议数据。为了发现加密密钥,传感器140或系统150猜测或预配置密钥条目(例如,当使用密钥条目配对过程时为6位数)。例如,可以通过尝试6位代码的所有可能选项来猜测密钥条目。使用发现的密钥条目和捕获的握手,可以基于ble密钥交换过程为登陆导出加密密钥。使用该加密密钥,两个设备110之间的通信可以被解密,并且协议数据被提取。
29.在又一个示例性实现中,传感器140可以通过查询安装或部署在环境100中的网络设备(未示出)来提取流量参数。例如,传感器140可以向无线接入点查询正在建立的新连接以及参与这种连接建立的设备。例如,可以查询网络设备正在建立的连接类型、协议类型、参与连接的设备、建立连接的时间等。在另一个实施例中,传感器140可以查询设备110以检索关于特定设备110的信息。例如,可以通过查询设备110-2来检索设备110-1的供应商和当前os类型。
30.由每个传感器140提取的数据可以被发送到可利用漏洞检测器150用于进一步分析。作为一个非限制性示例,当传感器140识别出新的无线连接时,将与新无线连接相关联的数据发送到可利用漏洞检测器150。
31.用于确定设备属性的信息由传感器140、可利用漏洞检测器150或两者处理。例如,在一个实施例中,传感器140可以识别空中传输的流量中的mac地址。mac地址被发送到可利用漏洞检测器150,该检测器将这些地址关联起来以识别与两个或多个mac地址相关联的单个设备。mac地址还可以提供给定设备的供应商指示。基于mac地址的设备供应商的确定可以由传感器140或可利用漏洞检测器150执行。
32.应当注意的是,传感器140向分层分类150提供的信息可能被解密,并可能包含可利用漏洞检测器150进行分析的相关信息。例如,此类信息可以包括行为或配置数据,例如但不限于设备110访问的网络地址(例如,ip地址、url、端口号等)、设备110参与的网络活动、设备110的网络配置设置等。该信息可以包括由设备110访问或传输的数据。例如,从设备110传送到环境100内或外部的位置的word文档的内容将被提供给可利用漏洞检测器150。
33.在一个实施例中,传感器140还被配置为在可利用漏洞检测器150的控制下执行缓解动作。例如,传感器140可以终止与被确定为易受攻击的设备110的无线连接。在另一个实施例中,可利用漏洞检测器150可配置为执行缓解动作或使传感器140执行缓解动作。
34.每个传感器140可以实现为物理设备、虚拟设备(由处理系统执行)或其组合。虚拟设备实现的示例包括但不限于虚拟机、微服务、软件代理等。
35.可利用漏洞检测器150可以部署在数据中心、云计算平台(例如,公共云、私有云或混合云)、组织内部或其组合中。可利用漏洞检测器150或其功能可以嵌入一个或多个传感器140中。
36.在一个示例性部署中,可利用漏洞检测器150配置为与一个或多个外部系统160连接。此类外部系统160的示例可包括但不限于用于检索用户权限的组织的活动目录、访问控制系统、用于报告检测到的漏洞的安全信息和事件管理(siem)系统、漏洞扫描器,或者可以向可利用漏洞检测器150提供潜在威胁或已知漏洞的其他设备等。
37.更具体地,这样的外部系统160可以提供漏洞数据库,该漏洞数据库识别特定类型设备的已知漏洞并定义针对这些漏洞的已知利用。可替换地或共同地,这些漏洞数据库可以存储在可利用漏洞检测器150中。外部系统160还可以包括库存管理系统、身份管理系统、
认证服务器等。
38.在一个实施例中,可利用漏洞检测器150配置为检测如本文所述的设备110的可利用漏洞。具体地,基于设备110的设备属性和定义各种设备类型的漏洞的已知利用的漏洞数据库,可利用漏洞检测器150配置为识别每个设备110的一个或多个已知利用。可利用漏洞检测器150还配置为分析每个设备110的行为、配置或两者,并基于分析和已知漏洞检测可利用漏洞。
39.作为检测可利用漏洞的一个非限制性示例,设备配置文件指示设备110-1运行由需要实时操作系统的设备使用的操作系统“rt os”。存储在外部系统160之一中的漏洞数据库由可利用漏洞检测器150检查与运行“rt os”操作系统的设备相关联的已知漏洞。漏洞数据库指示运行“rt os”操作系统的设备启用连接时利用的已知漏洞。可利用漏洞检测器150分析设备110-1的配置,以基于为设备110-1启用的tcp连接确定设备110-1具有当前可利用漏洞。
40.作为检测可利用漏洞的另一个非限制性示例,设备配置文件指示设备110-2使用蓝牙低能量(bte)芯片。存储在外部系统160之一中的漏洞数据库由可利用漏洞检测器150检查与安装有bte芯片的设备相关联的已知漏洞。漏洞数据库指示当设备使用人工智能(ai)与接入点通信以优化最终用户体验时利用的已知漏洞。可利用漏洞检测器150分析设备110-2的行为,以基于其与这种基于ai的接入点的连接来确定设备110-2具有当前可利用漏洞。
41.在另一个实施例中,可利用漏洞检测器150配置为确定设备属性。在又一个实施例中,可利用漏洞检测器150配置为导航分类器层次结构,以便确定每个设备属性,例如,设备110之一的设备属性。可利用漏洞检测器150还可以配置为训练层次结构的子模型。
42.可利用漏洞检测器150还可以配置为检测不属于组织的设备110,这些设备可能执行恶意活动,因此可能对环境100中的设备和网络构成风险。在不限制所公开的实施例的范围的情况下,这种设备将被称为易受攻击的设备。这种检测可以部分地基于由传感器140提取并从传感器140接收的数据来执行。可利用漏洞检测器150可以配置为使用如本文所述确定的设备属性来配置在环境100中发现的每个设备110。部分地执行设备的剖析以确定设备是不是合法设备。在一些实现中,可利用漏洞检测器150配置为创建合法设备列表和“未知设备”列表。合法设备是被授权访问内部网络130或任何受保护资源131的设备110。未知设备是不能被识别为合法设备的设备110。
43.为了发现新设备110,传感器140可以配置为检测在环境100中建立的任何新的无线连接。例如,检测与接入点(例如,通过wi-fi网络)或与另一设备(例如,蓝牙连接)建立的任何新连接。可选地或共同地,当设备从网络断开时,可以检测设备110。例如,如果设备110检测到来自wi-fi网络的探测请求或蓝牙网络中的寻呼请求,则这些请求指示断开连接的设备。发起这种请求的设备110是被发现的设备。
44.传感器140提取或确定发起连接的设备的至少一个唯一标识符。基于提取的唯一标识符的值,确定设备是否已经被发现。唯一标识符可以包括但不限于mac地址。可以在集中位置(例如,在可利用漏洞检测器150中)管理先前发现的设备的列表,或者将其分布在各种传感器140之间。
45.应当注意的是,在发现新设备110时,唯一标识符并不总是可用的。例如,在不知道
其mac地址的情况下识别蓝牙微微网、从设备等。在这种情况下,唯一标识符可以是由主设备分配给从设备的临时时隙地址,从设备使用该临时时隙地址。可以稍后提取从设备的mac地址。
46.在一个实施例中,可利用漏洞检测器150可以配置为基于无线设备120的配置文件和指示无线设备120活动的数据来确定无线设备120是否易受攻击。具体地,如果例如无线设备120的活动在考虑到无线设备120配置文件中的设备属性的情况下是异常的,则可以确定无线设备120易受攻击。这种异常可以使用机器学习模型通过针对不同设备属性的预定规则进行定义,该机器学习模型使用来自具有不同设备属性的设备的活动数据或其组合进行训练。
47.应该认识的是,在此公开的实施例不限于图1所示的特定架构,并且可以在不偏离所公开的实施例范围的情况下使用其他架构。具体地,在一个实施例中,可以存在多个可利用漏洞检测器150,其如上所述操作,并且配置为或者让一个作为备用,以在它们之间共享负载,或者在它们之间分割功能。
48.此外,在一个典型的环境100或典型的部署中,将会有多个可以共存的内部网络,也就是说,图1中显示的是单个网络130,这仅仅是为了简化讨论的目的。根据所公开的实施例的通信可以经由诸如但不限于无线、蜂窝或有线网络、局域网(lan)、广域网(wan)、城域网(man)、因特网、万维网(www)、类似网络及其任何组合的网络来进行。此外,检测可利用漏洞的设备同样可以是经由有线连接连接到网络的有线设备,而不脱离本公开的范围。
49.还应当注意的是,在一些配置中,一个或多个传感器140可以嵌入可利用漏洞检测器150中。还应注意的是,漏洞检测器150被描绘为部署在环境100中,但漏洞检测器150可以同样地部署在环境100之外,而不脱离本公开的范围。作为一个非限制性示例,漏洞检测器150可以部署在云计算环境中,并从传感器140远程接收数据。
50.图2是一个示例流程图200,示出了根据一个实施例的用于检测制造设备漏洞的利用的方法。在一个实施例中,该方法由图1的可利用漏洞检测器150执行。
51.在s210,为制造设备创建设备配置文件。在一个实施例中,可以通过使用分类器层次结构来确定一个或多个设备属性中的每一个来创建设备配置文件,如下面关于图3进一步描述的。在另一个实施例中,所确定的设备属性用于创建医疗设备的设备配置文件。
52.设备配置文件定义制造设备的设备属性。这样的设备属性可以包括但不限于设备类型、设备使用的通信协议、设备的硬件组件、安装在设备上的软件、设备所使用的操作系统、其组合等。可以针对设备类型来指示设备类型,例如但不限于可编程逻辑控制器(plcs)、人机接口(hmis)、scada客户端、scada服务器、工程站、历史服务器等。
53.在一个实施例中,设备配置文件可以进一步指示制造设备在制造层次结构(例如,pera)中的位置。作为一个非限制性示例,设备配置文件可以指示层次结构中制造设备的级别。
54.在s220,将所创建的设备配置文件与漏洞数据库进行比较,以确定用于利用制造设备中的漏洞的一个或多个已知利用。漏洞数据库包括与可利用漏洞和相应已知利用相关的设备属性。
55.如上所述,不同类型的设备通常以不同的方式被利用。因此,根据设备配置文件中定义的设备属性识别潜在的漏洞,可以更准确地检测可利用漏洞。此外,根据一些实施例
(例如,上文关于图3描述的实施例)确定的改进的设备属性提供了更准确的设备属性,这又提供了对可利用漏洞的更准确的识别。
56.可以针对包括连接点、行为、配置参数或其组合的利用条件来定义已知利用。使用可能表明可利用漏洞的连接点的示例包括但不限于特定端口、网络、交换机、路由器和其他接入点。示例性行为可以包括但不限于所使用的端口数量、访问互联网(或缺少互联网)等。示例性配置参数可以包括但不限于启用的传输控制协议(tcp)连接、运行特定应用等。
57.利用条件还可以包括偏离已知层次结构。为此,漏洞数据库可以定义层次结构中设备的分配角色和责任以及允许的通信。作为一个非限制性示例,人机接口只允许与可编程逻辑控制器通信。作为另一个非限制性示例,工程站可以是负责更新可编程逻辑控制器的硬件和配置的唯一设备。
58.如上所述,已经确定的是,制造设备通常在层次结构中具有定义的角色和责任,使得当制造设备执行未被分配的角色时,或者当制造设备与另一设备不适当地通信时,可能发生制造设备的已知利用。如上所述,制造设备通常使用未加密的专有通信协议进行通信,使得使用这种未加密协议的设备的已知利用可能包括到互联网的连接。
59.在一些实现中,漏洞数据库可以是特定于组织的,即,特定于在特定组织的环境中操作的设备。为此,可以基于在特定环境中活动的设备的设备活动,使用机器学习来创建漏洞数据库。更具体地,已知漏洞可能包括在环境中设备的设备配置文件的偏差,该偏差在用于训练机器学习模型的历史数据中显示。例如,漏洞可能与特定于组织的行为和配置有关,例如但不限于特定应用程序的使用、连接到特定连接点等。
60.在s230,针对已知利用分析设备行为和配置,以检测一个或多个当前可利用漏洞。每个当前可利用漏洞是满足利用条件的行为、配置或其组合(例如,共存行为和配置的特定组合)。为此,当前可利用漏洞可能是当前正在被利用的漏洞(例如,更改的名称)、可被利用的漏洞(例如,允许未知设备更改名称的配置)或其组合。
61.在一个实施例中,s230还可以包括与一个或多个漏洞扫描器交互以获得与设备行为或配置相关的附加信息。作为一个非限制性示例,当分析结果确定一个或多个端口是开放的时,s230可以包括查询漏洞扫描器以确定开放端口的信息。此类更具体的信息可能有助于识别已知利用漏洞使用的端口是否开放,从而确定设备是否存在当前可利用漏洞。
62.在s240,执行一个或多个缓解动作。缓解动作可包括但不限于拒绝设备的活动、改变设备的配置、断开与设备的一个或多个连接或其组合。在一个实施例中,基于检测到的当前可利用漏洞来确定缓解动作。
63.作为用于检测制造设备漏洞的第一非限制性示例,制造设备的设备配置文件指示制造设备是人机接口(hmi)。将设备配置文件与漏洞数据库进行比较,以确定hmi的已知漏洞包括与未经批准类型的设备通信。在此示例中,未经批准的设备类型是除可编程逻辑控制器(plc)以外的任何设备。检查hmi的连接,以确定hmi正在与工程站通信,或配置为允许与工程站进行通信,因此具有当前可利用漏洞。与工程站的连接可能被切断或配置可能被改变,从而缓解漏洞。
64.作为用于检测制造设备漏洞的第二非限制性示例,制造设备的设备配置文件指示制造设备是plc。将设备配置文件与漏洞数据库进行比较,以确定plc的已知利用包括从已知名称更改其名称或使用除plc的已知模块之外的模块。检查plc运行的名称和模块,以确
定plc的名称已被更改,或确定plc配置为其名称可能被未知源更改,因此,plc具有当前可利用漏洞。可以终止plc的操作,从而缓解漏洞。
65.作为用于检测制造设备漏洞的第三非限制性示例,制造设备的设备配置文件指示制造设备是plc。将设备配置文件与漏洞数据库进行比较,以确定plc的已知利用包括从未经批准的设备类型接收更新数据。在此示例中,未经批准的设备是工程站以外的设备。检查plc的更新数据,以识别plc已从移动设备接收到更新数据,或配置为可从未知设备接收更新数据,因此,plc具有当前可利用漏洞。可能会切断与未知设备的任何连接,并向plc发送适当的更新数据,从而缓解漏洞。
66.作为第四非限制性示例,制造设备的设备配置文件指示制造设备使用未加密的专有协议。将设备配置文件与漏洞数据库进行比较,以确定使用未加密专有协议的设备的已知利用包括通过互联网通信。检查制造设备的网络连接以识别该设备连接到互联网或该设备被配置为允许互联网连接。互联网连接可能被终止或配置可能被更改,从而缓解漏洞。
67.图3是一个示例性流程图300,其示出了一个用于根据一个实施例使用分类器层次结构确定设备属性的方法。
68.在s310,对要用于训练层次的分类器的训练数据进行预处理。训练数据包括与多个设备相关的数据,例如但不限于从设备获得的数据、与设备的活动(例如,网络活动)相关的数据或其组合。网络活动数据可以包括但不限于在一段时间内发送和接收的流量、使用的域、使用的端口、会话数量、与之交流的主机数量等。在一个实施例中,训练数据还包括指示每个设备的设备属性的类标签。
69.在一个实施例中,s310包括从训练数据中提取特征。要提取的特征基于要应用的分类器。
70.在另一个实施例中,s310还可以包括清理训练数据。要使用的分类器可以包括预定的分类器集,每个分类器与不同的设备属性相关联。分类器包括在设备属性中不重叠的一些分类器(例如,与移动设备相关联的分类器和与非移动设备相关联的分类器),以及在设备属性上重叠的一些分类器,使得一个分类器相较于另一个(例如,与移动设备关联的分类器和与智能手机(即,特定类型的移动设备)关联的分类器)与更具体的设备属性相关联。
71.在一个实施例中,s310还包括减少关于设备的训练数据。为此,可以排除与至少一些设备相关的数据。在又一个实施例中,可以排除与所需设备属性是未知(即,未标记)的设备相关的数据、与所标识的设备属性是不一致(即,不一致的标签)的设备有关的数据或两者。
72.在另一个实施例中,s310可进一步包括移除由训练标签所指示的训练设备属性类中的一个或多个。为此,s310可以包括排除类、修改类或两者。为此,可以排除或修改与排除或修改的类相关联的分类器。排除的类可以包括但不限于在训练数据中具有少量(例如,低于阈值)示例的类,即,少量设备具有作为设备属性的类。修改类可以包括将多个类合并为单个类,例如,具有低程度行为特征差异的类(例如,用于确定类的特征的相似性高于阈值的类)。
73.在s320,训练层次结构的子模型并建立层次结构。在一个实施例中,使用梯度增强树来训练子模型。
74.在一个实施例中,层次结构包括多个级别,其中至少一些级别包括多个子模型。不
同级别的子模型提供了关于设备属性的不同粒度。作为一个非限制性示例,可以训练较低粒度子模型以确定设备类型(例如,“打印机”),并且更具体地,可以训练较高粒度子模型来确定设备的模型(例如,“abc公司模型8打印机”)。
75.在一个实施例中,层次结构使用集成学习技术。具体地,层次结构子模型的不同分类器可以应用到从数据集中提取的特征,并根据每个子模型分类器的输出选择表示设备属性的类。为此,可以训练每个分类器以输出其相应类别的置信度。置信度指示分类器的类表示正确设备属性的可能性,并且可以与其他置信度进行比较以确定应当选择哪个标签。
76.在一个实施例中,每个分类器的训练是使用包括训练设备数据和指示设备属性分类的标签的训练数据的监督机器学习过程。训练设备数据可以包括但不限于通过检查设备获得的数据、通过监视进出设备的流量获得的数据,与设备相关的网络数据等。这种训练设备数据可以包括由监控设备的系统(例如,图1中监控设备110的传感器140)捕获的数据类型。
77.在s330,从应用数据中提取特征。所提取的特征包括每个分类器需要用作分层集成分类的一部分的特征。在一些实施例中,可以在导航层次结构时根据需要提取特征。例如,因为导航层次结构包括在要使用的层次结构的下一级别中选择子模型(即,一个或多个分类器的组),所以可以仅在下一个选定子模型的分类器需要时提取特征。这允许最小化特征提取的量。或者,可以在导航层次结构之前提取所有潜在必要的特征。
78.在s340,将子模型应用于从应用数据提取的特征,以确定适当的类。在一个实施例中,应用的第一子模型是包括根节点正下方的节点的子模型。
79.在一个实施例中,s340将子模型的每个分类器应用于相关特征,并且基于每个分类器的输出确定适当的类。在一个示例性实现中,每个分类器输出置信度,并且输出高于阈值的置信度的分类器的类被确定为适当的类。或者,可以将输出最高置信度的分类器的类确定为适当的类。在一些实现中,如果所有分类器输出的置信度低于阈值,则可能无法确定设备属性或空值。
80.在s350,基于在s340应用的分类器的输出,确定层次结构的下一个相关子模型。在一个实施例中,下一个相关子模型是与使用前一个子模型确定的类相关联的层次结构的下一级别中的子模型。
81.在s360,确定是否已经到达用于层次结构的当前遍历的最后子模型。如果是,则执行继续到s370;否则,执行继续到s340,其中特征被输入到层次结构的下一级别中的相关子模型。在一个实施例中,根据遍历层次结构时所采用的路径,最后一个子模型所在的层次结构的最后一个级别可能是不同的。
82.在一个实施例中,当终止条件触发时,已到达特定路径的层次结构的最后一个子模型。在一个实施例中,当路径上没有更多的子模型时(例如,当子模型的每个分类器由一个叶节点表示时),终止条件触发。注意,根据所公开的实施例的最后一个子模型不需要是层次结构的最低或最高级别中的子模型,并且遍历可以在达到这样的级别之前停止。
83.在一个实施例中,终止条件可以是子模型输出具有低于阈值的置信度的低置信度分类。在这样的实施例中,在输出低置信度分类的子模型之前的最近应用的子模型被识别为最后的子模型,使得这样的最近应用的子模型的分类用于确定设备属性。因此,任何不满足置信度阈值的更具体的分类都可以被排除在使用之外,从而进一步提高设备属性确定的
准确性。
84.在s370,确定设备属性。在一个实施例中,基于为最近应用的子模型确定的适当类来确定设备属性。例如,设备属性可以用作设备配置文件的一部分,设备配置文件又可以用于识别可能需要缓解的设备的异常活动。因此,本文描述的设备属性标识可用于准确地描述设备,这又允许通过与具有相同设备属性或设备属性组合的设备进行比较来更准确地识别设备行为中的异常。图4展示了这种使用的示例。
85.作为一个示例,当应用子模型325时,当第一分类器的输出是类“移动设备”的置信度9,而第二分类器的输出为类“非移动设备”置信度5时,适当地选择类“移动设备”,使得下一相关子模型被确定为子模型335-1(即,在子模型325之下的下一级别中的子模型)。后续子模型的分类器执行相同的过程,并且基于这些分类器的输出,将子模型(例如,表示类“智能手机”)确定为下一个相关子模型。确定下一个分类器的类(例如,表示类“abc品牌智能手机”)是适当的类。
86.在2019年12月30日提交的美国专利申请16/729,823中进一步描述了应用分类器层次结构来确定设备属性,该专利申请被分配给共同受让人,在此引用其内容。
87.图4是一个根据一个实施例的可利用漏洞检测器150的示例示意图。可利用漏洞检测器150包括连接到内存420、存储器430和网络接口440的处理电路410。在一个实施例中,可利用漏洞检测器150的组件可以经由总线450通信连接。
88.处理电路410可以实现为一个或多个硬件逻辑组件和电路。例如,可以使用的说明性类型的硬件逻辑组件包括但不限于现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、图形处理单元(gpu)、张量处理单元(tpu)、通用微处理器、微控制器、数字信号处理器(dsp)等,或可执行信息计算或其他操作的任何其他硬件逻辑组件。
89.内存420可以是易失性的(例如ram等)、非易失性(例如rom、闪存等)或其组合。
90.在一个配置中,用于实现本文公开的一个或多个实施例的软件可以存储在存储器530中。在另一个配置中,内存420配置为存储软件。软件应广义解释为指任何类型的指令,无论是指软件、固件、中间件、微码、硬件描述语言或其他。指令可以包括代码(例如,以源代码格式、二进制代码格式、可执行代码格式或任何其他合适的代码格式)。当由处理电路410执行时,指令使处理电路410进行本文所述的各种进程。
91.存储器430可以是磁存储器、光存储器等,并且可以实现为例如闪存或其他存储技术、cd-rom、数字多功能盘(dvd)或可用于存储所需信息的任何其他介质。
92.网络接口440允许可利用漏洞检测器150与例如设备110或传感器140通信,以便例如接收与设备属性等相关的数据。
93.应当理解的是,此处描述的实施例不限于图4所示的特定架构,并且在不脱离所公开实施例的范围的情况下,可以同等地使用其他架构。
94.本文公开的各种实施例可以实现为硬件、固件、软件或其任意组合。此外,软件优选地被实现为有形地体现在程序存储单元或计算机可读介质上的应用程序,程序存储单元或者计算机可读介质包括部件,或者某些设备和/或设备的组合。应用程序可以上传到包括任何合适架构的机器并由其执行。优选地,机器在具有诸如一个或多个中央处理单元(“cpu”)、内存和输入/输出接口的硬件的计算机平台上实现。计算机平台还可以包括操作
系统和微指令代码。本文描述的各种过程和功能可以是微指令代码的一部分或应用程序的一部分,或其任何组合,其可以由cpu执行,无论是否明确示出了这样的计算机或处理器。此外,各种其他外围单元可以连接到计算机平台,例如附加数据存储单元和打印单元。此外,非瞬态计算机可读介质是除了瞬态传播信号之外的任何计算机可读介质。
95.本文所述的所有示例和条件语言旨在用于教学目的,以帮助读者理解所公开的实施例的原理和发明人为推进本领域所贡献的概念,并且应被解释为不限于这些具体列举的示例和条件。此外,本文中所有陈述所公开的实施例的原理、方面和实施例以及其具体示例旨在涵盖其结构和功能等价物。此外,意图的是,此类等效物包括当前已知的等效物以及将来开发的等效物,即,无论结构如何,执行相同功能的任何开发元件。
96.应当理解的是,本文中使用诸如“第一”、“第二”等名称对元素的任何引用通常不限制这些元素的数量或顺序。相反,这些名称在本文中通常用作区分两个或多个元件或元件实例的方便方法。因此,对第一元件和第二元件的引用并不意味着可以仅使用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另有说明,一组元件包括一个或多个元件。
97.如本文所使用的,短语“至少一个”后接物品列表意味着可以单独使用任何列出的物品,或者可以使用两个或更多列出的物品的任何组合。例如,如果一个系统被描述为包括“a、b和c中的至少一个”,则该系统可以包括仅1个a;仅1个b;仅1个c;2个a;2个b;2个c;3个a;a和b的组合;b和c的组合;a和c的组合;a、b和c的组合;2个a和c的组合;a、3个b和2个c的组合;等等。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献