JPWO2019216306A1 - 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法 - Google Patents

異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法 Download PDF

Info

Publication number
JPWO2019216306A1
JPWO2019216306A1 JP2019557883A JP2019557883A JPWO2019216306A1 JP WO2019216306 A1 JPWO2019216306 A1 JP WO2019216306A1 JP 2019557883 A JP2019557883 A JP 2019557883A JP 2019557883 A JP2019557883 A JP 2019557883A JP WO2019216306 A1 JPWO2019216306 A1 JP WO2019216306A1
Authority
JP
Japan
Prior art keywords
vehicle
traveling state
abnormality
message
electronic control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019557883A
Other languages
English (en)
Other versions
JP7231559B2 (ja
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
Publication of JPWO2019216306A1 publication Critical patent/JPWO2019216306A1/ja
Application granted granted Critical
Publication of JP7231559B2 publication Critical patent/JP7231559B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • B60W40/09Driving style or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • B60W2050/046Monitoring control system parameters involving external transmission of data to or from the vehicle, e.g. via telemetry, satellite, Global Positioning System [GPS]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/04Vehicle stop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2756/00Output or target parameters relating to data
    • B60W2756/10Involving external transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
    • B60W60/00188Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions related to detected security violation of control systems, e.g. hacking of moving vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

車載ネットワークに接続される異常検知電子制御ユニット(11)は、車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び車両の周辺情報を表す第二通信メッセージを受信する受信部(111)と、速度情報に基づいて車両の第一走行状態を判定し、周辺情報に基づいて第二走行状態を判定する走行状態判定部(112)と、走行状態判定部(112)が判定した第一走行状態と第二走行状態とを比較して、一致しない場合、第一通信メッセージは異常であると判定する異常判定部(113)と、第一通信メッセージが異常であると判定した場合、異常への対処のための処理を実行する異常処理部(115)とを備える。

Description

本発明は、車載ネットワーク等において送信される不正なメッセージを検知し対処するセキュリティ対策技術に関する。
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の通信規格が存在する。その中でも最も主流な通信規格の一つに、ISO11898で規定されているCAN(Controller Area Network)という規格が存在する。
CANの規格に拠る車載ネットワーク(以下、CANネットワークともいう)では、通信路(バス)は2本のケーブルで構成され、バスに接続されているECUはノードとも呼ばれる。バスに接続されている各ノードは、フレーム又はメッセージと呼ばれる単位でデータを送受信する。またCANネットワークでは、データの送信先又は送信元を示す識別子は用いられない。
メッセージを送信するノード(以下、送信ノードともいう)は、メッセージ毎にメッセージの種類を示すメッセージIDと呼ばれるIDを付けて送信、つまりバスに信号を送出する。メッセージを受信するノード(以下、受信ノードともいう)は、予め決められたメッセージIDを含むメッセージのみ受信、つまりバスから信号を読み取る。同一IDのメッセージは、所定の一定の周期で送信される。
上述の通り、自動車の中のシステムに多数配置されているECUは、接続されているCANネットワークを介して様々なメッセージを互いにやりとりしながら動作している。
ここで、CANネットワークの外部と通信機能を持つECUが、外部から攻撃される等で乗っ取られ、CANネットワークに対して不正なメッセージを送信するようになることが起こり得る。このような乗っ取られたECU(以下、不正ECUともいう)は、例えば他のECUになりすまして不正なメッセージを送信し、自動車を不正に制御することが可能となる。
そのため、攻撃者がCANネットワークにアクセスして不正なメッセージを送信することでECUを不正に制御する手法が開示されている。
例えば、自動車への不正な遠隔操作として、車両の診断を行うための診断用機器を接続するポートから、攻撃者が正規の診断機を用いて不正な車両の診断メッセージを送信することで、車両に大きな影響を与えることが可能であることが非特許文献1に開示されている。
また、非特許文献2によると、いくつかの自動車メーカーは、自動車の走行中には診断メッセージを受け付けないことで、非特許文献1で用いられる攻撃に対する安全対策を行っていることが開示されている。さらに、非特許文献2において、攻撃者が自動車の速度情報を改ざんして送信すると、走行中の自動車において、自動車は停止中であると誤認させることが可能であり、走行中に受け付けて従うと危険な内容の診断メッセージであっても受け付けてしまう可能性があることも開示されている。
Charlie Miller & Chris Valasek, Remote Exploitation of an Unaltered Passenger Vehicle, 2015/8/10 Charlie Miller & Chris Valasek, CAN Message Injection, 2016/6/28
上記の様な手法による攻撃は走行中の車両の制御に大きな影響を与えて事故等を招くおそれがある。このような攻撃には、適切な検知と対処が可能な対策が必要である。
本発明は、このような攻撃に繋がる異常を検知し、適切に対処することのできる異常検知電子制御ユニット(異常検知ECU)、車載ネットワークシステム、及び、異常検知方法を提供する。
上記目的を達成するために、本発明の一態様に係る異常検知ECUは、複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、前記異常検知電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
また、本発明の一態様に係る車載ネットワークシステムは、車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、前記異常検知電子制御ユニットは、前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
また、本発明の一態様に係る異常検知方法は、複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む。
なお、これらの包括的又は具体的な態様は、集積回路、コンピュータプログラム、又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本発明によれば、改ざんした速度情報を表すメッセージの車載ネットワークへの送信を含む攻撃による異常を検知し、対処することができる。
図1は、実施の形態に係る車載ネットワークシステムの全体構成を示す図である。 図2は、実施の形態に係るCANプロトコルのデータフレームのフォーマットを示す図である。 図3は、実施の形態に係る異常検知ECUの構成を示す図である。 図4は、実施の形態に係る異常可能性判定テーブルの一例を示す図である。 図5は、実施の形態に係るブレーキECUの構成を示す図である。 図6は、実施の形態に係る受信IDリストの一例を示す図である。 図7は、実施の形態に係る異常検知処理の一例を示すフローチャートである。 図8は、実施の形態に係る車両の走行状態の判定処理の一例を示すフローチャートである。 図9は、実施の形態に係る周辺情報に基づく車両の走行状態の判定処理の一例を示すフローチャートである。 図10は、実施の形態に係る異常可能性の判定処理の一例を示すフローチャートである。
本発明の一実施態様の異常検知電子制御ユニットは複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、前記異常検知電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
例えば、前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第一走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも3つの段階で表し、さらに前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第二走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも3つの段階で表し、前記異常判定部は、前記第一走行状態を表す前記段階と前記第二走行状態を表す前記段階との差の大きさに応じて前記第一通信メッセージの異常の可能性の高さを判定し、前記異常処理部が行う前記処理は、前記異常の可能性の高さに応じて内容が異なってもよい。
これにより、車両で検知された異常の可能性の高さに応じた適切な対処を実行することができる。例えば、前記処理は、前記車両の使用者への前記異常の発生の通知を含んでもよい。例えば、前記処理は、前記車両の運転操作への介入のための指示を含んでもよい。
例えば、前記第一走行状態と前記第二走行状態とが一致しない場合で、前記第二走行状態は高速走行状態であるとき、前記異常判定部は、前記第二走行状態が低速走行状態であるときよりも前記異常の可能性を高く判定してもよい。
一般的に車両の速度が上がるにつれて、事故等の危険性は増し、被害は大きくなる。より高速で走っている車両の異常の可能性を高く判定するよう扱うことで、適切な対処を実行することができる。
例えば、前記第二通信メッセージは3種類以上の周辺情報を表し、前記走行状態判定部は、前記3種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態に異なる走行状態が含まれる場合、前記3種類以上のメッセージのそれぞれを用いて判定した走行状態のうち最も多い走行状態を、前記第二走行状態と判定してもよい。また、前記走行状態判定部は、前記3種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態のうち最も多い走行状態が同数で複数ある場合、前記複数の最も多い走行状態のうち、最も新しい前記第二通信メッセージを用いて判定した走行状態を、前記第二走行状態と判定してもよい。
これにより、走行状態を表す情報について、別の情報を用いて検証がなされ、走行状態を表す情報が改ざんされていてもその異常を正確に検知できる可能性を高めることができる。
例えば、前記第二通信メッセージは、前記車両が備える車載カメラにより撮影された画像の画像情報を含み、前記走行状態判定部は、前記画像情報を用いて前記車両の走行状態を判定してもよい。また、前記第二通信メッセージは、前記車両のステアリングホイール、ペダル及びシートの少なくともひとつへの前記車両の使用者による接触があった時刻を示す接触時刻情報を含み、前記走行状態判定部は、前記接触時刻情報を用いて前記車両の走行状態を判定してもよい。また、前記第二通信メッセージは、前記車両の現在地を示す現在地情報を含み、前記走行状態判定部は、前記現在地情報を用いて前記車両の走行状態を判定してもよい。
これにより、関連する情報を用いて自動車の走行状態を推測することができ、車載ネットワークを流れる走行状態を表す情報が改ざんされている場合にも、異常を正確に検知できる可能性を高めることができる。
例えば、前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、前記受信部は、前記外部通信装置が前記外部ネットワークから受信した外部メッセージを受信し、前記第一通信メッセージは異常であると判定された場合、前記異常処理部はさらに前記外部メッセージを無効化してもよい。
これにより、診断用ポートなどの経路を用いた不正なメッセージの注入による攻撃による影響を抑えることができる。
例えば、前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、前記外部通信装置は前記外部ネットワークを介して監視サーバと接続され、前記異常処理部は、前記異常判定部が行った判定の結果を前記監視サーバに送信してもよい。
これにより、一台の自動車へのサイバー攻撃の情報を、多数の自動車でのセキュリティ対策のための共有の資産として利用することができる。
例えば、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの少なくとも一方を受信していない場合、前記異常判定部は、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの両方を受信している場合よりも前記異常の可能性をより高く判定すると判定してもよい。
これにより、走行状態を表す情報の検証に用いる情報が、サイバー攻撃が原因で揃わない場合には、より安全な対処を執ることができる。
本発明の一態様に係る車載ネットワークシステムは車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、前記異常検知電子制御ユニットは、前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える。
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
本発明の一態様に係る異常検知方法は複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む。
これにより、改ざんした車両の速度を表す情報を含む不正なメッセージが車載ネットワークに送信されたとしても、このメッセージの異常を適切に検知して対処することができる。
以下では、本発明の異常検知電子制御ユニット、異常検知システム、及び、異常検知方法について、図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する趣旨ではない。よって、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素は、課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
なお、当業者が本発明を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
また、各図は模式図であり、必ずしも厳密に図示されたものではない。各図において、実質的に同一の構成要素には同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。
(実施の形態)
本実施の形態に係る車載ネットワークシステムについて図面を参照しながら説明する。
[1.構成]
以下、本実施の形態として、車載ネットワークに送信されている複数種類のメッセージから車両の走行状態を多重的に判定し、判定した車両の走行状態に基づいて、車両の速度情報が改ざんされているか否かの判定を実施し、改ざんされたメッセージに基づく処理が実行されることを阻止するための異常検知方法を実現する異常検知ECUを含む車載ネットワークシステムについて図面を用いて説明する。
[1.1.車載ネットワークシステムの全体構成]
図1は、本実施の形態にかかる車載ネットワークシステムの全体構成を示す図である。図1に示すように、車載ネットワークシステム10は、異常検知ECU11と、エンジンECU100と、ブレーキECU200と、車載カメラECU300と、ステアリングECU400と、GPS(Global Positioning System) ECU500と、外部通信装置600とを含み、これらの構成は車載ネットワーク700を介して接続されている。車載ネットワーク700は、CANネットワークで構成される。車載ネットワークシステム10は、自動車である車両1に搭載される。
なお、図1では省略しているが、車載ネットワークシステム10には上述のECU以外にもいくつものECUが含まれ得るが、ここでは便宜上、上記のECUに注目して説明を行う。また、図示のECUの中にはセンサ、アクチュエータ等の各種の機器が接続されるものも含まれ得るが、便宜上図示及び網羅的な説明は省略し、以下の説明では必要に応じて言及する。
上述の各ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わせられたものである。
また、ここでは、車載ネットワーク700には不正なメッセージを送信する不正ECUが接続されている可能性があることを前提として説明する。
車載ネットワークシステム10は、外部ネットワーク1000を介して外部機器800及び監視サーバ900と接続されている。
異常検知ECU11は、車載ネットワーク700に送信されたメッセージのうち、速度情報を表すメッセージに対して異常可能性の判定をする。また、異常検知ECU11は、異常である可能性の高さに応じた所定の対処のための処理を実行する機能を有する。異常検知ECU11の詳細な構成は後述する。
エンジンECU100は、車両1のエンジン(図示無し)に接続され、エンジンから車両1の速度を示す速度情報を取得し、取得した速度情報を表すメッセージに所定のIDを付けて、周期的に車載ネットワーク700に送信する。例えば、速度情報を表すメッセージのIDの値は「1」であり、速度情報は、時速(km/時)を表し、速度情報の値は0km/時である。速度情報を表すこのメッセージは、本実施の形態における第一通信メッセージの例である。
ブレーキECU200は、車両1のブレーキに接続され、ブレーキからブレーキのかかり具合を示すブレーキ情報を取得する。例えば、ブレーキ情報においてブレーキが最大限かけられている状態は100%とし、ブレーキを全くかけられていない状態を0%として、かかり具合が割合で示される。ブレーキECU200は、取得したブレーキ情報を表すメッセージに所定のIDを付けて、周期的に車載ネットワーク700に送信する。例えば、ブレーキ情報を表すメッセージのIDの値は「2」であり、このメッセージが表すブレーキ情報の値は50%である。なお、本実施の形態の説明では、ブレーキECU200に対して外部から診断メッセージが送信される場合を例に用いることがある。
車載カメラECU300は、例えば、車両1の進行方向の前方を撮影可能に設置された車載カメラと接続され、車載カメラが撮影した画像を示す画像データを取得する。車載カメラECU300は、取得した画像データに関する情報をさらに取得し、この情報を表すメッセージに所定のIDを付けて、周期的に車載ネットワーク700に送信する。例えば、画像データに関する情報を表すメッセージのIDの値は「3」であり、このメッセージが表す画像データに関する情報の値とは、例えば画像の特徴を数値として表現した特徴量の値である。この特徴量は、後述する異常検知ECU11による車両1の走行状態の判定に用いられる周辺情報の一例である。なお、以下ではこの画像の特徴量を指して画像情報ともいう。また、画像情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
ステアリングECU400は、車両1のステアリングホイールに接続され、ステアリングホイールから車両1の使用者によるステアリングホイールへの接触が発生した最新の時刻を表す接触時刻情報を取得する。そしてステアリングECU400は、取得した接触時刻情報を表すメッセージに所定のIDを付けて、周期的に車載ネットワーク700に送信する。例えば、接触時刻情報を表すメッセージのIDの値は「4」であり、このメッセージが表す接触時刻情報の値は「2018年4月17日19時42分30秒」である。この接触時刻情報は、後述する異常検知ECU11による車両1の走行状態の判定に用いられる周辺情報の一例である。また、接触時刻情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
GPS ECU500は、車両1に搭載されたGPS受信機に接続され、GPS受信機から車両1の現在地の座標を示す現在地情報を取得する。そしてGPS ECU500は、取得した現在地情報を表すメッセージに所定のIDを付けて、周期的に車載ネットワーク700に送信する。例えば、現在地情報を表すメッセージのIDの値は「5」であり、このメッセージが表す現在地情報は(緯度、経度)を表し、現在地情報の値は(34.741567、135.571486)である。この現在地情報は、後述する異常検知ECU11による車両1の走行状態の判定に用いられる周辺情報の一例である。また、現在地情報を表すこのメッセージは、本実施の形態における第二通信メッセージの一例である。
また、各ECUは、他のECUが送信したメッセージを車載ネットワーク700から読み出し、メッセージに付されたIDに応じてメッセージを選択的に受信する。
外部通信装置600は、車両1の外部と車載ネットワーク700との通信を仲介する。すなわち、車両1の外部からデータを受信し、受信したデータを表すメッセージにそのデータの種類に応じた所定のIDを付けて車載ネットワーク700に送信する。また、外部通信装置600は、各ECUから車載ネットワーク700に送信されたメッセージを読み出し、メッセージに付与されたIDに応じてメッセージを選択的に受信し、メッセージに含まれる情報を必要に応じて車両1の外部へ送信する。図1では、外部通信装置600は、上記の通信の相手である車両1の外部にある外部機器800及び監視サーバ900と、外部ネットワーク1000を介して通信を行うことが示されている。
外部ネットワーク1000は、外部通信装置600と外部機器800及び監視サーバ900とが通信するための通信ネットワークである。外部ネットワーク1000の通信方法は、有線もしくは無線またはこれらの両方によるものであってもよい。また、無線通信方式は、既存技術であるWi−Fi(登録商標)、3GもしくはLTE(Long Term Evolution)によるものであってもよいし、又はさらに新しい技術によるものであってもよい。
外部機器800は、例えば自動車の故障診断機(以下、診断ツールともいう)であり、車両1に搭載されるエンジン又はブレーキ等の診断のためのメッセージ(本開示において診断メッセージという)を送信する。診断メッセージは車載ネットワークシステム10の外部通信装置600によって受信され、さらに外部通信装置600から車載ネットワーク700へ送信される。診断メッセージには、自動車が備える装置に特定の動作を実行させるものもある。例えばブレーキに特定の動作をさせる診断メッセージを外部通信装置600が受信すると、この診断メッセージは車載ネットワーク700を介してブレーキECU200に受信される。ブレーキECU200は、診断メッセージが示す特定の動作の指示に従ってブレーキを制御する。
監視サーバ900は、外部ネットワーク1000を介して外部通信装置600と通信を行い、例えば車載ネットワークシステム10で発生した異常に関する情報を取得する。
[1.2.メッセージのフォーマット]
図2は、CANプロトコルのメッセージのフォーマットを示す図である。ここではCANプロトコルにおける標準IDフォーマットにおけるデータフレームのメッセージのフォーマットを示している。
データフレームのメッセージは、Start Of Frame(図中及び以下、SOFともいう)、IDフィールド、Remote Transmission Request(図中及び以下、RTRともいう)、IDentifier Extension(図中及び以下、IDEともいう)、予約bit(図中及び以下、rともいう)、データレングスコード(図中及び以下、DLCともいう)、データフィールド、Cycric Redundancy Check(図中及び以下、CRCともいう)シーケンス、CRCデリミタ(図中、左のDEL)と、Acknowledgement(図中及び以下、ACKともいう)スロット、ACKデリミタ(図中、右のDEL)、及びEnd Of Frame(図中及び以下、EOFともいう)の複数のフィールドから構成される。
SOFは、1bitのドミナントである。ドミナント(優性の意)とは、データの伝達にデジタル方式が用いられる車載ネットワーク700において、バスを構成する2本のケーブルに“0”の値を送信するよう電圧がかけられたバスの状態、又は送信されるこの“0”の値のことである。これに対し、当該2本のケーブルに“1”の値を送信するよう電圧がかけられたバスの状態、又は送信されるこの“1”の値のことはレセシブ(劣性の意)と呼ばれる。ドミナント及びレセシブの名称はこれらの値の関係を表し、車載ネットワークシステム10の2つのノードから車載ネットワーク700のバスに同時に“0”の値と“1”の値とが送信された場合、“0”の値が優先される。アイドル時のバスの状態はレセシブである。各ECUは、バスの状態をレセシブからドミナントへ変化させることでメッセージの送信を開始し、他のECUはこの変化を読み取って同期する。図2において、メッセージを構成するフィールドの上下にあるドミナント又はレセシブを示す線が実線である部分は、当該フィールドがドミナント又はレセシブの各値を取り得ることを示す。例えばSOFが含む値はドミナントのみであるため、図2のSOFの部分でドミナントの線は実線であり、レセシブの線は破線である。
IDフィールドは、メッセージが含むデータの種類を示す11bitの値で表されるIDを含む。またCANでは、複数のノードが同時に送信を開始したメッセージ間での通信調停において、IDの値がより小さいメッセージがより高い優先度となるよう設計されている。
RTRとは、メッセージがデータフレームであることを示す1bitのドミナントである。
IDEとrは、それぞれ1bitのドミナントである。
DLCは、続くデータフィールドの長さを示す4bitの値である。
データフィールドは、送信されるデータの内容を示す値であり、最大64bit長で、8bit単位で長さを調整できる。送信されるデータのこの部分への割り当てに関する仕様は、車種又は製造者に依存する。
CRCシーケンスは、同メッセージで先行するSOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される15bitの値である。
CRCデリミタは1bitのレセシブ固定の、CRCシーケンスの終了を表す区切り記号である。受信ノードは、受信したメッセージのSOF、IDフィールド、コントロールフィールド、及びデータフィールドの値から算出した結果をCRCシーケンスの値と比較することでメッセージを正常に受信できたか否か判断する。
ACKスロットは1bit長で、送信ノードはこの部分でレセシブを送信する。同じ時間に受信ノードは、CRCシーケンスまで正常に受信ができていれば確認応答としてドミナントを送信する。バスの状態はドミナントが優先されるため、1メッセージの通信がCRCシーケンスまで正常に行われていれば、ACKスロットの送信時におけるバスの状態はドミナントである。
ACKデリミタは1bitのレセシブ固定の、ACKスロットの終了を表す区切り記号である。
EOFは7bitのレセシブ固定で、メッセージの終了を示す。
CANで規定されるデータフレームのメッセージのフォーマットについて、以下の本実施の形態の説明の理解を容易にするために上記のとおり説明した。なお、CANではメッセージのフォーマットとして他にリモートフレーム、オーバーロードフレーム及びエラーフレームが規定されている。リモートフレームは、データフレームの要求に用いられる。オーバーロードフレームは、次フレームの開始を遅延させる場合に用いられる。エラーフレームはノードでの各種のエラーの検出時に送信され、CANネットワーク上で直近のフレームの送信を中断させる。データフレーム以外のこれらのフォーマットの詳細については説明を省略する。
[1.3.異常検知ECUの構成]
次に、異常検知ECU11の詳細な構成について説明する。図3は、本実施の形態に係る異常検知ECU11の構成を示す図である。図3に示すように、異常検知ECU11は、送受信部111と、走行状態判定部112と、異常判定部113と、解釈部114と、生成部115と、異常可能性判定テーブル保持部116と、通信部117とを備える。
異常検知ECU11は、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、この制御プログラムに従って動作することにより、異常検知ECU11は各種機能を実現する。また、異常検知ECU11の上記の構成要素は、例えばメモリに記憶される1個又は複数個のコンピュータプログラムをプロセッサが実行することで実現される機能的な構成要素である。なお、コンピュータプログラムとは、プロセッサに対する指令を示す命令コードが、所定の機能が達成されるように組み合わされたものをいう。
送受信部111は、車載ネットワーク700に対して、CANプロトコルに従ったメッセージを送受信する。即ち、送受信部111は、車載ネットワーク700上にメッセージの送信が開始された場合においてメッセージを受信する言わば受信部として働き、また、異常検知ECU11における処理の結果に応じたメッセージ等を車載ネットワーク700に送信する言わば送信部として働く。即ち、送受信部111は、車載ネットワーク700からメッセージを1bitずつ受信し、解釈部114に転送する。また、送受信部111は、生成部115より通知を受けたメッセージの内容を車載ネットワーク700に送信する。
解釈部114は、送受信部111からメッセージを構成する各bitの値を受け取り、CANプロトコルで規定されている上述のメッセージフォーマットにおける各フィールドにマッピングするよう解釈を行う。解釈部114は、メッセージのIDフィールドの値及びIDフィールドより後ろに現れるデータフィールドを走行状態判定部112へ転送する。
走行状態判定部112は、解釈部114から通知されるIDフィールドの値を受け取り、IDフィールドの値が所定の値に該当するか否かを判定する。
この所定の値とは、受信したメッセージが、速度情報を表すメッセージ、画像情報を表すメッセージ、接触時刻情報を表すメッセージ、及び現在地情報を示すメッセージのいずれかのメッセージであることを示すIDの値である。具体的には、走行状態判定部112は、IDの値が、「1」、「3」、「4」、及び「5」のいずれかに該当するか否かを判定する。
走行状態判定部112は、受信したメッセージのIDの値が、上記の所定の値に該当すると判定した場合、当該メッセージのデータフィールドの値を用いて車両1の走行状態を判定する。走行状態判定部112が判定する車両1の走行状態は、停止状態、低速走行状態、及び高速走行状態の3段階で表される。走行状態判定部112による車両1の走行状態の判定の具体的な内容については後述する。
走行状態判定部112は、IDの値が「1」であるメッセージ、つまり速度情報を表すメッセージを受信した場合、速度情報が示す車両1の速度に基づいて車両1の走行状態を判定する。
また、走行状態判定部112は、IDの値が「3」、「4」、及び「5」であるメッセージを受信した場合、つまり周辺情報である画像情報、接触時刻情報、及び現在地情報をそれぞれ表すメッセージを受信した場合、まず、各種類の周辺情報に基づいて車両1の走行状態を判定する。さらに走行状態判定部112は、判定の結果として得たこれらの走行状態に基づいて、周辺情報に基づく車両の走行状態を決定する。具体的には、走行状態判定部112は、3種類の周辺情報に基づいて判定した車両1の走行状態のうち2つ以上が同じ場合、その走行状態を周辺情報が表す車両1の走行状態とする。また、3つのメッセージを用いて判定した車両1の走行状態が全て異なる場合、受信時刻が最新のメッセージが表す周辺情報に基づいて判定した車両1の走行状態を周辺情報に基づく車両1の走行状態とする。
上記のように判定された速度情報に基づく走行状態、及び周辺情報に基づく走行状態は、走行状態判定部112から異常判定部113へ通知される。このように走行状態判定部112から異常判定部113へ通知される走行状態のうち、速度情報に基づいて判定された車両1の走行状態は、本実施の形態における第一走行状態の例であり、1種類以上の周辺情報に基づいて判定された車両1の走行状態は、本実施の形態における第二走行状態の例である。
異常判定部113は、走行状態判定部112から通知された第一走行状態及び第二走行状態を用いて、車載ネットワーク700に送信された速度情報を表すメッセージ(第一通信メッセージ)が異常である可能性の高さを判定する。本実施の形態は、異常の可能性の高さが、レベル0(異常なし)、レベル1(異常可能性:低)、レベル2(異常可能性:中)、レベル3(異常可能性:高)の4レベルで表される例を用いて説明する。異常判定部113による異常の可能性の判定は、例えば異常可能性判定テーブル(図4参照)を用いて行われる。異常可能性判定テーブルは、異常可能性判定テーブル保持部116で保持されている。異常可能性判定テーブルについての説明は後述する。
なお、第一通信メッセージは、上述のようにエンジンECU100がエンジンから取得した速度情報をデータフィールドに含めて車載ネットワーク700に送信するものは正常である。車載ネットワーク700に異常な第一通信メッセージが発生する例としては、攻撃者に乗っ取られたエンジンECU100が虚偽の速度情報を含むメッセージを車載ネットワーク700に送信する場合が挙げられる。また、攻撃者が仕掛けたECUがエンジンECU100になりすまして虚偽の速度情報を含むメッセージを車載ネットワーク700に送信する場合もある。また、診断ツールなどの外部機器になりすまして外部通信装置600を介して虚偽の速度情報を含むメッセージが車載ネットワーク700に注入される場合もある。
異常判定部113は、異常の可能性の高さに応じた処理を実行する。例えば異常の可能性をレベル3と判定した場合、異常判定部113は、異常可能性がレベル3であることを解釈部114へ通知してもよい。また、異常判定部113は、判定した異常の可能性がレベル2又は3である場合、異常が発生していることを示すエラー発生表示メッセージを送信するよう生成部115へ通知してもよい。例えば、このエラー発生表示メッセージに付されるIDは予め定められており、このIDのメッセージを車両1のヘッドユニット(図示なし)が受信すると、車両1の使用者に向けて所定のエラー発生表示を行うようにしてもよい。また例えば、異常判定部113は、速度情報を表すメッセージに異常があると判定した場合、つまり判定した異常の可能性がレベル1以上のいずれかである場合、異常が発生していることを通知するためのメッセージを車載ネットワーク700に送信するよう生成部115へ通知してもよい。例えば、他のECUに異常が発生していることを通知するためのメッセージのIDは予め定められており、このIDのメッセージは、車載ネットワーク700に接続される全てのECUの後述する受信IDリストに含まれていてもよい。また、異常の可能性がある場合、異常判定部113はさらに、受信して判定に用いた複数のメッセージに関連した情報、例えば、受信したメッセージの内容、受信時刻等を用いてログを生成し、生成したログを通信部117へ通知してもよい。また例えば、異常判定部113は、判定した異常の可能性が所定のレベル以上である場合、他のECUに対する所定の機能の制限又は所定の機能の実行、例えば車両1の運転操作に介入する指示のメッセージ、又はメッセージを無効化するメッセージ(エラーメッセージ)の生成及び送信を生成部115に通知してもよい。
これらのような、判定した異常の可能性の高さに応じた異常への対処のための処理の例は後述する。
通信部117は、異常判定部113から受け取ったログを監視サーバ900へ送信するよう外部通信装置600に通知する。
生成部115は、異常判定部113からの、上記のエラー発生表示メッセージの送信を指示する通知に従い、エラー発生表示メッセージを送受信部111へ通知して送信させる。さらに生成部115は、異常判定部113からの、上記の異常が発生していることを他のECUに通知するための上記のメッセージの送信を指示する通知に従い、異常が発生していることを通知するためのメッセージを送受信部111へ通知して送信させる。また生成部115は、異常判定部113からの通知に従って、他のECUへの指示を表す上記のメッセージを生成し、このメッセージを送受信部111へ通知して送信させてもよい。
このように、速度情報を表すメッセージに異常がある場合に、当該異常への対処のための処理を実行する、異常判定部113、通信部117及び生成部115は、それぞれ本実施の形態における異常処理部の例である。
[1.4.異常可能性判定テーブルの構成]
図4は、本実施の形態に係る異常可能性判定テーブルの一例を示す図である。図4において、異常可能性判定テーブルは、横列は速度情報に基づく車両1の走行状態、つまり第一走行状態を示し、縦列は周辺情報に基づく車両1の走行状態、つまり第二走行状態を示す。
第一走行状態と第二走行状態とが一致する場合、車両1の虚偽の速度を示す速度情報を表すメッセージが不正ECU等によって車載ネットワーク700に送信されていないと考えられる。本実施の形態の例ではこの考えに基づいて、第一走行状態が「停止状態」で、かつ第二走行状態が「停止状態」の場合、2つの情報がそれぞれ表す走行状態が一致するため、異常なしを示す「レベル0」とする。同様に、第一走行状態が「低速走行状態」で、かつ第二走行状態が「低速走行状態」の場合、第一走行状態が「高速走行状態」で、かつ第二走行状態が「高速走行状態」の場合、2つの情報がそれぞれ表す走行状態が同じであるため、異常なしを示す「レベル0」とする。
また、第一走行状態と第二走行状態とは一致しないが、その差の大きさは、車両1の虚偽の速度を示す速度情報を表すメッセージ(以下、不正メッセージともいう)が送信されていないときにも生じ得る範囲内であることがある。また、その差は不正メッセージが車載ネットワーク700に送信されても生じ得るが、この差による車両1の動作への影響の可能性はないか、又はあってもごくわずか(制御可能である)場合がある。本実施の形態の例では、第一走行状態が「停止状態」で、かつ第二走行状態が「低速走行状態」の場合、第一走行状態が「低速走行状態」で、かつ第二走行状態が「停止状態」または「高速走行状態」の場合、第一走行状態が「高速走行状態」で、かつ第二走行状態が「低速走行状態」の場合、2つの情報がそれぞれ表す走行状態間の差は上記のような小さな差であり、速度情報が異常である可能性は低いことを示す「レベル1」とする。
また、第一走行状態と第二走行状態とは一致せず、その差の大きさが、不正メッセージが送信されていないときに生じる可能性が低いものである場合がある。また、この差が原因で、車両1の動作に異常が発生する可能性がある場合がある。本実施の形態の例では、第一走行状態が「高速走行状態」で、かつ第二走行状態が「停止状態」の場合、2つの情報が表す走行状態間の差は上記のような差であり、速度情報が異常である可能性が中程度であることを示す「レベル2」とする。
また、第一走行状態と第二走行状態とは一致せず、その差の大きさが、不正メッセージが送信されていないときに生じる可能性が低いものである場合がある。また、この差が原因で、車両1に、事故を招き得る異常な動作又は故障若しくは著しい損耗の可能性がある場合がある。本実施の形態の例では、第一走行状態が「停止状態」で第二走行状態が「高速走行状態」の場合、2つの情報が表す走行状態間の差は上記のような差であり、速度情報は異常である可能性が高いことを示す「レベル3」とする。
[1.5.他のECUの構成]
次に、車載ネットワーク700に接続される異常検知ECU11以外の図1に示されるECUの詳細な構成について、ブレーキECU200を例に用いて説明する。なお、エンジンECU100、車載カメラECU300、ステアリングECU400、GPS ECU500の構成は、ブレーキECU200と基本的に同様である。ECUによって異なる点については、以下の説明中で挙げる。
図5は、ブレーキECU200の構成を示す図である。ブレーキECU200は、送受信部201と、解釈部202と、受信ID判断部203と、受信IDリスト保持部204と、処理部205と、生成部206と、取得部207とを備える。ブレーキECU200は、通信回路、メモリ、メモリに格納された制御プログラム(コンピュータプログラム)を実行するプロセッサ又はデジタル回路等により実現される。ブレーキECU200の上記の構成要素は、例えばメモリに記憶される1個又は複数個のコンピュータプログラムをプロセッサが実行することで実現される機能的な構成要素である。
送受信部201は、車載ネットワーク700に対して、CANプロトコルに従ったフレームを送受信する。即ち、送受信部201は、車載ネットワーク700からメッセージを1bitずつ受信し、解釈部202に転送する。また、送受信部201は、生成部206より通知を受けたメッセージを車載ネットワーク700に送信する。
解釈部202は、送受信部201からメッセージを構成する各bitの値を受け取り、CANプロトコルで規定されている上述のメッセージフォーマットにおける各フィールドにマッピングするよう解釈を行う。解釈部202は、メッセージのIDフィールドの値を受信ID判断部203へ転送する。解釈部202は、受信ID判断部203から通知される判定結果に応じて、IDフィールドの値と、IDフィールドより後ろに現れるデータフィールドとを、処理部205へ転送するか、判定結果を受信ID判断部203から受けた以降において当該メッセージの受信を中止する、つまりメッセージとしての解釈を中止するかを決定する。
受信ID判断部203は、解釈部202から通知されるIDフィールドの値を受け取り、受信IDリスト保持部204が保持している、受信するメッセージのIDのリスト(受信IDリスト)に従い、そのメッセージのIDフィールドより後ろの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ID判断部203は、解釈部202へ通知する。
受信IDリスト保持部204は、ブレーキECU200が受信するメッセージIDのリストである受信IDリストを保持する。図6は、受信IDリストの一例を示した図である。図6に例示する受信IDリストによれば、ブレーキECU200が受信するメッセージには、上述の各ECUが送信するメッセージのうち、速度情報を表すメッセージ(ID「1」)、画像情報を表すメッセージ(ID「3」)、接触時刻情報を表すメッセージ(ID「1」)、及び現在地情報を表すメッセージ(ID「5」)が含まれている。なお、受信IDリスト保持部204に保持される受信IDリストはECU毎に異なる内容となり得る。受信IDリストの構成については後述する。
処理部205は、受信したメッセージのデータに応じてECU毎に異なる機能に係る処理を行う。ブレーキECU200はブレーキに接続されており、ブレーキからブレーキのかかり具合を示すブレーキ情報を取得する。ここで、ブレーキECU200は、例えばアラーム音を鳴らすためのスピーカ(図示なし)にも接続され、ブレーキがかかっていないときに車両1のドアが開くと、このスピーカからアラーム音を鳴らす機能を備えると想定する。この機能は、ブレーキECU200の処理部205が、他のECUから受信したデータが示すドアの開閉状態を示す情報と、ブレーキから取得したブレーキ情報が示すブレーキのかかり具合とに基づいて一定条件下でアラーム音を鳴らす処理等を行うことで実現される。
ブレーキECU200が備える処理部205による別の処理例として、処理部205はブレーキの特定の動作を指示する診断メッセージを受信すると、所定の条件を満たす場合にこの特定の動作をブレーキに実行させる。具体的には、速度情報を表すメッセージを受信した処理部205は、この速度情報の値を保持する。そして処理部205は、ブレーキの特定の動作を指示する診断メッセージをさらに受信した場合、保持していた速度情報の値が0km/時であるときは、この診断メッセージが示すブレーキの動作の制御処理を行い、保持していた速度情報の値が0km/時でないときは、この診断メッセージが示すブレーキの動作の制御処理を行わない。また、異常検知ECU11から異常が発生していることを通知するメッセージを受信している場合にさらにブレーキの特定の動作を指示する診断メッセージを受信したとき、処理部205は、保持していた速度情報の値に関係なく、この診断メッセージが示すブレーキの動作の制御処理を行わない。
なお、他のECUが備える処理部205の処理内容の例としては、例えば、エンジンECU100が備える処理部205は、時速が30kmを超え、かつ車両1のドアが開いている場合にアラーム音を鳴らす機能に係る処理を含んでもよい。また、各ECUが備える機能は、本開示で例示する機能に限定されない。
取得部207は、ブレーキECU200が接続されているセンサ等の機器から状態等を示すデータを取得し、取得したデータの値を生成部206に通知する。例えば取得部207は、ブレーキECU200が接続されているブレーキが備えるセンサから、ブレーキのかかり具合を示すデータをブレーキ情報として取得する。
生成部206は、取得部207より通知されたデータの値に対して、予め定められたIDを付けて上述のメッセージフォーマットのメッセージを生成し、このメッセージを送受信部201へ通知する。例えば取得部207から上記のブレーキ情報を取得した生成部206は、IDフィールドにIDの値「2」を含み、データフィールドにブレーキ情報の値を含むメッセージを生成して送受信部201へ通知する。
[1.6.受信IDリストの構成]
図6は、ブレーキECU200において保持される受信IDリストの一例を示す図である。同図に例示する受信IDリストは、ID(メッセージID)の値が「1」、「3」、「4」、「5」及び「6」のいずれかであるメッセージIDを含むフレームを選択的に受信して処理するために用いられる。例えば、ブレーキECU200の受信IDリスト保持部204に図6の受信IDリストが保持されていると、メッセージIDの値が「1」、「3」、「4」、「5」及び「6」のいずれでもないフレームは、解釈部202でのメッセージのIDフィールドより後ろにあるフィールドの解釈が中止される。
[2.異常検知処理]
図7は、異常検知ECU11による本実施の形態に係る異常検知処理の一例を示すフローチャートである。異常検知ECU11は、上述の各構成要素がその機能を発揮することで以下の処理を実行する。
(S101)異常検知ECU11は、車載ネットワーク700からメッセージを受信する。
(S102)異常検知ECU11は、受信したメッセージのIDの値から、受信したメッセージが異常検知処理で用いるメッセージか否かを判定する。具体的には、異常検知ECU11は、メッセージのIDの値が「1」、「3」、「4」、「5」のいずれかであるか否かを判定する。メッセージのIDの値が「1」、「3」、「4」、「5」のいずれかである場合(Yesの場合)、異常検知ECU11は、ステップS103の処理へ進み、メッセージのIDの値が「1」、「3」、「4」、「5」のいずれでもない場合(Noの場合)、異常検知ECU11は異常検知処理を終了する。
(S103)異常検知ECU11は、メッセージのデータフィールドの値を用いて、車両1の走行状態を判定する。この判定の処理の詳細については後述する。なお、IDの値が「1」のメッセージを用いて判定された車両1の走行状態は、本実施の形態における第一走行状態である。
(S104)異常検知ECU11は、受信したメッセージのIDの値から、メッセージの種類が周辺情報、つまり画像情報、接触時刻情報及び現在地情報のいずれかであるか否かを判定する。具体的には、異常検知ECU11は、メッセージのIDの値が「3」、「4」、「5」のいずれかであるか否かを判定する。メッセージのIDの値が「3」、「4」、「5」のいずれかである場合(Yesの場合)、異常検知ECU11は、ステップS105の処理へ進み、メッセージのIDの値が、「3」、「4」、「5」のいずれでもない場合、すなわち、メッセージのIDの値が速度情報を表すメッセージの「1」の場合(Noの場合)、異常検知ECU11は、ステップS106の処理へ進む。
(S105)異常検知ECU11は、画像情報、接触時刻情報及び現在位置情報を表す種類のメッセージそれぞれを用いて車両1の走行状態を判定する。そして異常検知ECU11は、この判定によって得た3つの判定結果である走行状態に基づいて、周辺情報に基づく車両1の走行状態(第二走行状態)を決定する。詳細は後述する。
(S106)異常検知ECU11は、第一走行状態と第二走行状態とを用いて、受信した速度情報について、不正なメッセージである異常の可能性の高さ(異常の有無)判定する。
[2.1.車両の走行状態の判定処理]
次に、異常検知処理における、車両の走行状態の判定処理(図7のステップS103)について説明する。図8は、異常検知ECU11による本実施の形態に係る車両1の走行状態の判定処理の一例を示すフローチャートである。
(S201)異常検知ECU11は、受信したメッセージのデータフィールドの値から、車両の走行状態が停止状態であるか否かを判定する。具体的には、受信したメッセージの種類に応じて以下のように判定される。
受信したメッセージが速度情報を表す場合、異常検知ECU11は、データフィールドの値が0km/時であるか否かを判定する。データフィールドの値が0km/時である場合(Yesの場合)、異常検知ECU11は、ステップS203へ処理を進め、データフィールドの値が0km/時でない場合(Noの場合)、異常検知ECU11は、ステップS202へ処理を進める。
受信したメッセージが画像情報を表す場合、異常検知ECU11は、データフィールドの値である特徴量を、所定の時間前に取得した特徴量と比較して2つの特徴量の類似度を算出し、類似度が所定の値より高いか否かを判定する。算出した類似度が所定の値より高い場合(Yesの場合)、異常検知ECU11は、ステップS203へ処理を進め、算出した類似度が所定の値以下の場合(Noの場合)、異常検知ECU11は、ステップS202へ処理を進める。
受信したメッセージが接触時刻情報を表す場合、異常検知ECU11は、データフィールドの値である車両の使用者によるステアリングホイールへの接触があった最新の時刻と現在時刻とを比較して、データフィールドの値が表す時刻が現在時刻から遡る所定の期間(第1の期間)より前であるか否かを判定する。データフィールドの値が表す時刻が第1の期間より前である場合(Yesの場合)、異常検知ECU11は、ステップS203へ処理を進め、データフィールドの値が表す時刻が第1の期間以内である場合(Noの場合)、異常検知ECU11は、ステップS202へ処理を進める。
受信したメッセージが現在地情報を表す場合、異常検知ECU11は、データフィールドの値である現在地情報の値と所定の位置情報、例えば前回取得した現在地情報、又は所定の時間前に取得した現在地情報の値とを比較し、位置の変化が所定の範囲(第1の範囲)に収まっているか否かを判定する。位置の変化が第1の範囲に収まっている場合(Yesの場合)、異常検知ECU11は、ステップS203へ処理を進め、位置の変化が第1の範囲に収まっていない場合(Noの場合)、異常検知ECU11は、ステップS202へ処理を進める。
(S202)異常検知ECU11は、受信したメッセージのデータフィールドの値から、車両の走行状態が低速走行状態であるか否かを判定する。具体的には、受信したメッセージの種類に応じて以下のように判定される。
受信したメッセージが速度情報を表す場合、異常検知ECU11は、データフィールドの値が0km/時より大きく所定の値以下であるか否かを判定する。データフィールドの値が0km/時より大きく所定の値以下である場合(Yesの場合)、異常検知ECU11は、ステップS204へ処理を進め、データフィールドの値が0km/時より大きく所定の値以下でない、すなわち、データフィールドの値が所定の値を超える場合(Noの場合)、異常検知ECU11は、ステップS205へ処理を進める。
受信したメッセージが画像情報を表す場合、異常検知ECU11は、ステップS201で算出した類似度がステップS201で用いた所定の値より高い所定の範囲内か否かを判定する。算出した類似度が所定の範囲内である場合(Yesの場合)、異常検知ECU11は、ステップS204へ処理を進め、算出した類似度が所定の範囲内でない場合(Noの場合)、異常検知ECU11は、ステップS205へ処理を進める。
受信したメッセージが接触時刻情報を表す場合、異常検知ECU11は、ステップS201でデータフィールドの値が表す時刻が第1の期間以内、かつ第1の期間よりも短い現在時刻から遡る所定の期間(第2の期間)より前であるか否かを判定する。データフィールドの値が表す時刻が第1の期間以内かつ第2の期間より前である場合(Yesの場合)、異常検知ECU11は、ステップS204へ処理を進め、第2の期間以内である場合(Noの場合)、異常検知ECU11は、ステップS205へ処理を進める。
受信したメッセージが現在地情報を表す場合、異常検知ECU11は、ステップS201での比較で取得した位置の変化が第1の範囲よりも大きい所定の範囲(第2の範囲)に収まっているか否かを判定する。位置の変化が第2の範囲に収まっている場合(Yesの場合)、異常検知ECU11は、ステップS204へ処理を進め、位置の変化が第2の範囲に収まっていない場合(Noの場合)、異常検知ECU11は、ステップS205へ処理を進める。
(S203)異常検知ECU11は、受信したメッセージが表す車両1の走行状態は停止状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両1の進行方向の前方の景色の変化がなかったかごく小さい、つまり車両1が全く又はほとんど走行していない場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、ステアリング操作のない状態が、一般的な道路を走行中には可能性が低い程度に長い所定の時間にわたり継続している場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両1の位置に変化がないか、ごくわずかの場合、このように判定される可能性が高い。
(S204)異常検知ECU11は、受信したメッセージが表す車両1の走行状態は低速走行状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両1が所定の時間内に、進行方向の前方の景色が大きく変わらない程度の短い距離を走行した場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、車両1の使用者が運転のために実行した最後のステアリング操作から若干時間が経過している場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両1の位置が大きくはないが変化した場合、このように判定される可能性が高い。
(S205)異常検知ECU11は、受信したメッセージが表す車両1の走行状態は高速走行状態であると判定する。受信したメッセージが画像情報を表すメッセージであれば、例えば、車両1が所定の時間内に、進行方向の前方の景色がすっかり変わる長い距離を走行した場合、このように判定される可能性が高い。また、受信したメッセージが接触時刻情報を表すメッセージであれば、例えば、車両1の使用者が運転のために実行した最後のステアリング操作の直後の場合、このように判定される可能性が高い。また、受信したメッセージが現在地情報を表すメッセージであれば、位置情報が前回取得された時から車両1の位置が大きく変化した場合、このように判定される可能性が高い。
[2.2.周辺情報の車両の走行状態の判定処理]
次に、異常検知処理における、周辺情報に基づく車両の走行状態、つまり第二走行状態の判定処理(図7のステップS105)について説明する。異常検知ECU11は、異常検知処理のステップS103で判定した、周辺情報すなわち、メッセージの種類が、画像情報、接触時刻情報、現在位置情報のそれぞれに基づいて判定した車両1の走行状態の3つの判定結果に基づいて車両1の第二走行状態を判定する。図9は、異常検知ECU11による本実施の形態に係る車両1の第二走行状態の判定処理の一例を示すフローチャートである。
(S301)異常検知ECU11は、画像情報、接触時刻情報、現在位置情報のそれぞれに基づいて判定して得られた走行状態の3つの判定結果において、他の走行状態よりも多く得られたあるか否かを判定する。つまりこの場合、ある走行状態が2つ以上の判定結果で示される場合(Yesの場合)、異常検知ECU11は、ステップS303へ処理を進め、2つ以上の判定結果で示される走行状態がない、つまり3つの判定結果がすべて異なる場合(Noの場合)、異常検知ECU11は、ステップS302へ処理を進める。
(S302)異常検知ECU11は、受信時刻が最新のメッセージを用いた判定結果である走行状態を車両1の第二走行状態とする。
(S303)異常検知ECU11は、2つ以上の判定結果で示される走行状態を車両1の第二走行状態とする。
[2.3.異常可能性の判定処理]
次に、異常の可能性(異常の有無)の判定処理(図7のステップS106)の詳細について説明する。異常の可能性の判定処理では、異常検知ECU11は、車両1の第一走行状態と第二走行状態とを用いて、送信された走行情報を示すメッセージが不正なメッセージであるという異常の可能性の高さを判定する。また、本実施の形態における異常の可能性の判定処理には、判定された異常の可能性の高さに応じた対処も含まれる。図10は、異常検知ECU11による本実施の形態に係る異常の可能性の判定処理の一例を示すフローチャートである。
(S401)異常検知ECU11は、車両1の第一走行状態と第二走行状態とが一致しているか否かを判定する。一致している場合(Yesの場合)、異常検知ECU11は、ステップS404へ処理を進め、一致していない場合(Noの場合)、異常検知ECU11は、ステップS402へ処理を進める。
(S402)異常検知ECU11は、車両1の第一走行状態と第二走行状態との差が大きいか否かを判定する。ここでの第一走行状態と第二走行状態の差の大きさとは、3段階で表される各走行状態の段階の差の大きさであり、例えば、速度情報が表す車両1の走行状態が「停止状態」であり、かつ、周辺情報が表す車両1の走行状態が「高速走行状態」であれば、異常検知ECU11は、第一走行状態と第二走行状態との差が大きいと判定する。また、速度情報が表す車両1の走行状態が「停止状態」で周辺情報が表す車両1の走行状態が「低速走行状態」であれば、異常検知ECU11は、第一走行状態と第二走行状態との差は大きくないと判定する。つまりこの例では、速度情報が表す車両1の走行状態と、周辺情報が表す車両1の走行状態とに、走行状態を表す3段階で2段階の差がある場合に大きく異なると判定され、差がない又は1段階であれば、走行状態の差が大きいと判定される。差が大きい場合(Yesの場合)、異常検知ECU11は、ステップS403へ処理を進め、走行状態の差が大きくない場合(Noの場合)、異常検知ECU11は、ステップS405へ処理を進める。
(S403)異常検知ECU11は、車両1の第二走行状態が「高速走行状態」であるか否かを判定する。第二走行状態が「高速走行状態」である場合(Yesの場合)、異常検知ECU11は、ステップS407へ処理を進め、第二走行状態が「高速走行状態」でない場合(Noの場合)、異常検知ECU11は、ステップS406へ処理を進める。
(S404)異常検知ECU11は、異常なし(レベル0)と判定する。異常検知ECU11による異常検知処理は終了する。
(S405)異常検知ECU11は、走行情報を示すメッセージが異常である低い可能性がある(レベル1)と決定する。
(S406)異常検知ECU11は、走行情報を示すメッセージが異常である中程度の可能性がある(レベル2)と判定する。
(S407)異常検知ECU11は、走行情報を示すメッセージが異常である高い可能性がある(レベル3)と判定する。
なお、異常検知ECU11は、上述のステップS401からS407までを、図4の異常可能性判定テーブルを参照して行ってもよい。
以降の処理は、判定した異常の可能性の高さに応じた異常対処として行われる。
(S408)異常検知ECU11は、車両1のADAS(Advanced Driver Assistance System)機能を停止させるための指示を表すメッセージを車載ネットワーク700に送信する。この対処は、中程度の異常可能性がある場合に実行される対処の例である。
(S409)異常検知ECU11は、自動運転機能によって車両1を路肩などに退避させるための指示を表すメッセージを車載ネットワーク700に送信する。この対処は、高い異常可能性がある場合に実行される対処の例である。
(S410)異常検知ECU11は、車両1の使用者に向けて、異常に関する所定のエラー発生表示を車両1のヘッドユニット等にさせるためのエラー発生表示メッセージを車載ネットワーク700に送信する。この対処は、中程度又は高い異常可能性がある場合に実行される対処の例である。
(S411)異常検知ECU11は、車載ネットワーク700に流される診断メッセージを無効化する。例えば異常検知ECU11は、エラーフレームを送信して車載ネットワーク700上の診断メッセージの送信を中断させることでこの診断メッセージを無効化する。これにより、車載の装置への動作指示を含む不正な診断メッセージに従った動作が車両1で実行されることが防止される。
(S412)異常検知ECU11は、異常が発生していることを車載ネットワーク700に接続される全てのECUに通知するためメッセージを、車載ネットワーク700に送信する。
(S413)異常検知ECU11は、受信して判定に用いた複数のメッセージに関連した情報、例えば、受信したメッセージの内容、受信時刻等を用いてログを生成し、生成したログを監視サーバ900へ送信する。
[3.実施の形態の効果]
本実施の形態に係る車載ネットワークシステム10では、車載ネットワーク700に接続されるECUから送信される速度情報を表すメッセージを用いて判定された車両1の走行状態(第一走行状態)と、同じく車載ネットワーク700に他のECUから送信される周辺情報を表すメッセージを用いて判定された車両1の走行状態(第二走行状態)とが一致するかが判定される。一致しない場合には、速度情報を表すメッセージについて、さらに走行状態の差異の大きさに基づく速度情報の異常の可能性の高さが判定され、異常の可能性の高さに応じた処理が実行される。
これにより、例えば攻撃者が、改ざんした速度情報を表すメッセージを車載ネットワーク700に送信した上で、外部機器800である診断ツールから外部通信装置600を介して診断メッセージを車載ネットワーク700に送信しても、速度情報を表すメッセージの異常が検知される。
なお、第二走行状態は、複数種類の周辺情報のそれぞれに基づく走行状態の判定結果を用いて判定され得る。例えば3種類の周辺情報が取得された場合、各周辺情報に基づく判定結果として得られた走行状態のうち、2つの判定結果で同じ走行状態があれば、この走行状態が第二走行状態と判定される。これにより、車両1の速度以外の変化の影響も受け得る周辺情報に基づく走行状態の正確さを向上させることができる。例えば、交差点で曲がる直前と直後とでは、画像情報の変化、つまり高速走行状態と同じように大きい可能性がある。しかし交差点で曲がる直前及び直後でも、接触時刻情報及び現在地情報は車両の速度に応じた変化を示し得る。したがってこのような場合も、第二走行状態は、車両の速度を正確に反映して判定される可能性が高い。
また、速度情報を表すメッセージの異常に対処する処理も実行されることで、車両1はより安全な状態に維持され得る。また、異常に対処する処理は、異常の可能性の高さに応じた処理が実行される。例えば、想定される攻撃の中でも車両の走行中、特に高速走行時に攻撃の影響を抑えることが危険度の点から重要であるため、判定された異常の可能性が高いほど、手厚い内容の処理が実行される。また、異常の可能性が低い場合には、車両1の使用者の利便性を損なわないような内容の処理が実行される。例えば図10のフローチャートに示される処理例では、異常がないと判定された場合を除いて、異常の可能性の高さによらず、診断メッセージは無効化されることで、改ざんした診断メッセージを用いた攻撃は阻止される。また、車載ネットワーク700上の他のECUへの異常の発生の通知、及び監視サーバ900へのログの提供を行って、攻撃への警戒又は異常の拡大の抑止が図られている。また、異常の可能性がより高い場合には、ADAS等の高度な機能を停止して車両1の走行が攻撃によって送信される不正なメッセージに影響される可能性が抑えられる。さらに車両1の高速走行時には、車両1を速やかに安全な位置に移動させた上でその走行機能を停止させる(退避させる)ことで、車両1が事故を起こすことを回避して安全の維持が図られている。また、ADASの停止又は退避のように、安全の確保のために車両1の運転操作に関する機能への介入が発生する場合には、この介入について使用者に通知される。
(他の実施の形態)
以上のように、本発明に係る技術の例示として実施の形態を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。たとえば、以下のような変形例も本発明の一実施態様に含まれる。
(1)上記実施の形態では、車載ネットワークシステム10において、上記のように異常検知する機能は、他のECUとは独立した専用の異常検知ECUが備える構成によって提供されるものとして説明したが、これに限定されない。
異常検知する機能は、車載ネットワーク700に接続されたECUであれば、異常検知専用のECUである必要はなく、異常検知する機能とは異なる機能を併せ持っても構わない。例えば異常検知ECU11の上記の構成は、ブレーキECU200等の他の機能を有するひとつのECUの構成の一部であってもよい。
また、異常検知ECU11における機能の一部を他のECUの機能としてもよい。例えば異常検知ECU11の上記の構成要素の一部又は全部が、他の機能を有する複数のECUに分かれて含まれてもよい。この場合、これらのECUは、車載ネットワーク700又は専用線を介してデータを授受して連携し、上述の異常検知ECU11の機能を提供する。
また、異常検知ECU11における異常検知機能を、他のどのECUが行ってもよい。例えば、メッセージを受信し、メッセージの内容に応じて車両の制御を行うECU等が、異常検知ECU11と同様の異常検知の機能を構成してもよい。
なお、上記実施の形態の説明では、各種の周辺情報は個別のメッセージで表されているが、これに限定されない。例えば解釈部114の機能を担うECUが複数種類の周辺情報を一つのメッセージにまとめて走行状態判定部112の機能を担うECUに送信する場合が考えられる。また、周辺情報として用い得る情報には、後で例示する上記以外の種類の情報あり、そのうち複数種類がひとつのECUから異常検知ECUに提供される場合も考えられる。
また、例えば、車載ネットワークシステムが複数の車載ネットワークを含み、複数の車載ネットワーク間のメッセージの転送を行うゲートウェイECUが含まれる場合、このゲートウェイECUが異常検知の機能を有してもよい。ゲートウェイECUが各車載ネットワークの状態を監視するので有用である。
このような構成のゲートウェイECUでは、受信したメッセージに異常の可能性があると判定した場合に、受信した診断メッセージを転送しないことも本発明における診断メッセージの無効化の一態様である。
また、外部通信装置600として機能するECUが異常検知の機能を有してもよい。
また上述した異常検知ECU11の異常検知の機能を、秘密鍵の管理を行う鍵管理マスタECUに含めてもよい。
(2)上記実施の形態では、異常検知ECU11における、車両1の第二走行状態の判定に用いる周辺情報として、画像情報の類似度や、車両1の使用者によるステアリングホイールへの接触時刻、車両1の現在地の座標(経緯度)を用いたがこれらは周辺情報の例に過ぎない。
周辺情報としては、上記の他に、車両が備える各種センサでの感知時刻及びセンサ値、例えば、ペダル又はシートへの接触時刻も用い得る。また、接触時刻は、接触が発生した時刻に限定されず、接触が感知されなくなった時刻であってもよい。その他、車輪の回転速度、ヨーレート、加速度、操舵角、アクセル開度又はアクセルペダルの踏み量、制動レベル、エンジンの回転数、モータの回転数、イグニッションスイッチの状態、ハンドル(ステアリングホイール)の操舵トルク、前方障害物の有無、後方障害物の有無、前方障害物までの距離、後方障害物までの距離、左右の区画線の認識状態、左右の区画線までの距離等も周辺情報として利用することができる。
さらに、上記実施の形態では、異常検知ECU11は車両の第二走行状態の判定に3種類のメッセージを用いたが、これは一例に過ぎない。用いるメッセージは1種類でも2種類でも4種類以上でもよい。また、用いるメッセージの組み合わせも上記の各種のメッセージのうちいずれを組み合わせてもよい。
なお、それぞれのメッセージを用いてした判定の結果として得られた走行状態のうち、第二走行状態と判定される条件は、最も多い走行状態であることに限定されない。例えば、さらに下限が設けられてもよい。例えば7種類のメッセージが用いられる場合に、最も多い走行状態であって、3種類以上のメッセージを用いた判定の結果で一致したものであることが条件とされてもよい。または、過半数であることが条件とされてもよい。
また、例えば最も多い走行状態が同数で複数ある場合も、より新しいメッセージを用いて判定された走行状態を周辺情報に基づく車両の走行状態としてもよい。例えば5種類のメッセージが用いられる場合に、2つの判定結果が停止状態であり、2つの判定結果が低速走行状態である場合、停止状態と低速走行状態とのうち、より新しいメッセージを用いて判定された結果の方を周辺情報に基づく車両の走行状態と判定する。全ての判定結果の走行状態が異なる場合もこの一例として扱われてよい。
(3)上記実施の形態では、車両の走行状態の判定に用いられる第一通信メッセージ又は第二通信メッセージの取得タイミングについての限定がないが、限定があってもよい。例えば、第二走行状態の判定に用いられる複数の走行状態は、所定の時間幅内に取得された複数種類の第二通信メッセージを用いて判定されたものに限定されてもよい。また例えば、第一走行状態と第二走行状態との比較は、所定の時間幅内に取得された第一通信メッセージと第二通信メッセージとを用いてそれぞれ判定された第一走行状態と第二走行状態との間で行うものとしてもよい。より近い時刻に取得された情報に基づく車両の走行状態を用いることで、判定の精度が向上する。または、第一走行状態及び第二走行状態それぞれの判定に用いられた第一通信メッセージと第二通信メッセージとの時間差に応じて、第一走行状態と第二走行状態とが一致すると判定される基準が変更されてもよい。例えば、この時間差が小さいほど、走行状態をより多くの段階に分けて表すことで、同じ段階であると判定され得る第一走行状態と第二走行状態との速度差の許容範囲を小さくしてもよい。
(4)上記実施の形態での各種の周辺情報を用いた車両の走行状態の判定手法はそれぞれ一例に過ぎず、周辺情報を用いる他の手法が走行状態の判定に用いられてもよい。他の手法の例を挙げると、周辺情報が画像情報であれば、この画像情報を処理して取得するオプティカルフローを用いて車両の走行状態が判定されてもよい。また例えば、接触時刻情報の場合、接触時刻情報とECUが備えるタイマで計時される時間とを用いて、又は現在から遡って複数回分の取得済みの接触時刻情報とその取得の時間間隔とを用いて統計的に車両の走行状態が判定されてもよい。また例えば、車両の現在位置情報の場合、現在から遡って複数回分の取得済みの現在位置情報とその取得の時間間隔とを用いて統計的に車両の走行状態が判定されてもよい。
(5)上記実施の形態では、車両の走行状態として、停止状態、低速走行状態、高速走行状態の3段階を用いたが、一例に過ぎない。車両の走行状態として、少なくとも、停止状態と非停止状態があればよい。この場合、第一走行状態と第二走行状態とが一致すれば異常なしと判定され、一致しない場合は異常あり又は異常の可能性ありと判定される。また、より多くの段階に分けた非停止状態が用いられてもよい。または、走行状態は、各メッセージが表す情報に基づいて推測される速度値を上記の段階のように用いて判定されてもよい。この場合、第一走行状態として用いられるのは、速度情報が表す速度値でよい。また、第二走行状態として用いられる速度値は、各種の周辺情報に基づいて推測された速度値から統計的に求められてもよい。例えば、推測された速度値のうち、所定の差分内に収まる速度値の平均が第二走行状態として用いられてもよい。また、推測された速度値の差異、又は基になる走行情報が取得された時間差が所定の基準より大きい場合には、最新の走行情報に基づいて推測された速度値が第二走行状態として用いられてもよい。そして、速度情報の異常の有無又は可能性の判定は、第一走行状態である速度値と第二走行状態である速度値との差分の大きさに基づいて行われてもよい。この場合、例えば二つの速度値が所定の差分内であれば、速度情報に基づく走行状態と周辺情報に基づく車両の走行状態とが一致すると判定される。また、速度情報に基づく走行状態と周辺情報に基づく車両の走行状態とが一致しない場合には、二つの速度値の差分の大きさに応じて異常の可能性が判定される。
(6)攻撃の手法によっては、異常検知ECUが第一通信メッセージ又は第二通信メッセージを受信できない場合がある。例えば、CANバスに多量のパケットが送り込まれた場合には、受信側が受信できない程度の遅延が生じたり、メッセージ自体がロストしたりすることがある。また別の例として、特定の診断コマンドをCANバスに注入することによって、対象のECUが所定の時間にわたってパケット送信を停止させることができる。このような場合には、受信している両方を使用して走行状態の判定が実行される場合よりも異常の可能性がより高く判定されてもよい。例えば、第一通信メッセージが表す速度情報に基づく走行状態、つまり第一走行状態は低速走行状態の場合、図4の異常可能性テーブルによれば異常の可能性はレベル0か1である。しかし第二通信メッセージが受信できない場合、異常検知ECUは、異常の可能性はレベル2であると判定してもよい。また例えば、異常検知ECUでは、取得された第一通信メッセージを用いて第一走行状態が判定されているにもかかわらず、第二通信メッセージが取得できていない状態が所定時間長を超えて継続している場合には、図4の異常可能性テーブルに含まれるレベルよりさらに高いレベルの異常の可能性があると判定し、上記で説明したものよりも高度な異常の対処のための処理が実行されてもよい。
(7)上記実施の形態では、標準フォーマットのIDにおける例を示したが、拡張フォーマットのIDであってもよい。
(8)上記実施の形態では、メッセージは平文で送信される例を示したが、暗号化されていてもよい。またメッセージにメッセージ認証コードを含んでいてもよい。
(9)上記の実施の形態では、CANプロトコルに従って通信するネットワーク通信システムの例として車載ネットワークを示した。本発明に係る技術は、車載ネットワークでの利用に限定されるものではなく、ロボット、産業機器等のネットワークその他、車載ネットワーク以外のCANプロトコルに従って通信するネットワーク通信システムに利用してもよい。
また、車載ネットワークとしてCANプロトコルを用いていたが、これに限るものではない。例えば、CAN−FD(CAN with Flexible Data Rate)、FlexRay、Ethernet、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。
(10)上記実施の形態では、自動車である車両に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、適用範囲はこれに限られない。車両は自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。すなわち、モビリティネットワーク及びモビリティネットワークシステムにおけるセキュリティ対策として適用可能である。
(11)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(12)上記の実施の形態における各装置は、構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(13)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(14)本発明は、図7に示す処理の各工程を含む方法であるとしてもよい。また、この方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムを表すデジタル信号であるとしてもよい。
また、本発明は、上記のコンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
また、本発明は、上記のコンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサ及びメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。
また、本発明は、車載ネットワークに接続される、各々プロセッサ及びメモリを備える複数のECUが接続される車載ネットワークシステムとしてもよい。複数のECUには、ここまでに説明した異常検知ECU、外部通信装置、並びにエンジンECU及びブレーキECU等の車載の装置に接続されるECUが含まれる。また、車両のメーカ―又は使用者が関知しない不正ECUが含まれることもある。これらのECUのうち、車載ネットワークに車両の速度情報を表す第一通信メッセージを送出するものを第一ECUとする。また、周辺情報を表す第二通信メッセージを車載ネットワークに速度情報を送出するものを第二ECUとする。また、診断ツールなどの外部機器から外部通信装置を介して車載ネットワークに送信される外部メッセージを受信し、第一通信メッセージの値に応じて外部メッセージに対する処理を実行するECUを第三ECUとする。外部メッセージに対する処理とは、例えば外部メッセージに含まれる車載の装置の制御指示の実行をすることである。この制御指示は、第一通信メッセージの値に基づいて判定される車両の第一走行状態が停止状態である場合、第三ECUによって実行される。しかし、周辺情報に基づいて判定される車両の第二走行状態が第一走行状態と一致しない場合には、第一走行状態が停止状態であっても、この制御指示は第三ECUに実行されない。これは、第一走行状態と第二走行状態とが一致しない、つまり第一通信メッセージに異常の可能性があると判定した異常検知ECUが、異常への対処の処理として例えば外部メッセージを無効化したことによる。
また、上記のコンピュータプログラム又はデジタル信号を記録媒体に記録して移送することにより、又は上記のコンピュータプログラム又はデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
本発明は、車載ネットワークを含む車載ネットワークシステムに利用可能である。
1 車両
10 車載ネットワークシステム
11 異常検知ECU
100 エンジンECU
111、201 送受信部
112 走行状態判定部
113 異常判定部(異常処理部)
114、202 解釈部
115、206 生成部(異常処理部)
116 異常可能性判定テーブル保持部
117 通信部(異常処理部)
200 ブレーキECU
203 受信ID判断部
204 受信IDリスト保持部
205 処理部
207 取得部
300 車載カメラECU
400 ステアリングECU
500 GPS ECU
600 外部通信装置
700 車載ネットワーク
800 外部機器
900 監視サーバ
1000 外部ネットワーク

Claims (15)

  1. 複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットであって、
    前記異常検知電子制御ユニットは、
    前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信部と、
    前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、
    前記第一走行状態と前記第二走行状態とを比較して、一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、
    前記異常判定部が前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える、
    異常検知電子制御ユニット。
  2. 前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第一走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも3つの段階で表し、
    さらに前記走行状態判定部は、前記速度情報が示す前記車両の速度に応じて、前記第二走行状態を高速走行状態、低速走行状態、および停止状態の少なくとも3つの段階で表し、
    前記異常判定部は、前記第一走行状態を表す前記段階と前記第二走行状態を表す前記段階との差の大きさに応じて前記第一通信メッセージの異常の可能性の高さを判定し、
    前記異常処理部が行う前記処理は、前記異常の可能性の高さに応じて内容が異なる、
    請求項1に記載の異常検知電子制御ユニット。
  3. 前記第一走行状態と前記第二走行状態とが一致しない場合で、前記第二走行状態は高速走行状態であるとき、前記異常判定部は、前記第二走行状態が低速走行状態であるときよりも前記異常の可能性を高く判定する、
    請求項2に記載の異常検知電子制御ユニット。
  4. 前記第二通信メッセージは3種類以上の周辺情報を表し、
    前記走行状態判定部は、前記3種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態に異なる走行状態が含まれる場合、前記3種類以上のメッセージのそれぞれを用いて判定した走行状態のうち最も多い走行状態を、前記第二走行状態と判定する、
    請求項2又は3に記載の異常検知電子制御ユニット。
  5. 前記走行状態判定部は、前記3種類以上の周辺情報のそれぞれに基づいて判定した前記車両の走行状態のうち最も多い走行状態が同数で複数ある場合、前記複数の最も多い走行状態のうち、最も新しい前記第二通信メッセージを用いて判定した走行状態を、前記第二走行状態と判定する、
    請求項4に記載の異常検知電子制御ユニット。
  6. 前記第二通信メッセージは、前記車両が備える車載カメラにより撮影された画像の画像情報を含み、
    前記走行状態判定部は、前記画像情報を用いて前記車両の走行状態を判定する、
    請求項1から5のいずれか一項に記載の異常検知電子制御ユニット。
  7. 前記第二通信メッセージは、前記車両のステアリングホイール、ペダル及びシートの少なくともひとつへの前記車両の使用者による接触があった時刻を示す接触時刻情報を含み、
    前記走行状態判定部は、前記接触時刻情報を用いて前記車両の走行状態を判定する、
    請求項1から6のいずれか一項に記載の異常検知電子制御ユニット。
  8. 前記第二通信メッセージは、前記車両の現在地を示す現在地情報を含み、
    前記走行状態判定部は、前記現在地情報を用いて前記車両の走行状態を判定する、
    請求項1から7のいずれか一項に記載の異常検知電子制御ユニット。
  9. 前記処理は、前記車両の使用者への前記異常の発生の通知を含む、
    請求項1から8のいずれか一項に記載の異常検知電子制御ユニット。
  10. 前記処理は、前記車両の運転操作への介入のための指示を含む、
    請求項1から9のいずれか一項に記載の異常検知電子制御ユニット。
  11. 前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、
    前記受信部は、前記外部通信装置が前記外部ネットワークから受信した外部メッセージを受信し、
    前記第一通信メッセージは異常であると判定された場合、前記異常処理部はさらに前記外部メッセージを無効化する、
    請求項1から10のいずれか一項に記載の異常検知電子制御ユニット。
  12. 前記車載ネットワークには、さらに、外部ネットワークと通信を行う外部通信装置が接続され、
    前記外部通信装置は前記外部ネットワークを介して監視サーバと接続され、
    前記異常処理部は、前記異常判定部が行った判定の結果を前記監視サーバに送信する、
    請求項1から10のいずれか一項に記載の異常検知電子制御ユニット。
  13. 前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの少なくとも一方を受信していない場合、前記異常判定部は、前記受信部が前記第一通信メッセージ及び前記第二通信メッセージの両方を受信している場合よりも前記異常の可能性をより高く判定する、
    請求項1から12のいずれか一項に記載の異常検知電子制御ユニット。
  14. 車載ネットワークを介して通信する複数の電子制御ユニットと前記車載ネットワークに接続される異常検知電子制御ユニットとを含む車載ネットワークシステムであって、
    前記複数の電子制御ユニットは、第一電子制御ユニットと、第二電子制御ユニットと、第三電子制御ユニットと、外部ネットワークと通信を行う外部通信装置とを含み、
    前記第一電子制御ユニットは、前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージを前記車載ネットワークへ送信し、
    前記外部通信装置は、前記外部ネットワークから受信した外部メッセージを前記車載ネットワークへ送信し、
    前記第二電子制御ユニットは、前記車両の周辺情報を表す第二通信メッセージを前記車載ネットワークへ送信し、
    前記第三電子制御ユニットは、前記第一通信メッセージを受信すると、前記第一通信メッセージの値を保持し、前記外部メッセージを受信すると、保持している前記第一通信メッセージの値に応じて前記外部メッセージに対する処理を行い、
    前記異常検知電子制御ユニットは、
    前記第一通信メッセージ及び前記第二通信メッセージを受信する受信部と、
    前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定部と、
    前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定部と、
    前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常処理部とを備える、
    車載ネットワークシステム。
  15. 複数の電子制御ユニットが通信に用いる車載ネットワークに接続される異常検知電子制御ユニットにおける異常検知方法であって、
    前記車載ネットワークを搭載する車両の速度情報を表す第一通信メッセージ、及び前記車両の周辺情報を表す第二通信メッセージを受信する受信ステップと、
    前記速度情報に基づいて前記車両の第一走行状態を判定し、前記周辺情報に基づいて前記車両の第二走行状態を判定する走行状態判定ステップと、
    前記第一走行状態と前記第二走行状態とを比較して一致しない場合には、前記第一通信メッセージは異常であると判定し、一致する場合には、前記第一通信メッセージは正常であると判定する異常判定ステップと、
    前記第一通信メッセージは異常であると判定した場合、異常への対処のための処理を実行する異常対処ステップとを含む、
    異常検知方法。
JP2019557883A 2018-05-08 2019-05-07 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法 Active JP7231559B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018090228 2018-05-08
JP2018090228 2018-05-08
PCT/JP2019/018227 WO2019216306A1 (ja) 2018-05-08 2019-05-07 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法

Publications (2)

Publication Number Publication Date
JPWO2019216306A1 true JPWO2019216306A1 (ja) 2021-04-08
JP7231559B2 JP7231559B2 (ja) 2023-03-01

Family

ID=68467491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019557883A Active JP7231559B2 (ja) 2018-05-08 2019-05-07 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法

Country Status (5)

Country Link
US (1) US11398116B2 (ja)
EP (1) EP3793141B1 (ja)
JP (1) JP7231559B2 (ja)
CN (1) CN111052681B (ja)
WO (1) WO2019216306A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7243465B2 (ja) * 2019-06-03 2023-03-22 トヨタ自動車株式会社 車両システム
US11130455B2 (en) * 2019-10-22 2021-09-28 Ford Global Technologies, Llc Vehicle security enhancement
CN111431895B (zh) * 2020-03-20 2022-04-22 宁波和利时信息安全研究院有限公司 系统异常处理方法、装置及系统
CN111688613A (zh) * 2020-07-01 2020-09-22 陈泽 一种用于无人驾驶装置的监控方法及系统
CN112752682A (zh) * 2020-09-01 2021-05-04 华为技术有限公司 提高车辆安全性的方法和系统
CN112298208B (zh) * 2020-10-21 2022-05-17 长城汽车股份有限公司 自动驾驶横向辅助控制方法及横向辅助系统
EP3993345A1 (en) * 2020-10-28 2022-05-04 Furuno Hellas S.A. Apparatus and method for remote monitoring
CN114615103B (zh) * 2020-12-08 2023-12-29 丰田自动车株式会社 车载网络系统
CN112668523A (zh) * 2020-12-31 2021-04-16 深圳云天励飞技术股份有限公司 车辆行驶异常检测方法、装置、电子设备及存储介质
CN113212460B (zh) * 2021-06-17 2022-08-09 广州文远知行科技有限公司 一种车辆控制方法、装置、设备和存储介质
WO2023026750A1 (ja) 2021-08-26 2023-03-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 遠隔監視システム、異常検知システム、遠隔監視方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017047835A (ja) * 2015-09-04 2017-03-09 日立オートモティブシステムズ株式会社 車載ネットワーク装置
WO2018008453A1 (ja) * 2016-07-05 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629031B2 (en) * 2001-11-06 2003-09-30 Volvo Trucks North America, Inc. Vehicle tampering protection system
JP2007253861A (ja) * 2006-03-24 2007-10-04 Fujitsu Ten Ltd 車両制御装置
JP2009051407A (ja) * 2007-08-28 2009-03-12 Denso Corp 車両制御装置およびプログラム
KR101461880B1 (ko) * 2013-03-18 2014-11-14 현대자동차 주식회사 차량의 주행 정보 제공 방법 및 시스템
JP6077728B2 (ja) * 2014-12-01 2017-02-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法
US10798114B2 (en) * 2015-06-29 2020-10-06 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
KR20170031450A (ko) 2015-09-11 2017-03-21 주식회사 만도 차량 제어 장치 및 차량 제어 방법
JP6649215B2 (ja) * 2015-12-14 2020-02-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ装置、ネットワークシステム及び攻撃検知方法
US10275955B2 (en) 2016-03-25 2019-04-30 Qualcomm Incorporated Methods and systems for utilizing information collected from multiple sensors to protect a vehicle from malware and attacks
JP6846991B2 (ja) * 2016-07-05 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP7059684B2 (ja) * 2018-02-23 2022-04-26 トヨタ自動車株式会社 異常検知データ識別装置、および異常識別システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017047835A (ja) * 2015-09-04 2017-03-09 日立オートモティブシステムズ株式会社 車載ネットワーク装置
WO2018008453A1 (ja) * 2016-07-05 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法

Also Published As

Publication number Publication date
EP3793141A4 (en) 2021-08-11
EP3793141B1 (en) 2023-11-29
CN111052681A (zh) 2020-04-21
US20200334926A1 (en) 2020-10-22
US11398116B2 (en) 2022-07-26
EP3793141A1 (en) 2021-03-17
JP7231559B2 (ja) 2023-03-01
CN111052681B (zh) 2022-06-10
WO2019216306A1 (ja) 2019-11-14

Similar Documents

Publication Publication Date Title
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
US11190533B2 (en) Anomaly detection electronic control unit, onboard network system, and anomaly detection method
US11539727B2 (en) Abnormality detection apparatus and abnormality detection method
US11425128B2 (en) Unauthorized control suppression method, unauthorized control suppression device, and onboard network system
CN107925600B (zh) 安全处理方法以及服务器
JP7410223B2 (ja) 不正検知サーバ、及び、方法
CN106031098B (zh) 不正常帧应对方法、不正常检测电子控制单元以及车载网络系统
WO2019117184A1 (ja) 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
JP6807906B2 (ja) 車両へのコンピュータ攻撃を阻止するためのルールを生成するシステムおよび方法
JP6762347B2 (ja) 交通手段に対するコンピュータ攻撃を阻止するためのシステムおよび方法
CN112437056B (zh) 安全处理方法以及服务器
JPWO2019142458A1 (ja) 車両監視装置、不正検知サーバ、および、制御方法
JP2019008618A (ja) 情報処理装置、情報処理方法及びプログラム
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
WO2020203352A1 (ja) 異常検知方法及び異常検知装置
JP6558703B2 (ja) 制御装置、制御システム、及びプログラム
WO2020085330A1 (ja) 電子制御装置、電子制御方法及びプログラム
WO2021111681A1 (ja) 情報処理装置、制御方法及びプログラム
JP2019146145A (ja) 通信装置、通信方法及びプログラム
JP2019209961A (ja) 情報処理装置、監視方法、プログラム及びゲートウェイ装置
JP2019212976A (ja) 電子制御装置、監視方法、プログラム及びゲートウェイ装置
JP2019172261A (ja) 制御装置、制御システム、及び制御プログラム
JP2019209962A (ja) 情報処理装置、監視方法、プログラム及びゲートウェイ装置
JP6519829B1 (ja) 電子制御装置、監視方法、プログラム及びゲートウェイ装置
WO2021019635A1 (ja) セキュリティ装置、攻撃対応処理方法、コンピュータプログラム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230216

R150 Certificate of patent or registration of utility model

Ref document number: 7231559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150