使用库存规则来识别计算机网络设备的系统及方法与流程

文档序号:24495142发布日期:2021-03-30 21:22阅读:125来源:国知局
使用库存规则来识别计算机网络设备的系统及方法与流程

本公开涉及计算机联网领域,更具体地涉及使用库存规则来识别计算机网络设备的系统和方法。



背景技术:

当今世界,大规模使用诸如桌面型和便携式个人计算机以及智能电话、平板型计算机和其他移动设备等计算机设备,各种类型的计算机威胁已经日益普遍。计算机威胁的实例包括网络蠕虫、特洛伊木马程序、键盘侧录程序、勒索软件、计算机病毒和计算机攻击。计算机攻击可进一步分类为针对赛博物理系统(cyberphysicalsystem-cps)和信息系统的定向攻击(又称为目标攻击-ta)和复杂攻击(高级持续性威胁-apt)。信息系统是计算设备和用于它们互连的通信设备的集合体,又称为企业基础设施。黑客可能具有各种各样的目标,从简单地窃取员工的个人数据到工业间谍活动。黑客常常获得有关企业网络架构、内部文件流原理、用于保护网络和计算机设备的手段的信息或信息系统专用的任何其他信息。这类信息允许黑客绕过现有的防御手段,而这些防御手段时常缺乏足够的灵活性来满足信息系统的所有需求。

现代计算机网络(尤其是cps网络)通常包括多个设备,即控制器、传感器、执行器和其他网络节点。许多设备可能使用过时软件,其中包含已知的漏洞。考虑到存在各种复杂且至少部分过时的技术设备,为这类设备更新软件的进程需要大量时间和资源。至少在某些情形下,由于制造方停止支持,甚至可能无法更新这类过时软件。因而,为了保证cps网络的安全性,可能有必要创建网络设备的库存,以便在诸如网关级的更高级上搜索和消除计算机设备的漏洞。本文采用的术语“设备库存”或简称“库存”泛指连接到网络的设备的标识以及这些设备的属性/参数(包括但不限于操作系统的版本、固件、软件等)。另外,设备库存为网络管理员提供有关网络正使用的设备和网络服务的完整又准确的数据,目的是确保网络安全。

现有技术中存在至少两种公知的生成计算机网络库存的方法。第一种方法称为网络扫描,与网络对象进行主动网络交互。但这种方法涉及到中断设备(例如cps控制器-plc)运行进程的风险。在本例中,plc可能从控制设备和传感器接收到有关控制客体状态的信息。响应于接收到该信息,plc可以作用于执行器。plc未编程为与其他网络对象相交互。因而,从系统接收到库存请求后,plc执行指令可能受到中断,并且可能需要操作者干预才能重启plc或更新其固件。第二种方法称为被动分析网络业务以收集有关cps设备的信息,它解决了主动(网络扫描)分析中固有的风险。但该方法也具有若干缺点,诸如确定cps网络设备属性的水平较低。

有鉴于此,需要更有效地识别计算机网络设备和/或识别和确定设备属性/参数。



技术实现要素:

本公开的各方面涉及计算机网络领域。

本公开的各方面设计为使用库存规则来识别网络设备并识别/确定与所识别的网络设备相关联的参数。

本公开的技术效果是更有效地识别网络设备。

在某一示例性方面,一种使用库存规则来识别计算机网络设备的方法包括跨计算机网络的一个或多个通信链路拦截数据业务。分析所拦截的数据业务以确定所拦截的数据业务是否满足多个库存规则中的一个以上库存规则。多个库存规则中的每一个均包括一个或多个条件,该一个或多个条件指示存在具有一组参数的特定计算机网络设备。使用一个或多个所满足的库存规则来识别计算机网络设备。

在某一方面,所述多个库存规则中的每一个均具有加权因子值,该加权因子值指示应用相应规则的优先级。该加权因子值取决于先前识别的设备。

在某一方面,分析多个库存规则以确定是否满足多个库存规则中的一个以上库存规则进一步包括:在多个数据包的报头部分和有效载荷部分中的至少一个中搜索与包含在多个库存规则中的相应参数值相匹配的值。

在某一方面,所述一组参数包括以下至少一项:设备标识符,设备名称,设备型号,设备类型,设备安全状态,设备制造方,协议,相应设备上所安装的操作系统的一个或多个特征,相应设备上所安装的软件程序的一个或多个特征。

在某一方面,所述多个库存规则至少包括:i)卖方规则,其列出与多个设备中的每一个相关联的一个或多个网络地址;ii)资产规则,其配置为搜索标识一个或多个设备以及与之相关联的一个或多个参数的数字签名;iii)协议规则,其配置为搜索数字签名以识别所拦截的数据业务正使用的一个或多个网络协议;iv)指纹规则,其配置为使用数字指纹来确定一个或多个设备参数。

