CN108401491B - 信息处理方法、信息处理***以及程序 - Google Patents
信息处理方法、信息处理***以及程序 Download PDFInfo
- Publication number
- CN108401491B CN108401491B CN201780003405.2A CN201780003405A CN108401491B CN 108401491 B CN108401491 B CN 108401491B CN 201780003405 A CN201780003405 A CN 201780003405A CN 108401491 B CN108401491 B CN 108401491B
- Authority
- CN
- China
- Prior art keywords
- field
- payload
- value
- payload division
- candidates
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- 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]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
对在车载网络中流动的数据帧进行处理的信息处理方法包括:帧收集步骤,从接收到的数据帧的各数据帧中取得该数据帧所包含的由至少一个字段构成的有效载荷,并作为一个记录而记录于接收日志;和字段提取步骤,根据多个记录,针对表示多个数据帧的有效载荷内的互不相同的区域的多个有效载荷分割模式候选的各候选,算出与区域内的有效载荷的值的时间序列变化有关的一个以上的特征量,基于该特征量,选择表示位于有效载荷内的字段的区域的有效载荷分割模式,输出字段提取结果,所述字段提取结果表示所选择出的有效载荷分割模式所表示的区域和基于特征量的该字段的类型。
Description
技术领域
本公开涉及在车载网络中流动的数据的信息处理。
背景技术
近年来,在汽车中的***内,配置有许多被称为电子控制单元(以下,ECU:Electronic Control Unit)的装置。连接这些ECU的网络称为车载网络。车载网络存在许多通信标准。对于其中最主流的车载网络之一,存在控制器局域网络(Controller AreaNetwork,以下称为CAN)。
在CAN通信的网络中,通信路径使用两条总线,与该总线连接的ECU称为节点。与总线连接的各节点收发被称为帧的消息。发送帧的节点(以下,称为发送节点)在两条总线上施加电压,发送与在各条总线间有无电位差相应的被称为隐性(recessive)的值“1”和被称为显性(dominant)的值“0”,由此发送帧的二进制数据。当多个发送节点在完全相同的时刻发送了隐性和显性的情况下,优先发送显性。
接收节点在接收到的帧的格式存在异常的情况下,发送被称为错误帧(errorframe)的帧。错误帧例如是以连续的6比特(bit)的显性开始的帧,接收到该帧的发送节点以及其他接收节点检测到错误的产生。
另外,在CAN中不存在指示发送目的地或发送源的识别符,发送节点按每帧附加表示数据的种类等的ID并进行发送,各接收节点仅接收包含预先确定的ID的帧。另外,CAN采用CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance:载波侦听多址访问/冲突避免)方式,在多个节点同时发送时,进行基于ID的仲裁(调停),优先发送ID的值小的帧。
另一方面,存在攻击者通过访问CAN的总线并发送不正常帧来不正常控制ECU这样的威胁,研究了安全对策。
例如在专利文献1中,提出了车载网络监视装置。根据专利文献1,公开了如下方法:检测是否按预先规定的通信间隔向网络发送了帧,将偏离规定的通信间隔的异常帧判断为不正常,由此防止因不正常帧引起的控制。但是,为了更高精度地检测不正常帧,需要验证帧所包含的有效载荷的内容。
然而,通常在车载网络中收发的帧的规格并未标准化,车辆制造商可独自设计,因此,第三方无法获知有效载荷内的有意义的多个单位段落。如果有效载荷所包含的数据的种类不清楚,则难以验证有效载荷并检测不正常帧。另外,即使是同一车辆制造商的汽车,根据车型或年型不同,帧的规格也可能会变更,因此,针对各汽车,为了监视装置的设计而构建验证帧的***,需要费大力气。
作为这样的问题的解决手段,在非专利文献1中公开了如下方法:将仅从观测数据收集到的帧所包含的有效载荷按有意义的单位进行分割,按分割而得到的有效载荷的各部分,制作白名单。
现有技术文献
专利文献1:日本特许第5664799号公报
非专利文献1:M.Markovitz,A.Wool,“Field Classification,Modeling andAnomalyDetection in Unknown CAN Bus Network”,Embedded Security in CARs,2015
发明内容
本公开的一技术方案的信息处理方法,是具备存储部的信息处理***所进行的对在包括一个以上的电子控制单元的车载网络中流动的数据帧进行处理的信息处理方法,所述信息处理方法包括:帧收集步骤,接收在所述车载网络中流动的多个所述数据帧,从所述多个数据帧的各数据帧中取得该数据帧所包含的由至少一个字段构成的有效载荷,并作为一个记录而记录于所述存储部所保持的接收日志;和字段提取步骤,根据多个所述记录,针对表示所述多个数据帧的有效载荷内的互不相同的区域的多个有效载荷分割模式候选的各候选,算出与所述区域内的所述有效载荷的值的时间序列变化有关的一个以上的特征量,基于所述特征量,从所述多个有效载荷分割模式候选中选择表示位于所述有效载荷内的字段的区域的有效载荷分割模式,输出字段提取结果,所述字段提取结果表示所选择出的所述有效载荷分割模式所表示的区域和基于所述特征量的该字段的类型。
本公开的信息处理方法等,能够高成本效率地提供高精度地检测攻击的安全的车载网络***。
附图说明
图1是表示实施方式的车载网络的整体构成的框图。
图2是表示CAN协议的数据帧格式的图。
图3是表示CAN协议的错误帧格式的图。
图4是表示实施方式的监视ECU100的功能构成的框图。
图5是表示实施方式的模式保持部所保持的工作模式的一例的图。
图6是表示实施方式的接收日志保持部所保持的接收日志的一例的图。
图7是表示实施方式的正常模型保持部所保持的正常模型的一例的图。
图8是实施方式的监视ECU的工作的流程图。
图9是表示实施方式的ECU的功能构成的框图。
图10是表示上述的ECU所发送的数据帧的一部分的例子的图。
图11是实施方式的有效载荷分割部的处理的流程图。
图12是表示实施方式的有效载荷分割部的从分割模式候选中提取特征量的说明所使用的例子的图。
图13是实施方式的固定值的字段的提取处理例的流程图。
图14是表示用于说明实施方式的固定值的字段的提取处理的例子的图。
图15是实施方式的计数器的字段的提取处理例的流程图。
图16是实施方式的连续值的字段的提取处理例的流程图。
图17是实施方式的连续值的字段的提取处理例的流程图。
图18A是表示在实施方式的连续值的字段的提取处理例中,位长共同的分割模式候选的值的变化量的方差的平均的算出例的图。
图18B是表示在实施方式的连续值的字段的提取处理例中,开始位位置共同的分割模式候选的、上述的平均的离群值评分及该平均的算出例的图。
图19是表示在实施方式的连续值的字段的提取处理例中使用的各分割字段候选中的值的变化的产生频度的图。
图20是实施方式的校验和的字段提取处理例的流程图。
图21是实施方式的状态的字段提取处理例的流程图。
图22是实施方式的正常模型的生成处理例的流程图。
图23是图22所示的正常模型的生成处理所包含的取得举动信息的处理例的流程图。
图24是用于说明执行图23所示的取得举动信息的处理的特征提取部的工作的一部分的图。
图25是表示实施方式的异常检测部的处理的一例的流程图。
图26是表示实施方式的异常检测部的处理的一例的流程图。
图27是表示实施方式的异常检测部的工作例1的图。
图28是表示实施方式的异常检测部的工作例2的图。
图29是表示实施方式的异常检测部的工作例3的图。
具体实施方式
在非专利文献1那样的方法中,作为有效载荷的分割方法,仅使用根据所收集到的帧算出的在各分割候选中观测到的独特值的个数,进行有效载荷的种类的分类以及长度的确定并进行分割,因此有效载荷的分割精度低。
本公开提供用于高成本效率地实现车载网络中的高精度的异常检测的信息处理方法等。
本公开的一实施方式的信息处理方法,是具备存储部的信息处理***所进行的对在包括一个以上的电子控制单元的车载网络中流动的数据帧进行处理的信息处理方法,所述信息处理方法包括:帧收集步骤,接收在车载网络中流动的多个数据帧,从多个数据帧的各数据帧中取得该数据帧所包含的由至少一个字段构成的有效载荷,并作为一个记录而记录于存储部所保持的接收日志;和字段提取步骤,根据多个该记录,针对表示多个数据帧的有效载荷内的互不相同的区域的多个有效载荷分割模式候选的各候选,算出与该区域内的有效载荷的值的时间序列变化有关的一个以上的特征量,基于所算出的特征量,从多个有效载荷分割模式候选中选择表示位于有效载荷内的字段的区域的有效载荷分割模式,输出字段提取结果,所述字段提取结果表示所选择出的有效载荷分割模式所表示的区域和基于特征量的该字段的类型。
如果使用该信息处理***,则不需要对消息规格不同的车载网络***个别地事先设计就能够构建异常检测***,能够实现抑制了成本的车载网络的保护。
另外,例如,接收日志还包含表示接收到多个记录的顺序的信息,特征量包括第1特征量、第2特征量和第3特征量的至少一个,所述第1特征量表示时间序列变化的模式数,所述第2特征量表示时间序列变化的产生频度,第3特征量表示与时间序列变化的变化量有关的统计信息。
通过将这些特征量分开单独使用或组合使用,能够更高精度地进行有效载荷的向字段的分割。由此,例如能够构建精度更高的正常模型,能够期待车载网络的异常检测的精度提高。
另外,例如,也可以是,信息处理***在字段提取步骤中,基于特征量,将表示在有效载荷的值中存在一次以上的时间序列变化、且时间序列变化所包含的各次的变化量为预定大小以下的区域的有效载荷分割模式候选选择为表示第1类型的字段的区域的有效载荷分割模式。
由此,能够确定并提取例如若正常则值会按预定规则变化的字段。例如通过将如此确定出的字段认为是容易成为攻击目标的字段而设为监视对象,能够用于车载网络的异常检测。
另外,例如,也可以是,特征量包括上述的第2特征量以及第3特征量,信息处理***在字段提取步骤中,执行如下的连续值字段提取步骤:从多个有效载荷分割模式候选中,基于第2特征量以及第3特征量,选择为表示有效载荷的值表示物理量的连续值类型的字段的区域的有效载荷分割模式,由此选择表示第1类型的字段的有效载荷分割模式。例如也可以是,信息处理***在字段提取步骤中,针对多个有效载荷分割模式候选的各候选,算出离群值评分,所述离群值评分示出表示相同数据长度的区域的有效载荷分割模式候选中的第3特征量的离群情况,算出在有效载荷分割模式候选中表示开始位相同的区域的有效载荷分割模式候选的离群值评分的平均值,从表示平均值为预定阈值以上的区域的有效载荷分割模式候选中,基于该有效载荷分割模式候选所包含的有效载荷分割模式候选的第2特征量的大小关系,选择表示符合连续值类型的字段的区域的有效载荷分割模式。
由此,能够确定例如表示传感器计测并输出的物理量的字段。如此确定出的字段,能够作为该字段的值或者值的变化率的异常的判定对象而用于车载网络的异常检测。
另外,例如,也可以是,信息处理***在字段提取步骤中,从多个有效载荷分割模式候选中,基于特征量,将表示在有效载荷的值中每次都变化、且该有效载荷的值的各次的变化量恒定的区域的有效载荷分割模式选择为表示计数器类型的字段的区域的有效载荷分割模式,由此选择表示第1类型的字段的有效载荷分割模式。
由此,能够确定值递增或递减的字段。如此确定出的字段,能够作为基于该字段的值的变化的违反规则进行的异常的判定对象而用于车载网络的异常检测。
另外,例如,也可以是,信息处理***在字段提取步骤中,基于特征量,将表示在有效载荷的值中存在一次以上的时间序列变化、且有效载荷的值取离散值的区域的有效载荷分割模式候选选择为表示第2类型的字段的区域的有效载荷分割模式。例如也可以是,第2类型是校验和类型和状态类型的至少一方,所述校验和类型用于对字段内的有效载荷的值的匹配性进行校验,所述状态类型是字段内的有效载荷的值表示包括车载网络的车辆的预定状态的类型。
由此,能够确定校验和或标志(flag)等取离散值的字段。如此确定出的字段,能够作为基于该字段的值与其他字段的匹配性、或者变化的产生频度等进行的异常的判定对象而用于车载网络的异常检测。
另外,也可以是,信息处理***在字段提取步骤中,依次执行固定值字段提取步骤、计数器字段提取步骤、连续值字段提取步骤以及第2类型字段提取步骤,在固定值字段提取步骤中,从多个有效载荷分割模式候选中,选择第1特征量为1的有效载荷分割模式候选来作为表示固定值类型的字段的区域的有效载荷分割模式,将从多个有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第1有效载荷分割模式候选,在计数器字段提取步骤中,从第1有效载荷分割模式候选中,选择表示计数器类型的字段的区域的有效载荷分割模式,将从第1有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第2有效载荷分割模式候选,在连续值字段提取步骤中,从第2有效载荷分割模式候选中,使用第2特征量和第3特征量,从第2有效载荷分割模式候选中,选择表示连续值类型的字段的区域的有效载荷分割模式,将从第2有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第3有效载荷分割模式候选,在第2类型字段提取步骤中,选择第3有效载荷分割模式候选来作为第2类型字段。
由此,能够从未知的有效载荷中高效率地确定各类型的字段的范围并提取各字段。
另外,例如,也可以是,还包括所述信息处理***所执行的特征提取步骤,在所述特征提取步骤中,根据字段提取结果以及接收日志,基于与所选择出的有效载荷分割模式所表示的字段的值的时间序列变化的变化量有关的统计信息,生成表示该字段的值的变化的正常范围的正常模型,进一步输出所生成的正常模型。
由此,除了所确定出的各类型的字段的范围之外,还获得用于值的各种字段的异常判定的基准,能够执行车载网络的异常检测。
另外,也可以是,多个数据帧分别包含表示数据帧的种类的数据类别ID,信息处理***,在帧收集步骤中,将有效载荷以及数据类别ID作为一个记录而记录于接收日志,以数据类别ID共同的数据帧为对象来执行字段提取步骤。
由此,即使在从总线取得的数据帧中并存多个种类的数据帧的情况下,也能够进行有效载荷的向字段的分割。
此外,这些总括性或具体的技术方案既可以通过***、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过***、方法、集成电路、计算机程序和记录介质的任意组合来实现。
以下,参照附图对实施方式进行说明。
此外,以下说明的实施方式都表示总括性或具体的例子。因此,以下的实施方式中示出的数值、形状、材料、构成要素、构成要素的配置以及连接***、步骤、步骤的顺序等是一例,并非限定本公开的意思。
另外,关于以下的实施方式中的构成要素中的未记载在表示最上位概念的独立权利要求中的构成要素,作为可任意包含的构成要素来说明。
(实施方式)
<1.构成>
作为实施方式说明的信息处理***,接收在车载网络中流动的数据帧,将该数据帧的有效载荷分割为字段,构建分割得到的各字段的与正常的数据帧所包含的值有关的举动模型。该信息处理***还基于该举动模型,监视车载网络,检测异常的数据帧。参照附图对这样的信息处理***进行说明。
<1.1车载网络10的整体构成>
图1是表示本实施方式的车载网络10的整体构成的框图。车载网络10具备监视ECU100、ECU200和总线300。
监视ECU100连接于总线300,监视在总线300上流动的数据帧,监视是否有包含异常的不正常的数据帧正在流动。具备通信线路、包括处理器以及存储器的微控制器(未图示)的监视ECU100是本实施方式的信息处理***的一例。
ECU200a与速度传感器210以及排挡(gear)220连接,ECU200b与计量仪(meter)230连接。ECU200a定期地使从速度传感器210获得的车辆的速度和排挡220的位置包含于数据帧而发送给总线300。接收到该数据帧的ECU200b取得从ECU200a通知的车辆的速度以及排挡220的位置,并显示于计量仪230。
以下,为了促进理解本实施方式,对利用在车载网络10中使用的作为通信标准的CAN协议发送的数据的格式进行简单说明。
<1.2数据帧格式>
图2是表示CAN协议的数据帧的格式的图。在此,示出了CAN协议中的标准ID格式的数据帧。
数据帧由帧起始(Start Of Frame,以下称为SOF)、ID字段(field,域)、远程发送请求(Remote Transmission Request,以下称为RTR)、标识符扩展(IdentifierExtension,以下称为IDE)、预约位“r”(以下称为r)、数据长度码(Data Length Code,以下称为DLC)、数据字段、循环冗余校验(Cyclic Redundancy Check,以下称为CRC)时序、CRC定界符、应答(Acknowledgement,以下称为ACK)时隙(图中的ACK)、ACK定界符(途中的DEL)、以及帧结束(End Of Frame,以下称为EOF)这12个部分构成。
SOF是1比特的显性。是总线300成为空闲时,发送节点将总线300从隐性向显性变更,由此通知帧的发送开始。
ID用11比特长的值表示数据帧的种类。在此所说的数据帧的种类,例如是指数据的内容或者作为数据帧的发送源的发送节点。另外,ID也在同一网络上多个节点同时开始了发送的数据帧间的通信仲裁中使用。更具体而言,具有越小ID的值的数据帧,优先级越高。ID是本实施方式的数据类别ID的例子。
RTR用1比特的显性表示是数据帧这一情况。
IDE以及r分别是1比特的显性。
DLC用4比特长的值表示接下来的数据字段的长度。
数据字段是最多64比特长的被发送的数据的部分,相当于数据帧的有效载荷。能够按8比特单位来调整长度。与被发送的数据的向该部分的分配有关的规格,取决于车型和/或制造者。
CRC序列用15比特长表示根据SOF、ID字段、控制字段以及数据字段的发送值而算出的值。接收节点通过将根据SOF、ID字段、控制字段以及数据字段的接收值算出的结果与CRC序列的值进行比较来判断异常的有无。
CRC定界符是用1比特的隐性来表示CRC序列的结束的分割符号。
ACK时隙为1比特长,发送节点以该部分来发送隐性。如果到CRC序列为止能够正常接收,则接收节点以该部分发送显性。在CAN的标准下,对于同时发送的显性和隐性而言如上述那样使显性优先,因此,在正常进行通信的车载网络10中,在ACK时隙的发送中总线300处于显性的状态。
ACK定界符是用1比特长的隐性来表示ACK时隙的结束的分割符号。
EOF用7比特长的隐性来表示数据帧的结束。
<1.3错误帧格式>
图3是表示CAN协议的错误帧的格式的图。错误帧由错误标志(初级)、错误标志(次级)和错误定界符(图中DEL)这3个部分构成。
错误标志(初级)为了向其他节点通知错误的产生而使用。是连续的6比特的显性,违反CAN协议中的在连续的相同值的5比特的接下来发送1比特的不同值这一位填充(bitstuffing)规则。因违反该位填充规则的发生,会引起从其他节点发送错误标志(次级)。
错误标志(次级)是为了向其他节点通知错误的产生而发送的6比特长的显性。接收到错误标志(初级)的全部节点进行发送。
错误定界符用8比特长的隐性来表示错误帧的结束。
<1.4监视ECU100的构成图>
图4是表示监视ECU100的功能构成的框图。
监视ECU100具备帧收发部110、帧收集部120、工作判断部130、有效载荷分割部140、特征提取部150、异常检测部160、帧生成部170、模式保持部180、接收日志保持部190以及正常模型保持部191。
帧收发部110相对于总线300收发遵循CAN协议的数据帧。即,帧收发部110从总线300逐比特地接收数据帧。另外,若无误地完成数据帧的接收,则将数据帧所包含的ID、DLC以及数据字段转送给帧收集部120以及工作判断部130。另外,在判断为接收到的数据帧不符合CAN协议的情况下,帧收发部110发送错误帧。另外,帧收发部110在从其他节点接收到错误帧的情况下,即在根据所接收到的帧的值判断为是错误帧的情况下,将接收中的数据帧丢弃。另外,在从帧生成部170接收到数据帧的发送请求的情况下,帧收发部110向总线300逐比特地发送数据帧。
帧收集部120从帧收发部110接收数据帧的上述的一部分,将接收到该数据帧的时刻(以下,称为接收时刻)以及数据帧所包含的ID及数据字段作为一个记录而记录于接收日志保持部190所保持的接收日志。接收时刻例如参考对从监视ECU100起动开始经过的工作时间进行计测的计时器来记录。这样的计时器例如包含在监视ECU100所具备的微控制器中。
工作判断部130在数据帧接收时参照模式保持部180所保存的表示工作模式的值,按照该工作模式来决定监视ECU100依次的工作。监视ECU100的工作模式存在收集模式和监视模式这两种。在将工作模式决定为收集模式的情况下,工作判断部130确认监视ECU100共计是否工作了一个小时以上。在未工作一个小时以上的情况下并不特别进行工作。在工作了一个小时的情况下,工作判断部130向有效载荷分割部140发出预定的工作请求,然后,将工作模式切换为监视模式。在工作模式为监视模式的情况下,向异常检测部160发出异常检测请求。
有效载荷分割部140参照接收日志保持部190所保存的接收日志,对包含共同ID的记录的有效载荷即数据字段进行分割,提取作为形成特定意义的位列(以下,称为字段)的字段。数据字段所包含的字段,根据其表示的信息而分类为固定值、计数器、连续值、校验和、状态的某一个类型。例如,表示由速度传感器210计测出的汽车的速度的值所占用的区域等,相当于1个字段,该字段被分类为连续值。关于分割方法的详细情况,在后述的1.11~1.16中进行说明。
另外,有效载荷分割部140将与对包含共同ID的记录的有效载荷进行分割而得到的字段有关的信息通知给特征提取部150。在该信息的例子中,包含字段的类型、字段的区域、字段的值。
特征提取部150根据从有效载荷分割部140通知的与通过有效载荷的分割而得到的字段有关的信息和接收日志来生成正常模型,并保存于正常模型保持部191。
这样的正常模型按数据帧的ID来生成,包含作为与数据帧的接收间隔有关的信息的接收间隔的平均及方差和作为与数据字段有关的信息的字段的区域、类型及举动信息。
对于与数据字段有关的信息中的举动信息,根据接收日志保持部190所保存的接收日志所包含的有效载荷的值,按各字段来生成。
举动信息所包含的信息根据字段的类型而不同。例如在属于固定值的类型的字段的举动信息中,包含在接收日志中观测到的固定值的值。该值在监视模式下作为白名单的值来使用。关于属于计数器的类型的字段,没有举动信息。关于属于连续值的类型的字段,包含在接收日志中观测到的连续的数据帧间的该字段中的值的差分即变化量的平均以方差。关于属于状态的类型的字段,包含在接收日志中所包含的相对于某ID的数据帧的总接收数而在时间序列上从紧接之前的数据帧起在字段的值中发生了变化的割合、即变化的产生频度。此外,所谓状态,是车辆上的一些状态,例如是指前照灯等特定装置的接通/断开(ON/OFF)、排挡位置、运转模式等。
异常检测部160在从工作判断部130接收到异常检测请求的情况下,进行用于不正常数据帧的接收的检测的处理(以下,称为异常检测处理)。更具体而言,异常检测部160参照接收日志保持部190所保存的接收日志,使用正常模型保持部191所保存的正常模型和接收日志来判定有无接收到不正常数据帧。
例如,异常检测部160针对在某ID的数据帧的正常模型中属于固定值的类型的字段,将在接收日志中包含该ID的记录的数据字段内的该字段的区域的值与在正常模型中该字段的举动信息所表示的值进行比较。并且,在这些值不同的情况下,异常检测部160判定为接收到不正常数据帧。
另外,异常检测部160针对在某ID的数据帧的正常模型中属于计数器的类型的字段,判定在接收日志中包含该ID的记录的数据字段内的该字段的区域的值是否按时间顺序正确地递增。在未正确地递增的情况下,异常检测部160判定为接收到不正常数据帧。
另外,异常检测部160针对在某ID的数据帧的正常模型中属于连续值的类型的字段,判定在接收日志中包含该ID的记录的数据字段内的该字段的区域的值从紧接之前的记录中的值起的变化量是否相对于在正常模型下该字段的举动信息所包含的变化量的平均而为离群值。并且,在为离群值的情况下,异常检测部160判定为接收到不正常数据帧。此外,对于是否为离群值的判定,使用正常模型的举动信息所表示的变化量的方差,例如基于是否收敛在该字段的值的变化量的平均值±3×(√方差)的范围内来进行。
另外,异常检测部160针对在某ID的数据帧的正常模型中属于状态的类型的字段,将在接收日志中按1秒等预定时间宽度见到包含该ID的记录的数据字段内的该字段的区域的值时字段的值的变化的产生频度与正常模型下的举动信息所表示的产生频度进行比较。在这些产生频度的值的差大于预定阈值的情况下,异常检测部160判定为接收到不正常数据帧。
当通过这样的判定而检测出接收到包含异常的数据帧时,异常检测部160向帧生成部170请求生成例如用于通知接收到不正常数据帧这一情况的数据帧。
帧生成部170在从异常检测部160请求了上述的数据帧的生成时,生成用于通知接收到不正常数据帧这一情况的数据帧,通知给帧收发部110。
模式保持部180保持有表示监视ECU100当前的工作模式的值。工作模式如上述那样是收集模式或者监视模式。图5中示出模式保持部180所保持的工作模式的值的一例。关于工作模式,在后述的1.6中进行说明。
接收日志保持部190保持从帧收集部120通知的数据帧的信息(接收时刻、ID、数据字段)。图6中示出接收日志保持部190所保存的接收日志的一例。关于接收日志,在后述的1.7中进行说明。
正常模型保持部191保持特征提取部150所提取出的正常模型。图7中示出正常模型保持部191所保持的正常模型的一例。关于正常模型,在1.8中进行说明。
对于这些功能性的构成要素,通过如下来实现:在监视ECU100所具备的微控制器中,处理器执行存储器所保存的程序来对经由通信线路接收到的数据帧进行处理,根据需要将在处理的中间或最后生成的数据保持于存储器。
<1.5监视ECU100的工作>
对于如上述那样构成的监视ECU100的工作中的一系列步骤,使用图8所示的流程图进行说明。
(步骤S1)监视ECU100的帧收发部110接收在车载网络的总线300上流动的数据帧。
(步骤S2)监视ECU100的帧收集部120将包含通过步骤S1接收到的数据帧的接收时刻、ID以及数据字段的记录记录于接收日志保持部190所保持的接收日志。
(步骤S3)监视ECU100的工作判断部130参照模式保持部180来确认监视ECU100的当前的工作模式。在当前的工作模式为监视模式的情况下(“是”),工作判断部130进入步骤S4。否则,即在当前的工作模式为收集模式的情况下(“否”),工作判断部130进入步骤S7。
(步骤S4)监视ECU100的工作判断部130向异常检测部160发出异常检测处理请求,异常检测部160进行上述那样的异常检测处理。
(步骤S5)监视ECU100的异常检测部160在异常检测处理的结果是检测到异常的情况下(“是”),进入步骤S6。否则(“否”),监视ECU100返回到步骤S1。
(步骤S6)监视ECU100的异常检测部160将向其他节点通知检测到异常这一情况的数据帧的生成请求发送给帧生成部170。帧生成部170生成用于通知接收到不正常数据帧这一情况的数据帧,经由帧收发部110向总线300发送该数据帧并结束。
(步骤S7)监视ECU100的工作判断部130判定监视ECU100是否工作了一个小时以上。在监视ECU100工作了一个小时以上的情况下(“是”),进入步骤S8。否则(“否”),监视ECU100返回到步骤S1。
(步骤S8)监视ECU100的工作判断部130向有效载荷分割部140发出有效载荷分割处理请求。有效载荷分割部140对作为数据帧的有效载荷的数据字段进行分割并进行字段提取处理。
(步骤S9)监视ECU100的特征提取部150使用由有效载荷分割部140进行的字段提取处理的结果来生成正常模型,并保存于正常模型保持部191。
(步骤S10)监视ECU100的工作判断部130对模式保持部180所保持的工作模式的值进行改写并将监视ECU100的工作模式从收集模式切换为监视模式。
上述的各步骤中的步骤S1以及步骤S2是本实施方式中的帧收集步骤的例子,步骤S8是本实施方式中的字段提取步骤的例子。
此外,在流程图中,示出了以步骤S6或者步骤S10的步骤为最后而结束监视ECU100的工作的流程,但实际上也可以返回到步骤S1来反复继续工作。
<1.6工作模式的数据构成>
参照图5,示出模式保持部180所保持的工作模式的一例。
在该例中,示出了监视ECU100的当前的工作模式为收集模式这一情况。在收集模式下,监视ECU100所接收的数据帧的数据字段等,通过帧收集部120保存于接收日志保持部190。
<1.7接收日志的数据构成>
图6中示出接收日志保持部190所保持的接收日志的一例。
该接收日志是接收到多个ID为0x100的数据帧之后的状态。数据行的各行为1个记录,从上到下按时间顺序排列。
该例中的数据字段的长度为5比特,在接收日志中最早接收到的数据帧的接收时刻为51ms,数据字段的值为0x00 0x00 0x00 0x10 0x10。另外,最晚接收到的数据帧的接收时刻为500450ms,数据字段的值为0x26 0x15 0x4B 0x30 0xB6。
<1.8正常模型的数据构成>
图7中示出正常模型保持部191所保持的正常模型的一例。
该例中的正常模型是与ID为0x100的数据帧有关的正常模型。在该正常模型中,作为与ID为0x100的数据帧的接收间隔有关的信息,包含作为接收间隔的平均的50ms、作为接收间隔的方差的3ms。另外,作为与数据字段有关的信息,包含分割数据字段而得到的7个字段各自的开始位位置、位长、类型以及举动信息。更具体而言,数据字段的从高位第1位起的8位长的字段是表示计数器的字段。数据字段的从高位第9位起的2位长的字段表示固定值,该值为0。数据字段的从高位第11位起的14位长的字段表示连续值,字段的值所产生的变化的变化量的平均为10,方差为100。数据字段的从高位第25位起的1位长的字段是固定值,该值为0。数据字段的从高位第26位起的3位长的字段表示车辆的状态,值的变化的产生频度为0.0001。数据字段的从高位第33位起的8位长的字段是校验和。
<1.9其他ECU的构成>
图9是表示作为与车载网络连接的节点的例子的ECU200a或者ECU200b的功能构成的框图。ECU200a具备帧收发部201、帧处理部202、外部设备输入输出部203以及帧生成部204。这些功能性的构成要素,通过ECU200a中的通信线路、执行存储器所保存的控制程序的处理器或者数字电路等来实现。
帧收发部201相对于总线300收发遵循CAN协议的数据帧。即,帧收发部201从总线300逐比特地接收数据帧。另外,若无误地完成数据帧的接收,则将数据帧所包含的ID、DLC以及数据字段转送给帧处理部202。在判断为接收到的数据帧不符合CAN协议的情况下,帧收发部201发送错误帧。另外,在从其他节点接收到错误帧的情况下,帧收发部201将接收中的数据帧丢弃。通信仲裁这样的符合CAN协议的处理也在帧收发部201中执行。
帧处理部202对接收到的数据帧的内容进行解释。例如在ECU200b中,取得从ECU200a发送的数据帧的数据字段所包含的速度传感器210计测出的速度以及排挡220的位置的信息,将用于使这些信息显示于计量仪230的控制信息通知给外部设备输入输出部203。此时,帧处理部202确认数据帧所包含的计数器以及校验和是否满足了预定条件。更具体而言,关于计数器,确认是否为比已接收的同ID的数据帧所包含的计数器的值大的值。
关于校验和,例如将数据字段的除校验和的字段之外的部分逐字节地进行分割,确认将全部值相加得到的和的低位1个字节是否成为校验和的值。在计数器以及校验和满足了这些条件的情况下,将基于接收到的数据帧的信息显示于计量仪230。
外部设备输入输出部203与连接于ECU200a或ECU200b的外部设备进行通信。例如在ECU200a的情况下,外部设备输入输出部203与速度传感器210以及排挡220连接,接收当前的车辆的速度以及排挡220的位置的信息的通知,将这些信息通知给帧生成部204。在ECU200b的情况下,外部设备输入输出部203与计量仪230连接,为了将当前的车辆的速度以及排挡220的位置的信息通知给驾驶员,将用于使这些信息显示的信号发送给计量仪230。
帧生成部204生成向总线300发送的数据帧。例如在ECU200a中,按预先确定的周期例如50ms间隔,生成包含从外部设备输入输出部203通知的从速度传感器210取得的车辆的速度和从排挡220取得的排挡的位置在内的数据帧,发送给帧收发部201。另外,计数器以及校验和也包含在该数据帧中。计数器在每次发送时递增,校验和以满足前述的式子的方式来算出。此外,生成数据帧的间隔也可以是50ms以外的间隔。图10中示出ECU200a向总线300发送的数据帧的一部分的例子。监视ECU100以及ECU200b从总线300接收该数据帧。如此,数据帧由至少一个作为形成特定意义的位列的字段构成。但是,在收集模式下,对于工作中的监视ECU100而言,接收到的数据帧所包含的数据字段的内容或者数据字段的适当的分割方法并不清楚,因此该数据字段为仅5字节长的数据。
<1.10ECU所发送的数据帧的构成>
使用例子对与车载网络连接的各ECU所发送的数据帧的构成进行说明。图10是表示ECU200a所发送的数据帧的例子的图。但是,在图10中,仅摘出本实施方式的说明所需要的部分进行了图示。
ECU200a发送ID为0x100且DLC为5的数据帧。
数据字段的开头1个字节的区域为计数器的字段,其值为0x26。计数器的字段的值在每次发送时递增。
数据字段的第2个字节和第3个字节连结而成的区域是表示速度传感器210所测定出的速度的字段。在该例中,速度以0.01km/h单位来表示,0x154B的值表示速度的测定值为54.51km/h。
第4个字节的高位4位的区域是表示排挡220的位置的字段,0表示空挡,1表示停车挡,2表示倒车挡,3表示前进挡。在图10的例子中值为3,因此排挡位置为前进挡。
第4个字节的低位4位的区域是固定值的字段,由0填充。
第5个字节是校验和的字段。填入该字段的值是将数据字段的除校验和的字段之外的部分分割为1个字节的区域并将各区域的值相加而得到的和的低位1字节的值。在图10的例子中,若求出这样的各区域的值的和,则成为0x26+0x15+0x4B+0x30=0xB6。因此,应该填入校验和的字段的正确的值为0xB6。
此外,如上所述,在上述那样的数据字段中各字段所占用的区域以及各字段所表示的信息的种类即字段的类型,取决于各车辆制造商所决定的规格,另外,有时也会根据车型或者年型而不同。
在监视ECU100中,有效载荷分割部140使用与数据字段内的值的变化有关的特征将各字段的区域以及类型未知的数据字段进行分割并提取字段。接着,使用例子对由有效载荷分割部140进行的分割数据字段并提取字段的处理进行说明。
<1.11有效载荷分割部140的处理>
关于在有效载荷分割部140分割数据字段并提取字段的处理中执行的一系列步骤,使用图11所示的流程图来说明。有效载荷分割部140通过位于图8的流程图中的步骤S8来进行该工作。因此,如图8的流程图所示,有效载荷分割部140从监视ECU100已接收到多个数据帧、且在接收日志中记录有包含多个种类的ID的记录的状态开始,执行该工作的字段提取处理。
(步骤S11)有效载荷分割部140在从工作判断部130接收到步骤S8中的有效载荷分割处理请求时,参照接收日志保持部190,从接收日志中按各ID提取记录。
(步骤S12)有效载荷分割部140在针对接收日志所包含的全部ID完成了字段提取的情况下(“否”),结束工作,将字段提取的结果通知给特征提取部150。在存在未执行字段提取的ID的情况下(“是”),选择包含未执行字段提取的ID的某个ID的记录。也就是说,有效载荷分割部140将共同包含未执行字段提取的ID的数据帧的数据字段进行分割并提取字段。
(步骤S13)有效载荷分割部140算出数据字段的各分割模式候选的特征量。
所谓分割模式候选,是将数据字段按位单位进行分割而得到的区域的模式,例如由区域的开始位位置(以下也称为Index)和以位为单位表示的数据长度(以下也称为Length)的组合(Index,Length)来表示。例如关于64位长的数据字段,Index和Length分别可取1~64的值,但Index+Length-1(区域的末尾位位置)不超过64。因此,对于值为1的Index,Length有1~64这64种,对于值为2的Index,Length有1~63这63种,对于值为3的Index,Length有1~62这62种,对于值为64的Index,Length为仅1这1种。也就是说,在64位长的数据字段的情况下,分割模式候选的个数成为Σx(x=1~64)=65×64÷2=2080种。这样的分割模式候选是本实施方式中的有效载荷分割模式候选的例子。
图12是表示用于对从分割模式候选中提取特征量进行说明的例子的图。在图12中,从接收日志提取的共同包含某ID的256个记录所包含的5字节长的数据字段的值,从上开始按接收顺序排列。
在本实施方式中,特征量是在位于各分割模式候选的范围内的数据字段的值中与变化有关的特征量,存在3种。对于各特征量,以分割模式候选(13,8)为例进行更详细的说明。该分割模式候选(13,8)在图12中由虚线的框表示。
第一个特征量是各分割模式候选所表示的区域内的数据字段的值的模式数。该特征量能够通过将分割模式候选所表示的区域内的数据字段的值的种类数、或者在该区域中除重复之外的数据字段的值的个数进行计数来求出。以下将该特征量称为第1特征量。
第二个特征量是在时间序列上观察而从紧接之前的数据帧起的值的变化的产生频度。该特征量能够通过将分割模式候选所表示的区域内的数据字段的值发生了变化的次数除以(从接收日志中提取出的共同包含ID的记录的数-1)来求出。对于数据字段的值发生了变化的次数,能够求出按时间序列顺序排列的记录的该区域内的差分,将差分不为0的个数进行计数来求出。例如如图12所示,存在256个记录,其中在区域(13,8)从紧接之前接收到的数据帧起值发生了变化的次数为51次的情况下,该区域(13,8)中的该特征量为51/(256-1)=0.2。以下将该特征量称为第2特征量。
第三个特征量是在时间序列上观察而产生的从紧接之前的数据帧起的值的变化量的方差。该特征量能够根据如上述那样从差分求出的变化量来算出。以下将该特征量称为第3特征量。
(步骤S14)有效载荷分割部140从分割模式候选中,选择通过步骤S13提取出的特征量满足预定条件的分割模式候选来作为表示属于固定值的类型的字段的区域的分割模式。关于该选择,在后述的1.12中使用例子来说明。
另外,由于一个位(比特)不会包含在2个字段中,因此有效载荷分割部140将与通过步骤S14选择出的区域重叠至少一部分的分割模式候选排除在以后的步骤中的条件判定的对象之外。以下,将剩余的分割模式候选称为第1有效载荷分割模式候选。
(步骤S15)有效载荷分割部140从第1有效载荷分割模式候选中,选择通过步骤S13提取出的特征量满足预定条件的分割模式候选来作为表示属于计数器的类型的字段的区域的分割模式。关于该选择,在后述的1.13中使用例子来说明。
另外,有效载荷分割部140将与通过步骤S15选择出的区域重叠至少一部分的分割模式候选进一步排除在以后的步骤中的条件判定的对象之外。以下,将仍剩余的分割模式候选称为第2有效载荷分割模式候选。
(步骤S16)有效载荷分割部140从第2有效载荷分割模式候选中,选择通过步骤S13提取出的特征量满足预定条件的分割模式候选来作为表示属于连续值的类型的字段的区域的分割模式。关于该选择,在后述的1.14中使用例子来说明。
另外,有效载荷分割部140将与通过步骤S16选择出的区域重叠至少一部分的分割模式候选进一步排除在以后的步骤中的条件判定的对象之外。以下,将仍剩余的分割模式候选称为第3有效载荷分割模式候选。
(步骤S17)有效载荷分割部140从第3有效载荷分割模式候选中,选择通过步骤S13提取出的特征量满足预定条件的分割模式候选来作为表示属于校验和的类型的字段的区域的分割模式。关于该选择,在后述的1.15中使用例子来说明。
(步骤S18)有效载荷分割部140将仍剩余的分割模式候选选择为表示属于状态的类型的字段的区域的分割模式。关于该选择,在后述的1.16中使用例子来说明。
在步骤S18中从1个种类的ID的数据帧的数据字段进行的字段的提取完成,返回到步骤S12。如果在其他ID的数据帧有未处理的,则设为由有效载荷分割部140进行的步骤S13以后的执行对象。
<1.12固定值的字段>
图13是由有效载荷分割部140进行的步骤S14中的固定值的字段的提取处理例的流程图。另外,图14是表示用于说明该处理的例子的图。也可以设想为图14所示这样的表数据被作为步骤S13的处理的结果而保持在监视ECU100的存储器中。
(步骤S141)首先,有效载荷分割部140从算出了上述的3种特征量的分割模式候选中,提取第1特征量满足是1这一条件的分割模式候选。也就是说,可提取数据字段的值在从接收日志提取到的记录中全部表示共同的范围的割模式候选。
对于图14所例示的表,各行表示5字节的数据字段的分割模式候选所表示的区域的开始位位置(Index),各列表示该区域的位长(Length)。在单元内,按第1特征量、第2特征量、第3特征量即值的模式数、变化的产生频度、变化量的方差的顺序包含通过步骤S13算出的各特征量。此外,在数据字段内未产生的表示开始位位置与位长的组合的单元内划上了斜线。另外,关于一部分单元,将特征量的值或组合有无的记载进行省略而设为“…”。
在该例的情况下,在步骤S141中提取的分割模式候选为表示区域(29,1)、(29,2)、(29,3)、(29,4)、(30,1)、(30,2)、(30,3)、(31,1)、(31,2)、(32,1)的分割模式候选。
(步骤S142)有效载荷分割部140进一步参照预定条件对所提取出的分割模式候选进行筛选。具体而言,在所提取出的分割模式候选所包含的1个分割模式候选所表示的区域整体包含在其他分割模式候选所表示的区域内的情况下,将该1个分割模式候选排除在外。由此,仅表示由连续的位构成的固定值的区域的一部分的分割模式候选被排除。
(步骤S143)有效载荷分割部140将剩余的分割模式候选选择为表示属于固定值的类型的字段的区域的分割模式。在上述的例子中,步骤S142的执行的结果是剩下表示区域(29,4)的分割模式候选,因此该分割模式候选被选择为属于固定值的类型的字段的区域。
(步骤S144)有效载荷分割部140删除与通过步骤S143选择出的分割模式候选重叠的、即将所选择出的分割模式候选所包含的位包含在内的其他分割模式候选。
在通过步骤S143选择了表示区域(29,4)的分割模式候选的该例中,包含5字节长的数据字段的从第29位到第32位中的某一个位的分割模式候选在步骤S144中被删除。更具体而言,开始位位置为1且位长为29~40的分割模式候选、开始位位置为2且位长为28~39的分割模式候选都被删除。另外,开始位位置为29~32的分割模式也全都被删除。剩余的分割模式候选相当于上述的第1有效载荷分割模式候选。
(步骤S145)有效载荷分割部140输出选择了表示固定值的字段的区域的分割模式而得到的结果。在该例中,有效载荷分割部140将开始位位置为29且位长为4的字段是属于固定值的类型的字段这一情况写入监视ECU100的存储器等,结束步骤S14。
<1.13计数器的字段>
图15是由有效载荷分割部140进行的步骤S15中的计数器的字段的提取处理例的流程图。
(步骤S151)首先,有效载荷分割部140从上述的第1有效载荷分割模式候选中,提取第1特征量与2^(分割模式的位长)或者通过步骤S11从接收日志提取出的记录的个数一致的分割模式候选。也就是说,在通过步骤S11提取出的记录中,提取能够由各分割模式候选的位长表示的全部值所表示的记录或者全部记录的值不同的记录。
(步骤S152)有效载荷分割部140参照接收日志保持部190,将所提取出的分割模式候选所表示的区域的值全部提取。并且,从通过步骤S151提取出的分割模式候选中,提取所提取出的字段的值按接收顺序连贯地递增的分割模式候选、或者在溢出(overflow)时值返回到0即以二进制数表达而全部位的值为1的区域在其下一个记录中全部位的值为0的区域的分割模式候选。
(步骤S153)有效载荷分割部140将通过步骤S152提取出的分割模式中的与其他分割模式的候选不重叠的候选,选择为表示属于计数器的类型的字段的区域的分割模式。
(步骤S154)有效载荷分割部140在通过步骤S152提取出的与其他分割模式候选不重叠的分割模式候选中,将为其他分割模式候选的一部分的分割模式候选排除,进一步选择为表示属于计数器的类型的字段的区域的分割模式。这是为了在值递增的位列中找到最长的位列来作为一个计数器的字段而进行的步骤。
(步骤S155)有效载荷分割部140删除与通过步骤S153以及S154选择出的分割模式候选重叠的、即将所选择出的分割模式候选所包含的位包含在内的其他分割模式候选。步骤S155为与步骤S144同样的步骤,因此省略详细的说明。步骤S155的结果还剩余的分割模式候选相当于上述的第2有效载荷分割模式候选。
(步骤S156)有效载荷分割部140输出选择了表示计数器的字段的区域的分割模式而得到的结果,结束步骤S15。
此外,作为计数器字段提取方法的变形例,递增既可以一个一个地增加,也可以两个两个地增加,只要是不断增加即可,也可以是以任何值进行增加。也可以进一步提取递减的计数器。同样地,递减既可以一个一个地减少,也可以两个两个地减少,只要是不断减少即可,也可以以任何值进行减少。
另外,在步骤S151中,也可以提取表示在全部记录中值发生了变化的分割模式的分割模式候选,也可以基于第2特征量来提取、即提取第2特征量为1的分割模式候选。
<1.14连续值的字段>
图16以及图17是由有效载荷分割部140进行的步骤S16中的连续值的字段的提取处理例的流程图。另外,图18A以及图18B是表示用于说明该处理的例子的图。
在此,第2有效载荷分割模式候选、即在开始连续值的字段的提取处理的时候所剩余的分割模式候选,属于连续值、校验和或者状态的某一方的类型。在这些各种字段中,认为连续值的字段与属于其他类型的同一位长的分割模式候选相比值的变化量的方差(第3特征量)小。以下,对其理由进行说明。
校验和或标志可取的值是离散的,字段的高位位独立于低位位而发生变化,因此,值的变化量容易产生不均。因此,字段的值的变化量的方差大。另一方面,对于连续值,值的变化是连续的,字段的低位位发生了变化的结果的转移会表现为高位位的变化,因此值的变化量会收敛在一定的范围内。因此,字段的值的变化量的方差小。
另外,在一个分割模式候选所表示的区域中高位部分为连续值且低位部分不为连续值的情况下,即使在低位部分内各位的值独立地变化,高位部分的值的变化量也会占优势,因此可抑制区域整体的变化量的不均,字段的值的变化量的方差变小。
另外,关于将连续值字段的最高位位以外的位作为开始位位置来表示的分割模式候选,由于在值的变化时发生溢出或下溢(underflow)而从大的值急剧变化为小的值或者从小的值急剧变化为大的值,因此值的变化量会产生不均,其方差变大。
此外,由于计数器的字段未包含在第2有效载荷分割模式候选中,因此在表示从连续值的字段的最高位位开始的区域的分割模式候选中既不发生溢出也不发生下溢。
基于这样的想法,通过在第2有效载荷分割模式候选、即在开始连续值的字段的提取处理的时候剩余的分割模式候选中,找到区域的值的变化的方差比较小的分割模式候选,由此对表示连续值的字段的区域的分割模式候选进行筛选。
连续值的字段的提取处理被大致分为图16所示的确定字段的开始位位置的处理和图17所示的确定字段的位长的处理这两个部分。
首先,对于字段的开始位位置的确定,使用图16、图18A以及图18B进行说明。
(步骤S161)针对各分割模式候选,算出与不管开始位位置如何都具有相同位长的其他分割模式候选相比较的、表示第3特征量即变化量的方差的离群情况的离群值评分。关于该步骤,使用图18A以及图18B所示的具体例子来说明。
在图18A的表中,行中示出各分割模式候选的开始位位置,列中示出位长,在单元内记载有针对各分割模式候选通过步骤S13算出的变化量的方差(第3特征量)。此外,该表的包含第3特征量的值的单元,是从图14所示的表中删除了通过步骤S14以及S15判断为表示其他类型(即,固定值或者计数器)的字段的区域的分割模式候选而得到的,为了易于观看而省略了第1特征量以及第2特征量的记载。有效载荷分割部140对这样的数据开始步骤S161的处理。
参照图18A的表,例如对于开始位位置为11且字段长为1的分割模式候选,变化量的方差为1。同样地,对于开始位位置为11且位长为2、8、13、14的分割模式候选,变化量的方差分别为1、10、100、100。开始位位置为12且位长分别为1、2、8、13的分割模式候选的变化量的方差,分别为1、2、15、150。另外,对于开始位位置为12且位长为14的分割模式候选,由于第25位已经被判断为是固定值或者计数器的字段,因此通过步骤S14或者S15已经删除,未包含在第2有效载荷分割模式候选中。关于其他的附加有×的单元所表示的分割模式候选也是同样的。开始位位置为23且位长为1、2的分割模式候选的变化量的方差分别为1、2,开始位位置为24且位长为1的分割模式候选的变化量的方差为1。
另外,在最后的行中,记载有在步骤S161的处理中有效载荷分割部140所算出的同一位长的按分割模式候选的变化量的方差的平均值。也就是说,位长1、2、8、13、14的分割模式候选的变化量的方差的平均,分别为1、1、80、125、100。
接着,有效载荷分割部140算出表示图18A的表所示出的各分割模式候选的第3特征量是在同一位长的分割模式候选的第3特征量中离群多少的值的离群值评分。有效载荷分割部140能够使用统计学或者机器学习的方法来算出该离群值评分。例如可以假设为各分割模式候选的第3特征量遵循正态分布,基于第3特征量的产生频度来算出,也可以使用K附近法或者局部异常因子(Local Outlier Factor)等离群值检测算法。
在此,示出在各分割模式候选的第3特征量的产生频度p以各位长遵循正态分布时对产生概率的低程度进行评分的例子。p是将同一位长中的方差的平均m、方差v分别设为平均、方差的正态分布的概率密度函数。在此,若将分割模式候选的第3特征量设为F2,则能够通过以下的式1来算出p。
p(F2)={1/(2πv)^(1/2)}exp{-(F2-m)^2/2v}…(式1)
有效载荷分割部140所求出的平均是在分割模式候选中同一位长的分割模式候选的第3特征量的平均,方差能够使用刚才求出的该平均来求出。评分由-Log(p)来算出。图18B的表的各单元包含如此算出的评分。
参照图18B,开始位位置为11且位长为1、2、8、13的分割模式的离群值评分分别为0、1、4、2。但是,关于位长14,由于在其他分割模式候选中不存在位长为14的分割模式,因此不算出离群值评分。
另外,对于离群值评分,与平均之差越大则取越大的值。若将位长8的情况为例,则方差的平均为80、变化量的方差的平均为10的开始位位置11的分割模式候选的离群值评分为4,比变化量的方差的平均为15且开始位位置12的分割模式候选的离群值评分即3大。
此外,有效载荷分割部140在所算出的离群值评分成为因位长而不同的指标的情况下,也可以通过标准化等来统一为相同指标。
(步骤S162)有效载荷分割部140按分割模式候选的开始位位置,算出通过步骤S161求出的离群值评分的平均(以下,称为平均评分)。在图18B的例子中,开始位位置为11且位长为1~13(也包含图内省略了记载的评分)的分割模式候选的平均评分为4。同样地,开始位位置为12且位长为1、2、8、13的分割模式的离群值评分为0、1、3、2,位长为1~13的平均评分为2。开始位位置为23且位长为1、2的分割模式的离群值评分分别为0、0,平均评分为0。开始位位置为24且位长为1的分割模式的离群值评分为0,平均评分为0。
此外,在该例中,将位长为1的分割模式候选作为步骤S16中的有效载荷分割部140的处理对象来说明,但也可以预先确定连续值的字段的最小位长,将较短的分割模式候选排除在预先确定的处理对象之外。从处理速度以及分割精度的观点出发是有效的。
(步骤S163)有效载荷分割部140确认是否存在满足通过步骤S162算出的平均评分为预定阈值以上这一条件的开始位位置。在不存在满足条件的开始位位置的情况下(“否”),结束步骤S16,在存在的情况下进入该步骤S164。
(步骤S164)将满足步骤S163的条件的开始位位置确定为连续值的字段的开始位位置。有效载荷分割部140在图17所示的以后的步骤中确定连续值的字段的位长。
(步骤S165)有效载荷分割部140从表示满足步骤S163的条件的开始位位置的分割模式候选中,提取进一步表示预定值的位长的分割模式候选。在此的预定值,基于连续值的字段至少具有例如为了通知由传感器测定出的物理量等信息而使用的位长这一假设来确定,例如为4。
(步骤S166)有效载荷分割部140针对通过步骤S165提取出的分割模式候选所表示的(Index,Length),判定是否为在同一开始位位置更长的分割模式候选包含连续值的值的字段。有效载荷分割部140使用2个条件来进行该判定。
一个条件是,分割模式候选(Index+Length,1)的第2特征量、即值的变化的产生频度,比分割模式(Index+Length-1,1)的第2特征量大。也就是说,将如下所述设为条件:通过步骤S165提取出的分割模式候选的位于最低位侧的相邻位的值,与该分割模式候选的最低位位的值相比,高频度地发生了变化。以下,将该条件称为条件1。
另一个条件是,表示(Index,Length+1)的区域的分割模式候选未决定。也就是说,将如下所述设为条件:关于与通过步骤S165提取出的分割模式候选在相同的开始位位置表示1位长的区域的分割模式候选,类型未决定。以下,将该条件称为条件2。
在满足了条件1以及条件2的情况下(“是”),有效载荷分割部140进入步骤S167,否则(“否”),有效载荷分割部140进入步骤S168。
(步骤S167)有效载荷分割部140使Length的值递增。然后,再次执行步骤S166。
通过步骤S166和S167,即使在较长的位数的区域也可判定是否表示连续值,可确定表示连续值的非常长的位长。
在不满足步骤S166的条件的情况下,有效载荷分割部140进入步骤S168。
(步骤S168)有效载荷分割部140将表示在步骤S164之前所决定的开始位位置且表示通过步骤S166确定出的位长的分割模式候选选择为表示连续值的分割模式。另外,删除将所选择出的分割模式候选所包含的位包含在内的其他分割模式候选。另外,有效载荷分割部140输出选择了表示连续值的字段的区域的分割模式而得到的结果,返回到步骤S163。这是为了确认是否还有满足预定条件的其他的开始位位置的分割模式候选。步骤S163的结果仍剩余的分割模式候选,相当于上述的第3有效载荷分割模式候选。
对于图17所示的连续值的字段的位长的确定的处理,使用具体的例子进行说明。在该例中,设想如下情况:在步骤S164中,开始位位置被确定为11,步骤S165中的表示位长的预定值为4。也就是说,通过步骤S165提取出的分割模式候选所表示的区域的(Index,Length)为(11,4)。另外,图19中示出通过步骤S13算出的第2特征量的摘录。图19所示的表也或说是图14所示的表内的数据的一部分。
在该例中,在步骤S166中,在区域(11,4)的最低位位与位于该区域的最低位位的旁边的位之间比较值的变化的产生频度。也就是说,对第15位的1位(即区域(15,1))的第2特征量与第16位的1位(即区域(16,1))的第2特征量进行比较。参照图19,区域(15,1)的第2特征量为0.25,区域(16,1)的第2特征量为0.28。因此,满足条件1。
在步骤S166中,进一步,关于位长比区域(11,4)长1位的区域、即区域(11,5),判定是否决定了类型。为了便于说明,在该例中,关于该区域,设想为类型未决定、即条件2也满足(步骤S166:是)。因此,在步骤S167中,Length的值以增量1而递增。
以下,继续同样的判定,设为Length递增到14。在此,在步骤S166中,在区域(11,25)的最低位位的区域(24,1)与区域(25,1)之间比较值的变化的产生频度。参照图19,区域(25,1)的第2特征量为0,区域(24,1)的第2特征量为0.40。因此,不满足条件1,因此步骤S166的判定的结果为“否”。
如此,有效载荷分割部140基于第2特征量以及第3特征量来进行表示连续值的字段的区域的分割模式的选择。更具体而言,首先,基于各分割模式候选的第3特征量即变化量的方差是否以同一位长偏离了平均,提取分割模式候选。并且,基于将所提取出的分割模式候选的各位表示为区域的分割模式候选的第2特征量、即变化的产生频度的大小关系,判定分割模式候选是否表示符合连续值的类型的字段的区域。
此外,表示连续值的字段的区域的分割模式候选的选择的处理的步骤,并不限定于上述的步骤。
例如,也可以将表示通过步骤S164确定出的开始位位置的、即离群值评分比预定阈值高的分割模式候选选择为表示连续值的字段的区域的分割模式。但是,通过进行图17所示的确定位长的处理,能够更高精度地进行该选择。
其理由之一是因为:关于在执行步骤S16的阶段剩余的分割模式候选少的位长,存在偶然高的离群值评分等可靠性低的情况。或者,如上所述,即使在高位部分为连续值且低位部分不为连续值的情况下,也存在如下可能性:离群值评分变高,错误地作为一体而提取为连续值的字段。
另外,作为决定位长的方法,也可以在步骤S166中,取代第2特征量的比较或在第2特征量的比较的基础上,比较第3特征量即变化量的方差。因为,如果低位位的变化量不会某程度地大则不产生转移,不会产生高位位的变化。
另外,作为另一个决定位长的方法,也可以在步骤S166中,取代第2特征量的大小关系或者在第2特征量的大小关系的基础上,将与第2特征量的差分有关的条件用于是否扩展位长的判定。
<1.15校验和的字段>
图20表示由有效载荷分割部140进行的步骤S17中的校验和的字段提取处理例的流程图。
对于校验和的字段,因为值的变化是随机可见的,各值的产生会变得同样的可能性高,所以在第3有效载荷分割模式候选中,认为满足第1特征量相对于位长大某程度这一条件。除此之外,也将校验和的位长为4位或8位的长度这一情况多这样的事前知识利用于条件,将满足这些条件的分割模式候选选择为表示校验和的字段的区域的分割模式。以下,说明该处理的各步骤。
(步骤S171)有效载荷分割部140从第3有效载荷分割模式候选中,提取与第1特征量与2^(分割模式的位长)或者通过步骤S11从接收日志提取出的记录的个数一致的分割模式候选。也就是说,在通过步骤S11提取出的记录中,提取能够由各分割模式候选的位长表示的全部值所表示的记录、或者全部记录的值不同的记录。
(步骤S172)有效载荷分割部140在通过步骤S171提取出的分割模式候选中,提取位长为4位或8位的分割模式候选。
(步骤S173)有效载荷分割部140在通过步骤S172提取出的分割模式候选中,将与其他分割模式的候选不重叠的候选选择为表示属于校验和的类型的字段的区域的分割模式。
(步骤S174)有效载荷分割部140在通过步骤S172提取出的、与其他分割模式候选重叠的分割模式中除去作为其他分割模式候选的一部分的分割模式,进一步选择为表示属于校验和的类型的字段的区域的分割模式。这是为了在满足通过步骤S171以及S172使用的条件的位列中找到最长的字段来作为一个校验和的字段而进行的步骤。
(步骤S175)有效载荷分割部140删除与通过步骤S173以及S174选择出的分割模式候选重叠、即将所选择出的分割模式候选所包含的位包含在内的其他分割模式候选。步骤S175为与步骤S144或者S155同样的步骤,因此省略详细说明。
(步骤S176)有效载荷分割部140输出选择了表示校验和的字段的区域的分割模式而得到的结果,结束步骤S17。
此外,上述的各步骤中的处理内容能够进行各种变形。例如在上述的步骤S171中使用了与步骤S151共同的条件,但也可以是更宽松的条件。例如也可以使用为第1特征量与2^(分割模式的位长)或者通过步骤S11从接收日志提取出的记录的各数的80%以上这一条件。因为:在校验和的字段中,与计数器的字段相比,值的变化按模式数而不规则,在所表现的值上会产生重复,种类数少的可能性高。
另外,步骤S172中的4位以及8位的位长是例子,该步骤中使用的条件所包含的位长的大小以及位长的个数并不限定于此。另外,在提取多个位长的分割模式候选的情况下,也可以优先提取位长较长的分割模式候选。
<1.16状态的字段>
图21中示出状态的字段提取处理的流程图。
(步骤S181)有效载荷分割部140将在步骤S17的结束后仍剩余的分割模式候选中的与其他分割模式的候选不重叠的候选,选择为表示属于状态的类型的字段的区域的分割模式。
(步骤S182)有效载荷分割部140在通过步骤S181提取出的与其他分割模式候选重叠的分割候选模式中除去作为其他分割模式候选的一部分的分割模式候选,进一步选择为表示属于状态的类型的字段的区域的分割模式。这是为了在位列中找到最长位列的字段来作为一个状态的字段而进行的步骤。
(步骤S183)有效载荷分割部140输出选择了表示状态的字段的区域的分割模式而得到的结果,结束步骤S18。
以上,通过执行由有效载荷分割部140进行的在1.11中所述的图11所示的步骤S13~步骤S18而实现的数据字段的分割处理结束。
当针对ID共同的1种数据帧所包含的数据字段而执行了这一系列的步骤时,有效载荷分割部140返回到步骤S12,以未处理的其他ID的数据帧所包含的数据字段为对象来执行数据字段的分割处理。
另外,当各ID所表示的种类的数据帧所包含的数据字段的分割完成时,将通过步骤S143、S156、S168、S176或者S183输出的结果(以下,也称为字段提取结果)作为例如图7的表所包含的数据中的ID、与数据字段有关的信息中的开始、长度、类型的各信息,保持于监视ECU100的存储器。
在监视ECU100中,特征提取部150移向使用该字段提取结果的信息进行的正常模型的生成处理(步骤S9)。正常模型表示各字段的值的变化的正常范围,例如在数据帧的异常判定中使用。
以下,对由特征提取部150进行的生成正常模型的处理进行说明。
<1.17特征提取部150的处理>
对于特征提取部150在生成正常模型的处理中执行的一系列步骤,使用图22所示的流程图来说明。
(步骤S21)特征提取部150在从有效载荷分割部140输出的字段分割结果所表示的ID中,选择未生成正常模型的ID。
(步骤S22)特征提取部150参照接收日志保持部190所保存的接收日志所包含的通过步骤S121选择出的ID的记录。
(步骤S23)特征提取部150从字段分割结果以及接收日志的记录中,按字段取得举动信息。此外,关于举动信息的取得处理,后面使用另外的流程图来叙述。
(步骤S24)特征提取部150根据接收日志的记录,算出该ID的数据帧的接收间隔的平均和接收间隔的方差。
(步骤S25)特征提取部150基于字段分割结果、通过步骤S23以及S24得到的信息,生成并输出该ID的正常模型,保存于正常模型保持部191。
(步骤S26)特征提取部150针对全部ID确认是否生成了正常模型。如果针对全部ID已经生成正常模型(“是”),则结束步骤S9。否则(“否”)返回到步骤S21。
图23是特征提取部150通过步骤S23执行的举动信息的取得的处理例的流程图。
(步骤S231)特征提取部150确认在字段分割结果所表示的字段的类型中以属于举动信息的取得对象的类型的字段是否包含未处理的字段。所谓举动信息的取得对象的类型,是固定值、连续值以及状态。当以举动信息的取得对象的类型不存在未处理的字段的情况下(“否”),特征提取部150结束步骤S23。当以举动信息的取得对象的类型存在未处理的字段的情况下(“是”),特征提取部150进入步骤S232。
(步骤S232)特征提取部150从接收日志保持部190所保存的接收日志中,以通过步骤S231确认的举动信息的取得对象的类型,提取未处理的字段的值。
(步骤S233)特征提取部150确认该字段的类型是否为固定值。在该字段的类型为固定值的情况下(“是”),特征提取部150进入步骤S234。否则(“否”),特征提取部150进入步骤S235。
(步骤S234)特征提取部150将所提取出的字段的值作为举动信息进行提取并取得,返回到步骤S231。
(步骤S235)特征提取部150确认该字段的类型是否为连续值。在该字段的类型为连续值的情况下(“是”),特征提取部150进入步骤S236。否则(“否”),特征提取部150进入步骤S237。
(步骤S236)特征提取部150将提取出的字段的值的变化量的平均以及方差作为举动信息进行提取并取得,返回到步骤S231。该变化量的平均以及方差,是在步骤S13中针对表示该字段的区域的分割模式候选而算出的第3特征量,但也可以在该步骤中由特征提取部150重新算出。
(步骤S237)特征提取部150将提取出的字段的值的变化的产生频度作为举动信息进行提取并取得,返回到步骤S231。该变化量的平均以及方差,是在步骤S13中针对表示该字段的区域的分割模式候选而算出的第3特征量,但也可以在该步骤中由特征提取部150重新算出。
<1.18特征提取部150的工作例>
图24是表示用于说明特征提取部150的执行图23所示的流程图的处理的工作的一部分的例子的图。
参照图24,特征提取部150确认在从有效载荷分割部140输出的字段分割结果中,以属于举动信息的取得对象的类型的字段是否包含未处理的字段(步骤S231)。在该例中,确认的结果是判定为包含连续值的类型。
接着,特征提取部150从接收日志保持部190所保存的接收日志中,取得通过步骤S231确认了存在的类型的字段的值(步骤S232)。在该例中,取得开始位位置为11且位长为14的字段的值。因为该例中的该字段的类型为连续值(步骤S233,S235),所以特征提取部150通过取得字段的值的变化量的平均以及方差来提取举动信息(步骤S236)。如果类型为固定值,则取得通过步骤S232取得的字段的值本身为状态,如果类型为状态,则取得字段的值的变化的产生频度。
另外,特征提取部150合计算出并取得与同一ID的数据帧的接收间隔有关的统计信息(接收间隔平均、方差)。使用如此取得的信息和字段分割结果,特征提取部150算出图7所例示的正常模型(步骤S25)并输出,保存于正常模型保持部191。
<1.19异常检测部160的处理流程图>
对于异常检测部160在使用正常模型进行的异常检测处理(图8的步骤S4)中执行的一系列步骤,使用图25所示的流程图来说明。
(步骤S31)异常检测部160针对从总线300接收到的数据帧的ID,参照正常模型保持部191所保存的对应的正常模型。
(步骤S32)异常检测部160针对接收到的数据帧的ID,参照接收日志保持部190所保存的对应的接收日志。
(步骤S33)异常检测部160使用正常模型所包含的各字段的举动模型,验证要参照的接收日志中的记录所包含的数据字段。关于基于举动模型的验证处理,后面使用另外的流程图来叙述。
(步骤S34)在检测到验证的结果异常的情况下(“是”),异常检测部160进入步骤S35,否则(“否”)结束异常检测处理。
(步骤S35)异常检测部160向帧生成部170请求生成用于向其他ECU通报异常的数据帧,结束异常检测处理。
图26是异常检测部160通过步骤33执行的基于举动模型的验证的处理例的流程图。
(步骤S3301)异常检测部160针对接收到的数据帧,判断在数据字段中是否存在未验证的字段。在不存在未验证的字段、即全部字段的验证都完成的情况下(“否”),结束步骤S33。在存在未验证的字段的情况下(“是”)进入S3302。
(步骤S3302)异常检测部160从接收日志保持部190所保存的接收日志中提取接下来要验证的字段的值,关于该字段设为已验证。
(步骤S3303)异常检测部160判断所提取出的字段的类型是否为固定值。在是固定值的情况下(“是”),异常检测部160进入步骤S3304。在不是固定值的情况下(“否”),异常检测部160进入S3305。
(步骤S3304)异常检测部160确认所提取出的字段的值是否与正常模型保持部191所保存的正常模型的举动信息的值相等。在与正常模型的举动信息的值相等的情况下(“是”),异常检测部160返回到步骤S3301。否则(“否”),异常检测部160进入步骤S3311。
(步骤S3305)异常检测部160判断所提取出的字段的类型是否为计数器。在是计数器的情况下(“是”),异常检测部160进入步骤S3306。在不是计数器的情况下(“否”),异常检测部160进入步骤S3307。
(步骤S3306)异常检测部160判断所提取出的字段的值是否按时间序列顺序递增。在按时间序列顺序递增的情况下(“是”),异常检测部160返回到步骤S3301。否则(“否”),异常检测部160进入步骤S3311。
(步骤S3307)异常检测部160判断所提取出的字段的类型是否为连续值。在是连续值的情况下(“是”),异常检测部160进入步骤S3308。否则(“否”),异常检测部160执行步骤S3309。
(步骤S3308)异常检测部160判断所提取出的字段的值的变化量是否为与正常模型保持部191所保存的正常模型的举动信息中记载的平均接近的值。在为与正常模型的举动信息中记载的平均接近的值的情况下(“是”),异常检测部160返回到步骤S3301。否则(“否”),异常检测部160进入步骤S3311。
(步骤S3309)异常检测部160判断所提取出的字段的类型是否为状态。在是状态的情况下(“是”)进入步骤S3310。否则(“否”),异常检测部160进入步骤S3301。
(步骤S3310)异常检测部160判断所提取出的字段的值的变化的产生频度是否与正常模型保持部191所保存的正常模型的举动信息所示出的变化的产生频度接近。在与正常模型的举动信息记载的变化的产生频度接近的情况下(“是”),异常检测部160返回到步骤S3301。否则(“否”),异常检测部160进入步骤S3311。
(步骤S3311)异常检测部160认为检测到异常,向下一个步骤通知不正常字段的类型,结束基于举动模型的验证处理(执行步骤S34)。
此外,基于正常模型所包含的数据帧的接收间隔的平均及方差的验证,不包含在图25或图26的流程图中,但可通过异常检测部160另外进行。异常检测部160例如也可以在图25所示的异常检测处理的步骤S33之前,执行关于具有相应ID的数据帧间的接收间隔的异常的有无或者可能性的高低的判定,将有异常或者异常的可能性高的数据帧的数据字段设为步骤S33中的验证对象。
以下,使用具体例子对在车载网络10连接有送出异常数据帧的不正常ECU的情况下包括上述的构成要素的监视ECU100检测异常的工作进行说明。
<1.20异常检测部160的工作例1>
图27中示出异常检测部160的工作的一例。在该例以及以下的例子中,设想为监视ECU100将图7所示的正常模型保持在正常模型保持部191中。
参照图27,ECU200a定期地向总线300发送包含表示车速的字段的ID为0x100的数据帧。但是,不正常ECU向总线300发送ID为0x100的数据帧。
监视ECU100在每次接收数据帧时,参照正常模型保持部191所保存的正常模型和接收日志保持部190所保存的接收日志,由此判断数据字段的值是否偏离了正常模型(步骤S33)。此外,在从图27到图29中,以16进制数来表示5个字节的数据字段的值。
在接收到的最初的3个数据帧中,数据字段的值符合正常模型,由此判定为无异常。但是,关于第4个接收到的数据帧,基于正常模型所示出的开始位位置为29且数据长度为4的字段是固定值,不符合值为0这一情况,检测为固定值的字段的异常(步骤S3303:是;S3304:对于下划线的“1”而言:否;S3311)。
另外,关于第5个接收到的数据帧,通过开始位位置1且位长为8的计数器字段的值因紧接之前接收到的从不正常ECU发送的数据帧的影响而不递增这一判定,检测到异常(步骤S3305:是;S3306:对于下划线“3”而言,否;S3311)。为了通知检测到异常这一情况,将被检测到异常的数据帧的ID以及基于被检测到异常的字段的类型的信息(固定值的字段中的异常以及计数器的字段中的异常)通知给帧生成部170,请求生成用于向其他ECU通报异常产生的消息(步骤S35)。
此外,在监视ECU100中,在数据帧中检测到异常的情况下,也可以从接收日志中删除该数据帧的记录。
<1.21异常检测部160的工作例2>
图28中示出异常检测部160的工作的另一例。在该例中,除不正常ECU所发送的数据帧之外,设想为与图27所表示的状况同样的状况。
在该例中,不正常ECU在刚刚从ECU200a发送了正常的数据帧之后,发送包含异常的数据帧。监视ECU100在预定时间宽度内依次接收到的多个数据帧中,基于开始位位置为26且位长为3的状态字段的变化的产生频度已偏离了正常模型所表示的0.0001这一情况,检测到异常(步骤S3309:是;S3310:对于有下划线的值的变化的产生而言:否,S3311)。
此外,也检测到与图27的例子同样的计数器的字段中的异常,但在该例中省略说明。
<1.22异常检测部160的工作例3>
图29中示出异常检测部160的工作例。在该例中,除ECU200a所发送的数据帧以及不正常ECU所发送的数据帧之外,设想为与图27以及图28所表示的状况同样的状况。
不正常ECU在从ECU200a发送了3个ID为0x100的数据帧之后,发送ID为0x100的包含异常的数据帧。接收到该数据帧的监视ECU100,作为开始位位置为11且位长为14的连续值的字段的举动信息,对照变化量的平均为10且方差为100这一情况,基于从接收日志中提取出的该字段的紧接之前接收到的数据帧起的变化量为481(0x157C-0x139B=0x1E1)而有很大不同,检测到异常(步骤S3307:是;S3308:对于有下划线的值的变化量而言:否;S3311)。
此外,也检测到与图27的例子同样的计数器的字段中的异常,但在该例中省略说明。
<1.23效果>
在本实施方式中,监视ECU100监视在车载网络中流动的数据帧,基于统计得到的特征量将数据帧所包含的数据字段分割为作为有意义的位列的连贯性的字段。另外,监视ECU100生成在通过分割得到的各字段中的异常的检测中所使用的正常模型。进一步,监视ECU100能够执行使用正常模型的异常检测来检测车载网络内的不正常。
这样的监视ECU100即使在规格不同的车载网络***中也不需要事前个别的设计,因此能够实现成本得到抑制的车载网络的保护。
<2.变形例>
此外,基于上述实施方式说明了本公开,但本公开并不限定于上述实施方式,以下这样的构成也包含在本公开的技术范围内。
(1)在上述实施方式中,字段分割部、特征提取部以及不正常检测部,作为监视ECU的构成要素进行了说明,但不需要在同一装置中保持全部构成要素。例如,字段分割部和特征提取部也可以作为车外的云服务器的构成要素,云服务器将通过能够连接车载网络***的便携电话网等无线通信网接收的在车载网络***中流动的数据帧分割为字段,生成正常模型。并且,监视ECU也可以使用从云服务器下载的该正常模型来执行不正常检测检测处理。在情况下,监视ECU也可以不具有工作判断部,一直进行异常检测处理即可。由此,监视ECU仅具有异常检测部即可,安装会变得容易。
另外,在监视ECU中进行了数据字段的分割、正常模型的生成以及异常检测的处理,但本公开例如也可以作为仅执行这些处理中的数据字段的分割、或者执行到正常模型的生成为止的处理的信息处理装置、信息处理方法或者程序等来实现。这样的信息处理装置等例如能够为了网络的监视装置的开发而适用。
(2)在上述实施方式中,根据在一定期间收集车载网络的数据帧而得到的接收日志,生成了正常模型,但也可以是,为了生成正常模型,并不需要遍及一定期间从车载网络收集数据帧。例如,也可以将过去收集到的日志作为输入来生成正常模型。另外,也可以是,针对多个日志,分别生成正常模型,通过多数决或取平均,将对多个正常模型进行合并而得到的结果作为最终的正常模型。由此,在网络监视开始前,不一定需要一定期间的数据帧的收集,在想要在许多汽车中提前实现不正常检测处理的情况下是有效的。
(3)在上述实施方式中,作为检测到异常的情况下的行动(action),示出了为了通报异常而发送包含被检测到异常的数据帧的ID和被检测到异常的字段的种类在内的消息、即数据帧的例子,但异常检测后的行动并不限于此。例如,也可以是,在检测到异常的时候,监视ECU发送错误帧,由此使包含被检测到异常的字段的数据帧无效。此时,在监视ECU中,在数据帧的接收中进行图25所示的异常检测处理。另外,也可以通过对车载网络上的网关ECU追加监视ECU的功能,采取不转送被检测到异常的数据帧的应对。或者,也可以停止与被检测到异常的数据帧同种、即共同的ID的数据帧的转送。这在想要将网关ECU用作监视ECU来实现本公开的情况下有效,进而,因为能够检测许多车载网络的信息,所以具有能够实现的功能的广度上也扩大的效果。
另外,既可以向用户通知产生了异常这一情况,也可以使车辆切换到故障安全模式,还可以将所产生的异常留在日志中,还可以通过便携电话网等将所产生的异常向云服务器发送。由此,能够在异常检测后进行灵活的应对。例如也可以从云服务器向与被检测到异常的车载网络***同型或同版本的车载网络、或者包含共同的ECU的车载网络提供与该异常有关的信息。
(4)在上述实施方式中,示出了标准格式的ID的例子,但也可以是扩展格式的ID。
(5)在上述实施方式中,对于工作模式,在一个小时的收集模式后进行了正常模型的生成,但也可以比一个小时短,还可以比一个小时长。另外,也可以是,不取决于时间,而规定为了提取特征量而足够的日志的尺寸,在该尺寸的日志的收集已完成的时候生成正常模型。另外,也可以具备外部接口并根据用户的指示来切换模式。例如,也可以根据来自云服务器的指示来切换模式。由此,能够更灵活地进行数据的收集,根据监视ECU的资源来进行工作。
(6)在上述实施方式中,数据帧的接收日志、正常模型以及车辆状态是针对一个ID的,但也可以分别针对一个以上的ID来保持。
另外,在按通信标准而数据帧没有多个种类的情况下、或者在已知即使种类有多个但有效载荷的数据构造共同的情况下,也可以不在接收日志中包含ID。
(7)在上述实施方式中,示出了数据帧以明文流动的例子,但也可以被加密。另外,也可以在数据帧中包含消息认证码。
(8)在上述实施方式中,示出了正常模型和接收日志以明文方式保持的例子,但也可以加密后进行保持。
(9)在上述实施方式中示出了数据字段内以大端模式(Big-endia)保存有数据的例子,但数据也可以以小端模式(Little-endian)进行保存。
(10)在上述实施方式中,作为正常模型,示出了按各ID保持有数据帧的接收间隔的平均和方差的例子,但也可以在异常检测处理中,在实际接收到的数据帧的接收间隔从正常模型所记载的接收间隔的平均,比接收间隔的方差更加偏离的情况下检测消息的异常。这对于如下情况是有效的:不仅能够检测字段的值的异常,也可以检测使用了消息的时间信息的异常,通过多方面地检测异常,进一步提高检测精度。
另外,在接收日志中记录有数据帧的接收时刻,但如果能够不使用数据帧间的接收间隔而仅使用顺序来进行特征量的提取,则接收时刻也可以不包含在接收日志中。接收的顺序也可以使用接收日志中的记录的排列顺序或者连续编号来示出。
另外,对于不将接收间隔平均和方差的信息用于异常检测的情况,也可以在正常模型中不保持这些信息。
(11)在上述实施方式中,将分割后的字段分类为固定值、计数器、连续值、状态、校验和这5种类型,但不一定需要分类成这5种类型。例如,不正常检测所不需要的类型的字段也可以不包含在正常模型中。
另外,也可以将校验和的字段设为消息认证码的字段。
另外,也可以不将这些5种类型全部进行互相区分。例如也可以将在预定时间宽度内值的预定大小以下的变化出现预定次数以上的区域的字段作为一个类型的字段来处理。这样的字段可以包含计数器或连续值,是本变形例中的第1类型的例子。作为另一例子,也可以将根据各种特征量取离散值的区域的字段作为一个类型来处理。这样的字段可以包含校验和、或者表示标志或状态的状态值,是本变形例中的第2类型的例子。
(12)在上述实施方式中,作为正常模型的举动信息,保持有白名单、字段的值发生变化的频度(变化的产生频度)、字段的值的变化时的变化量的平均和方差,但不限于此。例如也可以保持有表示各特征量的正常值的范围的上限或下限。另外,也可以保持字段的值的变化时的变化量的最大值和最小值。另外,也可以保持字段的值发生变化时的值的转变的白名单。另外,也可以保持有适用于时间序列模型时的参数。另外,也可以根据接收日志的记录来算出每预定时间(例如每秒)的值的变化的产生频度的最大值并进行保持。由此,异常检测处理的方法增加,能够通过更多的方法来捕捉异常。
(13)在上述实施方式中,作为正常模型的举动信息,针对连续值的字段,保持有值的变化时的变化量的平均和方差,针对状态的字段,保持有字段的值发生变化的比例,但也可以不是该组合。
(14)在上述实施方式中,作为正常模型,按各字段保持有类型和举动信息,但也可以保持相对于多个字段的举动信息。例如,也可以将对分割数据字段而得到的字段实施了主成分分析和/或自动编码等维度削减处理后的数据作为正常模型进行保持。由此,可生成捕捉到字段间的关系性的正常模型,有时比按各简单字段的异常检测有效。
(15)在上述实施方式中,作为有效载荷分割部中的校验和的提取条件之一,包含在剩余的分割模式候选中是字段长度为4位或8位这一情况来作为条件,但也可以是该值以外的值。特别是在校验和字段的长度事先已知的情况下,设定为该值即可。在事先未知的情况下,通过设定为经常利用的长度,能够高精度地分割字段。
(16)在上述实施方式中,作为有效载荷分割部中的校验和的提取条件之一,包含在所提取出的记录中是表示能够由各分割模式候选的位长表示的全部值所表示的记录,但也可以不是该条件。例如,也可以检查字段是否随机可见。在该处理包含消息认证码的情况下,能够高精度地分割数据字段,是有效的。另外,在校验和的计算方法事先可知的情况下,也可以通过确认分割模式候选的值是否成为从校验和的计算式算出的值,提取校验和的字段。
(17)在上述的实施方式中,在数据字段的分割时,针对各分割模式,算出所观测到的值的种类数(第1特征量)、相对于观测数据数而在字段的值中发生了变化的频度(第2特征量)、和值变化时的变化量的方差(第3特征量)这3种,但不需要全部算出该3种特征量。例如,如果想要仅提取固定值的字段,则只算出第1特征量即可,通过想要提取的字段来选择并算出所需特征量即可。另外,也可以使用能根据上述的特征量算出的其他特征量。例如,也可以使用第1特征量、和根据字段长算出的对可取的值的范围观测到多少的值的种类数这一特征量。由此,能够简化数据字段的分割处理,从处理时间和/或程序大小的观点出发会有效。
(18)在上述的实施方式中,在数据字段的分割时,针对各分割模式,不变换数据字段的值而算出了特征量,但可以进行对数据字段的值进行变换的前处理。例如,也可以设想分割模式为带符号的字段,在进行了二补数变换处理之后算出特征。这在连续值的字段以带符号的形式表现的情况下为了高精度地分割数据字段是有效的。
(19)在上述的实施方式中,通过有效载荷分割部将分割后的数据字段的信息通知给特征提取部,由此特征提取部提取了正常模型,但也可以将有效载荷分割部的输出本身向外部进行通知或者保存于内部。
(20)在上述的实施方式中,有效载荷分割部针对接收日志所包含的全部ID,进行了数据字段的分割处理,但也可以不针对全部ID进行数据字段的分割处理。例如,也可以仅针对预先指定的ID进行数据字段的分割处理,输出其结果。
(21)在上述的实施方式中,有效载荷分割部针对数据字段,通过对全部分割模式候选提取特征量来分割了字段,但也可以仅对预先决定的范围进行数据字段的分割处理。这在想要从大的数据字段的区域中高速地进行特征提取的情况下,通过筛选监视对象,能够实现处理的高速化。例如也可以仅对数据字段的高位20位进行数据字段的分割处理,还可以对任意的范围进行。从处理时间的观点出发是有效的。
(22)在上述的实施方式中,将值变化时的变化量的方差用作对字段的变化的时间序列的变化进行捕捉的特征量,但使用其以外的特征也可以。例如也可以使用字段的值的变化量的分布,还可以是使用了字段的值的移动平均的特征量。
(23)在上述的实施方式中,作为车载网络使用了CAN协议,但并不限于此。例如也可以使用CAN-FD(CAN with Flexible Data Rate)、FlexRay、Ethernet、LIN(LocalInterconnect Network)、MOST(Media Oriented Systems Transport)等。或者也可以是将这些网络作为子网络而组合的网络。
(24)上述实施方式中的各装置,具体而言,是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等构成的计算机***。在该RAM或硬盘单元中记录有计算机程序。通过该微处理器按照计算机程序进行工作,各装置实现其功能。在此,计算机程序是为了实现预定功能而组合多个表示对计算机的指令的命令代码而构成的。
(25)构成上述实施方式的各装置的构成要素的一部分或全部,也可以由一个***LSI(Large Scale Integration:大规模集成电路)构成。***LSI是将多个构成部集成到一个芯片上而制造出的超多功能LSI,具体是包括微处理器、ROM、RAM等而构成的计算机***。在该RAM中记录有计算机程序。通过该微处理器按照该计算机程序进行工作,***LSI实现其功能。
另外,构成上述各装置的构成要素的各部,既可以单独地单芯片化,也可以以包含一部分或全部的方式单芯片化。
另外,虽然此处称为LSI,但根据集成度不同,也可以称为IC、LSI、超大LSI(superLSI)、特大LSI(ultra LSI)。另外,集成电路化的方法不限于LSI,也可以通过专用电路或者通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable GateArray;现场可编程门阵列)或者可以对LSI内部的电路单元的连接以及设定进行重构的可重构处理器(reconfigurable processor)。
进而,随着半导体技术的发展或者派生的其他技术的出现,如果出现能够替代LSI的集成电路化的技术,当然可以利用该技术进行功能块的集成化。也存在适用生物技术等的可能性。
(26)构成上述各装置的构成要素的一部分或全部也可以由能够装卸于各装置的IC卡或单体模块构成。IC卡或模块是由微处理器、ROM、RAM等构成的计算机***。IC卡或模块也可以包括上述的超多功能LSI。微处理器按照计算机程序进行工作,由此IC卡或模块实现其功能。该IC卡或该模块也可以具有防篡改性能。
(27)本公开也可以是上述所示的方法。另外,也可以是通过计算机实现这些方法的计算机程序,还可以是由所述计算机程序形成的数字信号。
另外,本公开也可以将计算机程序或数字信号记录于计算机可读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等。另外,也可以是记录在这些记录介质中的数字信号。
另外,本公开也可以将计算机程序或数字信号经由电通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等进行传输。
另外,本公开也可以是具备微处理器和存储器的计算机***,存储器存储有上述计算机程序,微处理器按照计算机程序进行工作。
另外,也可以是,通过将程序或数字信号记录在记录介质中并进行移送、或者经由网络等将程序或数字信号进行移送,由此通过独立的其他计算机***来实施。
(28)也可以将上述实施方式以及上述变形例分别进行组合。
产业上的可利用性
本公开监视在车载网络中流动的数据帧,按照统计的特征量,对数据帧所包含的数据字段进行分割,按分割后的各字段来生成正常的模型。另外,监视ECU能够基于正常模型来检测车载网络内的不正常。由此,即使是不同的车载网络***,也不需要事先设计而能够进行抑制了成本的车载网络的保护。
标号的说明
10 车载网络;100 监视ECU;110 帧收发部;120 帧收集部;130 工作判断部;140有效载荷分割部;150 特征提取部;160 异常检测部;170 帧生成部;180 模式保持部;190接收日志保持部;191 正常模型保持部;200、200a、200b ECU;201 帧收发部;202 帧处理部;203 外部设备输入输出部;204 帧生成部;210 速度传感器;220 排挡;230 计量仪;300总线。
Claims (10)
1.一种信息处理方法,是具备存储部的信息处理***所进行的对在包括一个以上的电子控制单元的车载网络中流动的数据帧进行处理的信息处理方法,所述信息处理方法包括:
帧收集步骤,接收在所述车载网络中流动的多个所述数据帧,从所述多个数据帧的各数据帧中取得该数据帧所包含的由至少一个字段构成的有效载荷,并作为一个记录而记录于所述存储部所保持的接收日志;和
字段提取步骤,根据多个所述记录,针对表示所述多个数据帧的有效载荷内的互不相同的区域的多个有效载荷分割模式候选的各候选,算出与所述区域内的所述有效载荷的值的时间序列变化有关的一个以上的特征量,基于所述特征量,从所述多个有效载荷分割模式候选中选择表示位于所述有效载荷内的字段的区域的有效载荷分割模式,输出字段提取结果,所述字段提取结果表示所选择出的所述有效载荷分割模式所表示的区域和基于所述特征量的该字段的类型,
所述接收日志还包含表示接收到所述多个记录的顺序的信息,
所述特征量包括第1特征量、第2特征量和第3特征量的至少一个,
所述第1特征量表示所述时间序列变化的模式数,
所述第2特征量表示所述时间序列变化的产生频度,
所述第3特征量表示与所述时间序列变化的变化量有关的统计信息,
所述特征量包括所述第2特征量以及所述第3特征量,
所述信息处理***在所述字段提取步骤中,
执行如下的连续值字段提取步骤:从所述多个有效载荷分割模式候选中,基于所述第2特征量以及所述第3特征量,选择表示所述有效载荷的值表示物理量的连续值类型的字段的区域的有效载荷分割模式,由此选择表示第1类型的字段的所述有效载荷分割模式,
所述信息处理***在所述字段提取步骤中,
针对所述多个有效载荷分割模式候选的各候选,算出离群值评分,所述离群值评分示出表示相同数据长度的区域的所述有效载荷分割模式候选中的所述第3特征量的离群情况,
算出在所述有效载荷分割模式候选中表示开始位相同的区域的所述有效载荷分割模式候选的所述离群值评分的平均值,
从表示所述平均值为预定阈值以上的区域的所述有效载荷分割模式候选中,基于该有效载荷分割模式候选所包含的有效载荷分割模式候选的所述第2特征量的大小关系,选择表示符合所述连续值类型的字段的区域的有效载荷分割模式。
2.根据权利要求1所述的信息处理方法,
所述信息处理***在所述字段提取步骤中,
基于所述特征量,将表示在所述有效载荷的值中存在一次以上的时间序列变化、且所述时间序列变化所包含的各次的变化量为预定大小以下的区域的所述有效载荷分割模式候选选择为表示第1类型的字段的区域的所述有效载荷分割模式。
3.根据权利要求1所述的信息处理方法,
所述信息处理***在所述字段提取步骤中,
从所述多个有效载荷分割模式候选中,基于所述特征量,将表示在所述有效载荷的值中每次都变化、且该有效载荷的值的各次的变化量恒定的区域的有效载荷分割模式选择为表示计数器类型的字段的区域的有效载荷分割模式,由此选择表示所述第1类型的字段的所述有效载荷分割模式。
4.根据权利要求3所述的信息处理方法,
所述信息处理***在所述字段提取步骤中,
基于所述特征量,将表示在所述有效载荷的值中存在一次以上的时间序列变化、且所述有效载荷的值取离散值的区域的所述有效载荷分割模式候选选择为表示第2类型的字段的区域的所述有效载荷分割模式。
5.根据权利要求4所述的信息处理方法,
所述第2类型是校验和类型以及状态类型的至少一方,
所述校验和类型用于对所述字段内的所述有效载荷的值的匹配性进行校验,
所述状态类型是所述字段内的所述有效载荷的值表示包括所述车载网络的车辆的预定状态的类型。
6.根据权利要求4所述的信息处理方法,
所述信息处理***在所述字段提取步骤中,依次执行固定值字段提取步骤、计数器字段提取步骤、所述连续值字段提取步骤以及第2类型字段提取步骤,
在所述固定值字段提取步骤中,从所述多个有效载荷分割模式候选中,选择所述第1特征量为1的有效载荷分割模式候选来作为表示固定值类型的字段的区域的有效载荷分割模式,将从所述多个有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的所述有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第1有效载荷分割模式候选,
在所述计数器字段提取步骤中,从所述第1有效载荷分割模式候选中,选择表示所述计数器类型的字段的区域的有效载荷分割模式,将从所述第1有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的所述有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第2有效载荷分割模式候选,
在所述连续值字段提取步骤中,从所述第2有效载荷分割模式候选中,使用所述第2特征量和所述第3特征量,从所述第2有效载荷分割模式候选中,选择表示所述连续值类型的字段的区域的有效载荷分割模式,将从所述第2有效载荷分割模式候选中除去与该选择出的有效载荷分割模式重叠至少一部分的所述有效载荷分割模式候选而剩余的有效载荷分割模式候选设为第3有效载荷分割模式候选,
在所述第2类型字段提取步骤中,选择所述第3有效载荷分割模式候选来作为所述第2类型字段的区域的所述有效载荷分割模式。
7.根据权利要求1~6中任一项所述的信息处理方法,
还包括所述信息处理***所执行的特征提取步骤,在所述特征提取步骤中,根据所述字段提取结果以及所述接收日志,基于与所述选择出的有效载荷分割模式所表示的字段的值的时间序列变化的变化量有关的统计信息,生成表示该字段的值的变化的正常范围的正常模型,进一步输出所生成的所述正常模型。
8.根据权利要求1~6中任一项所述的信息处理方法,
所述多个数据帧分别包含表示数据帧的种类的数据类别ID,
所述信息处理***,
在所述帧收集步骤中,将所述有效载荷以及所述数据类别ID作为所述一个记录而记录于所述接收日志,
以所述数据类别ID共同的数据帧为对象来执行所述字段提取步骤。
9.一种信息处理***,具备处理器以及存储部,对在包括一个以上的电子控制单元的车载网络中流动的数据帧进行处理,
所述处理器,
接收在所述车载网络中流动的多个所述数据帧,从所述多个数据帧的各数据帧中取得该数据帧所包含的由至少一个字段构成的有效载荷,并作为一个记录而记录于所述存储部所保持的接收日志,
根据多个所述记录,针对表示所述多个数据帧的有效载荷内的互不相同的区域的多个有效载荷分割模式候选的各候选,算出与所述区域内的所述有效载荷的值的时间序列变化有关的一个以上的特征量,
基于所述特征量,从所述多个有效载荷分割模式候选中,选择表示位于所述有效载荷内的字段的区域的有效载荷分割模式,
输出字段提取结果,所述字段提取结果表示所选择出的所述有效载荷分割模式所表示的区域和基于所述特征量的该字段的类型,
所述接收日志还包含表示接收到所述多个记录的顺序的信息,
所述特征量包括第1特征量、第2特征量和第3特征量的至少一个,
所述第1特征量表示所述时间序列变化的模式数,
所述第2特征量表示所述时间序列变化的产生频度,
所述第3特征量表示与所述时间序列变化的变化量有关的统计信息,
所述特征量包括所述第2特征量以及所述第3特征量,
所述处理器,
从所述多个有效载荷分割模式候选中,基于所述第2特征量以及所述第3特征量,选择表示所述有效载荷的值表示物理量的连续值类型的字段的区域的有效载荷分割模式,由此选择表示所述第1类型的字段的所述有效载荷分割模式,
所述处理器,
针对所述多个有效载荷分割模式候选的各候选,算出离群值评分,所述离群值评分示出表示相同数据长度的区域的所述有效载荷分割模式候选中的所述第3特征量的离群情况,
算出在所述有效载荷分割模式候选中表示开始位相同的区域的所述有效载荷分割模式候选的所述离群值评分的平均值,
从表示所述平均值为预定阈值以上的区域的所述有效载荷分割模式候选中,基于该有效载荷分割模式候选所包含的有效载荷分割模式候选的所述第2特征量的大小关系,选择表示符合所述连续值类型的字段的区域的有效载荷分割模式。
10.一种记录有程序的计算机可读记录介质,通过在具备处理器以及存储部的信息处理***中由所述处理器执行所述程序,使所述信息处理***执行权利要求1所述的信息处理方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016237049 | 2016-12-06 | ||
JP2016-237049 | 2016-12-06 | ||
JP2017-209871 | 2017-10-31 | ||
JP2017209871 | 2017-10-31 | ||
PCT/JP2017/040866 WO2018105330A1 (ja) | 2016-12-06 | 2017-11-14 | 情報処理方法、情報処理システム、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108401491A CN108401491A (zh) | 2018-08-14 |
CN108401491B true CN108401491B (zh) | 2021-08-10 |
Family
ID=62491193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780003405.2A Active CN108401491B (zh) | 2016-12-06 | 2017-11-14 | 信息处理方法、信息处理***以及程序 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10999248B2 (zh) |
EP (1) | EP3554015B1 (zh) |
JP (1) | JP6847101B2 (zh) |
CN (1) | CN108401491B (zh) |
WO (1) | WO2018105330A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017208547A1 (de) * | 2017-05-19 | 2018-11-22 | Robert Bosch Gmbh | Verfahren zum Schutz eines Netzwerkes vor einem Cyberangriff |
KR102017218B1 (ko) * | 2017-10-19 | 2019-09-02 | 재단법인 대구경북과학기술원 | 네트워크 보안 방법 및 장치 |
US11128400B2 (en) * | 2017-12-01 | 2021-09-21 | Nippon Telegraph And Telephone Corporation | Bit assignment estimating device, bit assignment estimating method, and program |
JP6552674B1 (ja) * | 2018-04-27 | 2019-07-31 | 三菱電機株式会社 | 検査システム |
WO2019241145A1 (en) * | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
JP7378089B2 (ja) * | 2018-06-13 | 2023-11-13 | パナソニックIpマネジメント株式会社 | 不正通信検知装置、不正通信検知方法及び製造システム |
WO2020021713A1 (ja) * | 2018-07-27 | 2020-01-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 不正検知方法および不正検知電子制御装置 |
JP7182470B2 (ja) * | 2019-01-11 | 2022-12-02 | 富士通株式会社 | メッセージ処理装置およびメッセージ処理方法 |
CN112889246B (zh) * | 2019-02-08 | 2023-09-22 | 松下电器(美国)知识产权公司 | 异常判定方法、异常判定装置以及程序 |
US11700270B2 (en) * | 2019-02-19 | 2023-07-11 | The Aerospace Corporation | Systems and methods for detecting a communication anomaly |
CN112840282B (zh) * | 2019-03-29 | 2024-07-09 | 松下电器(美国)知识产权公司 | 异常检测方法以及异常检测装置 |
US10951649B2 (en) * | 2019-04-09 | 2021-03-16 | Arbor Networks, Inc. | Statistical automatic detection of malicious packets in DDoS attacks using an encoding scheme associated with payload content |
US11005872B2 (en) * | 2019-05-31 | 2021-05-11 | Gurucul Solutions, Llc | Anomaly detection in cybersecurity and fraud applications |
US11194691B2 (en) | 2019-05-31 | 2021-12-07 | Gurucul Solutions, Llc | Anomaly detection using deep learning models |
JP7234832B2 (ja) * | 2019-07-03 | 2023-03-08 | 株式会社デンソー | 電子制御装置 |
JP7268562B2 (ja) * | 2019-09-30 | 2023-05-08 | 富士通株式会社 | メッセージの特徴を推定する方法および情報処理装置 |
JP2021078057A (ja) * | 2019-11-12 | 2021-05-20 | 株式会社オートネットワーク技術研究所 | 車載中継装置及び情報処理方法 |
KR102273410B1 (ko) * | 2020-01-10 | 2021-07-06 | 성균관대학교산학협력단 | Ecu를 리프로그래밍 하기 위한 장치, 시스템 및 방법 |
JP2021114656A (ja) * | 2020-01-16 | 2021-08-05 | 富士通株式会社 | 判定方法および情報処理装置 |
JP7363510B2 (ja) * | 2020-01-21 | 2023-10-18 | 株式会社オートネットワーク技術研究所 | 管理装置、車載装置の識別情報割り当て方法、車載システム、及びデータ構造 |
AU2020477732B2 (en) | 2020-11-19 | 2024-02-01 | Nippon Telegraph And Telephone Corporation | Estimation device, estimation method, and estimation program |
CN112583683B (zh) * | 2020-12-29 | 2021-10-15 | 中国科学院声学研究所 | 一种主从式can fd总线应用层通信方法及***、电子设备 |
JP7507205B2 (ja) | 2021-12-20 | 2024-06-27 | 本田技研工業株式会社 | 通信監視装置および通信監視方法 |
CN114297454B (zh) * | 2021-12-30 | 2023-01-03 | 医渡云(北京)技术有限公司 | 特征的离散化方法、装置、电子设备及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354991A (zh) * | 2010-11-03 | 2013-10-16 | 美国博通公司 | 车辆通信网络 |
CN105474584A (zh) * | 2013-09-27 | 2016-04-06 | 飞思卡尔半导体公司 | Can fd帧结束检测器及检测方法、can位流处理器及操作方法 |
WO2016056213A1 (ja) * | 2014-10-07 | 2016-04-14 | 株式会社デンソー | 車両の遠隔制御に用いられる命令判定装置および命令判定装置用のプログラム製品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2012296587B2 (en) * | 2011-08-15 | 2016-04-21 | Jonathan William Roleder | Container assembly with improved retainer assembly and flavor inserts for aging a liquid |
CN103999410B (zh) | 2011-12-22 | 2017-04-12 | 丰田自动车株式会社 | 通信***及通信方法 |
JP5880898B2 (ja) * | 2014-05-08 | 2016-03-09 | パナソニックIpマネジメント株式会社 | 送信装置 |
JP6594732B2 (ja) * | 2015-01-20 | 2019-10-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム |
-
2017
- 2017-11-14 WO PCT/JP2017/040866 patent/WO2018105330A1/ja unknown
- 2017-11-14 JP JP2018517654A patent/JP6847101B2/ja active Active
- 2017-11-14 EP EP17877833.8A patent/EP3554015B1/en active Active
- 2017-11-14 CN CN201780003405.2A patent/CN108401491B/zh active Active
-
2018
- 2018-12-21 US US16/229,528 patent/US10999248B2/en active Active
-
2021
- 2021-04-06 US US17/223,772 patent/US11546298B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354991A (zh) * | 2010-11-03 | 2013-10-16 | 美国博通公司 | 车辆通信网络 |
CN105474584A (zh) * | 2013-09-27 | 2016-04-06 | 飞思卡尔半导体公司 | Can fd帧结束检测器及检测方法、can位流处理器及操作方法 |
WO2016056213A1 (ja) * | 2014-10-07 | 2016-04-14 | 株式会社デンソー | 車両の遠隔制御に用いられる命令判定装置および命令判定装置用のプログラム製品 |
Non-Patent Citations (2)
Title |
---|
Anomaly Detection in Automobile Control Network Data with long Short-Term Memory Networks;TAYLOR ADRIAN ET AL;《2016 IEEE International Conference on Data Science and Advanced Analytics》;20161222;全文 * |
Field classification,modeling and anomaly detection in unknown CAN bus networks;MOTI MARKOVITZ ET AL;《VEHICULAR COMMUNICATIONS》;20170205;文章第3-5部分 * |
Also Published As
Publication number | Publication date |
---|---|
US20190116157A1 (en) | 2019-04-18 |
EP3554015B1 (en) | 2020-12-30 |
US20210226919A1 (en) | 2021-07-22 |
EP3554015A4 (en) | 2019-12-18 |
JPWO2018105330A1 (ja) | 2019-10-24 |
WO2018105330A1 (ja) | 2018-06-14 |
CN108401491A (zh) | 2018-08-14 |
JP6847101B2 (ja) | 2021-03-24 |
US11546298B2 (en) | 2023-01-03 |
EP3554015A1 (en) | 2019-10-16 |
US10999248B2 (en) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108401491B (zh) | 信息处理方法、信息处理***以及程序 | |
EP3598329B1 (en) | Information processing method, information processing system, and program | |
US10992688B2 (en) | Unauthorized activity detection method, monitoring electronic control unit, and onboard network system | |
EP3337102A1 (en) | Illegality detection electronic control unit, car onboard network system, and illegality detection method | |
CN109076016B (zh) | 非法通信检测基准决定方法、决定***以及记录介质 | |
JP2018026791A (ja) | フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム | |
CN109005678B (zh) | 非法通信检测方法、非法通信检测***以及记录介质 | |
CN111492625B (zh) | 非法检测方法以及非法检测装置 | |
US11516045B2 (en) | Anomaly determination method, anomaly determination device, and recording medium | |
US11997119B2 (en) | Vehicle log transmission device, vehicle log analysis server, vehicle log analysis system, and vehicle log transmission/reception method | |
WO2018168291A1 (ja) | 情報処理方法、情報処理システム、及びプログラム | |
JP6839846B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114731301B (zh) | 决定方法、决定***以及程序记录介质 | |
US20190384771A1 (en) | Extracting device, extracting method and storage medium, and abnormality detecting device and abnormality detecting method | |
US20230283622A1 (en) | Anomaly detection method, anomaly detection device, and recording medium | |
JP6992309B2 (ja) | 送信装置、受信装置、及び通信方法 | |
US11909755B2 (en) | Log transmission controller | |
KR20220082550A (ko) | 차량 |
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 |