CN107710657B - 用于通信总线的实时数据安全的方法和装置 - Google Patents
用于通信总线的实时数据安全的方法和装置 Download PDFInfo
- Publication number
- CN107710657B CN107710657B CN201680038262.4A CN201680038262A CN107710657B CN 107710657 B CN107710657 B CN 107710657B CN 201680038262 A CN201680038262 A CN 201680038262A CN 107710657 B CN107710657 B CN 107710657B
- Authority
- CN
- China
- Prior art keywords
- message
- bus
- communication bus
- controller
- early
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
Abstract
一种用于通信总线的实时数据安全的方法和装置,所述方法包括以下步骤:读取通过所述通信总线传输的消息的至少一个早期部分;根据至少一个应用到所述消息被读取的早期部分的规则确定所述消息是否是可疑的;以及,一旦确定所述消息是可疑的,则破坏所述消息中的至少一部分。
Description
技术领域
本发明涉及通信总线数据安全,并且特别地且非排他地涉及用于交通工具通信总线的实时数据安全的***和方法。
背景技术
现代交通工具电子***和工业控制***通常要连接若干在计算机网络中的单元,而这些计算机网络可能会受到多种网络威胁。
例如,现代交通工具常具有若干安装在其上的电子控制单元(ECU,ElectronicControl Unit)。
交通工具的电子控制单元(ECU)是在交通工具内的电子***,其具有处理能力(例如,无线电***是ECU而通过继电器控制的雨刷则不是ECU)。
某些交通工具的电子控制***可包括外部通信接口,即在交通工具的电子***以外的设备(包括在交通工具本身以外的设备)所使用的或与之通信的接口。“ECU”也偶尔用来代表“发动机控制单元(Engine Control Unit)”,其为一种特殊类型的电子控制单元(ECU)。
机动车变得越来越复杂并且越来越多地使用计算机化的技术来控制关键功能和组件,比如刹车、发动机、甚至转向。虽然计算机化的技术强化了交通工具的性能,但是攻击(compromise)这些对安全至关重要的ECU之一的操作可能导致对交通工具、对乘客并甚至有可能对周边环境——例如当交通工具牵涉到与其它的交通工具或行人的事故中时——造成严重的损害。
交通工具的ECU通常以非安全的方式连接,比方说通过CAN(控制区域网络)总线连接。因此,犯罪分子可设法使用车辆的CAN总线,从而将恶意消息***到对安全至关重要的ECU。
某些连接到交通工具的通信总线的ECU具有外部连接,比如交通工具的遥感监测ECU或信息娱乐***。
因此,有可能使用网络攻击来攻击交通工具的ECU之一。受攻击的ECU可因此被用作发动网络攻击的入口点,如本领域中已知的。
现在参考图1,其为说明性示出了如本领域中已知的、第一示例性的现代交通工具的电子***的框图。
第一示例性的现代交通工具的电子***包括单个通信总线105,比方说CAN(控制区域网络)总线,如本领域中已知的。示例性电子***中的总线105连接一个或多个ECU 75,并由这些ECU 75使用以便彼此通信。
现在参考图2,其为说明性示出了如本领域中已知的、第二示例性的现代交通工具的电子***的框图。
第二示例性的现代交通工具的电子***包括两个或更多个通信总线(在下文中也称为总线段)106,比方说CAN(控制区域网络)总线,如本领域中已知的。第二示例性的电子***中的每一个总线段106都连接到一个或多个ECU 75,并由ECU 75中的一个或多个使用以便通信到达/来自其它ECU的消息。
交通工具的通信总线——如在图1和2中说明性示出的通信总线105、106——是内部通信网络,其互联在交通工具内部的组件并且实现通信协议。关于可由此类总线实现的协议的示例包括:CAN、局域互联网络(LIN)、Flex-Ray、交通工具区域网络(VAN)、以太网等等,如本领域中已知的。
因此,第二示例性的***的每一个或多个总线段106可有不同的通信协议、相同的协议、尽管配置不同但仍相同的协议等等,如本领域中已知的。
第二示例性的现代交通工具的电子***还包括连接在两个或多个总线段106之间的一个或多个网关或网桥109,如本领域中已知的。
网关或网桥109连接两个或多个总线段106并允许消息在其之间通过。
网关和网桥被设计成以可靠的方式在总线段之间传输消息,但是其通常不是从网络安全角度进行设计的。
与针对可靠性的设计相对,针对网络安全的设计的一个方面是消息过滤。例如,网桥或网关通常不必出于以下担忧而丢弃信息,即该消息可能是需要的和该消息缺失可能造成伤害。
事实上,交通工具通信总线已经变得非常容易受到攻击,比方说偷车贼、ECU遥控。
而因交通工具通信总线上安全性不足受到攻击所导致的另一个问题是OEM(原始设备制造商)和一级供应商所关注的经济方面的威胁,即未经授权的ECU替换。
交通工具的所有者可出于多种原因使用未经授权的或者非原装的ECU替换现有的ECU。例如,一个未经授权替换的ECU可能较为廉价,替换的ECU可赋予交通工具更多的能力,比如芯片调节(即从发动机去除一些限制以提供更强的动力,尽管这样并不符合发动机的规格,并因此会导致发动机更容易发生故障、安全问题等等)。
OEM和一级供应商所受到的经济方面的损失是因为没有购买其原装的ECU,并且因为未经授权替换的ECU可能在交通工具仍在保修期内时对该交通工具造成损坏。
发明内容
根据本发明的一个方面,在此提出了一种用于通信总线的实时数据安全的方法,该方法包括以下步骤:a)读取通过通信总线传输的消息的至少一个早期部分;b)根据至少一个应用到所述消息被读取的早期部分的规则确定该消息是否是可疑的;以及,c)一旦确定该消息是可疑的,则破坏该消息中的至少一部分。
根据本发明的第二方面,在此提出了一种用于通信总线的实时数据安全的装置,该装置包括:硬件设备;消息读取器,其被实现在硬件设备上,被配置为读取通过通信总线传输的消息的至少一个早期部分;确定器,其与消息读取器通信,被配置为根据至少一个应用到所述消息被读取的早期部分的规则确定该消息是否是可疑的;以及,消息破坏器,其与确定器通信,被配置为一旦确定该消息是可疑的,则破坏该消息中的至少一部分。
根据本发明的第三方面,在此提出了一种计算机可取介质,其存储的计算机可执行的指令执行用于通信总线的实时数据安全的步骤,所述步骤为:a)读取通过通信总线传输的消息的至少一个早期部分;b)根据至少一个应用到所述消息被读取的早期部分的规则确定该消息是否是可疑的;以及,c)一旦确定该消息是可疑的,则破坏该消息中的至少一部分。
除非另有定义,本文中所使用的所有技术术语和科学术语都具有与本发明所属领域的普通技术人员的常规理解相同的含义。本文所提出的材料、方法和示例仅仅是说明性的并且无意于是限制性的。
本发明的方法和***的实现涉及手动地、自动地或以其组合的方式执行或完成某些选定的任务或步骤。然而,根据本发明的方法和***的优选实施方式的实际仪器和设备,可通过硬件或者通过任何固件的任何操作***上的软件或者通过其组合来实现若干选定的步骤。例如,作为硬件,本发明的选定的步骤可被实现为芯片或电路。作为软件,本发明的选定的步骤可被实现为由(使用任何适当操作***的)计算机执行的多个软件指令。在任何情况下,本发明的方法和***的选定步骤可被描述为通过数据处理器执行,比如通过用于执行多个指令的计算平台执行。
附图说明
在本文中通过参考附图举例说明的方式来描述本发明。现在参考附图详细说明,要强调的是,所示细节是通过举例说明的方式,并且是出于仅仅示例性讨论本发明的优选实施方式的目的,并且是为了提供被认为是对于本发明的原理和概念方面最有用且易于理解的说明而被呈现的。结合附图的描述使得本领域技术人员能够明白如何实际实现本发明的若干形式。
在附图中:
图1是说明性示出了第一示例性的现代交通工具的电子***的简化框图。
图2是说明性示出了第二示例性的现代交通工具的电子***的简化框图。
图3是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第一示例性的装置的简化框图。
图4是说明性示出了一个示例性的CAN总线消息格式的简化框图。
图5是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第二示例性装置的简化框图。
图6是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第一情况的简化框图。
图7是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第二情况的简化框图。
图8是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第三情况的简化框图。
图9是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第四情况的简化框图。
图10是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第五情况的简化框图。
图11是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第六情况的简化框图。
图12是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第七情况的简化框图。
图13是根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的示例性方法的简化流程图。
图14是根据本发明的示例性实施方式说明性示出了计算机可读介质所存储的计算机可读指令的简化框图,计算机可读指令执行用于通信总线的实时数据安全的步骤。
具体实施方式
本实施方式包括用于通信总线的实时数据安全的装置和方法。
通信总线——比方说安装在交通工具中的CAN总线,并且用于通信来自ECU(电子控制单元)或到达ECU的消息——可能容易受到使用恶意消息的攻击。
事实上,在近年来,交通工具通信总线变得非常容易受到攻击,比方说偷车贼、ECU遥控等等,如上文中以更多细节所描述的。
交通工具对使用通过交通工具总线发送的消息进行恶意攻击的敏感性可能随着自动驾驶汽车(如由Google™开发的自动驾驶汽车)的引入而进一步增长,因为这类汽车更依赖于全自动驾驶的关键汽车***。
在一个示例中,被***到CAN总线中的消息——比方说通过在互联网上所进行的对连接到互联网的ECU进行操纵的消息——可能带有恶意内容。
如本领域已知的,恶意内容可能包括但不限于:令控制交通工具的防盗***的ECU关闭防盗***的指令,可用于对控制关键***(比方说交通工具的刹车***)的ECU进行远程控制的计算机代码,等等。
在本发明的一个示例性实施方式中,在读取整个消息之前(有可能甚至是在通过设备接收到整个消息之前),读取通过通信总线传输的消息的早期部分,比如说使用在交通工具上安装的设备中所实现的装置进行读取。
例如,所述早期部分可通过对连接到总线的控制器进行采样来读取,而控制器仍然在接收构成消息的比特流——即同时仍然在设备上接收消息。
实际上,因为连接到总线(比如CAN总线)的控制器实时读取(即一旦在总线上接收到任一消息位便立即读取)总线的内容,该示例性实施方式的方法可由此提供一种数据安全解决方案,其中在总线上接收到所有消息位之前读取所述消息的早期部分。
消息的早期部分的这种读取可使得在总线上接收整个消息之前确定该消息可疑时能够无效或丢弃该消息,由此防止由所述消息的目的地ECU读取该消息,如下文中以更多细节所描述的。
在第一示例中,硬件设备被安装在通信总线的附近,但是不连接至总线。
在该示例中,在使用电磁感应(比方说使用感应探头)接收到构成消息的一些(但非全部)位之后,读取消息的早期部分,而同时该消息仍通过总线传输,如下文中以更多细节所描述的。
在第二示例中,设备物理连接至总线或者连接至总线的一段,并且通过到达总线的有线连接在设备上接收消息的早期部分。
该早期部分可包括,例如在读取整个消息之前所读取的消息中的一个或多个字节——即所述消息中一个或多个的前导字节(leading byte)。
因此,该早期部分可以是消息中连续的或不连续的部分,比方说在读取整个消息之前所读取的不连续的字节所构成的部分。此外,被读取的字节可构成消息的一小部分,或是消息的一大部分,但不是整个消息。
消息被读取的早期部分用于根据至少一个应用到该消息被读取的早期部分——比方说根据在被读取的部分中所包含的一个或多个消息字段等等——的规则确定该消息是否是可疑的,如下文中以更多细节所描述的。
可选地,所述规则由操作员、程序员、逻辑电路设计师等等来规定,如下文中以更多细节所描述的。
最终,如果确定消息是可疑的,则破坏消息中的至少一部分,由此使该消息无效,如下文中以更多细节所描述的。
该示例性的方法因此有可能被证明是对抗目标为关键车辆功能的此类“实时”攻击的唯一有效的方式,因为借助于该示例性的方法,可在读取整个消息之前或者甚至是在交通工具的任一ECU上接收该消息之前通过破坏而使得可疑的消息无效,如下文中以更多细节所描述的。
因此,在一个示例中,通过通信总线发送一带有恶意代码的消息,其中所述恶意代码在由控制交通工具的刹车***的ECU读取时会立即启动交通工具的刹车,这有可能导致车辆事故。
在该示例中,在仅读取消息的早期部分时就检测出该消息是可疑的,并因此有可能在总线上接收整个消息之前——并因此在由控制交通工具的刹车***的ECU完全读取之前——就破坏该消息。
更特别地,如本领域中已知的,ECU的控制器(比方说CAN控制器)不会将消息暴露(expose)给ECU的处理器(比方说用于控制刹车***的ECU的CPU或逻辑电路),直至所有消息位被控制器读取为止。
此外,如本领域中已知的,如果消息根据CAN协议是无效的,则ECU的CAN控制器不会将消息暴露给ECU的处理器,并因此仅仅有效的消息才被暴露给ECU的CAN控制器——比方说在缓冲器上——以供ECU的处理器读取。
因此,当被确定为可疑的消息由于破坏而失效时,控制器绝不会将该消息暴露给ECU的处理器,并且该ECU的处理器也绝不会读取带有恶意内容的消息。
参考附图和所附描述,可更好地理解根据本发明的装置和方法的原理和操作。
在详细地说明本发明的至少一个实施方式之前,要理解的是,本发明不将其应用限制于在以下说明中所阐述的或在附图中所示的构造细节和组件布置。
本发明能够有其它的实施方式,或者是以各种方式实施或执行。因此,要理解的是,在此使用的措辞和术语是出于说明的目的并且不应当被认为是限制性的。
现在参考图3,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第一示例性的装置的简化框图。
根据本发明的示例性实施方式,用于通信总线的实时数据安全的的装置3000可实现在硬件设备上。
硬件设备可包括但不限于:计算机处理器(CPU)、微控制器、控制器、FPGA(现场可编程门阵列)电路、ASIC(专用集成电路)等等,或其任意组合。可选地,该设备是ECU(电子控制单元)的一部分,如下文中以更多细节所描述的。
例如,装置3000可被实现为硬件设备,该硬件设备包括一个或多个计算机处理器、一个或多个控制器、一个或多个电子电路以及一个或多个计算机存储器(该计算机存储器存储有在装置3000启动时由计算机处理器运行的计算机代码)等等,如下文中以更多细节所描述的。
因此,示例性的装置3000可包括一个或多个硬件组件(比方说电路、计算机处理器、控制器等等),一个或多个软件组件等等,或其任意组合。
在图3中所示的示例性的装置3000包括一硬件设备和一个或多个额外部件,所述额外部件实现在硬件设备上或与硬件设备通信,如下文中以更多细节所描述的,比方说在图3中以310-330标号的部件。
所述额外部件中的每一个可被实现为软件(比方说通过对硬件设备的计算机处理器编程以执行在下文中以更多细节描述的方法之一的步骤),被实现为硬件(比方说作为一个或多个电子电路),或者被实现为其任意组合。因此,所述额外部件310-330中的每一个可被配置(比方说通过编程或电路设计)为执行在下文中以更多细节描述的示例性方法的一个或多个步骤。
示例性的第一装置3000包括消息读取器310,如下文中以更多细节所描述的。
消息读取器310读取通过通信总线传输的消息的至少一个早期部分。
所述总线可以是但不限于交通工具的通信总线(比如CAN总线)、局域互联网络(LIN)总线、Flex-Ray总线、交通工具区域网络(VAN)总线、以太网总线等等,如本领域中已知的。
可选地,在由消息读取器310读取整个消息之前,消息读取器310读取该消息的早期部分,如下文中以更多细节所描述的。
可选地,甚至是在装置3000的硬件设备上接收整个消息之前,消息读取器310读取该早期部分,如下文中以更多细节所描述的。
可选地,通过对控制器的缓冲器进行采样或是通过至少从控制器接收所述消息的早期部分,消息读取器310读取该早期部分。
在一个示例中,消息读取器310被实现在处理器(比方说CPU或电子电路)上,并且要由实现在控制器上的接收块接收的消息的早期位通过该接收块解析为可通过处理器读取的格式,由此生成该早期部分。接收块还将该早期部分暴露给处理器(比方说在缓冲器中),以供消息读取器310读取,如下文中以更多细节所描述的。
在该示例中,控制器是硬件设备的一部分并且电连接至通信总线以感测在总线上存在的位,或是能够以其它方式感测在总线上存在的位,由此接收构成消息的比特流,如下文中以更多细节所描述的。
在该示例中,消息读取器310读取所述早期部分,而控制器(并且更特别地,在其中实现的接收块)仍接收构成消息的比特流——即同时仍在硬件设备上接收该消息。
连接至总线(比方说CAN总线)的控制器实时感测(即一旦任一消息位到达总线便立即感测)总线内容,由此使得在所有消息位到达总线之前(即在总线上接收到消息的剩余位之前)消息读取器310能够读取该消息的早期部分。
消息的读取(同时未在总线上接收到所有消息位)可使得:在连接至所述消息的目的地ECU的总线上接收到整个消息之前,无效或删除可疑的消息,由此防止消息由ECU的处理器(比方说CPU或逻辑电路)读取,如下文中以更多细节所描述的。
在第一示例中,硬件设备安装在通信总线附近,并且消息读取器310使用电磁感应读取消息的早期部分。
在该示例中,安装在装置3000的硬件设备上的控制器使用感应探头来感测总线的状态,并由此接收通过总线传输的消息位,如下文中以更多细节所描述的。因此,感应探头被控制器用来在消息通过总线传输时使用电磁感应接收消息的前导位,并且所接收的位通过控制器(比方说使用缓冲器)解析和暴露,并随后由消息读取器310读取。
在第二示例中,硬件设备物理连接至总线或连接至总线的一段,并且在设备上接收消息的早期部分,所述设备通过作为装置3000的硬件设备的一部分的控制器有线连接至总线,如下文中以更多细节所描述的。
所述早期部分可包括,例如在读取整个消息之前由消息读取器310读取的消息的一个或多个字节,即一个或多个消息前导字节。
由消息读取器310读取的早期部分可以是连续的或不连续的消息早期部分,比方说在读取整个消息之前所读取的字节中的不连续字节所构成的部分。此外,被读取的字节可构成消息的一小部分,或是消息的一大部分,但不是整个消息。
可选地,消息读取器310读取整个消息,即不仅是读取该消息的早期部分,如下文中以更多细节所描述的。
装置3000还包括确定器320,其与消息读取器310通信,如下文中以更多细节所描述的。
可选地,确定器320根据至少一个被应用到要通过消息读取器310读取的消息的早期部分的规则确定所述消息是否是可疑的,如下文中以更多细节所描述的。
可供选择地,当消息读取器310读取整个消息时,确定器320根据至少一个应用到该整个消息的规则确定该消息是否是可疑的,如下文中以更多细节所描述的。
所述一个或多个规则包括但不限于一个或多个应用于消息的属性、消息头、在所读取部分(或整个消息)中所包含的一个或多个消息字段的内容、消息的长度、消息的发送时间(比方说日期、钟点等等)等等的规则,如本领域中已知的。
这些规则可额外地或可选择地包括基于在总线上的消息接收的背景的规则,所述消息接收的背景比如为消息速率(比方说在拒绝服务攻击期间通过总线发送的消息数量的突然增大)、正好在所述消息之前接收的消息的属性、交通工具的***之一(比方说ECU)的状态等等,如本领域中已知的。
所述一个或多个规则还可基于发送者黑名单,发送者白名单等等,或其任意组合,如本领域中已知的。
可选地,所述一个或多个规则由程序员、电路设计师或者装置3000的用户预定义,比方说通过编程、电路设计或使用GUI(图形用户界面)等等预定义,如本领域中已知的。
装置3000还包括与确定器320通信的消息破坏器330,如下文中以更多细节所描述的。
当确定器320确定消息是可疑的,则消息破坏器330破坏该消息中的至少一部分,比方说通过改变一个或多个消息位,比方说将错误引入该消息并由此无效该消息,如下文中以更多细节所描述的。
可选地,消息破坏器330通过改变一个或多个消息位来破坏在通信总线上的消息,当通过消息读取器310(比方说使用感应探头)读取时或者当硬件设备并联连接至总线时消息在通信总线上进行通信,如下文中以更多细节所描述的。
可供选择地,消息破坏器330在第二通信总线——比方说用于从装置3000的硬件设备发送消息的通信总线——上破坏消息,例如见“切入(cut-through)”情况,如下文中以更多细节所描述的。
可选地,通过破坏消息,消息破坏器330根据通信总线的通信协议——比方说实现在交通工具的或工厂的CAN总线上的CAN总线协议——使得消息无效。
可选地,消息破坏器330通过将CAN错误帧***消息来破坏该消息。
标准的CAN错误帧包括一串六个或更多个连续的相同位(其也被称为错误帧的错误标志),并且通常随后跟着一串八个连续的隐性位(即八个‘1’位)(其也被称为错误帧的错误定界符),如本领域中已知的。
当错误标志包括六个或更多个显性(‘0’)位时,该错误帧称为主动错误帧(ActiveError Frame),而当错误标志包括六个或更多个隐性(‘1’)位时,该错误帧称为被动错误帧(Passive Error Frame),如本领域中已知的。
因此,当在装置3000本身的硬件设备上完成破坏时,这有可能例如是以下“切入”情况之一,消息破坏器330可***错误消息,该错误消息为被动错误帧或主动错误帧。
然而,当硬件设备并联连接至总线或使用探头感测总线内容时,消息破坏器330必须破坏在总线上的消息,这仅能够通过将一个或多个隐性位改变为主动来实现,如下文中以更多细节所描述的。
因此,在第一示例中,通信总线是CAN(控制区域网络)总线,并且消息破坏器330通过将等效于CAN错误帧的帧***到CAN总线中来破坏被确定为可疑的消息,同时所述消息仍通过通信总线传输。这仅能够通过将一个或多个隐性位改变为主动来实现。因此,等效于CAN错误帧的被***帧包括主动错误帧的错误标志,但是不需要错误定界符,如下文中以更多细节所描述的。
可选地,通过改变消息中的一个或多个位,消息破坏器330在消息中留下一串至少六个连续的相同的位,并由此通过在消息中***CAN填充错误(CAN Stuffing Error)从而无效所述消息,如下文中以更多细节所描述的。
如消息包含一串六个或更多个连续的相同的位,则会出现CAN填充错误,如本领域中已知的。
可选地,由消息读取器310读取的早期部分包括除了与该消息相关的CRC(循环冗余校验)之外的整个消息,并且消息破坏器330改变与总线上的消息相关的CRC中的至少一位,并由此无效所述消息,如下文中以更多细节所描述的。
可选地,在通信总线上接收到所有消息位之前,消息破坏器330破坏被确定为可疑的消息,如下文中以更多细节所描述的。
可选地,装置3000还包括消息延迟器(未在图3中示出),如下文中以更多细节所描述的。
比方说在装置3000的硬件设备连接在两个总线段之间时,消息延迟器延迟将消息中的至少一部分传输至通信总线(或传输至其一段),如下文中以更多细节所描述的。
在一些示例中,消息延迟器延迟传输消息中的至少一部分,直至确定器320确定所述消息不是可疑的,或者延迟有可能为确定器320提供足够的时间来确定消息是否可疑的一个时间周期,如下文中以更多细节所描述的。
可选地,装置3000还包括总线监控器(未在图3中示出),如下文中以更多细节所描述的。
该总线监控器监控总线,并且一旦检测到该总线忙碌时,将总线忙碌的指示传送至消息延迟器,传送至在硬件设备上接收消息位的控制器,或者传送至这两者,如下文中以更多细节所描述的。随后,消息延迟器或控制器延迟消息中的至少一部分通过通信总线的传输,如下文中以更多细节所描述的。
可选地,装置3000还包括与确定器320通信的消息丢弃器(未在图3中显示),如下文中以更多细节所描述的。
当确定器320确定消息是可疑的,则消息丢弃器(比方说使用控制器部件之一)删除消息中的至少一部分,如下文中以更多细节所描述的。
可选地,装置3000还包括感应探头(未在图3中显示),并且消息读取器310将该探头用于使用电磁感应来读取消息中的一部分,并且在可能的情况下也用于破坏消息,如下文中以更多细节所描述的。
因此借助于示例性的装置3000,可在读取整个消息之前或者甚至是在交通工具的任一ECU上接收整个消息之前,通过破环使可疑的消息无效,如下文中以更多细节所描述的。
因此,在一个示例中,仅当读取消息的早期部分时就可确定带有恶意代码的消息是可疑的,并因此有可能在总线上接收整个消息之前——并因此在由被确定为可疑的消息的目的地ECU完整读取之前——破坏所述消息。
特别地,在该示例中,ECU的控制器是标准的CAN控制器。
通常,标准的CAN控制器仅在所有消息位均由控制器接收并且发现该消息根据CAN协议规则是有效的之后才暴露所述消息以供CPU或电路读取,如本领域中已知的。
因此,当消息通过消息破坏器330破坏而被无效时,ECU的CAN控制器不暴露该消息以供CPU或逻辑电路读取,由此防止由消息携带的恶意代码到达CPU。
事实上,大多数现代交通工具都使用CAN(控制区域网络)通信总线,即CAN总线。
CAN(或CAN总线)是一种交通工具总线标准,其被设计为允许电子***在交通工具内彼此通信,而无需主计算机(即在总线上不需要主机)。
因此,交通工具中的ECU通常通过接入CAN总线进行通信。然而,CAN总线也被用在非交通工具***的***中,特别是用在工业控制***中。
CAN总线协议是主要在汽车工业中使用的广播协议。然而,存在有多于一种的CAN总线版本。此外,汽车制造商可在交通工具中安装为车辆型号专门配置的通信总线。
根据CAN总线协议的一个版本,通过CAN总线传输的消息必须符合图4中所示的格式。然而,当前的CAN协议版本还提供了CAN总线格式的一些变体,比如包括29位长ID字段的扩展格式,或者是近年来引入的CAN FD灵活数据速率格式。
以下示例性的实施方式显示了装置3000的一种实现形式,其中通信总线是CAN总线。即便是结合交通工具总线进行的描述,但本示例性的装置、方法或情况中没有任何一个应当被解释为限于交通工具环境。因此,所提出的实施方式也可以结合非交通工具CAN总线来实现。
现在参考图5,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第二示例性装置的简化框图。
CAN总线的物理层被实现为差分总线,其包括高线1007和低线1008,如本领域中已知的。
利用第二示例性的装置,CAN总线的物理层1007、1008通过(在非限制性的示例中)被实现在PHY(物理层)芯片上的收发机1006分析,如本领域中已知的。
因此,收发机1006为一接口,其用于将代表总线上的消息位的CAN总线物理层1007、1008的数据转换成逻辑电平数据,比方说转换成CMOS或TTL电压电平,如本领域中已知的。
逻辑电平数据通过控制器的RX线1004传输至控制器1003,比方说被修改的CAN控制器或其它控制器。类似地,来自控制器1003的逻辑数据可通过控制器TX线1005由收发机1006接收。
该逻辑电平数据通过可驻留在微控制器或应用芯片上的控制器103进行分析,并且该控制器1003将数据解析为可由处理器1001(比方说中央处理器(CPU)、微处理器单元(MPU)、逻辑电路等等)读取的格式。
不同于标准的CAN控制器,在将消息暴露给处理器1001(比方说在可由处理器1001读取的缓冲器上)之前,控制器1003不会等待在控制器1003上接收全部的CAN消息位。
可选地,处理器1001和控制器1003是同一单元的一部分并且在内部通信(比方说经由内部总线线路1002、寄存器接口或在CPU/微处理器/芯片上***内进行内部通信的任何其它装置)。
可供选择地,处理器1001(比方说CPU)在外部芯片上实现,其通过总线1002——比方说基于SPI(串行***接口)、I2C(内部集成电路)、UART(通用异步接收器/发送器)、PCI(***组件互连)、或任何其它本领域中已知的芯片互联协议的总线——连接至控制器1003。
总线(1007、1008)的物理层被共享,从而使连接到总线的每个收发机1006(以及任何类似的收发机)实时地得知总线的状态。
总线(1007、1008)的物理层有两种状态:代表显性(‘0’)位的显性状态和代表隐性(‘1’)位的隐性状态。当总线处于隐性状态时,与总线相连的每个发射机都可将总线的状态改变为显性,如本领域中已知的。
第二示例性的装置还包括在处理器1001上实现的装置300,因此至少包括装置3000的部件310-330,比方说由处理器1001执行的计算机代码。可选地,第二装置还包括可选装置3000部件中的任何一个或多个,也可以被实现为由处理器1001执行的计算机代码。
在大多数CAN总线上,在总线上传输的消息必须要在被暴露给处理器1001之前由控制器1003完全接收,如本领域中已知的。
然而,借助使用图5显示的第二装置,消息的早期部分可被暴露给处理器1001,比方说在控制器1003的缓冲器上,而该消息的剩余位仍通过总线1007、1008传输并且通过收发机1006和控制器1003接收。
因此,可选地,在消息仍通过总线1007、1008传输并且通过收发机1006和控制器1003接收时,并且在总线上接收构成消息的所有位之前,消息读取器310读取该消息的早期部分,并且确定器320仅基于所读取的部分确定该消息是否是可疑的。
可供选择地,消息读取器310读取整个消息而不仅仅是消息的早期部分,并且确定器320基于整个消息来确定该消息是否是可疑的。
此外,当确定器320确定消息是可疑的,则通过消息破坏器330破坏该消息。
在第一示例中,消息破坏器330对消息的破坏是通过:向收发机1006发出指令以便在应当是隐性位的位置***一个或多个显性位,而同时该消息仍通过总线传输,用于生成CAN CRC错误。
在第二示例中,消息破坏器330对消息的破坏是通过:通过总线发送CAN总线错误帧(或等效帧),而同时该消息仍通过总线传输,如上文中以更多细节所描述的。
因此,该消息可通过由其它节点(比方说ECU)发送的破坏消息“阻挡”,由此确保连接到CAN总线的节点(比方说另一ECU)不会读取该消息。
在硬件设备连接在两个总线段(其实质上可以是具有不同协议的两个总线)之间的情况下,还可以比方说通过删除消息(当该消息通过装置3000的硬件设备)中的至少一部分来“丢弃”消息,如下文中以更多细节所描述的。
现在参考图6,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第一情况的简化框图。
在该情况下,装置3000的部件310-330实现在中央单元1102上,该中央单元1102是连接至CAN总线1007、1008的硬件设备,所述CAN总线1007、1008也连接至一个或多个ECU1101。在该示例中,硬件设备1102与ECU 1001并联地连接至总线。
在第一情况(其在下文中也被称为“有线CAN消息阻挡”情况)下,硬件设备包括收发机1006、控制器1003、以及第二装置的处理器1001,如上文的图5中所示。
此外,在第一情况下,装置3000实现在处理器1001上。
可选地,在第一情况下,控制器1003是CAN控制器(其使用计算机代码修改),电子电路(比如ASIC(专用集成电路)、FPGA(现场可编程门阵列)等等),或者任何本领域已知的用于将逻辑集成到芯片中的装置,从而具有以下额外特征:
1、通过控制器1003接收的消息位被该控制器解析成可由处理器(比方说CPU)1001读取的格式,并且在整个消息被接收之前(即同时控制器1003仍接收消息且在总线上没有接收到所有消息位时)被转发至处理器。由此允许消息读取器310读取消息的早期部分(即消息中的仅仅一部分)。处理器1001能够是控制器1003的一部分或是单独芯片的一部分。
2、处理器1001还能够命令控制器1003破坏消息(由此无效消息并且强制被并联连接到CAN总线的ECU之一的任意CAN控制器避免将该消息暴露给ECU的CPU),删除消息,或忽略消息,如CAN总线协议关于无效消息所规定的。
在一个示例中,消息的关联部分——在处理器1001上实现的确定器320依靠该关联部分确定消息是否是可疑的——是消息的CAN ID字段、数据字段、元数据字段等等,或其任意组合(比方说速率、时间、标志、消息长度等等)。该关联部分被包括在要暴露给处理器1001的消息的早期(但不必是连续的)部分,以供消息读取器310读取。
在该示例中,确定器320可使用一个或多个规则确定消息是否是可疑的,比方说根据消息的时间、发送者等等,如本领域中已知的和例如在PCT/IL020/202092中所描述的。
在该示例中,确定器320可在接收和读取ID时尽早确定消息是可疑的,或者是在代表其它消息字段的后续消息位被接收到时确定消息是可疑的。
一些CAN控制器可具有在完全接收到CAN消息之前对其进行采样的固有能力,并因此无需对上文中以更多细节描述类型的控制器进行修改。
对于此类控制器,在仍接收消息的同时轮询(polling)控制器1003的关联数据寄存器,能够暴露消息ID和/或数据和/或消息元数据。
除了轮询之外,标准的CAN控制器的引脚之一可以是被配置为在CAN接收引脚上检测到改变时发送中断的引脚。所述引脚可以是被指定用于接受CAN消息的额外引脚或者同一CAN控制器的引脚。
当确定器320确定消息是可疑的,则消息破坏器330破坏该消息,比方说使用控制器1003的部件之一破坏该消息,如下文中以更多细节所描述的。
在第一情况中,消息破坏器330可比方说通过将一个或多个消息位从隐性改为显性来破坏消息,而同时该消息仍通过总线传输,如下文中以更多细节所描述的。
现在参考图7,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第二情况的简化框图。
在第二情况中,装置3000的硬件设备1201并不物理连接至总线1007、1008。然而,装置3000还包括感应探头1202,其无线地或有线地连接至硬件设备1201并用来使用电磁感应接收消息位。
因此,消息读取器310使用感应读取消息的早期(但不必是连续的)部分。
例如,硬件设备1201可包括控制器1003,其安装在硬件设备1201上并且通过导线连接至探头1202。
控制器使用探头1202通过电磁感应来感测总线。
由此,在总线上接收消息位时,控制器1202接收消息位,并在总线上接收整个消息之前将消息的早期部分(其为解析已接收位的结果)转发至处理器1001,以供消息读取器310读取。
在第二情况中,由于硬件设备1201并不直接连接至CAN总线1007、1008,而是使用感应探头1202作为总线状态的传感器,硬件设备1201仅能够通过CAN总线1007、1008接收消息而不能发送任何消息(比方说错误消息)。
然而,消息破坏器330能够使用感应方法干涉总线上的通信。
更特别地,在一个示例中,消息破坏器330可在消息被确定是可疑的时破坏在总线上传输的一个或多个消息位,这是通过使用探头在总线上发送高电压脉冲/高电流脉冲以将一个或多个隐性的消息位改成显性位,由此破坏在总线上的消息。
在非常相似的情况中,代替通过感应接收消息位,控制器1003的RX线1004连接收发机1006和控制器1003。然而,TX线1005不将控制器1003连接至收发机1006。相反,TX线1005将收发机1006连接至处理器(比方说CPU)1001上的通用I/O线,其不能够直接发送CAN消息。
然而,I/O消息仍可由在处理器1001上实现的消息破坏器330使用,以便在总线上破坏被确定是可疑的消息,这是通过将一个或多个隐性位改为显性,如上文中以更多细节所描述的。
可供选择地,通过使得总线关于一特定的时间周期呈显性——在该时间周期内所述总线因此被中和(neutralized)——消息破坏器330可擦除在总线上传输的所有消息。
现在参考图8,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第三情况的简化框图。
可选地,在第三情况(在下文中也被称为“切入”情况)中,硬件设备1301(在其上实现了装置3000的部件310-330)物理连接在两个总线段(其实质上可为两个不同的总线)之间。此外,在该情况中,每个段并联连接有一个或多个ECU 1101。
可供选择地,在“切入”情况中,硬件设备1301连接在单个ECU和单个总线(比方说仅第一段)之间,或者是安装在ECU内部,形成ECU的一部分(比方说在ECU自己的CAN控制器与总线之间)。
在一个示例中,硬件设备1301连接在第一CAN总线段(高线1007和低线1008)的物理层与第二CAN总线段(高线1302和低线1303)的物理层之间,如下文中以更多细节所描述的。
在连接到两个(或多个)总线段之间的当前设备上实现的存储和转发情况中,仅在从第一段接收整个消息之后,作出是否将消息转发至第二段的决定,并且开始消息的转发。
根据本发明的一个实施方式,相比于当前的存储和转发情况而言,在总线段之间转发的消息的恢复时间(latency)可被缩短,这是通过在第一总线上没有接收全部消息位时开始将在第一总线上接收的消息转发至第二总线。
特别地,在硬件设备1301上仍接收消息位的同时(即在连接到总线段之间的硬件设备上接收整个消息之前),开始将消息位转发至第二总线段。
在一个示例中,在硬件设备1301上仍接收消息的同时,通过消息读取器310读取消息的早期部分,并且确定器320确定消息是否是可疑的,如下文中以更多细节所描述的。
在第二示例中,仅在完全接收到消息之后(即在接收到所有位之后),通过消息读取器310读取消息,因此其读取整个消息而不是仅读取消息的一部分。
如果确定器320确定消息是可疑的,则消息破坏器330破坏消息,这是通过在第二总线上改变一个或多个消息位,或者在硬件设备1301上改变(对于不被转发至第二总线段的位),如下文中以更多细节所描述的。
硬件设备1301可连接在两个CAN TTL/CMOS电平设备之间,如以下使用图9-12所示的。
图9-12说明性示出了一些实体,所述实体中的一些可经由如图9-12中所示的连接进行通信。连接可被实现为例如有线或无线的信道、集线器或任何其它在本领域中已知的用于在两个或多个实体之间进行通信的装置,如下文中以更多细节所描述的。
附图中的一些显示了一些块。一个块可例如实现在经过修改的CAN控制器或其它控制器(比方说计算机代码、电子电路等等)上,如本领域中已知的。
现在参考图9,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第四情况的简化框图。
在第四情况(其为图8中所示的“切入”情况的一个示例性的变体)中,硬件设备1301是连接至CAN总线的ECU的一部分。
在第四情况中,安装在硬件设备1301上的控制器1403一方面使用两个连接1401、1402连接至ECU的CAN控制器,并且在另一方面连接至收发机1006,该收发机是CAN PHY(物理)层接口并连接至总线1007、1008的物理层。
因此,硬件设备1301仅包括单个收发机1006,即单个CAN PHY(物理)层接口,其连接至总线的物理层1007、1008。
控制器1403具有到处理器(比方说CPU)的连接1002并且还与ECU自己的CAN控制器连接1401、1402。控制器1403还与收发机1006连接1004、1005。
可选地,处理器1001和控制器1403是同一单元的一部分并且在内部通信(经由总线1002、寄存器接口、内部总线或在CPU/微控制器/芯片上***内进行内部通信的任何其它装置)。
可供选择地,处理器1001是通过总线1002连接至控制器1403的外部芯片。用于连接控制器1402和处理器1001的总线1002可以基于SPI、I2C、UART、PCI或任何其它芯片互联协议,如本领域中已知的。
现在参考图10,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第五情况的简化框图。
在第五情况(其为图8中所示的“切入”情况的一个示例性的变体)中,硬件设备1301是独立的设备,其带有两个收发机(即CAN PHY(物理)层接口)1006、1501。
第一收发机1006连接至第一总线段的物理层1007、1008,并且,第二收发机1501连接至第二总线段的物理接口1302、1303。因此,硬件设备1301连接在两个总线段之间。
第一收发机1006与控制器1403连接1004、1005,并且第二收发机1501也与控制器1403连接1401、1402,以及控制器1403与处理器1001(比方说CPU)通信1201。
可选地,处理器1001和控制器1403是同一单元的一部分并且在内部通信(经由总线1002、寄存器接口、或在CPU/微控制器/芯片上***内进行内部通信的任何其它装置)。
可供选择地,处理器1001是通过总线1002连接至控制器1403的外部芯片。用于连接控制器1402和处理器1001的总线1002可基于SPI、I2C、UART、PCI或任何其它芯片互联协议,如本领域中已知的。
现在参考图11,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第六情况的简化框图。
在第六情况(其在下文中也被称为“只读切入”情况)中,装置3000的硬件设备包括控制器1601,其受到处理器1001(比方说CPU)的控制,其上实现有装置3000的部件310-330、消息延迟器、消息丢弃器、以及可选的其它部件。
第六情况的控制器1601不能用于生成任何消息。然而,控制器1601能够丢弃被确定器320确定是可疑的消息(通过保留消息并且不转发该消息的任一部分),或者能够破坏消息(通过在开始将构成消息的位转发至总线之后无效该消息)。
因此,在一个示例中,控制器1601延迟从第一总线段接收的消息,该消息经由控制器1601到达第二总线段。只要消息位中没有任何一个被转发至第二总线段,则控制器1601可用于(比方说通过消息破坏器330)通过不将任何消息位转发至第二总线段来删除该消息。
在第二示例中,开始从第一总线段接收的消息位(其经由控制器1601到第二总线段)的转发,并因此控制器1601不能够用于通过不转发任何消息位来删除消息。然而,只要构成消息的位仍通过第二总线段传输,控制器1601仍可由消息破坏器330使用,以便通过在第二总线段上改变至少一个消息位来破坏消息。
控制器1601包括接收块1603,其通过连接1004从CAN PHY物理层接口1006接收消息的逻辑电平(TTL/CMOS)CAN数据(即消息位)。接收块1603将所接收的位解析成处理器1001(比方说CPU)能够读取的格式,并且暴露该消息(或其早期部分)以供在处理器1001上实现的消息接收器310读取。
消息或其早期部分通过在控制器1601的接收块1603和处理器1001之间的连接1605暴露给处理器1001,以供消息接收器310读取(比方说在缓冲器上)。
因此,消息的早期部分可由消息接收器310读取,而同时控制器1601的接收块1603仍接收构成消息的位。可供选择地或额外地,消息读取器310可在接收到所有消息位时读取整个消息。
在接收消息位的同时,接收块1603还使用连接1606将消息位(作为比特流)朝着传输块1604转发。
因此在该情况下,而消息仍通过总线传输的同时,即在总线上和在控制器1601上接收到整个消息之前,经过修改的CAN控制器1601的接收块1603可将消息的早期部分暴露给处理器(比方说CPU)1001。在以处理器可读的格式将消息的早期部分(即,位)暴露给处理器1001并且仍然接收消息位的同时,接收块1603还将所接收的消息位(如比特流,逐位地)转发至传输块1604。
可选地,接收块1603还可在接收整个消息之后通过连接1005发送“确认(Ack)”信号,提供由接收块1603(比方说根据CAN总线协议规则)确定为有效的消息,以及通过确定器320确定为不可疑的。
可选地,控制器1601还包括消息延迟块1602。
消息延迟块1602在接收块1603和传输块1604之间连接1608、1606,并且能够延迟消息位在两个块1603、1604之间的传输,比方说通过将消息延迟块1602从接收块1603接收的位保留在缓冲器中,或者命令接收块1603停止向消息延迟块1602发送位。
可选地,消息延迟块1602将传输延迟一时间周期,该时间周期长得足以让确定器320确定消息是否是可疑的。
可选地,比方说当传输块1604忙碌时或当消息的目的地总线段忙碌时,消息延迟块1602还能够存储由接收块1603转发的消息位。
延迟的时间周期可以是固定的,或者是为每个消息特别计算的,比方说是根据在由消息读取器310读取时消息的早期部分中存在的长度指示计算的。
在一个示例中,装置3000的消息延迟器计算所需延迟时间周期的长度,并且使用在处理器1001和消息延迟块1602之间的连接1607相应地给消息延迟块1602发指令。在第二示例中,延迟的时间周期还由消息延迟块1602自身确定。
延迟的时间周期的长度也可以计算,甚至是在消息的传输开始之前。例如,在接收到消息体之前的DLC(数据字节的数量)位之后或在接收到消息的ID字段之后,有可能计算出还要传输多少个更多的字节,以及直到消息结束为止的期望时间周期。
基于直到消息结束为止的期望时间周期,可计算出消息确定器320确定消息是否是可疑的所需要的时间,从而为确定器320留下足够的时间来确定消息是否是可疑的。
可选地,消息延迟块1602等待消息的目的地总线段1401变空闲(并且可选地,还在消息延迟块1602上或在处理器1001的缓冲器上存储整个消息)。
消息延迟块1602仅仅是可选的,并且在不被包括在控制装置1601中时,接收块1603和传输块1604可以直接连接。
此外,消息延迟块1602的延迟周期可以被设为零。此外,由消息延迟块1602延迟的消息也可由处理器(比方说CPU)1001通过与消息延迟块1602的通信1607进行控制。
在一个示例中,当消息延迟块1602变得拥塞时(比方说当消息延迟块1602所使用的缓冲器已满时),消息延迟块1602可将指示发送至处理器1001,发送至接收块1603,或发送至这两者1001、1603。
可选地,处理器1001——并且更特别是在处理器1001上实现的消息丢弃器——可命令延迟块1602删除消息。
优选地,当接收块1603从消息延迟块1602接收到忙碌指示时,其不发送“确认”信号。
传输控制器块1604:
1、从接收控制器块1603(比方说通过连接1606)直接接收消息位,比方说比特流(逐位地),或者通过连接1608从延迟块1602接收消息位,并且将这些位转发至总线。
2、能够删除消息,比方说在通过连接1609命令由在处理器上实现的消息丢弃器完成消息删除。
3、可通过连接1402检测总线不空闲。在CAN总线中,不空闲的总线由CAN总线的“帧末尾”用“确认”(其为一串八个连续的隐性(1)位)指明。一旦检测到不空闲总线,传输块1604可将忙碌指示发送给消息延迟块1602。此类对忙碌总线的检测的一个可选实现方式包括:使用接收块1603(其与总线连接1402),并且在从总线得到忙碌指示时,发送忙碌信号至传输块1604。
4、如果收到命令比方说通过消息丢弃器比方说通过将到达总线的任何隐性(‘1’)位改为显性(‘0’),则可选地丢弃所有消息,如上文中以更多细节所描述的。
可选地,由接收块1603和传输块1604二者用于转发消息位的波特率(baud rate)从处理器1001控制,比方说由装置3000的消息延迟器控制。
在接收块1603和传输块1604之间的通信1606、1608可使用快速比特采样(由此避免特定CAN位时间的丢失),通过CAN比特采样(以CAN比特率),或分批地(即一次若干位)——例如以并联连接——实现。
可选地,控制器1601还可使用消息延迟块1602执行存储和转发操作,比方说消息的传输目的总线段1401忙碌时,在这种情况下,仅在接收到整个消息之后开始消息位的转发。
现在参考图12,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的第七情况的简化框图。
在第七情况(在下文中也被称为“完全切入”情况)中,装置3000的硬件设备包括控制器1701,其受到处理器1001(比方说CPU)的控制,其上实现有装置3000的部件310-330、消息延迟器、消息丢弃器、以及可选的其它部件。
控制器1701实现传输块1703和接收块1702,其为标准的CAN控制器传输块和接收块的修改版本,因此允许使用传输块1703通过连接1705从处理器1001发送CAN消息。
因此,传输块1703能够用作标准的CAN控制器的传输块(在发送消息时),以及仅负责破坏或删除消息的块(比方说如在“只读切入”的示例性情况中)。
在第七情况中,在仍从第一CAN总线1004接收消息位的同时,接收块1702解析并通过连接1704(比方说在缓冲器上)将消息的早期部分暴露给处理器1001,以供消息接收器310读取。可供选择地或额外地,消息读取器310可在已经接收到所有消息位时读取整个消息。
在仍接收消息位的同时,接收块1702还将接收到的消息位转发至连接到第二CAN总线1401的传输块1703。
可选地,当处理器1001感测到在消息延迟块1602的缓冲器中的拥塞的情况下,处理器1001(比方说CPU)还存储消息,以便后续发送该消息。
如果能够由处理器1001通过连接1705进行消息的发送,则该消息位——类似于“仅接收的切入”情况——被传输至第二CAN总线1401。
处理器1001能够禁用从接收块1702到传输块1703的直接路由(并且甚至是删除消息,比方说使用可选的消息延迟块1602通过连接1607或者延迟消息直至发送处理器1001自己的消息)。
以此种方式,处理器1001能够(在处理器决定这么做的情况下)使用传输控制器块1703通过连接1705发送其自己的消息。
因此,可由处理器1001执行在处理器1001与消息延迟块1602之间消息的仲裁(arbitration)。
例如,处理器1001可指示延迟块1602扣留消息,直至传输块1703停止通过总线1401发送消息(其由处理器1001发送),并随后指示延迟块1602继续使用连接1607发送由接收块1702所接收的消息位。
可供选择地,当处理器1001已有消息——比方说由于消息在之前(因为延迟块1602的缓冲器已满)被接收器块1702转发至处理器1001的消息缓冲器——则处理器1001可自己发送该消息。
仲裁还可由传输块1703完成,比方说指示延迟块1602扣留消息(比方说通过向延迟块1602发送总线1401忙碌的消息),并当结束处理器消息的发送时,指示延迟块1602停止扣留消息。
在本情况中,处理器1001还可执行“存储和转发”操作,如本领域中已知的,比方说通过指示延迟块1602延迟任何的消息转发,直至消息被完全接收并且被认为是不可疑的为止。当消息被完全接收并且被认为是不可疑的,则处理器1001可使用传输块1703发送整个消息,或指示延迟块1602将整个消息转发至传输块1703。
现在参考图13,其为根据本发明的示例性实施方式说明性示出了用于通信总线的实时数据安全的示例性方法的简化流程图。
一种根据本发明的示例性实施方式的、用于通信总线的实时数据安全的示例性方法可通过计算机处理器、电子电路等等,或其任意组合(比方说通过装置3000)来执行,如上文中以更多细节所描述的。
在该示例性的方法中,在通过通信总线传输消息期间,比方说通过消息读取器310对消息的至少一个早期部分进行读取13010,如上文中以更多细节所描述的。
总线可以是但不限于交通工具的通信总线,比如CAN总线、局域互联网络(LIN)总线、Flex-Ray总线、交通工具区域网络(VAN)总线等等,如本领域中已知的。
这比方说,可选地,在读取整个消息之前,对消息的早期部分进行读取13010,如上文中以更多细节所描述的。
可选地,甚至是在实现了所述方法的硬件设备(比方说装置3000的硬件设备)上接收到整个消息之前,对早期部分进行读取13010,如上文中以更多细节所描述的。
在一个示例中,通过采样或接收控制器缓冲器的内容或从控制器接收早期部分,可对该早期部分进行读取13010。
在该示例中,控制器是硬件设备的一部分,并且电连接至通信总线用于感测在总线上的位,或是能够以其它方式感测在总线上存在的位,由此接收构成消息的比特流,如上文中以更多细节所描述的。
在该示例中,在控制器仍接收构成消息的比特流的同时,即仍通过硬件设备接收消息时,对所述早期部分进行读取13010。
连接至总线(比方说CAN总线)的控制器实时感测(即一旦任一消息位到达总线立即感测)总线的内容,由此使得在总线上接收到所有消息位之前(即在总线上接收到消息的剩余位之前)能够对消息的早期部分进行读取13010。
在总线上尚未接收到所有消息位的同时,对消息进行读取13010可使得在连接到消息的目的地ECU的总线上接收到整个消息之前能够无效或删除可疑的消息,由此防止该消息由所述ECU的处理器(比方说CPU或逻辑电路)读取,如下文中以更多细节所描述的。
在第一示例中,使用电磁感应(比方说使用感应探头)读取消息的早期部分,所述感应探头使用电测感应在通过总线传输消息时感测该消息的前导位,如上文中以更多细节所描述的。
在第二示例中,其上实现了所述方法的硬件设备被物理连接至总线,或连接至总线的一段,并且消息的早期部分通过到达总线的有线连接在硬件设备上被接收,如上文中以更多细节所描述的。
该早期部分可包括,例如在读取整个消息之前被读取13010的消息的一个或多个字节,即一个或多个消息前导字节。
因此,对消息的早期部分的读取13010可以是消息中连续的或不连续的早期部分,比方说在读取整个消息之前所读取的不连续的字节所构成的部分。此外,被读取的字节可构成消息的一小部分,或是消息的一大部分,但不是整个消息。
接下来,根据至少一个应用到所述消息被读取13010的早期部分的或者应用到整个消息(即不仅仅是其早期部分)(比方说当整个消息由消息读取器310读取时)的预定规则确定13020消息是否是可疑的,如上文中以更多细节所描述的。
所述一个或多个规则可包括但不限于一个或多个应用于消息的属性、消息头、在所读取13010的部分(或整个消息)中所包含的一个或多个消息字段的内容、消息的长度、消息的发送时间(比方说日期、钟点等等)等等或其任意组合的规则,如本领域中已知的。
所述一个或多个规则还可基于发送者黑名单,发送者白名单等等,或其任意组合,如本领域中已知的。
这些规则可额外地或可选择地包括基于在总线上的消息接收的背景的规则,所述消息接收的背景比如为消息速率(比方说在拒绝服务攻击期间通过总线发送的消息数量的突然增大)、正好在所述消息之前接收的消息的属性等等,如本领域中已知的。
可选地,所述一个或多个规则由程序员、电路设计师或者用户预定义,比方说通过编程、电路设计或使用GUI(图形用户界面)等等预定义,如上文中以更多细节所描述的。
当确定13020消息是可疑的,消息中的至少一部分被破坏13030,比方说通过消息破坏器330破坏,如上文中以更多细节所描述的。
可选地,消息被破坏13030,这是通过改变一个或多个消息位,比方说将错误引入该消息并由此无效该消息,如上文中以更多细节所描述的。
可选地,消息被破坏13030,这是通过:在通信总线上改变一个或多个消息位,当该消息被读取13010(比方说使用感应探头读取)时该消息在所述通信总线上通信,如上文中以更多细节所描述的;或者,在第二通信总线上改变一个或多个消息位,所述第二通信总线比方说是用于从装置3000的硬件设备发送消息的通信总线,例如见“切入”情况之一,如上文中以更多细节所描述的。
可选地,根据通信总线的通信协议(比方说根据在交通工具或工厂的CAN总线上实现的CAN总线协议),消息的破坏13030使得消息无效,如上文中以更多细节所描述的。
可选地,在通信总线上接收到所有消息位之前,破坏13030被确定13020是可疑的消息,如上文中以更多细节所描述的。
在第一示例中,通信总线是CAN(控制区域网络)总线,并且通过将等效于CAN错误帧的帧***到CAN总线中来破坏13030所述消息,同时所述消息仍通过通信总线传输,如上文中以更多细节所描述的。
然而,改变通过总线传输的消息位可仅仅通过将消息位中的一个或多个隐性(‘1’)位改为显性(‘0’)来完成。等效于CAN错误帧的被***帧包括主动错误帧的错误标志,但是不需要错误定界符,如上文中以更多细节所描述的。
可选地,通过改变消息中的一个或多个位,在消息中留下一串至少六个连续的相同的位,并由此通过在消息中***CAN填充错误从而无效所述消息,如上文中以更多细节所描述的。
可选地,早期部分的读取13010(比方说通过消息读取器310的读取)包括除了与该消息相关的CRC(循环冗余校验)之外的整个消息,并且消息的破坏包括在总线上改变与消息相关的CRC中的至少一位,并由此无效该消息,如上文中以更多细节所描述的。
可选地,该示例性的方法还包括(比方说通过装置3000的消息延迟器)延迟通过通信总线传输消息中的至少一部分的可选步骤,如上文中以更多细节所描述的。
在一些示例中,传输被延迟,直至确定13020所述消息不是可疑的,或者延迟有可能提供足够的时间来确定13020消息是否可疑的一个时间周期,如上文中以更多细节所描述的。
可选地,该示例性的方法还包括(比方说通过装置3000的总线监控器)监控总线,并且一旦检测到总线忙碌,则延迟通过通信总线传输消息中的至少一部分,如上文中以更多细节所描述的。
可选地,该示例性的方法还包括删除消息中的至少一部分(比方说通过装置3000的消息丢弃器)的可选步骤,如上文中以更多细节所描述的。
现在参考图14,其为根据本发明的示例性实施方式说明性示出了计算机可读介质所存储的计算机可读指令的简化框图,计算机可执行指令执行用于通信总线的实时数据安全的步骤。
根据本发明的示例性实施方式,提出了一种非易失性的计算机可读介质14000,其存储执行用于通信总线的实时数据安全的步骤的计算机可读指令。
该计算机可读介质14000可包括但不限于:SRAM(静态随机存取存储器)、闪存、EEPROM(电可擦除可编程只读存储器)、EPROM(可擦除ROM)、RAM(快速存取存储器)、DRAM(动态RAM)、ROM(只读存储器)、PROM(可编程ROM)、微型SD(安全数字)卡、CD-ROM、固态驱动器(SSD)、USB存储器、硬盘存储器(HDD)等等,如本领域中已知的。
例如,计算机可读介质14000可包括一个或多个存储器单元或多个存储器块或组件,其被包括在电子电路(比方说FPGA)中,如上文中以更多细节所描述的。
计算机可读介质14000存储计算机可执行指令,其用于执行在上文中以更多细节所描述的和使用图13所示的示例性方法的步骤。
例如,介质14000存储有:计算机可执行指令14010,其用于执行方法中的读取13010步骤;计算机可执行指令14020,其用于执行方法中的确定13020步骤;以及,计算机可执行指令14030,其用于执行方法中的破坏13030步骤。
可预见的是,在本专利的存续期间将会开发出多种相关的设备的***,并且此处所使用的术语——特别是术语“总线”、“CAN”、“LIN”、“Flex-Ray”、“VAN”、“以太网”、“控制器”、“CPU”、“处理器”、“计算机”和“ECU”——的范围旨在先验地包括所有这些新技术。
可理解的是,为了清楚起见,以单独实施例为背景所描述的本发明的某些特征也能够以单个实施方式的组合来提供。相反,为了简洁起见,以单独实施例为背景所描述的本发明的各种特征也能够单独地或以任何适当子组合的形式来提供。
虽然本发明以结合其特定实施方式进行了描述,本领域技术人员将会明白多种备选方案、修改和变体是显而易见的。因此,旨在涵盖落于所附权利要求的精神和宽泛范围内的所有这些备选方案、修改和变体。
在本说明书中提及的所有出版物、专利和专利申请在此通过引入将其全部内容并入本说明书中,就如同每个单独的出版物、专利或专利申请被明确地和单独地指明以引用方式并入本文一样。此外,本申请中的任何对比文件的引用或标识不应被解释为承认该对比文件可作为本发明的现有技术。
Claims (25)
1.一种用于通过连接在总线控制器和总线收发机之间的装置实现通信总线的实时数据安全的方法,所述方法使用消息,所述消息包括早期部分与所述早期部分之后的后期部分,通过所述装置实现所述方法包括以下步骤:
a) 从所述总线控制器经由端口接收所述消息的早期部分;
b) 将所述消息的早期部分发送至所述通信总线;
c)在将所述消息的早期部分发送至所述通信总线的同时,接收来自所述端口的所述消息的后期部分;
d)在将所述消息的早期部分发送至所述通信总线的同时,根据至少一个应用到所述消息被读取的早期部分的规则对所述早期部分进行检查,以确定所述消息是否是可疑的;以及
e)一旦确定所述消息是可疑的,则通过使用所述总线收发机破坏所述通信总线上的所述消息中的所述后期部分。
2.如权利要求1所述的方法,其中所述通信总线是交通工具通信总线。
3.如权利要求1所述的方法,其中在所有消息位发送到所述通信总线之前,执行所述消息的早期部分的读取。
4.如权利要求1所述的方法,其中根据所述通信总线的通信协议,所述破坏使得所述消息无效。
5.如权利要求1所述的方法,其中从所述端口接收到所有消息位之前,执行所述破坏。
6.如权利要求1所述的方法,其中通过改变至少一个消息位来执行所述破坏。
7.如权利要求1所述的方法,其中通过在所述通信总线上改变至少一个消息位来执行所述破坏。
8.如权利要求1所述的方法,还包括延迟所述消息中的至少一部分的传输。
9.如权利要求1所述的方法,还包括检测所述通信总线是忙碌的,并且一旦所述通信总线是忙碌的则延迟所述消息中的至少一部分的传输。
10.如权利要求1所述的方法,还包括删除所述消息中的至少一部分。
11.如权利要求1所述的方法,还包括在通过所述总线传输所述消息时,使用电磁感应感测所述消息的前导位。
12.如权利要求1所述的方法,还包括将电磁感应用于所述破坏。
13.如权利要求1所述的方法,其中在连接到所述总线的硬件设备上执行所述读取。
14.一种用于通信总线的实时数据安全的装置,所述装置连接在总线控制器和总线收发机之间,所述装置使用消息,所述消息包括早期部分与所述早期部分之后的后期部分,所述装置包括:
硬件设备;
接收器,其用于通过端口从所述总线控制器接收消息的所述早期部分;
发送器,其用于发送由所述总线收发机向所述通信总线的消息的所接收的早期部分;
消息读取器,其被实现在所述硬件设备上,被配置成在所述消息的早期部分的发送同时读取从所述端口接收的所述消息的早期部分;
确定器,其与所述消息读取器通信,被配置为根据至少一个应用到所述消息被读取的早期部分的规则确定所述消息是否是可疑的;以及
消息破坏器,其与所述确定器通信,被配置为一旦确定所述消息是可疑的,则通过所述总线收发机破坏所述消息中所述后期部分的至少一部分。
15.如权利要求14所述的装置,其中所述通信总线是交通工具通信总线。
16.如权利要求14所述的装置,其中所述消息读取器还被配置成从所述端口接收到所有消息位之前读取所述消息的早期部分。
17.如权利要求14所述的装置,其中所述消息破坏器还被配置成根据所述通信总线的通信协议,通过破坏所述消息使得所述消息无效。
18.如权利要求14所述的装置,其中所述消息破坏器还被配置成在将所有消息位发送到所述通信总线之前破坏所述消息。
19.如权利要求14所述的装置,其中所述消息破坏器还被配置成通过改变至少一个消息位来破坏所述消息。
20.如权利要求14所述的装置,其中所述消息破坏器还被配置成在所述通信总线上改变至少一个消息位来破坏所述消息。
21.如权利要求14所述的装置,还包括消息延迟器,其被配置成延迟所述消息中的至少一部分的传输。
22.如权利要求14所述的装置,还包括:总线监控器,其被配置成检测所述通信总线是忙碌的;以及,消息延迟器,其被配置成一旦所述通信总线是忙碌的,则延迟所述消息中的至少一部分的传输。
23.如权利要求15所述的装置,还包括消息丢弃器,其被配置成删除所述消息中的至少一部分。
24.如权利要求15所述的装置,还包括探头,其被配置成在通过所述总线传输所述消息时,使用电磁感应感测所述消息的前导位。
25.如权利要求15所述的装置,其中所述硬件设备是电子控制单元的一部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562195419P | 2015-07-22 | 2015-07-22 | |
US62/195,419 | 2015-07-22 | ||
PCT/IB2016/054363 WO2017013622A1 (en) | 2015-07-22 | 2016-07-21 | Vehicle communications bus data security |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107710657A CN107710657A (zh) | 2018-02-16 |
CN107710657B true CN107710657B (zh) | 2021-04-13 |
Family
ID=57833963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680038262.4A Active CN107710657B (zh) | 2015-07-22 | 2016-07-21 | 用于通信总线的实时数据安全的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11048797B2 (zh) |
EP (1) | EP3326312A4 (zh) |
CN (1) | CN107710657B (zh) |
IL (1) | IL256106B (zh) |
WO (1) | WO2017013622A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710657B (zh) * | 2015-07-22 | 2021-04-13 | 阿瑞路资讯安全科技股份有限公司 | 用于通信总线的实时数据安全的方法和装置 |
WO2018104929A1 (en) | 2016-12-07 | 2018-06-14 | Arilou Information Security Technologies Ltd. | System and method for using signal waveform analysis for detecting a change in a wired network |
KR102474800B1 (ko) * | 2016-12-15 | 2022-12-06 | 현대자동차주식회사 | 게이트웨이 및 게이트웨이 제어방법 |
WO2018165456A1 (en) * | 2017-03-08 | 2018-09-13 | Robert Bosch Gmbh | Methods to mitigate timing based attacks on key agreement schemes over controller area network |
US11329953B2 (en) * | 2017-03-09 | 2022-05-10 | Argus Cyber Security Ltd. | System and method for providing cyber security to an in-vehicle network |
JP6772944B2 (ja) | 2017-04-19 | 2020-10-21 | トヨタ自動車株式会社 | 自動運転システム |
US10462161B2 (en) * | 2017-06-21 | 2019-10-29 | GM Global Technology Operations LLC | Vehicle network operating protocol and method |
GB2564909A (en) * | 2017-07-27 | 2019-01-30 | The M T Tech Ltd | Message monitoring and transmission device and method |
WO2019035112A1 (en) | 2017-08-17 | 2019-02-21 | Tower-Sec Ltd. | SYSTEMS AND METHODS FOR DISABLING A MALWARE ECU IN A CAN BUS NETWORK (CONTROLLER AREA NETWORK) |
US10484425B2 (en) * | 2017-09-28 | 2019-11-19 | The Mitre Corporation | Controller area network frame override |
US11057213B2 (en) * | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
EP3729766A1 (en) | 2017-12-24 | 2020-10-28 | Arilou Information Security Technologies Ltd. | System and method for tunnel-based malware detection |
CN108183920B (zh) * | 2018-01-23 | 2020-08-11 | 北京网藤科技有限公司 | 一种工业控制***恶意代码防御***的防御方法 |
US20190379682A1 (en) * | 2018-06-08 | 2019-12-12 | Nvidia Corporation | Protecting vehicle buses from cyber-attacks |
US11354406B2 (en) * | 2018-06-28 | 2022-06-07 | Intel Corporation | Physics-based approach for attack detection and localization in closed-loop controls for autonomous vehicles |
DE112019003589T5 (de) * | 2018-08-24 | 2021-07-15 | Hitachi Automotive Systems, Ltd. | Fahrzeuginterne kommunikationsvorrichtung und fahrzeuginternes system |
IT201800021550A1 (it) * | 2018-12-31 | 2020-07-01 | Magneti Marelli Spa | "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo" |
US11323548B2 (en) | 2019-01-20 | 2022-05-03 | Arilou Information Security Technologies Ltd. | System and method for data compression based on data position in frames structure |
RU2726884C1 (ru) | 2019-02-07 | 2020-07-16 | Акционерное общество "Лаборатория Касперского" | Система и способ контроля доступа к кибер-физической системе |
US11700270B2 (en) * | 2019-02-19 | 2023-07-11 | The Aerospace Corporation | Systems and methods for detecting a communication anomaly |
CN111835627B (zh) * | 2019-04-23 | 2022-04-26 | 华为技术有限公司 | 车载网关的通信方法、车载网关及智能车辆 |
CN110098897B (zh) * | 2019-04-25 | 2020-08-18 | 珠海格力电器股份有限公司 | 串行通信方法、装置、计算机设备和存储介质 |
CN112069776B (zh) * | 2019-05-22 | 2024-01-30 | 上海汽车集团股份有限公司 | 一种文件处理方法、装置及服务器 |
US11641367B2 (en) * | 2019-08-12 | 2023-05-02 | Voyomotive, Llc | Method and apparatus for controller area network bus intrusion detection and neutralization |
KR20210030154A (ko) * | 2019-09-09 | 2021-03-17 | 엘지이노텍 주식회사 | 차량 내부 통신 시스템 및 이를 포함하는 차량 |
CN111371777B (zh) * | 2020-02-28 | 2022-06-24 | 北京天融信网络安全技术有限公司 | 一种车辆网络的攻击检测方法、装置、检测器及存储介质 |
US11522872B2 (en) * | 2020-06-18 | 2022-12-06 | Nxp B.V. | CAN transceiver |
CN111736604B (zh) * | 2020-06-24 | 2023-02-21 | 中国第一汽车股份有限公司 | 一种远程驾驶控制方法、装置、设备及存储介质 |
CN111726774B (zh) * | 2020-06-28 | 2023-09-05 | 阿波罗智联(北京)科技有限公司 | 防御攻击的方法、装置、设备及存储介质 |
US11582331B2 (en) * | 2020-08-10 | 2023-02-14 | T-Mobile Usa, Inc. | Handling SIP messages with malformed header fields |
CN114884768B (zh) * | 2022-06-07 | 2023-10-20 | 深圳市元征科技股份有限公司 | 一种总线空闲状态的检测装置、***及检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128972A (en) * | 1989-03-22 | 1992-07-07 | Tokyo Keiki Company Ltd. | Memory package system |
CN104012065A (zh) * | 2011-12-21 | 2014-08-27 | 丰田自动车株式会社 | 车辆网络监测方法及车辆网络监测装置 |
CN104349947A (zh) * | 2012-05-29 | 2015-02-11 | 丰田自动车株式会社 | 认证***和认证方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496885B1 (en) * | 1999-07-14 | 2002-12-17 | Deere & Company | Method for processing network messages |
WO2005031337A1 (en) * | 2003-09-22 | 2005-04-07 | Irving I Dardik | Eddy current inspection of materials |
US20060235586A1 (en) * | 2005-04-19 | 2006-10-19 | Waszkowski Paul J | Diagnostic device |
JP4926648B2 (ja) * | 2006-10-27 | 2012-05-09 | 富士通セミコンダクター株式会社 | 車載ゲートウェイ装置 |
JP4950704B2 (ja) * | 2007-03-06 | 2012-06-13 | 株式会社オートネットワーク技術研究所 | 車載用の中継接続ユニット |
JP5510729B2 (ja) * | 2009-07-09 | 2014-06-04 | 株式会社デンソー | 回転機用電力変換装置 |
CA2823072C (en) * | 2011-01-03 | 2019-03-05 | 650340 N.B. Ltd. | Systems and methods for extraction and telemetry of vehicle operational data from an internal automotive network |
JP5522154B2 (ja) * | 2011-12-07 | 2014-06-18 | 株式会社デンソー | 中継システム及び、当該中継システムを構成する中継装置、通信装置 |
WO2013144966A1 (en) | 2012-03-29 | 2013-10-03 | Arilou Information Security Technologies Ltd. | System and method for privacy protection for a host user device |
ES2805290T3 (es) | 2012-03-29 | 2021-02-11 | Arilou Information Security Tech Ltd | Dispositivo para proteger un sistema electrónico de un vehículo |
US8788731B2 (en) * | 2012-07-30 | 2014-07-22 | GM Global Technology Operations LLC | Vehicle message filter |
JP5672275B2 (ja) * | 2012-08-28 | 2015-02-18 | 株式会社デンソー | ネットワークシステム |
US9600372B2 (en) * | 2012-09-05 | 2017-03-21 | GM Global Technology Operations LLC | Approach for controller area network bus off handling |
KR102281914B1 (ko) | 2012-10-17 | 2021-07-27 | 타워-섹 리미티드 | 차량에 대한 공격의 검출 및 예방을 위한 디바이스 |
WO2015008114A1 (en) * | 2013-07-18 | 2015-01-22 | Freescale Semiconductor, Inc. | Illegal message destroyer |
US9288048B2 (en) | 2013-09-24 | 2016-03-15 | The Regents Of The University Of Michigan | Real-time frame authentication using ID anonymization in automotive networks |
US9840212B2 (en) | 2014-01-06 | 2017-12-12 | Argus Cyber Security Ltd. | Bus watchman |
WO2016125133A1 (en) | 2015-02-08 | 2016-08-11 | Tower-Sec Ltd. | Security system for machine to machine cyber attack detection and prevention |
WO2016151566A1 (en) | 2015-03-26 | 2016-09-29 | Tower-Sec Ltd | Security system and methods for identification of in-vehicle attack originator |
CN110406485B (zh) | 2014-04-17 | 2023-01-06 | 松下电器(美国)知识产权公司 | 非法检测方法及车载网络*** |
WO2015170451A1 (ja) | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット及び不正検知方法 |
WO2015170452A1 (ja) | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット及び更新処理方法 |
EP3197730B1 (en) | 2014-09-25 | 2020-02-19 | Tower-Sec Ltd. | Vehicle correlation system for cyber attacks detection and method thereof |
US9531750B2 (en) * | 2015-05-19 | 2016-12-27 | Ford Global Technologies, Llc | Spoofing detection |
US11115433B2 (en) | 2015-06-29 | 2021-09-07 | Argus Cyber Security Ltd. | System and method for content based anomaly detection in an in-vehicle communication network |
US10798114B2 (en) | 2015-06-29 | 2020-10-06 | Argus Cyber Security Ltd. | System and method for consistency based anomaly detection in an in-vehicle communication network |
US11165851B2 (en) | 2015-06-29 | 2021-11-02 | Argus Cyber Security Ltd. | System and method for providing security to a communication network |
CN107710657B (zh) * | 2015-07-22 | 2021-04-13 | 阿瑞路资讯安全科技股份有限公司 | 用于通信总线的实时数据安全的方法和装置 |
US10530605B2 (en) | 2015-08-06 | 2020-01-07 | Tower-Sec Ltd. | Means and methods for regulating can communication |
EP3350742B1 (en) | 2015-09-17 | 2024-03-06 | Tower-Sec Ltd. | Systems and methods for detection of malicious activity in vehicle data communication networks |
US11397801B2 (en) | 2015-09-25 | 2022-07-26 | Argus Cyber Security Ltd. | System and method for controlling access to an in-vehicle communication network |
US10124750B2 (en) * | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10645104B2 (en) | 2016-05-01 | 2020-05-05 | Argus Cyber Security Ltd. | Net sleuth |
-
2016
- 2016-07-21 CN CN201680038262.4A patent/CN107710657B/zh active Active
- 2016-07-21 US US15/736,306 patent/US11048797B2/en active Active
- 2016-07-21 WO PCT/IB2016/054363 patent/WO2017013622A1/en active Application Filing
- 2016-07-21 EP EP16827347.2A patent/EP3326312A4/en active Pending
-
2017
- 2017-12-04 IL IL25610617A patent/IL256106B/en active IP Right Grant
-
2018
- 2018-08-03 US US16/053,838 patent/US10140450B1/en active Active
-
2021
- 2021-06-15 US US17/347,787 patent/US20210312043A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128972A (en) * | 1989-03-22 | 1992-07-07 | Tokyo Keiki Company Ltd. | Memory package system |
CN104012065A (zh) * | 2011-12-21 | 2014-08-27 | 丰田自动车株式会社 | 车辆网络监测方法及车辆网络监测装置 |
CN104349947A (zh) * | 2012-05-29 | 2015-02-11 | 丰田自动车株式会社 | 认证***和认证方法 |
Also Published As
Publication number | Publication date |
---|---|
IL256106A (en) | 2018-02-28 |
US20180341771A1 (en) | 2018-11-29 |
CN107710657A (zh) | 2018-02-16 |
WO2017013622A1 (en) | 2017-01-26 |
IL256106B (en) | 2019-11-28 |
US11048797B2 (en) | 2021-06-29 |
US20210312043A1 (en) | 2021-10-07 |
US10140450B1 (en) | 2018-11-27 |
EP3326312A4 (en) | 2019-01-09 |
EP3326312A1 (en) | 2018-05-30 |
US20180189483A1 (en) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710657B (zh) | 用于通信总线的实时数据安全的方法和装置 | |
US11709950B2 (en) | Security system and method for protecting a vehicle electronic system | |
CN107683589B (zh) | 车载中继装置及车载通信*** | |
JP7121737B2 (ja) | 異常検知装置、異常検知方法およびプログラム | |
JP7075886B2 (ja) | ブロードキャストバスフレームフィルタ | |
CN109299029B (zh) | 用于更新至少一个规则的节点、车辆、集成电路和方法 | |
US11036853B2 (en) | System and method for preventing malicious CAN bus attacks | |
JP2018026791A (ja) | フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム | |
CN112684773A (zh) | 在can总线上的数据操纵检测 | |
US10484425B2 (en) | Controller area network frame override | |
US8429749B2 (en) | Packet data comparator as well as virus filter, virus checker and network system using the same | |
WO2018110046A1 (ja) | 制御装置、制御システム、制御方法、制御プログラムおよび記憶媒体 | |
EP3772841B1 (en) | A security module for a can node | |
Kwon et al. | Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet | |
US11528284B2 (en) | Method for detecting an attack on a control device of a vehicle | |
JP6920667B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
KR101825711B1 (ko) | Can 통신 기반 해킹공격에 안전한 can 컨트롤러 | |
WO2018020833A1 (ja) | フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム | |
JP6559619B2 (ja) | 通信システム、通信装置、通信方法、およびプログラム | |
CN112347022B (zh) | 用于can节点的安全模块 | |
US20230267204A1 (en) | Mitigating a vehicle software manipulation | |
CN116471139A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 5 jabberinski Road, ramagan, Israel Applicant after: ARILOU INFORMATION SECURITY TECHNOLOGIES Ltd. Address before: Tel Aviv Applicant before: ARILOU INFORMATION SECURITY TECHNOLOGIES Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |