用于在计算机网络中识别攻击的设备和方法与流程

文档序号:23624803发布日期:2021-01-12 10:36阅读:136来源:国知局
用于在计算机网络中识别攻击的设备和方法与流程

本发明基于用于在计算机网络中识别攻击的方法和设备。



背景技术:

这种“网络入侵检测和防御系统”(networkintrusiondetectionandpreventionsystems,nidps)的任务是识别分布式计算机系统的网络流量中的异常并对异常做出反应。nidps是典型地用于检测和阻止对企业网络(所谓的enterprise网络)的攻击的系统。nidps也可以用于汽车网络。汽车网络是具有“电子控制单元”(electroniccontrolunits,ecu)作为网络节点的车辆内部网络。

由于企业网络和汽车网络之间的功能差异,用于企业网络的nidps不能有效地用于汽车网络。

因此,期望提供用于汽车网络的nidps。



技术实现要素:

这通过独立权利要求的主题来实现。为了提供用于汽车网络的nidps,应当考虑汽车网络与企业网络之间的差异。这些差异可以在它们的网络结构、网络动态性和网络节点中找到。

网络结构:

企业网络典型地遵循客户端-服务器模型,在该模型中存在较少数量的专用服务器网络节点,这些服务器网络节点向典型地较多数量的客户端网络节点提供服务。汽车网络由交换传感器信号和致动器命令的ecu组成。

企业网络一般比汽车网络明显更大和更复杂。企业网络的整体被显著地分割,即在物理上或逻辑上分离为不同的区域和子网。典型的汽车网络中的ecu(如果有的话)通过“网关”分离为少量子网或在逻辑上经由所谓的“虚拟局域网”(virtuallocalareanetworks,vlan)在以太网层上分离。

网络动态性:

企业网络和汽车网络在用于更改和运行所述网络的动态性方面是不同的。

在企业网络中,所连接的网络节点会动态更改。对于服务器网络节点的改变,可能的话还可以对安全系统(例如nidps)的配置进行适配。相反,对于作为客户端的网络节点,一般不可能进行这样的适配。这是因为一些客户端从变化的位置连接到所述网络并且被相对频繁地更换。此外,无法准确预测哪些应用在客户端上执行。

汽车网络中的ecu(如果有的话)很少被更换,于是通常也只被相同的副本替换。因此,所述网络的作用方式发生任何变化是不太可能的。在汽车网络中网络节点都是众所周知的。同样,运行在每个网络节点上的应用也是明确定义的,并且可以预给定关于网络通信的细节。

在企业网络中,来自外部的节点建立到企业网络内的连接并形成内部数据流量的一部分也是常见的。在汽车网络中,该网络的负责车辆功能的所有通信节点都是内部车辆网络的一部分。外部节点仅被授予特定功能和在有限的范围内对所述内部车辆网络的接入,例如为了诊断或为了移动终端设备。

在企业网络中,不同的用户可能能够使用相同的客户端。汽车网络的ecu中不存在用户,而是只有完全自动地执行其服务的应用。

网络节点:

就资源而言,企业网络的网络节点一般在资源上(例如在存储器和性能方面)比汽车网络的ecu高出许多倍。

就软件而言,在企业网络中网络节点大多配备有普遍使用的标准操作系统和标准软件,对于这些标准操作系统和标准软件,安全漏洞是已知的。但是,一般无法规定哪个软件在哪个客户端系统上执行,因为在许多情况下用户可以安装和卸载软件。因此,企业网络中nidps系统的重点是基于签名来识别是否在尝试利用已知的安全漏洞。汽车网络中的网络节点一般配备有专门为该应用情况开发的软件。来自用于企业网络的nidps系统的大部分签名是无法应用的,并且不存在关于专门针对汽车网络已知的漏洞的更大的数据库。

