CN111147437A - 基于错误帧归因总线断开攻击 - Google Patents

基于错误帧归因总线断开攻击 Download PDF

Info

Publication number
CN111147437A
CN111147437A CN201910706027.5A CN201910706027A CN111147437A CN 111147437 A CN111147437 A CN 111147437A CN 201910706027 A CN201910706027 A CN 201910706027A CN 111147437 A CN111147437 A CN 111147437A
Authority
CN
China
Prior art keywords
ecu
error
bus
network
ecus
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.)
Granted
Application number
CN201910706027.5A
Other languages
English (en)
Other versions
CN111147437B (zh
Inventor
威廉·D·哈斯
拉斯·沃利申斯基
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.)
Lear Corp
Original Assignee
Lear Corp
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 Lear Corp filed Critical Lear Corp
Publication of CN111147437A publication Critical patent/CN111147437A/zh
Application granted granted Critical
Publication of CN111147437B publication Critical patent/CN111147437B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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
    • 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
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

本申请涉及基于错误帧归因总线断开攻击。错误检测器被配置成识别传输错误,并维护对于连接到网络总线的多个电子控制单元(ECU)中每一个的传输错误计数器(TEC)值和相应的网络标识符。错误检测器被配置成基于错误帧来调整对于ECU的TEC值,并且当ECU改变错误状态时通知入侵检测系统。以这种方式,错误检测器被配置成在接收到包含处于总线断开状态的合法ECU的网络标识符的消息时,帮助识别和归因冒充的节点的攻击。

Description