在某一方面,如果一个设备参数已被至少两个不同的库存规则识别,则选择具有最大加权因子值的库存规则以便进行设备识别。

附图说明

附图并入本说明书并构成本说明书的一部分,图中示出本公开的一个或多个实施方面,附图结合下文的具体实施方式来阐释这些实例方面的原理和实施方式。

图1a示意性示出可实施本发明各方面的技术系统的实例。

图1b示意性示出可实施本发明各方面的技术系统的具体实例。

图2示出根据本公开各方面所述的使用库存规则来识别计算机网络设备的系统的图示。

图3示出根据本公开各方面所述的使用库存规则来识别计算机网络设备的方法的流程图。

图4示出通用计算机系统的实例。

具体实施方式

本文在使用库存规则来识别计算机网络设备的系统、方法和计算机程序产品的背景下描述各示例性方面。本领域普通技术人员应认识到,下述内容仅为说明性,而非旨在限制性意义。鉴于本公开,本领域技术人员很容易获得其他方面的启示。现参照附图详述各实例方面的具体实施方式。在全部附图和下述内容中,尽量使用相同的附图标记来指代相同或相似的项目。

现将介绍描述本公开各方面时使用的许多定义和概念。

术语“妥协指标(ioc)”,又称为“感染指标”,是指入侵信息系统且可在计算机或网络上观察到的伪影或残留特征。典型的妥协指示可能包括已触发杀毒记录、未知的因特网协议(ip)地址、可疑文件的校验和、可疑网站的统一资源定位符(url)、僵尸网络命令中心的域名等。妥协指标存在许多标准,包括但不限于:

openioc(https://www.fireeye.com/blog/threat-research/2013/09/history-openioc.html),stix(https://stix.mitre.org/),cybox(https://cybox.mitre.org),等等。

术语“信息系统安全体系中的事件”(下文简称为事件)是指检测到的系统状态、服务或网络状态指示可能违反信息系统安全策略、违反监控手段和措施或其失效或者事先未知的信息系统安全相关情况。

术语“信息安全事故”(下文简称为事故)是指一个或多个可能危害商务运营并威胁信息系统安全的非期望或非预期事件。

术语“控制客体”是指为了改变这种技术客体的状态而受外部作用(控制和/或扰动)的技术客体。一方面,这类控制客体可以包括设备(例如电动机)或技术过程(或其一部分)。

术语“技术过程(tp)”是指物料生产过程,由物料实体(工作对象)的顺序状态变化组成。

术语“技术过程控制(过程控制)”是指最终产品生产期间用于控制过程变量的一组方法。

术语“控制回路”是指将测得的过程变量值自动调节到额定设定值所需的物料实体和控制功能。控制回路可能包含探测器、传感器、控制器和执行器。

术语“过程变量pv”是指正观察或监视的tp特定部分的当前计量值。过程变量可能例如是来自传感器的测量值。

术语“设定值”是指应保持的过程变量值。

术语“操纵变量(mv)”是指经调节以使过程变量值保持在设定值水平的参数。

术语“外部动作”是指在特定方向上改变经受动作的元素(诸如技术系统(ts)的元素)的状态的方法,该动作从ts的某一元素以信号形式传递到ts的另一元素。

术语“控制客体状态”是指其基本属性的总和,由外部动作(包括来自控制子系统的控制动作)的影响下更改或保持的状态参数来表示。

术语“状态参数”是指表征客体的基本属性的一个或多个数值。一方面,状态参数是物理量的数值。

术语“控制客体的形式状态”是指与流程图和其他技术文件(就tp而言)或业务调度(就设备而言)相对应的控制客体状态。

术语“控制动作”是指控制子系统的控制主体作用于部分控制客体的有意(该动作的目标是作用于客体的状态)且合法(由tp提供)的外部动作,结果是改变控制客体的状态或保存控制客体的状态。

术语“扰动动作”是指作用于控制客体状态的有意或无意且非法(非tp提供)的外部动作,包括作用于部分控制客体的动作。

术语“控制主体”是指将控制动作施加于控制客体或者将控制动作直接施加于控制客体之前将控制动作传递到另一控制客体以进行变换的设备。

术语“多级控制子系统”是指涉及多级的控制主体的集合。

术语“赛博物理系统(cps)”是指将计算资源整合到物理过程中的信息系统概念。在这样的系统中,传感器、设备和信息系统沿着整个价值创造链连接,超出单一企业或商业的界限。这些系统可借由标准因特网协议进行相互交互,以进行预测、自调谐以及适应变化。cps的实例是技术系统、物联网(包括可佩戴设备)和工业物联网。

术语“物联网(iot)”是指配备有用于相互之间或与外界进行交互的内置技术的物理对象(“事物”)的计算机网络。物联网包括诸如可佩戴设备、交通工具的电子系统、智能汽车、智能城市、工业系统等技术。

术语“工业物联网(iiot)”是指连接到因特网的设备以及对获自所连接设备的数据执行处理的扩展分析平台。iiot的设备可能十分多样化-从小型天气传感器到复杂的工业机器人。

术语“技术系统(ts)”是指一组在功能上相互关联的多级控制子系统的控制主体和控制客体(tp或设备)。在技术系统中,控制客体的状态变化是通过控制主体的状态变化来实现。技术系统的结构是由技术系统的基本元素(互连的多级控制子系统的控制主体和控制客体)以及这些元素间的通信链路形成。如果技术系统中的控制客体是技术过程,则控制的目的是通过引起控制客体的状态变化而改变工作对象(原料、加工坯料等)的状态。如果技术系统中的控制客体是设备,则控制的目的可能是改变设备(交通工具、航天器等)的状态。ts元素的函数关系常指这些元素的状态的关系。元素之间甚至可能没有直接的物理链路。例如,执行器与技术操作之间可能没有物理链路。然而,例如即使这些状态参数没有物理连接,主轴的切削速度也可能与主轴的旋转速度在功能上相关。

术语“控制主体状态”是指控制主体的基本属性的总和,由外部动作的影响下可更改或保持的状态参数。

术语“控制主体的基本属性”(以及相应地状态的基本参数)是指直接影响控制客体状态的基本属性的属性。控制客体的基本属性可以是直接影响针对ts控制的功能性因素(精确度、安全性、功效性)的属性。基本属性的实例可以包括但不限于:与形式指定条件相对应的切削条件,与列车路线相对应的列车运动,将反应器温度保持在容许范围内的过程。根据受控制的因素,可以选择控制客体的状态参数,并可相应地选择对控制客体施加控制动作的控制主体的状态相关参数。

术语“技术系统元素的状态”是指控制主体和控制客体的状态。

术语“技术系统元素的真实状态”是指技术系统的元素在一定时间作用于控制客体的状态,其通过测量状态参数以及拦截ts元素间的信号(业务)来确定。例如可以使用安装在ts中的传感器来执行对状态参数的测量。

术语“技术系统的真实状态”是指相互关联的技术系统元素的真实状态的总和。

术语“控制论区块(cyberneticblock)”是指监视技术系统元素的操作过程的赛博物理监视系统元素。

术语“状态空间”是指形式化动态系统(技术系统或赛博物理系统)的状态变化的方法。

术语“计算机攻击”(下文又称为赛博攻击)是指通过硬件和软件作用于信息系统和计算机电信网络的针对性动作,旨在破坏这些系统和网络中的信息安全性。

术语“定向攻击”(下文又称为针对性攻击-ta)是指针对特定组织或特定个人的计算机攻击的特例。

术语“siem(安全信息与事件管理)系统”是指旨在整体上控制组织信息安全并管理自各种来源所获事件的手段。siem系统能够实时分析来自网络设备和各种应用的事件。

图1a示意性示出技术系统(ts)的实例,该技术系统包括:控制主体110a;可以配置为形成多级控制子系统120的控制主体110b;水平通信链路130a和垂直通信链路130b。控制主体110b可以按层级140分组。

图1b示意性示出技术系统100'的实施方式的具体实例。控制主体110a'可以是tp或设备。一方面,控制动作可以由自动控制系统(acs)120'调度到控制主体110a'。acs120'可以具有三个层级140',这三个层级140'由水平层级上通过水平通信链路(同一层级内的链路,图1b未示出)相互关联而垂直层级上通过垂直通信链路130b'(acs系统的不同层级之间的链路)相互关联的控制主体110b'组成。控制主体110b'之间的关系可以是功能性关系。换而言之,在通常情况下,一个层级上的控制主体110b'的状态变化可以引起在同一层级上和/或任何其他层级上与之相连的控制主体110b'的状态变化。有关控制主体110b'的状态变化的信息可以沿着控制主体110b'之间建立的水平通信链路和/或垂直通信链路130b'以信号形式传送。换言之,关于特定控制主体110b'的状态变化的信息是关于其他控制主体110b'的外部动作。可以根据控制主体110b'的目的来识别acs120'内的层级140'。层级数可能发生变化,这取决于自动控制系统120'的复杂度。简单的技术系统可以包含一个或多个下级。一方面,有线网络、无线网络和微型集成电路可用于ts(110a'、110b')的元素与ts100的子系统之间的物理连接。一方面,以太网、工业以太网或各种工业网络中的任何工业网络可用于ts(110a'、110b')的元素与ts100的子系统之间的逻辑链接。工业网络和协议使用以下各种类型和标准:profibus,fip,controlnet,interbus-s,devicenet,p-net,worldfip,longwork,modbus,等等。

最上级(数据采集与监控级-scada)可以是调度器/操作器控制级,至少包括以下控制主体110b':控制器,控制计算机人机界面(hmi)(图1b中在一个scada控制主体的背景下示出)。这一级可旨在跟踪ts(110a'、110b')的元素状态、获取和累积有关ts(110a'、110b')的元素状态的信息以及需要时进行修正。

中级(control级)可以是控制器级,至少包括以下控制主体:可编程逻辑控制器(plc),计数器,中继器,调节器。类型“plc”的控制主体110b'可以从“测量与控制设备”类型的控制主体和“传感器”类型的控制主体110b'接收关于控制主体110a'的状态的信息。类型“plc”的控制主体可以根据针对“执行器”类型的控制主体的编程控制算法来制定(创建)控制动作。执行器可以在下级直接执行该动作(具体是将其应用于控制客体)。一方面,执行器可以作为执行装置(设备)的一部分。诸如pid调节器(比例积分微分控制器或pid控制器)等调节器可以是反馈控制回路中的设备。

下级(输入级/输出级)可以是这类控制主体的层级,诸如:监视控制客体110a'的状态的传感器和测量装置以及执行器。执行器可以直接作用于控制主体110a'的状态,使其符合形式状态,即对应于技术转让、技术图表或其他技术文件的状态(就tp而言)或业务时间表(就设备而言)。在这一级上,可能发生的是,将来自“传感器”类型的控制主体110b'的信号与中级控制主体的输入进行协调,以及将“plc”类型的控制主体110b'所执行的控制动作与实施这些动作的“执行器”类型的控制主体110b'进行协调。如上所述,执行器可以是执行装置的一部分。执行装置可以根据来自调节器或控制装置的信号来移动调节元件。执行装置可以是自动控制链中的最后一个连接部分,一般可由以下区块组成:

·放大装置(接触器、变频器、放大器等);

·具有反馈元件(输出轴位置传感器、终端位置信令、手动驱动器等)的执行器(电动驱动器、气动驱动器或液压驱动器);

·调节元件(阀门、闸门、挡板、风门等)。

根据应用条件,执行装置可以具有不同的设计。执行装置的主要区块通常包括执行器和调节元件。

一方面,执行装置整体上可以称为执行器。

图2示出使用库存规则210来识别计算机网络设备的系统(下文称为库存系统)的示例性实施方式。在所示的实例中,库存系统210可以是赛博物理系统(cps)200的组件。一方面,库存系统210可以配置为对所拦截的数据业务采取被动分析以收集和累积有关相应计算机网络(在给出的实例中,cps200的计算机网络)的各种设备的信息。一方面,库存系统210的网络过滤器211可以配置为拦截数据业务。网络过滤器211可以配置为拦截在plc110b'与scada110b'组件之间交换的每个数据包并且可以配置为将所拦截的数据包发送到规则验证模块212以便进行验证。一方面,所拦截的数据业务可以包括网络包,其包括网络、传输和应用层数据。一方面,网络过滤器211可以配置为针对一定范围的ip地址跨计算机网络的一个或多个通信链路层(例如,根据osi模型的传输层、网络层或数据链路层)拦截数据业务。每个数据包包括报头部分和有效载荷部分。

一方面,规则验证模块212可以配置为分析多个库存规则以确定所拦截的数据业务是否满足任何库存规则214。一方面,多个库存规则可以例如保存在库存规则214的数据库中。多个库存规则中的每一个均可包括指示存在具有一组特定参数/属性的特定计算机网络设备的条件。换而言之,每个库存规则可以包含一些条件,如果满足这些条件,则指示cps200的计算机网络中存在具有给定参数的网络设备。一方面,每个库存规则可以具有与之相关联的加权因子值。加权因子值可以取决于先前识别的计算机网络设备。一方面,每个库存规则的加权因子值确定应用该规则的优先级。

一方面,网络设备识别模块213可以配置为使用所满足的库存规则来识别计算机网络的一个或多个设备以及与所识别的设备相关联的参数。一方面,在识别过程中,网络设备识别模块213可以配置为考虑每个所满足的库存规则的加权因子值。一方面,网络设备识别模块213可以配置为将有关所识别设备的数据存储在专用数据库中,例如包含设备列表215的数据库。

一方面,规则验证模块212可以配置为在多个所拦截的数据包的报头部分和/或有效载荷部分中搜索与包含在多个库存规则中的相应参数值相匹配的值。任选地,规则验证模块212可以包括有效载荷数据检查器,以实施一种或多种(有效载荷)数据检查技术;或者可以另行利用一种或多种深度包检查(dpi)技术。本领域中已公知dpi技术,为简明起见不再赘述。一方面,如果规则验证模块212确定满足一个或多个库存规则,则网络设备识别模块213可以使用所满足的库存规则来识别计算机网络的一个或多个设备以及与所识别的设备相关联的参数。这类设备参数可以包括但不限于:

a)设备标识符;

