CN107852357B - 安全装置、网络系统以及攻击检测方法 - Google Patents

安全装置、网络系统以及攻击检测方法 Download PDF

Info

Publication number
CN107852357B
CN107852357B CN201680045757.XA CN201680045757A CN107852357B CN 107852357 B CN107852357 B CN 107852357B CN 201680045757 A CN201680045757 A CN 201680045757A CN 107852357 B CN107852357 B CN 107852357B
Authority
CN
China
Prior art keywords
frame
unit
determination
vehicle
satisfied
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680045757.XA
Other languages
English (en)
Other versions
CN107852357A (zh
Inventor
鹤见淳一
氏家良浩
中野稔久
松岛秀树
海上勇二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to CN202011202698.7A priority Critical patent/CN112286763A/zh
Priority to CN202011202721.2A priority patent/CN112286764A/zh
Priority claimed from PCT/JP2016/004518 external-priority patent/WO2017104096A1/ja
Publication of CN107852357A publication Critical patent/CN107852357A/zh
Application granted granted Critical
Publication of CN107852357B publication Critical patent/CN107852357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本公开涉及安全装置、网络系统以及攻击检测方法,与车辆内的总线连接的安全装置(2110)具备:判定部(2113),其针对由从总线接收帧的接收部(2111)接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧;取得部(2114),其在判定部判定为满足预定条件的情况下,进行控制以向车辆外的外部装置(2200)传达判定请求,取得根据判定请求而从外部装置传达的判定结果;以及输出部(2115),其在判定部判定为满足预定条件的情况下输出第1提示用信息,在取得部取得了来自外部装置的判定结果的情况下输出第2提示用信息。

Description

安全装置、网络系统以及攻击检测方法
技术领域
本公开涉及检测攻击帧的技术,所述攻击帧是在搭载于车辆等的电子控制单元进行通信的网络中发送的不正常帧。
背景技术
近年来,在汽车中的系统内,配置有许多被称为电子控制单元(ECU:ElectronicControl Unit)的装置。连接这些ECU的网络称为车载网络。车载网络存在多种标准。作为其中最主流的车载网络之一,存在由ISO11898-1规定的CAN(Controller Area Network:控制器局域网络)这一标准。
在CAN中,通信路径是由两条线构成的总线,与总线连接的ECU称为节点。与总线连接的各节点收发被称为帧的消息。
在CAN中不存在指示发送目的地或发送源的标识符,发送节点在每帧中附加被称为消息ID的ID并进行发送(即,向总线送出信号),各接收节点仅接收预先确定的ID的帧(即,从总线读取信号)。另外,采用CSMA/CA(Carrier Sense Multiple Access/CollisionAvoidance:载波侦听多址访问/冲突避免)方式,在多个节点同时发送时,进行基于消息ID的仲裁(调停),优先发送消息ID的值小的帧。
如上所述,因为在CAN中未实施发送源是否正确的验证,所以攻击者(不正常节点)通过访问CAN的总线并发送不正常帧(攻击帧),能够不正常地控制汽车。作为针对如此攻击的防御技术,已知如下技术:在帧已被发送到CAN的总线上的情况下,判定是否为不正常地发送的帧,采取发出警报、阻止不正常帧等的行动(参照专利文献1)。
现有技术文献
专利文献1:日本特开2015-136107号公报
发明内容
发明要解决的技术问题
然而,在上述以往技术中,需要进一步改善。
用于解决问题的技术方案
本公开的一技术方案的安全装置,是与车辆内的一条或多条总线连接的安全装置,具备:接收部,其从一条所述总线接收帧;判定部,其针对由所述接收部接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧,取得部,其在所述判定部判定为满足所述预定条件的情况下,进行控制以向位于所述车辆外部的外部装置传达判定请求,取得根据该判定请求而从该外部装置传达的判定结果;以及输出部,其在所述判定部判定为满足所述预定条件的情况下输出第1提示用信息,在所述取得部取得了来自所述外部装置的判定结果的情况下输出第2提示用信息。
此外,这些概括性或具体的技术方案既可以通过装置、系统、集成电路、计算机程序或计算机可读取的CD-ROM等记录介质来实现,也可以通过装置、系统、方法、计算机程序和记录介质的任意组合来实现。
发明的效果
根据本公开,在疑似攻击帧的帧被发送了的情况下进行适当的通知,因此,车辆的驾驶员等会接收该通知并适当地进行应对。
此外,本公开的进一步的效果以及优点可从本说明书以及附图的公开内容知晓。上述进一步的效果以及优点,可以单独地由本说明书及附图所公开的各种实施方式及特征来提供,不一定需要提供所有的效果以及优点。
附图说明
图1是表示实施方式1的网络系统的整体构成的图。
图2是表示实施方式1的网络系统的工作例的时序图。
图3是表示由网关授受的帧的内容的具体例的图。
图4是方向盘ECU的构成图。
图5是速度通知ECU的构成图。
图6是白线角度通知ECU的构成图。
图7是自动操舵指示ECU的构成图。
图8是主机单元ECU的构成图。
图9是表示主机单元ECU的显示内容保持部所保持的显示内容表的一例的图。
图10是表示主机单元ECU中的警告通知的显示例的图。
图11是表示主机单元ECU中的无异常通知的显示例的图。
图12是表示主机单元ECU中的攻击检测通知的显示例的图。
图13是表示主机单元ECU中的停车劝告的显示例的图。
图14是实施方式1的网关的构成图。
图15是表示网关接收的帧所涉及的接收ID列表的一例的图。
图16是表示网关在是否为不正常帧的确认中使用的帧格式规则的一例的图。
图17是表示网关在是否需要向外部发送判定请求的判断中使用的判断规则的一例的图。
图18是表示网关在是否需要警告的判断中使用的警告规则的一例的图。
图19是表示网关在通知内容的决定中使用的通知规则的一例的图。
图20是表示网关所使用的转送规则的一例的图。
图21是表示网关的状态存储部所存储的数据值的一例的图。
图22是表示实施方式1的网关中的帧接收对应处理的一例的流程图。
图23是表示实施方式1的网关中的判定结果接收对应处理的一例的流程图。
图24是服务器的构成图。
图25是表示服务器中的异常判定处理的一例的流程图。
图26是表示服务器的工作例的流程图。
图27是表示实施方式2的网络系统的整体构成的图。
图28是表示实施方式2的网络系统的工作例的时序图。
图29是实施方式2的网关的构成图。
图30是表示实施方式2的网关中的帧接收对应处理的一例的流程图。
图31是表示实施方式2的网关中的判定结果接收对应处理的一例的流程图。
图32是表示汽车B中的与判定请求对应的工作例的流程图。
图33是网络系统的概略构成图。
具体实施方式
(成为本公开的基础的见解)
在专利文献1所记载的技术中,在帧已被发送到CAN的总线上的情况下,判定是否为不正常地发送的帧,采取发出警报、阻止不正常帧等的行动。
然而,在虽然怀疑已被发送到车载网络的总线上的帧是攻击者为了不正常地控制汽车等车辆而发送的攻击帧但无法断定是攻击帧的情况下,未必应该阻止该帧。
基于上述考察,本发明人想到了本公开的各技术方案。
本公开的一技术方案的安全装置,是与车辆内的一条或多条总线连接的安全装置,具备:接收部,其从一条所述总线接收帧;判定部,其针对由所述接收部接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧,取得部,其在所述判定部判定为满足所述预定条件的情况下,进行控制以向位于所述车辆外部的外部装置传达判定请求,取得根据该判定请求而从该外部装置传达的判定结果;以及输出部,其在所述判定部判定为满足所述预定条件的情况下输出第1提示用信息,在所述取得部取得了来自所述外部装置的判定结果的情况下输出第2提示用信息。安全装置在基于区分有无可能是攻击帧的预定条件进行了判定之后,如果满足预定条件则会等待外部装置的判定结果来判定是否为攻击帧。对于向外部装置发送判定请求、使外部装置进行判定并接收该判定结果,需要一定的时间。根据基于上述结构的安全装置,在满足预定条件的情况即疑似攻击帧的帧被发送了的情况下,通过第1提示用信息的输出来进行适当的通知,在经过一定时间后得到了外部装置的判定结果的阶段,通过第2提示用信息的输出来进行适当的通知。此外,对于提示用信息的输出,是直接或者经由具有用户接口的装置等向车辆的驾驶员、同乘者等人进行的通知(信息提示等)。因此,可使得车辆的驾驶员等能够接收该通知并适当地应对。例如,若在疑似攻击帧的帧被发送了的情况下通过基于第1提示用信息的通知引起了驾驶员等的注意,则在利用外部装置判定为该帧是攻击帧而进行了基于第2提示用信息的通知时,驾驶员等会能够顺畅地应对。因此,可减低在疑似攻击帧的帧被发送了的情况下的因该帧或继该帧之后的帧引起的不良影响。
另外,例如也可以是,所述车辆搭载有遵循CAN协议即控制器局域网协议经由所述一条或多条总线进行帧的授受的多个电子控制单元。由此,可成为:在遵循用于在电子控制单元(ECU)间进行帧的授受的CAN的车载网络中发送了攻击帧的情况下,能够为了减低攻击帧的不良影响而适当地进行通知。
另外,例如也可以是,所述安全装置是与所述车辆内的所述多条总线连接的网关装置。由此,可成为:作为连接多条总线间并进行帧的转送的网关装置的安全装置,在攻击帧被发送到了某一总线的情况下能够适当地进行通知。
另外,例如也可以是,所述安全装置还具备确认部,所述确认部针对由所述接收部从一总线接收到的帧确认是否符合不正常条件,所述安全装置针对由所述接收部从一总线接收到的帧,在通过所述确认部确认到不符合所述不正常条件的情况下,将该帧向其他总线转送,在通过所述确认部确认到符合所述不正常条件的情况下,不转送该帧,在针对由所述接收部接收到的帧通过所述确认部确认到符合所述不正常条件的情况下,所述判定部不判定为满足所述预定条件,所述输出部在所述判定部判定为满足所述预定条件时输出所述第1提示用信息。由此,作为网关装置的安全装置,在确认到已被发送到某一总线的帧是不正常帧(即不符合预定规则的帧)的情况下,能够抑制总线间的转送。另外,在即使无法将已被发送到某一总线的帧判定为不正常帧但却判定为有可能不正常的帧即疑似攻击帧的帧的情况下,安全装置进行帧的转送,但在该判定时进行第1提示用信息的输出,因此,可通过该输出对驾驶员等进行适当的通知。例如,驾驶员等可迅速地知晓车辆有可能会发生与自身的计划不同的举动。并且,驾驶员等能够注意车辆的举动来进行驾驶。
另外,例如也可以是,所述输出部在所述判定部判定为满足所述预定条件的情况下,当满足警告条件时输出所述第1提示用信息,当不满足该警告条件时不输出所述第1提示用信息。由此,即使在疑似攻击帧的帧被发送了的情况下,也可根据帧内容等来判别需不需要进行警告。因此,在因已被发送的帧引起的不良影响小等情况下,能够不进行用于通知的输出,不向驾驶员等提供不需要的警告,由此可防止混乱。
另外,例如也可以是,所述输出部在所述取得部取得了来自所述外部装置的判定结果的情况下,将与所述第1提示用信息不同的预先确定的多个相异的信息中的、根据该判定结果和是否满足警告条件而选择出的信息作为所述第2提示用信息进行输出。由此,鉴于从外部装置获得了判定结果时的进行警告的必要性,可输出适当的信息。因此,基于外部装置的判定结果,可对驾驶员等进行适当的通知。
另外,例如也可以是,所述输出部基于由所述接收部过去接收到的一个或多个帧的内容,判别是否满足所述警告条件。由此,例如,若在与当前或一定期间内近的过去接收到使得车辆的举动异常的帧的情况下满足等,则可确定警告条件,因此,可根据车辆的举动是否异常等来使通知内容发生变化。即,根据该构成,例如,可成为:在异常已被控制的状态下,能够进行不用过度引起驾驶员等注意的通知,在异常持续着的状态下,能够进行劝告驾驶员等进行停车等的通知。
另外,例如也可以是,来自所述外部装置的所述判定结果,择一地表示是否正常,所述输出部在所述取得部取得了来自所述外部装置的判定结果的情况下,将与所述第1提示用信息不同的预先确定的多个相异的信息中的、根据该判定结果是否表示正常而选择出的信息作为所述第2提示用信息进行输出。由此,在获得了外部装置的判定结果时,可输出与第1提示用信息不同的基于该判定结果的第2提示用信息。如此,在获得外部装置的判定结果的前后所输出的提示用信息可能会变化,因此,例如,可在进行基于提示用信息的显示的显示器等切换显示,对驾驶员等适当地通知信息。
另外,例如也可以是,所述取得部包括外部通信部,所述外部通信部向所述外部装置发送所述判定请求,接收根据该判定请求而从所述外部装置发送的判定结果。由此,因为安全装置能够与外部装置通信,所以不需要在车辆中设置在安全装置之外的与车辆外部进行通信的通信装置等,例如可减低通信延迟等。
另外,例如也可以是,所述输出部在所述判定部判定为满足所述预定条件的情况下,向所述车辆内的一条总线发送包含所述第1提示用信息的帧,在所述取得部取得了来自所述外部装置的判定结果的情况下,向该一条总线发送包含所述第2提示用信息的帧。由此,安全装置即使自己没有提示(显示等)提示用信息的结构,也可向与总线连接的ECU发送提示用信息并经由该ECU提示信息等,由此实现通知。
另外,例如也可以是,由所述判定部在关于帧的判定中使用的所述预定条件,是与接收间隔、差分和相关性中的至少一方有关的条件,所述接收间隔是具有与该帧相同的ID且先前被所述接收部接收到的同种先行帧与该帧之间的接收间隔,所述差分是该帧的数据的内容与该同种先行帧的数据的内容之间的差分,所述相关性是具有与该帧不同的ID且先前被所述接收部接收到的异种先行帧的内容与该帧的内容之间的相关性。由此,安全装置可适当地判定已被发送到总线的帧是否疑似攻击帧。
另外,本公开的一技术方案的网络系统,具备:上述的安全装置;所述外部装置;搭载有与所述外部装置通信的通信装置的所述车辆;所述一条或多条总线;以及经由所述一条或多条总线进行帧的授受的搭载于所述车辆的多个电子控制单元。由此,当在由多个电子控制单元(ECU)构成的车载网络中发送了疑似攻击帧的帧的情况下,通过第1提示用信息的输出来进行适当的通知,在经过一定时间后获得了位于车辆外部的外部装置的判定结果的阶段,通过第2提示用信息的输出来进行适当的通知。因此,可减低在疑似攻击帧的帧被发送了的情况下的因该帧或继该帧之后的帧引起的不良影响。
另外,例如也可以是,所述多个电子控制单元之一是具有信息提示功能的预定电子控制单元,所述输出部在所述判定部判定为满足所述预定条件的情况下,向连接有所述预定电子控制单元的总线发送包含所述第1提示用信息的帧,在所述取得部取得了来自所述外部装置的判定结果的情况下,向连接有所述预定电子控制单元的总线发送包含所述第2提示用信息的帧,所述预定电子控制单元在接收到包含所述第1提示用信息的帧的情况下,提示该第1提示用信息,在接收到包含所述第2提示用信息的帧的情况下,提示该第2提示用信息。由此,当在车载网络中发送了疑似攻击帧的帧的情况下,使得具有信息提示功能的预定电子控制单元(预定ECU)进行适当的通知(信息的提示)。
另外,例如也可以是,所述车辆具备向该车辆的外部进行报知的报知装置,所述第1提示用信息包含用于使所述报知装置进行报知的控制信息,由所述输出部进行的所述第1提示用信息的输出,包括所述第1提示用信息的向所述报知装置的发送。报知装置例如可以是汽笛、紧急闪烁显示灯(危险灯)等。由此,可能成为:在向车辆的总线发送了疑似攻击帧的帧的情况下,例如能够引起正在该车辆周围行驶的其他辆等注意。
另外,例如也可以是,所述通信装置将与由所述安全装置的所述接收部接收到的各帧有关的日志信息发送给所述外部装置,所述安全装置的所述取得部经由所述通信装置向所述外部装置发送所述判定请求,经由所述通信装置接收根据该判定请求而从所述外部装置发送的判定结果,所述外部装置在接收到所述判定请求的情况下,基于所述日志信息,判定是否在所述车辆中发送了攻击帧,由此向所述通信装置发送所述判定结果。由此,外部装置可蓄积与帧有关的日志信息,对所蓄积的日志信息进行分析来适当地进行判定。此外,在使用了帧的信息的判定中,也会存在外部装置能够判定车辆无法判定的事情的情况。例如可以是,针对车辆无法蓄积相对大量的日志信息的情况、该车辆以外的车辆中没有日志信息等情况,外部装置可收集多个车辆的日志信息来大量地蓄积日志信息。
另外,例如也可以是,所述外部装置从所述车辆的外部观测该车辆的动作,判定该车辆的动作是否正常,由此向所述通信装置发送所述判定结果。由此,通过外部装置判定车辆无法判定的事情,可适当地判定该车辆的动作是否正常。并且,在该车辆中可利用外部装置的判定结果来适当地判定是否正在被攻击。因此,当在该车辆中发送了疑似攻击帧的帧的情况下,可通过该车辆来进行适当的通知。
另外,例如也可以是,所述外部装置是在所述判定部判定为满足所述预定条件的情况下位于所述车辆周围的其他车辆。由此,当在车辆中发送了疑似攻击帧的帧的情况下,该车辆通过向周围的其他车辆发送判定请求并获得判定结果,由此可进行适当的通知。
另外,本公开的一技术方案的攻击检测方法,是在多个电子控制单元经由一条或多条总线进行帧的授受的车载网络系统中使用的攻击检测方法,包括:接收步骤,从所述总线接收帧;判定步骤,针对通过所述接收步骤接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧;第1提示步骤,在通过所述判定步骤判定为满足所述预定条件的情况下,提示第1提示用信息;取得步骤,在通过所述判定步骤判定为满足所述预定条件的情况下,进行控制以向位于所述车辆外部的外部装置传达判定请求,取得根据该判定请求而从该外部装置传达的判定结果;以及第2提示步骤,在通过所述取得步骤取得了来自所述外部装置的判定结果的情况下,提示第2提示用信息。由此,在车辆中的由多个电子控制单元(ECU)构成的车载网络系统中疑似攻击帧的帧已被发送到总线的情况下,进行第1提示用信息的提示,在经过一定时间后获得了位于车辆外部的外部装置的判定结果的阶段,进行第2提示用信息的提示。车辆的驾驶员等能够识别第1提示用信息以及第2提示用信息。因此,可减低在疑似攻击帧的帧被发送了的情况下的因该帧或继该帧之后的帧产生的不良影响。
此外,这些概括性或具体的技术方案既可以通过系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序和记录介质的任意组合来实现。
以下,参照附图对包括作为实施方式的安全装置的一例的网关装置的网络系统进行说明。在此所示的实施方式都表示本公开的一具体例。因此,以下的实施方式中示出的数值、构成要素、构成要素的配置及连接形态、步骤(工序)以及步骤的顺序等是一例,并非限定本公开的意思。关于以下的实施方式中的构成要素中的未记载在独立权利要求中的构成要素,是能够任意附加的构成要素。另外,各图是示意图,不一定严格图示。
(实施方式1)
以下,对作为供搭载于车辆的多个电子控制单元(ECU)经由总线进行通信的车载网络(车载网络系统)中的安全装置的网关、包括该车辆和外部装置的网络系统、以及在该网络系统中使用的攻击检测方法进行说明。攻击检测方法是如下方法:检测在搭载于车辆的各ECU间的通信中使用的总线上发送了作为不正常帧的攻击帧(包括存在可疑的帧)这一情况,进行用于与检测结果相应的通知的输出。搭载于车辆的车载网络中的安全装置(例如网关装置),是至少具有与攻击检测方法关联的用于检测攻击的功能的装置。
在此,以网关装置为中心对网络系统进行说明,所述网关装置在判定为已被发送到汽车内的总线的帧有可能是不正常帧(攻击帧)且因该帧而导致汽车有可能会发生驾驶员未计划的动作时,迅速地向驾驶员进行通知,进一步,在通过接收由汽车外部的服务器作出的判定结果而能够判别是否为攻击帧时,根据汽车的举动来决定通知内容,向驾驶员进行通知。
[1.1网络系统100的整体构成]
图1是表示本实施方式的网络系统100的整体构成的图。
网络系统100由汽车500、服务器400、成为该汽车500与服务器400之间的通信路的网络10构成。网络10可包括互联网等。
汽车500具备车载网络,该车载网络与车内的控制装置、传感器、致动器、用户接口装置等各种设备连接,包括经由车内的总线进行涉及帧的通信的多个电子控制单元(ECU)而构成。在汽车500内的车载网络中,各ECU遵循CAN协议进行通信。CAN协议的帧有数据帧、远程帧、过载帧以及错误帧,但在此主要着眼于数据帧来进行说明。此外,在CAN中,数据帧被规定为包括保存ID(消息ID)的ID域、表示数据长度的DLC(Data Length Code,数据长度码)、保存数据的数据域等。
具体而言,车载网络如图1所示,具有搭载于汽车500的CAN总线A101、CAN总线B102以及CAN总线C103。在CAN总线A101上,连接有方向盘ECU200、速度通知ECU210、白线角度通知ECU220和网关300。在CAN总线B102上,连接有自动操舵指示ECU230和网关300。在CAN总线C103上,连接有主机单元ECU240和网关300。此外,在车载网络中,除了图1所示的ECU之外,还可包括许多ECU,但在此,为了方便而着眼于网关300、方向盘ECU200、速度通知ECU210、白线角度通知ECU220、自动操舵指示ECU230以及主机单元ECU240来进行说明。网关300也是一种ECU。ECU例如是包括处理器(微处理器)、存储器等数字电路、模拟电路、通信电路等的装置。存储器是ROM、RAM等,能够存储由处理器执行的控制程序(作为软件的计算机程序)。例如通过处理器按照控制程序(计算机程序)进行工作,ECU会实现各种功能。此外,计算机程序是为了实现预定功能而组合多个表示对处理器的指令的命令码而构成的。此外,网关300具备用于与汽车500外部的服务器400通信的通信装置(通信电路等)。
方向盘ECU200、速度通知ECU210、白线角度通知ECU220取得各自连接的设备(传感器等)的状态,周期性地将表示状态的帧(数据帧)发送到CAN总线(CAN总线A~C的某一个)。网关300在总线间进行数据帧的转送。自动操舵指示ECU230在接收到白线角度通知ECU220所发送的白线的角度所涉及的帧时,为了基于该帧进行调整以使汽车500沿着白线行进,将用于向方向盘ECU200指示下一个方向盘角度的帧发送到CAN总线B102。
网关(网关装置)300基于所保持的接收ID列表(消息ID的列表)来确认所接收到的帧的ID,进行帧的过滤(filtering)。另外,网关300具有用于通过监视在总线上流动的帧来检测攻击的功能,将从所接收到的帧中提取出的日志信息发送给服务器400。另外,网关300基于所接收到的帧是否满足与按每个ID预先确定的接收周期、帧内的数据的变化量等有关的判断条件,判定是否为不正常地发送的存在可疑的帧(即疑似攻击帧的帧),在判定为疑似攻击帧的帧的情况下向服务器400请求(委托)进行判定。
网关300例如在从CAN总线B102接收疑似攻击帧的帧、并且基于预先确定的警告条件判定为因该帧的转送例如会在方向盘ECU200中作出控制等而导致汽车500有可能会发生驾驶员未计划的动作的情况下,在向主机单元ECU240指示了警告(向驾驶员通知警告的显示等)之后,进行该帧的向CAN总线A101的转送。
接收到来自网关300的判定请求(判定委托)的服务器400,使用至今所接收并蓄积的日志信息,针对判定请求所涉及的帧,基于接收周期等来进行是正常还是异常的判定,将判定结果返回给网关300。网关300根据来自服务器400的判定结果和当前的汽车500的状态(方向盘角度、汽车500的速度等),决定向驾驶员的通知内容并向主机单元ECU240进行指示。主机单元ECU240接收来自网关300的指示,例如在设置于仪表板等的显示器等进行通知(切换向驾驶员通知的显示)。图2中示出了这样的网络系统100的工作例。关于工作的详细情况,在后面进行说明。
[1.2ECU]
在此,针对各ECU,说明它们的构成和要生成的帧的内容。此外,对在ECU间相同的构成要素标注相同的标号,适当省略说明。
方向盘ECU200以10ms的周期定期地发送ID1的帧。在此,将ID为1这一情况表述为ID1,将ID为2、3、4、5分别表述为ID2、ID3、ID4、ID5。此外,10ms的周期是一例,也可以决定任意的值并进行发送。ID1的帧包含表示操舵角(方向盘的当前角度)的数据。另外,方向盘ECU200在接收到从自动操舵指示ECU230发送的ID4的帧时,按照帧内的数据所表示的方向盘的操舵指示角度,控制方向盘角度。
速度通知ECU210以10ms的周期定期地发送ID2的帧。ID2的帧包含表示当前的汽车速度的数据。
白线角度通知ECU220以10ms的周期定期地发送ID3的帧。ID3的帧包含表示白线角度(即,作为车体前后方向的行进方向与白线的角度差)的数据。
自动操舵指示ECU230以10ms的周期定期地发送ID4的帧。ID4的帧包含指示自动操舵角(即下一个方向盘角度)的数据。
主机单元ECU240在接收到从网关300发送的ID5的帧时,根据帧内的数据所表示的显示内容,进行例如在仪表板等的显示器上的显示内容的切换。
[1.2.1由各ECU生成的帧]
图3是表示由各ECU生成的帧(数据帧)的一例的图。按每个ID预先确定了DLC的值。另外,数据域中的数据所表示的内容按每个ID而预先确定。关于该数据等的规格,并不是由CAN协议规定的,例如成为取决于汽车500的车型、制造者(制造商)等的规格。
在此,ID1的帧表示汽车500当前的操舵角,DLC是2。在图3中,对数据以十六进制数进行了表述,数据的1位表示4bit的值。ID1的帧的数据用开头的1位来表示方向盘当前正转向左右的哪方。0表示左,1表示右。将轮胎成为与车辆前后方向一致的方向时的方向盘角度设为0度,用数据的后边的3位来表示0~360度。ID2的帧表示汽车500当前的速度,DLC是2。数据用2位表示当前的速度。ID3的帧表示作为汽车500的行进方向与道路面的白线方向的角度差的白线角度,DLC是2。ID3的帧的数据的表示方法与ID1的帧同样。ID4的帧是自动操舵指示(自动地控制方向盘的指示)的帧,表示汽车500的自动操舵角,DLC是2。ID4的帧的数据的表示方法与ID1的帧同样。ID5的帧表示指定在由主机单元ECU240进行的显示的切换中使用的显示内容的编号(显示切换信号),DLC是1。ID5的帧的数据用2位来指定显示内容。关于具体的显示内容(画面表示)以及指定显示内容的编号,后面使用图9~图13进行说明。
[1.2.2方向盘ECU]
图4是方向盘ECU200的构成图。方向盘ECU200如该图所示,构成为包括帧收发部201、帧解释部202、接收ID判断部203、接收ID列表保持部209、帧生成部208、控制部205、自动操舵用马达206以及方向盘传感器207。
帧收发部201在从所连接的CAN总线接收到帧时向帧解释部202发送,另外,在接收到由帧生成部208生成的帧时,将所接收到的帧发送到所连接的CAN总线。
帧解释部202在从帧收发部201接收到的帧中,将ID、DLC、数据分别区分地提取,将ID发送给接收ID判断部203。帧解释部202在从接收ID判断部203接收到是应接收的ID这一结果时,将ID、DLC以及数据发送给控制部205,在接收到不是应接收的ID这一结果时将帧丢弃。
接收ID判断部203在从帧解释部202接收到ID时,基于由接收ID列表保持部209保持的接收ID列表来判断是否为应接收的ID,将该结果返回给帧解释部202。
接收ID列表保持部209保持用于供接收ID判断部203判断是否为应接收的ID的接收ID列表。在方向盘ECU200中,保持对表示自动操舵角的ID4的帧进行接收的接收ID列表。
控制部205如果通过确认所接收到的帧的ID而确认该帧是自动操舵指示的帧(ID4的帧),则参照由方向盘传感器207获得的当前的方向盘角度来进行自动操舵用马达206的控制。
自动操舵用马达206根据来自控制部205的指示使方向盘动作。
方向盘传感器207以每10ms一次的周期取得汽车500的方向盘角度,传达给控制部205和帧生成部208。
帧生成部208每10ms生成包含从方向盘传感器207传达来的表示汽车500的方向盘角度的数据在内的ID1的帧,发送给帧收发部201。
[1.2.3速度通知ECU]
图5是速度通知ECU210的构成图。速度通知ECU210如该图所示,构成为包括帧收发部201、帧生成部218以及速度传感器211。
速度传感器211以每10ms一次的周期将汽车500的速度传达给帧生成部218。
在帧生成部218中,每10ms生成包含从速度传感器211传达来的表示汽车500的速度的数据在内的ID2的帧,发送给帧收发部201。
帧收发部201在接收到由帧生成部218生成的帧时,将所接收到的帧发送到所连接的CAN总线。
[1.2.4白线角度通知ECU]
图6是白线角度通知ECU220的构成图。白线角度通知ECU220如该图所示,构成为包括帧收发部201、帧生成部228以及白线角度检测传感器221。
白线角度检测传感器221以一定的周期将汽车500的车体的前后方向即行进方向与道路面的白线的角度差传达给帧生成部228。
帧生成部228每10ms,生成包含从白线角度检测传感器221传达来的表示汽车500与白线的角度差的数据在内的ID3的帧,发送给帧收发部201。
帧收发部201在接收到由帧生成部228生成的帧时,将所接收到的帧发送到所连接的CAN总线。
[1.2.5自动操舵指示ECU]
图7是自动操舵指示ECU230的构成图。自动操舵指示ECU230如该图所示,构成为包括帧收发部201、帧解释部202、接收ID判断部203、接收ID列表保持部239、帧生成部238以及控制部231。
接收ID列表保持部239为了将来自方向盘ECU200的表示方向盘角度的ID1的帧以及来自白线角度通知ECU220的表示白线角度的ID3的帧判断为是由接收ID判断部203接收的帧,而保持包含ID1以及ID3的接收ID列表。
控制部231基于从帧解释部202接收到的帧中的、ID1的帧的数据所表示的操舵角以及ID3的帧的数据所表示的白线角度(汽车500的行进方向与道路面的白线的方向之间的角度差),决定并指示下一个方向盘角度。例如,在白线角度(角度差)向左10度的情况下,例如,将下一个方向盘角度决定为向左10度等,使帧生成部238生成指示该决定的角度的帧。
帧生成部238每10ms,生成包含表示由控制部231决定的角度(自动操舵角)的数据在内的ID4的帧,发送给帧收发部201。
[1.2.6主机单元ECU]
主机单元ECU240例如在包含车载导航等的功能并设置于仪表板等的显示器进行各种显示,可使驾驶员识别信息。
图8是主机单元ECU240的构成图。主机单元ECU240如该图所示,构成为包括帧收发部201、帧解释部202、接收ID判断部203、接收ID列表保持部249、显示部241以及显示内容保持部241a。
接收ID列表保持部249为了将来自网关300的表示显示切换信号的ID5的帧判断为是由接收ID判断部203接收的帧,而保持包含ID5的接收ID列表。
显示部241具有在显示器画面进行各种显示的功能,在由帧收发部201接收到来自网关300的表示与显示内容对应的编号(显示切换信号)的ID5的帧的情况下,基于由显示内容保持部241a保持的显示内容表来确定显示内容并切换显示器画面的显示。
显示内容保持部241a存储显示内容表。
图9是表示显示内容保持部241a存储的显示内容表的一例的图。显示内容表使从网关300接收的ID5的帧的数据所表示的编号(显示切换信号)与显示内容相关联。根据该显示内容表,显示部241在接收到的ID5的帧的数据所表示的编号为1的情况下,将作为无异常通知的显示内容(表示没有异常之意的消息等)显示于显示器。另外,在接收到的ID5的帧的数据所表示的编号为2的情况下,显示部241将作为警告通知的显示内容(促使注意驾驶员未计划的、汽车500的动作的消息等)显示于显示器。另外,在接收的ID5的帧的数据所表示的编号为3的情况下,显示部241将作为攻击检测通知的显示内容(检测到在车载网络中发送了攻击帧之意的消息等)显示于显示器。另外,在接收到的ID5的帧的数据所表示的编号为4的情况下,显示部241将作为停车劝告的显示内容(劝告使汽车500停车的消息等)显示于显示器。
以下,使用图10~图13对上述的显示部241的具体的画面显示例进行说明。
图10表示主机单元ECU240中的警告通知的显示例。以通过主机单元ECU240将表示基于车载导航功能的道路地图上的汽车500的位置的画面242a显示于显示器的状态作为前提。并且,在该状态下,当主机单元ECU240接收到包含设编号为2的数据在内的ID5的帧时,主机单元ECU240使警告通知所涉及的画面242b显示于显示器。对于包含设编号为2的数据在内的ID5的帧,当在CAN总线间转送了会引起驾驶员未计划的汽车500的动作的帧时,被从网关300发送到CAN总线C103。
图11表示主机单元ECU240中的无异常通知的显示例。当主机单元ECU240使上述的画面242b显示于显示器之后,接收到包含设编号为1的数据在内的ID5的帧时,主机单元ECU240使无异常通知所涉及的画面242c显示于显示器。对于包含设编号为1的数据在内的ID5的帧,在基于服务器400中的判定结果而判定为没有发送攻击帧时,被从网关300发送到CAN总线C103。
图12表示主机单元ECU240中的攻击检测通知的显示例。当主机单元ECU240使上述的画面242b显示于显示器之后,接收到包含设编号为3的数据在内的ID5的帧时,主机单元ECU240使攻击检测通知所涉及的画面242d显示于显示器。对于包含设编号为3的数据在内的ID5的帧,在基于服务器400中的判定结果而判定为发送了攻击帧、且当前确认到在汽车500中没有发生驾驶员未计划的动作时,被从网关300发送到CAN总线C103。
图13表示主机单元ECU240中的停车劝告的显示例。当主机单元ECU240使上述的画面242b显示于显示器之后,接收到包含设编号为4的数据在内的ID5的帧时,主机单元ECU240使停车劝告所涉及的画面242e显示于显示器。对于包含设编号为4的数据在内的ID5的帧,在基于服务器400中的判定结果而判定为发送了攻击帧、且当前也确认到在汽车500中发生了驾驶员未计划的动作时,被从网关300发送到CAN总线C103。
[1.3网关]
图14是网关300的构成图。此外,在该图中附记了服务器400。网关300执行总线间的帧转送的功能,也作为具有用于检测攻击的功能的安全装置发挥功能。因此,网关300如图14所示,构成为包括帧收发部301、帧解释部302、外部通信部303、接收ID判断部302a、接收ID列表保持部302b、确认部305、格式规则保持部305a、判断部306、判断规则保持部306a、通知部307、警告规则保持部307a、状态存储部307b、通知规则保持部307c、转送部308、转送规则保持部308a以及帧生成部304。这些各构成要素通过网关300中的通信电路、执行存储器所保存的控制程序的处理器或者数字电路等来实现。
帧收发部301在从CAN总线A101、CAN总线B102以及CAN总线C103的任一方接收到帧时向帧解释部302发送。另外,帧收发部301在接收到由帧生成部304生成的帧时,向由转送部308决定的总线发送所接收到的帧。
帧解释部302在从帧收发部301接收到的帧中,将ID、DLC、数据分别区分地提取,将ID、DLC以及数据发送给外部通信部303,将ID发送给接收ID判断部302a。帧解释部302在从接收ID判断部302a接收到是应接收的ID这一结果时,将ID、DLC以及数据发送给确认部305和状态存储部307b,在接收到不是应接收的ID这一结果时,将帧丢弃。
状态存储部307b从帧解释部302接收ID、DLC以及数据,存储ID和数据。状态存储部307b例如在存储器等存储介质中,可按每个ID存储过去接收到的多次(例如2次)的数据。对于状态存储部307b存储的数据等,为了在通知部307中通知汽车500当前的状态而参照。关于在状态存储部307b中存储的数据,后面使用图21来说明具体例。
外部通信部303可作为通信装置发挥功能。外部通信部303在从帧解释部302接收到ID、DLC以及数据时,将其作为日志信息发送给服务器400。另外,当从判断部306接收到判定请求(判定委托)时,将判定请求发送给服务器400。判定请求例如包含表示网关300的通信地址等的信息。当从服务器400接收到与判定请求相应的判定结果时,将判定结果传达给通知部307。
接收ID判断部302a在从帧解释部302接收到ID时,基于由接收ID列表保持部302b保持的接收ID列表来判断是否为应接收的ID,将该结果返回给帧解释部302。
接收ID列表保持部302b保持为了供接收ID判断部302a判断是否为应接收的ID而使用的接收ID列表。关于该接收ID列表,后面使用图15来说明。
确认部305在从帧解释部302接收到ID、DLC以及数据时,基于由格式规则保持部305a保持的格式规则来确认(判定)ID、DLC以及数据是否不正常。确认部305在判定为所接收到的ID、DLC以及数据不是不正常的情况下将该ID、DLC以及数据发送给判断部306,在此之外的情况下,不将ID、DLC以及数据传达给判断部306而丢弃。
格式规则保持部305a保持成为用于在确认部305中判定(确认)所接收到的ID、DLC以及数据是否正规的基准的格式规则。格式规则也可以说是规定了不正常帧所满足的不正常条件。对于由确认部305确认到不符合不正常条件的帧,被网关300在总线间转送,由确认部305确认到符合不正常条件的帧不会被转送(被丢弃)。关于格式规则,后面使用图16来说明。
判断部306在从确认部305接收到ID、DLC以及数据时,基于是否满足由判断规则保持部306a保持的判断规则所表示的预定条件,判定是否应向服务器400发出判定请求(即,该ID、DLC以及数据所涉及的帧是否为疑似攻击帧的帧)。在判断部306判定为应向服务器400发出判定请求的情况下,将判定请求发送给外部通信部303,在发送该判定请求时将ID、DLC以及数据发送给通知部307。判断部306在未判定为应向服务器400发出判定请求的情况(即,相应的帧未被判定为疑似攻击帧的帧的情况)下,将ID、DLC以及数据发送给转送部308。
判断规则保持部306a保持表示在判断部306中所接收到的ID、DLC以及数据所涉及的帧是否为疑似攻击帧的帧(是否应向服务器发出判定请求)的判断条件(预定条件)的判断规则。关于判断规则,后面使用图17来说明。
通知部307在从判断部306接收到ID、DLC以及数据时,基于是否满足由警告规则保持部307a保持的警告规则所表示的警告条件,判定是否因网关300转送所接收到的帧而导致汽车500有可能会发生驾驶员未计划的动作。通知部307在判定为有可能会发生驾驶员未计划的动作的情况(即判定为满足警告条件的情况)下,将用于生成表示向主机单元ECU240指示警告通知的编号(通知切换信号)的ID5的帧的信息和所接收到的ID、DLC以及数据发送给转送部308。通知部307在判定为不可能会发生驾驶员未计划的动作的情况(即判定为不满足警告条件的情况)下,将所接收到的ID、DLC以及数据发送给转送部308。另外,通知部307在从外部通信部303接收到从服务器400接收到的判定结果时,对当前的汽车500的状态参照状态存储部307b,基于是否满足警告规则所表示的警告条件,按照通知规则来决定通知内容所涉及的编号,将用于生成表示向主机单元ECU240指示该通知内容的编号(通知切换信号)的ID5的帧的信息发送给转送部308。
警告规则保持部307a保持表示警告条件的警告规则,所述警告条件用于通过在通知部307中转送所接收到的ID、DLC以及数据所涉及的帧来判定汽车500是否有可能会发生驾驶员未计划的动作、或者在接收到来自服务器400的判定结果时汽车500是否处于有可能会发生驾驶员未计划的动作的状态。关于警告规则,后面使用图18来说明。
通知规则保持部307c保持成为用于根据由通知部307接收到的来自服务器400的判定结果和当前的汽车500的状态来决定通知内容的基准的通知规则。关于通知规则,后面使用图19来说明。
转送部308在从判断部306或者通知部307接收到ID、DLC以及数据时,基于由转送规则保持部308a保持的转送规则,将向按每个ID确定的总线发送的指示和与所接收到的ID、DLC以及数据对应的帧的生成指示发送给帧生成部304。在从通知部307接收到用于生成向主机单元ECU240的指示所涉及的ID5的帧的信息的情况下,将向CAN总线C103发送的指示和该ID5的帧的生成指示发送给帧生成部304。
转送规则保持部308a保持表示应该将由转送部308接收到的ID发送给哪条总线的转送规则。关于转送规则,后面使用图20来说明。
帧生成部304根据从转送部308接收到的帧的生成指示来生成帧,将生成的帧和向所指定的总线发送的指示发送给帧收发部301。
[1.3.1网关中的接收ID列表]
图15是表示接收ID列表的一例的图。接收ID列表按与网关300连接的每条总线(CAN总线A101、CAN总线B102以及CAN总线C103)表示能够接收的帧的ID。网关300在接收到该接收ID列表中未示出的ID的帧的情况下将该帧丢弃(关于该帧,不进行总线间的转送)。
图15的例子的接收ID列表表示:能够从CAN总线A101接收的帧的ID为1、2、3,能够从CAN总线B102接收的帧的ID为4。
[1.3.2格式规则]
图16是表示格式规则的一例的图。格式规则按帧的每个ID,规定了正规帧的DLC和数据域内的数据所表示的值的范围。网关300按照格式规则来判定是否为正规帧(是否不是不正常帧),在接收到不正常帧的情况下,将该帧丢弃(关于该帧,不进行总线间的转送)。
根据图16的例子的格式规则,网关300针对ID1的帧,仅将DLC为2、且数据域内的数据所表示的操舵角的值的范围为-360~360的帧判定为正规帧,将其他的帧判定为不正常帧。
[1.3.3判断规则]
图17是表示判断规则的一例的图。判断规则表示用于判定所接收到的帧是否为疑似攻击帧的帧(即是否应向服务器400发出判定请求)的预定条件。图17的例子的判断规则按帧的每个ID,表示数据域内的数据所表示的值的变化量的绝对值的阈值、对帧规定的周期等。该变化量的绝对值的阈值是所接收到的帧的数据域的数据所表示的值与上次接收到与该帧相同ID的帧的数据域的数据所表示的值之差的绝对值的上限。例如,在超过该上限的情况下满足预定条件,将所接收到的帧判定为疑似攻击帧的帧(即,判定为需要由位于汽车500外部的外部装置进行判定)。即,网关300在关于所接收到的帧与其上次接收到的帧的关系上变化量超过上限的情况下,判定为该接收到的帧为疑似攻击帧的帧,向服务器400发出判定请求。另外,关于帧的所规定的周期是与所接收到的帧和上次接收到与该帧相同ID的帧的接收间隔有关的基准(规定周期)。例如,在从该基准偏离预定余裕(例如正负1ms等)的范围的情况下满足预定条件,将所接收到的帧判定为疑似攻击帧的帧(即,判定为需要由位于汽车500外部的外部装置进行判定)。即,网关300在关于所接收到的帧与其上次接收到的帧的接收间隔从该基准偏离预定余裕的范围的情况下,判定为该接收到的帧为疑似攻击帧的帧,向服务器400发出判定请求。
根据图17的例子的判断规则,网关300在针对ID1的帧的数据所表示的操舵角,在从上次起的更新中变化量的绝对值超过了200的情况下、或者以比(规定周期10ms-预定余裕)短的接收间隔或比(规定周期10ms+预定余裕)长的接收间隔接收到ID1的帧的情况下,判定为是不正常地发送的存在可疑的帧(疑似攻击帧的帧)(即判定为需要由外部的服务器400进行判定)。此外,在网关300中,为了确定接收间隔,可按每个ID存储所接收到的帧的接收时刻。
[1.3.4警告规则]
图18是表示警告规则的一例的图。警告规则表示用于判定汽车500是否处于有可能会发生驾驶员未计划的动作的状态的警告条件。图18的例子的警告规则按帧的每个ID,表示数据域内的数据所表示的值的变化量的绝对值的阈值等。该变化量的绝对值的阈值是通过帧而更新的值与更新前的值之差的绝对值的上限。例如,在超过该上限的情况下满足警告条件,判定为汽车500处于有可能会发生驾驶员未计划的动作的状态。即,网关300在接收到帧时,当在关于接收到的帧与其上次接收到的帧的关系上变化量超过上限的情况下,判定为汽车500处于有可能会发生驾驶员未计划的动作的状态,会将ID5的帧发送给主机单元ECU240。另外,网关300在接收到来自服务器400的判定结果时,例如根据关于状态存储部307b所存储的最后接收到的帧与其上次接收到的帧的关系上变化量是否超过上限,判定汽车500是否处于有可能会发生驾驶员未计划的动作的状态,根据该判定等来决定通知内容并将ID5的帧发送给主机单元ECU240。
根据图18的例子的警告规则,网关300在关于表示操舵角的ID1的帧的数据、通过从上次起的更新而变化量的绝对值超过了90的情况、或者关于表示汽车的速度的ID2的帧的数据、通过从上次起的更新而变化量的绝对值超过了50的情况下,判定为汽车500处于有可能会发生驾驶员未计划的动作的状态。
[1.3.5通知规则]
图19表示成为决定向主机单元ECU240指示的通知内容的基准的通知规则的一例。在图19的通知规则中,由服务器400进行判定前的情况、从服务器400得到了不正常(异常)的判定结果的情况、和得到了正常的判定结果的情况,通知内容是有区别的。此外,在由服务器400进行判定前的情况下,满足警告规则所表示的警告条件这一情况成为决定通知部307的通知内容的前提。另外,在从服务器400得到了不正常(异常)的判定结果的情况下,满足了警告规则所表示的警告条件时(需要警告时)和不满足警告条件时(不需要警告时),通知内容是有区别的。
根据图19的例子的通知规则,网关300在判定为需要警告而由服务器400进行判定前,会将包含表示指示警告通知的第2个(参照图9)通知切换信号的数据在内的ID5的帧发送给主机单元ECU240。另外,网关300在从服务器400获得了异常的判定结果时判定为需要警告的情况下,会将包含表示指示停车劝告的第4个通知切换信号的数据在内的ID5的帧发送给主机单元ECU240。另外,网关300在从服务器400获得了异常的判定结果时判定为不需要警告的情况下,会将包含表示指示攻击检测通知的第3个通知切换信号的数据在内的ID5的帧发送给主机单元ECU240。另外,网关300在从服务器400获得了正常的判定结果的情况下,会将包含表示指示无异常通知的第1个通知切换信号的数据在内的ID5的帧发送给主机单元ECU240。
[1.3.6转送规则]
图20是表示转送规则的一例的图。转送规则示出了仅在从转送源总线接收到对象ID的帧的情况下应该转送这一情况和用于该转送的转送目的地总线。不进行未在转送规则中以对象ID和转送源总线的组示出的转送。
根据图20的例子的转送规则,网关300例如在从CAN总线A101接收到ID1的帧的情况下,向CAN总线B102和CAN总线C103转送该帧。另外,ID5的帧是从网关300发送的帧,因此在图20的转送规则中不存在对应的转送源总线。
[1.3.7在状态存储部307b中存储的数据]
图21是表示在状态存储部307b中存储的数据的一例的图。在状态存储部307b中,按每个ID存储网关300过去接收到的多次的帧的ID以及数据。此外,在图21中为了方便而按每个ID示出了过去接收到的一个数据。在该例中,当前存储的ID1的帧所涉及的数据所表示的操舵角(方向盘角度)的值是5,ID2的帧所涉及的数据所表示的汽车的速度的值是40,ID3的帧所涉及的数据所表示的白线角度的值是-8,ID4的帧所涉及的数据所表示自动操舵角(方向盘的自动操舵指示所涉及的角度)的值是5。
[1.3.8网关中的帧接收对应处理]
图22是表示网关300中的帧接收对应处理的一例的流程图。以下,结合该图对帧接收对应处理进行说明。
网关300从某一条总线接收帧,对帧进行解释(步骤S301)。网关300将帧内的ID、DLC以及数据作为日志信息发送给服务器400(步骤S302)。
接着,网关300使用格式规则来确认所接收到的帧是否为正规帧(步骤S303)。在不是正规帧的情况(即为不正常帧的情况)下,网关300将接收到的帧丢弃(步骤S304),结束帧接收对应处理。此外,也可以将网关300构成为:在确认到是不正常帧的情况下,网关300为了向驾驶员等通知不正常检测之意而向主机单元ECU240发送表示应通知进行攻击检测的指示的帧。
在步骤S303中通过格式规则确认为所接收到的帧正规的情况下,网关300使用判断规则来判定是否需要在服务器400中进行判定(是否为疑似攻击帧的帧)(步骤S305)。
在通过步骤S305判定为不需要在服务器400中进行判定(不是疑似攻击帧的帧)的情况下,网关300按照转送规格来转送所接收到的帧(步骤S306),结束帧接收对应处理。
在通过步骤S305判定为需要在服务器400中进行判定(是疑似攻击帧的帧)的情况下,网关300向服务器400发送判定请求(判定委托)(步骤S307)。
接着,网关300使用警告规则来判定是否会因转送所接收到的帧而导致汽车500处于有可能会发生驾驶员未计划的动作的状态(是否需要警告)(步骤S308)。
在通过步骤S308判定为需要警告(汽车500处于有可能会发生驾驶员未计划的动作的状态)的情况下,网关300生成用于使主机单元ECU240进行警告通知的ID5的帧(步骤S309),向CAN总线C103发送该帧(步骤S310)。
在通过步骤S308判定为不需要警告(汽车500不处于有可能会发生驾驶员未计划的动作的状态)的情况下、或者在通过步骤S310发送了帧之后,网关300按照转送规则来转送所接收到的帧(步骤S311)。
[1.3.9网关中的判定结果接收对应处理]
图23是表示网关300中的判定结果接收对应处理的一例的流程图。以下,结合该图对判定结果接收对应处理进行说明。
网关300在从服务器接收到判定结果时,判定是否为异常(不正常帧)的判定结果(步骤S321)。
在通过步骤S321判定为是异常的判定结果的情况下,网关300使用状态存储部307b所存储的数据,基于警告规则来判定当前汽车500是否处于有可能会发生驾驶员未计划的动作的状态(例如在刚刚之前发生了未计划的动作的状态等)(步骤S322)。
在通过步骤S322判定为汽车500处于有可能会发生驾驶员未计划的动作的状态的情况下,网关300生成指示由主机单元ECU240向驾驶员通知停车劝告的ID5的帧(步骤S323)。接着,网关300将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S324),结束判定结果接收对应处理。
在通过步骤S322判定为汽车500不处于有可能会发生驾驶员未计划的动作的状态的情况下,网关300生成指示由主机单元ECU240向驾驶员通知攻击检测通知的ID5的帧(步骤S325)。接着,网关300将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S324),结束判定结果接收对应处理。
另外,在通过步骤S321判定为是正常的判定结果的情况下,网关300生成指示由主机单元ECU240向驾驶员通知无异常通知的ID5的帧(步骤S326)。接着,网关300将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S324),结束判定结果接收对应处理。
[1.4服务器]
服务器400位于汽车500的外部,是包括处理器(微处理器)、存储器、硬盘等存储介质、通信电路等的计算机。存储器是ROM、RAM等,能够存储由处理器执行的控制程序(作为软件的计算机程序)。
图24是服务器400的构成图。此外,在该图中附记了网关300。如该图所示,服务器400构成为包括接收部401、判断部402、日志存储部403、不正常判定部404以及发送部405。这些各构成要素通过服务器400中的通信电路、执行存储器所保存的控制程序的处理器等来实现。
接收部401接收从网关300发送的作为ID、DLC以及数据的组的日志信息、或者判定请求(判定委托)。
判断部402在接收部401接收到作为ID、DLC以及数据的组的日志信息的情况下,将该日志信息发送给日志存储部403。另外,判断部402在接收部401接收到判定请求的情况下,向不正常判定部404作出应该判定是不正常(异常)还是正常之意的指示。
日志存储部403在从判断部402接收到作为ID、DLC以及数据的组的日志信息时,将该日志信息与进行了接收的时刻相关联地存储。根据来自不正常判定部404的指示,发送所存储的时刻、ID、DLC以及数据。此外,日志信息也可以是包含在网关300侧接收到ID、DLC以及数据所涉及的帧的接收时刻而从网关300发送的日志信息,该情况下,服务器400简单地存储包含接收时刻的日志信息即可。
不正常判定部404在从判断部402接收到判定是不正常(异常)还是正常的指示时,通过向日志存储部403发送指示而取得日志信息,基于该日志信息来判定是不正常(异常)还是(正常)。
发送部405将不正常判定部404的判定结果发送给网关300。
[1.4.1服务器中的异常判定处理]
图25是表示服务器400中的异常判定处理的一例的流程图。此外,这只不过是在服务器400中与来自网关300的判定请求对应地进行的判定的一例,服务器400可进行使用任意判定方法的判定。
服务器400通过参照日志存储部403来取得成为判定请求的契机的帧所涉及的信息,根据与该帧的ID对应的过去的接收时刻来确认该帧的接收周期(步骤S701)。然后,服务器400基于所蓄积的至今为止的日志信息,与相同ID的帧的过去的接收周期中的最小(短)的周期进行比较,判定成为判定请求的契机的帧与上次的帧的接收间隔即周期是否比上述最小的周期小(步骤S702)。然后,在成为判定请求的契机的帧与上次的帧的接收间隔即周期小的情况下,服务器400判定为不正常(异常)(步骤S703),在其他情况下判定为正常(步骤S704)。
[1.4.2服务器的工作]
图26是表示服务器400的工作例的流程图。
服务器400判别所接收到的内容是判定请求(判定委托)还是日志信息(ID、DLC以及数据的组)(步骤S401)。
在接收到判定请求的情况下,服务器400进行对判定请求所涉及的帧是不正常(异常)还是正常进行判定的异常判定处理(图25)(步骤S700)。接着,服务器400判别异常判定处理的结果(步骤S402),在通过异常判定处理判定为正常的情况下,将正常的判定结果发送给网关300(步骤S403)。另外,在通过异常判定处理判定为异常的情况下,将异常(不正常)的判定结果发送给网关300(步骤S404)。
另外,在通过步骤S401判别为接收到日志信息的情况下,服务器400对作为ID、DLC以及数据的组的日志信息关联进行了接收的时刻,蓄积于存储器、硬盘等存储介质(步骤S405)。
[1.5网络系统的工作所涉及的时序]
图2是表示网络系统100的工作例的时序图。在该例中,使用在网关300向服务器400发送的日志信息中包含网关300中的帧的接收时刻的例子来说明。
网关300在从所连接的各总线接收到帧时(步骤S1),提取ID、DLC、数据,与接收时刻关联地作为日志信息,向服务器400进行日志信息的发送(步骤S2)。
服务器400在从网关300接收到日志信息时将该日志信息蓄积于存储介质(步骤S3)。
网关300确认从各总线接收到的帧是否为正规的格式(是否为不正常帧)(步骤S4)。在确认为是不正常帧的情况下,网关300将该帧丢弃,抑制转送(步骤S5)。
在通过步骤S4确认为是正规格式的帧的情况下,网关300针对该帧判定是否需要由服务器400进行判定(即,该帧是否为疑似攻击帧的帧)(步骤S6)。在通过步骤S6判定为不需要由服务器400进行判定的情况下,网关300基于转送规则向其他总线转送该帧(步骤S7)。
另外,在针对接收到的帧判定为需要由服务器400进行判定的情况下,网关300将判定请求(判定委托)发送给服务器400(步骤S8),基于警告规则来判定是否需要进行警告通知(是否因转送所接收到的帧而导致汽车500处于有可能会发生驾驶员未计划的动作的状态)(步骤S9)。在判定为需要进行警告通知的情况下,网关300向主机单元ECU240发送通知所涉及的指示(步骤S10),由此,主机单元ECU240接收指示警告通知的帧(步骤S11)。
主机单元ECU240在接收到警告通知的指示的情况下,在显示器进行警告通知所涉及的显示(步骤S12)。
另外,在步骤S9之后,网关300将所接收到的帧向其他总线转送(步骤S13)。
服务器400在从网关300接收到判定请求(判定委托)时,使用所蓄积的日志信息,进行作为择一判定的不正常判定,所述择一判定是是否处于不正常地发送了帧的异常状态(是否不处于正常状态)(步骤S14),将判定结果发送给网关300(步骤S15)。
通过步骤S15接收到判定结果的网关300基于通知规则,根据判定结果和当前的汽车500是否处于有可能会发生驾驶员未计划的动作的状态,决定通知内容(步骤S16)。网关300将表示通过步骤S16决定的通知内容的帧发送给主机单元ECU240(步骤S17)。
主机单元ECU240在通过步骤S17接收到表示通知内容的帧的情况下,根据该通知内容来切换显示器的显示内容(步骤S18)。
[1.6实施方式1的效果]
在本实施方式的网络系统100中,针对由汽车500的车载网络的网关300接收到的被不正常地发送的存在可疑的帧(疑似攻击帧的帧),向汽车500的外部的服务器400请求判定,在因该帧而导致汽车500处于有可能会发生危险动作的状态时,进行用于通知引起注意的警告的控制。另外,网关300在接收到来自服务器400的表示异常的判定结果的情况下,当汽车500处于有可能会发生驾驶员未计划的动作的状态时(例如持续进行驾驶员未计划的动作时),进行用于通知停车劝告的控制。另外,在接收到异常的判定结果的情况下,当汽车500不处于有可能会发生驾驶员未计划的动作的状态时,进行用于通知不正常检测的控制。
由此,能够让驾驶员在早的阶段获知有被不正常地发送的可疑的帧正在车载网络的总线上流动这一事实,通过基于服务器400的判定结果并按照汽车的举动来改变通知,能够向驾驶员进行有用的通知。
(实施方式2)
以下,对如下这样构成的网络系统进行说明,该网络系统将上述的网络系统100的一部分进行变形,在已被发送到汽车内的总线的帧有可能是不正常帧(攻击帧)的情况下,不是向外部的服务器400发送判定请求,而是向该汽车周围的其他汽车发送判定请求。
[2.1网络系统100A的整体构成]
图27是表示本实施方式的网络系统100A的整体构成的图。
网络系统100A是如下这样的网络系统:在判定为已被发送到汽车A1000内的总线的帧为疑似攻击帧的帧且因该帧而导致汽车A1000有可能会发生驾驶员未计划的动作时,迅速地向驾驶员进行通知,进一步,在请求该汽车A1000的周围的其他汽车B600进行判定并接收到判定结果时,根据判定结果以及汽车A1000的举动来决定通知内容,向驾驶员进行通知。
网络系统100A由汽车A1000、汽车B600以及成为这些汽车间的通信路的网络20构成。网络20可包括互联网等,但例如也可以是用于在车车间通信中直接进行无线信号的授受的无线通信路。
汽车A1000具备车载网络,该车载网络与车内的控制装置、传感器、致动器、用户接口装置等各种设备连接,包括经由车内的总线进行涉及帧的通信的多个电子控制单元(ECU)而构成。具体而言,车载网络如图27所示,具有搭载于汽车A1000的CAN总线A101、CAN总线B102以及CAN总线C103。在CAN总线A101上,连接有方向盘ECU200、速度通知ECU210、白线角度通知ECU220以及网关3001。在CAN总线B102上,连接有自动操舵指示ECU230和网关3001。在CAN总线C103上,连接有主机单元ECU240和网关3001。对于与实施方式1中说明的构成要素相同的构成要素,在图27中标注与图1相同的标号,在此适当省略说明。网关3001是将实施方式1中示出的网关300进行了局部变形而得到的,在此没有特别说明之处与网关300同样。此外,网关3001具备用于与位于汽车A1000的周围(例如大概数十米以内等)的汽车(作为其一例的汽车B600)通信的通信装置(通信电路等)。
网关3001在总线间进行数据帧的转送。另外,网关3001基于所保持的接收ID列表来确认所接收到的帧的ID,进行帧的过滤。另外,网关3001具有用于检测攻击的功能,基于所接收到的帧是否满足按每个ID预先确定的接收周期、帧内的数据的变化量等所涉及的判断条件,判定是否为不正常地发送的存在可疑的帧(即疑似攻击帧的帧),在判定为是疑似攻击帧的帧的情况下,向存在于周围的汽车B600发送判定请求(判定委托)。具体而言,网关3001例如在从CAN总线B102接收到疑似攻击帧的帧、并且基于预先确定的警告条件判定为因该帧的转送例如会在方向盘ECU200中作出控制等而导致汽车A1000有可能会发生驾驶员未计划的动作的情况下,在向主机单元ECU240指示了警告(向驾驶员通知警告的显示等)之后,进行该帧向CAN总线A101的转送。并且,在指示了警告时,网关3001向位于汽车A1000的周围的汽车B600发送附加有汽车A1000的位置信息、方向盘信息(例如表示汽车A1000的行进方向的方位信息等)以及速度信息的判定请求(判定委托)。
接收到来自网关3001的判定请求(判定委托)的汽车B600(汽车B600的车载设备等),根据判定请求的请求源的汽车A1000对汽车B600而言是否为危险的存在,进行是否异常(正常)的判定,将判定结果返回给汽车A1000的网关3001。
网关3001根据来自汽车B600的判定结果和当前的汽车A1000的状态(方向盘角度、汽车A1000的速度等),决定向驾驶员的通知内容并向主机单元ECU240进行指示。图28中示出了这样的网络系统100A的工作例。关于工作的详细情况,在后面进行说明。
[2.2网关]
图29是网关3001的构成图。此外,在该图中附记了汽车B600。网关3001与实施方式1中示出的网关300同样,执行总线间的帧转送的功能,也作为具有用于检测攻击的功能的安全装置发挥功能。网关3001如图29所示,构成为包括帧收发部301、帧解释部302、外部通信部303、位置信息取得部303a、接收ID判断部302a、接收ID列表保持部302b、确认部305、格式规则保持部305a、判断部306、判断规则保持部306a、通知部307、警告规则保持部307a、状态存储部307b、通知规则保持部307c、转送部308、转送规则保持部308a以及帧生成部304。这些各构成要素通过网关3001中的通信电路、执行存储器所保存的控制程序的处理器或者数字电路等来实现。此外,对图29所示的网关3001的构成要素中的与实施方式1中示出的网关300同样的构成要素(参照图14),标注与图14相同的标号,在此适当省略说明。
位置信息取得部303a例如从车载导航等所使用的GPS(Global PositioningSystem,全球定位系统)接收机等取得维度、经度、高度等表示当前的汽车A1000的位置的信息,发送给外部通信部303。
外部通信部303在从判断部306接收到判定请求(判定委托)时,以附加从位置信息取得部303a取得的位置信息的方式将判定请求发送给位于汽车A1000的周围的汽车B600。外部通信部303以与位置信息同样的方式对判定请求附加从汽车A1000的各部的传感器、ECU等取得的方向盘信息以及速度信息来进行发送。此外,在本实施方式中,外部通信部303不进行从帧解释部302取得的作为ID、DLC以及数据的组的日志信息的向外部的发送。另外,外部通信部303在从汽车B600接收到与判定请求相应的判定结果时,将判定结果传达给通知部307。
判断部306在从确认部305接收到ID、DLC以及数据时,基于是否满足由判断规则保持部306a保持的判断规则所表示的预定条件,判定该ID、DLC以及数据所涉及的帧是否为疑似攻击帧的帧。判断部3在判定为所接收到的帧为疑似攻击帧的帧的情况下,可判定为应向外部的汽车B600发出判定请求。但是,在本实施方式的网关3001的判断部306中,作为一例,仅在所接收到的帧为疑似攻击帧的帧且满足警告规则保持部307a保持的警告规则所表示的警告条件的情况下,判定为应向汽车B600发出判定请求。也就是说,在网关3001的判断部306中,基于是否满足由警告规则保持部307a保持的警告规则所表示的警告条件,判定是否因网关3001转送所接收到的帧而导致汽车A1000有可能会发生驾驶员未计划的动作,仅在有可能会发生驾驶员未计划的动作的情况下,判定为应向汽车B600发出判定请求。在判断部306判定为应向汽车B600发出判定请求的情况下,将判定请求发送给外部通信部303,在发送该判定请求时将ID、DLC以及数据发送给通知部307。判断部306在未判定为应向汽车B600发出判定请求的情况下,将ID、DLC以及数据发送给转送部308。
判断规则保持部306a保持判断规则,该判断规则表示在判断部306中判断所接收到的ID、DLC以及数据所涉及的帧是否为疑似攻击帧的帧的判断条件。
通知部307在从判断部306接收到ID、DLC以及数据时,将用于生成表示向主机单元ECU240指示警告通知的编号(通知切换信号)的ID5的帧的信息和所接收到的ID、DLC以及数据发送给转送部308。在本实施方式的网关3001的通知部307中,不是直接进行是否满足警告规则所表示的警告条件的判断,而是仅在通过判断部306判断为满足警告条件的情况下才传达ID、DLC以及数据,因此,仅在有可能会发生驾驶员未计划的动作的情况下,才会进行与向主机单元ECU240指示警告通知有关的控制。另外,通知部307在从外部通信部303接收到从汽车B600接收到的判定结果时,对当前的汽车A1000的状态参照状态存储部307b,基于是否满足警告规则所表示的警告条件,按照通知规则来决定通知内容所涉及的编号,将用于生成表示向主机单元ECU240指示该通知内容的编号(通知切换信号)的ID5的帧的信息发送给转送部308。
通知规则保持部307c保持通知规则,该通知规则成为用于根据由通知部307接收到的来自汽车B600的判定结果和当前的汽车A1000的状态来决定通知内容的基准。该通知规则与图19所例示的通知规则同样。
[2.3网关中的帧接收对应处理]
图30是表示网关3001中的帧接收对应处理的一例的流程图。以下,结合该图对帧接收对应处理进行说明。
网关3001从某一条总线接收帧,对帧进行解释(步骤S3001)。
接着,网关3001使用格式规则来确认所接收到的帧是否为正规帧(步骤S3002)。在不是正规帧的情况下(即是不正常帧的情况)下,网关3001将接收到的帧丢弃(步骤S3003),结束帧接收对应处理。此外,也可以将网关3001构成为:在确认到是不正常帧的情况下,网关3001为了向驾驶员等通知不正常检测之意而向主机单元ECU240发送表示应该通知进行攻击检测的指示的帧。
当在步骤S3002中通过格式规则确认到所接收到的帧正规的情况下,网关3001根据该帧是否为疑似攻击帧的帧,使用判断规则来判定需要由外部的汽车进行判定的条件是否成立(步骤S3004)。
在通过步骤S3004判定为不需要由外部的汽车进行判定(不是疑似攻击帧的帧)的情况下,网关3001按照转送规则来转送所接收到的帧(步骤S3005),结束帧接收对应处理。
在通过步骤S3004判定为需要由外部的汽车进行判定(是疑似攻击帧的帧)的情况下,网关3001使用警告规则来判定是否会因转送所接收到的帧而导致汽车A1000处于有可能会发生驾驶员未计划的动作的状态(是否需要警告)(步骤S3006)。
在通过步骤S3006判定为需要警告(汽车A1000处于有可能会发生驾驶员未计划的动作的状态)的情况下,网关3001生成用于使主机单元ECU240进行警告通知的ID5的帧(步骤S3007),向CAN总线C103发送该帧(步骤S3008),另外,以附加有位置信息、方向盘信息以及速度信息的方式向外部的汽车B600发送判定请求(判定委托)(步骤S3009)。
在通过步骤S3006判定为不需要警告的情况下、或者在通过步骤S3009发送了判定请求之后,网关3001按照转送规则来转送所接收到的帧(步骤S3010)。
[2.4网关中的判定结果接收对应处理]
图31是表示网关3001中的判定结果接收对应处理的一例的流程图。以下,结合该图对判定结果接收对应处理进行说明。
网关3001在从汽车B600接收到判定结果时,判定是否为异常(对汽车B600而言汽车A1000危险的状态)的判定结果(步骤S3101)。
在通过步骤S3101判定为是异常的判定结果的情况下,网关3001使用状态存储部307b存储的数据,基于警告规则来判定当前汽车A1000是否处于有可能会发生驾驶员未计划的动作的状态(例如在刚刚之前发生了未计划的动作的状态等)(步骤S3102)。
在通过步骤S3102判定为汽车A1000处于有可能会发生驾驶员未计划的动作的状态的情况下,网关3001生成指示由主机单元ECU240向驾驶员通知停车劝告的ID5的帧(步骤S3103)。接着,网关3001将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S3104),结束判定结果接收对应处理。
在通过步骤S3102判定为汽车A1000不处于有可能会发生驾驶员未计划的动作的状态的情况下,网关3001生成指示由主机单元ECU240向驾驶员通知攻击检测通知的ID5的帧(步骤S3105)。接着,网关3001将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S3104),结束判定结果接收对应处理。
另外,在通过步骤S3101判定为是正常的判定结果的情况下,网关3001生成指示由主机单元ECU240向驾驶员通知无异常通知的ID5的帧(步骤S3106)。接着,网关3001将该生成的ID5的帧发送到与主机单元ECU240连接的CAN总线C103(步骤S3104),结束判定结果接收对应处理。
[2.5与判定请求对应的汽车B的工作例]
图32是表示汽车B600中的与判定请求对应的工作例(异常判定处理)的一例的流程图。此外,这只不过是在汽车B600中与来自网关3001的判定请求对应地进行的判定的一例,汽车B600可进行使用任意的判定方法的判定。在此,汽车B600根据汽车A1000是否处于对本车辆而言危险的状态来判定是否异常。以下,结合图32对异常判定处理进行说明。
汽车B600从汽车A1000接收附加有表示汽车A1000的位置、速度、行进方向等的信息的判定请求(步骤S600)。
接着,汽车B600判定汽车A1000的速度是否为预先确定的阈值以上(步骤S601)。该阈值作为一例是时速60km。如果在步骤S601中汽车A1000的速度小于阈值,则汽车B600将正常这一判定结果发送给汽车A1000(步骤S604)。即,如果汽车A1000当前的速度例如小于时速60km,则汽车B600判定为对于汽车B600而言汽车A1000并不危险(异常),相对于判定请求,发送正常这一判定结果。
在通过步骤S601判定为汽车A1000的速度为预先确定的阈值以上的情况下,汽车B600判定与汽车A1000的距离是否为预先确定的阈值以下(步骤S602)。该阈值作为一例是5m。在通过步骤S602判定为与汽车A1000的距离超过了阈值的情况下,汽车B600将正常这一判定结果发送给汽车A1000(步骤S604)。即,如果汽车A1000的位置信息所表示的位置与关于汽车B600的当前位置之间的距离远于5m,则汽车B600判定为对于汽车B600而言汽车A1000并不危险(异常),相对于判定请求,发送正常这一判定结果。
在通过步骤S602判定为与汽车A1000的距离为预先确定的阈值以下的情况下,汽车B600判定汽车A1000的行进方向是否朝向汽车B600这一方(步骤S603)。在通过步骤S603判定为汽车A1000的行进方向并不朝向汽车B600这一方的情况下,汽车B600将正常这一判定结果发送给汽车A1000(步骤S604)。即,在汽车A1000的位置和行进方向并未表现关于汽车B600的当前的位置的方向的情况下,汽车B600判定为对于汽车B600而言汽车A1000并不危险(异常),相对于判定请求,发送正常这一判定结果。
在通过步骤S603判定为汽车A1000的行进方向朝向汽车B600这一方的情况下,汽车B600将异常(危险)这一判定结果发送给汽车A1000(步骤S605)。
[2.6网络系统的工作所涉及的时序]
图28是表示网络系统100A的工作例的时序图。
网关3001从所连接的各总线接收帧(步骤S21),确认所接收到的帧是否为正规格式的帧(不正常帧)(步骤S22)。在确认为是不正常帧的情况下,网关3001将该帧丢弃,抑制转送(步骤S23)。
在通过步骤S22确认为是正规格式的帧的情况下,网关3001判定对于该帧的影响是否需要由外部的汽车进行判定(即该帧是否为疑似攻击帧的帧)(步骤S24)。
在通过步骤S24针对所接收到的帧判定为疑似攻击帧的帧的情况下,网关3001基于警告规则来判定是否需要警告通知(是否会因转送所接收到的帧而导致汽车A1000处于有可能会发生驾驶员未计划的动作的状态)(步骤S25)。
在通过步骤S24判定为不需要由外部的汽车进行判定的情况、或者通过步骤S25判定为不需要警告通知的情况下,网关3001基于转送规则将该帧向其他总线转送(步骤S26)。
在通过步骤S25判定为需要警告通知的情况下,网关3001向主机单元ECU240发送通知所涉及的指示(步骤S27),由此,主机单元ECU240接收指示警告通知的帧,在显示器进行警告通知所涉及的显示(步骤S28)。另外,在判定为需要警告通知的情况下,网关3001将判定请求(判定委托)发送给位于汽车A1000的周围的汽车B600(步骤S29),将所接收到的帧向其他总线转送(步骤S30)。
汽车B600在从网关3001接收到判定请求(判定委托)时,进行作为择一判定的危险判定,该择一判定是对于汽车B600而言汽车A1000是否处于危险的异常状态(是否不处于正常状态)(步骤S31),将判定结果发送给网关3001(步骤S32)。
通过步骤S32接收到判定结果的网关3001基于通知规则,根据判定结果和当前的汽车A1000是否处于有可能会发生驾驶员未计划的动作的状态,决定通知内容(步骤S33)。网关3001将表示通过步骤S33决定的通知内容的帧发送给主机单元ECU240(步骤S34)。
主机单元ECU240在通过步骤S34接收到表示通知内容的帧的情况下,根据该通知内容来切换显示器的显示内容(步骤S35)。
[2.7实施方式2的效果]
在本实施方式的网络系统100A中,在由汽车A1000的车载网络的网关300接收到被不正常地发送的存在可疑的帧(疑似攻击帧的帧)时,仅在汽车A1000处于有可能会发生驾驶员未计划的动作的状态的情况下,进行用于通知引起注意的警告的控制,并且向位于汽车A1000的周围的外部的装置(其他汽车B600的车载设备等)请求判定。另外,网关3001在接收到来自汽车B600(汽车B600的车载设备等)的表示异常(汽车A1000对于汽车B600而言危险)的判定结果的情况下,当汽车A1000处于有可能会发生驾驶员未计划的动作的状态时(例如持续进行驾驶员未计划的动作时),进行用于通知停车劝告的控制。另外,在接收到异常的判定结果的情况下,当汽车A1000不处于有可能会发生驾驶员未计划的动作的状态时,进行用于通知不正常检测的控制。
由此,能够让驾驶员在早的阶段获知有被不正常地发送的存在可疑的帧正在车载网络的总线上流动这一事实,通过基于由汽车B600进行的汽车A1000是否危险(异常)的判定结果并按照汽车的举动来改变通知,能够向驾驶员进行有用的通知。
(其他实施方式)
如上所述,作为本公开的技术性的例示,说明了实施方式1、2。然而,本公开的技术并不限定于此,在适当进行了变更、替换、附加、省略等的实施方式中也能够适用。例如,以下这样的变形例也包含在本公开的一个实施方式中。
(1)在上述实施方式中,示出了当在车载网络中检测到疑似攻击帧的帧时等为了引起驾驶员注意而通过主机单元ECU240进行向显示器的显示的例子(参照图10~图13),但也可以通过显示以外的方法(例如从扬声器再现声音等)来提示应向驾驶员传达的提示用信息(警告通知、停车劝告等)。另外,作为网络系统中的警告通知等的通知方法,也可以通过使室内灯的点亮状态变化来进行通知,也可以通过使安全带的系紧强度变化来进行通知,还可以通过使方向盘或者踏板振动来进行通知。另外,对于图9中示出的异常通知、警告通知、攻击检测通知以及停车劝告等成为通知内容的提示用信息的分类,也可以以任意方式来确定,另外,具体的提示内容(例如显示内容)也不限于图10~图13所例示的内容,可以是任意内容。
(2)在上述实施方式中,示出了进行汽车的车载网络中的帧的监视等的网关300、3001与主机单元ECU240合作,在一定条件下进行向驾驶员的通知(警告通知等)的例子。该车载网络也可以搭载于汽车以外的车辆(例如两轮车等)。另外,通知(警告通知等)的对象并不限于车辆的驾驶员,也可以是车辆的乘员、位于车辆周围的装置(其他车辆等)。此外,向通知对象的通知,也可以经由服务器等其他装置来进行。例如,为了基于一车辆的车载网络中的帧的监视来在一定条件下向其他车辆进行通知,一车辆可以具备控制紧急闪烁显示灯的点亮状态的报知装置。另外,在上述实施方式中,设为网关300、3001具有与外部进行通信的通信功能(外部通信部),但也可以是,车辆在网关300、3001之外具有通信装置(通信部),网关300、3001经由该通信装置与车辆的外部进行通信。图33中示出具备该报知装置、通信装置等的网络系统的一例。
图33表示一个实施方式的网络系统2000的构成。网络系统2000具备车辆2100和外部装置2200。
车辆2100具备与总线2190a、总线2190b以及总线2190c连接并监视这些总线的安全装置2110,还具备与外部装置2200通信的通信装置2120、具有信息提示功能的预定ECU(主机单元)2140、与各总线连接的ECU2150a~2150d、以及用于对车辆2100的外部进行报知的报知装置2130。报知装置2130例如是紧急闪烁显示灯,例如也可以是汽笛等。安全装置2110具有接收部2111、确认部2112、判定部2113、取得部2114以及输出部2115。接收部2111相当于上述的帧收发部301的接收功能部分,从一条总线接收帧。确认部2112相当于上述的确认部305,针对通过接收部2111从该一总线接收到的帧确认是否符合不正常条件。判定部2113相当于上述的判断部306,针对通过接收部2111接收到的帧,判定是否满足用于区分有无可能是攻击帧的预定条件。判定部2113在针对通过接收部2111接收到的帧通过确认部2112确认到符合不正常条件的情况下,也可以不判定为满足预定条件。此外,通过判定部2113在关于帧的判定中使用的预定条件,是与接收间隔、差分和相关性中的至少一个有关的条件,所述接收间隔是具有与该帧相同的ID且先前被接收部2111接收到的同种先行帧与该帧之间的接收间隔,所述差分是该帧的数据的内容与该同种先行帧的数据的内容之间的差分,所述相关性是具有与该帧相同的ID且先前被接收部2111接收到的异种先行帧的内容与该帧的内容之间的相关性。取得部2114在判定部2113判定为满足预定条件的情况下,控制通信装置2120以向外部装置2200传达判定请求,经由通信装置2120取得根据判定请求而从外部装置2200传达的判定结果。此外,通信装置2120也可以将与由安全装置2110的接收部2111接收到的各帧有关的日志信息发送给外部装置2200。输出部2115在判定部2113判定为满足预定条件的情况下输出第1提示用信息(例如警告通知),在取得部2114取得了来自外部装置2200的判定结果的情况下输出第2提示用信息(例如停车劝告、攻击检测通知、无异常通知等)。第1提示用信息包含用于使报知装置2130进行报知的控制信息,由输出部2115进行的第1提示用信息的输出,可包括第1提示用信息的向报知装置2130的发送。输出部2115也可以将第1提示用信息以及第2提示用信息的输出通过提示(显示、振动的产生、蜂鸣声的鸣响、光的点亮、声音输出等)来进行,还可以通过向预定ECU2140等的发送(预定ECU2140向所连接的总线2190c发送包含各提示用信息的帧)来进行。预定ECU2140在接收到包含第1提示用信息的帧的情况下提示第1提示用信息,在接收到包含第2提示用信息的帧的情况下提示第2提示用信息。关于第1提示用信息的提示时机,输出部2115也可以在判定部2113判定为满足预定条件时输出第1提示用信息。输出部2115在判定部2113判定为满足预定条件的情况下,当满足警告条件(例如基于上述的警告规则保持部307a保持的警告规则的条件)时输出第1提示用信息,当不满足警告条件时不输出第1提示用信息。输出部2115也可以基于由接收部2111过去接收到的一个或多个帧的内容来判别是否满足警告条件。输出部2115在取得部2114取得了来自外部装置2200的判定结果的情况下,也可以将与第1提示用信息不同的预先确定的多个相异的信息中的、根据该判定结果是否表示正常而选择出的信息作为第2提示用信息进行输出。另外,输出部2115在取得部2114取得了来自外部装置2200的判定结果的情况下,也可以将与第1提示用信息不同的预先确定的多个相异的信息中的、根据是否满足警告条件和该判定结果而选择出的信息作为第2提示用信息进行输出。此外,安全装置2110可以是网关装置,但也可以不一定是网关装置。
外部装置2200是接收来自车辆2100的判定请求、进行是否异常的判定并将判定结果发送给车辆2100的装置,可以是服务器(例如服务器400)、位于车辆2100的周围的其他车辆(例如汽车B600)、位于车辆2100的周围的路侧机、信号机等。车辆2100是汽车、两轮车等,具备车载网络,该车载网络与车内的控制装置、传感器、致动器、用户接口装置等各种设备连接,包括经由车内的总线进行涉及帧的通信的多个ECU而构成。
外部装置2200可以是通过在接收到判定请求的情况下基于日志信息判定是否在车辆中发送了攻击帧,从而将判定结果发送给通信装置2120的装置。判定结果例如择一地表示是否正常(是否不异常)。外部装置2200也可以是从车辆的外部观测该车辆的动作并判定该车辆的动作是否正常从而将判定结果发送给通信装置2120的装置,可以是在判定部2113判定为满足预定条件的情况下位于车辆2100的周围的其他车辆。
(3)在上述实施方式中,作为在被不正常地发送的存在可疑的帧(疑似攻击帧的帧)的判定中使用的判断规则,例示了与帧的接收周期(发送周期)或者数据域的值的变化量有关的规则,但也可以使用CAN的帧的任何性质来进行是否为疑似攻击帧的帧的判定。
(4)在上述实施方式中,在向服务器或者其他汽车发送判定请求并接收到判定结果时,仅是决定通知内容(即仅切换通知),但也可以是,为了不会将与成为判定请求的契机的帧相同ID的帧在总线间转送而进行由网关300、3001保持的规则的追加、更新等。
(5)在上述实施方式2中,汽车B600基于从汽车A1000接收到的附加于判定请求的位置、速度、行进方向等信息来进行是否异常的判定,但也可以是,使用汽车B600中的传感器等车载设备来测定汽车A1000的位置、速度或者行进方向,使用该测定结果来进行步骤S601~S603中的各判定。例如,汽车B600也可以通过在从汽车A1000接收到预先确定的无线信号来作为判定请求的情况下观测电波强度来确定判定请求源的汽车A1000的位置等。
(6)在上述实施方式中,示出了遵循CAN协议进行通信的车载网络。该CAN协议应该作为也包括CANFD(CAN with Flexible Data Rate)等派生协议在内的广义的协议来处理。另外,在网络系统中,也可以使用CAN协议以外的通信协议、例如Ethernet(注册商标)、MOST(注册商标)、FlexRay(注册商标)等。
(7)上述实施方式中示出的各种处理的步骤(例如图2、图22、图23、图25、图26、图28、图30~图32所示的步骤等)的执行顺序不一定限定为上述那样的顺序,在不脱离公开要旨的范围内,可以调换执行顺序、并行地进行多个步骤、和/或省略该步骤的一部分。
(8)上述实施方式中的网关等ECU例如是包括处理器、存储器等数字电路、模拟电路、通信线路等的装置,但也可以包括硬盘装置、显示器、键盘、鼠标等其他的硬件构成要素。另外,也可以取代由处理器执行存储器所存储的控制程序并以软件方式来实现功能,而通过专用的硬件(数字电路等)来实现其功能。
(9)上述实施方式中的构成各装置的构成要素的一部分或者全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部集成于1个芯片上而制造出的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等而构成的计算机系统。所述RAM中存储有计算机程序。所述微处理器按照所述计算机程序进行工作,由此系统LSI达成其功能。另外,构成上述各装置的构成要素的各部既可以单独地单芯片化,也可以以包含一部分或全部的方式单芯片化。另外,虽然此处设为LSI,但根据集成度不同,也可以称为IC、LSI、超大LSI(super LSI)、特大LSI(ultra LSI)。另外,集成电路化的方法不限于LSI,也可以通过专用电路或者通用处理器实现。也可以在LSI制造后利用FPGA(FieldProgrammable Gate Array;现场可编程门阵列)或者可以对LSI内部的电路单元的连接和/或设定进行重构的可重构处理器(reconfigurable processor)。进而,随着半导体技术的发展或者派生的其他技术的出现,如果出现能够替代LSI的集成电路化的技术,当然也可以利用该技术进行功能块的集成化。也可能会存在适用生物技术的可能性。
(10)构成上述各装置的构成要素的一部分或者全部也可以由能够装卸于各装置的IC卡或者单体模块构成。所述IC卡或者所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或者所述模块也可以包含上述超多功能LSI。微处理器按照计算机程序进行工作,由此所述IC卡或者所述模块达成其功能。该IC卡或者该模块也可以具有抗篡改性。
(11)作为本公开的一个技术方案,也可以是例如包括图22、图23、图30、图31等所示的处理步骤的全部或者一部分的攻击检测方法。例如,攻击检测方法是在多个电子控制单元经由一条或多条总线进行帧的授受的车载网络系统中使用的攻击检测方法,包括:从总线接收帧的接收步骤;针对通过接收步骤接收到的帧,判定是否满足用于区分有无可能是攻击帧的预定条件的判定步骤(例如步骤S305,S3004);在通过判定步骤判定为满足预定条件的情况下提示第1提示用信息的第1提示步骤(例如步骤S309,S310,S3007,S3008);在通过判定步骤判定为满足预定条件的情况下进行控制以向位于车辆外部的外部装置传达判定请求,取得根据该判定请求而从外部装置传达的判定结果的取得步骤(例如S307,S3009等);以及在通过取得步骤取得了来自外部装置的判定结果的情况下提示第2提示用信息的第2提示步骤(例如步骤S323~S326,S3103~S3106)。另外,作为本公开的一个技术方案,也可以是通过计算机实现该攻击检测方法所涉及的处理的计算机程序,还可以是由所述计算机程序形成的数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或者所述数字信号记录于计算机可读取的记录介质例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等。另外,也可以是记录在上述的记录介质中的所述数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或所述数字信号经由电通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等进行传输。另外,作为本公开的一个技术方案,也可以是具有微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器可以按照所述计算机程序进行工作。另外,也可以通过将所述程序或所述数字信号记录在所述记录介质中转移、或经由所述网络等将所述程序或所述数字信号进行转移,由此通过独立的其他的计算机系统来实施。
(12)通过将上述实施方式以及上述变形例中示出的各构成要素以及功能进行任意组合而实现的实施方式也包含在本公开的范围中。
产业上的可利用性
本公开能够为了应对车载网络中的攻击帧等来利用。
标号的说明
10、20网络
100、100A、2000网络系统
101总线A
102总线B
103总线C
200方向盘ECU
201、301帧收发部
202、302帧解释部
203、302a接收ID判断部
205、231控制部
206自动操舵用马达
207方向盘传感器
208、218、228、238、304帧生成部
209、239、249、302b接收ID列表保持部
210速度通知ECU
211速度传感器
220白线角度通知ECU
221白线角度检测传感器
230自动操舵指示ECU
240主机单元ECU
241显示部
241a显示内容保持部
300、3001网关(安全装置)
303外部通信部
303a位置信息取得部
305确认部
305a格式规则保持部
306判断部
306a判断规则保持部
307通知部
307a警告规则保持部
307b状态存储部
307c通知规则保持部
308转送部
308a转送规则保持部
400服务器
401、2111接收部
402判断部
403日志存储部
404不正常判定部
405发送部
500汽车
600汽车B
1000汽车A
2100车辆
2110安全装置
2112确认部
2113判定部
2114取得部
2115输出部
2120通信装置
2130报知装置
2140、2150a~2150d电子控制单元(ECU)
2190a~2190c总线
2200外部装置