基于错误帧归因总线断开攻击
技术领域
本公开涉及一种用于将对控制器局域网(CAN)总线的攻击归因于冒充合法网络设备的外部设备的系统、设备和方法。
背景
现代车辆越来越依赖运行在复杂软件上的技术和连接。现代车辆有多台专用计算机,通常称为“电子控制单元”(ECU),用于控制车辆操作的各个方面。这些ECU可以例如控制车辆的引擎、各种驾驶员辅助技术(例如,前方碰撞警告、自动紧急制动和车辆安全通信)以及娱乐系统。许多这样的ECU在车辆环境中联网在一起。随着汽车行业向联网汽车和自动车辆发展,网络安全正成为车辆制造商日益关注的问题。负责车辆操作的系统和部件需要受到保护,以避免有害攻击、未经授权的访问、损坏或可能干扰重要车辆功能的任何其他情况。这种未经授权的访问通常被称为“入侵”。检测对计算机网络或电子系统的未经授权的访问的方法通常被称为“入侵检测”。
概述
一个或更多个计算机的系统可以被配置成通过在系统上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,这些软件、固件、硬件或它们的组合在操作中导致系统执行这些动作。一个或更多个计算机程序可以被配置成通过包括指令来执行特定的操作或动作,这些指令在被数据处理装置执行时使得该装置执行这些动作。本公开的一个或更多个实施例针对基于错误帧来归因总线断开攻击的方法。该方法可以包括维护对于连接到网络总线的多个电子控制单元(ECU)中的每一个的估计传输错误计数器(TEC)值。每个估计TEC值与对应于各自ECU的网络标识符相关联。该方法还可以包括监控由多个ECU通过网络总线传输的错误帧,并且在接收到在网络总线上传输的错误帧时,调整对于多个ECU中至少一个ECU的估计TEC值。该方法还可以包括当多个ECU中的一个ECU基于对于该ECU的估计TEC值而改变错误状态时通知异常检测系统。这方面的其他实施例可以包括记录在一个或更多个计算机存储设备上的相应计算机系统、装置和计算机程序,每个被配置成执行这些方法的动作。
实现方式可以包括以下一个或更多个特征。当接收到在网络总线上传输的错误帧时,调整对于多个ECU中至少一个ECU的估计TEC值的方法可以包括:接收包含足够位的错误帧,以基于传输ECU的网络标识符识别该传输ECU;以及基于该传输ECU的网络标识符增加对于该传输ECU的估计TEC值。当接收到在网络总线上传输的错误帧时,调整对于多个ECU中至少一个ECU的估计TEC值的方法还可以包括:当网络标识符未知时,确定错误帧是否指示位填充(bit-stuff)错误;以及响应于检测到位填充错误,增加对于正在主动传输的所有ECU的估计TEC值。
该方法还可以包括:通过网络总线从传输ECU接收数据帧;检测数据帧中的错误;以及基于传输ECU的网络标识符增加对于该传输ECU的估计TEC值。该方法还可以包括:通过网络总线从传输ECU接收数据帧;以及在没有检测到传输错误时,基于该传输ECU的网络标识符减小对于该传输ECU的估计TEC值。
当ECU改变错误状态时通知异常检测系统的方法可以包括:当ECU基于对于该ECU的估计TEC值而从错误主动状态转换到错误被动状态时通知异常检测系统。此外,当ECU改变错误状态时通知异常检测系统的方法可以包括:当ECU基于对于该ECU的估计TEC值而从错误被动状态转换到总线断开状态时通知异常检测系统。该方法还包括:当接收到具有属于处于总线断开状态的目标ECU的网络标识符的消息时,检测冒充的ECU在网络总线上的攻击。所述技术的实现方式可以包括硬件、方法或过程或计算机可访问介质上的计算机软件。
本公开的一个或更多个另外的实施例针对连接到控制器局域网(CAN)总线的错误检测器。错误检测器可以包括收发器和处理器。处理器可以被配置成维护对于连接到CAN总线的多个电子控制单元(ECU)中的每一个ECU的传输错误计数器(TEC)值,每个TEC值与对应于各自ECU的网络标识符相关联。该处理器还可以被配置成通过在CAN总线上传输错误帧的第一ECU的网络标识符识别至少该第一ECU,并且递增与该第一ECU相关联的TEC值。处理器还可以被配置成经由收发器向异常检测系统传输消息,该消息指示第一ECU已经响应于与该第一ECU相关联的TEC值达到预定值而改变了错误状态。
实现方式可以包括以下一个或更多个特征。错误检测器可以与网关/域控制器集成在一起。异常检测系统可以包括入侵检测系统。预定值可以指示第一ECU从错误主动状态转换到错误被动状态。可替代地,预定值可以指示第一ECU转换到总线断开状态。处理器还可以被配置成当接收到具有属于处于总线断开状态的第一ECU的网络标识符的消息时,检测冒充的ECU在CAN总线上的攻击。所述技术的实现方式可以包括硬件、方法或过程或计算机可访问介质上的计算机软件。
本公开的一个或更多个另外的实施例针对基于错误帧归因总线断开攻击的系统。该系统可以包括:网络总线;连接到该网络总线的多个电子控制单元(ECU),多个ECU中的每一个具有网络标识符;以及连接到网络总线的错误检测器。错误检测器可以包括收发器和处理器,其中处理器被配置成:基于多个ECU的相应的网络标识符维护对于该多个ECU中每一个ECU的传输错误计数器(TEC)值;通过在网络总线上传输错误帧的第一ECU的网络标识符识别至少该第一ECU;递增与该第一ECU相关联的TEC值;以及经由收发器向异常检测系统传输消息,该消息指示第一ECU已经响应于与该第一ECU相关联的TEC值达到预定值而改变了错误状态。
实现方式可以包括以下一个或更多个特征。错误检测器可以与网关/域控制器集成在一起。异常检测系统可以包括入侵检测系统。预定值可以指示第一ECU转换到错误被动状态。预定值可以指示第一ECU转换到总线断开状态。处理器还可以被配置成当接收到具有属于处于总线断开状态的第一ECU的网络标识符的消息时,检测冒充的ECU在网络总线上的攻击。所述技术的实现方式可以包括硬件、方法或过程或计算机可访问介质上的计算机软件。
附图说明
图1是根据本公开的一个或更多个实施例的用于归因总线断开攻击的系统的示意图;
图2是对于公共网络总线协议(例如CAN)的示例性数据帧;
图3是描绘基于错误计数器的各种错误状态和转换的状态图;以及
图4是根据本公开的一个或更多个实施例的描绘用于基于错误帧归因总线断开攻击的方法的流程图。
详细描述
根据要求,本发明的详细实施例在本文被公开;但是,将被理解的是,所公开的实施例仅为本发明的示例,本发明可以以各种各样的和可替代的形式体现。附图不一定按比例绘制;一些特征可能被放大或最小化以示出特定部件的细节。因此,本文中所公开的特定的结构细节和功能细节不应被解释为限制性的,而是仅仅作为用于教导本领域中的技术人员以各种方式利用本发明的代表性基础。
参考图1,车辆10可以包括被称为电子控制单元(ECU)12的多个专用计算设备,用于控制车辆操作的各个方面。ECU 12可以包括诸如引擎控制模块(ECM)、变速器控制模块(TCM)、电池控制模块(BCM)、防抱死制动系统(ABS)等的车辆控制设备。此外,ECU 12可以包括车辆10中的专用计算设备,用于控制各种其他系统,如气候系统、信息娱乐系统和安全系统。这些ECU 12可以使用网络总线14(如控制器局域网(CAN)总线)联网在一起。如图1所示,车辆10可以包括多根网络总线14。
通常,每个ECU 12可以包括运行固件或软件的处理器16。处理器16可以是包括中央处理单元(CPU)和随机存取存储器(RAM)的编程数字计算设备。每个ECU 12还可以包括网络控制器18和网络收发器20。处理器16和网络控制器18可以经由网络收发器20在网络总线14上发送和接收消息。网络控制器18和网络收发器20一起实现网络总线协议并处理网络总线14上的通信。网络控制器18可以是处理器16的一部分,或者与处理器16分离。例如,在使用CAN总线的情况下,网络控制器18和网络收发器20可以分别称为“CAN控制器”和“CAN收发器”,它们共同实现CAN总线协议并处理CAN总线上的通信。
根据所采用的总线协议,ECU 12可以通过网络总线14广播被称为“帧”的多位消息。网络总线14可以是广播类型的总线,例如CAN总线,这意味着所有节点(例如,ECU 12)可以“听到”所有传输。为了便于解释,本文所述的网络总线14是采用了CAN总线协议的CAN总线。因为所有节点都“听到”所有传输,所以没有办法只向特定节点发送消息。在作为同步协议的CAN总线协议中,时间被划分成位时隙。在每个位时隙期间,总线上只能有一个位值。每当两个ECU试图在同一个位时隙期间广播不同的位时,就会发生“碰撞”。当碰撞发生时,显性位(CAN协议中的“0”位)覆盖(即胜过)隐性位(CAN协议中的“1”位)。相应地,总线携带显性位,而不是隐性位,并且广播显性位的ECU可以说已经“赢得”碰撞,而另一个ECU可以说已经“输掉”碰撞。
网络总线上最常见的消息类型是数据帧。图2描绘了使用CAN协议的示例性数据帧22。数据帧22可以包括几个部分或字段。在CAN协议的某些版本中,数据帧22的一些主要部分或字段可以包括:(1)仲裁字段24;(2)控制字段26;(3)数据字段28;(4)循环冗余校验或“CRC”字段30;以及(5)确认时隙32。包含单个显性位的帧开始(SOF)字段34可以指定消息的开始。
当两个或更多个节点竞争总线时,确定消息优先级的仲裁字段24可以至少包含消息标识符(在本文中被称为网络标识符36)和远程传输请求或“RTR”位38。RTR位38对数据帧来说是显性的。具有11位或29位的网络标识符36可以指示消息的类型(以及因此,典型地,指示消息所起源于的ECU)。控制字段26可以包括四位数据长度代码(“DLC”),其存储后续数据字段28的长度。数据字段28可以包含0到8个字节的数据。CRC字段30可以包含15-位校验和以及CRC定界符40,该校验和是根据消息的大部分计算的,用于错误检测。CRC字段30确保所有位都被正确传输,并且可以检测到错误。确认时隙32可以承载(host)确认位。已经能够正确接收消息的任何CAN控制器在每条消息的末端处发送确认位。CAN收发器检查确认位的存在,并且如果没有检测到确认,则重新传输消息。
在至少一些版本的CAN总线协议中,每个成功传输的数据帧以11个连续的隐性位结束,包括1位确认定界符42字段和7位帧结束(EOF)字段44,随后是3位间歇(IS)字段46。紧接在IS字段46之后,可以通过总线传输另一个消息。
当数据由CAN传输时,没有站或节点被寻址。相反,消息的内容(例如,rpm或引擎温度)可以由仲裁字段24中的网络标识符36指定,网络标识符36在整个网络中是唯一的。网络标识符36不仅定义了消息的内容,还定义了与另一个不太紧急的消息相比的优先级,当几个站竞争总线访问时,这对于总线分配是重要的。优先级可以在系统设计过程中以相应的二进制值的形式制定。在CAN中,具有最低二进制数的消息/网络标识符通常具有最高的优先级,因为“0”位是显性的。因此,总线访问冲突可以通过由每个节点逐位观察总线电平来对网络标识符进行上述的按位仲裁来解决。所有“失败者”都会自动成为具有最高优先级的消息的接收者,并且在总线再次可用之前不会再次尝试传输。
当试图广播消息中的每一位时,传输ECU还监控网络总线14,以验证尝试的广播是否成功。事实上,网络总线14上的每个ECU 12可以在传输时监听它自己的消息。如果总线上的实际值不同于ECU试图广播的值,则广播可能被视为不成功。因此,传输ECU可以识别“位错误”,并且可以停止广播消息。此外,传输ECU可以广播错误标志(或“错误帧”)和/或递增其传输错误计数器(TEC)。如果ECU处于被称为“错误主动”模式的正常操作状态,则广播的错误标志是“主动错误”标志。主动错误标志可以例如由六个显性位组成,从而破坏总线流量。
网络总线14上的每个节点可以维护两个错误计数器:上面提到的传输错误计数器(TEC)和接收错误计数器(REC)。可以有几个规则控制这些计数器如何递增和/或递减。通常,检测到故障的传输节点或ECU递增其传输错误计数器的速度可能快于监听节点递增其接收错误计数器的速度。被正确传输和/或接收的消息可能会导致错误计数器减小。
参考图3所示的状态图300,节点通常可以以错误主动模式开始。当两个错误计数器中的任何一个上升到第一阈值(例如,127)以上时,节点可以进入被称为“错误被动”模式的状态。错误被动节点可以在其检测到错误时传输被动错误标志。被动错误标志可以包含例如六个隐性位,不同于主动错误标志中的显性位。相应地,被动错误标志可能不会破坏其他总线流量,因此,其他节点可能不会“听到”传输节点或ECU抱怨总线错误。
当两个错误计数器都小于或等于第一阈值时,节点可以返回到“错误主动”状态。例如,在每次成功广播一条消息后,ECU可使其TEC减一。因此,在足够数量的成功广播之后,ECU可以退出错误被动状态并返回正常广播。另一方面,当TEC上升到第二阈值(例如,255)以上时,节点可以进入“总线断开”状态。处于总线断开状态的节点或ECU被禁用,并且根本不允许广播。
现代汽车中日益复杂的计算机系统网络主要经由网络总线进行通信,执行甚至是最基本的车辆功能。这些负责车辆操作的计算机化系统和部件需要受到保护,以避免有害攻击、未经授权的访问、损坏或可能干扰重要车辆功能的任何事情,尤其是与安全和安保相关的功能。在一种类型的欺骗攻击中,攻击者获得其中一个ECU的控制权,并通过在网络上广播来使用这个被破坏的ECU冒充其中另一个ECU,从而冒充似乎是来自另一个ECU的消息。总线断开攻击还可以利用上述车载网络的错误处理方案。这些攻击可能难以被授权的ECU检测到,从而给车辆10带来潜在威胁。
对目标ECU的总线断开攻击可能导致传输错误,然后将目标ECU的状态转换到总线断开状态,在该状态下ECU无法访问网络总线14。“攻击者”(也称为“攻击ECU”或“冒充的ECU”)周期性地向网络总线14注入攻击消息,欺骗未妥协的ECU使其认为其有缺陷,并最终迫使其自身或者甚至整个网络关闭。如上所述,当ECU在监控其自身的传输时检测到它正在发送的消息与它在网络总线上“听到”的消息之间的差异,就会发生传输错误。在检测到传输错误后,传输ECU增加其TEC,并根据其当前错误状态发送主动错误帧或被动错误帧。根据当前的TEC值,ECU可以进入总线断开模式,并完全停止传输消息。
在总线断开攻击期间,攻击者或冒充的ECU只需将目标ECU的消息的一个位从1更改为0。目标ECU注意到其发送的消息和接收的消息之间的差异(在监控其自身流量时),并增加其TEC。一旦攻击者足够频繁地这样做,合法的目标ECU进入总线断开模式。当这种情况发生时,攻击者现在可以通过在网络总线14上发送虚假流量来冒充目标ECU。网络中的其他节点不知道ECU何时进入总线断开状态,因为它们只关心维护它们自己的ECU。值得注意的是,这些攻击发生在控制字段、数据字段、CRC字段或EOF中。相应地,包含网络标识符的仲裁字段可以保持合法。因为当攻击者冒充目标ECU时仲裁字段是合法的,并且网络总线14上的其他节点或ECU不知道目标ECU处于总线断开模式,所以其他节点很难确定消息是否有效。
回到图1,车辆10可以包括连接到网络总线14的错误检测器48,用于检测错误帧。为了对抗总线断开攻击,错误检测器48可以跟踪对于所有ECU 12的TEC值,确定特定ECU何时改变状态(例如,错误主动到错误被动或错误被动到总线断开),并通知车辆的入侵检测系统(IDS)50。IDS 50可以是驻留在车辆10中的整体异常检测系统(ADS)52的一部分。错误检测器48可以是专用ECU,用于检测错误帧并跟踪与连接到网络总线14的所有其他ECU 12相关联的TEC值。可替代地,错误检测器48可以是用于执行不同功能的ECU或其他微控制器的集成部分。例如,在一些实施例中,错误检测器48可以驻留在网关或域控制器(未示出)中,该网关或域控制器已经充当了车辆10的网络之间的路由器/防火墙。相应地,如图1所示,错误检测器48可以连接到多根网络总线14。
像连接到网络总线14的其他ECU 12一样,错误检测器48可以至少包括处理器16’、网络控制器18’和网络收发器20’。网络控制器18’可以是处理器16’的一部分或与其分离。处理器16’通常是编程的数字计算设备,包括中央处理单元(CPU)和随机存取存储器(RAM),以及可选地,包括非易失性辅助储存器,和/或外围设备。程序代码(包括软件程序和/或数据)可以被加载到RAM中,以便由CPU执行和处理,并且可以生成结果用于输出。例如,程序代码和/或数据可以通过网络以电子形式下载到处理器,或者其可以替代地或附加地被提供给和/或存储在非暂时性有形介质上,例如磁、光或电子存储器。当被提供给处理器时,这种程序代码和/或数据产生机器或专用计算机,其被配置成执行本文描述的任务。
为了正确地归因总线断开攻击,错误检测器48可以跟踪或以其他方式估计网络总线14上对于所有ECU 12的TEC值。相应地,错误检测器48可以保存所有ECU 12及其相关联的网络标识符的完整列表或查找表。错误检测器48还可以针对列表或查找表中的每个ECU 12维持估计的TEC值。为了准确做到这一点,错误检测器48可以知道TEC系统如何针对特定车辆或原始设备制造商工作,因为这些可能会变化。通过监控所有联网的ECU的TEC值,当ECU12改变状态(例如,错误主动到错误被动或者错误被动到总线断开)时,错误检测器48可以通知入侵检测系统50。以这种方式,如果接收到具有属于处于总线断开状态的ECU的网络标识符的消息,IDS/ADS可以知道攻击正在发生,并且可以采取某种形式的补救措施。在一些实施例中,错误检测器48甚至可以集成到入侵检测系统50中。
错误检测器48可以监控经由网络总线14传输的每一帧中的几个字段,以维护连接到总线的每个ECU 12的估计TEC值。例如,错误检测器48可以监控每个ECU 12的网络标识符,因为攻击者无法改变网络标识符。此外,错误检测器48可以监控CRC字段。由于攻击者只能将1更改为0,因此攻击者很难注入具有正确CRC的消息。根据主动和被动错误的实现,错误检测器48可以基于当状态改变发生时改变的和可观察的ECU行为,对照目标ECU中的实际TEC值来检查目标ECU的估计TEC值。此外,一旦错误检测器48注意到ECU基于ECU行为而改变状态(例如,错误主动到错误被动或者错误被动到总线断开),它可以通知入侵检测系统50。
基于其对估计TEC值的计数,错误检测器48可以报告对于某个ECU的状态改变(即,ECU切换到不同的错误状态)。错误检测器48还可以向IDS 50周期性地报告对于所有ECU 12的估计TEC值。IDS 50可以基于该信息采取行动。例如,IDS 50可以结合其他输入使用该信息来确定系统是否正在被攻击。如果错误检测器48报告ECU 12处于总线断开模式,并且带有该特定ECU的网络标识符的帧被接收到,则错误检测器48和/或IDS 50可以简单地忽略该恶意消息,向同一总线上的其余ECU 12发出安全警报,报告冒充的ECU对目标ECU的主动攻击,和/或迈过(step on)该消息。迈过该消息意味着错误检测器48或IDS 50可以通过在网络总线14上造成破坏该消息的错误来使该消息无效。错误检测器48和/或IDS 50也可以触发对不同车辆或云系统的警报,该车辆或云系统将使用该信息作为对更复杂过程的输入。
图4是根据本公开的一个或更多个实施例的描绘用于基于错误帧归因总线断开攻击的方法400的流程图。作为对在步骤405处提供的方法的介绍,错误检测器48可以维护对于连接到网络总线14的每个ECU 12的估计TEC值。如前所述,这可以包括在存储器中维护一个表格,该表格包括每个ECU 12、每个ECU的相关联的网络标识符(例如,CAN ID)以及对于每个ECU的估计TEC值。如步骤410处所提供的,错误检测器48还可以接收通过车辆网络传输的消息位,并且可以监控这些传输中的错误帧或其他传输错误。基于是否检测到错误,或者检测到的错误类型,错误检测器48可以调整它针对一个或更多个ECU维持的估计TEC值。
如步骤415处所提供的,一旦从ECU 12接收到经由网络总线14传输的消息位,错误检测器48可以确定是否接收到被错误发送的消息(即,是否已经接收到主动错误)。如前所述,由错误主动模式下的ECU检测到的错误将在总线上传输错误帧,该错误帧由连续的六个显性位发出信号,这会破坏总线流量。因此,在步骤415处,错误检测器48可以基于接收到连续的这六个显性位来确定是否接收到了被错误发送的消息。如果是,错误检测器48可以确定已经接收到主动错误,并且该方法可以前进到步骤420。如果不是,该方法可以前进到步骤425,在步骤425中,错误检测器48可以确定是否已经接收到完整的数据帧。接收到的完整帧可能仍然有错误,因为每个其他节点都处于错误被动模式。如前所述,错误被动节点可以在其检测到错误时传输被动错误标志。被动错误标志可能包含六个隐性位,因此可以不破坏其他总线流量,因此其他节点可能不会“听到”传输节点或ECU抱怨总线错误。如果没有接收到完整的帧,则该方法可以返回到步骤410,不调整其估计TEC值表中的任何TEC值。然而,如果接收到完整帧,该方法可以前进到步骤430。
在步骤430处,当接收到完整帧时,错误检测器48可以检查帧中的错误。如上所述,接收到的完整帧可能仍然有错误,因为其他所有节点都处于错误被动模式。因此,错误检测器48可以执行所有错误检查。如果在帧中检测到错误,该方法可以前进到步骤435。在步骤435处,错误检测器48可以基于帧的仲裁字段中的网络标识符来查找用于传输ECU的估计TEC值。此外,错误检测器48可以递增与由网络标识符识别的传输ECU相关联的估计TEC值。错误检测器48可以基于对于控制这些计数器如何递增和递减的特定系统的规则,以与传输ECU将如何递增其TEC相当的量递增估计TEC值。该方法然后可以前进到步骤440,在步骤440中,错误检测器48可以基于估计TEC值确定传输ECU是否经历错误状态的改变(例如,错误主动到错误被动;错误被动到总线断开)。如果没有识别出错误状态的改变,该方法可以返回到步骤410。如果基于由错误检测器48维护的调整的TEC值识别出错误状态的改变,则该方法可以前进到步骤445。在步骤445处,错误检测器48可以通知IDS 50错误状态的改变,使得IDS 50知道哪些节点应该处于哪个错误状态,并且如果必要,可以采取补救措施,如前所述。
返回步骤430,如果在帧中没有检测到错误,该方法可以前进到步骤450。在步骤450处,错误检测器48可以基于帧的仲裁字段中的网络标识符来查找对于传输ECU的估计TEC值。此外,如果估计TEC值已经不为零,错误检测器48可以将与由网络标识符识别的传输ECU相关联的估计TEC值递减。错误检测器48可以基于对于控制这些计数器如何递增和递减的特定系统的规则,以与传输ECU将如何递减其TEC相当的量递减估计TEC值。该方法然后可以前进到步骤440,在步骤440中,错误检测器48可以基于估计TEC值确定传输ECU是否经历错误状态的改变(例如,错误被动到错误主动)。再次,在步骤440处,如果没有识别出错误状态的改变,该方法可以返回到步骤410。如果基于由错误检测器48维护的调整的TEC值识别出错误状态的改变,则该方法可以前进到步骤445,在步骤445中,可以将ECU的错误状态改变通知给IDS 50。
返回到步骤415,如果错误检测器48确定已经接收到主动错误,则该方法可以前进到步骤420,如上所述。在步骤420处,错误检测器48可以确定是否已经接收到足够的消息位来确定传输ECU的网络标识符。在一些实施例中,可能会发生错误,并且无法确定网络标识符。例如,所有传输ECU试图通过发送它们的网络标识符来同时访问网络总线,并且具有最高优先级的网络ID赢得访问权限。因为获得访问权的网络标识符是在这个所谓的协商中决定的,所以如果协商过程中有错误,则错误检测器48可能无法识别错误的来源。然而,对总线上的所有其他ECU同样如此。没有人知道是谁造成了错误,所以没有错误被提出。如果错误检测器48接收的位不足以确定网络ID,则该方法可以前进到步骤455,以确定位填充错误是否已经发生。
在步骤455处,错误检测器48可以确定该错误是否是“位填充”错误。如本领域普通技术人员所理解的,当总线上出现多于五个相同电平的连续位时,可以检测到位填充错误。在一些实施例中,可以合法发生的唯一错误是位填充错误,因为攻击者的其他异常将简单地落入标准总线仲裁的类别。例如,在CAN中,当发生位填充错误时,由于CAN协议的性质,正进行仲裁的所有ECU都在主动同步传输。应当注意,当第一位填充错误可能发生时,并非所有的ECU都在进行仲裁,因此错误检测器48可能也需要确定哪些ECU正在执行仲裁。如果检测到位填充错误,该方法可以前进到步骤460。
关于步骤460,所有正在进行仲裁的ECU都在主动传输。因此,位填充错误将增加所有这些ECU的TEC值(例如,增加1)。因此,错误检测器48同样可以增加对于所有受影响的ECU的估计TEC值。然后该方法可以返回到步骤410。如果没有检测到位填充错误,该方法可以跳过步骤460并直接返回到步骤410,在步骤410中,错误检测器48可以继续接收位并监控网络总线的错误。返回到步骤420,如果错误检测器48接收到足够的位来确定发送错误标志的传输ECU的网络ID,则该方法可以前进到步骤435,并且流程可以如前所述继续。
虽然上文描述了示例性实施例,但是并非意图这些实施例描述了本发明的所有可能的形式。相反,在说明书中使用的词语是描述性的词语而非限制性的词语,并且应理解,可做出各种变化而不偏离本发明的精神和范围。此外,各种实现的实施例的特征可被组合以形成本发明的另外的实施例。

Claims (20)

1.一种基于错误帧归因总线断开攻击的方法,包括:
维护对于连接到网络总线的多个电子控制单元(ECU)中的每一个ECU的估计传输错误计数器(TEC)值,每个估计TEC值与对应于各自ECU的网络标识符相关联;
监控由所述多个ECU通过所述网络总线传输的错误帧;
当接收到在所述网络总线上传输的错误帧时,调整对于所述多个ECU中的至少一个ECU的估计TEC值;以及
当所述多个ECU中的一个ECU基于对于该ECU的估计TEC值而改变错误状态时,通知异常检测系统。
2.根据权利要求1所述的方法,其中,当接收到在所述网络总线上传输的错误帧时,调整对于所述多个ECU中的至少一个ECU的估计TEC值包括:
接收包含足够位的错误帧,以基于传输ECU的网络标识符识别所述传输ECU;以及
基于所述传输ECU的网络标识符增加对于所述传输ECU的估计TEC值。
3.根据权利要求1所述的方法,其中,当接收到在所述网络总线上传输的错误帧时,调整对于所述多个ECU中的至少一个ECU的估计TEC值包括:
当所述网络标识符未知时,确定所述错误帧是否指示位填充错误;以及
响应于检测到位填充错误,增加对于正在主动传输的所有ECU的估计TEC值。
4.根据权利要求1所述的方法,还包括:
通过所述网络总线从传输ECU接收数据帧;
检测所述数据帧中的错误;以及
基于所述传输ECU的网络标识符增加对于所述传输ECU的估计TEC值。
5.根据权利要求1所述的方法,还包括:
通过所述网络总线从传输ECU接收数据帧;以及
当没有检测到传输错误时,基于所述传输ECU的网络标识符减小对于所述传输ECU的估计TEC值。
6.根据权利要求1所述的方法,其中,当ECU改变错误状态时通知所述异常检测系统包括当ECU基于对于该ECU的估计TEC值而从错误主动状态转换到错误被动状态时通知所述异常检测系统。
7.根据权利要求1所述的方法,其中,当ECU改变错误状态时通知所述异常检测系统包括当ECU基于对于该ECU的估计TEC值而从错误被动状态转换到总线断开状态时通知所述异常检测系统。
8.根据权利要求7所述的方法,还包括:
当接收到具有属于处于所述总线断开状态的目标ECU的网络标识符的消息时,检测冒充的ECU在所述网络总线上的攻击。
9.一种连接到控制器局域网(CAN)总线的错误检测器,所述错误检测器包括:
收发器;以及
处理器,其被配置成:
维护对于连接到所述CAN总线的多个电子控制单元(ECU)中的每一个ECU的传输错误计数器(TEC)值,每个TEC值与对应于各自ECU的网络标识符相关联;
通过在所述CAN总线上传输错误帧的第一ECU的网络标识符识别至少所述第一ECU;
递增与所述第一ECU相关联的TEC值;以及
经由所述收发器向异常检测系统传输消息,所述消息指示所述第一ECU已经响应于与所述第一ECU相关联的TEC值达到预定值而改变了错误状态。
10.根据权利要求9所述的错误检测器,其中,所述错误检测器与网关/域控制器集成在一起。
11.根据权利要求9所述的错误检测器,其中,所述异常检测系统包括入侵检测系统。
12.根据权利要求9所述的错误检测器,其中,所述预定值指示所述第一ECU从错误主动状态转换到错误被动状态。
13.根据权利要求9所述的错误检测器,其中,所述预定值指示所述第一ECU转换到总线断开状态。
14.根据权利要求13所述的错误检测器,其中,所述处理器还被配置成当接收到具有属于处于所述总线断开状态的所述第一ECU的网络标识符的消息时,检测冒充的ECU在所述CAN总线上的攻击。
15.一种基于错误帧归因总线断开攻击的系统,包括:
网络总线;
连接到所述网络总线的多个电子控制单元(ECU),所述多个ECU中的每一个ECU具有网络标识符;以及
连接到所述网络总线的错误检测器,所述错误检测器包括收发器和处理器,其中,所述处理器被配置成:
基于所述多个ECU的相应的网络标识符,维护对于所述多个ECU中每一个ECU的传输错误计数器(TEC)值;
通过在所述网络总线上传输错误帧的第一ECU的网络标识符来识别至少所述第一ECU;
递增与所述第一ECU相关联的TEC值;以及
经由所述收发器向异常检测系统传输消息,所述消息指示所述第一ECU已经响应于与所述第一ECU相关联的TEC值达到预定值而改变了错误状态。
16.根据权利要求15所述的系统,其中,所述错误检测器与网关/域控制器集成在一起。
17.根据权利要求15所述的系统,其中,所述异常检测系统包括入侵检测系统。
18.根据权利要求15所述的系统,其中,所述预定值指示所述第一ECU转换到错误被动状态。
19.根据权利要求15所述的系统,其中,所述预定值指示所述第一ECU转换到总线断开状态。
20.根据权利要求19所述的系统,其中,所述处理器还被配置成当接收到具有属于处于总线断开状态的所述第一ECU的网络标识符的消息时,检测冒充的ECU在所述网络总线上的攻击。
CN201910706027.5A 2018-11-06 2019-08-01 基于错误帧归因总线断开攻击 Active CN111147437B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/181,522 US10958470B2 (en) 2018-11-06 2018-11-06 Attributing bus-off attacks based on error frames
US16/181,522 2018-11-06