b)设备名称;

c)设备型号;

d)设备类型;

e)安全状态;

f)制造方;

g)协议;

h)已安装操作系统(os)的特征;

i)已安装软件的特征。

设备标识符参数可用于提供清晰的设备标识。设备标识符参数可以例如包括设备的mac地址、设备的ip地址或这些地址的组合。在各方面,能够使用任何其他唯一设备标识符作为设备标识符参数。

网络设备识别模块213可以配置为例如使用netbios名称服务(nbns)、域名解析(dns)和/或其他协议来确定设备名称参数。

设备类型参数可以包括以下之一:hmi/scada,中继保护,服务器,工作站,plc,工程站,移动设备,或任何其他网络设备。

安全状态参数可以是关键的主要安全事件存在与否的指示符。安全状态可以取以下示例值之一:

关键值-指示检测到至少一个涉及设备的关键事件。例如,如果已知关于相应设备的未修正漏洞,则安全状态可能包含关键值。

警告值-指示存在至少一个涉及设备的事件,该事件很可能影响设备的安全性,但这种对设备的影响可能并非关键。例如,安全状态可以包含警告值,其指示设备上可能尚未安装最新版本的操作系统或固件,但设备上未检测到关键漏洞。

安全值-指示不存在关键的警告安全事件。

如上所述,库存规则214的数据库可以包含多个库存规则。另一方面,库存规则214的数据库可以包含以下示例性而非限制性的库存规则,用于识别设备和相应的设备参数:

a.卖方规则,其利用已知设备的mac地址和/或ip地址的列表。

b.资产规则,其配置为搜索标识一个或多个设备以及与之相关联的一个或多个参数的数字签名。该规则可以使网络设备能够识别模块213确定特定的设备参数,例如但不限于设备型号、设备上的固件版本、软件和/或硬件版本号、os版本标识符、有关设备提供服务的信息以及其他参数。

c.协议规则,其可配置为搜索数字签名,以识别所拦截的数据业务正使用的一个或多个网络协议。该协议规则可以是资产规则的特定情况,其可以用于识别网络协议。

d.指纹规则,其配置为使用数字指纹来确定一个或多个设备参数。一方面,该指纹规则可以利用多个生成的tcp/ip指纹。如本文所用,术语“生成指纹”表示基于规则定义指纹,特别是使用ip扫描结果和服务扫描结果来生成网络设备指纹的过程。亦即,可以使用ip扫描结果来生成基于传输控制协议(tcp)/ip包的操作系统(os)指纹,并且可以使用服务扫描结果来生成基于服务横幅的服务指纹。如本文所用,术语“服务扫描”表示与基于ip扫描结果确定为活动的ip地址相对应的扫描端口。亦即,服务扫描涉及确定特定ip地址的端口当前是否正提供服务。要进行服务扫描的端口数目并无特别限制。一方面,指纹规则可以使网络设备能够识别模块213确定诸如设备型号和操作系统等设备参数。

一方面,如果一个设备参数已被至少两个不同的库存规则识别,则选择具有最大加权因子值的库存规则以便进行设备识别。例如,资产规则的加权因子值可以等于90,该值可能大于卖方规则的加权因子值(例如20)。据此,如果网络设备识别模块213使用卖方规则和资产规则来识别设备和设备参数,则资产规则(具有最大加权因子值)可以获得用于设备识别的优先级。在某一实例中,这种情况可能是由于卖方规则的精确性低于资产规则的精确性而引起。例如,在具有多个路由器的网络中,mac地址或ip地址可能不识别设备本身,而是识别将主体设备连接到网络的路由器。相比之下,资产规则可以允许识别设备本身和相应的设备参数,例如设备制造方。

一方面,如果设备参数已被至少三个不同的库存规则识别,从而至少两个不同的库存规则识别该设备的相同值,则网络设备识别模块213可以将这些值累加。例如,如果库存规则а(其加权因子值为30)和库存规则b(其加权因子值为40)已确定设备的os为windows10,而库存规则c(其加权因子值为50)已确定设备的os为windows7,则网络设备识别模块213可以使用库存规则a和b,因为它们的组合加权因子值(70)高于规则c的加权因子值(50)。因此,在给出的实例中,网络设备识别模块213可以确定设备的os为windows10。

又一方面,可以使用属于同一设备的不同网络业务数据来满足上述库存规则中的至少两个库存规则。例如,一个规则可以通过分析网络层数据来满足,而另一规则可以使用传输层数据。

如上所述,一方面,每个库存规则的加权因子值可以取决于先前识别计算机网络设备和那些设备的参数。例如,如果曾使用特定规则来识别具有特定参数的特定设备,并且分析者曾确认该设备识别的正确性,则能够相应增大该特定规则的权重。

还一方面,加权因子值可以取决于计算机网络的拓扑结构。例如,如果计算机网络的拓扑结构是总线,即网络中无路由器,则资产规则和卖方规则可以分配有相同的加权因子值,或者卖方规则分配有比资产规则更大的加权因子值。在第二种情况下,可以提高图2所示系统的运行速度,因为满足卖方规则时不会再验证资产规则。

一方面,在更改库存规则或添加新库存规则的情况下,规则验证模块212可以配置为通过分析满足更改后库存规则的相同网络业务而验证更改后的库存规则或相应的新库存规则。因此,本发明提出的使用库存规则来识别计算机系统设备的系统和方法能够在添加新库存规则之后或对现有库存规则进行更改之后立即识别计算机网络的新设备及其参数。

另一方面,规则验证模块212可以配置为以各个库存规则的加权因子值的降序来验证库存规则的满足度。又一方面,在首次满足某一库存规则时,规则验证模块212可以停止进一步分析所拦截的网络业务并且可以停止进一步验证库存规则。一旦满足至少一个库存规则,则网络设备识别模块可以配置为根据所满足的库存规则并考虑与该规则相关联的加权因子值来识别计算机网络的至少一个设备以及该设备的参数。因此,首先,规则验证模块212可以检验最高优先级规则(具有最大加权因子值),甚至可以不检验低优先级规则(具有最低加权因子值)。有利地,该特征可以提高系统效率。

一方面,在满足至少一个库存规则后,如果所有那些所满足的库存规则的组合加权因子值大于预定阈值,则网络设备识别模块213可以根据每个满足的库存规则来识别计算机网络的至少一个设备以及该设备的参数。因此,如果所满足规则的组合加权因子值小于预定阈值,则网络设备识别模块213可能根本不识别计算机网络设备。当低优先级规则错误地识别计算机网络设备或其参数时,这一功能可以减少第一类错误的数目。因此,可以提高识别计算机网络设备参数的精确度。

一方面,网络设备识别模块213可以使用以下方法之一指定上述阈值:

a)每个库存规则的单独阈值;

b)所有库存规则的联合阈值;

c)一组规则的联合阈值,其中这组规则包含至少两个库存规则,这两个库存规则识别同一计算机网络设备或同一计算机网络设备的参数。

一方面,网络过滤器211可以配置为仅拦截来自先前未识别的新设备的网络业务。关于先前识别的设备的数据可以由网络设备识别模块213置于例如设备列表数据库215上。

一方面,可以用形式语言来编写库存规则,一种形式语言的实例是yaml。

卖方规则的实例如下:

id:4

confidence:20

vendor_mac_list:['00:13:d5','94:b8:c5','00:0a:dc']

host:{vendor:hostvendor_rugged,key:src_mac}

该规则识别制造方(主机字段)为hostvendor_rugged的设备,前提是该设备的mac地址包含在列表vendor_mac_list中。将为设备分配标识符id=4以及加权因子值(置信值)=20。

资产规则的实例如下:

id:13009

confidence:90

message:"siemenssiprotecmodel"

protocols:[goose]

prefilter:{pattern:"^.{8}\\x61.+7(sd|sa|ut|sj|vk|ve)(4|5|6|8)\\d\\d?",flags:"hsi"}

host:{type:hosttype_plc,vendor:hostvendor_siemens,key:src_mac}

asset:{

type:hardware,

key:assetkey_model,

pattern:"(7[a-za-z][a-za-z]\\d\\d\\d?)",

#paramloc_plcmodel_siprotec_param1='siprotec'+$p0

param_loc:paramloc_plcmodel_siprotec_param1}

该规则可用于协议goose(协议字段)的数据,预滤器字段将包含模板,用于在网络数据层中搜索规则条件的匹配项。主机字段描述的网络设备作为满足规则的网络业务的来源(该设备可以是需要识别的路由器或设备)。在给出的实例中,设备类型为plc,制造方(卖方)为siemens(西门子),设备地址(密钥)为设备的mac地址。资产字段指定设备以及将被规则识别的设备参数。资产字段可以包含一些值,诸如类型(从网络业务中提取的信息的类型;在给出的实例中,有关硬件的信息)和模式(对该规则执行预滤之后从网络业务中提取必要信息的模板)。param_loc的值可以包含从网络业务中提取信息的结果。

协议规则的实例如下:

id:200006

confidence:75

message:"rdpprotocol"

protocols:[tcp]prefilter:{pattern:"rdpdr.*cliprdr.*rdpsnd",flags:"hsi"}

asset:{type:software,key:assetkey_commonproto,description:commonproto_rdp_overtcp}

在本例中,协议规则利用具有指示预滤器的tcp层数据,满足该规则后可以识别协议rdp(远程桌面协议)。

指纹规则的实例如下:

