CN109495438B - 用于车内网络入侵检测的系统和方法 - Google Patents

用于车内网络入侵检测的系统和方法 Download PDF

Info

Publication number
CN109495438B
CN109495438B CN201810995305.9A CN201810995305A CN109495438B CN 109495438 B CN109495438 B CN 109495438B CN 201810995305 A CN201810995305 A CN 201810995305A CN 109495438 B CN109495438 B CN 109495438B
Authority
CN
China
Prior art keywords
microcontroller
vehicle
event logs
transmission
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810995305.9A
Other languages
English (en)
Other versions
CN109495438A (zh
Inventor
J·E·普罗查
S·B·库普弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN109495438A publication Critical patent/CN109495438A/zh
Application granted granted Critical
Publication of CN109495438B publication Critical patent/CN109495438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种用于车内网络入侵检测的系统包括具有第一和第二核心以及存储器的微控制器。第一核心可以被配置为从车辆的一个或多个通信总线获得描述与车辆相关联的一个或多个事件的一个或多个网络消息。存储器可以被配置为存储由第一核心获得的一个或多个网络消息。第二核心可以被配置为:(i)从存储器读取一个或多个网络消息;(ii)基于预定义规则来检测一个或多个事件中的至少一些是否构成异常;(iii)基于检测到的异常事件数据生成一个或多个驻留事件日志,包括与一个或多个检测到的异常事件相关联的元数据;(iv)基于一个或多个驻留事件日志生成一个或多个传输事件日志。

Description

用于车内网络入侵检测的系统和方法
相关申请的交叉引用
本公开涉及于2017年11月9日提交的美国申请第15/700,725号(代理人案卷号P043464-US-NP/8540P-001667-US)。以上引用的申请的全部公开内容通过引用并入本文。
引言
这里提供的引言是为了总体上呈现本公开的背景。当前署名的发明人的工作就其在该背景部分所描述的以及说明书的其他方面的描述而言既不明确地也不隐含地被认可为是本公开的现有技术。
本公开涉及用于监视潜在恶意活动的网络的系统和方法,并且更具体地涉及用于检测和响应车内网络内的潜在入侵的系统和方法。
入侵检测系统(IDS)是一种用于根据策略违规来监视异常或恶意活动的网络流量的设备或应用程序软件。系统可以向管理员报告任何检测到的活动,管理员可以基于该报告决定是否执行行动。
发明内容
在特征中,提供了一种系统。该系统可以包括第一微控制器。第一微控制器可以包括第一核心、第二核心以及连接到第一核心和第二核心的存储器。第一核心可以被配置为从车辆的一个或多个通信总线获得一个或多个网络消息。一个或多个网络消息可以描述与车辆相关联的一个或多个事件。存储器可以被配置为存储由第一核心获得的一个或多个网络消息。第二核心可以被配置为:(i)从存储器读取一个或多个网络消息;(ii)基于预定义规则来检测一个或多个事件中的至少一些是否构成异常;(iii)基于检测到的异常事件数据生成一个或多个驻留事件日志,包括与一个或多个检测到的异常事件相关联的元数据;并且(iv)基于一个或多个驻留事件日志生成一个或多个传输事件日志,由此一个或多个传输事件日志中的每一个可以对应于驻留事件日志。
在一个特征中,该系统还可以包括连接到第一微控制器的第一核心的第二微控制器。第二微控制器可以被配置为从第一微控制器的第一核心获得一个或多个传输事件日志,并且经由无线传输器将一个或多个传输事件日志传输到远程计算系统。在前述特征的一个示例中,第二微控制器可以包括网络堆栈,该网络堆栈被配置为促进经由无线传输器无线传输一个或多个传输事件日志。在前述特征的另一个示例中,第一微控制器的第二核心可能不具有对网络堆栈的直接访问。在前述特征的另一个示例中,第二微控制器还被配置为响应于获得一个或多个传输事件日志而生成确认信号,并将确认信号传输到第一微控制器。
在前述特征的又一个示例中,该系统包括远程计算系统。在该示例中,远程计算系统可以被配置为经由无线传输器从第二微控制器获得一个或多个传输事件日志,并基于一个或多个传输事件日志生成以下命令中的至少一个:(i)日志控制命令;和/或(ii)入侵响应命令。在前述特征的一个示例中,远程计算系统还被配置为经由无线传输器将日志控制命令传输到第二微控制器。日志控制命令可以指示第一微控制器执行以下中的至少一个:(i)擦除一个或多个驻留事件日志的至少一个驻留事件日志;(ii)调整一个或多个驻留事件日志中的至少一个的存储器分配;(iii)将一个或多个驻留事件日志中的至少一个传输到远程计算系统;(iv)在传输之前调整一个或多个驻留事件日志中的至少一个的内容;(v)调整相关联的日志传输速率,其中日志传输速率描述从第一微控制器向远程计算系统来传输传输事件日志的频率;和/或(vi)限制一个或多个传输事件日志的数据大小。
在前述特征的又一个示例中,远程计算系统还被配置为经由无线传输器将日志控制命令传输到第二微控制器。入侵响应命令可以指示第一微控制器执行以下中的至少一个:(i)限制来自一个或多个通信总线中的至少一个的通信;以及(ii)照亮车辆的故障指示灯(MIL)。
在前述特征的另一个示例中,远程计算系统还可以被配置为响应于获得一个或多个传输事件日志而生成确认信号,并且经由无线传输器将确认信号传输到第二微控制器。在前述特征的一个示例中,第一微控制器的第一核心可以进一步被配置为从第二微控制器获得确认信号并将确认信号写入存储器。在前述特征的另一个示例中,第一微控制器的第二核心可进一步被配置为从存储器读取确认。
在一个特征中,一个或多个网络消息可以包括(i)来自车辆的一个或多个CAN总线的控制器区域网络(CAN)消息中的至少一个;和/或(ii)来自车辆的一个或多个以太网总线的以太网消息。
在一个特征中,存储器包括只能由第一微控制器的第一核心和第二核心直接访问的共享存储器。
在另一个特征中,第一微控制器的第二核心可以进一步被配置为将一个或多个驻留事件日志和一个或多个传输事件日志写入存储器。在前述特征的一个示例中,存储器包括安全的随机存取(RAM)存储器。在前述特征的另一个示例中,存储器包括安全的非易失性存储器(NVM)。
在一个特征中,第一微控制器的第二核心可以被配置为在存储器断电之前将一个或多个驻留事件日志和一个或多个传输事件日志写入安全的非易失性存储器。
在一个特征中,第一微控制器的第一核心可以进一步被配置为将从一个或多个通信总线获得的一个或多个网络消息写入存储器。
在一个特征中,预定义规则可以至少部分地基于车辆的操作状态参数。
在另一个特征中,一个或多个传输事件日志中的每一个可以包括比其对应的驻留事件日志更少的元数据。
根据详细说明、权利要求和附图,本公开的其他应用领域将变得显而易见。详细描述和具体示例仅用于说明的目的,并不旨在限制本公开的范围。
附图说明
从详细描述和附图将更全面地理解本公开,其中:
图1是示出入侵检测系统(IDS)的示例的功能框图。
图2是示出驻留事件日志和/或传输事件日志的示例性数据结构的示图;
图3是示出驻留事件日志的清单的示例性数据结构的图;
图4是示出传输事件日志的清单的示例性数据结构的图;
图5是示出用于生成传输事件日志的示例方法的流程图;
图6是示出用于控制事件日志的管理的示例方法的流程图;
图7是示出用于响应于检测到车内网络内的入侵而执行补救动作的示例方法的流程图;
图8是示出用于执行车内网络入侵检测的系统和相应的通信协议的功能框图;
图9是示出用于在车辆和远程计算系统之间进行通信以执行车内网络入侵检测的示例方法的流程图;
图10是用于存储车辆操作状态参数的存储器的示例性数据结构;
图11是示出用于执行异常检测的方法的流程图;
图12是示出用于执行包含车辆操作状态参数的异常检测的方法的流程图;
图13是示出用于基于关于控制器区域网络(CAN)分组转发策略的预定义规则来执行异常检测的方法的流程图;
图14是示出用于基于关于允许的车辆状态策略的预定义规则来执行异常检测的方法的流程图;以及
图15是示出入侵检测系统的另一个示例的功能框图。
在附图中,可以重复使用附图标记来标识相似和/或相同的元件。
具体实施方式
网络策略规则可以使用与“不良”行为和潜在威胁相关联的模式来定义,或者通过定义或学习统计上有界的“好”行为来定义。在运输系统的背景下,可以设计入侵检测系统(IDS)以识别可能指示性能“调整”或存在网络攻击的异常车内网络活动。
现在参考图1,示出了IDS 100。IDS 100包括车辆102和远程计算系统104。虽然车辆102可以是任何合适类型的车辆,但是在图1的示例中,车辆102构成汽车。车辆102可以经由本领域中已知的任何合适的无线网络无线连接到远程计算系统104。在一个示例中,远程计算系统104可以由一个或多个服务器计算机等实现。
在图1所示的示例中,车辆102包括异常检测模块108、驻留日志生成模块110、电子控制单元112、传输日志生成模块114、一个或多个控制器局域网(CAN)总线106、一个或多个以太网总线142、补救动作模块104和故障指示灯(MIL)150。远程计算系统104包括入侵检测模块116、入侵响应模块118和日志控制模块120。
在操作中,系统100可以如下操作以检测车辆102的网络内的入侵。车辆102的异常检测模块108被配置为从车辆的一个或多个通信总线(比如CAN总线106和/或以太网总线142)获得(即,获取或接收)一个或多个网络消息148。网络消息148可以包括CAN消息128和/或以太网消息144。网络消息148可以描述与车辆相关联的一个或多个事件。如本文所使用的,事件可以包括在车辆的机械、电气或软件系统内发生的任何活动。作为示例而非限制,事件可包括机械故障、电气故障、消息的产生,或可能潜在地指示车辆102的网络的入侵的任何其他活动。在一个示例中,机械故障可能包括车辆中的错误布线。
另外,异常检测模块108被配置为基于预定义规则122来检测一个或多个事件中的至少一些是否构成异常。如果事件发出车辆内发生的异常、独特和/或意外活动的信号,则可以检测到事件以构成异常。异常检测模块108可以通过将描述事件的信息与预定义规则122进行比较来检测特定事件是否构成异常,预定义规则122建立异常和非异常行为的边界。
根据一些示例,预定义规则122可以至少部分地基于车辆102的操作状态参数。作为示例而非限制,操作状态参数可以包括(i)车辆102的速度;(ii)车辆102的操作模式(例如,青少年驾驶员模式等);(iii)车辆102的动力模式;(iv)车辆102的变速器挡位选择器(即“PRNDL”)的状态;和/或(v)与车辆102相关的测试工具的存在(例如,存在诊断工具)。
根据其他示例,预定义规则122可以附加地或替代地基于与车辆相关联的一个或多个网络设计参数。网络设计参数可以包括网络ID、消息传输速率、分配的网络和/或消息长度。
在一些实施方式中,异常检测模块108被配置为通过确定与给定事件相关联的给定网络消息在车辆102的网络上是否可见来基于预定义规则122来检测给定事件是否构成异常。如果确定网络消息确实在车辆的网络上可见,则根据一些示例,异常检测模块108可以检测异常。如果确定网络消息在车辆的网络上不可见,则根据一些示例,异常检测模块108可以检测到不存在异常。
在一些示例中,一个或多个网络消息148中的每一个与消息ID相关联,并且异常检测模块108被配置为通过确定任何预定义规则122是否对应于给定的消息ID来基于预定义规则122来检测给定事件是否构成异常。如果预定义规则确实对应于给定消息ID,则异常检测模块108被配置为将与预定义规则相关联的允许状态与车辆102的当前状态进行比较。如果车辆102的当前状态不对应于预定义规则的允许状态,则异常检测模块108可以检测异常。然而,如果车辆102的当前状态对应于预定义规则的允许状态,则异常检测模块108可以检测到不存在异常。
在确定一个或多个事件中的一些事件构成异常时,异常检测模块108可以生成描述异常事件的异常事件数据130。驻留日志生成模块110可以获得异常事件数据130以供进一步处理。更具体地,驻留日志生成模块110可以被配置为基于检测到的异常事件数据130生成一个或多个驻留事件日志126。驻留事件日志126可以包括与一个或多个检测到的异常事件相关联的元数据。作为给定的驻留事件日志的一部分而包括的特定类型的元数据在图2-3中示出并在下面进一步详细讨论。
根据一些实施方式,车辆102还可包括电子控制单元(ECU)112。ECU可以从驻留日志生成模块110获取驻留事件日志126,并将驻留事件日志126存储在存储器124中。尽管根据一些实施方式示出了与异常检测模块108、驻留日志生成模块110、传输日志生成模块1154和补救动作模块140的单独元件,但是前述模块108、110、114以及140中的一个或多个可以实施为ECU 112的一部分。例如,根据一些实施方式,ECU 112可以包括一个或多个微控制器,其被配置为执行存储在存储器124中的可执行指令以执行归于模块108、110、114和140的一些或全部功能。
传输日志生成模块114被配置为从ECU 112获得驻留事件日志126,并基于驻留事件日志生成一个或多个传输事件日志132。每个传输事件日志可以对应于驻留事件日志。给定的传输事件日志可以对应于给定的驻留事件日志,其中传输事件日志将包括作为驻留事件日志的一部分而被包括的一些或全部元数据。在一些实施方式中,给定的传输事件日志可以包括比其对应的驻留事件日志更少的元数据。以这种方式,可以最小化与将传输事件日志从车辆102传输到远程计算系统104相关联的数据传输成本。根据一些实施方式,传输事件日志与其对应的驻留事件日志共享的公共数据的量可以基于例如,从远程计算系统104发出的命令而变化,如下面另外详细讨论的。在一些示例中,给定的传输事件日志可以包括其对应的驻留事件日志中包括的所有元数据。
传输事件日志生成模块还被配置为将传输事件日志132传输到远程计算系统104以进行进一步处理。
远程计算系统104的入侵检测模块116被配置为从车辆102的传输事件日志生成模块114获得传输事件日志132。一旦获得传输事件日志132,入侵检测模块116被配置为基于传输事件日志132确定在车辆网络内是否发生了入侵。根据一些示例,入侵检测模块116可以利用基于规则的方法来执行入侵检测,从而根据预定义规则和/或策略来分析传输事件日志132以检测入侵。根据其他示例,入侵检测模块116可以采用监督的或无监督的机器学习技术来基于传输事件日志132来检测入侵。
在检测到入侵时,入侵检测模块116被配置为生成入侵检测数据134。入侵检测数据134包括描述入侵性质的数据。入侵检测模块116还配置为将入侵检测数据134传输给入侵响应模块118和日志控制模块120,以进行进一步处理。
入侵响应模块118被配置为获得入侵检测数据134并响应于此生成入侵响应命令118。入侵响应命令136被配置为指示车辆执行一些肯定动作来解决或减轻检测到的入侵的影响。
车辆的补救动作模块140被配置为获得入侵响应命令136并响应于此而实施方式一些补救动作。更具体地,补救动作模块140可以例如,限制来自一个或多个通信总线(例如,一个或多个CAN总线或一个或多个以太网总线)的通信或者引起故障指示灯(MIL)150的照明。
日志控制模块120被配置为获得入侵检测数据134并响应于此生成日志控制命令138。日志控制命令138被配置为指示车辆定义和/或修改驻留事件日志126和/或传输事件日志132被存储、生成、传输等的方式。
根据一些实施方式,ECU 112被配置为获得日志控制命令138并且响应于以下执行一个或多个动作:(i)从存储器124中擦除一个或多个驻留事件日志的至少一个驻留事件日志126和/或(ii)针对一个或多个驻留事件日志126中的至少一个来调整存储器124内的存储器分配。
根据一些示例,传输日志生成模块114被配置为获取日志控制命令138并且响应于以下执行一个或多个动作:(i)将一个或多个驻留事件日志126中的至少一个传输到远程计算系统104;(ii)在传输到远程计算系统104之前调整一个或多个驻留事件日志126中的至少一个的内容;(iii)调整与传输日志生成模块114相关联的日志传输速率,由此日志传输速率描述从传输日志生成模块114向远程计算系统104传输传输事件日志132的频率;和/或(iv)限制一个或多个传输事件日志132的数据大小。
现在参考图2,示出了用于驻留事件日志和/或传输事件日志的示例性数据结构200。根据一些示例,驻留事件日志和传输事件日志通常可以具有相同的数据结构。然而,在许多情况下,传输事件日志将包括比其对应的驻留事件日志更少的数据,除其他原因之外,减轻与通过一个或多个无线网络向远程计算系统传输信息相关联的费用。数据结构200包括具有循环冗余校验(CRC)204的清单202和包括一个或多个事件日志条目的事件日志206。清单202可以包括数据结构200的细节以及关于是否发生新事件的细节。CRC 204可以包括基于其内容的多项式除法的余数而附加的校验值,如果在数据结构200的传输期间引入错误,则允许恢复数据结构200中的一些或全部。每个事件日志条目可以包括关于违反一个或多个预定义规则(例如,图1的预定义规则122)的细节。
每个事件日志条目可以包括违反的规则ID 208、总违规计数器210、发生的时间帧违规212、违反规则的网络消息214,以及历史数据216。给定事件日志条目的违反规则ID208部分可以包括从共同构成规则策略的多个规则中违反的特定规则的标识。给定事件日志条目的总违规计数器210部分可以包括表示已经违反规则的次数的计数器。给定事件日志条目的发生时间帧违规212部分可以包括(i)指示第一次发生规则违反的第一时间戳(例如,以协调世界时(UTC)格式)和(ii)指示发生规则违反的最近时间的第二时间戳(例如,以UTC格式)两者。违反给定事件日志条目的规则部分的网络消息214可以包括指示违反规则的有争议的特定网络消息的标识(例如,消息ID)。最后,给定事件日志条目的历史数据216部分可以包括提供有争议的规则违反的历史时间线的信息,包括但不限于:(1)网络消息时间戳,其提供有争议的规则被违反的时间指示;(2)识别在车辆网络上看到有争议的消息的网络ID的消息ID,以及(3)包括在违反有争议的规则时的车辆状态参数的消息车辆状态信息。
图3示出了驻留事件日志清单300的数据结构的一个示例。驻留事件日志清单300包括规则集302和新记录的事件突出显示306。规则集302包括软部件参考标号304。软部件参考标号304标识驻留事件日志对应的规则集。在规则集构成基于校准的规则集的示例中,软部件参考标号304可以包括相关联的校准文件部件号。在规则集构成符合基于应用程序代码的规则集的数据的示例中,软部件参考标号304可以包括对相关应用程序代码部件号的引用。新记录的事件突出显示306包括总规则违反308部分。总规则违反308包括针对由软部件参考标号304定义的给定规则集内的所有规则违反记录的事件总数的概要。
图4示出了用于传输事件日志清单400的数据结构的一个示例。传输事件日志清单400包括日志类型标识符402、规则集410、时间窗口412、车辆标识符422和CRC 424。
日志类型标识符402包括消息类型信息404和日志格式信息406。消息类型信息404包括给定消息的功能的标识。根据一些示例,消息类型404可以将有争议的消息指示为(i)保留,(ii)反映来自特定微控制器的特定核心的事件日志,(iii)反映来自特定微控制器的特定核心的非事件日志(例如,消息),或者更广泛地,仅从特定微控制器发出,(iv)反映来自远离车辆的远程计算系统的非事件日志(例如,消息),以及(v)反映健康状况日志。日志格式信息406定义消息中包括的数据的格式。
规则集410包括软部件、部件号408。软部件、部件标号408标识传输事件日志对应的规则集。在规则集构成基于校准的规则集的示例中,软部件、部件标号408可以包括相关联的校准文件部件号。在规则集构成编译成基于应用程序代码的规则集的数据的示例中,软部件、部件号408可以包括对相关应用程序代码部件号的引用。
时间窗口412包括StartRecord时间414和NextStartRecord时间416。StartRecord时间414可以包括时间戳(例如,以UTC格式),其提供传输事件日志的起始点的指示。NextStartRecord时间416可以包括时间戳(例如,以UTC格式),其提供对被计划用于传输到远程计算系统的下一个传输事件日志的起始点的指示。
车辆标识符422包括VIN号418和唯一ID号420。VIN号418识别传输清单400所属的传输事件日志的车辆。唯一ID号420标识传输清单400所属的传输事件日志的车辆的ECU。
最后,CRC 424可以包括基于其内容的多项式除法的余数附加的校验值,如果在清单400的传输期间引入错误,则允许恢复传输事件日志清单400中的一些或全部。
现在参考图5,提供了示出根据本文提供的示例的用于生成传输事件日志的方法500的流程图。方法500开始于502,其中从车辆的一个或多个通信总线获得一个或多个消息。一个或多个消息可以描述与车辆相关联的一个或多个事件。在504处,方法500涉及基于预定义规则来检测至少一些事件是否构成异常以提供检测到的异常事件数据。在506,基于检测到的异常事件数据生成一个或多个驻留事件日志。一个或多个驻留日志可以包括与检测到的异常事件相关联的元数据。最后,在508,基于驻留事件日志生成一个或多个传输事件日志。每个传输事件日志可以对应于驻留事件日志。另外,根据一些实施方式,一个或多个传输事件日志中的每一个可以包括比其对应的驻留事件日志更少的元数据。在508之后,该方法结束。
现在参考图6,提供了示出用于控制事件日志的管理的方法600的流程图。方法600开始于502。步骤502至508以与关于图5所述的基本相同的方式执行.因此,从步骤602开始,方法600包括确定是否已获得日志控制命令。根据一个示例,日志控制命令可以从远程计算系统传输到车辆以控制事件日志的管理。如果尚未获得日志控制命令,则方法600返回到502并且可以重复步骤502到508。然而,如果已经获得了日志控制命令,则方法600可以前进到604、606、608、610、612和614中的一个或多个以进行进一步处理。
在602之后,可以执行在604、606、608、610、612和614处阐述的一个或多个动作。另外,一个或多个动作可以串行地或并行地执行。在604、606、608、610、612和614处阐述的动作可以表示例如,车辆在从远程计算系统获得控制命令时可用的各种选项。在604处,可以从存储器(例如,车辆的易失性或非易失性存储器)擦除一个或多个驻留事件日志。在606处,可以针对一个或多个驻留事件日志来调整存储器分配。根据一个示例,调整存储器分配可以包括改变一个或多个驻留事件日志存储在物理或虚拟存储器中的位置。在608处,可以将一个或多个驻留事件日志或传输事件日志从车辆传输到远程计算系统。在610处,可以在从车辆到远程计算系统的传输之前调整一个或多个驻留事件日志或传输事件日志的内容。在612处,可以调整日志传输速率。日志传输速率可以描述传输事件日志从车辆传输到远程计算系统的频率。最后,在614处,可以限制一个或多个传输事件日志的数据大小。在执行604、606、608、610、612和614中的任何一个、一些或全部之后,方法600结束。
现在参考图7,示出了用于响应于检测到车内网络内的入侵而执行补救动作的方法700的流程图。方法700开始于502处。步骤502至508以与关于图5所述的基本相同的方式执行.因此,从步骤702开始,方法700包括确定是否已经例如,通过车辆形成远程计算系统来获得入侵响应命令。如果尚未获得入侵响应命令,则方法700返回到502并且可以重复步骤502到508。然而,如果已经获得入侵响应命令,则方法700可以前进到704和/或706以进行进一步处理。
在702之后,可以串行地或并行地执行在704和706处阐述的一个或多个动作。在704和706处阐述的动作可以表示例如,车辆在从远程计算系统获得入侵响应命令时可用的各种选项。在704处,可以限制来自车辆的一个或多个通信总线(例如,CAN总线和/或以太网总线)的通信。在706处,可以点亮故障指示灯(MIL)。被照亮的MIL灯可以例如,向车辆乘员发信号通知需要注意的车辆(例如,网络入侵者)存在问题。在704和/或706之后,方法700结束。
现在转向图8,示出了用于在车辆102和远程计算系统104之间进行通信的系统800和相关联的通信协议。车辆102和远程计算系统104可以基本上类似于关于以上的图1示出和描述的车辆102和远程计算系统104。图8的示例性车辆102与图1的示例性车辆的不同之处在于图8的车辆102示出为包括中央网关模块(CGM)802和无线传输器804。CGM 802可以包括第一微控制器802和第二微控制器808。此外,CGM 802的第一微控制器806可以包括第二核心810和第一核心812。根据一些示例性实施方式,第二核心810和第一核心812可以访问共享的、安全的存储器(未示出),其用于驻留事件日志和/或传输事件日志的生成、存储和传输等。
第二微控制器808可以经由一个或多个合适的有线或无线通信信道通信地连接到无线传输器804。类似地,第二微控制器808可以经由一个或多个合适的有线或无线通信信道通信地连接到第一微控制器806。无线传输器804被配置为使用一个或多个合适的通信协议(例如,VCP/TCP等)通过一个或多个无线通信网络与远程计算系统104通信。
根据一些示例性实施方式,系统800的组件可以如下彼此通信。在814处,第一微控制器806的第二核心810可以生成传输事件日志并将传输事件日志传输到第一微控制器806的第一核心812。然后,第一微控制器806的第一核心812可以将传输事件日志814转发到第二微控制器808。在接收到传输事件日志814时,第二微控制器808可以(i)生成确认816,确认成功接收到传输事件报告814;(ii)将确认816传输到第一微控制器806的第一核心812;(iii)将传输事件报告814转发到无线传输器804。在接收到确认816时,第一核心812可以将确认816转发到第一微控制器806的第二核心810。
无线传输器804可以从第二微控制器808接收传输事件日志814,并且通过一个或多个无线网络将相同的814转发到远程计算系统104。在从车辆102的无线传输器804接收到传输事件日志814时,远程计算系统104可以(i)生成确认818,确认成功接收到传输事件报告814;(ii)将确认818传输到车辆102的无线传输器804;(iii)生成命令820;并且将命令820传输到车辆102的无线传输器804。命令820可以包括日志控制命令和入侵响应命令中的至少一个。确认818和命令820都可以经由包括无线传输器804、第二微控制器808和第一微控制器806的第一核心812的中间设备从远程计算系统104上游转发回第二核心810。
在接收到命令820时,第一微控制器的第二核心810可以(i)生成确认成功接收到命令820的确认822,以及(ii)将确认822传输到第一核心812。然后,第一核心812可以经由包括第二微控制器808和无线传输器804的中间设备沿着确认822前进到远程计算机系统104。
上面关于图8讨论的系统800和通信协议提供了车内网络入侵检测下的几个优点。首先,系统800的架构允许从网络连接中隔离某些入侵检测功能(例如,异常检测)以降低直接远程攻击的可能性。例如,根据一种实施方式,异常检测和驻留事件日志/传输事件日志生成可以由第二核心810完成,该第二核心810可以通过诸如第二微控制器808和无线传输器804之类的中间组件与直接车外通信通信地隔离。此外,根据一些示例性实施方式,第一微控制器806未提供能够将事件日志(例如,传输事件日志)直接传输到远程计算系统104的网络堆栈。这可以降低第一微控制器806的复杂性和费用。相反,第二微控制器804可以是包括作为CGM 802的一部分的单独微控制器,其包括能够将事件日志传输到远程计算系统104的网络堆栈(例如,经由无线传输器804)。未能隔离第一微控制器806可能潜在地打开门控和异常检测功能以直接远程攻击的可能性。此外,确认的使用(例如,确认818、818、822等)通过确保通信(例如,传输事件日志)到达其预期目的地来提高系统的可靠性。因此,参照图8公开了架构和通信协议,这可以提供端对端通信系统800,根据一些示例,该端对端通信系统800确保在开放系统互连(OSI)模型的第4层使用特定通信路径,而其他系统可以仅确保从各种选项中使用可靠路径(通常在OSI模型的第2层处理)。
现在参考图9,提供了示出用于在车辆和远程计算系统之间进行通信以便提供车内网络入侵的方法900的流程图。方法900开始于902,其中在第一微控制器中生成传输的事件。在904处,将传输事件日志从第一微控制器传输到第二微控制器。在906处,第一微控制器等待来自第二微控制器的确认接收到传输事件日志。在908处,确定第一微控制器是否从第二微控制器接收到确认。
如果没有接收到确认,则方法900前进到910并且确定是否已经发生超时(即,在从第一微控制器向第二微控制器传输传输事件日志之后是否已经过了预定量的时间)。如果已经发生超时,则方法900返回到904,并且将传输事件日志从第一微控制器重新传输到第二微控制器。如果没有发生超时,则方法900返回到906,并且第一微控制器等待来自第二微控制器的确认。
如果在908处,第一微控制器从第二微控制器接收到确认,则方法900前进到912。在912处,第二微控制器等待来自远程计算系统的确认(例如,确认远程计算系统接收到从第二微控制器传输到第一微控制器的传输事件日志(步骤未在图9中示出))。在914处,确定第二微控制器是否从远程计算系统接收到确认。
如果没有接收到确认,则方法900前进到916,并且确定是否已经发生超时(即,在从第二微控制器向远程计算系统传输传输事件日志之后是否已经过了预定量的时间)。如果已经发生超时,则方法900返回到904,并且将传输事件日志从第一微控制器重新传输到第二微控制器。如果没有发生超时,则方法900返回到912,并且第二微控制器等待来自远程计算系统的确认。在914之后,方法900结束。
图10示出了用于存储车辆操作状态参数的存储器的示例性数据结构1000。根据一些示例,数据结构1000可以存储在可以由执行异常检测的入侵检测系统的组件访问的一个或多个寄存器中(例如,图1的异常检测模块108、图8的第一微控制器806等)。以这种方式,可以在确定是否违反被视为异常检测的一部分的任何预定义规则时考虑车辆操作状态参数。如图所示,数据结构1000可以保留数据的比特和/或字节以表达关于车辆状态的以下类型的信息:(i)呈现能力是否有效;(ii)驾驶员模式A或驾驶员模式B是否有效;(iii)青少年驾驶员模式是否有效;(iv)目前测试工具是否与车辆连接;(v)CGM安全访问状态;(vi)车速;(vii)车辆动力模式;(viii)变速器挡位选择器的状态(即“PRNDL”状态)。
考虑前述车辆操作状态参数可以通过提供围绕潜在规则违反的上下文来帮助异常检测,从而允许改进的网络事件分类。根据一些实施方式,异常检测可以包含布尔操作(例如,AND/OR操作)以定义灵活的逻辑表达式,该逻辑表达式能够将网络消息与性能设计参数、消息有效载荷、车辆操作状态条件、发生频率和在完整逻辑表达式中使用适当的符号忽略定义表达式时不需要的元件的网络响应。
除了其他优点之外,在执行异常检测时结合车辆的操作状态参数可以包括(i)减少可能产生的误报的数量的能力(即,当事件实际上不是异常或实际上并未表示入侵时检测到异常事件)和(ii)网络入侵规则的生成,该网络入侵规则能够在异常使用的情况下放置正常行为以支持反车辆盗窃和欺诈举措。
图11-12提供了如何考虑车辆操作状态参数可以改善异常和入侵检测的示例。更具体地,图11是示出用于在没有车辆操作状态参数的情况下执行异常检测的方法的流程图,而图12是利用车辆操作状态参数进行异常检测的方法。
关于图11的流程图,方法1100开始于1102,其中模式0x28以功能从CAN总线6传播。模式0x28指的是限制车辆的一个或多个网络总线上的通信的统一诊断服务(UDS)状态。在1104处,车辆的CGM将CAN通信传递到异常检测模块。在1106处,异常检测模块基于例如,预定义规则来检测CAN通信是否是对抗性的。在1008处,作为异常检测过程的一部分,确定模式0x28是否源自诊断总线,例如,CAN总线6或CAN总线7。如果模式0x28确实源自诊断总线,则方法1100前进到1110,其中确定模式0x28可以反映服务例程并且没有检测到异常行为。在1110之后,方法1100可以结束。然而,如果模式0x28不是源自诊断总线,则方法1100前进到1112,其中确定模式0x28起源于CAN1并且检测到异常行为。在1112之后,方法1100可以结束。
现在转向图12,提供了另一种方法1200。步骤1102到1112基本上按照上面关于图11所述的那些步骤的描述进行。然而,方法1200结合使用从1202开始的车辆操作状态参数以提高异常检测的准确性。具体地,在1108处确定模式0x28确实源自诊断总线之后,方法1200前进到1202,其中确定模式0x28可以反映服务例程并且没有检测到异常行为。
然而,不是在该步骤之后得出结论(如图11的方法1100中的情况),方法1200前进到1204,其中确定在车辆变速器处于行驶中时是否发生0x28。如果是,则方法1200前进到1206,其中确定0x28应当仅在车辆变速器处于停车状态时发生,并且检测并记录异常行为。如果在车辆变速器未处于行驶状态时确定发生了0x28,则方法1200前进到1208,在此确定在车辆速度超过每小时3千米(kpH)时是否发生0x28。(尽管3kpH是在该示例中使用的阈值,但是本领域普通技术人员将理解,可以结合任何合适的速度阈值作为该步骤的一部分而不偏离本文的教导。)
如果在车辆速度超过3kpH时发生0x28,则方法1200前进到1210,其中确定0x28应该仅在车辆静止时发生,并且检测并记录异常行为。如果在车辆速度不超过3kpH时确定发生了0x28,则方法1200前进到1212,在此确定没有检测到异常行为。在1210或1212之后,方法1200结束。
参考图13,提供了示出用于基于关于CAN分组转发策略的预定义规则来执行异常检测的方法1300的流程图。尽管图13中所示的示例适用于CAN分组转发策略,但是普通技术人员将认识到方法1300可以同等地应用于其他类型的网络消息,例如,以太网消息等。此外,方法1300假设执行异常检测的系统的组件接收所有网络消息以及CGM具有或将要转发的所有消息。CAN分组转发策略反映在图13中,例如,确保在不使用CGM的情况下在车辆网络内路由的任何消息将被检测为异常。
方法1300开始于1302,其中获得CAN消息。在1304,确定CAN消息是否被成功传输。如果是,则方法1300前进到1306,其中未检测到违反任何预定义规则并且系统等待下一个CAN消息。然而,如果在1304确定CAN消息未被成功传输,则方法1300前进到1308。在1308处,确定是否在车内网络中看到CAN消息。如果不是,则方法1300返回到1304。然而,如果在车内网络上看到CAN消息,则方法1300前进到1310,其中确定违反了预定义规则(这可能导致检测到异常)。在1310之后,该方法结束。
现在参考图14,提供了示出用于基于关于允许的车辆状态策略的预定义规则来执行异常检测的方法1400的流程图。尽管图14中所示的示例适用于CAN消息,但是普通技术人员将认识到方法1400可以同等地应用于其他类型的网络消息,例如,以太网消息等。
方法1400开始于1402,其中获得具有CAN_ID的CAN的消息。在1404处,确定CAN-ID是否与预定义规则相关联。如果不是,则方法1400前进到1406,其中没有检测到违规,并且系统等待下一个CAN消息。然而,如果确定CAN_ID与规则相关联,则方法1400前进到1408,其中确定关联规则的允许状态是否与车辆的当前状态匹配。如果是,则方法1400前进到1410,其中没有检测到违规并且系统等待下一个CAN消息。然而,如果确定相关联的规则的允许状态与车辆的当前状态不匹配,则方法1400前进到1412,其中检测到规则违反。在1406、1410和1412之后,方法1400结束。
现在参考图15,示出了用于在车内网络内执行入侵检测的系统1500的另一个示例。系统1500包括经由无线网络1510无线连接到远程计算系统104的车辆102。图15的系统1500类似于图1的系统100和图8的系统800。然而,图15的系统1500示出了关于CGM 802等的其他细节。更具体地,图15示出了CGM 802的架构,其允许受挑战网络中的节点(即,第一微控制器806的第二核心810)监视其功能上与其隔离的网络。而且,图15示出了可以利用第一微控制器806的第一核心812和第二核心810之间共享的共享存储器1502来安全地使网络消息对与网络隔离的节点可见的方式。参考图15和以下讨论的,其他优点将变得显而易见。
如上所述,车辆102可以包括CGM 802和连接到CGM 802的无线传输器804。无线传输器804可以被配置为经由无线网络1510向远程计算系统104传输(和获得)消息、信号、命令等。
CGM 802可以包括第一微控制器806和第二微控制器808。根据一些示例性实施方式,每个微控制器806、808可以构成32位微控制器。然而,在不偏离本文的教导的情况下,可以在本公开的上下文中同等地使用其他合适的微控制器架构。根据一些示例,CGM 802可以实施为一个或多个ECU等。
第一微控制器806可以包括第一核心812、第二核心810和连接到第一和第二核心812、810的存储器1502。第一核心812可以连接到一个或多个CAN总线106和/或一个或多个以太网总线142,以便从其获得网络消息148。根据一些示例,第一核心812可以被配置为将网络消息148写入存储器1502(例如,共享存储器1506),使得可以由第二核心810访问和分析消息以用于根据本公开的教导执行异常检测。根据一些示例,共享存储器1506可以仅可由第一微控制器806的第一核心812和第二核心810直接访问,以保护入侵检测系统1500本身免受网络攻击等的危害。
存储器1502可以包括安全随机存取存储器(RAM)1504和安全非易失性存储器(NVM)1512。安全RAM 1504可以实施为任何合适类型的RAM,包括但不限于SRAM、DRAM、FPMDRAM、EDO DRAM、SDRAM、DDR SDRAM、RDRAM、CMOS RAM等。安全RAM 1504可以包括共享存储器1506,其在第一微控制器806的第一核心812和第二核心810之间共享。安全RAM 1504还可以存储一个或多个驻留事件日志126和/或一个或多个传输事件日志132。驻留事件日志126和/或传输事件日志132可以由第二核心810写入安全RAM 1504,例如,作为异常检测之后的事件日志生成过程的一部分。
安全NVM 1512可以实施为任何合适类型的NVM,包括但不限于闪存、ROM、铁电RAM、磁存储设备、光盘等。安全NVM 1512可以包括一个或多个驻留事件日志126和/或一个或多个传输事件日志132。根据一些实施方式,驻留事件日志126和/或传输事件日志132可以从安全RAM 1504传输或备份到安全NVM 1512。例如,第二核心810可以被配置为在存储器1502断电之前将驻留事件日志126和/或传输事件日志132写入安全NVM 1512(例如,响应于车辆点火被关闭等)。虽然前述示例设想第二核心810在存储器1502断电之前将驻留事件日志126和/或传输事件日志132写入安全NVM 1512,但是本公开同样考虑其他非断电场景,其中第二核心810将驻留事件日志126和/或传输事件日志132写入安全NVM 1512。
第二微控制器808可以经由任何合适的通信信道连接到第一微控制器806,并且可以被配置为促进第一微控制器806和远程计算系统104之间的通信。然而,更具体地,根据一些示例,第一微控制器806不包括网络堆栈(并且因此不能在车内网络外部通信),而第二微控制器808确实包括网络堆栈1508。网络堆栈1508允许第二微控制器808通过无线传输器804在车辆102外部的网络(例如,无线网络1510)上进行通信。以这种方式,第二微控制器808可以用作第一微控制器806和车辆102外部的网络之间的接口或网关。
在操作中,系统1500可以如下运行以检测车辆102的网络内的入侵。第一微控制器806的第一核心812可以从车辆的一个或多个通信总线(例如,CAN总线106和/或以太网总线142)获得网络消息148。从通信总线获得的网络消息148可以从车辆中的其他组件(未示出)发出,包括但不限于数据链路连接器(DLC),比如OBD-II、中央控制台等。网络消息148可以描述与车辆相关联的一个或多个事件,如上面关于图1更全面地解释的。
第一核心812可以将一个或多个消息148写入存储器1502。更具体地,根据一些示例,第一核心812可以将网络消息写入共享存储器1506,使得消息148可由第二核心810访问(即,可以被读取)。除了将网络消息148写入存储器之外,第一核心812还可以将附加信息写入存储器(例如,共享存储器1506),使得第二核心810可以访问附加信息用于例如,执行异常检测和事件日志生成的目的。例如,第一核心812可以将以下附加类型的信息写入存储器1502:(i)路由的网络消息;(ii)诊断消息;和/或(iii)车辆的操作状态参数。根据一些示例,车辆的操作状态参数可以根据图10中所示的并在上面讨论过的数据结构存储在存储器1502中。
第二核心810可以读取存储在存储器1502中的一个或多个网络消息148(例如,安全RAM 1504的共享存储器1506),并基于此执行异常检测和日志生成。更具体地,第二核心810可以基于预定义规则(例如,预定义规则122)来检测网络消息148中描述的一个或多个事件中的至少一些是否构成异常。另外,第二核心810可以基于检测到的异常数据(例如,图1中所示的检测到的异常数据130)生成一个或多个驻留事件日志126。
如上所述,一个或多个驻留事件日志126可以包括与一个或多个检测到的异常事件相关联的元数据。此外,第二核心810可以基于一个或多个驻留事件日志126生成一个或多个传输事件日志132。还如上所述,传输事件日志132可以对应于各个驻留事件日志126。根据一些示例,一个或多个传输事件日志132可以包括比它们各自的相应的一个或多个驻留事件日志126更少的元数据,以便在传输事件日志132时减少数据传输成本,和/或驻留事件日志126经由无线网络1510从车辆102传输到远程计算系统104。
第二核心810可以将任何生成的驻留事件日志126和/或传输事件日志132写入存储器1502,使得日志126、132可以(i)由第一核心812读取;(ii)经由第一微控制器806的第一核心812传输到第二微控制器808;(iii)经由无线传输器804通过无线网络1510从第二微控制器808传输到远程计算系统104。更具体地,第二核心810可以将任何生成的驻留事件日志126和/或传输事件日志132写入安全RAM 1504和/或安全NVM 1512。第一核心812可以读取由第二核心810经由安全RAM 1504(包括共享存储器1506)和/或安全NVM 1512写入存储器1502的任何生成的驻留事件日志126和/或传输事件日志132。
除了其他优点之外,根据本文描述的实施方式,CGM 802的架构允许入侵检测系统1500的异常检测和事件日志生成功能在第一微控制器806的第二核心810内被隔离,第二微控制器806不具有对网络堆栈的直接访问(例如,网络堆栈1508)。以这种方式,可以保护入侵检测系统1500的异常检测和日志生成功能免受直接远程网络攻击。
根据某些实施方式,图15的系统1500包括:图15还被配置为基本上根据关于本文的图8描述和示出的协议生成和传输确认信号.例如,在从第一微控制器806成功接收一个或多个传输事件日志132和/或驻留事件日志126之后,第二微控制器808可以生成确认信号(确认成功接收到相关的一个或多个事件日志)并将该确认信号传输回第一微控制器806。根据一些示例,第一微控制器806的第一核心810然后可以将确认信号写入存储器1502,使得例如,第二核心810可以读取确认以确定给定事件日志沿着系统1500的至少一个“跳变”被成功传输。
类似地,在成功地从第二微控制器808(经由无线传输器804和无线网络1510)接收到一个或多个传输事件日志132和/或驻留事件日志126之后,远程计算系统104可以生成确认信号并将该确认信号传输回第二微控制器808,该第二微控制器808反过来又可以将确认信号转发回第一微控制器806的第一核心812,在那里它可以被写入存储器1502等(并且最终由第二核心810读取,如果需要)。
最后,根据一些示例,远程计算系统104可以生成各种命令并将其传输到车辆,以便在检测到网络入侵的情况下进行事件日志管理和/或补救动作。
例如,并且如上关于图1的另外细节所讨论的那样,远程计算系统104可以生成并传输日志控制命令。日志控制命令可以从远程计算系统104传输到第二微控制器808,该第二微控制器808反过来又可以将日志控制命令传递到第一微控制器806。在获得日志控制命令时,第一微控制器806可以针对事件日志采取以下管理动作中的一个或多个:擦除一个或多个驻留事件日志126的至少一个驻留事件日志;调整一个或多个驻留事件日志126中的至少一个的存储器分配;将一个或多个驻留事件日志126中的至少一个传输到远程计算系统104;在传输之前调整一个或多个驻留事件日志126中的至少一个的内容;调整相关联的日志传输速率,该日志传输速率描述了从第一微控制器806向远程计算系统104传输传输事件日志132的频率;和/或限制一个或多个传输事件日志132的数据大小。
另外,远程计算系统104可以生成并传输入侵响应命令。日志控制命令可以从远程计算系统104传输到第二微控制器808,该第二微控制器808反过来又可以将入侵响应命令传递到第一微控制器806。在获得入侵响应命令时,第一微控制器806可以采取以下补救动作中的一个或多个:限制来自一个或多个通信总线(例如,CAN总线106和/或以太网总线142中的至少一个的通信)和/或照亮车辆102的MIL。
前面的描述本质上仅是说明性的,决不是要限制本公开、其应用或用途。本公开的广泛教导可以以各种形式实施。因此,尽管本公开包括特定示例,但是本公开的真实范围不应受此限制,因为在研究了附图、说明书和所附权利要求之后,其他修改将变得显而易见。应当理解,方法内的一个或多个步骤可以以不同的顺序(或同时)执行,而不改变本公开的原理。此外,尽管上面将每个实施例描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其他实施例的特征中实施和/或与其组合,即使没有明确描述该组合。换句话说,所描述的实施例不是相互排斥的,并且一个或多个实施例彼此的排列仍然在本公开的范围内。
使用各种术语来描述元件(例如,模块、电路元件、半导体层等之间)之间的空间和功能关系,包括“连接”、“接合”、“耦接”、“相邻”、“邻近”、“在...之上”,“在...上方”、“在...下方”和“布置”。除非明确地描述为“直接”,否则当在上面的公开中描述第一和第二元件之间的关系时,该关系可以是直接的关系,其中在第一和第二元件之间不存在其他中间元件,但该关系也可以是间接关系,其中在第一和第二元件之间存在(空间或功能上)一个或多个中间元件。如本文所使用的,A、B和C中的至少一个短语应该被解释为使用非排他性逻辑OR表示逻辑(A或B或C),并且不应该被解释为表示“A中的至少一个、B中的至少一个以及C中的至少一个“。
在图中,箭头状物所示的箭头方向通常表示图示中所关注的信息流(比如数据或指令)。例如,当元件A和元件B交换各种信息但是从元件A传输到元件B的信息与图示相关时,箭头可以从元件A指向元件B.该单向箭头并不意味着没有其他信息从元件B传输到元件A。此外,对于从元件A传输到元件B的信息,元件B可以向元件A传输对信息的请求或接收确认。
在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”来代替。术语“模块”可以指代以下部分或包括:特定应用集成电路(ASIC);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享、专用或组);存储由处理器电路执行的代码的存储器电路(共享、专用或组);提供所述功能的其他合适的硬件组件;或者上述一些或全部的组合,例如,在片上系统中。
该模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块之间。例如,多个模块可以允许负载平衡。在另一个示例中,服务器(也称为远程或云)模块可代表客户端模块完成某些功能。
如上所使用的术语代码可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路包含执行来自多个模块的一些或所有代码的单个处理器电路。术语组处理器电路包括与附加处理器电路组合、执行来自一个或多个模块的一些或所有代码的处理器电路。对多个处理器电路的参考包括分立管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个核心、单个处理器电路的多个线程,或上述的组合。术语共享存储器电路包括单个存储器电路,其存储来自多个模块的一些或所有代码。术语组存储器电路包括与附加存储器组合、存储来自一个或多个模块的一些或所有代码的存储器电路。
术语存储器电路是术语计算机可读介质的子集。如本文使用的术语计算机可读介质(例如,在载波上)不包括通过介质传播的瞬时电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(比如闪存电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(比如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(比如模拟或数字磁带或硬盘驱动器)和光存储介质(比如CD、DVD或蓝光光盘)。
本申请中描述的装置和方法可以部分或全部由专用计算机实施,该专用计算机通过配置通用计算机以执行计算机程序中包含的一个或多个特定功能而创建。上述功能块、流程图组件和其他元件用作软件规范,其可以通过熟练技术人员或程序员的例行工作转换成计算机程序。
计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。
计算机程序可以包括:(i)要解析的描述性文本,例如,HTML(超文本标记语言)、XML(可扩展标记语言)或JSON(JavaScript对象表示法)(ii)汇编代码,(iii)由编译器从源代码生成的对象代码,(iv)由解释器执行的源代码,(v)由即时编译器编译和执行的源代码等。仅作为示例,源代码可以使用来自包括C、C++、C#、ObjectiveC、Swift、Haskell、Go、SQL、R、Lisp、
Figure BDA0001781720500000251
Fortran、Perl、Pascal、Curl、OCaml、
Figure BDA0001781720500000252
HTML5(超文本标记语言第5版)、Ada、ASP(ActiveServerPages)、PHP(PHP:超文本预处理器)、Scala、Eiffel、Smalltalk、Erlang、Ruby、
Figure BDA0001781720500000253
Figure BDA0001781720500000254
Lua、MATLAB、SIMULINK和
Figure BDA0001781720500000255
等语言的语法编写。
权利要求中所述的任何元件均不是35U.S.C§112(f)意义上的装置加功能元件,除非使用短语“用于...的装置”或在方法权利要求的情况下使用短语“用于...的操作”或“用于...的步骤”明确叙述元件。

Claims (7)

1.一种系统,包括:
布置在车辆中的第一微控制器,其包括:
第一核心,其被配置为从车辆的一个或多个通信总线获得一个或多个网络消息,其中所述一个或多个网络消息描述与所述车辆相关联的一个或多个事件;
存储器,其连接到所述第一核心并被配置为:
存储由所述第一核心获得的一个或多个网络消息;以及
第二核心,其连接到所述存储器并被配置为:
从所述存储器中读取所述一个或多个网络消息;
基于预定义规则来检测所述一个或多个事件中的至少一些是否构成异常;
基于检测到的异常事件数据生成一个或多个驻留事件日志,其中所述一个或多个驻留事件日志包括与一个或多个检测到的异常事件相关联的元数据;并且
基于所述一个或多个驻留事件日志生成一个或多个传输事件日志,其中所述一个或多个传输事件日志中的每一个对应于驻留事件日志;以及
布置在车辆中的第二微控制器,其中所述第二微控制器连接到所述第一微控制器的第一核心,并且其中所述第二微控制器被配置为:
从所述第一微控制器的第一核心获得所述一个或多个传输事件日志;以及
经由无线传输器将所述一个或多个传输事件日志传输到远程计算系统;
其中所述第二微控制器包括网络堆栈,所述网络堆栈被配置为促进经由所述无线传输器无线传输所述一个或多个传输事件日志;并且
其中所述第一微控制器的第二核心不具有对网络堆栈的直接访问。
2.根据权利要求1所述的系统,其中所述第二微控制器还被配置为:
响应于获得所述一个或多个传输事件日志,生成确认信号;以及
将所述确认信号传输到所述第一微控制器。
3.根据权利要求1所述的系统,还包括所述远程计算系统,其中所述远程计算系统被配置为:
经由所述无线传输器从所述第二微控制器获得所述一个或多个传输事件日志;以及
基于所述一个或多个传输事件日志生成至少一个以下命令:
日志控制命令;以及
入侵响应命令。
4.根据权利要求3所述的系统,其中所述远程计算系统还被配置为经由所述无线传输器将所述日志控制命令传输到所述第二微控制器,并且其中所述日志控制命令指示所述第一微控制器执行以下中的至少一个:
擦除所述一个或多个驻留事件日志的至少一个驻留事件日志;
调整所述一个或多个驻留事件日志的至少一个的存储器分配;
将所述一个或多个驻留事件日志的至少一个传输到所述远程计算系统;
在传输之前调整所述一个或多个驻留事件日志的至少一个的内容;
调整相关联的日志传输速率,其中所述日志传输速率描述从所述第一微控制器向所述远程计算系统传输传输事件日志的频率;以及
限制所述一个或多个传输事件日志的数据大小。
5.根据权利要求3所述的系统,其中所述远程计算系统还被配置为经由所述无线传输器将所述入侵响应命令传输到所述第二微控制器,并且其中所述入侵响应命令指示所述第一微控制器执行以下中的至少一个:
限制来自所述一个或多个通信总线中的至少一个的通信;以及
照亮所述车辆的故障指示灯。
6.根据权利要求3所述的系统,其中所述远程计算系统还被配置为:
响应于获得所述一个或多个传输事件日志,生成确认信号;以及
经由所述无线传输器将所述确认信号传输到所述第二微控制器。
7.根据权利要求6所述的系统,其中所述第一微控制器的所述第一核心还被配置为:
从所述第二微控制器获得所述确认信号;以及
将所述确认信号写入所述存储器。
CN201810995305.9A 2017-09-11 2018-08-29 用于车内网络入侵检测的系统和方法 Active CN109495438B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/700605 2017-09-11
US15/700,605 US10686815B2 (en) 2017-09-11 2017-09-11 Systems and methods for in-vehicle network intrusion detection

Publications (2)

Publication Number Publication Date
CN109495438A CN109495438A (zh) 2019-03-19
CN109495438B true CN109495438B (zh) 2021-08-24

Family

ID=65441462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810995305.9A Active CN109495438B (zh) 2017-09-11 2018-08-29 用于车内网络入侵检测的系统和方法

Country Status (3)

Country Link
US (1) US10686815B2 (zh)
CN (1) CN109495438B (zh)
DE (1) DE102018122143A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7037748B2 (ja) * 2018-01-26 2022-03-17 トヨタ自動車株式会社 電子制御ユニット及び接続認証方法
RU2706887C2 (ru) * 2018-03-30 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ блокирования компьютерной атаки на транспортное средство
WO2019229969A1 (ja) * 2018-06-01 2019-12-05 三菱電機株式会社 データ通信制御装置、データ通信制御プログラムおよび車両制御システム
US11196759B2 (en) * 2019-06-26 2021-12-07 Microsoft Technology Licensing, Llc SIEM system and methods for exfiltrating event data
EP3767913B1 (en) * 2019-07-17 2023-08-02 AO Kaspersky Lab Systems and methods for correlating events to detect an information security incident
EP3809731A1 (en) * 2019-10-17 2021-04-21 Continental Teves AG & Co. OHG Advanced intrusion prevention manager
WO2021101302A1 (ko) * 2019-11-22 2021-05-27 현대자동차주식회사 자율주행차량의 이벤트 데이터 기록을 위한 시스템
US11425155B2 (en) * 2020-03-12 2022-08-23 The Aerospace Corporation Monitoring the integrity of a space vehicle
US11677582B2 (en) 2020-12-09 2023-06-13 Raytheon Company Detecting anomalies on a controller area network bus
DE102022116976A1 (de) 2022-07-07 2024-01-18 Audi Aktiengesellschaft Verfahren zum Hinweisen auf einen Angriff
WO2023241954A1 (de) 2022-06-13 2023-12-21 Audi Ag Verfahren zum hinweisen auf einen angriff
WO2024065093A1 (zh) * 2022-09-26 2024-04-04 华为技术有限公司 一种入侵检测方法、装置和系统
CN116599723B (zh) * 2023-05-18 2023-12-26 北京辉羲智能科技有限公司 一种车载can总线入侵检测芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442961A (zh) * 2011-03-29 2013-12-11 松下电器产业株式会社 车辆控制装置
CN104038466A (zh) * 2013-03-05 2014-09-10 中国银联股份有限公司 用于云计算环境的入侵检测系统、方法及设备
CN104507775A (zh) * 2012-07-31 2015-04-08 日立汽车系统株式会社 电动机控制装置
CN105791266A (zh) * 2015-01-13 2016-07-20 通用汽车环球科技运作有限责任公司 用于基于反射测量法的通信网络监测、入侵检测以及消息认证的方法和系统
CN106656705A (zh) * 2016-11-18 2017-05-10 成都信息工程大学 一种车载most/can安全网关及其入侵检测方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140358B1 (en) * 1996-01-29 2012-03-20 Progressive Casualty Insurance Company Vehicle monitoring system
JP3044025B1 (ja) * 1998-12-09 2000-05-22 株式会社データ・テック 運転傾向性の分析が可能な運行管理システム及びその構成装置
US6714894B1 (en) * 2001-06-29 2004-03-30 Merritt Applications, Inc. System and method for collecting, processing, and distributing information to promote safe driving
US7158053B2 (en) 2001-10-10 2007-01-02 Crank Kelly C Method and apparatus for tracking aircraft and securing against unauthorized access
US9201842B2 (en) * 2006-03-16 2015-12-01 Smartdrive Systems, Inc. Vehicle event recorder systems and networks having integrated cellular wireless communications systems
US8321941B2 (en) 2006-04-06 2012-11-27 Juniper Networks, Inc. Malware modeling detection system and method for mobile platforms
US20120136802A1 (en) 2010-11-30 2012-05-31 Zonar Systems, Inc. System and method for vehicle maintenance including remote diagnosis and reverse auction for identified repairs
US20120136743A1 (en) 2010-11-30 2012-05-31 Zonar Systems, Inc. System and method for obtaining competitive pricing for vehicle services
US10600096B2 (en) 2010-11-30 2020-03-24 Zonar Systems, Inc. System and method for obtaining competitive pricing for vehicle services
US10665040B2 (en) 2010-08-27 2020-05-26 Zonar Systems, Inc. Method and apparatus for remote vehicle diagnosis
US10607424B2 (en) 2012-02-10 2020-03-31 Appareo Systems, Llc Frequency-adaptable structural health and usage monitoring system (HUMS) and method with smart sensors
US8799032B2 (en) * 2012-05-22 2014-08-05 Hartford Fire Insurance Company System and method to predict an insurance policy benefit associated with telematics data
US9917800B2 (en) * 2012-08-24 2018-03-13 Cisco Technology, Inc. System and method for centralized virtual interface card driver logging in a network environment
US10370102B2 (en) 2016-05-09 2019-08-06 Coban Technologies, Inc. Systems, apparatuses and methods for unmanned aerial vehicle

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442961A (zh) * 2011-03-29 2013-12-11 松下电器产业株式会社 车辆控制装置
CN104507775A (zh) * 2012-07-31 2015-04-08 日立汽车系统株式会社 电动机控制装置
CN104038466A (zh) * 2013-03-05 2014-09-10 中国银联股份有限公司 用于云计算环境的入侵检测系统、方法及设备
CN105791266A (zh) * 2015-01-13 2016-07-20 通用汽车环球科技运作有限责任公司 用于基于反射测量法的通信网络监测、入侵检测以及消息认证的方法和系统
CN106656705A (zh) * 2016-11-18 2017-05-10 成都信息工程大学 一种车载most/can安全网关及其入侵检测方法

Also Published As

Publication number Publication date
DE102018122143A1 (de) 2019-03-14
US10686815B2 (en) 2020-06-16
US20190081966A1 (en) 2019-03-14
CN109495438A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109495439B (zh) 用于车内网络入侵检测的系统和方法
CN109495438B (zh) 用于车内网络入侵检测的系统和方法
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
US11411681B2 (en) In-vehicle information processing for unauthorized data
US11115433B2 (en) System and method for content based anomaly detection in an in-vehicle communication network
US10277598B2 (en) Method for detecting and dealing with unauthorized frames in vehicle network system
JP6487406B2 (ja) ネットワーク通信システム
EP3337102B1 (en) Illegality detection electronic control unit, car onboard network system, and illegality detection method
JP7121737B2 (ja) 異常検知装置、異常検知方法およびプログラム
JP2018026791A (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
US20200336504A1 (en) Log generation method, log generation device, and recording medium
CN109104352B (zh) 车辆网络操作协议和方法
CN110546921A (zh) 不正当检测方法、不正当检测装置以及程序
CN115016426A (zh) fail-safe失效安全系统,方法,储存器及汽车
WO2018020833A1 (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
KR20200124470A (ko) 차량의 게이트웨이 장치, 그를 포함한 시스템 및 그 침입 탐지 방법
KR20220082550A (ko) 차량
JP2024041392A (ja) 電子制御装置
CN117749555A (zh) 控制器区域网络系统和用于系统的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant