JP7232832B2 - 不正検知方法及び不正検知装置 - Google Patents

不正検知方法及び不正検知装置 Download PDF

Info

Publication number
JP7232832B2
JP7232832B2 JP2020532475A JP2020532475A JP7232832B2 JP 7232832 B2 JP7232832 B2 JP 7232832B2 JP 2020532475 A JP2020532475 A JP 2020532475A JP 2020532475 A JP2020532475 A JP 2020532475A JP 7232832 B2 JP7232832 B2 JP 7232832B2
Authority
JP
Japan
Prior art keywords
frame
cycle
received
frames
fraud detection
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
JP2020532475A
Other languages
English (en)
Other versions
JPWO2020022444A1 (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 JPWO2020022444A1 publication Critical patent/JPWO2020022444A1/ja
Application granted granted Critical
Publication of JP7232832B2 publication Critical patent/JP7232832B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • 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/40241Flexray
    • 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
    • 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]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Description

本開示は、通信ネットワークにおける不正なフレームの発生を検知する技術に関する。
近年、自動車の車載システムには、電子制御ユニット(Electronic Control Unit、以下、ECU)と呼ばれる装置が多数配置されている。これらのECUをつなぐ通信ネットワークは、車載ネットワークとも呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも現在主流となっているController Area Network(以下CAN(登録商標))よりも高速かつ高信頼のプロトコルとして設計された、FlexRay(登録商標)という規格が存在する。
FlexRayでは、2本のより線の電圧差により“0”の値と“1”の値を表す。バスに接続されているECUはノードと呼ばれ、バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する点はCANと共通している。一方で、イベントトリガの通信方式が採用されているCANに対し、FlexRayではタイムトリガー方式であるTime Division Multiple Access(以下、TDMA)が採用されている。FlexRayの車載ネットワークでは、各フレームは事前に定義されたタイミング及び順番で送信される。
一方、セキュリティに関しては、CANの車載ネットワークでは、攻撃者がバスにアクセスし、不正なフレームを送信することでECUを不正に制御するといった脅威が存在し、このような脅威に対するセキュリティ対策が検討されている。
例えば特許文献1では、車載ネットワーク監視装置を提案しており、フレームが予め規定された通信間隔でバスに送信されているかを検出し、規定された通信間隔から外れるフレームを不正と判断することで、不正なフレームによる制御を防止する方法が開示されている。
特許第5664799号公報
しかしながら、FlexRayの車載ネットワークでは、予め規定された通信間隔で通信が行われるため、ある特定の識別子(ID)を持つフレームの受信間隔は一定となり、特許文献1のような不正検知手法を適用することはできない。
本開示は、上記課題を解決するため、タイムトリガー方式であるプロトコルを採用している通信ネットワークにおいても不正なフレームの発生を検知可能な不正検知装置及び不正検知方法を提供し、より安全な通信ネットワークシステムを実現することを目的とする。
本開示の一様態に係る不正検知装置は、タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、前記不正検知装置は、前記フレームを受信するフレーム受信部と、前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知する。
また、本開示の一様態に係る不正検知方法は、タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、前記不正検知装置は、前記フレームを受信するフレーム受信部と、前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知する。
なお、これらの包括的又は具体的な態様は、システム、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本開示によれば、タイムトリガー方式を採用している通信ネットワークにおいても不正なフレームの発生の検知を可能とし、安全な車載ネットワークシステムを実現する。
図1は、実施の形態における車載ネットワークシステムの全体構成の例を示すブロック図である。 図2は、実施の形態におけるFlexRayのサイクルを説明するための図である。 図3は、実施の形態におけるFlexRayフレームのフォーマットを示す図である。 図4は、実施の形態におけるECUの機能的な構成の例を示すブロック図である。 図5は、実施の形態における不正検知ECUの機能的な構成の例を示すブロック図である。 図6は、実施の形態におけるスターカプラの構成例を示すブロック図である。 図7は、実施の形態における通信用設定パラメータの一例を示す図である。 図8は、実施の形態における正規IDリストの一例を示す図である。 図9は、実施の形態における正規IDリストに従った送受信スケジュールの一例を示す図である。 図10は、実施の形態における個別フレームルールの一例を示す図である。 図11は、実施の形態におけるサイクル別ルールの一例を示す図である。 図12は、実施の形態におけるフレーム種別ルールの一例を示す図である。 図13Aは、実施の形態における、受信履歴に含まれるフレームの内容に応じた種別の受信値及び車両状態の一例を示す図である。 図13Bは、実施の形態における、受信履歴に含まれる、サイクルごとの統計量の一例を示す図である。 図13Cは、実施の形態における、受信履歴に含まれるフレーム内容に応じた種別の全サイクルにおける統計量の一例を示す図である。 図13Dは、実施の形態における、受信履歴に含まれる動的フレームのMessage IDごとの統計量の一例を示す図である。 図14は、実施の形態における、不正検知ECUの動作の手順例を示すフローチャートである。 図15は、実施の形態における、不正検知ECUで実行されるホワイトリストを用いたチェックの手順例を示すフローチャートである。 図16は、実施の形態における、不正検知ECUのフレーム不正検知処理の手順例を示すフローチャートである。
本開示の一態様に係る不正検知装置は、タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、前記不正検知装置は、前記フレームを受信するフレーム受信部と、前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知する。これにより、フレームの種類を示すIDだけでなく、タイムスロットで構成されるサイクルの繰り返し回数に基づくルールを用いることができる。したがって、例えば単一のフレームを見るだけでは検知が困難な不正なフレームであっても、サイクル単位の所定期間の統計量を監視することで検知できるものに対処することが可能になる。
また、前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプがあり、前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、前記不正検知部は、前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知してもよい。これにより、サイクル単位での不正フレームの発生の検知が可能である。または、前記フレームには、当該フレームのペイロードの内容に応じた種別である第二タイプがあり、前記統計量は、前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記フレームの前記第二タイプごとの受信数、及び前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記第二タイプごとであって前記第一タイプごとの前記フレームの受信数の少なくとも一方に関する第二統計量を含み、前記不正検知部は、前記第二統計量を、前記第二統計量の基準範囲を示す前記ルールである第二ルールに照らして不正なフレームの発生を検知してもよい。これにより、フレームの内容に応じた種別での不正フレームの発生の検知が可能である。そして、前記フレームには、当該フレームのペイロードの内容に応じた種別である第二タイプがあり、前記統計量は、前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記フレームの前記第二タイプごとの受信数、及び前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記第二タイプごとであって前記第一タイプごとの前記フレームの受信数の少なくとも一方に関する第二統計量を含み、前記不正検知部は、前記第二統計量を、前記第二統計量の基準範囲を示す前記ルールである第二ルールに照らして不正なフレームの発生を検知してもよい。これにより、例えばサイクル単位での検知と、フレームの内容に応じた種別での発生源の特定に繋がる検知とで、状況に応じた使い分け、又は不正フレームの発生の確認のために両方を用いた精度の高い検知といった運用が可能になる。
また、前記不正検知部は、不正なフレームの発生を検知した場合、さらに、受信されたフレームごとに当該フレームが不正であるか否かを判断してもよい。これにより、従来と比べ高い通信速度でフレームを受信する不正検知装置の処理負荷を抑えつつ、不正フレームの発生の検知後には、より詳細な不正検知処理を実行し、車載ネットワークの安全性を高めることが可能となる。
また、前記不正検知部は、受信された前記フレームが受信されたタイムスロットが前記サイクルの繰り返しにおける所定のタイムスロットであり、かつ、当該フレームが送信された前記サイクルの繰り返し回数サイクルカウントから所定のオフセット値を減算し、所定の受信サイクルで割った余りが0となる関係性を満たさない場合に、当該フレームが不正であると判定してもよい。これにより、サイクルが繰り返される間にサイクル多重化を用いて送信されているフレームの中から同一内容のフレームを抽出し、送受信のスケジュールと照合することで当該フレームにおける不正なフレームの検知が可能となる。
また、前記サイクルを構成する前記複数のタイムスロットは、前記サイクルの繰り返しの各回において必要に応じてフレームが送受信される動的タイムスロットを含み、前記不正検知部は、前記動的タイムスロットで受信されたフレームである動的フレームに対し、前記動的フレームを受信する前に受信されたフレームから判定される車両状態、及び前記動的フレームに含まれる情報を用いて不正なフレームであるか否かを判断してもよい。これにより、動的タイムスロットでフレームが送受信される条件(ルール)を、走行状態等の車両状態により規定することが可能となる。そして、動的タイムスロットで動的フレームが受信された時の車両状態がこのルールに適合しない場合に、不正なフレームであると検知することができる。
また、前記不正検知部は、受信した前記動的フレームのスロットIDと所定の関係性を満たすサイクルカウントを含む前記動的フレームを受信したタイミングにおける、前記車両状態が所定の状態でない場合に、当該前記動的フレームを不正なフレームであると判断してもよい。これにより、車両状態に照らして送信されるべきでないタイミングで送信される動的フレームを不正なフレームとして検知することができる。
また、前記タイムトリガー方式は、FlexRay(登録商標)プロトコルによる通信方式であり、前記サイクルの繰り返し回数は前記FlexRayプロトコルにおけるサイクルカウントであり、前記第一統計量は、フレームの受信数、Nullフレームの受信数、Syncフレームの受信数、Startupフレームの受信数、Payload preamble indicatorが1であるフレームの受信数、及びエラーが発生しているフレームの受信数のうち、1つ以上を含んでもよい。これにより、FlexRayプロトコルによるサイクル多重化が用いられた状況においても不正なフレームを検知できるようになる。そして、フレームの属性等に関する統計量を監視することで、不正なフレームの注入を検知することが可能となる。
また、本開示の一態様に係る不正検知方法は、タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、前記不正検知装置は、前記フレームを受信するフレーム受信部と、前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知する。これにより、フレームの種類を示すIDだけでなく、タイムスロットで構成されるサイクルの繰り返し回数に基づくルールを用いることができる。したがって、例えば単一のフレームを見るだけでは検知が困難な不正なフレームであっても、サイクル単位の所定期間の統計量を監視することで検知できるものに対処することが可能になる。
以下、実施の形態に係る不正検知装置について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも包括的又は具体的な例を示すものである。したがって、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は一例であって、本開示に係る発明を限定するものではない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態)
[1.システムの構成]
ここでは、通信ネットワークシステムの例としての車載ネットワークシステム、及び当該車載ネットワークシステムに含まれる、本開示の実施の形態に係る不正検知装置の例としての不正検知ECUについて図面を参照しながら説明する。
[1.1 車載ネットワークシステムの全体構成]
図1は、本開示に係る車載ネットワークシステム10の全体構成の例を示すブロック図である。車載ネットワークシステム10は、FlexRayプロトコルによる通信に用いられるバスであるバス100a、100b、100c、100d及び100eと、各バスに接続されるECUであるECU200a、200b、200c、200d及び不正検知ECU250と、各ECUの制御対象であるステアリング210、ギア220、ブレーキ230及びカメラ240と、各バス間を接続するスターカプラ300とから構成される。ECU200a~200dは、それぞれバス100a~100eを通じてフレームの送受信を行うことで車両の制御を実現する。不正検知ECU250は、不正なフレームの発生を検知するためにバス100a~100eを観測する。本実施の形態において、ECU200a~200dは通信装置の例であり、不正検知ECU250は不正検知装置の例である。また、バス100a~100eのいずれにも同じ信号が流れるよう、スターカプラ300が信号の整形を行い、各ECUは、バス100a~100eを通じて同期をとっている。なお、本開示では、各バス及び当該バスに接続されるECUのことを指してブランチとも呼ぶ。
[1.2 FlexRayサイクル]
FlexRay通信では、4つのセグメントからなるサイクル(Cycle)と呼ばれる周期が繰り返される。ひとつのFlexRayネットワーク全体(クラスタともいう)に含まれる各ノードは、サイクルの長さ及び開始時刻を示すグローバルタイムと各々固有のローカルタイムとの差を測定し補正することで同期通信を実現している。
図2は、FlexRay通信のサイクルを示す図である。FlexRayの通信はこのサイクルを繰り返して実行される。各ノードは、サイクルの繰り返し回数(サイクルカウント)を同期して保持している。サイクルカウントの値(図2における、n+0、n+1)は0から63まで1ずつインクリメントし、63の次のサイクルではいったんリセットされて再び0となる。
各サイクルは、静的セグメント(Static segment)、動的セグメント(Dynamic segment)、シンボルウィンドウ(Symbol window)、ネットワークアイドルタイム(NIT)の4つのセグメントで構成される。各セグメントの時間長は予め設計されたパラメータによってクラスタで共通であるため、1サイクルの時間長もクラスタで共通である。なお、動的セグメント及びシンボルウィンドウはオプションである。各ノードは、静的セグメント及び動的セグメントにおいてフレームを送信する。静的セグメント及び動的セグメントは、タイムスロット又はスロットと呼ばれる、1つのフレームを送信することができる一定の時間を単位として構成される。
静的セグメントは複数のスロットから構成され、各サイクルは静的セグメントで開始する。静的セグメント内のスロットの個数及び各スロットの長さはクラスタ内で共通である。スロットには先頭から順に1ずつインクリメントする番号(スロット番号)が付されており、各スロット内で送信されるフレームには、フレームの識別子(Frame ID、以下ではフレームIDとも表記する)としてこのスロット番号が用いられる。静的セグメント内のスロットを静的スロット(又は静的タイムスロット)とも呼び、静的セグメント内で送信されるフレームを静的フレームとも呼ぶ。各静的スロットでは、予め定められたECUが、予め定められたサイクルでは常にフレームを送信する。静的フレームは、ペイロード長がクラスタ内で共通である。
動的セグメントはミニスロットと呼ばれるスロットから構成され、各サイクルで静的セグメントの次に位置する。ただし、上述のとおり必須ではない。ミニスロットにも静的セグメントのスロットと同じく先頭から順に1ずつインクリメントする番号(スロット番号)が付されている。各ECUには、フレームを送信するタイミング(ミニスロット)が予め定められているが、静的セグメントと異なり、予め定められたサイクルごとにフレームを送信する必要はない。動的セグメント内のスロットを動的スロット(又は動的タイムスロット)とも呼び、動的セグメント内で送信されるフレームを動的フレームとも呼ぶ。動的フレームのペイロード長は、0~254の任意の値をとることができる。つまり、動的スロットの長さは可変である。
シンボルウィンドウは、シンボルと呼ばれる信号の送受信を行う時間帯である。
ネットワークアイドルタイムは、通信を行わない時間帯であり、各サイクルの最後に必ず設けられる。ネットワークアイドルタイムでは、各ECUはデータの送信を行わずに同期処理等を行い、ネットワークは文字どおりアイドル状態である。
なお、FlexRayプロトコルでは、送信先又は送信元を示す識別子は存在しない。送信ノードは、上述のように予め定められた送信タイミング(スロット)に、予め定められた内容のフレームをバスに送信する。そして受信ノードは、予め決められた受信タイミング(スロット)にのみバスからフレームを受信する。また、静的セグメント又は動的セグメントの同一の番号のスロットであっても、サイクルによって異なる内容のフレームの通信を実現する「サイクルマルチプレキシング」と呼ばれる方法も用いられる。
また、FlexRayプロトコルでは、CANのように全てのノードが1つのバスに接続されるバス型のネットワークトポロジだけでなく、スターカプラを介したスター型、バス型とスター型とのハイブリッド型のネットワークトポロジで通信ネットワークを設計することが可能である。
[1.3 フレームフォーマット]
図3は、FlexRayプロトコルのフレームフォーマットを示す図である。このフォーマットは、静的フレーム及び動的フレームで共通である。フレームは、ヘッダセグメント(Header segment)、ペイロードセグメント(Payload segment)、トレーラーセグメント(Trailer segment)の3つのセグメントから構成される。なお、本開示ではそれぞれヘッダ、ペイロード、トレーラーとも呼ぶことがある。
ヘッダセグメントはReserved bitから始まり、続いてフレームの属性(種別)に関するメタ情報としての、Payload preamble indicator、Null frame indicator、Sync frame indicator、Startup frame indicatorがそれぞれ1ビットずつ含まれる。そしてさらに11ビットのFrame ID、7ビットのPayload length、11ビットのHeader CRCが続き、最後の6ビットのCycle countまでで構成される。
Frame IDに用いられているのは上述のスロット番号であって、スロットIDとも呼ばれ、静的セグメント又は動的セグメントにおけるフレームの送信タイミング及びフレームの内容に応じた種類を識別するために用いられる。
Payload lengthは当該フレームのペイロードの長さを示し、最大値は127である。ペイロードセグメントにはPayload lengthの値に2をかけたバイト数のデータが格納される。
Header CRCは、Sync frame indicatorからPayload lengthまでの値から計算されるCRC(Cyclic Redundancy Check)である。
Cycle countには、クラスタにおける現在のサイクルの繰り返し回数を示す値(0~63)が格納される。
ペイロードセグメントには、フレームの正味のデータが含まれ、最大で254バイトである。
トレーラーセグメントには、ヘッダ及びペイロードの全体を含んだ値から計算されるCRCが格納されている。
[1.4 ECU(不正検知ECUを除く)の構成]
図4は、ECU200aの機能的な構成の例を示すブロック図である。なお、ECU200b、ECU200c及びECU200dもECU200aと共通の構成であってよく、説明を省略する。
ECU200aは、フレーム送受信部201と、フレーム解釈部202と、外部機器制御部203と、フレーム生成部204と、通信用設定パラメータ保持部205とを備える。なお、ECU200aは、例えばプロセッサ及びメモリを含むマイクロコントローラを備え、ここに挙げた構成要素は、メモリに記憶される1個又は複数個のプログラムをプロセッサが実行することで実現される機能的な構成要素である。ECU200b、ECU200c及びECU200dについても同様である。
フレーム送受信部201は、バス100aから受信した物理信号をデジタル信号に変換してフレームのデータを取得する(フレームの受信)。フレーム送受信部201は通信用設定パラメータ保持部205に保持される、通信用設定パラメータを参照しながら、クラスタである車載ネットワークシステム10に含まれる他のECUと同期することで、他のECUが送信したフレームを正しく受信することができる。また、フレーム送受信部201は、フレーム生成部204からの送信フレーム要求に従って、フレームを物理信号に変換し、予め定められたタイミング(スロット)でこの物理信号をバス100aに送信する(フレームの送信)。
フレーム解釈部202は、フレーム送受信部201から通知される受信したフレームのペイロードを解釈し、ペイロードの内容に応じてECU200aに接続されるステアリング210の制御を実行させるための通知を外部機器制御部203へ出す。この通知によって、例えば、他のECUから通知される車両の速度の情報に基いてフレーム解釈部202が判断した走行状態に応じたステアリングのアシスト制御が実現される。また例えば、自動駐車モード時に、図示しない自動駐車ECUから受信するステアリング操作指示信号に基づくステアリングの自動操舵が実現される。
外部機器制御部203は、ECU200aに接続されるステアリング210の制御を行う。また、外部機器制御部203は、ステアリング210の状態を監視し、その状態を他のECUに通知するためのフレーム送信をフレーム生成部に要求する。ステアリング210の状態とは、例えば、ステアリング210の転舵角(ステアリング角度)である。
フレーム生成部204は、外部機器制御部203からの要求に基いてフレームを生成し、フレーム送受信部201へ当該フレームの送信を要求する。
通信用設定パラメータ保持部205は、バス100aから受信した物理信号をデジタル信号に正しく変換するためのパラメータが保持されている。このパラメータは、車載ネットワークシステム10内で共通である。したがって、他のECUでも同じものが保持される。通信用設定パラメータの詳細は、図7に示す一例を用いて後述する。
[1.5 不正検知ECUの構成]
図5は、不正検知ECU250の機能的な構成の例を示すブロック図である。
不正検知ECU250は、フレーム送受信部201、不正検知部252、フレーム生成部204、通信用設定パラメータ保持部205、正規IDリスト保持部253、個別フレームルール保持部254、サイクル別ルール保持部255、フレーム種別ルール保持部256、及び受信履歴保持部257を備える。なお、ECU200aと同様の機能の構成要素には、同じ番号を付与して説明を省略する。不正検知ECU250もまた、例えばプロセッサ及びメモリを含むマイクロコントローラを備え、ここに挙げた構成要素は、メモリに記憶される1個又は複数個のプログラムをプロセッサが実行することで実現される機能的な構成要素である。
不正検知部252は、フレーム送受信部201がバス100eから受信するフレームを1つ以上用いて不正検知処理を行う。不正検知部252が行う不正検知処理には、個別フレーム不正検知処理、サイクル別不正検知処理、フレーム種別不正検知処理の三種類がある。
個別フレーム不正検知処理では、不正検知部252は、受信された個々のフレームが、不正なフレームであるか否かを判断する。この判断を実行するために、まず不正検知部252は、正規IDリスト保持部253に格納されている正規IDリストを参照して、受信したフレームのフレームIDが正しいかを確認する。受信したフレームのフレームIDが正しい場合、不正検知部252は、個別フレームルール保持部254に格納されているフレームIDごとのルールと、受信履歴保持部257に保持されている受信履歴とをさらに参照し、ペイロードの内容がこのルールから外れるフレームを不正であると判断する。受信したフレームが不正なフレームであると判断した場合、不正検知部252はさらに、不正なフレームが送信されていることを他のECUに通知するためのフレームの送信をフレーム生成部204に要求する。
サイクル別不正検知処理では、フレーム送受信部201から新たなサイクルの開始を通知された不正検知部252は、直前のサイクルにおける不正なフレームの発生の有無を判断することで不正なフレームの発生を検知する。この判断を実行するために、不正検知部252は、サイクル別ルール保持部255に格納されているサイクル別ルールと、直前のサイクルで受信されたフレームに関する統計情報とを用いる。この統計情報は、受信履歴保持部257に格納されている受信履歴に基づく。サイクル別不正検知処理の詳細は後述する。
フレーム種別不正検知処理では、不正検知部252は、例えば現在のサイクルカウントが0である場合に、直前の64サイクルにおける不正なフレームの発生の有無を判断することで不正なフレームの発生を検知する。この判断を実行するために、不正検知部252は、フレーム種別ルール保持部256に格納されているフレーム種別ルールと、直前のサイクルカウント0から63までで受信されたフレームに関する統計情報とを用いる。この統計情報は、受信履歴保持部257に格納されている受信履歴に基づく。サイクル別不正検知処理の詳細は後述する。
サイクル別不正検知処理又はフレーム種別不正検知処理によって不正なフレームの発生を検知した場合、不正検知部252はさらに、不正なフレームの発生を他のECUに通知するためのフレーム送信をフレーム生成部204に要求する。また、フレーム種別不正検知処理後は、受信履歴保持部257に格納されている直前のサイクルカウント0から63で受信されたフレームに関する統計情報(図13Cの例を参照して後述)をリセットする。
正規IDリスト保持部253は、各スロットでECUが送信するフレームに関する情報のリストを格納している。正規IDリスト保持部253が保持する正規IDリストの一例を図8に示し、詳細は後述する。
個別フレームルール保持部254は、不正検知部252が、フレームを受信したときに当該フレームが不正であるか否かの判定に用いるルールを格納している。個別フレームルール保持部254に格納される個別フレームルールの一例を図10に示し、詳細は後述する。
サイクル別ルール保持部255は、不正検知部252が、サイクル単位で、不正なフレームの発生の有無を判断するためのルールを格納している。サイクル別ルール保持部255に格納されるサイクル別ルールの一例を図11に示し、詳細は後述する。
フレーム種別ルール保持部256は、不正検知部252が、サイクルカウントが0~63の一連のサイクルにおいて受信されたフレームに関する統計量を用いることで、不正なフレームの発生の有無を判断するためのルールを格納している。フレーム種別ルール保持部256に格納されるフレーム種別ルールの一例を図12に示し、詳細は後述する。
受信履歴保持部257は、フレーム送受信部201が受信したフレームに関する情報、例えば、ペイロードが示す値、フレームの属性等のメタ情報、フレームの受信数を格納している。受信履歴保持部257に格納される受信履歴の一例を図13A、図13B及び図13Cに示し、詳細は後述する。
なお、不正検知ECU250のフレーム送受信部201は、本実施の形態におけるフレーム受信部の例である。
[1.6 スターカプラの構成図]
図6は、スターカプラ300の構成例を示すブロック図である。スターカプラ300は、トランシーバ部301a、301b、301c、301d及び301eと、ルーティング部302とを備える。
トランシーバ部301aはバス100aに接続され、バス100aから受信した物理信号をデジタル信号に変換し、このデジタル信号をルーティング部302へ通知する。また、ルーティング部302から通知されたデジタル信号を物理信号へ変換し、この物理信号をバス100aへ送信する。同様に、トランシーバ部301bはバス100bに、トランシーバ部301cはバス100cに、トランシーバ部301dはバス100dに接続される。トランシーバ部301b~301eの各々は、接続されるバスから受信する物理信号に対してトランシーバ部301aと同様に機能する。
ルーティング部302は、トランシーバ部301aから通知されたデジタル信号を、トランシーバ部301b、301c、301d及び301eへルーティングする。同様に、トランシーバ部301bから通知されたデジタル信号を、ルーティング部302は、トランシーバ部301bを除く各トランシーバ部へルーティングする。また、ルーティング部302は、複数のトランシーバ部からデジタル信号を受信した場合は、最初に受信したデジタル信号を通知したトランシーバ部からの信号を他のトランシーバ部へルーティングする。
[1.7 通信用設定パラメータ]
図7は、通信用設定パラメータ保持部205に格納されている通信用設定パラメータの一例を示している。通信用設定パラメータとしては、データ転送の速度が10Mbpsであることと、静的セグメントのスロットID(すなわち各スロットで送受信されるフレームのフレームID)が1~50であること、動的セグメントのスロットID(同じく、すなわちフレームID)が51~100であることを示している。また、静的フレームのペイロード長が8(つまり16バイト)であることも示されている。クラスタでは、これらのパラメータの値は、ECU全てに共有されており、これらのパラメータの値に基づいてFlexRayフレームの送受信が実現される。なお、図7に示す通信用設定パラメータの値は一例に過ぎず、別の値であっても構わない。また、上述した通信用設定パラメータも一例に過ぎず、図7に記載のないパラメータ(例えば、各セグメントの長さ、スロットの長さ等)が含まれていてもよいし、逆に、図7に記載されているパラメータの全てが必須というわけではない。
[1.8 正規IDリスト]
図8は、不正検知ECU250が備える正規IDリスト保持部253に格納される正規IDリストの一例を示している。
図8に示す例では、各スロットのスロットID、Cycle offset、Cycle reception、フレーム名、及びフレームに含まれるペイロード情報が保持されている。Cycle offset及びCycle receptionは、サイクル多重化(サイクルマルチプレキシング)と呼ばれる、同じスロットIDであってもサイクルによって異なる内容(種類)のデータを含むフレームを送受信する方法が用いられるときに対象のフレームを抽出するために必要な情報である。例えばスロットIDが99のフレームとしてはD、E、F、Gの4つのフレーム名が存在し、それぞれカメラ情報1、カメラ情報2、カメラ情報3、カメラ情報4の異なる内容の情報をペイロードに含み、異なるサイクルにおいて送受信される。
例えばカメラ情報1では、Cycle offsetが0で、Cycle receptionが4である。これは、カメラ情報1のデータをペイロードに含むフレームであるフレームDの送信は、サイクルカウントが0のサイクルからスタートして4サイクルごとに実行されることを意味する。つまりフレームDは、サイクルカウントが、0、4、8、12、16、・・・、52、56、60のサイクル内の、スロットIDが99のスロットで送信される。同様に、カメラ情報2を含むフレームEは、サイクルカウントが1、5、9、・・・53、57、61のサイクル内の、スロットIDが99のスロットで送信される。カメラ情報3を含むフレームFは、サイクルカウントが2、6、10、・・・、54、58、62のサイクル内の、スロットIDが99のスロットで送信され、カメラ情報4を含むフレームGは、サイクルカウントが3、7、11、・・・、55、59、63のサイクル内の、スロットIDが99のスロットで送信される。上記のようにして内容の異なるフレームを異なるサイクル内の同一スロットIDのスロットで送信するのが、サイクル多重化(サイクルマルチプレキシング)である。
図8に例示される正規IDリストの中身についてさらに具体的に説明する。
正規IDリストの1行目は、スロットIDが1のスロットでは、Cycle offsetが0、Cycle receptionが1(つまり全てのサイクルで同一内容のデータを含むフレームが送信される)のスケジュールで、フレーム名がAのフレームが送信されること、及びフレームAのペイロードの内容、つまりペイロードが示す情報は、速度に関する情報であることを示している。正規IDリストの2行目は、スロットIDが2のスロットではフレームが送信されないことを示している。また、スロットIDが3のスロットでは、Cycle offsetが0、Cycle receptionが2(つまりサイクルカウントが偶数のサイクルでのみ送信される)のスケジュールで、フレーム名がBのフレームが送信されること、及びフレームBのペイロードが示す情報はステアリング角度であることを示している。さらにこの正規IDリストによれば、スロットIDが98のスロットでは、Cycle offsetが1、Cycle receptionが2(つまりサイクルカウントが奇数のときのみ送信される)のスケジュールでフレームが送信される。このフレームのフレーム名はCであり、フレームCのペイロードが示す情報はギア状態(シフトレバー又はセレクターのポジション)である。また、スロットIDが99のスロットでは、Cycle offsetが0、Cycle receptionが4のスケジュールでフレームが送信される。このフレームのフレーム名はDであり、フレームDのペイロードは、カメラ情報1と呼ばれる所定の情報を示す。また、スロットIDが99のスロットでは、Cycle offsetが1、Cycle receptionが4のスケジュールでもフレームが送信される。このフレームのフレーム名はEであり、フレームEのペイロードは、カメラ情報2と呼ばれる所定の情報を示す。また、スロットIDが99のスロットでは、Cycle offsetが2、Cycle receptionが4のスケジュールでもフレームが送信される。このフレームのフレーム名はFであり、フレームFのペイロードは、カメラ情報3と呼ばれる所定の情報を示す。また、スロットIDが99のスロットでは、Cycle offsetが3、Cycle receptionが4のスケジュールでもフレームが送信される。このフレームのフレーム名はGであり、フレームGのペイロードは、カメラ情報4と呼ばれる所定の情報を示す。スロットIDが100のスロットでは、Cycle offsetが0、Cycle receptionが4で、フレーム名がHのフレームが送信される。フレームHのペイロードが示す情報はドア状態である。なお、図7の通信用設定パラメータに含まれるIDによれば、フレームA及びBは静的セグメント内で送信される静的フレームであり、フレームCからフレームHは動的セグメント内で送信される動的フレームである。
図9に、図8の正規IDリストの例による車載ネットワークシステム10における、サイクル0から63までのフレーム送受信スケジュールを示している。左右に並ぶ欄は、スロットIDを示しており、上下に並ぶ行は、繰り返されるサイクルの何番目であるか(繰り返し回数)を示している。スロットIDとサイクルの繰り返し回数とで定まるセルには、そのスロット(タイミング)で送信されるフレームのフレーム名が記載されている。なお、図9では、フレームCからフレームHが所定のサイクルで送信されるように見えるが、これらのフレームは動的フレームであって、フレーム名を含むセルが示すタイミングでも送信されない場合もある。
なお、正規IDリストは上記のようにフレームの送受信の予め定められたスケジュールを示す。不正検知部252は、この正規IDリストをホワイトリストとして利用して、不正検知ECU250が受信したフレームがこのスケジュールに従うものであるか否かの判断をする。不正検知部252による、このホワイトリストを用いた判断については後述する。
[1.9 個別フレームルール]
図10は、不正検知ECU250が備える個別フレームルール保持部254に格納される個別フレームルールの一例を示す図である。個別フレームルールは、後述する受信履歴と合わせて、不正検知部252が行う上記の三種類の不正検知処理のうち、個別フレーム不正検知処理に用いられる。図10に示す例では、個別フレームルールは、フレーム名で特定されるフレームごとに設定されているルールを各行に示すテーブルとして個別フレームルール保持部254に格納されている。動的フレームに関しては、さらにMessage IDごとに受信ルールが設定されている。Message IDは動的フレームのヘッダセグメントに含まれるPreamble indicatorが1のときに有効となり、ペイロードの上位2バイトがMessage IDに用いられる。
この例における個別フレームルールでは、フレームAに関しては、静的フレームであるためMessage IDは存在せず、ペイロード長は8で固定である。受信ルールとしては、今回受信したフレームAのペイロードが示す速度と前回受信したフレームAが示す速度との差分が0.5km/h以上である場合に不正なフレームであると判断される。フレームBに関しては、静的フレームのためMessage IDは存在せず、ペイロード長は8で固定である。受信ルールとしては、今回受信したフレームBのペイロードが示すステアリング角度と前回受信したフレームBが示すステアリング角度との差分が30度以上である場合に不正なフレームであると判断される。フレームCに関しては、動的フレームであるがMessage IDは存在せず、ペイロード長は16である。受信ルールとしては、車両が停車中又は走行中の状態にあれば(つまりいつでも)受信する可能性があることを示している。フレームDに関しては、動的フレームであるがMessage IDは存在せず、ペイロード長は32である。受信ルールとしては、車両が停車中の状態にあれば受信する可能性がある、つまり走行中に受信した場合に不正なフレームであると判断される。フレームEに関しては、動的フレームであるがMessage IDは存在せず、ペイロード長は32である。受信ルールとしては、車両が停車中又は走行中のいずれの状態にあるときも受信する可能性があることを示している。フレームFに関しては、3つのMessage IDが存在し、0x0001と0x0002と0x0004とのそれぞれに個別の受信ルールが定められている。Message IDが0x0001のフレームFはペイロード長が32である。受信ルールとしては、車両が停車中の状態にあるときに受信することが正常であることを示している。Message IDが0x0002のフレームFはペイロード長が32である。受信ルールとしては、車両が停車中又は走行中のいずれの状態にあるときも受信する可能性があることを示している。Message IDが0x0004のフレームFはペイロード長が32である。受信ルールとしては、車両が走行中の状態にあるときに受信することが正常であることを示している。フレームGに関しては、動的フレームであるがMessage IDは存在せず、ペイロード長は32である。受信ルールとしては、車両が停車中又は走行中のいずれの状態にあるときも受信する可能性があることを示している。フレームHに関しては、動的フレームであるがMessage IDは存在せず、ペイロード長は2である。受信ルールとしては、車両が停車中の状態にあるときに受信することが正常であることを示している。
なお、不正検知ECU250は、受信したフレームのペイロード長が個別フレームルールに示されるペイロード長に照らして正しいかに基づいて、当該フレームが不正であるか否かを判断してもよい。
[1.10 サイクル別ルール]
図11は、不正検知ECU250が備えるサイクル別ルール保持部255に格納されるサイクル別ルールの一例である。サイクル別ルールは、不正検知部252が行う上記の三種類の不正検知処理のうち、サイクル別不正検知処理に用いられる。図11に示す例では、サイクル別ルールは、サイクルごとに設定されているルールを各行に示すテーブルとしてサイクル別ルール保持部255に格納されている。このテーブル内では、各フレームはサイクルカウント(図3のHeader segment末尾を参照)で特定されている。
図11の例におけるサイクル別ルールは、各サイクルにおいて受信されるフレームの、メタ情報に応じた種別ごとの受信数に関するルールである。なお、このメタ情報に応じた種別は本実施の形態における第一タイプの例であり、各フレームは複数の第一タイプに該当する場合もあるし、第一タイプのいずれにも該当しない場合もある。
例えば、車載ネットワークシステム10においてサイクルカウントが0の通信が実行される間に受信されるフレームでは、動的フレーム数は20より少なく、Startup frameは2個より少なく、Sync frameは2個より少なく、Payload preamble indicatorが1であるフレームは5個より少なく、Null frameは4個より少なく、Errorとなったフレームは5個より少ないというのが、正常時に送受信されるフレームの統計量の基準範囲である。サイクルカウントが1から、63までの各サイクルについても、同様のルールが設定されている。このようなフレームの統計量の基準範囲の値の決定は、例えば通信用設定パラメータ(図7参照)、正規IDリスト(図8参照)又はこの正規IDリストに基づく送信スケジュール(図9参照)、及びこの通信用設定パラメータ及び送信スケジュールを使った通信ネットワークの試験運用での実績に基づいて行われてもよい。各統計量の基準範囲の上限値は、各サイクルで送信されるフレームに不正なフレームが含まれている可能性がある程度以上であるか否かに基づいて決定される。
不正検知ECU250では、例えばサイクルカウントが0のサイクルでフレームを受信している間、不正検知部252が、各フレームのHeader segment又はTrailer segmentに含まれる値に基づいて、各属性を持つフレームの受信数の統計量を取得する。また、不正検知部252は、不正検知ECU250の受信バッファに保持される各フレームでのエラーの有無に関する情報を参照して、Errorが生じたフレームの統計量を取得する。これらの第一タイプ別のフレームの受信数の統計量は、本実施の形態における第一統計量の例である。そして当該サイクルが終わってから不正検知部252は、この第一統計量を上記の各基準範囲に照らし、基準範囲から外れるものがある場合に、当該サイクルにおける不正なフレームの発生を検知する。以降、サイクルカウントの1から63まで、各サイクルでの通信が終わると、第一統計量を、該当するサイクル別ルールに含まれる基準範囲に照らして同様の判断を行う。このように用いられるサイクル別ルールは、本実施の形態における第一ルールの例である。
このような、フレームのメタ情報に応じた種別ごとの、サイクル単位での統計量に基づく不正検知の手法では、タイムトリガー方式を採用している通信ネットワークにおいても不正なフレームの発生の検知が可能である。ただしこの手法は、不正なフレーム又はその原因(送信ノード等)を正確に特定できるものではない。しかしながら、各フレームのペイロードの値における異常の有無に基づく不正検知の手法よりも少ない処理負荷で実行可能である。したがって、例えば平常時はこの手法によってサイクル別ルールに照らして不正なフレームの発生の有無を判断することで、通信ネットワークにおける不正検知に必要なリソースが抑えられてもよい。そして、この手法で不正なフレームの発生が検知された場合に、不正なフレームを送信しているノード又は当該ノードを含むブランチを特定するために各フレームのペイロードの値の詳細なチェックが行われてもよい。また、本実施の形態の例のように車載ネットワークであれば、不正フレームによる運転操作系への介入等による重大な危機の回避策として、この手法で不正なフレームの発生が検知された時点で車両の情報処理を伴う先進的機能が制限されてもよい。
なお、図11を参照しての上記の説明では、全てのサイクルに個別のルールが規定されている例を示したが、1つのサイクル別ルールが複数のサイクルに対して規定されてもよい。これにより、サイクル別ルールの保持に必要なメモリを削減することができる。例えば、サイクルカウントによらない複数のサイクルに共通のサイクル別ルールであってもよい。また例えば、Cycle offsetとCycle receptionとの組ごとに1つのルールが規定されてもよい。また例えば、2以上の連続するサイクルに対して1つのルールが規定されてもよい。例えば1つめのルールはサイクルカウント0のサイクルからサイクルカウント1のサイクルを通して受信されるフレームの統計量の基準範囲を示すルールであり、以降、2つのサイクルごとに1つのルールが規定されてもよい。この場合には、2サイクルの実行が終わるたびにサイクル別ルールを用いての不正フレームの発生についての判断が1回実行される。したがって、不正検知処理の処理負荷も抑えることができる。
また、サイクル別ルールは、図11に例示した第一タイプ全ての基準範囲が必須ではなく、これらの一部の第一タイプについてのみの基準範囲を含むものでもよい。また、複数個のサイクル別ルール間で基準範囲が設定されている項目が異なっていてもよい。
[1.11 フレーム種別ルール]
図12は、不正検知ECU250が備えるフレーム種別ルール保持部256に格納されるフレーム種別ルールの一例である。フレーム種別ルールは、不正検知部252が行う上記の三種類の不正検知処理のうち、フレーム種別不正検知処理に用いられる。図12に示す例では、フレーム種別ルールは、フレーム名で特定されるフレームごとに設定されているルールを各行に示すテーブルとしてフレーム種別ルール保持部256に格納されている。
図12の例におけるフレーム種別ルールは、車載ネットワークシステム10においてサイクルカウント0から63までの64サイクルの通信が実行される間に受信されるフレームの、図8を用いて説明したペイロードの内容に応じた種別ごとの受信数(「受信数」の欄)、及び図8を用いて説明したペイロードの内容に応じた種別ごとであって第一タイプごとの受信数(「Startup frame」の欄から「Error」の欄まで)に関するルールである。なお、このペイロードの内容に応じた種別は本実施の形態における第二タイプの例である。
例えば、フレームAに関しては、サイクルカウント0から63までの64サイクルの間の受信数は64個であり、Startup frameは3個より少なく、Sync frameは64個、Payload preamble indicatorが1であるフレームは0個、Null frameは3個より少なく、Errorとなったフレームは3個より少ないというのが、正常時のフレームの統計量の基準範囲である。フレームBからフレームHについても、同様のルールが設定されている。このようなフレームの統計量の基準範囲の値の決定は、フレーム別ルールの場合と同様に、例えば通信用設定パラメータ(図7参照)、正規IDリスト(図8参照)又はこの正規IDリストに基づく送信スケジュール(図9参照)、及びこの通信用設定パラメータ及び送信スケジュールを使った通信ネットワークの試験運用での実績に基づいて行われてもよい。各統計量の基準範囲の上限値は、各サイクルで送信されるフレームに不正なフレームが含まれている可能性がある程度以上であるか否かに基づいて決定される。
不正検知ECU250では、サイクルカウント0から63までの64サイクルの通信でフレームを受信している間、不正検知部252が、各フレームのHeader segment若しくはTrailer segmentに含まれる値、又は受信バッファに保持される各フレームでのエラーの有無に関する情報に基づいて、このような第二タイプ別のフレームの受信数、及び第二タイプごとに第一タイプ別のフレームの受信数の統計量を取得する。これらの第二タイプに基づく統計量は、本実施の形態における第二統計量の例である。そしてサイクルカウント0から始めて63までのサイクルが終わった時点で不正検知部252は、この第二統計量を上記の各基準範囲に照らし、基準範囲から外れるものがある場合に、当該フレームに関して不正なフレームの発生を検知する。以降、サイクルカウントが0から63までの64サイクルでの通信が終わると、第二統計量を、該当するフレーム種別ルールに含まれる基準範囲に照らして同様の判断を行う。このように用いられるフレーム種別ルールは、本実施の形態における第二ルールの例である。
このような、フレームのペイロードの内容に応じた種別ごとの、多サイクルにわたって取得された統計量に基づく不正検知の手法では、タイムトリガー方式を採用している通信ネットワークにおいても不正なフレームの発生の検知が可能である。ただしこの手法は、不正なフレーム又はその原因(送信ノード等)を正確に特定できるものではない。しかしながら、各フレームのペイロードの値の異常の有無に基づく不正検知の手法よりも少ない処理負荷で実行可能である。したがって、例えば平常時はこの手法によってサイクル別ルールに照らして不正なフレームの発生の有無を判断することで、通信ネットワークにおける不正検知に必要なリソースが抑えられてもよい。そして、この手法で不正なフレームの発生が検知された場合に、不正なフレームを送信しているノード又は当該ノードを含むブランチを特定するために各フレームのペイロードの値の詳細なチェックが行われてもよい。また、本実施の形態の例のように車載ネットワークであれば、不正フレームによる運転操作系への介入等による重大な危機の回避策として、この手法で不正なフレームの発生が検知された時点で車両の情報処理を伴う先進的機能が制限されてもよい。
なお、図12を参照しての上記の説明では、フレームの種別ひとつひとつに個別のルールが規定されている例を示したが、フレーム種別ルールは複数のフレーム種別に対して規定されてもよい。例えば所定の関連性のある機能に関する複数のフレーム種別に共通の1つのルールが規定されてもよい。所定の関連性のある機能に関するフレーム種別の具体例を挙げると、カメラ情報をペイロードに含むフレームD、E、F及びGに対する統計量であってもよい。これにより、フレーム種別ルールの保持に必要なメモリを削減することができる。
また、フレーム種別ルールは、図12に例示したフレームの受信数及び第一タイプ全ての基準範囲が必須ではなく、これらの一部のみを含むものでもよい。また、複数個のフレーム種別ルール間で基準範囲が設定されている項目が異なっていてもよい。
また、上述のサイクル別ルールとの違いでいえば、サイクル別ルールを用いた手法では不正なフレームが発生したフレームの種別は特定できない。しかし、フレーム種別ルールを用いた手法では不正なフレームが発生したフレームの種別の特定が可能であり、場合によっては当該不正なフレームの送信ノード又はこれを含むブランチ、又はこの不正なフレームによる影響を受けるノード又はブランチを特定することができる。したがって、例えば本実施の形態の例のように車載ネットワークであれば、重大な危機の回避策として制限の対象となる先進的機能を、送信ノード若しくはブランチ又は影響を受けるノード若しくはブランチに関連する機能に絞ることができる。ただし、不正検知のための判断の実行頻度がサイクル別ルールを用いた手法よりも低くなり得る。図11を参照して説明した例と比較すると、図12を参照して説明した例では、不正検知のための判断の実行頻度は64分の1である。したがって、両手法は併用されて、不正フレームの発生の早期発見とフレーム種別の特定との両方が図られてもよい。併用の形態としては、常にサイクル別ルールとフレーム種別ルールとの両方が用いられてもよいし、通信ネットワークでの処理負荷又は異常の発生の可能性に応じて切り替えて用いられてもよい。例えば正常時には処理負荷を抑えるために一方のルールを用いて不正検知処理を実行し、不正フレームの発生が検知された場合に、確認のために他方のルールを用いた不正検知処理が実行されてもよい。そして、一方のみの不正検知処理で不正フレームの発生が検知された場合と、両方の不正検知処理で不正フレームの発生が検知された場合とで、異なる対処が実行されてもよい。
また、個別フレーム不正検知処理との関連でいえば、不正検知部252は、サイクル別ルール及びフレーム種別ルールの一方又は両方を用いて不正なフレームの発生を検知した場合に、個別フレーム不正検知処理を実行して受信する個々のフレームが不正であるか否かを判断してもよい。このように、タイムトリガー方式を採用している通信ネットワークにおいて実効的な複数種類の不正検知処理であって、処理負荷と不正の検知レベル(有無、フレーム種別、個々のフレーム)が異なるものを切り替えながら用いることで、処理負荷の抑制と、不正検知の精度の確保又は向上による安全性との両立が図られる。
[1.12 受信履歴]
図13A、図13B、図13Cは、それぞれ不正検知ECU250が備える受信履歴保持部257に格納される受信履歴の一例である。図13Aは、受信履歴に含まれる情報のうち、ペイロードの内容に応じた種別(つまり第二タイプ)ごとの、受信したフレームが示す値(以下、受信値という)、及び所定の種別のフレームの受信値に応じて定まる車両状態に関する情報の例を示す。図13Bは、受信履歴に含まれる情報のうち、サイクルごとのメタ情報に応じたフレーム種別(つまり第一タイプ別)の受信数に関する統計量の例を示す。図13Cは、受信履歴に含まれる情報のうち、サイクルカウント0から63にわたるサイクルでの、フレームのペイロードの内容に応じた種別(つまり第二タイプ)ごとの、メタ情報に応じたフレーム種別(つまり第一タイプ別)の受信数に関する統計量の例を示す。以下、順に詳細に説明する。
図13Aに示す受信履歴では、フレームの第二タイプごとの、受信値及び受信時刻の情報が示されている。
図13Aの例によれば、車両の速度を示すフレームAの受信値は40.5km/hであり、このフレームAの受信時刻は12100μsである。ステアリング角度を示すフレームBの受信値は5度であり、このフレームBの受信時刻は8140μsであったことを示している。また、ギア状態を示すフレームCの受信値はD(ドライブ)であり、このフレームCの受信時刻は12400μsであったことを示す。また、カメラ情報1を示すフレームDの受信値は、前方車両の検知を示し、このフレームDの受信時刻は1440μsであったことを示す。また、カメラ情報2を示すフレームEの受信値は歩行者検知を示し、このフレームEの受信時刻は5480μsであったことを示す。また、カメラ情報3を示すフレームFの受信値はレーン検知を示し、受信時刻は9520μsであったことを示す。また、カメラ情報4を示すフレームGの受信値は、車両後方のカメラが未起動であることを示し、このフレームGの受信時刻は13560μsであることを示す。また、ドア状態を示すフレームHの受信値は「全閉」状態であることを示し、受信時刻は1600μsであることを示している。さらにこの例では、フレームAからの判定の結果として、車両状態が走行中であることを示している。この車両状態の情報は、フレームAが示す車両の速度が0km/hより大きい場合には「走行中」に更新され、0km/hの場合には「停止中」に更新される。なお、上記の各受信値は、例えばフレームA~Hが受信される度に該当するものが不正検知部252によって更新される。
なお、この例では受信時刻が保持されているが、受信時刻は必須ではない。また、受信時刻が、基準となる所定の時刻からの経過時間を示すμs単位で表されているが、時間を表す単位であればよい。例えば、FlexRayプロトコルで用いられる、内部クロックから算出されるマイクロティックの個数が用いられてもよいし、マイクロティックを用いて定義されるマクロティックの個数が用いられてもよい。
図13Bに示す受信履歴では、サイクルカウントで特定されるサイクルごとに、第一タイプ別でのフレームの受信数、この例では動的フレームの受信数、Startup frameの受信数、Sync frameの受信数、Payload preamble indicatorが1であるフレームの受信数、Null frameの受信数、Errorフラグのあるフレームの受信数の情報が示されている。
図13Bの例によれば、サイクルカウントが0のサイクルでは、動的フレームの受信数は10であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。同様に、サイクルカウントが1のサイクルでは、動的フレームの受信数は11であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。同様に、サイクルカウントが2のサイクルでは、動的フレームの受信数は10であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は1、null frameの受信数は0、Errorとなったフレームの数は1であったことを示している。同様に、サイクルカウントが3のサイクルでは、動的フレームの受信数は10であり、Startup frameの受信数は12、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は1、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。同様に、サイクルカウントが61のサイクルでは、動的フレームの受信数は10であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は1、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。同様に、サイクルカウントが62のサイクルでは、動的フレームの受信数は12であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は1、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。同様に、サイクルカウントが63のサイクルでは、動的フレームの受信数は10であり、Startup frameの受信数は0、Sync frameの受信数は1、Payload preamble indicatorが1のフレームの受信数は1、Null frameの受信数は0、Errorとなったフレームの数は1であったことを示す。これらの値は、例えば各フレームの受信の度に不正検知部252によって更新される。
なお、図13Bの例では動的フレームの受信数のみ示されているが、静的フレームの受信数が示されてもよい。また、図13Bの例ではErrorの発生したフレームの個数を記録していたが、具体的なErrorフラグごと(シンタックスエラー、コンテンツエラー、境界エラー)の個数が記録されていてもよい。
図13Cに示す受信履歴では、のペイロードの内容に応じた種別ごとのサイクルカウント0から63にわたるサイクルでの、フレームの受信数、及びメタ情報に応じた種別でのフレームの受信数、この例ではStartup frameの受信数、Sync frameの受信数、Payload preamble indicatorが1であるフレームの受信数、Null frameの受信数、Errorフラグのあるフレームの受信数の情報が示されている。
図13Cの例によれば、フレームAの受信数は64であり、Startup frameの受信数は0、Sync frameの受信数は64、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームBの受信数は32であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、null frameの受信数は0、Errorとなったフレームの数は15であったことを示す。同様に、フレームCの受信数は32であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームDの受信数は16であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームEの受信数は16であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームFの受信数は16であり、Startup frameの受信数は0、sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は16、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームGの受信数は16であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。同様に、フレームHの受信数は8であり、Startup frameの受信数は0、Sync frameの受信数は0、Payload preamble indicatorが1のフレームの受信数は0、Null frameの受信数は0、Errorとなったフレームの数は0であったことを示す。これらの値は、例えば各フレームの受信の度に不正検知部252によって更新される。
なお、図13Cの例では、フレーム名(スロットIDと、Cycle offset、Cycle receptionの組)で特定されるフレーム種別ごとに統計量が保持されているが、不正の判定に用い得る統計量はこれに限定されない。例えば、動的フレームにおけるMessage IDごとの統計量が保持されてもよい。図13Dは、受信履歴がこのような動的フレームのMessage IDごとの統計量を含む例を示す図である。
[1.13 不正検知ECUの動作]
次に、上記の構成要素を備え、各ルール及び受信履歴を用いて不正検知を行う不正検知ECU250の動作の手順について例を用いて説明する。なお、不正検知ECU250の動作は、不正検知ECU250の構成要素による処理の実行によって実現される。したがって、以下の不正検知ECU250の各構成要素による処理の説明をもって、不正検知ECU250の動作の説明であると理解されたい。
図14は、不正検知ECU250の動作の手順例を示すフローチャートである。
不正検知ECU250において、フレームを受信したか否かがフレーム送受信部201によって判断される(S1001)。
フレームを受信した場合(S1001でYes)、不正検知部252が正規IDリストをホワイトリストとして用いたチェックを行う(S1002)。また、不正検知ECU250において、フレームが受信されていない場合(S1001でNo)、不正検知部252はサイクルがスタートするタイミングであるか否かを判断する(S1005)。
ホワイトリストを用いたチェック(S1002)でOKであった場合(S1002でYes)、不正検知部252は受信した当該フレームに対して個別フレーム不正検知処理を実行する(S1003)。その後、不正検知部252によって受信履歴保持部257に格納される受信履歴が更新されて(S1004)、当該フレームに対する不正検知ECU250の処理は終了する。また、ホワイトリストを用いたチェックがNGであった場合(S1002でNo)も、当該フレームに対する不正検知ECU250の処理は終了する。ホワイトリストを用いたチェック(S1002)及び個別フレーム不正検知処理(S1003)については、手順例を用いて後述する。
一方、サイクルがスタートするタイミングであると判断(S1005)した場合(S1005でYes)、不正検知部252は直前の1個以上のサイクルの進行中に受信されたフレームに対するサイクル別不正検知処理(S1006)を実行する。サイクルがスタートするタイミングではない場合(S1005でNo)、不正検知ECU250の動作は、ステップS1001に戻る。
サイクル別不正検知処理(S1006)後、不正検知部252はサイクルカウントが0であるか否かを判断する(S1007)。サイクルカウントが0である場合(S1007でYes)、不正検知部252は、直前までの2個以上のサイクル、例えばひとつ前のサイクルカウント0から63までの64サイクルの間に受信されたフレームに対するフレーム種別不正検知処理(S1008)を実行する。その後、不正検知部252は、受信履歴保持部257に格納されている、実行済みのフレーム種別不正検知処理の対象であったサイクルの統計情報(図13C参照)をリセットする(S1009)。サイクルカウントが0でない場合は(S1007でNo)、不正検知ECU250の動作は終了する。
なお、図14のフローチャートに示す不正検知ECU250の動作の手順例は一例であり、種々の変形が可能である。例えば図14の手順例では、三種類の不正検知処理は、対象のデータがフレーム単位又はサイクル単位で受信されたタイミングでそれぞれ実行される。この他に、上述したように、不正検知処理の処理負荷、又は異常(不正なフレーム)の発生の可能性に応じて三種類の不正検知処理の間で切り替える等して選択的に実行されてもよい。
[1.14 ホワイトリストを用いたチェック]
図15は、図14を参照して説明した不正検知ECU250の動作における処理のうち、正規IDリストをホワイトリストとして用いたチェック(S1002)の詳細を説明するためのフローチャートである。
不正検知ECU250では、図14のS1001でフレームを受信したことが判断されると、不正検知部252は、当該フレームに含まれるスロットIDを抽出する(S1101)。抽出したスロットIDが、正規IDリスト保持部253に格納される正規IDリストに存在しない場合(S1102でNo)、不正検知部252は、当該フレームは不正なフレームであると(S1106)判断し、不正検知ECU250での処理は終了する。抽出したスロットIDが正規IDリストに存在する場合は、不正検知部252は、当該フレームに含まれるサイクルカウント(以下、及び図中ではCcとも表記する)を抽出する(S1103)。
次に不正検知部252は、正規IDリストから、受信したフレームのスロットIDに対応するCycle offset(以下、及び図中ではCoとも表記する)とCycle reception(以下、及び図中ではCrとも表記する)の組み合わせを全て抽出する(S1104)。
次に不正検知部252は、受信した当該フレームが、正規IDリストに基づく送受信スケジュールどおりに送信されたものであるかを確認する(S1105)。例えば不正検知部252は、ステップS1104で抽出したCoとCrとの全ての組み合わせに対して、抽出したCcの値からCoの値を減算した値をCrで割った余りが0であるか否かを判定する。この手法は、送受信スケジュールどおりであれば、この余りの値は0になることに基づく。結果が0である組み合わせが存在しない場合(S1105でNo)、受信したフレームは不正なフレームであるとして(S1106)、不正検知ECU250の処理は終了する。結果が0である組み合わせが存在する場合(S1105でYes)、不正検知部252は、次のステップ(S1003)に進む。
[1.15 個別フレーム不正検知処理]
図16は、図14を参照して説明した不正検知ECU250の動作における処理のうち、個別フレーム不正検知処理(S1003)の詳細を説明するためのフローチャートである。
不正検知部252は、ステップS1002において、スケジュールどおりに送受信されたフレームであることから、不正なフレームであるとは判断されなかったフレームが動的フレームであるか否かを判断する(S1201)。当該フレームが動的フレームである場合(S1201でYes)、不正検知部252は、当該フレームに含まれるPayload preamble indicator(図中、Ppi)が1であるかを確認する(S1202)。受信したフレームが動的フレームではない、つまり静的フレームである場合(S1201でNo)、不正検知部252は、受信履歴保持部257に格納される対応する受信履歴と当該フレームのペイロードの値とに基づき、当該フレームが個別フレームルール保持部254に格納される対応する個別フレームルールに(例えば図10のフレームA又はBのルール)適合するか否かを判断する。(S1206)。
ステップS1202において、Payload preamble indicatorが1である場合(S1202でYes)、Message IDがフレームのペイロード部に含まれている。不正検知部252は、このMessage IDを抽出する(S1203)。Message IDを抽出した後、又はPayload preamble indicatorが0であった場合(S1202でNo)、不正検知部252は、受信履歴保持部257に格納されている受信履歴が示す車両状態が、個別フレームルール保持部254に格納されている、対応する個別フレームルールに規定される受信ルールに適合するかを確認する(S1204)。例えば受信履歴が示す車両状態が走行中であって、受信したフレームがフレームDである場合のこの車両状態は、図10の個別フレームルールに拠れば受信ルールに適合しない。受信ルールに適合する(個別フレームルールに適合する)場合(S1204でYes)、不正検知部252は、そのまま次のステップ(S1004)に進む。車両状態が受信ルールに適合しない場合(S1204でNo)は、不正検知部252は、当該フレームを不正なフレームであると判断して(S1205)、個別フレーム不正検知処理を終了して次のステップ(S1004)に進む。このように、個別フレームルールを用いた不正検知処理(ステップS1003)では、先行するホワイトリストを用いたチェックにおいて、含むスロットIDとサイクルカウントとが所定の関係性を満たすことで、不正なフレームであるとは判断されなかった動的フレームが、受信されたタイミングにおける車両状態に基づいて不正なフレームであると判断されることがある。
また、ステップS1206において、フレームが対応する個別フレームルールに適合しない場合(S1206でNo)、不正検知部252は、当該フレームを不正なフレームであると判断して(S1205)、個別フレーム不正検知処理を終了して次のステップ(S1004)に進む。個別フレームルールに適合する場合は、不正検知部252は、そのまま次のステップ(S1004)に進む。
[2. 変形例及び補足事項]
本開示の一又は複数の態様に係る不正検知装置、不正検知方法及びプログラムは、上記の実施の形態の説明に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が想到する各種の変形を上記の実施の形態に施したものも、本開示の態様に含まれてもよい。下記に、そのような変形の例、及び実施の形態の説明へのその他の補足事項を挙げる。
(1)上記の実施の形態は、図1に示したスター型のネットワークトポロジにおける例を用いて説明したが、適用可能なネットワークトポロジをこの例に限るものではない。例えば、バス型、又はスター型とバス型とのハイブリッド型などのネットワークトポロジにも本開示の不正検知装置等は適用できる。
(2)上記の実施の形態では、不正検知部は不正検知ECUに存在したが、車載ネットワーク上のその他のECU上の一部又は全部に存在してもよい。これにより、不正検知部を備える各ECUが不正検知装置として機能し、不正なフレームの発生を検知することができるため、制御対象の機器の制御の不正なフレームに基づく実行が効果的に抑制される。また、不正検知部を、車載ネットワーク内のサブネットワーク同士を接続するゲートウェイ、又はドメインコントローラが備えてもよい。これにより、ゲートウェイ又はドメインコントローラが不正検知装置として機能することが可能になり、不正なフレームの転送、及び不正なフレームの影響の車載ネットワーク内での拡散の抑制に効果的である。
(3)上記の実施の形態では、不正なフレームが発生したか否か、又はフレームが不正であるか否かという不正検知処理以降について詳細に述べていないが、この処理の結果の利用例について補足する。例えば、不正検知処理において得られる、不正なフレームのヘッダに含まれる情報、ペイロード値、受信時刻、受信時の車両状態等(これら情報の少なくとも一部を指して、以下では不正フレーム情報ともいう)がログに保存されておいてもよい。また、車載ネットワーク上の他のECUに不正なフレームの発生又は不正フレーム情報が通知されてもよいし、外部のサーバへ当該車両での不正なフレームの発生又は不正フレーム情報が通知されてもよい。また、当該車両のユーザインタフェースを介して運転者へ車載ネットワークに不正なフレームの発生又は不正フレーム情報が通知されてもよい。また、ゲートウェイ又はドメインコントローラが不正検知部を備える場合は、当該不正フレームを転送しない、又は不正なフレームであることを示す情報を付加して転送する等の処理を実行してもよい。
(4)上記の実施の形態では、不正検知ECUによって個別フレーム不正検知処理、サイクル別不正検知処理、及びフレーム種別不正検知処理の三種類の不正検知処理がひととおり実行されている。上述のとおり、これらの不正検知処理が常に全て実行される必要はない。
各不正検知処理は、それぞれ単独でタイムトリガー方式であるプロトコルを採用している通信ネットワークにおける不正なフレームの発生の検知を可能にするものである。また、三種類の不正検知処理は、処理負荷、実行間隔、又は不正の検知レベルが互いに異なるため、利用可能なリソース又は要求される不正の検知レベルに応じて二種類以上を組み合わせて実行されてもよい。
例えば、初期状態ではフレーム種別不正検知処理のみが実行され、フレーム種別不正検知処理で不正なフレームの発生が検知され場合に、当該フレームと同名のフレームに対する個別フレーム不正検知処理が実行されてもよい。これにより、不正なフレームの発生が検知されるまでは不正検知処理のための処理負荷を抑制し、不正なフレームの発生が検出されてからは、より詳細な不正検知処理によって不正への適切な対処も可能となり得、処理負荷抑制と安全性向上との両立が可能となる。
別の例として、サイクル別不正検知処理で不正なフレームの発生を検知した場合に、以降の同じサイクルカウントのサイクルで送信されるフレームの詳細なログの記録、又はこのログの外部サーバへの送信が開始されてもよい。これにより、車内で検知された不正に関する詳細分析を事後的に、又は外部で行うための情報が効率的に取得される。
(5)上記の実施の形態では、個別フレームルール、サイクル別ルール、及びフレーム種別ルールが平文で保持されているが、暗号化されていてもよい。
(6)上記の実施の形態では、サイクルの開始時にサイクル別不正検知処理を行っていた(図14、S1005)が、サイクル別不正検知処理の実行タイミングはこれに限定されない。例えば、サイクルの末尾に入るネットワークアイドルタイムに、サイクル別不正検知処理が実行されてもよい。これにより、車載ネットワーク上でフレームの送受信が発生しない時間に不正検知処理が実行されるため、不正検知ECU又は不正検知部を備えるECUの処理負荷の時間的な集中が避けられる。これにより、例えば不正検知ECU又は不正検知部を備えるECUに要求される能力を抑えることができ、安全性の高い車載ネットワーク構築のコストを抑えることができる。
(7)上記の実施の形態では、個別フレームルールにはそれぞれ1つの受信ルールが設定されている(図10参照)が、2つ以上が設定されていてもよい。また、受信ルールが設定されていない個別フレームルールが存在してもよい。例えば、重要性の高い第二種別のフレームにのみ受信ルールを設定することで、フレームの重要度に応じたチェックが可能となり、車載ネットワークの安全性を効果的に高めることができる。
(8)上記の実施の形態では、動的フレームの個別フレームルールには受信時の車両状態に関する受信ルールのみが設定されているがこれに限定されない。動的フレームの個別フレームルールであっても、受信値からの変化量に関するルールが設定されてもよい。
(9)上記の実施の形態では、Payload preamble indicatorが1のフレームの個別フレームルールは、Message IDごとに設定されているが、フレーム名ごとに設定されていてもよい。これにより、個別フレームルールの保持に必要なメモリを削減することができる。
(10)上記の実施の形態では、正規IDリスト(図8)にフレーム名が保持されているが、正規IDリストにフレーム名は必須ではない。
(11)上記の実施の形態では、正規IDリスト(図8)によれば、1つのフレームが保持するペイロード情報は1種類1件であるが、これに限定されない。1つのフレームが2種類以上又は同種の情報を複数件保持してもよいし、ペイロード情報が無くてもよい。また、複数件のペイロード情報が保持される場合には、ペイロードセグメントでの各件のフィールドを示す情報(フィールドの位置、長さ、単位等)が含まれていてもよい。
(12)上記の実施の形態では、サイクル別ルール保持部に格納されるサイクル別ルール(図11)に含まれる各基準範囲は固定であったが、可変であってもよい。動的フレームの受信数は車両状態に応じて変わり得るものであり、例えば車両が走行中は基準範囲の境界値を増加(又は減少)させてもよい。
(13)上記の実施の形態では、サイクル別不正検知処理及びフレーム種別不正検知処理では、受信フレームに関する各統計量は独立に評価され、いずれかの統計量において適合しないものがあった場合に不正なフレームが発生していると判断するためのルールが用いられている、これらの不正検知処理の手法、又はこれらの不正検知処理で利用されるルール又はデータ形式はこれに限らない。例えば、各統計量を特徴量として、正常状態を学習させたSupport Vector Machine等の識別器により、不正なフレームの発生の有無を判断してもよい。また統計量を主成分分析等の手法を用いて次元を削減させた上で、Local Outlier Factorなどの外れ値検出手法を用いて不正なフレームの発生の有無を判断してもよい。これにより、各統計量は基準範囲内であったとしても、統計量の組み合わせに基づいて不正なフレームの発生を検知することが可能となり、検知性能の向上の点で効果的である。
(14)上記の実施の形態では、サイクル別ルール及びフレーム種別ルールの統計量の基準範囲は予め与えられているが、これに限定されない。例えば車両走行中に正常状態の学習を通じて設定又は更新されてもよい。例えば、不正検知ECUの電源が入ってから所定の時間分のデータを用いてフレームの正常な統計量が学習されてもよい。これにより、運転者、車両の型式、又は走行環境に合わせてルールの修正が可能となり、検知精度の向上の点で効果的である。
(15)上記の実施の形態では、受信履歴(図13A)の受信値はフレーム名ごとに1信号相当分だけ保持しているが、前回、前々回の受信値のように複数信号相当分保持してもよい。また、ペイロード値をそのまま保持してもよい。
(16)上記の実施の形態では、受信履歴(図13A)に含まれる車両状態は、走行中か停止中の2状態のみであったが、車両状態はこの2状態に限られず、各種のフレームから判定可能な状態であればこれらの2状態を用いた上記の例と同様に用い得る。例えば、イグニッションオン状態、アクセサリーオン状態、低速走行状態、高速走行状態、ステアリング操舵状態、ギア状態、若しくは先進運転支援機能のオンオフ状態、又はこれらを組み合わせた状態が用いられてもよい。また、これらに例示される車両状態を複数組み合わせて含む受信ルール(図10)が用いられてもよい。特に各種の動的フレームの設計上の送信条件と係る車両状態を選択して受信ルールに含めることで、不正なフレームを精度よく検知できるようになる。
(17)上記の実施の形態では、個別フレーム不正検知処理、サイクル別不正検知処理、及びフレーム種別不正検知処理の結果が出力されるのみである、これに限定されない。不正なフレーム又はその発生が検知された処理に応じて、不正検知ログの残し方、又は不正なフレームへの対処方法を変化させてもよい。
例えば、個別フレーム不正検知の結果、不正であると判定されたフレームについては、当該フレームに係る情報をログに残し、又はさらに外部サーバへ通知する。さらに不正検知部がゲートウェイ等に実装されている場合は、当該フレームを転送しない等の処理を行ってもよい。このように、不正なフレームの送信がフレーム単位で判断できる場合は、より詳細な情報を残し、後の攻撃原因の解析、又は当該フレームを利用しない等の具体的な対処が実行可能になり、安全性の向上に効果的である。
また例えば、サイクル別不正検知処理で不正なフレームの発生が検知された場合は、当該サイクルの統計量の情報をログとして残し、又はさらに外部サーバへ通知する。このように、サイクル別不正検知処理ではサイクル単位で攻撃の発生時刻を把握することができ、後の攻撃原因の解析に有効である。
また例えば、フレーム種別不正検知処理で不正なフレームの発生が検知された場合は、フレーム名ごとに統計量を整理し、異常な統計量を含むフレームに関してログを残し、又はさらに外部サーバへ通知する。これにより、単一のフレーム又は単一のサイクルでは、判断できなかったフレームの異常をフレームの種類のレベルで判断することが可能となり、人手による解析時に、攻撃原因の特定を容易する。
(18)上記の実施の形態では、フレーム種別ルールは、フレームの種別ごとの受信数に係る統計量に関するルールである、これに限らない。例えば、ペイロードに含まれる信号値の総変化量や、平均変化量、分散等に関するルールであってもよい。
(19)上記の実施の形態では、動的フレーム及び静的フレームを併せたサイクル別ルールが利用されているが、これに限られない。静的フレームに関するサイクル別ルールと、動的フレームに関するサイクル別ルールとは分けられてもよい。これにより、恒常的に受信される静的フレームの統計量と、受信の有無が変動的な動的フレームの統計量をもとに、それぞれについて不正なフレームの発生を判断することができ、より正確な検知が可能となる。
(20)上記の実施の形態では、車載ネットワークとしてFlexRayプロトコルを用いていたが、これに限るものではない。例えば、CAN、CAN-FD(CAN with Frexible Data Rate)、Ethernet(登録商標)、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。特にタイムトリガー方式を採用しているネットワークに対して有効である。また、実施の形態は車載ネットワークでの不正検知装置又は不正検知方法を例に用いて説明しているが、本開示の態様に係る不正検知装置等は、車載ネットワーク以外の通信ネットワークにも適用可能である。
(21)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAM又はハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(22)上記の実施の形態における各装置は、構成する構成要素の一部又は全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(23)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(24)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本開示は、上記のコンピュータプログラム又は上記のデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記のデジタル信号であるとしてもよい。
また、本開示は、上記のコンピュータプログラム又は上記のデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、当該メモリは、上記コンピュータプログラムを記録しており、当該マイクロプロセッサは、このコンピュータプログラムに従って動作するとしてもよい。
また、上記のプログラム又は上記のデジタル信号を前記記録媒体に記録して移送することにより、又は当該プログラム又は前記デジタル信号を、当該ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(25)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本開示に係る技術は、通信ネットワーク、特にタイムトリガー方式を採用しているネットワークにおいて、サイバー攻撃などによる不正なフレームへの対処を可能にするために利用することができる。
10 車載ネットワークシステム
100a、100b、100c、100d、100e バス
200a、200b、200c、200d ECU
201 フレーム送受信部
202 フレーム解釈部
203 外部機器制御部
204 フレーム生成部
205 通信用設定パラメータ保持部
210 ステアリング
220 ギア
230 ブレーキ
240 カメラ
250 不正検知ECU
252 不正検知部
253 正規IDリスト保持部
254 個別フレームルール保持部
255 サイクル別ルール保持部
256 フレーム種別ルール保持部
257 受信履歴保持部
300 スターカプラ
301a、301b、301c、301d、301e トランシーバ部
302 ルーティング部

Claims (14)

  1. タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、
    前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、
    前記不正検知装置は、
    前記フレームを受信するフレーム受信部と、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、
    前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプと、当該フレームのペイロードの内容に応じた種別である第二タイプとがあり、
    前記統計量は、前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記フレームの前記第二タイプごとの受信数、及び前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記第二タイプごとであって前記第一タイプごとの前記フレームの受信数の少なくとも一方に関する第二統計量を含み、
    前記不正検知部は、前記第二統計量を、前記第二統計量の基準範囲を示す前記ルールである第二ルールに照らして不正なフレームの発生を検知する、
    不正検知装置。
  2. 前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、
    前記不正検知部は、前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知する、
    請求項1に記載の不正検知装置。
  3. 前記不正検知部は、前記第一ルール及び前記第二ルールの一方を用いて不正なフレームの発生を検知した場合に、さらに前記第一ルール及び前記第二ルールの他方を用いて不正なフレームの発生の有無を判定する、
    請求項に記載の不正検知装置。
  4. 前記不正検知部は、不正なフレームの発生を検知した場合、さらに、受信されたフレームごとに当該フレームが不正であるか否かを判断する、
    請求項1から3のいずれか一項に記載の不正検知装置。
  5. 前記不正検知部は、受信された前記フレームが受信されたタイムスロットが前記サイクルの繰り返しにおける所定のタイムスロットであり、かつ、当該フレームが送信された前記サイクルの繰り返し回数サイクルカウントから所定のオフセット値を減算し、所定の受信サイクルで割った余りが0となる関係性を満たさない場合に、当該フレームが不正であると判定する、
    請求項に記載の不正検知装置。
  6. タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、
    前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、
    前記不正検知装置は、
    前記フレームを受信するフレーム受信部と、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、
    前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプがあり、
    前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、
    前記不正検知部は、前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知し、
    前記不正検知部は、不正なフレームの発生を検知した場合、さらに、受信されたフレームごとに当該フレームが不正であるか否かを判断する、
    不正検知装置。
  7. 前記不正検知部は、受信された前記フレームが受信されたタイムスロットが前記サイクルの繰り返しにおける所定のタイムスロットであり、かつ、当該フレームが送信された前記サイクルの繰り返し回数サイクルカウントから所定のオフセット値を減算し、所定の受信サイクルで割った余りが0となる関係性を満たさない場合に、当該フレームが不正であると判定する、
    請求項6に記載の不正検知装置。
  8. 前記サイクルを構成する前記複数のタイムスロットは、前記サイクルの繰り返しの各回において必要に応じてフレームが送受信される動的タイムスロットを含み、
    前記不正検知部は、前記動的タイムスロットで受信されたフレームである動的フレームに対し、前記動的フレームを受信する前に受信されたフレームから判定される車両状態、及び前記動的フレームに含まれる情報を用いて不正なフレームであるか否かを判断する、
    請求項から6のいずれか一項に記載の不正検知装置。
  9. タイムスロットに基づくタイムトリガー方式の通信ネットワークにおける不正検知装置であって、
    前記通信ネットワークには複数の通信装置が接続され、前記複数の通信装置の各々は、複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームを送受信し、
    前記不正検知装置は、
    前記フレームを受信するフレーム受信部と、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの発生を検知する不正検知部とを備え、
    前記不正検知部は、前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプがあり、
    前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、
    前記不正検知部は、前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知し、
    前記サイクルを構成する前記複数のタイムスロットは、前記サイクルの繰り返しの各回において必要に応じてフレームが送受信される動的タイムスロットを含み、
    前記不正検知部は、前記動的タイムスロットで受信されたフレームである動的フレームに対し、前記動的フレームを受信する前に受信されたフレームから判定される車両状態、及び前記動的フレームに含まれる情報を用いて不正なフレームであるか否かを判断する、
    正検知装置。
  10. 前記不正検知部は、受信した前記動的フレームのスロットIDと所定の関係性を満たすサイクルカウントを含む前記動的フレームを受信したタイミングにおける、前記車両状態が所定の状態でない場合に、
    該動的フレームを不正なフレームであると判断する、
    請求項8又は9に記載の不正検知装置。
  11. 前記タイムトリガー方式は、FlexRay(登録商標)プロトコルによる通信方式であり、
    前記サイクルの繰り返し回数は前記FlexRayプロトコルにおけるサイクルカウントであり、
    前記第一統計量は、フレームの受信数、Nullフレームの受信数、Syncフレームの受信数、Startupフレームの受信数、Payload preamble indicatorが1であるフレームの受信数、及びエラーが発生しているフレームの受信数のうち、1つ以上を含む、
    請求項2、3、6、7、及び9のいずれか一項に記載の不正検知装置。
  12. タイムスロットに基づくタイムトリガー方式の通信ネットワークであって、複数の通信装置が接続され、前記複数の通信装置の各々は、
    複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームが送受信される通信ネットワークで実行される不正検知方法であって、
    前記フレームを受信し、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの受信を検知し、
    前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプと、当該フレームのペイロードの内容に応じた種別である第二タイプがあり、
    前記統計量は、前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記フレームの前記第二タイプごとの受信数、及び前記サイクルが2以上の前記所定の繰り返し回数繰り返される間に受信された前記第二タイプごとであって前記第一タイプごとの前記フレームの受信数の少なくとも一方に関する第二統計量を含み、
    前記第二統計量を、前記第二統計量の基準範囲を示す前記ルールである第二ルールに照らして不正なフレームの発生を検知する、
    不正検知方法。
  13. タイムスロットに基づくタイムトリガー方式の通信ネットワークであって、複数の通信装置が接続され、前記複数の通信装置の各々は、
    複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームが送受信される通信ネットワークで実行される不正検知方法であって、
    前記フレームを受信し、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの受信を検知し、
    前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプがあり、
    前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、
    前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知し、
    不正なフレームの発生を検知した場合、さらに、受信されたフレームごとに当該フレームが不正であるか否かを判断する、
    不正検知方法。
  14. タイムスロットに基づくタイムトリガー方式の通信ネットワークであって、複数の通信装置が接続され、前記複数の通信装置の各々は、
    複数の前記タイムスロットで構成されるサイクルの繰り返しにおける所定番目のサイクルの所定のタイムスロット内でフレームが送受信される通信ネットワークで実行される不正検知方法であって、
    前記フレームを受信し、
    前記フレームが受信された前記サイクルの繰り返し回数及び前記タイムスロットに基いて不正なフレームの受信を検知し、
    前記サイクルが1以上の所定の繰り返し回数繰り返される間に受信された前記フレームに関する統計量を、前記統計量の基準範囲を示すルールに照らして不正なフレームの発生を検知し、
    前記フレームには、当該フレームのメタ情報に応じた種別である第一タイプがあり、
    前記統計量は、前記フレームの前記第一タイプごとの受信数に関する第一統計量を含み、
    前記第一統計量を、前記第一統計量の基準範囲を示す前記ルールである第一ルールに照らして不正なフレームの発生を検知し、
    前記サイクルを構成する前記複数のタイムスロットは、前記サイクルの繰り返しの各回において必要に応じてフレームが送受信される動的タイムスロットを含み、
    前記動的タイムスロットで受信されたフレームである動的フレームに対し、前記動的フレームを受信する前に受信されたフレームから判定される車両状態、及び前記動的フレームに含まれる情報を用いて不正なフレームであるか否かを判断する、
    不正検知方法。