Claims (19)

1.一种安全装置,是与车辆内的一条或多条总线连接的安全装置,具备:
接收部,其从一条所述总线接收帧;
判定部,其针对由所述接收部接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧,
取得部,其在所述判定部判定为满足所述预定条件的情况下,进行控制以向位于所述车辆外部的外部装置传达判定请求,取得根据该判定请求而从该外部装置传达的判定结果;以及
输出部,其在所述判定部判定为满足所述预定条件的情况下输出第1提示用信息,在所述取得部取得了来自所述外部装置的判定结果的情况下输出第2提示用信息。
2.根据权利要求1所述的安全装置,
所述车辆搭载有遵循CAN协议即控制器局域网协议经由所述一条或多条总线进行帧的授受的多个电子控制单元。
3.根据权利要求1或2所述的安全装置,
所述安全装置是与所述车辆内的所述多条总线连接的网关装置。
4.根据权利要求3所述的安全装置,
所述安全装置还具备确认部,所述确认部针对由所述接收部从一总线接收到的帧确认是否符合不正常条件,
所述安全装置针对由所述接收部从一总线接收到的帧,在通过所述确认部确认到不符合所述不正常条件的情况下,将该帧向其他总线转送,在通过所述确认部确认到符合所述不正常条件的情况下,不转送该帧,
在针对由所述接收部接收到的帧通过所述确认部确认到符合所述不正常条件的情况下,所述判定部不判定为满足所述预定条件,
所述输出部在所述判定部判定为满足所述预定条件时输出所述第1提示用信息。
5.根据权利要求1或2所述的安全装置,
所述输出部在所述判定部判定为满足所述预定条件的情况下,当满足警告条件时输出所述第1提示用信息,当不满足该警告条件时不输出所述第1提示用信息。
6.根据权利要求1或2所述的安全装置,
所述输出部在所述取得部取得了来自所述外部装置的判定结果的情况下,将与所述第1提示用信息不同的预先确定的多个相异的信息中的、根据该判定结果和是否满足警告条件而选择出的信息作为所述第2提示用信息进行输出。
7.根据权利要求5所述的安全装置,
所述输出部基于由所述接收部过去接收到的一个或多个帧的内容,判别是否满足所述警告条件。
8.根据权利要求6所述的安全装置,
所述输出部基于由所述接收部过去接收到的一个或多个帧的内容,判别是否满足所述警告条件。
9.根据权利要求1或2所述的安全装置,
来自所述外部装置的所述判定结果,择一地表示是否正常,
所述输出部在所述取得部取得了来自所述外部装置的判定结果的情况下,将与所述第1提示用信息不同的预先确定的多个相异的信息中的、根据该判定结果是否表示正常而选择出的信息作为所述第2提示用信息进行输出。
10.根据权利要求1或2所述的安全装置,
所述取得部包括外部通信部,所述外部通信部向所述外部装置发送所述判定请求,接收根据该判定请求而从所述外部装置发送的判定结果。
11.根据权利要求1或2所述的安全装置,
所述输出部在所述判定部判定为满足所述预定条件的情况下,向所述车辆内的一条总线发送包含所述第1提示用信息的帧,在所述取得部取得了来自所述外部装置的判定结果的情况下,向该一条总线发送包含所述第2提示用信息的帧。
12.根据权利要求1或2所述的安全装置,
由所述判定部在关于帧的判定中使用的所述预定条件,是与接收间隔、差分和相关性中的至少一方有关的条件,所述接收间隔是具有与该帧相同的ID且先前被所述接收部接收到的同种先行帧与该帧之间的接收间隔,所述差分是该帧的数据的内容与该同种先行帧的数据的内容之间的差分,所述相关性是具有与该帧不同的ID且先前被所述接收部接收到的异种先行帧的内容与该帧的内容之间的相关性。
13.一种网络系统,具备:
权利要求1~12中任一项所述的安全装置;
所述外部装置;
搭载有与所述外部装置通信的通信装置的所述车辆;
所述一条或多条总线;以及
经由所述一条或多条总线进行帧的授受的搭载于所述车辆的多个电子控制单元。
14.根据权利要求13所述的网络系统,
所述多个电子控制单元之一是具有信息提示功能的预定电子控制单元,
所述输出部在所述判定部判定为满足所述预定条件的情况下,向连接有所述预定电子控制单元的总线发送包含所述第1提示用信息的帧,在所述取得部取得了来自所述外部装置的判定结果的情况下,向连接有所述预定电子控制单元的总线发送包含所述第2提示用信息的帧,
所述预定电子控制单元在接收到包含所述第1提示用信息的帧的情况下,提示该第1提示用信息,在接收到包含所述第2提示用信息的帧的情况下,提示该第2提示用信息。
15.根据权利要求13或14所述的网络系统,
所述车辆具备向该车辆的外部进行报知的报知装置,
所述第1提示用信息包含用于使所述报知装置进行报知的控制信息,
由所述输出部进行的所述第1提示用信息的输出,包括所述第1提示用信息的向所述报知装置的发送。
16.根据权利要求13或14所述的网络系统,
所述通信装置将与由所述安全装置的所述接收部接收到的各帧有关的日志信息发送给所述外部装置,
所述安全装置的所述取得部经由所述通信装置向所述外部装置发送所述判定请求,经由所述通信装置接收根据该判定请求而从所述外部装置发送的判定结果,
所述外部装置在接收到所述判定请求的情况下,基于所述日志信息,判定是否在所述车辆中发送了攻击帧,由此向所述通信装置发送所述判定结果。
17.根据权利要求13或14所述的网络系统,
所述外部装置从所述车辆的外部观测该车辆的动作,判定该车辆的动作是否正常,由此向所述通信装置发送所述判定结果。
18.根据权利要求17所述的网络系统,
所述外部装置是在所述判定部判定为满足所述预定条件的情况下位于所述车辆周围的其他车辆。
19.一种攻击检测方法,是在多个电子控制单元经由一条或多条总线进行帧的授受的车载网络系统中使用的攻击检测方法,包括:
接收步骤,从所述总线接收帧;
判定步骤,针对通过所述接收步骤接收到的帧,判定是否满足预定条件,所述预定条件用于区分有无可能是攻击帧;
第1提示步骤,在通过所述判定步骤判定为满足所述预定条件的情况下,提示第1提示用信息;
取得步骤,在通过所述判定步骤判定为满足所述预定条件的情况下,进行控制以向位于车辆外部的外部装置传达判定请求,取得根据该判定请求而从该外部装置传达的判定结果;以及
第2提示步骤,在通过所述取得步骤取得了来自所述外部装置的判定结果的情况下,提示第2提示用信息。
CN201680045757.XA 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法 Active CN107852357B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011202698.7A CN112286763A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法
CN202011202721.2A CN112286764A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562266831P 2015-12-14 2015-12-14
US62/266,831 2015-12-14
JP2016-179736 2016-09-14
JP2016179736A JP6649215B2 (ja) 2015-12-14 2016-09-14 セキュリティ装置、ネットワークシステム及び攻撃検知方法
PCT/JP2016/004518 WO2017104096A1 (ja) 2015-12-14 2016-10-07 セキュリティ装置、ネットワークシステム及び攻撃検知方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202011202721.2A Division CN112286764A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法
CN202011202698.7A Division CN112286763A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法