id:15000005

confidence:50

message:"generalelectricc60/b30(syn+ack)"

ip_flags:[]ttl:[[27,30]]

tcp_flags:[syn,ack]

tcp_win_size:[[4096]]

tcp_options:[mss]

eth_padding:"(ether[padding_offset:2]==0x8888)"

host:{type:hosttype_plc,vendor:hostvendor_ge,key:src_ip}asset:{type:hardware,key:assetkey_model,description:plcmodel_generalelectric_c60_b30}

满足该规则的条件可以是ttl协议参数的范围为27到30、存在标志syn和ack、tcp协议窗口大小(tcp_win_size)等于4096以及存在传输层选项mss(最大报文段长度)。此外,经分析的网络业务数据应满足bpf过滤器eth_padding。

图3示出根据本公开各方面所述的使用库存规则来识别计算机网络设备的方法的流程图。在步骤301,网络过滤器211可以拦截网络业务。网络过滤器211可以配置为拦截在plc110b'与scada110b'组件之间交换的每个数据包并且可以配置为将所拦截的数据包发送到规则验证模块212以便进行验证。一方面,所拦截的数据业务可以包括网络包,其包括网络、传输和应用层数据。每个数据包包括报头部分和有效载荷部分。

接下来,在步骤302,规则验证模块212可以分析所拦截的网络业务以确定所拦截的数据业务是否满足任何库存规则。一方面,多个库存规则可以例如保存在库存规则214的数据库中。多个库存规则中的每一个均可包括指示存在具有一组特定参数/属性的特定计算机网络设备的条件。换而言之,每个库存规则可以包含一些条件,如果满足这些条件,则指示cps200的计算机网络中存在具有给定参数的网络设备。一方面,每个库存规则可以具有与之相关联的加权因子值。加权因子值可以取决于先前识别的计算机网络设备。一方面,每个库存规则的加权因子值确定应用该规则的优先级。

响应于满足一个或多个库存规则,在步骤303,网络设备识别模块213可以使用所满足的库存规则来识别计算机网络的一个或多个设备以及与所识别的设备相关联的参数。一方面,在识别过程中,网络设备识别模块213可以考虑每个所满足的库存规则的加权因子值。一方面,网络设备识别模块213可以将有关所识别设备的数据存储在包含设备列表215的数据库中。上文针对图2中的系统描述的特定示例性方面同样适用于本方法。

因此,本发明提出的系统和方法能够解决涉及识别网络设备参数的水平不高的技术问题,并提供本发明的技术效果,即,提高使用库存规则并考虑相应加权因子值来识别和/或确定网络设备参数的精确度。

图4是示出根据某一示例性方面可以实施用于检测恶意文件的系统和方法的各方面的计算机系统20的框图。计算机系统20可以代表图2中的库存系统210并且能够采用多计算设备的形式或采用单计算设备的形式,例如,桌面型计算机、笔记本计算机、膝上型计算机、移动计算设备、智能电话、平板型计算机、服务器、大型机、嵌入式设备以及其他形式的计算设备。

如图所示,计算机系统20包括中央处理单元(cpu)21、系统存储器22以及连接各种系统组件的系统总线23,包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线以及能够与任何其他总线架构相交互的本地总线。总线的实例可以包括pci、isa、pci-express、hypertransporttm、infinibandtm、serialata(串行ata)、i2c以及其他适当的互连线。中央处理单元21(又称为处理器)能够包括单组或多组具有单核或多核的处理器。处理器21可以执行实施本公开技术的一个或多个计算机可执行代码。系统存储器22可以是任何用于存储本文所用的数据和/或可由处理器21执行的计算机程序的存储器。系统存储器22可以包括诸如随机存取存储器(ram)25的易失性存储器以及诸如只读存储器(rom)24的非易失性存储器、闪存器等或它们的任意组合。基本输入/输出系统(bios)26可以存储用于在计算机系统20的元素之间传递信息的基本过程,例如使用rom24加载操作系统时的那些基本过程。

计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移动存储设备27、一个或多个不可移动存储设备28或它们的组合。一个或多个可移动存储设备27和不可移动存储设备28经由存储接口32连接到系统总线23。一方面,存储设备和相应的计算机可读存储介质是与功率无关的模块,用于存储计算机指令、数据结构、程序模块以及计算机系统20的其他数据。系统存储器22、可移动存储设备27和不可移动存储设备28可以使用各种计算机可读存储介质。计算机可读存储介质的实例包括:机器存储器,诸如高速缓存、sram、dram、零电容ram、双晶体管ram、edram、edoram、ddrram、eeprom、nram、rram、sonos、pram;闪存或其他存储技术,诸如固态驱动器(ssd)或闪存驱动器;磁带盒、磁带和磁盘存储设备,诸如硬盘驱动器或软盘;光学存储设备,诸如致密盘(cd-rom)或数字多功能光盘(dvd);以及可用于存储期望数据并可供计算机系统20访问的任何其他介质。

计算机系统20的系统存储器22、可移动存储设备27和不可移动存储设备28可用于存储操作系统35、附加程序应用37、其他程序模块38和程序数据39。计算机系统20可以包括用于从输入设备40(诸如键盘、鼠标、触针笔、游戏控制器、语音输入设备、触摸输入设备)传达数据的外围接口46或者经由一个或多个i/o端口(诸如串行端口、并行端口、通用串行总线(usb)或其他外围接口)的其他外围设备(诸如打印机或扫描仪)。显示设备47(诸如一个或多个监视器、投影仪或综合显示器)也可以跨经输出接口48(诸如视频适配器)连接到系统总线23。除显示设备47之外,计算机系统20还可以配备有其他外围输出设备(未示出),诸如扬声器和其他视听设备。

计算机系统20可以使用到一个或多个远程计算机49的网络连接在网络环境中运行。远程计算机(或多个远程计算机)49可以是本地计算机工作站或服务器,包括上述描述计算机系统20性质时的多数或全部元素。计算机网络中也可以存在其他设备,例如但不限于路由器、网络站、对等设备或其他网络节点。计算机系统20可以包括一个或多个网络接口51或网络适配器,用于经由一个或多个网络,诸如局域计算机网络(lan)50、广域计算机网络(wan)、内联网和因特网。网络接口51的实例可以包括以太网接口、帧中继接口、sonet接口和无线接口。

本公开的各方面可以是系统、方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(媒介),其上的计算机可读程序指令用于促使处理器执行本公开的各方面。

计算机可读存储介质可以是能够保留和保存指令或数据结构形式的程序代码的有形设备,该程序代码可供计算设备(诸如计算系统20)的处理器访问。计算机可读存储介质可以是电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备或它们的任何适当组合。举例而言,这种计算机可读存储介质能够包括随机存取存储器(ram)、只读存储器(rom)、eeprom、便携式致密盘只读存储器(cd-rom)、数字多功能光盘(dvd)、闪存、硬盘、便携式计算机软磁盘、记忆棒、软盘、甚至机械编码设备,诸如上面记录指令的打孔卡或凹凸结构。如本文所用,计算机可读存储介质不应解释为本身是瞬时信号,诸如无线电波或其他自由传播的电磁波、通过波导或传输介质传播的电磁波或者通过电线传输的电信号。

本文所述的计算机可读程序指令能够从计算机可读存储介质下载到各计算设备或者经由网络(例如因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。网络可以包括传输铜缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算设备中的网络接口从网络接收计算机可读程序指令并且转发该计算机可读程序指令以存储在各计算设备内的计算机可读存储介质中。

用于执行本公开所述操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据或者以一种或多种编程语言(包括面向对象的编程语言)和常规面向过程的编程语言的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上而部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括lan或wan)连接到用户计算机,或者可以与外部计算机建立连接(例如通过因特网)。在某些实施方案中,电子电路(例如包括可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令而个性化电子电路以执行本公开的各方面。

在各方面,可以根据模块来解决本公开所述的系统和方法。如本文所用,术语“模块”是指使用硬件(诸如通过专用集成电路(asic)或fpga)或者作为硬件和软件的组合来实施的现实世界的设备、组件或组件布置,例如通过微处理器系统和一组指令来实施模块功能,这些指令在执行时将微处理器系统转换为专用设备。模块也可以实施为这两者的组合,其中某些功能仅由硬件来促进,而其他功能则由硬件和软件的组合来促进。在某些实施方式中,至少一部分模块(某些情况下全部模块)可以在计算机系统的处理器上执行。据此,每个模块可以各种适当的配置来实现,而应当不限于本文例示的任何特定实施方式。

为清楚起见,本文未公开各方面的全部常规特征。应当领会,在本公开的任何实际实施方式的开发过程中,须做出大量具体实施决策,以便达成开发人员的具体目标,并且这些具体目标会针对不同实施方式和不同开发人员而不同。应当理解,这种开发工作可能十分复杂而耗时,但对于获益于本公开的本领域普通技术人员而言仍是常规工程任务。

还应理解,本文使用的措词或术语是出于描述而非限制目的,本领域技术人员将按照本文提出的教导和指导结合相关领域技术人员的知识来解释本说明书的术语或措辞。而且,说明书或权利要求书中的任何术语并非旨在赋予罕见或特殊的含义,除非另作明确说明。

本文公开的各方面涵盖本文举例说明的已知模块的当前和将来的已知等同变化。而且,尽管已经图示和描述多个方面和应用,但本领域技术人员获益于本公开将显而易见的是,在不背离本文公开的发明构思的情况下,相比上述内容可作出更多的修改。

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