本公开涉及自动车辆技术的技术领域,并且尤其涉及一种入侵监控系统、入侵监控方法及相关产品。
背景技术:
车辆中的电子设备的数量和类型与日俱增。现代汽车可能支持各种不同的总线技术,诸如控制器局域网(can)总线技术、以太网技术等。现代汽车将具有分别与交换机的can和以太网端口连接的若干控制器局域网(can)电子控制单元(ecu)以及以太网设备。ecu也可以称为车载计算机,其通常负责现代汽车的正常运行。以太网设备可以是,例如,电信单元(tcu)、车载诊断器(obd)、车载信息娱乐系统(ivi)或诸如此类。
图1是相关技术中的交换机的示意性结构图。如图1中所示出的,实线示出了can连接,包括ecu之间的连接以及ecu与交换机之间的连接;虚线示出了以太网连接,包括以太网设备之间的连接以及以太网设备与交换机之间的连接。经由can总线彼此连接的canecu形成can,其中ecu之间的通信经由can帧进行。因此,can内部的数据流量包含在can帧中。与交换机的端口连接的以太网设备形成以太网网络,其中以太网设备之间的通信通过互联网协议(ip)数据包进行。因此,以太网网络内部的数据流量包含在ip数据包中。
现代汽车可能具有多于一个交换机经由以太网电缆彼此连接。每个交换机可能具有不同的canecu和以太网设备与其连接。也有可能没有以太网设备或canecu连接到交换机。如图2中所示出的,以与图1a相同的方式表示can连接和以太网连接,以太网设备和canecu可以根据其自身的功能与不同的交换机连接。例如,tcu端口、obd端口和ivi端口可能是处于现代汽车前部的交换机的部分,而充电端口可能位于现代汽车后部的交换机处。
提供该背景信息以揭示申请人认为与本公开内容可能相关的信息。而无意图承认也不应解释为承认任何前述信息构成了针对本公开的现有技术。
技术实现要素:
本公开的实施例提供了一种入侵监控系统、入侵监控方法及相关产品。
通过独立权利要求的主题实现前述和其它目的。根据从属权利要求、说明书和附图,其他一些实施形式是显而易见的。
本公开的第一方面涉及一种入侵监控系统,包括:部署在第一网络中的第一监控组件、部署在第二网络中的第二监控组件、以及第一控制组件;第一监控组件和第二监控组件二者均与第一控制组件连接;第一监控组件配置为获得关于系统中的数据流量的第一报告信息,并向第一控制组件发送第一报告信息,其中,系统中的数据流量是从第一网络到第二网络的;第二监控组件配置为获得关于所述数据流量的第二报告信息,并向第一控制组件发送第二报告信息;并且第一控制组件配置为接收来自第一监控组件的第一报告信息和来自第二监控组件的第二报告信息,并且根据第一报告信息和第二报告信息确定所述数据流量是否为攻击。
根据本公开的实施例,第一监控组件获得关于系统中的数据流量的第一报告信息,并向第一控制组件发送第一报告信息,第二监控组件配置为获得关于所述数据流量的第二报告信息,并向第一控制组件发送第二报告信息,第一控制组件接收来自第一监控组件的第一报告信息和来自第二监控组件的第二报告信息,并且根据第一报告信息和第二报告信息确定该数据流量是否为攻击。得益于由第一监控组件、第二监控组件和第一控制组件形成的分层结构,第一监控组件和第二监控组件分别获得第一报告信息和第二报告信息,并且第一控制组件基于由第一监控组件获得的第一报告信息和由第二监控组件获得的第二报告信息确定所述数据流量是否是攻击,从而通过对接收的报告信息进行全局分析而将这两个组件关联在一起,因而使得可以监控从一个网络传送到另一网络的流量,诸如基于ip的can流量或基于can的ip流量。
关于获得第一报告信息的方式,在一种可能的实施方式中,第一报告信息可以以直接方式获得,例如由第一监控组件根据从其通过的数据流量生成。在另一可能的实施方式中,第一监控组件可以以间接方式获得第一报告信息,例如,第一监控组件可以通过分析其它组件报告的信息而生成第一报告信息。上述两种方式将在实施例的详细描述中详尽阐述。相同的原理也适用于获得第二报告信息的方式。
在根据第一方面的系统的可能的实施形式中,入侵监控系统包括车辆。
在根据第一方面的系统的可能的实施形式中,第一监控组件、第二监控组件和第一控制组件都在相同的交换机中。在这种情况下,入侵检测系统实际上可以实现为特定设备内部的系统,即,第一监控组件、第二监控组件和第一控制组件可以在一个设备内部实施。
在根据第一方面的系统的可能的实施形式中,其中,所述第一监控组件具体配置为处理第一网络中的数据流量以生成第一报告信息,向第一控制组件发送第一报告信息,并且处理的数据流量去往第二网络;第二网络中的第二监控组件配置为接收由第一监控组件处理的数据流量,处理所述处理的数据流量以生成第二报告信息,并向第一控制组件发送第二报告信息;并且第一控制组件具体配置为接收来自第一监控组件的第一报告信息和来自第二监控组件的第二报告信息,并且根据第一报告信息和第二报告信息确定所述数据流量是否为攻击。
根据本公开的实施例,第一控制组件从两个监控组件都接收报告信息,从而通过对接收的报告信息执行全局分析而将两个组件关联在一起,因而使得可以监控从一个网络传送到另一网络的流量,诸如基于ip的can流量或基于can的ip流量。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件包括入侵检测系统ids,并且部署在第一交换组件上。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二监控组件包括入侵检测系统ids,并且部署在第二交换组件上。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件包括第一交换组件以及包括入侵检测系统ids的第一检测设备,第一交换组件与第一检测设备连接,第一检测设备与第一控制组件连接;第一检测设备配置为生成第一报告信息,并且第一交换组件配置为处理数据流量。实际上,第一监控组件被实施为两个设备,其中一个可以被实施为负责处理数据流量的网关,而另一个可以是与该网关连接并负责生成第一报告信息的设备。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,所述第二监控组件包括第二交换组件以及部署有入侵检测系统ids的第二检测设备,第二交换组件与第二检测设备连接,并且第二检测设备与第一监控组件连接;第二检测设备配置为生成第二报告信息,并且第二交换组件配置为处理所述处理的数据流量。实际上,第二监控组件被实施为两个设备,其中一个可以被实施为负责处理数据流量的消息转换器,而另一个可以是与消息转换器连接并负责生成第二报告信息的设备。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件和第二监控组件部署在相同的交换机中。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件包括入侵检测系统ids,并且与第一监控组件和第二监控组件分开地部署在该交换机内部。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件包括入侵检测系统ids并且部署在该交换机外部。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件包括入侵检测系统ids并且部署在第一交换机中,第二监控组件包括ids且部署在第二交换机中,并且第一控制组件包括入侵检测系统ids且部署在第一交换机和第二交换机的外部。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件进一步配置为监控第一监控组件的工作状态和第二监控组件的工作状态。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件经由第一类型连接与第一控制组件连接,并且第二监控组件经由第二类型连接与第一控制组件连接。
在根据第一方面的系统的可能的实施形式中,其中,入侵监控系统进一步包括与第一监控组件连接的第三监控组件;其中,第一监控组件部署在第一交换机中,第三监控组件部署在第二交换机中;其中,第三监控组件配置为生成第三报告信息,并向第一监控组件发送第三报告信息;并且第一监控组件具体配置为根据第三报告信息获得第一报告信息,并向第一控制组件发送第一报告信息。
根据本公开的实施例,第三监控组件、第一监控组件和第一控制组件形成分层结构,其中,第一监控组件分析第三监控组件报告的信息,并且第一控制组件进一步分析第一监控组件报告的信息,从而使得可以检测到其相应网络中的高级攻击,而这些攻击是该网络中的各个第三监控组件将无法检测到的,从而提高了入侵检测的准确性。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,所述系统进一步包括第四监控组件,与第二监控组件连接,并部署在第二网络中;其中,第二监控组件部署在第一交换机中,并且第四监控组件部署在第二交换机中;其中,第四监控组件配置为生成第四报告信息,并向第一监控组件发送第四报告信息;并且,第二监控组件具体配置为根据第四报告信息获得第二报告信息,并向第一控制组件发送第二报告信息。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二监控组件进一步配置为监控第四监控组件的工作状态。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二监控组件包括入侵检测系统ids,并且第四监控组件包括ids。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件进一步配置为监控第一监控组件的工作状态,并且第一监控组件进一步配置为监控第三监控组件的工作状态。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件包括入侵检测系统ids,第三监控组件包括ids,并且第一控制组件包括ids。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件部署在以下位置中的任一个处:第一交换机内部、第二交换机内部或第一交换机和第二交换机外部。
在根据第一方面的系统的可能的实施形式中,其中,所述入侵监控系统进一步包括与第一控制组件连接的第二控制组件;其中,第一控制组件具体配置为分析第一报告信息和第二报告信息,以生成组合的报告信息,并根据组合的报告信息确定所述数据流量是否为攻击;第一控制组件进一步配置为向第二控制组件发送组合的报告信息;并且第二控制组件配置为接收来自第一控制组件的组合的报告信息,并对组合的报告信息进行分析。
第一控制组件生成的组合的报告信息被发送到具有更丰富的关于攻击的信息的第二控制组件,从而进一步提高了入侵检测的准确性。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件具体配置为响应于确定数据流量不是攻击而向第二控制组件发送组合的报告信息;并且第二控制组件配置为分析组合的报告信息和来自其它车辆的报告信息,以确定所述数据流量是否为新攻击。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二控制组件进一步配置为监控第一控制组件的工作状态。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二控制组件进一步配置为响应于确定所述数据流量是新攻击而生成警报。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第二控制组件进一步配置为响应于确定所述数据流量是新攻击而向第一控制组件通知更新数据,其中,更新数据指示处理新攻击的策略;第一控制组件进一步配置为根据更新数据执行更新操作。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件进一步配置为向第一监控组件和第二监控组件通知更新数据,其中,更新数据指示用于处理新攻击的策略;第一监控组件进一步配置为根据更新数据执行更新操作,并且第二监控组件进一步配置为根据更新数据执行更新操作。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或通知新训练的模型以检测新攻击。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一控制组件进一步配置为响应于确定所述数据流量是攻击而执行预防操作。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一监控组件是控制器局域网can入侵检测系统ids组件,并且第二网络是以太网ids组件;或者,第一监控组件为以太网ids组件,并且第二监控组件为canids组件。
在根据第一方面或其任何实施方式的系统的可能的实施形式中,其中,第一网络是控制器局域网can,并且第二网络是以太网。
本公开的第二方面涉及一种入侵监控方法,包括:
第一控制组件接收来自第一监控组件的关于数据流量的第一报告信息,其中,数据流量从其中部署第一监控组件的第一网络到第二网络;第一控制组件接收来自第二监控组件的关于所述数据流量的第二报告信息,其中,第二监控组件部署在第二网络中;以及第一控制组件根据第一报告信息和第二报告信息确定系统中的所述数据流量是否为攻击。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,第一报告信息是根据从第三监控组件向第一监控组件发送的第三报告信息获得的。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,第二报告信息是根据从第四监控组件向第二监控组件发送的第四报告信息获得的。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,第一控制组件根据第一报告信息和第二报告信息确定系统中的所述数据流量是否为攻击,包括:第一控制组件分析来自第一监控组件的第一报告信息和来自第二监控组件的第二报告信息,以生成组合的报告信息;以及,第一控制组件根据组合的报告信息确定所述数据流量是否为攻击。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件响应于确定所述数据流量不是攻击而向第二控制组件发送组合的报告信息;第一控制组件接收来自第二控制组件的更新数据,其中,更新数据指示用于处理新攻击的策略;第一控制组件根据更新数据执行更新操作;以及,第一控制组件向第一监控组件和第二监控组件发送更新数据。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或通知新训练的模型以检测新攻击。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件响应于确定所述数据流量是攻击而执行预防操作。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中其中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。
在根据第二方面或其任何实施方式的入侵监控方法的可能的实施形式中其中,第一监控组件是控制器局域网can入侵检测系统ids组件,并且第二监控组件是以太网ids组件;或者,第一监控组件为以太网ids组件,并且第二监控组件为canids组件。
本公开的第三方面涉及一种入侵监控方法,包括:第二控制组件接收来自第一控制组件的组合的报告信息,其中,组合的报告信息是由第一控制组件通过分析来自第一监控组件的关于数据流量第一报告信息和来自第二监控组件的关于所述数据流量的第二报告信息而获得的,其中,所述数据流量是从其中部署第一监控组件的第一网络到其中部署第二监控组件的第二网络的;以及,第二控制组件分析组合的报告信息。
在根据第三方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,组合的报告信息由第一控制组件在确定所述数据流量不是攻击时获得;第二控制组件分析组合的报告信息,包括:第二控制组件分析组合的报告信息和来自其它车辆的报告信息,以确定所述数据流量是否为新攻击。
在根据第三方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,所述方法进一步包括:第二控制组件响应于确定所述数据流量为新攻击而向第一控制组件通知更新数据,其中,更新数据指示处理新攻击的策略。
本公开的第四方面涉及一种入侵监控方法,包括:第一监控组件获得来自第一网络的关于数据流量的第一报告信息,其中第一监控组件部署到第二网络;以及,第一监控组件向第一控制组件发送第一报告信息。
在根据第四方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,第一监控组件获得来自第一网络的关于数据流量的第一报告信息,其中第一监控组件部署到第二网络,包括:第一监控组件接收来自第三监控组件的第三报告信息;以及,第一监控组件分析来自第三监控组件的第三报告信息以生成第一报告信息。
在根据第四方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,所述方法进一步包括:第一监控组件接收来自第一控制组件的更新数据,其中,更新数据指示用于处理新攻击的策略;以及,第一监控组件根据更新数据执行更新操作。
在根据第四方面或其任何实施方式的入侵监控方法的可能的实施形式中,其中,所述方法进一步包括:
第一监控组件向第三监控组件发送更新数据。
本公开的第五方面涉及第一控制组件,配置为执行上述第二方面或第二方面的任何可能的实施方式中的方法。
本公开的第六方面涉及第二控制组件,配置为执行上述第三方面或第三方面的任何可能的实施方式中的方法。
本公开的第七方面涉及第一监控组件,配置为执行上述第四方面或第四方面的任何可能的实施方式中的方法。
本公开的八方面涉及第一控制组件,包括存储器、处理器、输入接口和输出接口。存储器、处理器、输入接口和输出接口通过总线系统连接。存储器配置为存储指令,并且处理器配置为执行存储器中存储的指令,以执行上述第二方面或第二方面的任何可能的实施方式中的方法。
本公开的第九方面涉及第二控制组件,包括存储器、处理器、输入接口和输出接口。存储器、处理器、输入接口和输出接口通过总线系统连接。存储器被配置为存储指令,并且处理器配置为执行存储器中存储的指令,以执行上述第三方面或第三方面的任何可能的实施方式中的方法。
本公开的第十方面涉及第一监控组件,包括存储器、处理器、输入接口和输出接口。存储器、处理器、输入接口和输出接口通过总线系统连接。存储器被配置为存储指令,并且处理器被配置为执行存储器中存储的指令,以执行上述第四方面或第四方面的任何可能的实施方式中的方法。
本公开的第十一方面涉及一种存储计算机可执行指令的计算机存储介质,所述计算机可执行指令在被执行时实现上述第二、第三和第四方面或其任何可能的实施方式中的方法。
本公开的第十二方面涉及一种车辆,包括根据上述第一方面或第一方面的任何可能的实施方式的入侵监控系统。
本公开的第十三方面涉及一种计算机程序产品被提供,包括指令,当所述指令在计算机上执行时使计算机执行上述实施例中的方法。
本公开的第十四方面涉及一种入侵监控系统,包括:部署在控制器局域网can中的第一监控组件、部署在以太网网络中的第二监控组件、以及第一控制组件;第一监控组件和第二监控组件二者均与第一控制组件连接;第一监控组件配置为获得关于系统中的数据流量的第一can报告信息,并向第一控制组件发送第一can报告信息,其中,系统中的所述数据流量是从can到以太网网络的,或从以太网网络到can的;第二监控组件配置为获得关于所述数据流量的第二以太网报告信息,并向第一控制组件发送第二以太网报告信息;并且,第一控制组件配置为接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息,并且根据第一can报告信息和第二以太网报告信息确定所述数据流量是否为攻击。
关于获得第一can报告信息的方式,在一个实施方式中,第一can报告信息可以以直接方式获得,例如,由第一监控组件根据从其通过的数据流量生成。在另一可能的实施方式中,第一监控组件可以以间接方式获得第一can报告信息,例如,第一监控组件可以通过分析其它组件报告的信息生成第一can报告信息。相同的原理也适用于获得第二报告信息的方式。
关于第一监控组件的实施方式,它可以被实施为部署在交换机上的软件组件,例如部署在网关(例如,can/ip网关)上的软件组件;或,第一监控组件可以实施为与网关连接的交换机内部的网络入侵检测系统(nids)设备,使得其可以接收can流量;或,第一监控组件可以被实施为附接到交换机的外部端口的nids设备。应当理解的是,第一监控组件可以是任何其它设备,只要其完成上述功能。
关于第二监控组件的实施方式,它可以被实施为部署在交换机上的软件组件,例如部署在消息转换器(例如,can/ip消息转换器)上的软件组件;或,第二监控组件可以实施为与消息转换器连接的交换机内部的网络入侵检测系统(nids)设备,使得其可以接收以太网流量;或,第二监控组件可以被实施为附接到交换机的外部端口的nids设备。应当理解的是,第二监控组件可以是任何其它设备,只要其完成上述功能。
关于第一控制组件的实施方式,它可以被实施为部署在包括第一监控组件和第二监控组件的交换机内部的软件组件;或者,它可以实施为专用硬件设备,该专用硬件设备附接到交换机的外部端口或在交换机内部;或者,它可以被实施为部署在连接到交换机的任何域控制器设备上的软件或硬件。
在根据第十四方面的入侵监控系统的可能的实施形式中,其中,系统中的数据流量是从can到以太网网络的;第一监控组件配置为处理所述数据流量以生成第一can报告信息,向第一控制组件发送第一can报告信息,并向第二监控组件传送处理的数据流量;第二监控组件配置为接收来自第一监控网络的处理的数据流量,处理所述处理的数据流量以生成第二以太网报告信息,并向第一控制组件发送第二以太网报告信息;并且第一控制组件配置为接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息,并且根据第一can报告信息和第二以太网报告信息确定所述数据流量是否为攻击。
在根据第十四方面的入侵监控系统的可能的实施形式中,其中,系统中的数据流量是从以太网网络到can的;第二监控组件配置为处理所述数据流量以生成第二以太网报告信息,并向第一控制组件发送第二以太网报告信息,并向第一监控组件传送处理的数据流量;第一监控组件具体配置为接收来自第二监控网络的处理的数据流量,处理所述处理的数据流量以生成第一can报告信息,并向第一控制组件发送第一can报告信息;并且,第一控制组件配置为接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息,并且根据第一can报告信息和第二以太网报告信息确定数据流量是否为攻击。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一监控组件和第二监控组件部署在相同的交换机中,第一控制组件包括入侵检测系统ids,并且与第一监控组件和第二监控组件分开地部署在该交换机内部。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一控制组件进一步配置为监控第一监控组件的工作状态和第二监控组件的工作状态。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,所述系统进一步包括第三监控组件,与第一监控组件连接并部署在can中;其中,第一监控组件部署在第一交换机中,并且第三监控组件部署在第二交换机中;其中,第三监控组件配置为生成第三can报告信息,并向第一监控组件发送第三can报告信息;并且第一监控组件具体配置为根据第三can报告信息获得第一can报告信息,并向第一控制组件发送第一can报告信息。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一控制组件进一步配置为监控第一监控组件的工作状态,并且第一监控组件进一步配置为监述第三监控组件的工作状态。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,所述系统进一步包括第四监控组件,与第二监控组件连接并部署在以太网网络中;其中,第二监控组件部署在第一交换机中,并且第四监控组件部署在第二交换机中;其中,第四监控组件配置为生成第四以太网报告信息,并向第一监控组件发送第四以太网报告信息;并且第二监控组件具体配置为根据第四以太网报告信息获得第二以太网报告信息,并向第一控制组件发送第二以太网报告信息。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一控制组件进一步配置为监控第二监控组件的工作状态,并且第二监控组件进一步配置为监控第四监控组件的工作状态。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一控制组件进一步配置为向第一监控组件和第二监控组件通知更新数据,其中,更新数据指示用于处理新攻击的策略;第一监控组件进一步配置为接收来自第一控制组件的更新数据,并根据更新数据执行更新操作,并且第二监控组件进一步配置为接收来自第一控制组件的更新数据,并根据更新数据执行更新操作。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,第一控制组件进一步配置为响应于确定数据流量是攻击而执行预防操作。
在根据第十四方面或其任何实施方式的入侵监控系统的可能的实施形式中,其中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。
本公开的第十五方面涉及一种入侵监控方法,应用于一种入侵监控系统,所述入侵监控系统包括:部署在控制器局域网can中的第一监控组件、部署在以太网网络中的第二监控组件、以及第一控制组件;第一监控组件和第二监控组件二者均与第一控制组件连接,其中所述方法包括:第一监控组件获得关于系统中的数据流量的第一can报告信息并向第一控制组件发送,其中,系统中的数据流量是从can到以太网网络的,或从以太网网络到can的;第二监控组件获得关于所述数据流量的第二以太网报告信息并向第一控制组件发送;以及,第一控制组件接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息;以及第一控制组件根据第一can报告信息和第二以太网报告信息确定所述数据流量是否为攻击。
在根据第十五方面的入侵监控方法的可能的实施形式中,其中,系统中的数据流量是从can到以太网网络的;所述方法包括:第一监控组件处理所述数据流量以生成第一can报告信息;第一监控组件向第一控制组件发送第一can报告信息,并且第一监控组件向第二监控组件传送处理的数据流量;第二监控组件接收来自第一监控网络的处理的数据流量;第二监控组件处理所述处理的数据流量,以生成第二以太网报告信息;第二监控组件向第一控制组件发送第二以太网报告信息;第一控制组件接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息;以及,第一控制组件根据第一can报告信息和第二以太网报告信息确定所述数据流量是否为攻击。
在根据第十五方面的入侵监控方法的可能的实施形式中,其中,系统中的数据流量是从以太网网络到can的;所述方法包括:第二监控组件处理所述数据流量,以生成第二以太网报告信息;第二监控组件向第一控制组件发送第二以太网报告信息,并且第二监控组件向第一监控组件传送处理的数据流量;第一监控组件接收来自第二监控网络的处理的数据流量;第一监控组件处理所述处理的数据流量以生成第一can报告信息;第一监控组件向第一控制组件发送第一can报告信息;第一控制组件接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息;以及,第一控制组件根据第一can报告信息和第二以太网报告信息确定所述数据流量是否为攻击。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件监控第一监控组件的工作状态和第二监控组件的工作状态。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第三监控组件生成第三can报告信息,其中,第三监控组件与第一监控组件连接并部署在can中,第一监控组件部署在第一交换机中,并且第三监控组件部署在第二交换机中;第三监控组件向第一监控组件发送第三can报告信息;第一监控组件根据第三can报告信息获得第一can报告信息;以及,第一监控组件向第一控制组件发送第一can报告信息。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件监控第一监控组件的工作状态,以及第一监控组件监控第三监控组件的工作状态。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第四监控组件生成第四以太网报告信息,其中,第四监控组件与第二监控组件连接并部署在以太网网络中,第二监控组件部署在第一交换机中,并且第四监控组件部署在第二交换机中;第四监控组件向第一监控组件发送第四以太网报告信息;第二监控组件根据第四以太网报告信息获得第二以太网报告信息;第二监控组件向第一控制组件发送第二以太网报告信息。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件监控第二监控组件的工作状态,以及第二监控组件监控第四监控组件的工作状态。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件向第一监控组件和第二监控组件通知更新数据,其中,更新数据指示用于处理新攻击的策略;第一监控组件接收来自第一控制组件的更新数据,并且第一监控组件根据更新数据执行更新操作;以及,第二监控组件接收来自第一控制组件的更新数据,并且第二监控组件根据更新数据执行更新操作。
在根据第十五方面或其任何实施方式的入侵监控方法的可能的实施形式中,所述方法进一步包括:第一控制组件响应于确定所述数据流量是攻击而执行预防操作。
本公开的第十六方面涉及一种入侵监控系统,包括:部署在控制器局域网can中的第一监控组件、部署在以太网网络中的第二监控组件、以及第一控制组件;第一监控组件和第二监控组件二者均与第一控制组件连接;第一监控组件包括第一处理器和用于存储能够在第一处理器上运行的第一计算机程序的第一存储器,其中,当第一计算机程序被运行时,第一处理器配置为执行第十五方面或其任何实施方式中第一监控组件执行的步骤;第二监控组件包括第二处理器和用于存储能够在所述第二处理器上运行的第二计算机程序的第二存储器,其中,当第二计算机程序被运行时,第二处理器配置为执行第十五方面或其任何实施方式中第二监控组件执行的步骤;并且,第一控制组件包括第三处理器和用于存储能够在所述第三处理器上运行的第三计算机程序的第三存储器,其中,当第三计算机程序被运行时,第三处理器配置为执行第十五方面或其任何实施方式中第一控制组件执行的步骤。
在根据第十六方面的入侵监控方法的可能的实施形式中,第三处理器和第一处理器被实施为一个处理器。在这种情况下,可选地,第三存储器和第一存储器可以或可以不被实施为一个存储器。
在根据第十六方面的入侵监控方法的可能的实施形式中,第三处理器和第二处理器被实施为一个处理器。在这种情况下,可选地,第三存储器和第二存储器可以或可以不被实施为一个存储器。
在根据第十六方面的入侵监控方法的可能的实施形式中,第一处理器、第二处理器和第三处理器被实施为一个处理器。在这种情况下,可选地,第一存储器、第二存储器和第三存储器可以或可以不被实施为一个存储器。
附图说明
图1是相关技术中的交换机的示意性结构图;
图2是相关技术中的另一交换机的示意性结构图;
图3是具有功能组件的交换机的示意性结构图;
图4是示出交换机中的长路径攻击的示意图;
图5是根据本公开的实施例的入侵检测系统的示意性结构图;
图6a是根据本公开的实施例的入侵检测系统的示意性结构图;
图6b是根据本公开的实施例的另一入侵检测系统的示意性结构图;
图7a是示出根据本公开的实施例的第一监控组件在交换机中的部署的示意性结构图;
图7b是示出根据本公开的实施例的第一监控组件在交换机中的再一种部署的示意性结构图;
图7c是示出根据本公开的实施例的第一监控组件在交换机中的再一种部署的示意性结构图;
图8a是示出根据本公开的实施例的第二监控组件在交换机中的部署的示意性结构图;
图8b是示出根据本公开的实施例的第二监控组件在交换机中的再一种部署的示意性结构图;
图8c是示出根据本公开的实施例的第二监控组件在交换机中的再一种部署的示意性结构图;
图9是示出根据本公开的实施例的第一控制组件的部署的示意性结构图;
图10是根据本公开的实施例的入侵检测系统的示意性结构图;
图11是根据本公开的实施例的入侵检测系统的示意性结构图;
图12是根据本公开的实施例的入侵检测方法的示意性流程图;
图13a和图13b示出了根据本公开的实施例的入侵检测方法的示意性流程图;
图14是根据本公开的实施例的第一控制组件的示意性框图;
图15是根据本公开的实施例的第二控制组件的示意性框图;
图16是根据本公开的实施例的第一监控组件的示意性框图;
图17是根据本公开的实施例的第二监控组件的示意性框图;并且
图18是根据本公开的实施例的第三监控组件的示意性框图。
具体实施方式
在以下描述中,参考了附图,这些附图形成了本公开的一部分,并且通过实例方式示出了本公开的实施例的特定方面或其中可以使用本公开的实施例的特定方面。应当理解的是,本公开的实施例可以在其它方面使用,并且包括附图中未示出的结构或逻辑改变。因此,以下详细描述不应被理解为限制性的,并且本公开的范围由所附权利要求限定。
在详尽阐述本公开之前,简要解释本文中可以使用的若干术语。
用户设备,也可以称为终端设备、终端站或用户装置,可以是以下设备中的任何一种:智能电话、移动电话、蜂窝电话、无绳电话、会话发起协议(sip)电话、无线本地环路(wll)站、个人数字助理(pda)、能够进行无线通信的手持设备、车载装置、可穿戴设备、计算设备或其它与无线调制解调器连接的处理设备。
本文的交换机可以表示在车载网络中提供交换和其它功能的任何智能设备,例如当前车载网络中的网关设备或具有不同专有名称和相似功能的任何其它此种设备。以太网设备,也称为外部通信组件,其示例包括tcu(电信单元)、obd(车载诊断)工具、ivi(车载信息娱乐系统)和任何其它此种以太网设备。
如相关技术中所描述的,can中的ecu经由can总线与交换机连接,并且以太网中的以太网设备经由以太网与交换机连接。可能有通过交换机的不同种类的流量,包括can到can流量、ip到ip流量、can到ip流量以及ip到can流量。can到can流量是指从can中的ecu到另一canecu的流量,而ip到ip流量是指从以太网设备到另一以太网设备的流量。
除了can网络内部的can到can流量以及以太网网络内部的ip到ip流量之外,还存在跨网络交换的消息:
a)从以太网到can(即,基于can的ip(ipovercan)流量),这种通信的示例是从obd端口向canecu发送的诊断消息/命令。
b)从can到以太网(即,基于ip的can(canoverip)流量),这种通信的示例是从canecu向ivi发送的消息,用于显示一些信息,例如充电状态、燃油水平等。
c)从一个交换机到另一交换机。这种通信的示例是从(与交换机1连接的)tcu发送的消息,该消息去往(与交换机2连接)canecu,例如,打开汽车后备箱。
因此,智能交换机(网关)不仅路由这些消息,还执行其它任务,例如can帧到ip数据包的转换,反之亦然。为此,它们在交换机内部有专用组件。例如,如图3中所示出的,在obd端口处接收的诊断消息是ip数据包,该消息发往canecu。该消息首先去往交换机内部的can/ip消息转换器。can/ip消息转换器将从obd端口处连接的obd工具接收的诊断请求转换为canecu可以理解的can命令。can/ip消息转换器可以是交换机网关内部的具有任何其它专有名称的专用硬件或软件组件。紧接着,带有转换的can命令的ip数据包将去往can/ip网关。can/ip网关将ip数据包转换为can帧。然后向can发送转换的can帧(参见图3)。从can到ip网络(也称为以太网)的can帧沿相反方向横穿,其中首先由can/ip网关将can帧转换为ip数据包,然后由can/ip消息转换器将can命令转换为外部通信组件可理解的内容。
车辆中安装的组件(诸如传感器、执行器、ecu、通信系统等)数量的增加使车辆从封闭系统变为开放系统,从而增加了网络攻击的攻击面,其中攻击者可以从外部访问和影响车辆。对汽车的攻击日益增加,因此有必要尽快检测对车辆的攻击。标准“iso/sae21434公路车辆-网络安全工程”强调车辆中具有网络安全事件响应,以处理网络安全事件并做出响应。unecewp.29的法规规定,必须具有从车辆数据和车辆日志分析和检测网络威胁、漏洞和网络攻击的能力。
能够分析、检测和报告通信网络中此类网络攻击的系统称为网络入侵检测系统(nids)。然而,当前的汽车通信网络默认不提供任何此种系统来分析、检测和报告网络攻击。汽车通信网络不具有检测网络流量中的异常(例如,具有伪造的mac地址的数据包、具有经过修改的有效载荷的数据包、拒绝服务(dos)攻击等)的能力。更重要的,为了使nids能够更准确、更有效地检测网络攻击,应将其部署在车辆中可以监控所有预期的进出车辆的流量的地方,以便能够检测各种攻击,特别是具有长攻击路径的攻击。
以前,can总线用于车辆内部的大多数通信。因此,大多数通信是can流量,而只有一种ids足以监控该流量,即canids。然而,现在现代汽车内部有不止一种总线技术,即can和以太网。现在,单个ids(can或以太网)可能无法同时监控can和ip流量。canids通常设计为分析can帧,并且可能无法检测以太网数据包中的异常,而以太网ids分析ip数据包,并且无法检测can帧中的异常。因此,需要具有不止一个ids;一个用于can流量分析的canids,另一个用于ip流量分析的以太网ids。
以前,车辆内部只有一个中央网关(交换机),其中几乎所有流量都通过一个网关。它使ids部署选择变得容易,即在网关上部署ids,其可以监控所有流量以进行异常检测。然而,现在现代汽车内部不止一个交换机。多个交换机为流量提供了多条路径,使得单点入侵监控变得困难。
现代车辆内的多种总线技术以及多个交换机,使can和以太网ids的设计和部署对于现代车辆而言是一项艰巨的任务。本公开背后的意图是用于现代车辆架构的can和以太网网络流量的ids的设计和部署策略,以检测can流量、以太网流量、基于ip的can流量以及基于can的ip流量攻击。
总之,现有的车载入侵检测技术解决方案可以归为以下几类:
a)canids:已经设计了几种ids来监控can流量。这些ids能够检测can流量中的攻击,诸如canecu模拟攻击、违反规范攻击、检测有效载荷异常、序列上下文异常和检测消息频率异常。它们能够使用canid、can帧有效载荷等分析can帧,以检测异常。
b)以太网ids:在以太网ids的设计和开发中仅进行了少量努力。以太网ids能够监控车辆内部基于ip的流量(即,由汽车以太网协议(诸如some/ip、doip、avb/tsn等)生成的ip数据包)。以太网ids使用数据包源/目的地址(mac和ip地址)以及端口、协议类型等来分析ip数据包。
canids只能检测can到can流量中的异常,而不能单独分析基于ip的can流量。类似地,以太网ids仅检测ip到ip流量中的异常,而不能单独分析基于can的ip流量。
然而,现有解决方案中可能存在几个问题。首先,车载网络结合了无法严格分离且相互影响的不同总线技术。canids足以分析和检测can帧中的异常,然而它不能检测基于源/目标地址和端口、协议类型等进行分析的ip数据包中的异常。同样,以太网ids足以分析和检测ip数据包异常,然而它无法分析can帧,因为这需要了解can帧格式。
如前述所提及的,除了can内部的can到can流量和以太网网络内部的ip到ip流量之外,还有跨网络交换的消息,即从ip网络到can(基于can的ip),从can到ip网络(基于ip的can)。
被以太网ids检测为正常数据包的来自外部组件(诸如obd、tcu或ivi)的基于can的ip数据包,可能由canids基于can帧数据、canid和/或频率检测为入侵。同样,由canids检测为正常的来自canecu的基于ip的can帧可能由以太网ids基于mac和/或ip地址、端口等检测为攻击。
如果can和以太网ids都在没有任何协作的情况下独立工作,则它们将无法检测具有长路径的攻击(例如,图4中所示的从ip横穿到can的攻击)或检测此类攻击的完整攻击路径。例如:
1.相同的数据包可能由以太网ids检测为正常数据包,但后来又由canids检测为攻击。例如,由附接到obd端口的诊断测试仪发送的诊断数据包,目的地为目标canecu。由于允许测试仪对该canecu执行诊断,因此以太网ids将基于ip报头将其检测为正常数据包。然而,由canids检查的can帧可能检测到测试仪尝试在canecu上运行的特定诊断功能在该canecu不被允许,或者该特定测试仪无权运行该特定诊断功能。
2.同样,相同的数据包可能由以太网ids检测为攻击消息,而由canids检测为正常can帧。例如,由canecu向ivi系统发送以显示诸如燃油水平等的信息的正常can消息可能会在途中(由受损组件)修改,将其目的地从ivi更改为obd端口,并且在没有任何正在进行的诊断会话的情况下,将被以太网ids检测为攻击。3.类似地,由于根ids具有can网络和以太网网络的完整上下文以及每个数据包的完整路径,因此使用此附加信息还可以帮助根ids检测新攻击,例如隔离工作的can和以太网ids可能无法检测到的零日攻击。根ids可以部署在具有更多计算/存储资源的功能强大的车辆组件上,使其能够使用复杂的入侵分析技术(例如人工智能)来检测那些单独的can和以太网ids所使用的轻量级技术可能无法检测到的攻击。此外,在can总线上检测的攻击可能指示对以太网网络的可能的攻击,反之亦然。例如,can总线上的dos攻击可能指示对以太网网络的可能的dos攻击。这再次需要两个ids之间的协作。因此,can和以太网ids需要协同工作以检测具有较长攻击路径的攻击以及对不同网络的攻击。另一问题是部署两个ids车载网络,使得它们可以访问所有对应的流量,即canids可以监控所有can流量,而以太网ids可以监控所有ip流量。
一种可能性是将两个ids部署在外部组件(tcu、obd、ivi)和图3中所示出的can/ip消息转换器之间的某个位置处。然而,在这个点部署的canids将无法看到can帧,因此将无法检测到can流量异常。第二种选择是将两个ids都部署在can和can/ip网关之间的某个位置处。然而,在这个点的以太网ids将无法看到ip帧,因此将无法检测ip流量异常。因此,在车辆内部部署两个ids时需要特别注意,以便能够监控can流量、以太网流量、基于ip的can流量和基于can的ip流量。
如前所述,在存在多个网关和跨网络的流量的情况下,现代车辆中的can和以太网ids的设计和部署是一项艰巨的任务。两个ids都应部署在它们可以获得各自数据流量的地方。两个ids以这样的方式工作,即它们不仅能够检测can和以太网流量中的异常,而且还能够检测基于ip的can流量和基于can的ip流量中的异常。
所提出的解决方案提供了车载can和以太网ids的设计和部署策略,使得:1)部署的ids组件能够监控所有can流量、以太网流量、基于ip的can流量和基于can的ip流量;2)设计的汽车ids不仅能够检测can和以太网流量中的异常,而且还可以检测基于ip的can中的异常以及是基于can的ip中的异常,特别是具有长路径的攻击和影响不止一个网络的攻击。本公开的目标尤其是使得车载ids能够:1)监控车辆内部的各种can和以太网流量,并且2)检测具有从一个网络横穿到另一网络的较长路径的攻击以及在多个网络上的相关攻击。为此,在本公开中提出了用于can和以太网ids组件的设计和部署策略。
如前所提及的,两个ids组件都部署在can中,以太网ids将无法看到来自/去往外部组件的基于ip的流量,并且因此将无法检测ip流量中的异常。同样,如果两个ids组件都部署在以太网网络中,则canids将无法看到来自/去往canecu的can流量,因此将无法检测到can流量中异常。为了处理这种情况,在本公开中提出了分布式ids部署方案。
此外,设计了用于车载网络的分层ids,其中根ids组件将与can和以太网ids组件协同工作,以从can和以太网ids组件获得日志信息,以便分析并检测具有长路径的攻击和在多个网络上的攻击。此外,根ids将向后端云ids报告,以进行新攻击检测。
以这种方式设计的分层ids不仅能够监控和分析can和以太网流量中可能的异常,而且还能检测到基于ip的can流量和基于can的ip流量中的具有长路径的can攻击以及导致对其它网路的可能攻击的对一个网络的攻击。其将进一步能够响应攻击。当检测到新攻击时,设计的ids也将能够更新车载ids。将车载ids分布式部署在多于一个交换机上,将有助于监控采用不同路由的流量,这是因为存在多于一个交换机,因此现代汽车中有多个路由可用。
根据所提出的解决方案,对于以上两种情况(在相同的数据包可能被以太网ids检测为正常数据包但之后被canids检测为攻击的情况,以及相同的数据包可能被以太网ids检测为攻击消息而被canids检测为正常can帧的情况),得益于引入根ids,对整个攻击路径的了解可能有助于在攻击路径上强制采取必要的安全措施以阻止该路径用于将来的攻击,从而使攻击者更难再次利用这些攻击路径。
此外,对于最后一种可能无法通过隔离工作的can和以太网ids检测新攻击的情况,当前的云ids有助于查找未被各个ids检测到的新攻击,诸如零日攻击。在所提出的解决方案中,根ids可以检测这些攻击,这是因为1)它通过获得ids的日志/报告信息而获得can和以太网网络的上下文资料;2)另外,根ids知道数据包的完整路径,而单个ids仅看到其各自网络中的路径;3)更进一步地,由于根ids只是一个组件,因此根ids可以部署在具有更多计算/存储资源的功能强大的车辆组件上,这使其能够使用复杂的入侵分析技术(例如人工智能)检测那些单独的can和以太网ids所使用的轻量级技术可能无法检测的攻击。
图5是根据本公开的实施例的入侵检测系统的示意性结构图。系统500可以被应用在车辆中并且可以包括三个组件:第一控制组件501、第一监控组件502和第二监控组件503。
第一监控组件502部署在can中,并且第二监控组件503部署在以太网网络中;第一监控组件502和第二监控组件503二者均与第一控制组件501连接。
第一监控组件502配置为获得关于系统中的数据流量的第一can报告信息,并向第一控制组件502发送第一can报告信息;第二监控组件503配置为获得关于该数据流量的第二以太网报告信息,并向第一控制组件501发送第二以太网报告信息;并且第一控制组件501配置为接收来自第一监控组件502的第一can报告信息和来自第二监控组件503的第二以太网报告信息,并且根据第一can报告信息和第二以太网报告信息确定数据流量是否为攻击。
本文中的车辆可以支持不同种类的总线技术,例如,can总线技术和以太网技术,下面将参照这两种总线技术进行描述,然而相同的原理适用于其它种类的总线技术。
can和以太网网络中的每个可以是can或以太网。在一种可能的实施方式中,第一监控组件因此可以是canids,并且第二监控组件可以是以太网ids。
本文的数据流量是指系统中的数据流量。如前所述,以车辆支持can总线技术和以太网技术为例,数据流量可以是can到ip流量(在数据流量是从can到以太网网络的情况下),或者ip到can流量(在数据流量是从以太网网络到can的情况下)。另外,数据流量可以通过第一监控组件/第二监控组件,或者可以不通过第一监控组件/第二监控组件,这取决于不同的应用场景和不同层次结构,本公开对此不做限定。应当指出的是,本公开的解决方案在两种情况下(can到ip流量或ip到can流量)都适用。即,以数据流量是从can到以太网网络为例进行的贯穿整个说明书的描述,同样适用于数据流量从以太网网络到can的情况。在两种情况下,每个组件的操作原理相似,为简洁起见,可能省略详细描述。
本文中的第一can报告信息反映系统中数据流量的can属性,其可以被获得或者由第一监控组件502以直接方式或间接方式获得。关于第一can报告信息的内容,其可以是数据流量的异常日志信息,诸如数据包的发送者、数据包的频率等。关于获得第一can报告信息的方式,在一个实施方式中,第一can报告信息可以以直接方式获得,例如,由第一监控组件502根据从其通过的数据流量生成。在另一可能的实施方式中,第一监控组件502可以以间接方式获得第一can报告信息,例如,第一监控组件502可以通过分析其它组件报告的信息而生成第一can报告信息。以下将对上述两种方式进行详尽阐述。
类似地,本文中的第二以太网报告信息反映系统中数据流量的以太网属性,其可以被获得或由第二监控组件503以直接方式或间接方式获得。关于第二以太网报告信息的内容,其可以是数据流量的异常日志信息,诸如数据包的发送者、数据包的频率等。关于获得第二以太网报告信息的方式,在一个实施方式中,第二以太网报告信息可以以直接方式获得,例如,由第二监控组件503根据从其通过的数据流量生成。在另一可能的实施方式中,第二监控组件503可以以间接方式获得第二以太网报告信息,例如,第二监控组件503可以通过分析其它组件报告的信息而生成第二以太网报告信息。
在上述间接方式中,第一监控组件和第二监控组件充当主监控组件,它们从它们各自的从组件接收报告信息。在这种情况下,第一监控组件和第二监控组件也可以称为主监控组件。
第一控制组件501负责基于由第一监控组件502报告的第一can报告信息和由第二监控组件503报告的第二以太网报告信息监控入侵检测系统中的数据流量。第一控制组件实际上代替了第一监控组件和第二监控组件,以监控基于ip的can流量或基于can的ip流量。
应当指出的是,贯穿整个说明书,附图中的组件的数量仅是出于示例性目的,并且不应被解释为对本公开的限制。可能存在多于一个第一监控组件部署在不同交换机上,也可能存在多于一个第二监控组件部署在不同交换机上,在这种情况下,每个第一监控组件可以执行与第一监控组件502相同的操作,每个第二监控组件可以执行与第二监控组件503相同的操作,并且第一控制组件501可以综合分析从所有第一监控组件获得的第一can报告信息和从所有第一监控组件获得的第二以太网报告信息,以确定数据流量是否为攻击。
根据本公开的实施例,第一监控组件获得关于系统中数据流量的第一can报告信息,并且向第一控制组件发送第一can报告信息,第二监控组件配置为获得关于数据流量的第二以太网报告信息,并向第一控制组件发送第二以太网报告信息,第一控制组件接收来自第一监控组件的第一can报告信息和来自第二监控组件的第二以太网报告信息,并根据第一can报告信息和第二以太网报告信息确定数据流量是否为攻击。得益于由第一监控组件、第二监控组件和第一控制组件形成的分层结构,第一监控组件和第二监控组件分别获得第一can报告信息和第二以太网报告信息,并且第一控制组件基于由第一监控组件获得的第一can报告信息和由第二监控组件获得的第二以太网报告信息确定数据流量是否是攻击,从而通过对接收的报告信息进行全局分析而将这两个组件关联在一起,因而使得可以监控从一个网络传送到另一网络的流量,诸如基于ip的can流量或基于can的ip流量。
如以上描述的,第一监控组件可以以直接方式或间接方式获得第一can报告信息,类似地,第二监控组件可以以直接方式或间接方式获得第二以太网报告信息。不同的方式将根据不同的分层结构来实施。在下文中,将参考本公开的实施例来详尽阐述入侵检测系统的不同部署。
图6a是根据本公开的实施例的入侵检测系统的示意性结构图。如图6a中示出的,入侵检测系统600包括第一控制组件601、第一监控组件602和第二监控组件603,第一监控组件602和第二监控组件603均与第一控制组件601连接。
如图6a中所示,第一监控组件602部署在can中,第二监控组件603部署在以太网网络中,并且数据流量是从can到以太网网络的。
在一种可能的实施方式中,系统中的数据流量是从can到以太网网络的,第一监控组件602具体配置为处理数据流量以生成第一can报告信息,并向第二监控组件传送处理的数据流量,并向第一控制组件601发送第一can报告信息;第二监控组件603配置为接收来自第一监控组件的处理的数据流量,处理所述处理的数据流量以生成第二以太网报告信息,并向第一控制组件601发送第二以太网报告信息;并且第一控制组件601具体配置为接收来自第一监控组件602的第一can报告信息和来自第二监控组件603的第二以太网报告信息,分析第一can报告信息和第二以太网报告信息以生成组合的报告信息,并且根据组合的报告信息确定数据流量是否为攻击。
在一种可能的实施方式中,系统中的数据流量是从以太网网络到can的;类似地,由于数据流量以相反的方式流动,所以第一监控组件602和第二监控组件603的操作可以改变。具体而言,第二监控组件603配置为处理数据流量以生成第二以太网报告信息,并向第一控制组件601发送第二以太网报告信息,并向第一监控组件602传送处理的数据流量;第一监控组件602具体配置为接收来自第二监控网络603的处理的数据流量,处理所述处理的数据流量以生成第一can报告信息,并向第一控制组件601发送第一can报告信息;并且第一控制组件601配置为接收来自第一监控组件602的第一can报告信息和来自第二监控组件603的第二以太网报告信息,并且根据第一can报告信息和第二以太网报告信息确定数据流量是否为攻击。
在一种可能的实施方式中,可以将第一监控组件和第二监控组件部署在相同的交换机中,以下描述可能主要集中在这种实施方式上。然而,需要指出的是,在上述描述中,第一监控组件和第二监控组件示出在相同的交换机中,然而,当第一监控组件和第二监控组件位于不同的交换机中时,上述解决方案同样适用。例如,第一监控组件部署在第一交换机中,第二监控组件部署在第二交换机中,第一控制组件包括ids,并且部署在第一交换机和第二交换机的外部。这些组件的功能与第一监控组件和第二监控组件部署在相同的交换机中的情况相同,为简洁起见,在此不再赘述。
在一种可能的实施方式中,第一监控组件602经由第一类型连接(诸如,如下所述的can连接)与第一控制组件601连接,并且第二监控组件603经由第二类型连接(诸如,如下所述的以太网连接)与第一控制组件连接。
此外,还应注意的是,图6a仅是示意图,其中第一监控组件602部署在can中,并且第二监控组件603部署在以太网网络中。下面,将讨论两个监控组件的详细部署。
如前所述,在本实施例中,第一监控组件602以直接方式获得第一can报告信息。除了第一can报告信息之外,第一控制组件601还可以接收来自第二监控组件603的第二以太网报告信息。因此,在该分层结构中,第二监控组件603具有与第一监控组件602相同的位置,即,第一监控组件602和第二监控组件603都向第一控制组件601报告,使得第一控制组件601可以将第一和第二以太网报告信息结合在一起以做出更好的决定。
在一种可能的实施方式中,第一控制组件601进一步配置为响应于确定数据流量是攻击而执行预防操作。
在一种可能的实施方式中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。在一种可能的实施方式中,入侵检测系统可以进一步包括与第一控制组件601连接的第二控制组件604。其中,第一控制组件601进一步配置为响应于确定数据流量不是攻击而向第二控制组件604发送组合的报告信息;并且,第二控制组件604配置为分析组合的报告信息和来自其它车辆的报告信息,以确定数据流量是否为新攻击。第二控制组件具有关于攻击的更多信息,因此可以比第一控制组件执行更好的检测。由于第二控制组件具有更丰富的关于攻击的信息,从而提高了入侵检测的准确性。
在一种可能的实施方式中,第二控制组件604进一步配置为监控第一控制组件601的工作状态。
在一种可能的实施方式中,第二控制组件604进一步配置为响应于确定数据流量是新攻击而生成警报。
在一种可能的实施方式中,第二控制组件604进一步配置为响应于确定数据流量是新攻击而向第一控制组件601通知更新数据,其中,更新数据指示处理新攻击的策略;第一控制组件601进一步配置为根据更新数据执行更新操作。
在一种可能的实施方式中,第一控制组件601进一步配置为向第一监控组件602和第二监控组件603通知更新数据,其中,更新数据指示用于处理新攻击的策略;并且,第一监控组件602进一步配置为根据更新数据执行更新操作,并且第二监控组件603进一步配置为根据更新数据执行更新操作。
在一种可能的实施方式中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或者,通知新训练的模型以检测新攻击。
在一种可能的实施方式中,第一can报告信息为数据流量的日志信息,并且第二以太网报告信息为处理的数据流量的日志信息。
在一种可能的实施方式中,第一监控组件602可以包括ids,第二监控组件603也可以包括ids,can可以是can,并且以太网网络可以是以太网,第一控制组件也可以包括ids。
在一种可能的实施方式中,第一控制组件601进一步配置为监控第一监控组件602的工作状态和第二监控组件603的工作状态。可以以几种可能的方式实施对工作状态的监控。例如,第一控制组件601可以周期性地向第一监控组件602和第二监控组件603发送高级攻击消息,以测试这些组件的工作。第一控制组件601可以配置为响应于确定工作状态异常,向第二控制组件发送警报,以通知那些特定的第一监控组件和第二监控组件的状态。
举例如下,其中第一监控组件被称为canids组件或简称为canids,第二监控组件被称为以太网ids组件或简称为以太网ids,第一控制组件可称为根ids组件或简称为根ids,并且第二控制组件可称为后端云ids组件或简称为后端云ids。
本公开的主要目的是克服用于车辆的现有入侵检测方法的至少一些缺点。这是通过提供一种包含can和以太网ids的车辆监控系统来实现的,其中canids配置为监控源自can总线的消息和从以太网ecu(网络)到can总线的消息,并且以太网ids配置为监控源自以太网设备的数据包(上述从can到以太网的数据流量)、以及从can总线到以太网设备(网络)的消息,以用于can流量、以太网流量、基于ip的can流量和基于can的ip流量中的入侵检测,重点聚焦于上述车辆监控系统的设计和部署策略。
如前所述,来自外部组件的由以太网ids检测为正常数据包的基于can的ip数据包可能由canids检测为入侵。类似地,来自canecu的由canids检测为正常的基于ip的can帧可能是攻击。如果can和以太网ids独立工作,它们将无法检测到此类攻击的完整攻击路径。
此外,如果一个网络中存在攻击,则可能表示另一网络中可能存在攻击,例如dos攻击。同样,如果两个ids都独立工作,则它们将无法查找此类攻击关系/可能性。
在所提出的公开中,canids组件和以太网ids组件与作为根ids的另一ids组件连接,以便协同工作,如诸如图5的附图所示,其中第一控制组件可以是根ids,第一监控组件可以是canids/以太网ids,相应地,第二监控组件可以是以太网ids/canids。
根ids从canids和以太网ids获得日志信息。它分析从两个ids获得的日志信息,以检测攻击的长路径以及不同网络上的相关攻击。
基于can的ip数据包将首先由以太网ids针对可能的入侵,基于ip数据包的特征,诸如源/目标mac/ip地址、端口号等,进行分析。然后,它将由can/ip网关转换为can帧,然后传送到canids。canids将针对可能的入侵,基于can帧的特征,例如canid、有效载荷等,分析转换的can帧。对于基于ip的can消息,将沿相反方向重复相同的过程。两个ids都可能将消息检测为攻击消息。此外,如果一个ids将消息检测为正常消息,另一ids可能将其检测为入侵消息。从两个ids获得的日志数据将有助于根ids在基于ip的can流量和基于can的ip流量中检测攻击消息的完整路径,从而识别完整的攻击模式。此外,如果在一个网络上(例如在can上)检测到攻击,则可能表明在另一网络(即以太网网络)上可能存在攻击,并且此信息将有助于针对可能的入侵和攻击关系分析其它网络上的通信。
对于部署,如果两个ids组件都部署在can中,则以太网ids将无法看到来自/去往外部组件的基于ip的流量,因此将无法检测ip流量中的异常。同样,如果两个ids组件都部署在以太网中,则canids将无法看到来自/去往canecu的can流量,因此它将无法检测can流量中的异常。
因此,为了使两个ids都能够监控它们各自的业务,在本公开中提出了分布式ids部署方案。
关于canids(即,第一监控组件602)的部署,如以上参考图7a-7c所描述的,布置canids的基本原理是让can流量从其通过。canids可以部署在can/ip网关和can之间。canids可以作为部署在交换机(例如,can/ip网关)上的软件组件设置;或,canids可以部署为与can/ip网关连接的交换机内部的nids设备,以便它可以接收can流量;或,canids也可以部署为附接到交换机外部端口的nids设备。
图7a-图7c示出了不同的部署选择。在一种可能的实施方式中,如图7a中所示出的,第一监控组件602包括ids,并且可以部署在can中的网关(未示出)上。在另一可能的实施方式中,第一监控组件602包括网关701(即第一交换组件)和包括ids的第一检测设备702,网关701与第一检测设备702连接,第一检测设备702与第一控制组件603连接;第一检测设备配置为生成第一can报告信息,而网关配置为处理数据流量,在该实施方式中,第一检测设备702可以部署在交换机内部(图7b)或交换机外部(图7c)。
类似地,关于以太网ids(即,第二监控组件603)的部署,如以上参考图8a-8c所描述的,布置以太网ids的基本原理是让ip流量从其通过。以太网ids部署在can/ip消息转换器和外部组件之间,外部组件可以是tcu端口、obd端口、ivi端口等。以太网ids可以作为部署在交换机(例如can/ip消息转换器)上的软件组件设置;或,以太网ids可以部署为与can/ip消息转换器连接的交换机内部的nids设备;或,以太网ids可以部署为将附接到交换机的外部端口的nids硬件设备。
图8a-图8c示出了不同的部署选择。在一种可能的实施方式中,如图8a所示出的,第二监控组件603包括ids并且可以部署在以太网网络中的消息转换器(未示出)上。在另一可能的实施方式中,第二监控组件603包括消息转换器801(即第二交换组件)和部署有入侵检测系统ids的第二检测设备802,消息转换器与第二检测设备连接,并且第二检测设备与第一监控组件连接;第二检测设备配置为生成第二以太网报告信息,并且消息转换器配置为处理所述处理的数据流量,在该实施方式中,第二检测设备802可以部署在交换机内部(图8b)或交换机外部(图8c)。
关于根ids(即,第一控制组件601)的部署,将以以下任何一种方式来部署根ids组件。根ids可以部署在附接到交换机的外部端口或交换机内部的专用硬件设备中;或,根ids可以实施为部署在交换机上的根ids软件;或,根ids可以实施为部署在与交换机连接的任何车辆域控制器设备上的根ids软件或硬件。
图中示出了不同的部署选项。在一种可能的实施方式中,如图6b中所示出的,第一控制组件601可以与第一监控组件602和第二监控组件603分开地部署在交换机内部。在另一可能的实施方式中,如图6a中所示出的,第一控制组件601可以部署在交换机外部。在该实施方式中,三个组件(即,第一控制组件601、第一监控组件602和第二监控组件603)可以在相同的交换机中实施,因此入侵检测系统可以实际上实现为在特定设备内部的系统。
在某些汽车中,汽车内的所有交换机可能会物理连接到车辆内的单个路由器(网关)。在这种情况下,如图9中所示出的,根ids(即,第一控制组件601)将部署在中央路由器900上,作为路由器内部或外部的硬件设备或路由器上部署的软件。第一控制组件601将与第一交换机901和第二交换机902连接。
以这种方式部署的can和以太网ids不仅能够分别监控can和以太网内部的can和以太网流量,而且还可以协作地监控基于ip的can流量和基于can的ip流量,基于ip的can流量和基于can的ip流量覆盖这些流量类型的长路径。借助根ids,帮助它们检测到来自基于ip的can流量和基于can的ip流量的具有长路径的攻击。根ids也将能够识别两个网络上的相关攻击。
在所述解决方案的该实施例中,根ids除了针对长路径攻击和多个网络上的相关攻击分析的基于ip的can流量和基于can的ip的流量以外,还承担额外的职责。除非另有说明,其余细节与解决方案的实施例一中描述的相同。
在本实施例中,根ids除了入侵检测系统(ids)之外还将充当入侵预防系统(ips),被称为idps。根ids组件将针对可能的入侵分析从can和以太网ids获得的日志信息。一旦由canids、以太网ids或根ids检测到攻击,则根ids将发布预防步骤(预防措施)以响应攻击。攻击响应可以是任何形式。例如,它可能只记录事件,而不会进一步继续,即被动响应。另一可能的响应是通过生成警报来通知攻击。另一可能的响应是,根ids将启动安全车辆状态过程,这使车辆进入安全状态,从而尝试减轻安全攻击对车辆的影响。另一可能的响应是完全阻止安全攻击,这是一种相对更强且更理想的响应。
在该解决方案的第三实施例中,根ids组件进一步与云后端ids组件连接,用于检测新型攻击(例如,零日攻击),从而形成用于汽车入侵检测的分层ids架构。其余细节与实施例一和二相同。
根ids组件将从can和以太网ids两者中获得日志信息,并且经过分析,将其自己生成的日志信息发送到后端云ids组件。后端云ids将从多个此类车辆获得类似的日志数据。后端云ids组件将结合从其它车辆获得的日志数据对日志数据进行全面分析。它将帮助云后端数据检测单个车辆的车载ids组件仍未发现的新型攻击。
当检测到新型攻击时,后端云ids组件将承担额外的职责。在检测到新攻击时,后端云ids将生成警报并更新车载ids组件,以使它们为将来处理此攻击做好准备。后端云ids组件将直接更新根ids组件,并经由根ids组件更新车辆内部的can和以太网ids组件。车载ids组件的更新将涉及以下一项或更多项:入侵检测规则更新;入侵签名更新;入侵检测算法更新;新训练的模型检测以后的新攻击;或车载ids组件的任何其它更新。
根据本公开的实施例,第一控制组件从两个监控组件都接收报告信息,从而通过对接收的报告信息执行全局分析而将两个组件关联在一起,因而使得可以监控从一个网络传送到另一网络的流量,诸如基于ip的can流量或基于can的ip流量。
图10是根据本公开的实施例的入侵检测系统的示意性结构图。如图10中所示出的,入侵检测系统1000包括第一控制组件1001、与第一控制组件1001连接的第一监控组件1002、与第一监控组件1002连接第三监控组件1003,以及第二监控组件1007a和1007b。
第一监控组件1002部署在第一交换机1004中,第三监控组件1003部署第二交换机1005的can中,并且第一控制组件1001部署在第一交换机1004和第二交换机1005的外部。应当注意的是,第一控制组件1001也可以部署在第一交换机1004或第二交换机1005内部。
与上述实施方式不同,在前一实施例中,第一监控组件602和第二监控组件603在分层结构中具有相同的位置;然而,在本实施例中,可以认为该分层结构包含三层,其中第一控制组件1001位于更高层,负责监控第一监控组件1002,第一监控组件1002、第二监控组件1007a和1007b位于中间层,并且第一监控组件1002负责监控第三监控组件1003,且第三监控组件1003位于最低层。实际上,第一监控组件1002和第三监控组件1003在主从模式下工作,第一监控组件1002充当主组件,其职责比第三监控组件1003更多。第二监控组件1007a和1007b以对等模式工作,每个都与第二监控组件603以相同的方式执行相同的任务和功能,可以参考前述实施例形成的细节。
选择主组件的原理可以是选择与更重要的安全相关信息将传送通过的设备连接的组件。在该实施例中,第一监控组件1002也可以被称为主监控组件,并且第三监控组件1003也可以被称为从监控组件。
如以上描述的,第一监控组件和第三监控组件在主从模式下工作,应当注意的是,第二监控组件也可以在主从模式下工作,这将参照图11进行描述。实际上,第一监控组件和第二监控组件中的任意一个或两者均可在主从模式下工作,本公开的实施例对此不做限定。
第三监控组件1003配置为生成第三can报告信息,并向第一监控组件1002发送第三can报告信息;并且第一监控组件1002具体配置为根据来自第三监控组件1003的第三can报告信息获得第一can报告信息,并向第一控制组件1001发送第一can报告信息。
在一种可能的实施方式中,入侵检测系统可以进一步包括与第一控制组件1001连接的第二控制组件1006。其中,第一控制组件1001具体配置为分析第一can报告信息和第二以太网报告信息,生成组合的报告信息,并向第二控制组件1006发送组合的报告信息;并且第二控制组件1006配置为接收来自第一控制组件1001的组合的报告信息,并对组合的报告信息进行全面分析。
在一种可能的实施方式中,第一控制组件1001具体配置为响应于确定数据流量不是攻击而向第二控制组件1006发送组合的报告信息;并且第二控制组件1006配置为对组合的报告信息和来自其它车辆的报告信息进行分析,以确定数据流量是否为新攻击。第二控制组件具有关于攻击的更多信息,因此可以比第一控制组件执行更好的检测。
在一种可能的实施方式中,第二控制组件1006进一步配置为监控第一控制组件1001的工作状态。
在一种可能的实施方式中,第二控制组件1006进一步配置为响应于确定数据流量是新攻击而生成警报。
在一种可能的实施方式中,第二控制组件1006进一步配置为响应于确定数据流量是新攻击而向第一控制组件1001通知更新数据,其中,更新数据指示处理新攻击的策略;第一控制组件1001进一步配置为根据更新数据执行更新操作。
在一种可能的实施方式中,第一控制组件1001进一步配置为向第一监控组件1002通知更新数据,其中,更新数据指示用于处理新攻击的策略;第一监控组件1002进一步配置为根据更新数据进行更新操作,并向第三监控组件1003通知更新数据;并且第三监控组件1003进一步配置为根据更新数据执行更新操作。
在一种可能的实施方式中,第一控制组件1001进一步配置为监控第一监控组件1002的工作状态,并且第一监控组件1002进一步配置为监控第三监控组件1003的工作状态。
在一种可能的实施方式中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或通知新训练的模型以检测新攻击。
在一种可能的实施方式中,第三can报告信息是数据流量的日志信息。
实际上,第二控制组件1006以与第二控制组件604相同的方式起作用,并且第一控制组件1001以与第一控制组件601相同的方式起作用,因此,为简洁起见,在此不再赘述。此外,尽管在附图中,在某些附图中缺少第二控制组件,然而,应当理解的是,所有具有第一控制组件的附图也可以补充第二控制组件,该第二控制组件完成与第二控制组件604或第二控制组件1006相同的任务。
举例如下,其中第一监控组件、第三监控组件和第一控制组件均包括ids,此处第一监控组件可以称为主ids组件,也可以简称为主ids,第三监控组件可以为称为从ids组件或简称为从ids,第一控制组件可称为根ids组件或简称为根ids。
该实施例设计了用于在多个交换机上分布式部署以太网和canids组件的解决方案。
在现代车辆中,不同的ecu/传感器与车辆内部的不同交换机连接。例如,tcu、obd、ivi等可以与前部交换机连接,而后部交换机可以与充电端口等连接。此外,多个交换机提供了多个流量流,并且并非所有车载流量都通过单个交换机传送。因此,仅在一台交换机上部署ids组件可能不足以监控所有车载流量。
因此,基于连接到每个交换机的设备/ecu和经过每个交换机的流量流,ids将部署在多于一个交换机上。不同交换机上的can和以太网ids组件将以对等方式工作,其中每个ids组件执行几乎相同的任务。
然而,基于某些交换机接收的通信的类型,它们可能比其它交换机更不容易受到攻击。例如,与经由充电端口进入车辆的攻击相比,诸如tcu、obd端口和ivi之类的外部组件易于遭受更多的攻击和更复杂的攻击。因此,在这种情况下,多个交换机上的ids组件将用作主从ids,其中主ids比从ids具有更多的能力/职责。
主ids将从所有其它从ids获得入侵日志信息(即,第三can报告信息),并对攻击进行详细分析以进行高级攻击检测,如果没有来自相同的网络(例如,can或以太网网络)内所有ids的日志信息,则无法进行高级攻击检测。主ids将能够检测其相应网络中的以下高级攻击,而该网络中的各个从ids将无法检测到:以太网不同网段中的伪造ip地址(以太网网络);其它vlan上的伪造mac地址(以太网网络);(在不同域中的消息的)相关性(在can和以太网网络中);(来自附接到多个交换机的冗余源的数据的)一致性(在can和以太网网络中);上下文感知入侵检测(在can和以太网网络中);ddos攻击(在can和以太网网络中)或任何其它此种攻击。
主ids将与根ids连接,以进行跨网络的协作攻击检测以及可能的预防步骤,其中根ids将进一步与后端云ids连接,如先前实施例中所描述的。
主ids组件可以部署在监控更多关键流量的交换机(例如,连接tcu、obd和ivi设备的交换机)上,而从ids组件可以部署在关键流量较少的交换机上。在该实施例的另一变型中,从ids组件将部署在ecu/外部组件上。
实际上,除了分别检测高级攻击和具有长路径的攻击之外,主ids、根ids和后端云ids组件还负责监控分层结构中设置在该特定ids组件下的ids组件的工作状态。
在解决方案的该实施例中,主ids组件将进一步负责监控所有从ids组件,以确保它们正常工作并确保它们不会受到损害。该监控可以以任何可能的方式进行。例如,主ids组件将定期向从ids发送攻击消息,以从它们获取响应,以测试其工作情况。如果任何从ids受到损害和/或不再响应主ids或无法检测到攻击,则主ids组件将配置为经由根ids向后端云系统以及驾驶员(hmi)发送警报,以通知该特定从ids组件的状态。
类似地,根ids组件将进一步负责监控所有主ids组件,以确保它们正常工作并确保它们不会受到损害。该监控可以以任何可能的方式进行。例如,根ids组件将定期向主ids的网络发送高级攻击消息,以测试主ids的工作情况。根ids组件将配置为向后端云系统以及驾驶员(hmi)发送警报,以通知该特定主ids组件的状态。同样,云后端ids将监控车辆内部的根ids的工作。此监控将有助于确保所有ids组件均正常运行,并相应地检测到攻击。可以在任何时候(例如,一天中车辆首次启动时的几小时后或每天一次)进行检查。
在一种可能的实施方式中,也可能有多于一个主监控组件(例如,主ids)。入侵监控系统可以进一步包括第四监控组件,与第二监控组件连接,并部署在以太网网络中;其中第二监控组件部署在第一交换机中,并且第四监控组件部署在第二交换机中;其中第四监控组件配置为生成第四以太网报告信息,并向第一监控组件发送第四以太网报告信息;并且第二监控组件具体配置为根据第四以太网报告信息获得第二以太网报告信息,并向第一控制组件发送第二以太网报告信息。第二监控组件可以配置为以与第一监控组件监控第三监控组件类似的方式监控第四监控组件的工作状态。
如图11中所示出的,在入侵检测系统1100中,存在两个主监控组件和与两个主组件对应的两个从监控组件。两个主监控组件是第一监控组件1102a和第二监控组件1102b,并且两个从监控组件是第三监控组件1103a和第四监控组件1103b。两个主监控组件1102a和1102b部署在不同的网络中,并且第一控制组件1101具体配置为接收来自每个主监控组件(1102a和1102b)的报告信息,分析来自每个主监控组件的报告信息以生成组合的报告信息,并根据组合的报告信息确定数据流量是否为攻击。如前所述,车辆可以同时支持can和以太网技术,每个网络可以具有一个主ids。因此,上述两个主监控组件可以是两个主ids:用于can的主canids(诸如第一监控组件1102a)和用于以太网网络的主以太网ids(诸如第二监控组件1102b)。两个主ids组件均与根ids连接,根ids将进一步与云后端ids系统连接,形成分层ids架构。
根据本公开的实施例,第三监控组件、第四监控组件、第一监控组件、第二监控组件和第一控制组件形成分层结构,其中第一监控组件分析第三监控组件报告的信息,第二监控组件分析第四监控组件报告的信息,并且第一控制组件进一步分析第一监控组件和第二监控组件报告的信息,从而使得可以检测其相应网络中的高级攻击(该网络中的各个第三监控组件将无法检测到高级攻击),从而提高了入侵检测的准确性。此外,第一控制组件生成的组合的报告信息被发送到具有更丰富的关于攻击的信息的第二控制组件,从而进一步提高了入侵检测的准确性。
本公开还提供了一种入侵检测方法。所述方法可以由图6a和图6b中示出的第一控制组件601、第一监控组件602、第二监控组件603和第二控制组件604执行。相关组件的操作和相似表达可以参考上述系统实施例。如图12中所示出的,方法1200可以包括:
s1201:第一监控组件生成第一can报告信息,并且第二监控组件生成第二以太网报告信息。
s1202:第一监控组件向第一控制组件发送第一can报告信息,并且第二监控组件向第一控制组件发送第二以太网报告信息。
s1203:第一控制组件接收第一can报告信息和第二以太网报告信息,并根据第一can报告信息和第二以太网报告信息确定系统中的数据流量是否为攻击。
在一种可能的实施方式中,第一控制组件分析第一can报告信息和第二以太网报告信息,以生成组合的报告信息;并根据组合的报告信息确定数据流量是否为攻击。
响应于确定数据流量为攻击,第一控制组件可以响应于确定数据流量是攻击而执行预防操作。在一种可能的实施方式中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。
响应于确定数据流量不是攻击,数据流量有可能是新攻击。因此,第一控制组件可以将组合的信息发送到第二控制组件以进行进一步分析。
s1204:第一控制组件向第二控制组件发送组合的报告信息。
s1205:第二控制组件接收组合的报告信息,并对组合的报告信息和来自其它车辆的报告信息进行分析,以确定系统中的数据流量是否为新攻击。
s1206:第二控制组件响应于确定数据流量是新攻击而向第一控制组件通知更新数据。
s1207:第一控制组件接收来自第二控制组件的更新数据,并根据更新数据进行更新操作。
s1208:第一控制组件向第一监控组件和第二监控组件发送更新数据。
s1209:第一监控组件接收来自第一控制组件的更新数据,并根据更新数据进行更新操作,第二监控组件接收来自第一控制组件的更新数据,并根据更新数据进行更新操作。
在一种可能的实施方式中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或通知新训练的模型以检测新攻击。
根据本公开的实施例,第一控制组件从两个监控组件接收报告信息,从而通过对接收的报告信息执行全局分析而将两个组件关联在一起,因而使得可以监控从一个网络传送到另一网络的流量,诸如基于ip的can流量或基于can的ip流量。此外,组合的报告信息被发送到具有更丰富的关于攻击的信息的第二控制组件,从而提高了入侵检测的准确性。
本公开还提供了一种入侵检测方法。所述方法可以由图10中所示出的第一控制组件1001、第一监控组件1002、第三监控组件1003和第二控制组件1006执行。相关组件的操作和相似表达可以参考上述系统实施例。如图13中所示出的,方法1300可以包括:
s1301:第三监控组件生成第三can报告信息。
在一种可能的实施方式中,第三can报告信息可以是数据流量的日志信息。
s1302:第三监控组件向第一监控组件发送第三can报告信息。
s1303:第一监控组件接收第三can报告信息,并分析第三can报告信息,以生成第一can报告信息。
应当注意的是,当存在多于一个第三监控组件时,第一监控组件可以分析来自每个第三监控组件的第三can报告信息,以生成第一can报告信息。
s1304:第一监控组件向第一控制组件发送第一can报告信息。
s1305:第一控制组件接收第一can报告信息,并根据第一can报告信息确定系统中的数据流量是否为攻击。
在一种可能的实施方式中,第一控制组件分析来自第一监控组件的第一can报告信息以生成组合的报告信息;并根据组合的报告信息确定数据流量是否为攻击。应当注意的是,如果存在多于一个第一监控组件,则第一控制组件可以基于来自每个第一监控组件的第一can报告信息生成组合的报告信息。
响应于确定数据流量是攻击,第一控制组件可以响应于确定数据流量是攻击而执行预防操作。在一种可能的实施方式中,预防操作包括以下操作中的任何一项或更多项:记录攻击;通知攻击;启动安全车辆状态过程以使车辆进入安全状态;或阻止攻击。
响应于确定数据流量不是攻击,数据流量有可能是新攻击。因此,第一控制组件可以将组合的信息发送到第二控制组件以进行进一步分析。
s1306:第一控制组件向第二控制组件发送组合的报告信息。
s1307:第二控制组件接收组合的报告信息,并对组合的报告信息和来自其它车辆的报告信息进行分析,以确定系统中的数据流量是否为新攻击。
s1308:第二控制组件响应于确定数据流量为新攻击而向第一控制组件通知更新数据。
s1309:第一控制组件接收来自第二控制组件的更新数据,并根据更新数据进行更新操作。
s1310:第一控制组件向第一监控组件发送更新数据。
s1311:第一监控组件接收来自第一控制组件的更新数据并根据更新数据进行更新操作。
s1312:第一监控组件向第三监控组件发送更新数据。
s1313:第三监控组件接收更新数据,并根据更新数据进行更新操作。
在一种可能的实施方式中,更新操作包括以下操作中的一个或更多个:更新入侵检测规则;更新入侵签名;更新入侵检测算法;或通知新训练的模型以检测新攻击。
图13a和图13b中所示出的方法可以由图10中示出的组件执行,然而,应当理解的是,图11中示出的第二监控组件和第四监控组件也可以以与图10所示的第一监控组件和第三监控组件相同的方式起作用,为简洁起见,在此不再赘述。
根据本公开的实施例,第三监控组件、第一监控组件和第一控制组件形成分层结构,其中第一监控组件分析第三监控组件报告的信息,并且第一控制组件进一步分析第一监控组件报告的信息,从而使得可以检测到其相应网络中的高级攻击,该高级攻击是该网络中的各个第三监控组件将无法检测的,从而提高了入侵检测的准确性。此外,第一控制组件生成的组合的报告信息被发送到具有更丰富的关于攻击的信息的第二控制组件,从而进一步提高了入侵检测的准确性。
如图14中所示出的,本公开的实施例进一步提供了第一控制组件1400。第一控制组件1400可以是上述系统实施例中的第一控制组件,诸如图6a-6b中的第一控制组件601,并且可以配置为执行与方法实施例中的方法对应的第一控制组件有关的内容。组件1400包括输入接口1410、输出接口1420、处理器1430和存储器1440。输入接口1410、输出接口1420、处理器1430和存储器1440可以通过总线系统连接。存储器1440配置为存储程序、指令或代码。处理器1430配置为执行存储器1440中的程序、指令或代码,以控制输入接口1410接收信号并控制输出接口1420发送信号并完成前述方法实施例中的操作。
如图15中所示出的,本公开的实施例进一步提供了第二控制组件1500。第二控制组件1500可以是上述系统实施例中的第二控制组件,诸如图6a-6b中示出的第二控制组件604、或图10中的第二控制组件1006,并且可以配置为实现与方法实施例中的方法对应的第二控制组件有关的内容。组件1500包括输入接口1510、输出接口1520、处理器1530和存储器1540。输入接口1510、输出接口1520、处理器1530和存储器1540可以通过总线系统连接。存储器1540配置为存储程序、指令或代码。处理器1530配置为执行存储器1540中的程序、指令或代码,以控制输入接口1510接收信号并控制输出接口1520以发送信号并完成前述方法实施例中的操作。
如图16中所示出的,本公开的实施例进一步提供了第一监控组件1600。第一监控组件1600可以是上述系统实施例中的第一监控组件,诸如图6a-6b中的第一监控组件602、或图10中的第一监控组件1002,并且可以配置为执行与方法实施例中的方法对应的第一监控组件有关的内容。组件1600包括输入接口1610、输出接口1620、处理器1630和存储器1640。输入接口1610、输出接口1620、处理器1630和存储器1640可以通过总线系统连接。存储器1640配置为存储程序、指令或代码。处理器1630配置为执行存储器1640中的程序、指令或代码,以控制输入接口1610接收信号并控制输出接口1620发送信号并完成前述方法实施例中的操作。
如图17中所示出的,本公开的实施例进一步提供了第二监控组件1700。第二监控组件1700可以是上述系统实施例中的第二监控组件,诸如图6a-6b中的第二监控组件603,并且可以配置为执行与方法实施例中的方法对应的第二监控组件有关的内容。组件1700包括输入接口1710、输出接口1720、处理器1730和存储器1740。输入接口1710、输出接口1720、处理器1730和存储器1740可以通过总线系统连接。存储器1740配置为存储程序、指令或代码。处理器1730配置为执行存储器1740中的程序、指令或代码,以控制输入接口1710接收信号并控制输出接口1720发送信号并完成前述方法实施例中的操作。
如图18中所示出的,本公开的实施例进一步提供了第三监控组件1800。第三监控组件1800可以是上述系统实施例中的第三监控组件,诸如图10中的第三监控组件1003,并且可以配置为执行与方法实施例中的方法对应的第三监控组件有关的内容。组件1800包括输入接口1810、输出接口1820、处理器1830和存储器1840。输入接口1810、输出接口1820、处理器1830和存储器1840可以通过总线系统连接。存储器1840配置为存储程序、指令或代码。处理器1830配置为执行存储器1840中的程序、指令或代码,以控制输入接口1810接收信号并控制输出接口1820发送信号并完成前述方法实施例中的操作。
本公开还提供了一种存储计算机可执行指令的计算机存储介质,所述计算机可执行指令在被执行时实施根据本公开的实施例的方法。
本公开还提供了一种计算机程序产品被提供,包括指令,所述指令在计算机上执行该指令时使计算机执行上述实施例中的方法。
不同于现有的用于汽车的can和以太网ids解决方案,其中canids仅可以监控can内部的can流量,而以太网ids仅可以监控以太网网络内部的以太网流量,所提出的公开内容给出了汽车入侵检测系统的设计和部署策略,其可以监控can流量、以太网流量、基于ip的can流量和基于can的ip流量,以检测以下任意一项:具有从一个网络横穿到另一网络的较长路径的攻击;不同网络上的相关攻击;涉及相同的网络中多个域的高级攻击;新攻击,借助于来自其它车辆的日志信息;所提出的解决方案不仅检测攻击,而且提供入侵防御组件以响应攻击;所提出的解决方案进一步通过分层ids监控系统关注各个ids组件的工作状态;或将车载ids分布式部署在多于一个交换机上,有助于监控采用不同路由的流量,这是因为车辆中有多于一个交换机,因此使得现代汽车中有多于一个路由可用。
例如,应当理解的是,与所描述的方法有关的公开对于配置为执行该方法的对应设备或系统也可以适用,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如,功能单元,以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中的每个执行多个步骤中的一个或更多个),即使没有在附图中明确描述或示出此类一个或更多个单元。另一方面,例如,如果基于一个或多个单元,例如,功能单元,描述特定装置,则对应的方法可以包括一个步骤以执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤中的每个执行多个单元中的一个或更多个的功能),即使没有在附图中明确描述或示出此类一个或更多个步骤。此外,应理解的是,除非另外特别指出,否则本文描述的各种示例性实施例和/或方面的特征可以彼此组合。
在本公开的说明书和权利要求书以及上述附图中的诸如“第一”、“第二”之类的术语旨在区分不同的对象,但是并不旨在限定特定的顺序。
本公开的实施例中的诸如“和/或”之类的术语仅用于描述关联对象之间的关联关系,其表示可能存在三种关系,例如,a和/或b可以表示仅存在a、存在a和b以及仅存在b。
在本公开的实施例中,诸如“示例性”或“例如”之类的表达用于表示示例或实例的举例说明。在本公开的实施例中,描述为“示例性”或“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案优选或有利。具体而言,“示例性”或“例如”的使用旨在以特定方式呈现相关概念。
在一个或更多个示例中,可以以硬件、软件、固件或其任何组合来实施所描述的功能。如果以软件实施,则功能可以作为存储在计算机可读介质上的一个或更多个指令或代码存储或传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于有形介质,诸如数据存储介质,或通信介质,包括例如根据通信协议促进将计算机程序从一个地方转移到另一地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质、或(2)诸如信号或载波等通信介质。数据存储介质可以是可由一台或更多台计算机或一个或更多个处理器访问以检索指令、代码和/或数据结构用于实施本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,此种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储设备、闪存或任何其它可以用来以指令或数据结构的形式存储所需的程序代码且可由计算机访问的介质。此外,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或诸如红外、无线电和微波等的无线技术从网站、服务器或其它远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、dsl或诸如红外、无线电和微波等无线技术。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时介质,而是针对非暂时性的有形存储介质。本文使用的磁盘和光盘包括光盘(cd)、激光光盘、光盘(opticaldisc)、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘则通过激光以光学方式复制数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或更多个处理器,诸如一个或更多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效的集成或离散逻辑电路,执行。因此,如本文所使用的,术语“处理器”可以指任何前述结构或适合于实施本文描述的技术的任何其它结构。另外,在一些方面,本文描述的功能可以在配置用于编码和解码或结合在组合编解码器中的专用硬件和/或软件模块内提供。此外,该技术可以在一个或更多个电路或逻辑元件中完全实施。
本公开的技术可以在包括无线手持机、集成电路(ic)或一组ic(例如,芯片组)的多种设备或装置中实施。在本公开中描述各种组件、模块或单元,以强调经配置以执行所公开技术的设备的功能方面,但不一定需要由不同硬件单元来实现。而是,如以上描述的,各种单元可以组合在编解码器硬件单元中,或者通过获得包括如上描述的一个或更多个处理器的互操作硬件单元,结合合适的软件和/或固件来提供。
所述计算机可读非暂时性介质包括所有类型的计算机可读介质,包括磁存储介质,光存储介质和固态存储介质,并且明确地排除信号。应当理解的是,该软件可以安装在路由器、客户端或其它网络设备中并与之一起出售。替代地,软件可以被获得并加载到设备中,包括经由光盘介质或从任何形式的网络或分发系统(包括例如从软件创建者拥有的服务器或从软件创建者不拥有但使用的服务器)获得软件。例如,该软件可以存储在服务器上,以便通过互联网进行分发。
在权利要求中,词语“包括”不排除其它元件或步骤,并且不定冠词“一/一个(a)”或“一/一个(an)”不排除多个。单个处理器或其它单元可以实现权利要求中记载的若干项的功能。在互不相同的从属权利要求中记载某些措施的事实并不表示、排除或暗示这些措施的组合不能被有利地使用。计算机程序可以存储在或分布在合适的介质上,诸如与其它硬件一起供给或作为其一部分提供的光存储介质或固态介质,但是也可以以其它形式分发,诸如经由互联网或其它有线或无线电信系统分发。
出于说明和描述的目的已经给出了前述详细描述。并不旨在穷举或将本文所要求保护的主题限制为所公开的(多个)精确形式。根据以上教导,许多修改和变型是可能的。选择所描述的实施例是为了最好地解释所公开的技术的原理及其实际应用,从而使本领域的其它技术人员能够在各种实施例中以适合于预期的特定用途的各种修改来最好地利用本技术。本公开的范围旨在由所附权利要求书限定。