Publications (2)

Publication Number Publication Date
CN111147437A true CN111147437A (zh) 2020-05-12
CN111147437B CN111147437B (zh) 2022-06-24

Family

ID=70460119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910706027.5A Active CN111147437B (zh) 2018-11-06 2019-08-01 基于错误帧归因总线断开攻击

Country Status (3)

Country Link
US (1) US10958470B2 (zh)
CN (1) CN111147437B (zh)
DE (1) DE102019217030A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992705B2 (en) * 2016-01-20 2021-04-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
US11032300B2 (en) * 2017-07-24 2021-06-08 Korea University Research And Business Foundation Intrusion detection system based on electrical CAN signal for in-vehicle CAN network
CN113169906B (zh) * 2018-12-12 2022-09-30 三菱电机株式会社 信息处理装置、信息处理方法和计算机能读取的存储介质
CN111835627B (zh) * 2019-04-23 2022-04-26 华为技术有限公司 车载网关的通信方法、车载网关及智能车辆
WO2021002013A1 (ja) * 2019-07-04 2021-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知装置および異常検知方法
JP7065356B2 (ja) * 2019-11-11 2022-05-12 パナソニックIpマネジメント株式会社 情報処理装置、情報処理方法、およびプログラム
WO2024018683A1 (ja) * 2022-07-20 2024-01-25 日立Astemo株式会社 侵入検知装置及び侵入検知方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025506A (zh) * 2011-10-31 2014-09-03 丰田自动车株式会社 通信系统中的消息认证方法及通信系统
US20160344766A1 (en) * 2015-05-19 2016-11-24 Ford Global Technologies, Llc Spoofing detection
CN106170953A (zh) * 2014-04-17 2016-11-30 松下电器(美国)知识产权公司 车载网络系统、不正常检测电子控制单元以及不正常检测方法
CN106464557A (zh) * 2014-07-10 2017-02-22 松下电器(美国)知识产权公司 车载网络系统、电子控制单元、接收方法以及发送方法
WO2017127639A1 (en) * 2016-01-20 2017-07-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
CN107005450A (zh) * 2014-11-20 2017-08-01 国立大学法人名古屋大学 CAN(Controller Area Network:控制器局域网络)通信系统及错误信息记录装置
CN107454107A (zh) * 2017-09-15 2017-12-08 中国计量大学 一种检测注入式攻击的控制器局域网汽车总线报警网关
CN108028784A (zh) * 2016-01-08 2018-05-11 松下电器(美国)知识产权公司 不正常检测方法、监视电子控制单元以及车载网络系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8955130B1 (en) 2014-04-10 2015-02-10 Zephyr Technology Co., Limited Method for protecting vehicle data transmission system from intrusions
US20160173513A1 (en) 2014-12-10 2016-06-16 Battelle Energy Alliance, Llc. Apparatuses and methods for security in broadcast serial buses
WO2016108963A1 (en) 2014-12-30 2016-07-07 Battelle Memorial Institute Temporal anomaly detection on automotive networks
US9825918B2 (en) 2015-05-22 2017-11-21 Nxp B.V. Controller area network (CAN) device and method for operating a CAN device
US9935774B2 (en) 2015-05-22 2018-04-03 Nxp B.V. Configurable cryptographic controller area network (CAN) device
US10599840B2 (en) 2016-07-21 2020-03-24 Ramot At Tel Aviv University Ltd. Anti-spoofing defense system for a can bus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025506A (zh) * 2011-10-31 2014-09-03 丰田自动车株式会社 通信系统中的消息认证方法及通信系统
CN106170953A (zh) * 2014-04-17 2016-11-30 松下电器(美国)知识产权公司 车载网络系统、不正常检测电子控制单元以及不正常检测方法
CN106464557A (zh) * 2014-07-10 2017-02-22 松下电器(美国)知识产权公司 车载网络系统、电子控制单元、接收方法以及发送方法
CN107005450A (zh) * 2014-11-20 2017-08-01 国立大学法人名古屋大学 CAN(Controller Area Network:控制器局域网络)通信系统及错误信息记录装置
US20160344766A1 (en) * 2015-05-19 2016-11-24 Ford Global Technologies, Llc Spoofing detection
CN108028784A (zh) * 2016-01-08 2018-05-11 松下电器(美国)知识产权公司 不正常检测方法、监视电子控制单元以及车载网络系统
WO2017127639A1 (en) * 2016-01-20 2017-07-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
CN107454107A (zh) * 2017-09-15 2017-12-08 中国计量大学 一种检测注入式攻击的控制器局域网汽车总线报警网关

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
俞健: "CAN总线设计在机车综合无线通信设备中应用的可行性研究", 《通信与信息技术》 *
俞健: "CAN总线设计在机车综合无线通信设备中应用的可行性研究", 《通信与信息技术》, no. 05, 25 September 2018 (2018-09-25), pages 1 - 2 *