虽然nidps的基本任务,即检测网络流量中的异常并对异常做出反应对于企业网络和汽车网络是相同的。但是,从上述观点可以清楚地看出,用于汽车网络的有效nidps的基本作用方式必须与用于企业网络的nidps的基本作用方式根本不同。用于汽车网络的nidps必须利用已知和静态的网络结构以及明显更小的网络参与者动态性,以便能够用有限的资源有效地检测异常。

在这方面特别有利的用于在计算机网络中识别攻击的方法规定,在硬件开关装置的输入端处接收数据分组,其中根据来自所述数据分组的数据链路层信息并且根据来自所述硬件开关装置的存储器的硬件地址来选择所述硬件开关装置的输出端以用于发送所述数据分组或所述数据分组的副本,其中在比较中通过硬件过滤器将来自所述数据分组的某字段的实际值与来自所述字段的值的额定值进行比较,其中所述字段包括数据链路层数据或网络层数据,并且其中根据所述比较的结果将所述数据分组或所述数据分组的副本提供给计算装置进行分析,其中通过所述计算装置根据来自所述数据分组的信息执行所述分析,以识别所述计算机网络中的网络流量中的攻击模式。由此,通过分析已经被交换机硬件分类为易受攻击的数据分组来实现nids。所述nids可以在交换机cpu上实现,而无需在所述交换机cpu上分析整个网络流量。交换机硬件分析直至osi第2层的网络流量的每个数据分组,并且在一些系统中还部分地分析osi第3层的网络流量的数据分组,以实现交换。如果在该分析中确定某数据分组易受攻击,则将该数据分组转发到交换机cpu。所述交换机cpu继续分析该数据分组,并基于分析结果实现无状态或有状态的nids。这种两级nids非常节省资源并且特别适合于汽车网络。例如,在所述比较中检查实际值与额定值之间是否存在偏差,或者所述偏差是否达到、超过或低于阈值。

优选地规定,硬件过滤器包括三态内容可寻址存储器,在该三态内容可寻址存储器中存储有额定值的掩码,其中将实际值与存储在三态内容可寻址存储器中的掩码相比较,并且根据所述比较的结果确定是否存在偏差。这使得可以在nids的第一级中检查所述数据分组的可自由配置的属性。

优选地,额定值表征来自存储器的硬件地址,特别是介质访问控制地址,其中根据来自输入端或输出端处的数据分组的硬件地址字段中的数据(特别是介质访问控制地址)来确定所述实际值。由此,可以在nids的第一级中分析有关所述介质访问控制地址的不规则性。

优选地,额定值表征虚拟局域网,其中确定来自存储器的额定值,根据以下数据来确定实际值,所述数据表征在输入端或输出端处的数据分组对虚拟局域网的所属性。由此,可以在nids的第一级中分析有关对虚拟局域网的所属性的不规则性。

优选地,当硬件过滤器在输入端或输出端处针对标记虚拟逻辑区域网确定了未标记虚拟逻辑区域网数据分组时,或者当硬件过滤器在输入端或输出端处针对未标记虚拟逻辑区域网确定了标记虚拟逻辑区域网数据分组时,识别出偏差的存在。这使得可以在nids的第一级中识别出有关所述虚拟逻辑区域网的其他不规则性。

优选地,当硬件过滤器在输入端或输出端处确定了具有未知的以太类型、具有错误的校验和、错误的分组长度或错误的分组结构的数据分组时,识别出偏差的存在。这使得可以在nids的第一级中识别出所述数据分组的结构或内容中的其他不规则性。

优选地,当动态主机配置协议过滤器在输入端或输出端处确定了用于具有动态主机配置协议端口67和/或端口68的互联网协议版本4(internetprotocolversion4)和/或互联网协议版本6(internetprotocolversion6)的动态主机配置协议分组时,当传输控制协议或用户数据报协议过滤器在输入端或输出端处确定了用于互联网协议版本4和/或互联网协议版本6的传输控制协议或用户数据报协议广播消息时,当精确时间协议过滤器在输入端或输出端处确定了精确时间协议消息时,其中所述精确时间协议消息的内容,特别是时间戳、序列号、校正字段,至少部分地被存储在用于上下文信息的寄存器中,识别出偏差的存在。这使得可以在nids的第一级中识别出有关数据分组的特定于协议的不规则性。

将用于在计算机网络中识别攻击的设备构造为片上系统,该片上系统包括硬件开关装置、硬件过滤器和用于识别攻击的计算装置,并且该片上系统被构造为执行所述方法。该解决方案特别适用于汽车网络。

优选地,将三态内容可寻址存储器、地址转换单元、虚拟局域网转换单元、动态主机配置协议过滤器、传输控制协议或用户数据报协议过滤器和/或精确时间协议过滤器构造为硬件过滤器,分析数据分组以识别攻击并根据检查结果向用于识别攻击的计算装置提供所述数据分组或所述数据分组的副本。由此可以在交换机硬件中特别有效地执行所述方法的各个方面。

附图说明

其他有利的实施方式由以下描述和附图得出。在附图中

图1示出了用于识别攻击的设备的示意图,

图2示出了所述设备中的数据流,

图3示出了用于识别攻击的方法中的步骤。

具体实施方式

图1示出了用于在计算机网络中识别攻击的设备100的示意图。设备100被构造为片上系统。

设备100包括硬件开关装置102、硬件过滤器104和用于识别攻击的计算装置106。下面以微处理器为例描述计算装置106。代替微处理器,也可以使用微控制器。

在该示例中,计算机网络是汽车以太网网络。示例性描述的汽车以太网基于以太网标准ieee802.3-2018,并且可以包括来自ieee802.1q、100base-t1或1000base-t1的元素。broadr-reach或100base-t1/x指定了第1层中的物理传输介质。在以太网协议堆栈中,存在部分地特定于汽车背景的其他标准,例如doip、some/ip和部分地ipv4、tsn。

在汽车以太网背景中,部分地仅使用一种标准的部分而不使用其他部分,即也没有使用整个协议范围。

在该示例中,硬件开关装置102包括以太网交换机。

在该示例中,硬件过滤器104包括三态内容可寻址存储器108、地址转换单元110、虚拟局域网转换单元112和其他硬件过滤器114,例如动态主机配置协议过滤器、传输控制协议或用户数据报协议过滤器和/或精确时间协议过滤器。

硬件过滤器被构造为分析数据分组以识别攻击并且根据检查结果将所述数据分组或所述数据分组的副本提供给用于识别攻击的微处理器106。为此,硬件过滤器104和微处理器106与数据导线116连接。在该示例中,微处理器106是微控制器的一部分,该微控制器包括随机存取存储器118。可以将数据分组从硬件过滤器104经由数据导线116传输到随机存取存储器118中以识别攻击。

设备100包括至少一个输入端和至少一个输出端。这些输入端和输出端被实现为用于硬件开关装置102的端口120。

硬件开关装置102包括用于存储计算机网络的以下设备的硬件地址的存储器122,所述设备与设备100耦合。存储器122可以包括用于寄存关于数据分组的上下文信息的寄存器。存储器122例如是随机存取存储器。存储器122也可以是非易失性读写存储器。

硬件开关装置102被构造为在输入端处接收数据分组。硬件开关装置102被构造为根据来自所述数据分组的数据链路层信息并且根据来自存储器122的硬件地址,选择设备100的用于发送所述数据分组或所述数据分组的副本的输出端。

微处理器106被构造为根据来自所述数据分组的信息执行分析以识别计算机网络中的网络流量中的攻击模式。

硬件过滤器104被构造为在比较中将来自所述数据分组的某字段的实际值与来自该字段的值的额定值进行比较。该字段包括数据链路层数据或网络层数据。硬件过滤器104被构造为,如果所述实际值与所述额定值之间存在偏差或所述偏差超过阈值,则根据所述比较的结果向微处理器106提供所述数据分组或所述数据分组的副本以进行分析。

下面描述硬件过滤器104的表现形式。

例如,硬件过滤器104包括三态内容可寻址存储器108,在该存储器中存储有额定值的掩码。在这种情况下,硬件过滤器104被构造为,将所述实际值与存储在所述三态内容可寻址存储器中的掩码进行比较并根据所述比较的结果来确定是否存在偏差。

例如,所述额定值表征来自所述存储器的硬件地址。所述硬件地址特别是数据链路层的介质访问控制地址。在该示例中,硬件过滤器104包括地址转换单元110,该地址转换单元110被构造为根据设备100的输入端或输出端处的数据分组的硬件地址字段中的数据来确定所述实际值,在比较中将所述实际值与所述额定值进行比较,并根据所述比较的结果来确定是否存在偏差。

地址转换单元110是数据链路层中的单元,该单元在硬件开关装置102中选择在运行期间用于发送接收到的数据分组或该数据分组的副本的输出端。

例如,所述额定值表征虚拟局域网。所述额定值例如存储在存储器122中。硬件过滤器104包括虚拟局域网转换单元112,虚拟局域网转换单元112被构造为根据以下数据来确定所述实际值,所述数据表征在设备100的输入端或输出端处的数据分组对虚拟局域网的所属性,在比较中将所述实际值与所述额定值进行比较,并根据所述比较的结果来确定是否存在偏差。

虚拟局域网转换单元112是数据链路层中的单元,该单元在硬件开关装置102中选择在虚拟局域网中在运行期间发送接收到的数据分组或该数据分组的副本的输出端。

硬件过滤器104可以被构造为,如果硬件过滤器104在所述设备的输入端或输出端处针对标记虚拟逻辑区域网确定了未标记虚拟逻辑区域网数据分组,或者如果其他硬件过滤器114在所述设备的输入端或输出端处针对未标记虚拟逻辑区域网确定了标记虚拟逻辑区域网数据分组,则识别出偏差的存在。

硬件过滤器104可以被构造为,如果其他硬件过滤器114在设备100的输入端或输出端处确定了具有未知以太网类型、具有错误的校验和或错误的分组结构的数据分组,则识别出偏差的存在。

硬件过滤器104可以包括动态主机配置协议过滤器作为其他硬件过滤器114,该动态主机配置协议过滤器被构造为在所述设备的输入端或输出端处确定用于具有动态主机配置协议端口67和/或端口68的互联网协议版本4和/或互联网协议版本6的动态主机配置协议分组。

硬件过滤器104可以包括传输控制协议或用户数据报协议过滤器作为其他硬件过滤器114,该传输控制协议或用户数据报协议过滤器被构造为在所述设备的输入端或输出端处确定用于互联网协议版本4和/或用于互联网协议版本6的传输控制协议或用户数据报协议广播消息。

硬件过滤器104可以包括精确时间协议过滤器作为其他硬件过滤器114,该精确时间协议过滤器被构造为在所述设备的输入端或输出端处确定精确时间协议消息,并且将所述精确时间协议消息的内容,特别是时间戳、序列号、校正字段,至少部分地存储在用于上下文信息的寄存器中。

可以将硬件过滤器104的所描述的表现形式并行或依次地布置在硬件开关装置102中。不必设置硬件过滤器104的所有表现形式。

在一个方面中,硬件过滤器104被构造为,在存在偏差时将其实际值已经经过比较的数据分组提供给微处理器106以用于分析。在一个方面中,硬件过滤器104被构造为,在不存在偏差时,不将其实际值已经经过比较的数据分组提供给微处理器106以用于分析。在另一方面中,硬件过滤器104被构造为,将所述偏差与阈值进行比较,并且在所述偏差超过所述阈值时将其实际值已经经过比较的数据分组提供给微处理器106。

图2针对以太网数据分组200示出了设备100中的示例性数据流。在设备100的输入端(在该示例中即是端口120之一)处接收以太网数据分组200。在设备100的输出端(在该示例中即是端口120之一)处发送以太网数据分组200。

在所述输入端和输出端之间,以太网数据分组200通过被构造用于检查分组结构的第一硬件过滤器114a。第一硬件过滤器114a被构造为,如果所述分组结构与以太网数据分组200的额定结构不对应,则经由用于微处理器106的数据导线116将以太网数据分组200传输到随机存取存储器118中,否则不传输以太网数据分组200。

在第一硬件过滤器114a和输出端之间,以太网数据分组200通过第二硬件过滤器114b,该第二硬件过滤器114b被构造用于检查以太网数据分组200的校验和。第二硬件过滤器114a被构造为,如果所述校验和不对应于以太网数据分组200的额定校验和,则经由用于微处理器106的数据导线116将以太网数据分组200传输到随机存取存储器118中,否则不传输以太网数据分组200。

在第二硬件过滤器114b和输出端之间,以太网数据分组200通过地址转换单元110。地址转换单元110被构造为,如果识别出偏差,则经由用于微处理器106的数据导线116将以太网数据分组200传输到随机存取存储器118中,否则不传输以太网数据分组200。此外,在该示例中,地址转换单元110还规定用于输出端的端口120。

在地址转换单元110和输出端之间,以太网数据分组200通过虚拟局域网转换单元112。虚拟局域网转换单元112被构造为,如果识别出偏差,则经由用于微处理器106的数据导线116将以太网数据分组200传输到随机存取存储器118中,否则不传输以太网数据分组200。此外,在该示例中,虚拟局域网转换单元112还规定,根据虚拟局域网的规则是否允许经由被规定为输出端的端口120发送以太网数据分组200。

例如,如果不允许将端口120用于该虚拟局域网,则禁止所述发送。

在该示例中,在虚拟局域网转换单元112和输出端之间,以太网数据分组200通过其他硬件过滤器114。如果识别出偏差,则经由用于微处理器106的数据导线116将以太网数据分组200传输到随机存取存储器118中。否则不传输以太网数据分组200。

在图2中还示出了存储器122和微处理器106(更确切地说是微处理器106的处理器核204)之间的可选的第一接口202。

在图2中还示出了硬件开关装置102的可选的第一中断控制器208与微处理器106中的可选的第二中断控制器210之间的可选的第二接口206。

第一中断控制器208被构造为,如果在硬件过滤器104中确定了偏差,则经由第二接口206向第二中断控制器210发送中断。第二中断控制器210被构造为,如果第二中断控制器210接收到中断,则操控处理器核204从存储器122中的所述寄存器读取上下文信息。

在这种情况下,微处理器106可以被构造为由所述微处理器根据所述上下文信息来执行分析,以识别所述计算机网络中网络流量中的攻击模式。

这里描述的流程是示例性流程。对于功能,例如是首先通过其他硬件过滤器114然后通过地址转换单元110还是首先通过地址转换单元110然后通过其他硬件过滤器114是没有区别的。这适用于所示流程中提到的所有其他组件。

三态内容可寻址存储器108可以被构造用于检查有效载荷,即用于检查超出第2层和第3层的内容。在该方面中也可以过滤有效载荷。

图3示出了用于识别攻击的方法中的步骤。

在步骤302中,在端口120处接收以太网数据分组200。然后执行步骤304。

在步骤304中,确定以太网数据分组200的分组结构或分组长度。然后执行步骤306。

在步骤306中,检查所述分组结构与额定结构是否存在偏差或分组长度与额定长度是否存在偏差。例如,检查在所述分组结构方面是否存在不规则性。

如果与额定结构存在偏差,则执行步骤308。如果不存在偏差,则执行步骤310。

在步骤308中,将以太网数据分组200发送到微处理器106。然后执行步骤310。

在步骤310中,确定以太网数据分组200的校验和。然后执行步骤312。

在步骤312中,检查所述校验和与额定校验和是否存在偏差。例如,检查在所述校验和方面是否存在不规则性。

如果与额定校验和存在偏差,则执行步骤314。如果不存在偏差,则执行步骤316。

在步骤314中,将以太网数据分组200发送到微处理器106。然后执行步骤316。

在步骤316中,确定以太网数据分组200的实际硬件地址。然后执行步骤318。

在步骤318中,检查所述实际硬件地址是否已知,特别是是否与来自存储器122的硬件地址一致。例如,检查是否存在已知的介质访问控制地址。

如果特别是与来自所述存储器的每个已知硬件地址存在偏差,则执行步骤320。如果不存在这种偏差,特别是如果所述实际硬件地址是已知的,则执行步骤322。

在步骤320中,将以太网数据分组200发送到微处理器106。然后执行步骤322。

在步骤322中,确定表征虚拟局域网的实际值。然后执行步骤324。

在步骤324中,检查所述实际值是否对应于表征以下虚拟局域网的额定值,允许在借助于所述实际硬件地址确定的端口120处将以太网数据分组200发送到该虚拟局域网中。特别地,检查与来自存储器122的额定值是否一致。

如果实际值与额定值之间存在偏差,则执行步骤326。如果不存在这种偏差,则执行步骤328。

在步骤326中,将以太网数据分组200发送到微处理器106。然后执行步骤328。

在步骤328中,可选地确定其他实际值,以利用所描述的其他硬件过滤器之一进行分析。

例如,在输入端或输出端处针对标记虚拟逻辑区域网确定未标记虚拟逻辑区域网以太网数据分组200,或者针对未标记虚拟逻辑区域网确定标记虚拟逻辑区域网以太网数据分组200。

例如,在输入端或输出端处确定用于具有动态主机配置协议端口67和/或端口68的互联网协议版本4和/或互联网协议版本6的动态主机配置协议分组。例如,在输入端或输出端处确定用于互联网协议版本4和/或用于互联网协议版本6的传输控制协议或用户数据报协议广播消息。例如,在输入端或输出端处确定精确时间协议消息,其中将所述精确时间协议消息的内容,特别是时间戳、序列号、校正字段,至少部分地存储在用于上下文信息的寄存器中。

然后执行步骤330。

在步骤330中,检查所述其他实际值是否与所述其他实际值的其他额定值之间存在偏差。如果存在偏差,则执行步骤332。否则,执行步骤334。

在步骤332中,将以太网数据分组200发送到微处理器106。然后执行步骤334。

在步骤334中,将以太网数据分组200的所配置的实际值与为此配置的存储在三态内容可寻址存储器中的掩码进行比较。然后执行步骤336。

在步骤336中,根据所述比较的结果确定是否与所述掩码存在偏差。如果存在偏差,则执行步骤338。如果不存在偏差,则执行步骤340。

在步骤338中,将以太网数据分组200发送到微处理器106。然后执行步骤340。

在步骤340中,在所述输出端处发送以太网数据分组200。

与此并行地,在微处理器106中运行一种方法,在该方法中,在该方法开始之后在步骤350中检查微处理器106是否接收到以太网数据分组200。

如果接收到以太网数据分组200,则执行步骤352。否则,执行步骤350。

在步骤352中,根据来自以太网数据分组200的信息来分析以太网数据分组200,以识别计算机网络中的网络流量中的攻击模式。然后执行步骤354。

在步骤354中,根据来自以太网数据分组200的信息执行无状态入侵检测。然后执行步骤356。

在步骤356中,存储无状态入侵检测的分析结果。然后执行步骤358。

在步骤358中,根据关于存储的分析结果的信息来执行有状态入侵检测。然后执行步骤360。

在步骤360中,检查是否已经发送了以太网数据分组200。如果已经发送了以太网数据分组200,则该方法结束。否则,执行步骤350。

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