JP2020532475A 2018-07-27 2019-07-25 不正検知方法及び不正検知装置 Active JP7232832B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/028290 WO2020021713A1 (ja) 2018-07-27 2018-07-27 不正検知方法および不正検知電子制御装置
JPPCT/JP2018/028290 2018-07-27
PCT/JP2019/029251 WO2020022444A1 (ja) 2018-07-27 2019-07-25 不正検知方法及び不正検知装置

Publications (2)

Publication Number Publication Date
JPWO2020022444A1 JPWO2020022444A1 (ja) 2021-08-02
JP7232832B2 true JP7232832B2 (ja) 2023-03-03

Family

ID=69180727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020532475A Active JP7232832B2 (ja) 2018-07-27 2019-07-25 不正検知方法及び不正検知装置

Country Status (5)

Country Link
US (1) US12003521B2 (ja)
EP (1) EP3832954B1 (ja)
JP (1) JP7232832B2 (ja)
CN (1) CN111492625B (ja)
WO (2) WO2020021713A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142741A1 (ja) * 2018-01-22 2019-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両異常検知サーバ、車両異常検知システム及び車両異常検知方法
WO2019225259A1 (ja) * 2018-05-23 2019-11-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信制御装置、不正検知電子制御ユニット、モビリティネットワークシステム、通信制御方法、不正検知方法およびプログラム
US11700270B2 (en) * 2019-02-19 2023-07-11 The Aerospace Corporation Systems and methods for detecting a communication anomaly
JP7234832B2 (ja) * 2019-07-03 2023-03-08 株式会社デンソー 電子制御装置
JP7264079B2 (ja) * 2020-02-05 2023-04-25 トヨタ自動車株式会社 感情推定装置、方法、プログラムおよび車両
DE102021112328A1 (de) * 2021-05-11 2022-11-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erkennen einer Manipulation einer Nachricht eines Bussystems eines Fahrzeugs durch ein Steuergerät eines Fahrzeugs, computerlesbares Medium, System, und Fahrzeug
JP7507205B2 (ja) 2021-12-20 2024-06-27 本田技研工業株式会社 通信監視装置および通信監視方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008509584A (ja) 2004-08-05 2008-03-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング フレックスレイ(FlexRay)通信コントローラ
JP2009038477A (ja) 2007-07-31 2009-02-19 Denso Corp 診断装置
JP2011023983A (ja) 2009-07-15 2011-02-03 Fujitsu Semiconductor Ltd ネットワークノード
JP2011193373A (ja) 2010-03-16 2011-09-29 Hitachi Automotive Systems Ltd 通信装置、通信システム
JP6279174B1 (ja) 2017-02-28 2018-02-14 三菱電機株式会社 車両通信監視装置、車両通信監視方法および車両通信監視プログラム
WO2018105330A1 (ja) 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5664799U (ja) 1979-10-23 1981-05-30
JPH0435815Y2 (ja) 1985-11-07 1992-08-25
US6292589B1 (en) * 1996-06-21 2001-09-18 Compaq Computer Corporation Method for choosing rate control parameters in motion-compensated transform-based picture coding scheme using non-parametric technique
JP2000259815A (ja) * 1999-03-04 2000-09-22 Asahi Optical Co Ltd 画像入力装置
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7532895B2 (en) * 2002-05-20 2009-05-12 Air Defense, Inc. Systems and methods for adaptive location tracking
US20040203764A1 (en) * 2002-06-03 2004-10-14 Scott Hrastar Methods and systems for identifying nodes and mapping their locations
US7277404B2 (en) * 2002-05-20 2007-10-02 Airdefense, Inc. System and method for sensing wireless LAN activity
US7322044B2 (en) * 2002-06-03 2008-01-22 Airdefense, Inc. Systems and methods for automated network policy exception detection and correction
US7324804B2 (en) * 2003-04-21 2008-01-29 Airdefense, Inc. Systems and methods for dynamic sensor discovery and selection
US7355996B2 (en) * 2004-02-06 2008-04-08 Airdefense, Inc. Systems and methods for adaptive monitoring with bandwidth constraints
US20050246353A1 (en) * 2004-05-03 2005-11-03 Yoav Ezer Automated transformation of unstructured data
US20060123133A1 (en) * 2004-10-19 2006-06-08 Hrastar Scott E Detecting unauthorized wireless devices on a wired network
US8373581B2 (en) * 2007-06-19 2013-02-12 Magna Electronics, Inc. Mobile control node system and method for vehicles
CN101753208B (zh) * 2008-11-29 2013-07-10 华为数字技术(成都)有限公司 一种节点异常检测方法、装置及存储设备
US9734037B1 (en) * 2009-09-15 2017-08-15 Symantec Corporation Mobile application sampling for performance and network behavior profiling
WO2011074052A1 (ja) * 2009-12-14 2011-06-23 富士通株式会社 通信装置、統計情報収集制御装置および統計情報収集制御方法
JP5522160B2 (ja) * 2011-12-21 2014-06-18 トヨタ自動車株式会社 車両ネットワーク監視装置
WO2013094072A1 (ja) 2011-12-22 2013-06-27 トヨタ自動車 株式会社 通信システム及び通信方法
US20150355917A1 (en) * 2013-03-01 2015-12-10 Mitsubishi Electric Corporation Data processing apparatus and communication system
US10944765B2 (en) * 2014-01-10 2021-03-09 Red Bend Ltd. Security system for machine to machine cyber attack detection and prevention
CN110843706B (zh) * 2014-04-03 2024-07-12 松下电器(美国)知识产权公司 网络通信系统、不正常检测电子控制单元以及不正常应对方法
CN110610092B (zh) * 2014-04-17 2023-06-06 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
EP3337102B1 (en) * 2014-12-01 2020-03-25 Panasonic Intellectual Property Corporation of America Illegality detection electronic control unit, car onboard network system, and illegality detection method
JP6594732B2 (ja) * 2015-01-20 2019-10-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
EP3274845B1 (en) * 2015-03-26 2021-07-07 Red Bend Ltd. Security systems and method for identification of in-vehicle attack originator
CN104869014B (zh) * 2015-04-24 2019-02-05 国家电网公司 一种以太网故障定位与检测方法
JP6531011B2 (ja) * 2015-09-04 2019-06-12 日立オートモティブシステムズ株式会社 車載ネットワーク装置
US11397801B2 (en) * 2015-09-25 2022-07-26 Argus Cyber Security Ltd. System and method for controlling access to an in-vehicle communication network
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP6684690B2 (ja) * 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
IT201600111869A1 (it) * 2016-11-07 2018-05-07 Magneti Marelli Spa "Procedimento di monitoraggio di traffico dati in una rete di autoveicolo o motoveicolo"
CN110325929B (zh) * 2016-12-07 2021-05-25 阿瑞路资讯安全科技股份有限公司 用于检测有线网络变化的信号波形分析的系统和方法
US10055260B2 (en) * 2017-01-05 2018-08-21 Guardknox Cyber Technologies Ltd. Specially programmed computing systems with associated devices configured to implement centralized services ECU based on services oriented architecture and methods of use thereof
US10326788B1 (en) * 2017-05-05 2019-06-18 Symantec Corporation Systems and methods for identifying suspicious controller area network messages
US10648889B2 (en) * 2018-04-30 2020-05-12 Nxp B.V. Monitor system for detecting defeat devices in engine control units

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008509584A (ja) 2004-08-05 2008-03-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング フレックスレイ(FlexRay)通信コントローラ
JP2009038477A (ja) 2007-07-31 2009-02-19 Denso Corp 診断装置
JP2011023983A (ja) 2009-07-15 2011-02-03 Fujitsu Semiconductor Ltd ネットワークノード
JP2011193373A (ja) 2010-03-16 2011-09-29 Hitachi Automotive Systems Ltd 通信装置、通信システム
WO2018105330A1 (ja) 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
JP6279174B1 (ja) 2017-02-28 2018-02-14 三菱電機株式会社 車両通信監視装置、車両通信監視方法および車両通信監視プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高橋 順子,自動車の不正挙動を誘発するFlexRay通信上での攻撃手法の検討,SCIS2018,2018年01月23日

Also Published As

Publication number Publication date
EP3832954A4 (en) 2021-09-08
CN111492625A (zh) 2020-08-04
US12003521B2 (en) 2024-06-04
US20210044610A1 (en) 2021-02-11
WO2020022444A1 (ja) 2020-01-30
EP3832954B1 (en) 2022-12-28
CN111492625B (zh) 2022-07-01
WO2020021713A1 (ja) 2020-01-30
EP3832954A1 (en) 2021-06-09
JPWO2020022444A1 (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
JP7232832B2 (ja) 不正検知方法及び不正検知装置
US10951631B2 (en) In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
EP3142288B1 (en) In-car network system, electronic control unit and update processing method
US10992688B2 (en) Unauthorized activity detection method, monitoring electronic control unit, and onboard network system
EP3659868B1 (en) Abnormality detection device, and abnormality detection method
US10999248B2 (en) Information processing method, information processing system, and non-transitory computer-readable recording medium storing a program
EP3128699B1 (en) Network communication system, fraud detection electronic control unit and fraud handling method
US20180144119A1 (en) Misuse detection method, misuse detection electronic control unit, and misuse detection system
EP3772200B1 (en) Illicit act detection method, illicit act detection device, and program
JP2018026791A (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
US11843477B2 (en) Anomaly determination method, anomaly determination device, and recording medium
KR102204655B1 (ko) 공격 메시지 재전송 시간을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화방법
CN115580471A (zh) 不正当检测方法、不正当检测装置以及存储介质
CN111788800B (zh) 帧传送方法以及安全星型耦合器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230110

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: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230220

R150 Certificate of patent or registration of utility model

Ref document number: 7232832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150