Also Published As

Publication number Publication date
US20200145251A1 (en) 2020-05-07
DE102019217030A1 (de) 2020-05-07
US10958470B2 (en) 2021-03-23
CN111147437B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN111147437B (zh) 基于错误帧归因总线断开攻击
CN111344192B (zh) 禁用恶意电子控制单元的系统、方法和计算机程序产品
US10902109B2 (en) Misuse detection method, misuse detection electronic control unit, and misuse detection system
US10693905B2 (en) Invalidity detection electronic control unit, in-vehicle network system, and communication method
EP3148154B1 (en) Controller area network (can) device and method for controlling can traffic
RU2712138C2 (ru) Способ, система и электронный блок управления для предотвращения спуфинга в автомобильной сети
US10462161B2 (en) Vehicle network operating protocol and method
US11677779B2 (en) Security module for a can node
CN112347021B (zh) 用于串行通信装置的安全模块
US11888866B2 (en) Security module for a CAN node
US20200412756A1 (en) Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium
US20170118230A1 (en) Communication system, control device, and control method
JP2016143963A (ja) 車載通信システム
WO2017006537A1 (ja) 通信方法、プログラムおよびそれを利用した通信装置
US9499174B2 (en) Method and apparatus for isolating a fault-active controller in a controller area network
Kishikawa et al. Intrusion detection and prevention system for FlexRay against spoofed frame injection
KR101952117B1 (ko) 차량용 캔 통신 방법 및 장치
EP4344150A1 (en) Controller area network system and a method for the system
EP4213448A1 (en) Controller area network module and method for the module
EP4304135A1 (en) Controller area network (can) transceiver, can node, can system and method for the can transceiver
Chethan et al. Strategies for monitoring CAN node communication failures in the V2X eco-system
Ramesh et al. Reset-based Recovery Mechanism through Entropy Cutoff to Counter BUS-OFF Attacks

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