Publications (2)

Publication Number Publication Date
CN107852357A CN107852357A (zh) 2018-03-27
CN107852357B true CN107852357B (zh) 2020-11-20

Family

ID=59079916

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202011202698.7A Pending CN112286763A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法
CN202011202721.2A Pending CN112286764A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法
CN201680045757.XA Active CN107852357B (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202011202698.7A Pending CN112286763A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法
CN202011202721.2A Pending CN112286764A (zh) 2015-12-14 2016-10-07 安全装置、网络系统以及攻击检测方法

Country Status (4)

Country Link
US (2) US10623205B2 (zh)
EP (2) EP3393089B1 (zh)
JP (3) JP6649215B2 (zh)
CN (3) CN112286763A (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6547154B2 (ja) * 2016-11-30 2019-07-24 本田技研工業株式会社 通信システム
KR101887077B1 (ko) * 2017-01-24 2018-09-10 엘지전자 주식회사 차량용 전자 디바이스 해킹 테스트 장치
DE102017217195A1 (de) * 2017-09-27 2019-03-28 Continental Teves Ag & Co. Ohg Verfahren zum Erfassen eines Angriffs auf ein Steuergerät eines Fahrzeugs
CN111279657B (zh) * 2017-12-15 2023-05-23 松下电器(美国)知识产权公司 不正当检测装置、车载网络系统及不正当检测方法
JP6964274B2 (ja) * 2018-01-12 2021-11-10 パナソニックIpマネジメント株式会社 監視装置、監視システム及び監視方法
WO2019142474A1 (ja) * 2018-01-22 2019-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ データ解析装置及びプログラム
WO2019142458A1 (ja) * 2018-01-22 2019-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両監視装置、不正検知サーバ、および、制御方法
JP7013921B2 (ja) 2018-02-19 2022-02-01 株式会社デンソー 検証端末
JP7031374B2 (ja) 2018-03-01 2022-03-08 株式会社デンソー 検証端末、検証システム
RU2706887C2 (ru) * 2018-03-30 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ блокирования компьютерной атаки на транспортное средство
CN111052681B (zh) * 2018-05-08 2022-06-10 松下电器(美国)知识产权公司 异常检测电子控制单元、车载网络系统及异常检测方法
WO2019215807A1 (ja) 2018-05-08 2019-11-14 日本電気株式会社 監視装置、学習装置、監視方法、学習方法及び記憶媒体
DE102019113818B4 (de) 2018-05-31 2023-03-30 Panasonic Intellectual Property Management Co., Ltd. Elektronische steuerungseinrichtung, überwachungsverfahren, programm und gateway-einrichtung
JP6519829B1 (ja) * 2018-05-31 2019-05-29 パナソニックIpマネジメント株式会社 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP6519830B1 (ja) * 2018-05-31 2019-05-29 パナソニックIpマネジメント株式会社 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP2019219709A (ja) * 2018-06-15 2019-12-26 オムロン株式会社 サイバー攻撃通知装置及び通知方法
CN108923904A (zh) * 2018-06-29 2018-11-30 百度在线网络技术(北京)有限公司 汽车指令处理方法、装置、设备、云平台及存储介质
JP6969519B2 (ja) * 2018-07-30 2021-11-24 株式会社デンソー センター装置、車両状態の特定結果表示システム、車両状態の特定結果送信プログラム及び車両状態の特定結果送信方法
JP7344009B2 (ja) * 2018-10-17 2023-09-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
JP7149888B2 (ja) * 2018-10-17 2022-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
JP7124679B2 (ja) * 2018-12-07 2022-08-24 トヨタ自動車株式会社 監視装置
JP7229783B2 (ja) * 2019-01-10 2023-02-28 エヌ・ティ・ティ・コミュニケーションズ株式会社 車載型情報処理装置、車両情報通信システム、情報処理方法およびプログラム
JP7182470B2 (ja) * 2019-01-11 2022-12-02 富士通株式会社 メッセージ処理装置およびメッセージ処理方法
JP7139257B2 (ja) * 2019-01-21 2022-09-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 車両セキュリティ監視装置、方法及びプログラム
JP7030742B2 (ja) * 2019-05-27 2022-03-07 本田技研工業株式会社 通信システム、および通信制御方法
JP7115442B2 (ja) * 2019-08-21 2022-08-09 トヨタ自動車株式会社 判定装置、判定システム、プログラム及び判定方法
CN110808890B (zh) * 2019-09-26 2021-11-02 浙江欧康电子信息技术有限公司 通信处理方法、装置、存储介质及can总线通信系统
CN113392102A (zh) * 2020-03-12 2021-09-14 尼得科智动株式会社 网关装置和计算机可读介质
JP7283427B2 (ja) * 2020-03-25 2023-05-30 トヨタ自動車株式会社 車両制御システム、攻撃判定方法及びプログラム
CN111726774B (zh) 2020-06-28 2023-09-05 阿波罗智联(北京)科技有限公司 防御攻击的方法、装置、设备及存储介质
CN112887270B (zh) * 2021-01-08 2023-04-18 天目数据(福建)科技有限公司 基于网络安全的恶意流量入侵分析预警装置
US11271971B1 (en) 2021-03-19 2022-03-08 King Saud University Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV)
JP2023043078A (ja) * 2021-09-15 2023-03-28 トヨタ自動車株式会社 制御装置、車両、制御システム、制御方法、及び制御プログラム
JP2024004312A (ja) * 2022-06-28 2024-01-16 株式会社オートネットワーク技術研究所 中継装置、情報処理方法及び車載システム
CN115158194A (zh) * 2022-07-01 2022-10-11 锦图计算技术(深圳)有限公司 基于Linux系统的智能汽车安全网关系统及其通信方法
CN116700110B (zh) * 2023-06-30 2024-03-26 中汽院新能源科技有限公司 基于多模块划分的分布式驱动新能源汽车控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101817335A (zh) * 2010-03-10 2010-09-01 奇瑞汽车股份有限公司 一种汽车防盗系统及防盗控制方法
CN102693728A (zh) * 2012-06-07 2012-09-26 深圳市路友网络科技有限公司 一种手机跨平台语言传输解码方法
CN104320295A (zh) * 2014-10-08 2015-01-28 清华大学 Can报文异常检测方法及系统
EP2892199A1 (en) * 2014-01-06 2015-07-08 Argus Cyber Security Ltd. Global automotive safety system
CN104767618A (zh) * 2015-04-03 2015-07-08 清华大学 一种基于广播的can总线认证方法及系统
WO2015159520A1 (ja) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、不正検知電子制御ユニット及び不正検知方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19846169A1 (de) * 1998-10-07 2000-04-13 Alcatel Sa Verfahren zur Signalisierung verkehrsrelevanter Zustandsinformationen
JP2005142848A (ja) 2003-11-06 2005-06-02 Toshiba Corp 無線lanシステム、およびその通信制御方法、ならびにアクセスポイント
JP2007067812A (ja) * 2005-08-31 2007-03-15 Fujitsu Ten Ltd フレーム監視装置
US9787703B2 (en) * 2006-05-16 2017-10-10 Lear Corporation Method for vehicle intrusion detection with mobile router
JP2007312193A (ja) * 2006-05-19 2007-11-29 Auto Network Gijutsu Kenkyusho:Kk 異常監視ユニット
JP5244431B2 (ja) * 2008-03-25 2013-07-24 トヨタ自動車株式会社 異常検出装置、異常情報送信方法、異常情報送信システム
US8886164B2 (en) * 2008-11-26 2014-11-11 Qualcomm Incorporated Method and apparatus to perform secure registration of femto access points
JP5798332B2 (ja) 2011-02-10 2015-10-21 トヨタ自動車株式会社 車両情報取得システム及び車両情報取得方法
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
US9881165B2 (en) * 2012-03-29 2018-01-30 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
JP2014039085A (ja) * 2012-08-10 2014-02-27 Auto Network Gijutsu Kenkyusho:Kk 車載通信システム及び中継装置
JP5919205B2 (ja) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
US9401923B2 (en) * 2013-10-23 2016-07-26 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems
KR20170125823A (ko) * 2015-03-06 2017-11-15 소니 주식회사 통신 장치, 통신 방법 및 프로그램

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101817335A (zh) * 2010-03-10 2010-09-01 奇瑞汽车股份有限公司 一种汽车防盗系统及防盗控制方法
CN102693728A (zh) * 2012-06-07 2012-09-26 深圳市路友网络科技有限公司 一种手机跨平台语言传输解码方法
EP2892199A1 (en) * 2014-01-06 2015-07-08 Argus Cyber Security Ltd. Global automotive safety system
WO2015159520A1 (ja) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、不正検知電子制御ユニット及び不正検知方法
CN104320295A (zh) * 2014-10-08 2015-01-28 清华大学 Can报文异常检测方法及系统
CN104767618A (zh) * 2015-04-03 2015-07-08 清华大学 一种基于广播的can总线认证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于嵌入式的纯电动汽车CAN总线通信及实现》;万晓凤等;《计算机测量与控制》;20131025;第21卷(第10期);第2795-2798页 *

Also Published As

Publication number Publication date
EP3393089A4 (en) 2019-01-09
US10623205B2 (en) 2020-04-14
JP6649215B2 (ja) 2020-02-19
JP2021108460A (ja) 2021-07-29
US20200195472A1 (en) 2020-06-18
US20180294991A1 (en) 2018-10-11
CN107852357A (zh) 2018-03-27
EP3393089B1 (en) 2021-01-13
JP2020074574A (ja) 2020-05-14
JP6858282B2 (ja) 2021-04-14
JP2017112594A (ja) 2017-06-22
EP3796603B1 (en) 2023-03-08
US11469921B2 (en) 2022-10-11
CN112286763A (zh) 2021-01-29
EP3796603A1 (en) 2021-03-24
EP3393089A1 (en) 2018-10-24
CN112286764A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN107852357B (zh) 安全装置、网络系统以及攻击检测方法
US10593211B2 (en) Apparatus and method for controlling platooning of vehicles
CN109204189B (zh) 自动驾驶系统、故障报警方法及装置
DE102016209501B4 (de) Verfahren zum Generieren einer Warnung an einen oder mehrere Insassen eines Fahrzeugs
JP6432490B2 (ja) 車載制御装置、及び、車載記録システム
US9493116B2 (en) Alert systems and methods for a vehicle
CN108604414B (zh) 提供关于危险情况的信息的方法、设备和存储介质
US9132774B2 (en) Alert systems and methods for a vehicle
US8970358B2 (en) Alert systems and methods for a vehicle
US9701245B2 (en) Alert systems and methods for a vehicle
US20130342365A1 (en) Alert systems and methods for a vehicle
US20130342364A1 (en) Alert systems and methods for a vehicle
JP6973120B2 (ja) なりすまし検出装置、検出方法、およびコンピュータプログラム
WO2017104096A1 (ja) セキュリティ装置、ネットワークシステム及び攻撃検知方法
KR101297024B1 (ko) 캔통신을이용한 자동차 고장진단 네트워크 시스템 및 방법
EP2878477A1 (en) Motor vehicle with improved safety
CN111845763B (zh) 用于在自主驾驶期间确保驾驶员参与度的安全机构
JP5402372B2 (ja) 交通情報提供システム及び交通情報処理装置
CN117939435A (zh) 基于组队出行监测车友车辆状态的方法、装置和车辆
JP2006023851A (ja) 車両用故障通知装置
CN115285114A (zh) 车辆与车辆周围环境交互的系统、方法、车辆及程序产品
CN116080641A (zh) 针对异常车辆目标的驾驶辅助安全控制方法、装置及车辆

Legal Events

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