(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-24
(45)【発行日】2022-12-02
(54)【発明の名称】不正検知装置、車載ネットワークシステム、および、不正検知方法
(51)【国際特許分類】
H04L 43/02 20220101AFI20221125BHJP
H04L 12/28 20060101ALI20221125BHJP
H04L 12/22 20060101ALI20221125BHJP
H04L 12/66 20060101ALI20221125BHJP
【FI】
H04L43/02
H04L12/28 100A
H04L12/22
H04L12/66
(21)【出願番号】P 2019559570
(86)(22)【出願日】2018-12-05
(86)【国際出願番号】 JP2018044642
(87)【国際公開番号】W WO2019116973
(87)【国際公開日】2019-06-20
【審査請求日】2021-11-10
(31)【優先権主張番号】P 2017240804
(32)【優先日】2017-12-15
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】芳賀 智之
(72)【発明者】
【氏名】鳥崎 唯之
(72)【発明者】
【氏名】寺澤 弘泰
(72)【発明者】
【氏名】加藤 遼
【審査官】野元 久道
(56)【参考文献】
【文献】特開2011-188276(JP,A)
【文献】特開2016-134914(JP,A)
【文献】特開2008-136049(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
H04L 12/00
(57)【特許請求の範囲】
【請求項1】
車両における車載ネットワークシステム上を流れるフレームの不正を検知する不正検知装置であって、
少なくとも送信先が格納された1以上のフレームを取得する取得部と、
前記1以上のフレームのそれぞれについて、第一条件を満たすフレームが不正であると判定することを示す第一不正検知ルールと
、前記
1以上のフレームの
それぞれについて、前記送信先が自動運転の制御を行う電子制御ユニットである第二条件を満たす場合に当
該フレームを転送またはミラーリングすることを示すミラーリングルールとが定義された第一ルールを保持している第一保持部と、
前記1以上のフレームのそれぞれについて、前記第一不正検知ルールに基づいて、当該フレームの不正検知を行い、前記ミラーリングルールに基づいて、前記1以上のフレームに対して転送またはミラーリングの制御をする第一フレーム制御部と、
前記第一条件よりも詳細な条件である第三条件を満たすフレームが不正であると判定することを示す第二不正検知ルールが定義された第二ルールを保持している第二保持部と、
前記第一フレーム制御部により転送またはミラーリングされた前記1以上のフレームのそれぞれについて、前記第二ルールに基づいて当該フレームの不正検知を行う第二フレーム制御部と、を備え、
前記第二フレーム制御部は、不正なフレームを検知した場合に、検知された前記不正なフレームを示す検知結果を、通知または記憶する不正検知装置。
【請求項2】
前記第一フレーム制御部は、ハードウェアで実現され、
前記第二フレーム制御部は、ソフトウェアで実現される
請求項1記載の不正検知装置。
【請求項3】
前記取得部は、前記1以上のフレームを含む複数のフレームを取得し、
前記第一ルールには、前記取得部により取得された前記複数のフレームのうち、第一割合の数のフレームを前記第二フレーム制御部へ転送またはミラーリングすること、および、第二割合の数のフレームを、前記車両における他の不正検知装置への転送またはミラーリングすることを示すルールが定義されており、
前記第一フレーム制御部は、前記第一ルールに基づいて、前記第二フレーム制御部へ前記第一割合の数のフレームを転送またはミラーリングし、かつ、前記他の不正検知装置へ前記第二割合の数のフレームを転送またはミラーリングし、
前記第二フレーム制御部は、前記第一フレーム制御部により転送またはミラーリングされた前記第一割合の数のフレームのそれぞれについて、当該フレームの不正検知を前記第二ルールに基づいて行う
請求項1または2記載の不正検知装置。
【請求項4】
前記第一フレーム制御部は、前記他の不正検知装置へ前記第二割合の数のフレームを転送またはミラーリングする場合、前記第二割合の数のフレームのそれぞれについて前記不正検知を行うことを前記他の不正検知装置に依頼することを示す依頼情報を、前記第二割合の数のフレームに付加して前記他の不正検知装置に送信する
請求項3記載の不正検知装置。
【請求項5】
前記車載ネットワークシステムは複数のドメインにドメイン分割されており、
前記不正検知装置と、前記他の不正検知装置とは、前記複数のドメインのうち互いに異なるドメインに属しており、
前記第一フレーム制御部は、前記フレームを前記他の不正検知装置に転送またはミラーリングする場合、前記他の不正検知装置が属するドメインを識別する識別情報を前記フレームに付加する、または、前記フレームに含まれる識別情報を前記他の不正検知装置が属するドメインを識別する識別情報に書換えて、前記フレームを転送またはミラーリングする
請求項4記載の不正検知装置。
【請求項6】
さらに、
第三保持部を備え、
前記第二フレーム制御部は、前記取得部により取得された前記1以上のフレームのそれぞれについて、当該フレームに格納されてい
る送信元および前記送信先の組ごとに、当該フレームの送受信に関するログ情報を生成し、生成した前記ログ情報を前記第三保持部に記憶させる
請求項1から5のいずれか1項記載の不正検知装置。
【請求項7】
さらに、
前記車両における1以上の他の不正検知装置からそれぞれ1以上の前記ログ情報を取得し、取得された前記1以上のログ情報と、前記第三保持部が記憶している前記ログ情報とを統合することで統合ログ情報を生成し、前記第三保持部に生成された前記統合ログ情報を記憶させる統合ログ管理部を備える
請求項6記載の不正検知装置。
【請求項8】
それぞれが請求項6記載の不正検知装置である複数の不正検知装置と、
前記複数の不正検知装置のそれぞれから1以上の前記ログ情報を取得し、前記複数の不正検知装置のそれぞれから取得された前記1以上のログ情報を互いに統合することで統合ログ情報を生成し、生成された前記統合ログ情報を記憶する統合ログ管理装置と、を備える
車載ネットワークシステム。
【請求項9】
車両における車載ネットワークシステム上を流れるフレームの不正を検知する不正検知方法であって、
少なくとも送信先が格納された1以上のフレームを取得し、
前記1以上のフレームのそれぞれについて、第一条件を満たすフレームが不正であると判定することを示す第一不正検知ルールと
、前記
1以上のフレームの
それぞれについて、前記送信先が自動運転の制御を行う電子制御ユニットである第二条件を満たす場合に当
該フレームを転送またはミラーリングすることを示すミラーリングルールとが定義された第一ルールを読み出し、
前記1以上のフレームのそれぞれについて、前記第一不正検知ルールに基づいて、当該フレームの不正検知を行い、読み出した前記ミラーリングルールに基づいて、前記1以上のフレームに対して転送またはミラーリングし、
前記第一条件よりも詳細な条件である第三条件を満たすフレームが不正であると判定することを示す第二不正検知ルールが定義された第二ルールを読み出し、
転送またはミラーリングされた前記1以上のフレームのそれぞれについて、読み出した前記第二ルールに基づいて当該フレームの不正検知を行い、
前記不正検知において不正なフレームを検知した場合に、検知された前記不正なフレームを示す検知結果を通知する、または、記憶する
不正検知方法。
【請求項10】
前記取得では、前記1以上のフレームを含む複数のフレームを取得し、
前記第一ルールには、取得した前記複数のフレームのうち、第一割合の数のフレームを、前記不正検知を行う不正検知装置が備える第二フレーム制御部へ転送またはミラーリングすること、および、第二割合の数のフレームを、前記車両における他の不正検知装置へ転送またはミラーリングすることを示すルールが定義されており、
前記転送またはミラーリングでは、前記第一ルールに基づいて、前記第二フレーム制御部へ前記第一割合の数のフレームを転送またはミラーリングし、かつ、前記他の不正検知装置へ前記第二割合の数のフレームを転送またはミラーリングし、
前記不正検知では、転送またはミラーリングされた前記第一割合の数のフレームのそれぞれについて、当該フレームの不正検知を前記第二ルールに基づいて行う
請求項9記載の不正検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載ネットワークにおける不正なメッセージを検知する不正検知装置、車載ネットワークシステム、および、不正検知方法に関する。
【背景技術】
【0002】
特許文献1には、車両を制御するための車内ネットワークシステムについて開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献に係る技術には、更なる改善が必要とされていた。
【課題を解決するための手段】
【0005】
本開示の一態様に係る不正検知装置は、車両における車載ネットワークシステム上を流れるフレームの不正を検知する不正検知装置であって、送信元および送信先の少なくとも一方が格納された1以上のフレームを取得する取得部と、一の前記フレームが前記送信元または前記送信先に基づく第一条件を満たす場合に当該一のフレームを転送またはミラーリングすることを示すルールが定義された第一ルールを保持している第一保持部と、前記第一ルールに基づいて、前記1以上のフレームに対して転送またはミラーリングの制御をする第一フレーム制御部と、第二条件を満たすフレームが不正であると判定することを示すルールが定義された第二ルールを保持している第二保持部と、前記第一フレーム制御部により転送またはミラーリングされた前記1以上のフレームのそれぞれについて、前記第二ルールに基づいて当該フレームの不正検知を行う第二フレーム制御部と、を備え、前記第二フレーム制御部は、不正なフレームを検知した場合に、検知された前記不正なフレームを示す検知結果を、通知または記憶する。
【0006】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0007】
本開示は、更なる改善を図ることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態における車載ネットワーク検知システムの全体構成の一例を示す図である。
【
図2】
図2は、本実施の形態における車載ネットワークの全体構成図である。
【
図3】
図3は、Eスイッチの機能構成の一例を示すブロック図である。
【
図4】
図4は、E-CANスイッチの機能構成の一例を示すブロック図である。
【
図5】
図5は、実施の形態に係るEフレームと複数のCANフレームとの関係を示す図である。
【
図6】
図6は、第一保持部が保持する第一ルールの一例を示す図である。
【
図7】
図7は、第二保持部が保持する第二ルールの一例を示す図である。
【
図8】
図8は、Eフレームを分散して不正検知する処理の概要を示す図である。
【
図9】
図9は、Eフレームの不正を分散検知するシーケンス図である。
【
図10】
図10は、第三保持部が保持しているフロー情報の一例を示す図である。
【
図11】
図11は、複数のEスイッチに分散して記録されたフロー情報を結合する処理を示す図である。
【
図12】
図12は、統合ログ管理部が生成する統合ログ情報一例を示す図である。
【
図14】
図14は、監視サーバが表示する画面の一例を示す図である。
【発明を実施するための形態】
【0009】
(本開示の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、車内ネットワークシステムに関し、以下の問題が生じることを見出した。
【0010】
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898-1で規定されているCAN(Controller Area Network)という規格が存在する。また、より多くの情報を伝送するための規格として、IEEE 802.3で規定されているEthernet(登録商標)という規格が存在する。
【0011】
先進運転支援システムまたは自動運転においては、カメラやLIDAR(Light Detection and Ranging)などのセンサにより得られたデータ、または、ダイナミックマップに用いるデータのような膨大な情報を処理する必要があるため、データ伝送速度が高いEthernet(登録商標)の導入が進んでいる。一方で、従来から存在するCANも車両制御系としては利用されている。そのため、CANとEthernetとが混在する車載ネットアーキテクチャが増えてきている。
【0012】
自動車は、外部ネットワークと接続され、電子制御化が進んでいる。これにより、自動車には、自動車の制御系コマンドをなりすまされることで、不正に操作される脅威がある。そのような脅威から守るために、特許文献1では、Ethernetのような情報系ネットワークに送信されたデータを、情報系ネットワークからCANのような車両制御系ネットワークへ転送することの可否を判定することが開示されている。しかしながら、特許文献1には、データを構成するフレームの内容をチェックして異常を検知するパケットインスペクションついて、開示されていない。
【0013】
車載Ethernetが導入されるアーキテクチャでは、各Ethernet対応デバイスの接続にEthernetスイッチが利用される。Ethernetスイッチは、TCAM(Ternary CAM:Ternary Content Addressable Memory)などのハードウェアによる高速なセキュリティ処理ができる。しかし、Ethernetスイッチでのセキュリティ処理において設定できるセキュリティルールには、制限がある。そこで、パケットインスペクションのような柔軟なセキュリティルールを設定するために、別途、パケットインスペクション機能を、MPU(Micro Processor Unit)によるソフトウェア処理により実現することが考えられる。しかし、Ethernetスイッチに搭載されるMPUのリソースには限りがあるため、Ethernetスイッチで受信した全てのEthernetフレームをMPUによるソフトウェア処理でパケットインスペクションすることは困難である。
【0014】
そこで、本発明者らは、鋭意検討の上、Ethernetフレームのパケットインスペクション機能などの不正検知処理を、他のEthernetスイッチのリソースも活用してフレームの不正検知処理を分散するための処理を行うことを見出すに至った。これにより、1つのEthernetスイッチのMPUを用いたソフトウェア処理によるパケットインスペクションでは検知しきれなかったフレームを、他のデバイスに検知させることができる。このため、Ethernetフレームの不正検知のチェック率を向上させることができ、車両への攻撃を早期に検知し、車両への不正制御を防止することを目的とする。
【0015】
本開示の一態様に係る不正検知装置は、車両における車載ネットワークシステム上を流れるフレームの不正を検知する不正検知装置であって、送信元および送信先の少なくとも一方が格納された1以上のフレームを取得する取得部と、一の前記フレームが前記送信元または前記送信先に基づく第一条件を満たす場合に当該一のフレームを転送またはミラーリングすることを示すルールが定義された第一ルールを保持している第一保持部と、前記第一ルールに基づいて、前記1以上のフレームに対して転送またはミラーリングの制御をする第一フレーム制御部と、第二条件を満たすフレームが不正であると判定することを示すルールが定義された第二ルールを保持している第二保持部と、前記第一フレーム制御部により転送またはミラーリングされた前記1以上のフレームのそれぞれについて、前記第二ルールに基づいて当該フレームの不正検知を行う第二フレーム制御部と、を備え、前記第二フレーム制御部は、不正なフレームを検知した場合に、検知された前記不正なフレームを示す検知結果を、通知または記憶する。
【0016】
これにより、不正検知装置は、車載ネットワーク上の流れる1以上のフレームに対して、第一ルールおよび第二ルールの2段階で不正検知することができる。また、不正検知装置は、第一ルールにおいて、送信元または送信先に基づく第一条件を満たすフレームを転送またはミラーリングし、第一ルールにより絞り込まれたフレームに対して、第二ルールにおいて、フレームが不正であることを判定する。このため、不正の検知精度を低減させないように、不正であることを判定する対象とするフレームの数を少なくすることができ、第二ルールを用いた不正検知の処理負荷を低減することができる。よって、効果的に不正を検知することができる。
【0017】
また、前記第一フレーム制御部は、ハードウェアで実現され、前記第二フレーム制御部は、ソフトウェアで実現されてもよい。
【0018】
これにより、第一ルールを用いた処理機能は、ハードウェアにより実現するため、第一ルールを用いた処理を高速に実行することができる。また、第二ルールを用いた処理機能は、ソフトウェアにより実現されるため、第二ルールの定義をソフトウェアで柔軟に変更することができる。これにより、例えば、パケットインスペクションのような柔軟なセキュリティルールを容易に設定することができる。
【0019】
また、前記取得部は、前記1以上のフレームを含む複数のフレームを取得し、前記第一ルールには、前記取得部により取得された前記複数のフレームのうち、第一割合の数のフレームを前記第二フレーム制御部へ転送またはミラーリングすること、および、第二割合の数のフレームを、前記車両における他の不正検知装置への転送またはミラーリングすることを示すルールが定義されており、前記第一フレーム制御部は、前記第一ルールに基づいて、前記第二フレーム制御部へ前記第一割合の数のフレームを転送またはミラーリングし、かつ、前記他の不正検知装置へ前記第二割合の数のフレームを転送またはミラーリングし、前記第二フレーム制御部は、前記第一フレーム制御部により転送またはミラーリングされた前記第一割合の数のフレームのそれぞれについて、当該フレームの不正検知を前記第二ルールに基づいて行ってもよい。
【0020】
また、前記第一フレーム制御部は、前記他の不正検知装置へ前記第二割合の数のフレームを転送またはミラーリングする場合、前記第二割合の数のフレームのそれぞれについて前記不正検知を行うことを前記他の不正検知装置に依頼することを示す依頼情報を、前記第二割合の数のフレームに付加して前記他の不正検知装置に送信してもよい。
【0021】
これにより、例えばEthernetなどの車載ネットワークに接続された他の不正検知装置と連携することで、他の不正検知装置との間でフレームの不正検知を分散して処理することができる。このため、1つの不正検知装置における不正検知の処理負荷を低減することができ、より多くのフレームを不正検知することができる。
【0022】
また、前記車載ネットワークシステムは複数のドメインにドメイン分割されており、前記不正検知装置と、前記他の不正検知装置とは、前記複数のドメインのうち互いに異なるドメインに属しており、前記第一フレーム制御部は、前記フレームを前記他の不正検知装置に転送またはミラーリングする場合、前記他の不正検知装置が属するドメインを識別する識別情報を前記フレームに付加する、または、前記フレームに含まれる識別情報を前記他の不正検知装置が属するドメインを識別する識別情報に書換えて、前記フレームを転送またはミラーリングしてもよい。
【0023】
これにより、例えばタグVLANでドメイン分割されている車載ネットワークにおいても、互いに異なるドメインに属する複数の不正検知装置にフレームの不正検知を分散して処理することができる。
【0024】
また、さらに、第三保持部を備え、前記第二フレーム制御部は、前記取得部により取得された前記1以上のフレームのそれぞれについて、当該フレームに格納されている前記送信元および前記送信先の組ごとに、当該フレームの送受信に関するログ情報を生成し、生成した前記ログ情報を前記第三保持部に記憶させてもよい。
【0025】
これにより、車載ネットワーク上に流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0026】
また、さらに、前記車両における1以上の他の不正検知装置からそれぞれ1以上の前記ログ情報を取得し、取得された前記1以上のログ情報と、前記第三保持部が記憶している前記ログ情報とを統合することで統合ログ情報を生成し、前記第三保持部に生成された前記統合ログ情報を記憶させる統合ログ管理部を備えてもよい。
【0027】
これによれば、不正検知処理を複数の不正検知装置に分散した場合において、複数の不正検知装置それぞれにおける不正検知の結果を統合する。このため、車両全体における車載ネットワークを流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0028】
また、本開示の一態様に係る車載ネットワークシステムは、複数の不正検知装置と、前記複数の不正検知装置のそれぞれから1以上の前記ログ情報を取得し、前記複数の不正検知装置のそれぞれから取得された前記1以上のログ情報を互いに統合することで統合ログ情報を生成し、生成された前記統合ログ情報を記憶する統合ログ管理装置と、を備える。
【0029】
これによれば、不正検知処理を複数の不正検知装置に分散した場合において、複数の不正検知装置それぞれにおける不正検知の結果を統合する。このため、車両全体における車載ネットワークを流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0030】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【0031】
以下、実施の形態に係る不正検知装置および不正検知方法について図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、処理の要素としてのステップ及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【0032】
(実施の形態)
図1は、実施の形態における車載ネットワーク検知システムの全体構成の一例を示す図である。
【0033】
車載ネットワークシステム90は、監視サーバ80と、車両1~6とを備える。監視サーバ80および車両1~6のそれぞれとは、外部ネットワーク30により通信接続されている。車両1~6は、無線通信接続により外部ネットワーク30に通信接続されている。
図1における車載ネットワークシステム90は、いわゆるコネクテッドカーシステムが図示されている。
【0034】
図2は、本実施の形態における車載ネットワークの全体構成図である。
【0035】
車両1のネットワークシステム7は、制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器が搭載された車両1におけるネットワーク通信システムである。ネットワークシステム7は、第一ネットワーク10と第二ネットワーク20とを有する。車両1は、移動体の一例である。第一ネットワーク10は、Ethernet(登録商標)プロトコルに従ってEthernet(登録商標)フレーム(以下、「Eフレーム」という)の伝送が行われるEthernet(登録商標)のネットワークである。第二ネットワーク20は、CANプロトコルに従ってバスでデータフレーム(CANフレーム)等の伝送が行われるCANのネットワークである。
【0036】
図2に示すように、ネットワークシステム7は、Ethernetスイッチ100B(以下、「Eスイッチ100B」と言う。)と、テレマティクス通信ユニット410と、診断ポート420と、Ethernetスイッチ100A(以下、「Eスイッチ100A」と言う。)と、自動運転ECU110と、カメラ120と、LIDAR130と、ダイナミックマップECU140と、Ethernetスイッチ100C(以下、「Eスイッチ100C」と言う。)と、IVI(In-Vehicle Infotainment)310と、HUD(Heaad Up Display)320と、Ethernet-CANスイッチ200(以下、「E-CANスイッチ200」と言う。)と、エンジンECU201と、ステアリングECU202と、ブレーキECU203と、ウィンドウECU204と、第一伝送路11と、第二伝送路21とを含んで構成される。第一伝送路11は、第一ネットワーク10の伝送路であり、例えばEthernet(登録商標)ケーブルである。第二伝送路21は、第二ネットワーク20の伝送路であり、例えばCANバスである。
【0037】
なお、ネットワークシステム7には、上記の各ECU110、140、201、202、203、204の他にもいくつものECUまたはDCUが含まれてもよい。例えば、第二伝送路21には、各ECU201、202、203、204以外にも、図示しないECUが接続されてもよい。
【0038】
各ECU110、140、201、202、203、204は、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行されるプログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。メモリとして、不揮発性メモリを含んでもよい。例えばプロセッサが、プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0039】
各ECU201、202、203、204は、CANプロトコルに従ってフレームの授受を行う。各ECU201、202、203、204は、それぞれエンジン、ステアリング、ブレーキ、ウィンドウ開閉センサといった機器に接続されており、その機器の状態を取得し、例えば周期的に、状態を表すデータフレームを、第二伝送路21等で構成される第二ネットワーク20に送信している。また、各ECU201、202、203、204は、第二ネットワーク20を構成する第二伝送路21からデータフレームを受信して、データフレームを解釈し、受信すべきCAN-IDを有するデータフレームか否かの判別を行う。そして、各ECU201、202、203、204は、判別の結果、必要に応じてデータフレーム内のデータ(データフィールドの内容)に従って、当該ECUに接続されている機器の制御を行ってもよいし、必要に応じてデータフレームを生成して送信してもよい。
【0040】
各ECU110、140は、Ethernet(登録商標)プロトコルに従ってEフレームの送信又は受信を行う。Eスイッチ100Cは、IVI310およびHUD320のような機器に接続されており、これらの機器から取得した情報に基づく処理を行う。Eスイッチ100Aは、自動運転ECU110、カメラ120、LIDAR130、および、ダイナミックマップECU140のような機器に接続されており、これらの機器から取得した情報に基づく処理を行う。
【0041】
E100Bには、テレマティクス通信ユニット410と診断ポート420と、Eスイッチ100Aと、E-CANスイッチ200と、Eスイッチ100Cとが、第一伝送路11で接続される。Eスイッチ100Bは、例えば、プロセッサ(例えばMPU)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む。
【0042】
テレマティクス通信ユニット410は、車両1が外部ネットワーク30上にある監視サーバ80と通信するユニットである。テレマティクス通信ユニット410は、例えば、第3世代移動通信システム(3G)、第4世代移動通信システム(4G)、第5世代移動通信システム(5G)、または、LTE(登録商標)などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースを有していてもよいし、IEEE802.11a、b、g、n規格に適合した無線LAN(Local Area Network)インタフェースを有していてもよい。つまり、外部ネットワーク30は、携帯電話通信網、Wi-Fiなどである。監視サーバ80は、例えば車両1のECUに対して情報を提供する機能等を有するコンピュータである。
【0043】
診断ポート420は、ディーラが車両1の故障診断に使うためのポートであり、診断用のコマンドの送受信に利用されるポートである。
【0044】
Eスイッチ100Aは、自動運転ECU110と、カメラ120と、LIDAR130と、ダイナミックマップECU140と、第一伝送路11で接続されているスイッチングハブである。
【0045】
自動運転ECU110は、車両1の運転を制御する制御コマンドを生成する。具体的には、自動運転ECU110は、車輪の操舵を行うステアリング、車輪を回転駆動させるエンジン、モータなどの動力源、車輪の制動するブレーキなどを制御する制御コマンドを生成する。つまり、制御コマンドは、進む(つまり、走行する)、曲がる、止まるの少なくとも1つを車両1に実行させる制御コマンドである。自動運転ECU110は、生成した制御コマンドを第二ネットワーク20に送信する。
【0046】
カメラ120は、車外の状況、つまり、車両1の周囲を撮影するカメラである。カメラ120は、例えば、車両1の車体の外側に配置されていてもよい。
【0047】
LIDAR130は、車外の障害物を感知するためのセンサである。LIDAR130は、例えば、車両1の水平方向において360度全方位、および、垂直方向において所定の角度(例えば30度)の角度範囲の検出範囲にある物体との距離を検出するレーザセンサである。LIDAR130は、車両1の周囲にレーザを発し、周囲の物体に反射されたレーザを検知することで、LIDAR130から物体までの距離を計測する。
【0048】
ダイナミックマップECU140は、ダイナミックマップに用いるデータを受信し、受信したデータを用いてダイナミックマップを復号するための電子制御ユニットである。復号されたダイナミックマップは、例えば、自動運転ECU110による自動運転の制御に用いられる。
【0049】
E-CANスイッチ200は、第二ネットワーク20および第一ネットワーク10に接続されているスイッチングハブである。第二ネットワーク20は、本実施の形態では、エンジンECU201、ステアリングECU202、ブレーキECU203の制御系バスと、ウィンドウ開閉を制御するウィンドウECU204が接続されるボディ系バスとの2本のCANバスを備えている。E-CANスイッチ200は、プロセッサ(例えばMPU)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む。E-CANスイッチ200は、2つの伝送路11、21のうち、一の伝送路から受信したフレームを他の伝送路に転送(または中継)する機能を有する。E-CANスイッチ200によるフレームの転送は、フレームに係るデータの中継である。E-CANスイッチ200は、フレームの転送において、転送先の伝送路で用いられる通信プロトコルに対応した、通信方式、フレームフォーマット等の変換が行われてもよい。また、E-CANスイッチ200は、伝送路間でのフレームの転送として、1以上の伝送路から受信した1以上のフレームに対応して、1以上のフレームの、1以上複数の伝送路への送信を行ってもよい。
【0050】
Eスイッチ100Cは、IVI310と、HUD320と、第一伝送路11で接続されているスイッチングハブである。IVI310は、ディスプレイを備え、映像、音声等の再生といったマルチメディア機能を有する装置である。HUD320は、例えば、車両1の運転者の前方の投影面に映像を投影する装置である。投影面は、車両1のフロントガラスの表面であってもよいし、フロントガラスとは異なる専用の投影面であってもよい。
【0051】
なお、Eスイッチ100A~100CおよびE-CANスイッチ200のそれぞれは、不正検知装置の一例である。
【0052】
なお、
図2では、Eスイッチ100AとEスイッチ100CとE-CANスイッチ200とが、Eスイッチ100Bを介してEthernet接続されているが、接続形態はこれに限らずに、リング構造、2重構造などのような他の接続形態で互いに接続されてもよい。
【0053】
図3は、Eスイッチ100Aの機能構成の一例を示すブロック図である。
【0054】
Eスイッチ100Aは、第一制御部210と、第二制御部220とを備える。Eスイッチ100Aは、さらに、第三保持部230を備えてもよい。
【0055】
第一制御部210は、Ethernet送受信部211(以下、「E送受信部211」と言う。)と、第一フレーム制御部212と、第一保持部213とを有する。
【0056】
E送受信部211は、第一伝送路11から複数のEフレームを受信する。また、E送受信部211は、第一伝送路11にEフレームを送信する。E送受信部211は、複数のEフレームを取得する取得部の一例である。なお、E送受信部211は、第一伝送路11から1つのEフレームを受信してもよい。
【0057】
第一保持部213は、Eフレームの転送ルールおよびEフレームの不正検知に関するセキュリティルールを保持している。つまり、第一保持部213は、一のEフレームが送信元または送信先に基づく第一条件を満たす場合に当該一のEフレームを転送またはミラーリングすることを示すルールが定義された第一ルールを保持している。
【0058】
第一フレーム制御部212は、第一ルールに基づいて、E送受信部211により受信された複数のEフレームの転送またはミラーリングの制御をする。なお、第一フレーム制御部212は、第一ルールに基づいて、E送受信部211により受信された複数のEフレームの破棄をしてもよい。
【0059】
具体的には、第一フレーム制御部212は、E送受信部211で受信された複数のEフレームのそれぞれについて、当該Eフレームが第一ルールにおける第一条件を満たすか否かを判定する。そして、第一フレーム制御部212は、当該Eフレームが第一条件を満たすと判定された場合、当該Eフレームを第二制御部220へ転送またはミラーリングする。反対に、第一フレーム制御部212は、当該Eフレームが第一条件を満たさないと判定された場合、当該Eフレームを転送またはミラーリングせずに、破棄する。
【0060】
第一制御部210は、EthernetスイッチICでハードウェア実装されることで実現される。つまり、第一フレーム制御部212は、ハードウェアで実現される処理部である。また、第一保持部213は、例えば、TCAMである。つまり、第一ルールは、例えば、TCAMに保持されているルールである。第一フレーム制御部212は、TCAMに保持されている第一ルールを用いて、比較処理を実行する。第一制御部210は、TCAMを使うことで、Eフレームのヘッダ領域またはペイロード領域に対するパケットインスペクションによる不正検知を高速に行うことができる。さらに、第一制御部210は、流量コントロール、ポートVLAN、タグVLAN、転送処理、ミラーリング処理、サンプリング転送など転送制御を行うことができる。
【0061】
第二制御部220は、Ethernet送受信部221(以下、「E送受信部221」と言う。)と、第二フレーム制御部222と、第二保持部223とを有する。
【0062】
E送受信部221は、第一制御部210により転送またはミラーリングされたEフレームを受信する。また、E送受信部221は、診断ポート420にEフレームを送信してもよい。なお、E送受信部221は、第一制御部210から1つのEフレームを受信してもよい。
【0063】
第二保持部223は、Eフレームの転送ルールおよびEフレームの不正検知に関するセキュリティルールを保持している。つまり、第二保持部223は、第二条件を満たすEフレームが不正であると判定することを示すルールが定義された第二ルールを保持している。
【0064】
第二フレーム制御部222は、E送受信部221により受信された複数のEフレームのそれぞれについて、第二ルールに基づいて当該Eフレームの不正検知を行う。具体的には、第二フレーム制御部222は、E送受信部221により受信された複数のEフレームのそれぞれについて、当該Eフレームが第二ルールにおける第二条件を満たすか否かを判定する。そして、第二フレーム制御部222は、当該Eフレームが第二条件を満たすと判定された場合、当該Eフレームが不正であると判定する。反対に、第二フレーム制御部222は、当該Eフレームが第二条件を満たさないと判定された場合、当該Eフレームが不正ではない、つまり、正常であると判定する。
【0065】
また、第二フレーム制御部222は、不正なEフレームを検知した場合に、検知された不正なEフレームを示す検知結果を通知または記憶する。第二フレーム制御部222は、検知結果を記憶する場合、例えば、第三保持部230に記憶させる。例えば、第二フレーム制御部222は、取得された複数のEフレームのそれぞれについて、当該Eフレームに格納されている送信元および送信先の組ごとに、当該フレームの送受信に関するログ情報を生成し、生成したログ情報を第三保持部230に記憶させてもよい。なお、ログ情報の詳細は、
図10を用いて後述する。
【0066】
第二制御部220は、具体的には、MPU(Micro Processor Unit)により実現され、第二フレーム制御部222の機能は、MPUによるソフトウェア処理により実現される。つまり、第二フレーム制御部222は、ソフトウェアで実現される。また、第二保持部223は、不揮発性メモリにより実現される。
【0067】
第一制御部210のE送受信部211と、第二制御部220のE送受信部221とは、内部インタフェースのMII(Media Independent Interface)250により通信接続されている。
【0068】
第一制御部210は、ハードウェアによる高速なセキュリティ処理ができるものの、設定できるセキュリティルールに制限がある。Eスイッチ100Aは、柔軟なセキュリティルールを設定するために、第一制御部210とは異なる第二制御部220に、不正検知処理を行うためのソフトウェアを実装している。
【0069】
しかしながら、第一制御部210で受信した全ての複数のEフレームを、さらに詳細に解析するために第二制御部220へ転送したとしても、第二フレーム制御部222の機能を実現しているMPUの性能が十分でない場合、全ての複数のEフレームを検査することが困難である。そのため、他のEスイッチのリソースを活用して、Eフレームの不正検知を分散して処理する。
【0070】
例えば、Eスイッチ100Aは、受信したEフレームの50%の不正検知を行い、残り50%のEフレームを、他のEスイッチ100Bに転送する。これにより、Eスイッチ100Aは、残りの50%のEフレームを、他のEスイッチ100Bに不正検知を行わせてもよい。この場合、第一保持部213に保持されている第一ルールには、E送受信部211により受信された複数のEフレームのうち、第一割合(例えば、50%)の数のEフレームを第二フレーム制御部222へ転送またはミラーリングすること、および、第二割合(例えば、50%)の数のEフレームを、車両1における他のEスイッチ100Bへの転送またはミラーリングすることを示すルールが定義されている。第一ルールの具体例は、
図6を用いて後述する。
【0071】
そして、第一フレーム制御部212は、第一ルールに基づいて、第二フレーム制御部222へ第一割合の数のフレームを転送またはミラーリングし、かつ、他のEスイッチ100Bへ第二割合の数のフレームを転送またはミラーリングする。次に、第二フレーム制御部222は、第一フレーム制御部212により転送またはミラーリングされた第一割合の数のフレームのそれぞれについて、当該フレームの不正検知を第二ルールに基づいて行う。
【0072】
なお、第一フレーム制御部212は、他のEスイッチ100Bへ第二割合の数のフレームを転送またはミラーリングする場合、第二割合の数のフレームのそれぞれについて不正検知を行うことを他のEスイッチ100Bに依頼することを示す依頼情報を、第二割合の数のフレームに付加して他のEスイッチ100Bに送信してもよい。これにより、他のEスイッチ100Bは、依頼情報を受信すると、第二割合の数のフレームのそれぞれについて不正検知を行うことができる。
【0073】
なお、他の不正検知装置としてのEスイッチは、例えば、Eスイッチ100Bであるとしたが、これに限らずに、Eスイッチ100Bであってもよいし、Eスイッチ100Cであってもよい。また、他の不正検知装置は、E-CANスイッチ200であってもよい。また、上記の例では、Eスイッチ100Aは、Eスイッチ100Bと共に2つの装置で分散処理するとしたが、これに限らずに、3つ以上の装置で分散処理してもよい。この場合、複数のEフレームを装置の数だけ分割し、各装置は、分割された複数のEフレームを不正検知処理する。また、上記の例では、分割する割合が各装置で同じである例について説明したが、装置の処理能力に応じて、割合が異なっていてもよい。つまり、複数の装置のうち、処理能力が大きいほど割合が大きくなるように第一ルールが定義されていてもよい。
【0074】
なお、Eスイッチ100BおよびEスイッチ100Cそれぞれの構成は、Eスイッチ100Aと同様な構成であるので、詳細な説明を省略する。
【0075】
第三保持部230は、第一フレーム制御部212、および、第二フレーム制御部222における不正検知結果、フロー情報などを記憶する。第三保持部230は、フロー情報を、IPFIX(IP Flow Information Export)、NetFlowなどで定義されるフォーマットで記録してもよい。
【0076】
また、Eスイッチ100Aは、診断ポート240を備えている。診断ポート240は、Ethernetが用いられ、故障診断用途で使われる。
【0077】
また、本実施の形態では、Eスイッチ100A~100Cは、例えば、レイヤ2スイッチ(L2スイッチ)である。
【0078】
図4は、E-CANスイッチ200の機能構成の一例を示すブロック図である。
【0079】
図4では、
図3のEスイッチ100Aが備える構成要素と、同じ構成要素には、Eスイッチ100Aが備える構成要素と同じ符号を付し、説明を省略する。E-CANスイッチ200は、Eスイッチ100Aと比較して、さらに、CAN送受信部225を備えている点が異なる。CAN送受信部225は、CANフレームを送受信する。
【0080】
E-CANスイッチ200における第二フレーム制御部222は、E送受信部211により、ペイロード領域にCANフレームがパッキングされたEフレームが受信された場合、受信されたEフレーム内のCANフレームをアンパックすることでCANフレームを取得する。EフレームからCANフレームをアンパックする処理の詳細は、
図5を用いて後述する。第二フレーム制御部222は、取得されたCANフレームが不正なフレームであるか否かの検知を行う。また、E-CANスイッチ200では、反対に、複数のCANフレームをEフレームのEペイロードのデータ領域に格納することで、複数のCANフレームがパッキングされたEフレームを生成する処理も行う。
【0081】
CAN送受信部225は、第二フレーム制御部222においてCANフレームが不正でないと判定された場合、不正でないと判定されたCANフレームをCANの転送ルール(図示せず)に従って、CANバス21aもしくはCANバス21bへ送信する。CANの転送ルールは、第二フレーム制御部222が保持していてもよいし、CAN送受信部225が保持していてもよいし、第二保持部223により保持されている第二ルールとして設定されていてもよい。
【0082】
E-CANスイッチ200は、CANバス21aまたはCANバス21bからCANフレームを受信し、受信された1以上のCANフレームをEフレームのペイロードに格納する。E-CANスイッチ200は、1以上のCANフレームがペイロードに格納されたEフレームを、E送受信部211により指定された宛先の機器に送信する。
【0083】
また、E-CANスイッチ200は、CANフレームが格納されたEフレームを受信し、受信されたEフレームからCANフレームを取り出す。E-CANスイッチ200のCAN送受信部225は、取り出されたCANフレームを、CAN転送ルール(図示せず)に従って、CANバス21aまたはCANバス21bに送信する。このとき、CAN送受信部225は、第二保持部223により保持されている第二ルールに従って、CANフレームの不正検知を行ってもよい。
【0084】
図5は、実施の形態に係るE-CANスイッチ200が受信したEフレームから複数のCANフレームを取り出す処理、および、複数のCANフレームをEフレームのEペイロードに格納する処理を説明するための図である。
【0085】
図5に示すように、Eフレームは、主たる伝送内容であるデータを格納するEthernet(登録商標)ペイロード(「Eペイロード」とも言う。)と、Ethernet(登録商標)ヘッダ(「Eヘッダ」とも言う。)とにより構成される。Eヘッダには、宛先MACアドレスおよび送信元MACアドレスが含まれる。また、Eペイロードには、IPヘッダ、TCP/UDPヘッダおよびデータが含まれる。IPヘッダには、送信元IPアドレスおよび送信先アドレスが含まれる。なお、
図5では、IPヘッダは、「IP v4ヘッダ」と表記している。TCP/UDPヘッダは、TCPヘッダまたはUDPヘッダを示し、TCP/UDPヘッダには、送信元ポート番号および送信先ポート番号が含まれる。
【0086】
つまり、ネットワークシステム7におけるE-CANスイッチ200は、第一ネットワーク10から、CANフレーム情報がペイロードに含まれるEフレームを受信する。CANフレーム情報は、少なくともデータフィールドの内容(データ)を含む。CANフレーム情報は、例えばCAN-ID及びサイズを含んでもよい。
【0087】
図5に示すように、Eフレームのペイロード内のデータには、CANフレーム情報が含まれる。CANフレーム情報は、CAN-ID、サイズ及びデータで構成される。ここで、メッセージ数(MSG数)は、CANフレーム情報の個数を示す。なお、メッセージ数の代わりに、CANフレーム情報の全体のデータ量等を示す情報を用いてもよい。また、CANフラグは、Eフレームが第二ネットワーク20から伝送される情報(つまりCANフレーム情報)を含むか否かを識別するための識別フラグであり、EフレームのEペイロードにCANフレーム情報を含む場合においてONにされ、それ以外の場合にOFF(つまりONと相反する情報を示す値)にされるフラグである。
図5の例では、EフレームのEペイロードの先頭にCANフラグを配置する例を示しているがこれは一例に過ぎない。
図5の例のような複数のCANフレーム情報をEフレームのEペイロードに含ませることで、例えば、伝送効率が高まり得る。
【0088】
以上では、E-CANスイッチ200が受信したEフレームから複数のCANフレームを取り出す処理について説明したが、複数のCANフレームをEフレームのEペイロードに格納する処理については、CANフレームを取り出す処理と逆を行えばよい。
【0089】
図6は、第一保持部213が保持する第一ルール400の一例を示す図である。
【0090】
図6に示すように、第一ルール400は、セキュリティルール401と分散検知ルール402とにより構成される。セキュリティルール401は、例えば、TCAMのセキュリティルールであってもよい。
【0091】
第一ルール400は、Eスイッチ100Aが保持するルールの例を示している。
【0092】
Eスイッチ100Aは、カメラ120、LIDAR130、およびダイナミックマップECU140から取得した複数のEフレームを自動運転ECU110に送信する。自動運転ECU110は、Eスイッチ100Aから取得した複数のEフレームに基づき、自動運転に係る制御コマンドを発行する。このとき、セキュリティルール401は、カメラ120、LIDAR130、およびダイナミックマップECU140から取得した複数のEフレームのそれぞれが不正か否かを検知するための第一ルールが定義されたものである。セキュリティルール401は、ホワイトリストとして定義されるものであれば、本実施の形態では
図2に示すようにEスイッチ100Aにはカメラ120、LIDAR130、ダイナミックマップECU140および自動運転ECU110のそれぞれが通信接続されるため、カメラ120、LIDAR130、ダイナミックマップECU140および自動運転ECU110それぞれのIPアドレスおよび/またはMACアドレスが送信元あるいは送信先として登録される。また、セキュリティルール401には、送信元の機器と、送信先の機器との間の通信に利用される送信元のポート番号または送信先のポート番号もそれぞれの機器のIPアドレスおよび/またはMACアドレスと対応付けられて登録されてもよい。これにより、予め許可された機器間、および、これらの機器に対応するポート番号間でのみEthernet通信が可能となる。また、セキュリティルール401には、送信元の機器と、送信先の機器との組合せにおける、正常動作時のEフレームの流量が登録されていてもよい。これにより、Eスイッチ100Aは、セキュリティルール401で登録されている機器間の通信における正常動作時のEフレームの流量から外れた流量が検出することで、DoS攻撃が行われていることを検知可能となる。
【0093】
分散検知ルール402は、検知対象のEフレームをどのEスイッチでどれくらいの割合のフレームを分散検知処理するかを定義したものである。この割合は、第一割合および第二割合の一例である。分散検知ルール402において、例えば
図6に示す例では、送信元がカメラ120で、送信先が自動運転ECU110であるEフレームの総数の1/3をEスイッチ100Aの第二フレーム制御部222で不正検知し、Eフレームの総数の他の1/3をEスイッチ100Bに転送して、Eスイッチ100Bにおいて不正検知し、残りの1/3をEスイッチ100Cに転送して、Eスイッチ100Cにおいて不正検知することを示す分散検知のルールが示されている。
【0094】
また、例えば
図6の他の例では、送信元がLIDAR130で、送信先が自動運転ECU110であるEフレームの総数の1/3をEスイッチ100Aの第二フレーム制御部222で不正検知し、Eフレームの総数の他の1/3をEスイッチ100Bに転送して、Eスイッチ100Bにおいて不正検知し、残りの1/3をEスイッチ100Cに転送して、Eスイッチ100Cにおいて不正検知することを示す分散検知のルールが示されている。
【0095】
また、例えば
図6の他の例では、送信元がダイナミックマップECU140で、送信先が自動運転ECU110であるEフレームの総数の1/2をEスイッチ100Aの第二フレーム制御部222で不正検知し、残りの1/2をE-CANスイッチ200に転送して、E-CANスイッチ200においてで不正検知することを示す分散検知のルールが示されている。
【0096】
また、分散検知ルールでは、検知対象のEフレームを転送するのかミラーリングするかを示す情報がさらに追加されていてもよい。
【0097】
図7は、第二保持部223が保持する第二ルール500の一例を示す図である。
【0098】
第二ルール500は、第一ルール400より柔軟で詳細なルールが定義できるフォーマットに基づいて構成され、セキュリティルール501とペイロードルール502とにより構成される。セキュリティルール501は、
図6に示したホワイトリストのセキュリティルール401と同様なルールであってもよい。ペイロードルール502は、Eフレームの中身をより詳細な条件でチェックするためのルールである。ペイロードルール502は、
図7の例では、Ethernet内に格納されるデータが正しいフォーマットで格納されているかチェックするためのと、センサなどの逐次変化するデータについてデータ変化量をチェックするための「データ変化量チェック」と、最小値、最大値などのような格納されるデータの値域幅を設定した「データ範囲チェック」とが第二条件として格納される。なお、ペイロードルール502は、「データフォーマットチェック」、「データ変化量チェック」、および、「データ範囲チェック」に限定されず、Eフレームに不正があるか否かを検知するためのルールであればよい。
【0099】
図8は、Eスイッチ100Aで受信したEフレームを分散して不正検知する処理の概要を示す図である。
【0100】
Eスイッチ100Aは、
図8に示すように時刻経過とともにフレームF1からフレームF9を順番に受信した場合、
図6で説明した記載した分散検知ルール402に基づいて、受信したフレーム数(
図8では9つ)のうち1/3の数(
図8では3つ)のフレームをEスイッチ100Aにおいて不正検知処理する。そして、Eスイッチ100Aは、他の1/3の数のフレームをEスイッチ100Bで不正検知処理をさせるためにEスイッチ100Bに転送し、残りの1/3のEフレームを、Eスイッチ100Cで不正検知処理をさせるためにEスイッチ100Cに転送することで、分散検知処理をしている
これにより、例えば、フレームF1、フレームF4、フレームF7は、Eスイッチ100Aにより不正検知される。フレームF2、フレームF5、フレームF8は、Eスイッチ100AからEスイッチ100Bに転送もしくはミラーリングされてEスイッチ100Bにより不正検知される。フレームF3、フレームF6、フレームF9は、Eスイッチ100AからEスイッチ100Cに転送もしくはミラーリングされてEスイッチ100Cにより不正検知される。このようにすることで、Eスイッチ100Aの第二制御部220のソフトウェア処理で不正検知しきれなかったEフレームを、他のEスイッチ100B、100Cの第二制御部220で不正検知させることができる。このため、Eスイッチ100Aにより受信される複数のEフレームのうち第一制御部210により不正検知の必要があると判定された全ての複数のEフレームを、第二ルールを用いた不正検知処理を行うことができる。
【0101】
図9は、Eスイッチ100Aが、Eスイッチ100BまたはE-CANスイッチ200と連携して分散検知するシーケンス図である。
【0102】
Eスイッチ100Aでは、第一制御部210のE送受信部211は、複数のEフレームを受信する(S101)。
【0103】
Eスイッチ100Aの第一フレーム制御部212は、第一保持部213に保持されている第一ルールを参照する(S102)。
【0104】
Eスイッチ100Aの第一フレーム制御部212は、第一ルールに基づいて、受信された複数のEフレームのそれぞれについて、当該Eフレームが不正か否かを判定する不正検知処理を行う(S103)。第一フレーム制御部212は、Eフレームが不正フレームであると判定した場合(S103でYes)、S104へ処理を移す。
【0105】
Eスイッチ100Aの第一フレーム制御部212は、不正検知の結果、つまり、不正フレームであると検知したEフレームに関する情報を第三保持部230に記録する(S104)。また、ここで、第一フレーム制御部212は、ステップS103における不正検知の結果をIVI310または監視サーバ80に通知してもよい。
【0106】
Eスイッチ100Aの第一フレーム制御部212は、Eフレームが不正フレームでないと判定した場合(S103でNo)、第一ルールに基づいて、第二制御部220に、当該Eフレームを転送するか否かを判定する(S105)。第一ルール400の分散検知ルール402にEスイッチ100Aの第二制御部220への転送すべき情報が設定されていれば、Eスイッチ100Aの第二制御部220へEフレームを転送する。なお、転送の代わりにミラーリングが行われてもよい。他のステップにおける転送についても同様である。
【0107】
Eスイッチ100Aの第一フレーム制御部212は、第一ルールに基づいて、受信したEフレームを、他のEスイッチで不正検知を行うために、当該他のEスイッチに転送すべきか否かを判定する(S106)。第一フレーム制御部212は、第一ルール400の分散検知ルール402において、処理対象のEフレームについて、他のEスイッチでの検知を行うことが定義されていれば、定義されているルールに従って処理対象のEフレームを、Eスイッチ100Aへ転送する。例えば、第一フレーム制御部212は、第一ルール400において処理対象のEフレームが1/3の割合で他のEスイッチに転送されることが定義されていれば、1/3の割合のEフレームを他のEスイッチに転送する。
【0108】
Eスイッチ100Aでは、第二制御部220のE送受信部221は、ステップS105において第一制御部210から転送されたEフレームを受信する(S201)。
【0109】
Eスイッチ100Aの第二フレーム制御部222は、受信したEフレームからフロー情報を生成する(S202)。ここでのフロー情報とは、送信元、送信先のIPアドレスやMACアドレスやポート番号、プロトコル番号などからなる情報であり、デバイス間での通信の様子を監視するために利用される。
【0110】
Eスイッチ100Aの第二フレーム制御部222は、ステップS202で生成したフロー情報を第三保持部230に記憶させる(S203)。
【0111】
Eスイッチ100Aの第二フレーム制御部222は、第二保持部223に保持されている第二ルールを参照する(S204)。
【0112】
Eスイッチ100Aの第二フレーム制御部222は、第二ルールに基づいて、第一制御部210から受信した複数のEフレームのそれぞれについて、当該Eフレームが不正か否かを判定する不正検知処理を行う(S205)。第二フレーム制御部222は、Eフレームが不正フレームであると判定した場合(S205でYes)、S206へ処理を移す。
【0113】
Eスイッチ100Aの第二フレーム制御部222は、不正検知の結果、つまり、不正フレームであると検知したEフレームに関する情報を第三保持部230に記録する(S206)。また、ここで、第二フレーム制御部222は、ステップS205における不正検知の結果をIVI310または監視サーバ80に通知してもよい。
【0114】
Eスイッチ100Aの第二フレーム制御部222は、Eフレームが不正フレームでないと判定した場合(S205でNo)、当該EフレームにCANフレームが含まれているか否かを判定する(S207)。
【0115】
Eスイッチ100Aの第二フレーム制御部222は、当該EフレームにCANフレームが含まれている場合(S207でYes)、当該EフレームからCANフレームを取り出す(S208)。
【0116】
Eスイッチ100Aの第二フレーム制御部222は、第二ルールに基づいて、取り出されたCANフレームの不正検知を行う(S209)。
【0117】
Eスイッチ100Aの第二フレーム制御部222は、不正検知の結果、つまり、不正フレームであると検知したCANフレームに関する情報を第三保持部230に記録する(S210)。また、ここで、第二フレーム制御部222は、ステップS209における不正検知の結果をIVI310または監視サーバ80に通知するようにしてもよい。
【0118】
Eスイッチ100Aの第二フレーム制御部222は、EフレームがCANフレームを含まない場合(S207でNo)、第一制御部210へ当該Eフレームを転送する(S211)。当該Eフレームが第一制御部210からミラーリングされたフレームである場合、第二制御部220は、第二フレーム制御部222の検知結果だけを第一制御部210に通知してもよい。つまり、第一制御部210は、通知された検知結果に基づいて、当該Eフレームの転送制御を行ってもよい。
【0119】
次に、他のEスイッチの処理について説明する。以下では、主に、Eスイッチ100Bを例にして説明するが、E-CANスイッチ200を例にする場合もある。
【0120】
Eスイッチ100Bは、ステップS106でEスイッチ100Aから転送された複数のEフレームを受信する(S301)。
【0121】
Eスイッチ100Bの第一フレーム制御部212は、第一保持部213に保持されている第一ルールを参照する(S302)。
【0122】
Eスイッチ100Bの第一フレーム制御部212は、第一ルールに基づいて、受信された複数のEフレームのそれぞれについて、当該Eフレームが不正か否かを判定する不正検知処理を行う(S303)。第一フレーム制御部212は、Eフレームが不正フレームであると判定した場合(S303でYes)、S304へ処理を移す。
【0123】
Eスイッチ100Bの第一フレーム制御部212は、不正検知の結果、つまり、不正フレームであると検知したEフレームに関する情報を第三保持部230に記録する(S304)。また、ここで、第一フレーム制御部212は、ステップS303における不正検知の結果をIVI310または監視サーバ80に通知してもよい。
【0124】
Eスイッチ100Bの第一フレーム制御部212は、Eフレームが不正フレームでないと判定した場合(S303でNo)、第一ルールに基づいて、第二制御部220に、当該Eフレームを転送するか否かを判定する(S305)。第一ルール400の分散検知ルール402にEスイッチ100Bの第二制御部220への転送すべき情報が設定されていれば、Eスイッチ100Bの第二制御部220へEフレームを転送する。
【0125】
Eスイッチ100Bの第一フレーム制御部212は、第一ルールに基づいて、受信したEフレームを、他のEスイッチで不正検知を行うために、当該他のEスイッチに転送すべきか否かを判定する(S306)。
【0126】
ステップS306の判定の結果に基づいて、第一フレーム制御部212は、Eスイッチ100AでのステップS106の処理と同様の処理を行う。つまり、Eスイッチ100Bの第一フレーム制御部212は、第一ルール400の分散検知ルール402において、処理対象のEフレームについて、他のEスイッチでの検知を行うことが定義されていれば、定義されているルールに従って処理対象のEフレームを、Eスイッチ100Aへ転送する(S307)。
【0127】
Eスイッチ100Bでは、第二制御部220のE送受信部221は、ステップS305において第一制御部210から転送されたEフレームを受信する(S401)。
【0128】
Eスイッチ100Bの第二フレーム制御部222は、受信したEフレームからフロー情報を生成する(S402)。ここでのフロー情報とは、送信元、送信先のIPアドレスやMACアドレスやポート番号、プロトコル番号などからなる情報であり、デバイス間での通信の様子を監視するために利用される。
【0129】
Eスイッチ100Bの第二フレーム制御部222は、ステップS402で生成したフロー情報を第三保持部230に記憶させる(S403)。
【0130】
Eスイッチ100Bの第二フレーム制御部222は、第二保持部223に保持されている第二ルールを参照する(S404)。
【0131】
Eスイッチ100Bの第二フレーム制御部222は、第二ルールに基づいて、第一制御部210から受信した複数のEフレームのそれぞれについて、当該Eフレームが不正か否かを判定する不正検知処理を行う(S405)。第二フレーム制御部222は、Eフレームが不正フレームであると判定した場合(S405でYes)、S406へ処理を移す。
【0132】
Eスイッチ100Bの第二フレーム制御部222は、不正検知の結果、つまり、不正フレームであると検知したEフレームに関する情報を第三保持部230に記録する(S406)。また、ここで、第二フレーム制御部222は、ステップS405における不正検知の結果をIVI310または監視サーバ80に通知してもよい。
【0133】
Eスイッチ100Bの第二フレーム制御部222は、Eフレームが不正フレームでないと判定した場合(S405でNo)、当該EフレームにCANフレームが含まれているか否かを判定する(S407)。
【0134】
Eスイッチ100Bの第二フレーム制御部222は、当該EフレームにCANフレームが含まれている場合(S407でYes)、当該EフレームからCANフレームを取り出す(S408)。
【0135】
Eスイッチ100Bの第二フレーム制御部222は、第二ルールに基づいて、取り出されたCANフレームの不正検知を行う(S409)。
【0136】
Eスイッチ100Bの第二フレーム制御部222は、不正検知の結果、つまり、不正フレームであると検知したCANフレームに関する情報を第三保持部230に記録する(S410)。また、ここで、第二フレーム制御部222は、ステップS409における不正検知の結果をIVI310または監視サーバ80に通知するようにしてもよい。
【0137】
Eスイッチ100BがE-CANスイッチ200のようにCAN送受信部225を備えている場合、CANフレームが不正でないと判定されれば(S409でNo)、CAN送受信部225からCANフレームを送信する(S411)。
【0138】
図10は、第三保持部230が保持しているフロー情報700の一例を示す図である。
【0139】
フロー情報には、フローが観測された時間帯(開始時間および終了時間)と、ソースポート番号と、送信元および送信先の各IPアドレスと、送信元および送信先の各MACアドレスと、出力ポート番号と、観測時間内に観測されたフローの流量とにより構成される。なお、フロー情報におけるフローが観測された時間帯は、フロー識別情報として管理されてもよい。
図10には図示していないが、フロー情報には、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)などのプロトコル種別が含まれていてもよい。なお、
図10では、送信元および送信先の各IPアドレスと、送信元および送信先の各MACアドレスとには、機器の名称が示されているが、機器に対応付けられたIPアドレス、または、MACアドレスが示されることとなる。
【0140】
図11は、複数のEスイッチに分散して記録されたフロー情報を結合する処理を示したものである。複数のEスイッチには、E-CANスイッチ200も含まれる。
【0141】
本実施の形態では、テレマティクス通信ユニット410またはIVI310が、分散してそれぞれのEスイッチ100A~100C、E-CANスイッチ200に記録されたフロー情報を結合する統合ログ管理部600を備えるものとして説明する。つまり、ネットワークシステム7は、複数の不正検知装置としてのEスイッチ100A~100C、E-CANスイッチ200と、統合ログ管理部600とを備える。統合ログ管理部600は、車両1におけるEスイッチ100A~100C、E-CANスイッチ200のそれぞれから1以上のログ情報を取得する。そして、統合ログ管理部600は、Eスイッチ100Aから取得された1以上のログ情報と、Eスイッチ100Bから取得された1以上のログ情報と、Eスイッチ100Cから取得された1以上のログ情報と、E-CANスイッチ200から取得された1以上のログ情報とを互いに統合することで統合ログ情報を生成する。統合ログ管理部600は、生成された統合ログ情報を記憶する。
【0142】
これによれば、不正検知処理をEスイッチ100A~100CおよびE-CANスイッチ200のうちの複数に分散した場合において、これらの複数のスイッチデバイスそれぞれにおける不正検知の結果を統合する。このため、車両1のネットワークシステム7を流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0143】
テレマティクス通信ユニット410またはIVI310の統合ログ管理部600は、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200に対して、ログ情報としてのフロー情報を問い合わせる(S501)。つまり、統合ログ管理部600は、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200に対して、フロー情報の要求を送信する。
【0144】
統合ログ管理部600からフロー情報の問い合せを受けたEスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれは、自身の第三保持部230において記憶されているフロー情報を読み出す(S502)。
【0145】
Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれは、ステップS502で読み出したフロー情報を、統合ログ管理部600に送信する(S503)。
【0146】
統合ログ管理部600は、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれからフロー情報を受信する(S504)。
【0147】
統合ログ管理部600は、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれから受信した複数のフロー情報を統合することで統合ログ情報を生成する(S505)。統合ログ管理部600は、統合する際に、各フロー情報を構成する1単位の単位情報について、フロー情報に含まれる各項目が同一であるか否かを判定しながら統合をする。統合ログ管理部600は、例えば、各フロー情報を構成する1単位の単位情報について、送信元IPおよび送信先IPの組み合わせが同じで、同一時間帯に該当する複数の単位情報を、1つの単位情報として統合する。なお、統合ログ管理部600は、複数の単位情報を1つの単位情報として統合する場合、各単位情報における流量については、分散検知したログとしてサンプリングした流量の値であれば、互いに加算することにより統合する。また、統合ログ管理部600は、各不正検知装置において分散検知したログのフローの流量が、実際にサンプリングすることで検出された流量でなく、サンプリングした結果から想定される流量として換算された値(例えば、1/3の数のフレームをサンプリングした流量結果を3倍した値を想定された流量として換算された値)が用いられていれば、分散検知のフロー情報の流量の平均値(例えば、1/3の数のフレームをサンプリングさせた3つの不正検知装置から得られた3つの流量の平均値)を統合した流量として算出してもよい。
【0148】
統合ログ管理部600は、統合した統合ログ情報を監視サーバ80に送信する(S506)。統合ログ管理部600は、統合ログ情報を、監視サーバ80へ、定期的に送信してもよいし、一定のサイズの統合ログ情報が蓄積された時点で送信してよいし、なんらかのイベントが発生したことをトリガーに非定期に送信してもよい。
【0149】
図12は、統合ログ管理部600が生成する統合ログ情報710の一例を示す図である。
【0150】
本実施の形態における例では、カメラ120を送信元とするフローについて、Eスイッチ100A、Eスイッチ100B、およびEスイッチ100Cの3つで連携して、フローが分散検知される。ここで、
図10に示す統合前の各不正検知装置におけるフロー情報では、8:00-8:10の時間帯の単位情報は、観測流量が3Mbpsであった。このため、統合ログ情報710におけるカメラ120のフローでは、分散検知された結果であるフロー情報を統合し、9Mbpsとなっている。つまり、
図10に示す不正検知装置とは異なる他の不正検知装置では、図示していないが、8:00-8:10の時間帯の単位情報の合計は6Mbpsであることが分かる。また、統合ログ情報710におけるカメラのフローでは、流量は、次の時間帯では6Mbpsに変化し、さらに次の時間帯では11Mbpsに変化していることが示されている。なお、他のフローのログも上記と同様に解釈することができるので、詳細な説明を省略する。
【0151】
なお、
図12では、
図10と同様に、送信元および送信先の各IPアドレスと、送信元および送信先の各MACアドレスとには、機器の名称が示されているが、機器に対応付けられたIPアドレス、または、MACアドレスが示されることとなる。
【0152】
図13は、Ethernetの第一ルールまたは第二ルールに基づき、EフレームまたはCANフレームの不正を検知したときの不正検知ログ800の一例を示す図である。不正検知ログ800は、(i)攻撃が発生した時間帯、(ii)セキュリティ緊急度を示すアラートレベル、(iii)DoS攻撃宛先異常、ペイロード異常などの攻撃種別、(iv)送信元および送信先それぞれの、IPアドレス、MACアドレスおよびポート番号、並びに、(v)観測されたフローの流量、により構成される。Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれにおいて検出された不正検知ログ800は、フロー情報と同様にEスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれから統合ログ管理部600に送信されてもよいし、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およいE-CANスイッチ200から直接監視サーバ80に通知されてもよい。
【0153】
図14は、統合ログ管理部600から、
図12に示すフロー情報700と、
図13に示す不正検知ログ800とを受信した場合に、監視サーバ80が表示する画面900の一例を示す。画面900が監視サーバ80に表示されることにより、車両1のユーザは、どこからどこへの通信がどれくらい発生しているかを把握することが容易にできる。画面900は、さらに、不正検知結果と、フロー情報との対応関係が含まれていてもよい。このように、画面900を表示することで、不正検知結果と、フロー情報とをリンクして表示することができるため、車両1のユーザは、どの時間帯でどのような不正を検知したかを把握することが可能となる。
【0154】
本実施の形態に係る不正検知装置としてのEスイッチ100Aによれば、ネットワークシステム7上の流れる1以上のフレームに対して、第一ルール400および第二ルール500の2段階で不正検知することができる。また、Eスイッチ100Aは、第一ルール400において、送信元または送信先に基づく第一条件を満たすEフレームを転送またはミラーリングし、第一ルールにより絞り込まれたEフレームに対して、第二ルールにおいて、Eフレームが不正であることを判定する。このため、不正の検知精度を低減させないように、不正であることを判定する対象とするEフレームの数を少なくすることができ、第二ルールを用いた不正検知の処理負荷を低減することができる。よって、効果的に不正を検知することができる。
【0155】
また、本実施の形態に係るEスイッチ100Aによれば、第一フレーム制御部212は、ハードウェアで実現され、第二フレーム制御部222は、ソフトウェアで実現される。これにより、第一ルール400を用いた処理機能は、ハードウェアにより実現するため、第一ルールを用いた処理を高速に実行することができる。また、第二ルールを用いた処理機能は、ソフトウェアにより実現されるため、第二ルールの定義をソフトウェアで柔軟に変更することができる。これにより、例えば、パケットインスペクションのような柔軟なセキュリティルールを容易に設定することができる。
【0156】
また、本実施の形態に係るEスイッチ100Aによれば、他のEスイッチ100B、100C、およびE-CANスイッチ200との間で不正検知を分散処理するため、1つの不正検知装置における不正検知の処理負荷を低減することができ、より多くのフレームを不正検知することができる。
【0157】
また、本実施の形態に係るEスイッチ100Aによれば、ログ情報を生成するため、車載ネットワーク上に流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0158】
(他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態1を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
【0159】
(1)上記の実施の形態では、車載ネットワークでCANプロトコルに従って、データフレームの伝送が行われるものとしたが、CANプロトコルは、オートメーションシステム内の組み込みシステム等に用いられるCANOpen、或いは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしてもよい。また、車載ネットワークは、CANプロトコル以外のプロトコルを用いるものであってもよい。車両の制御のためのフレーム等の伝送がなされる車載ネットワークのプロトコルとして、例えばLIN(Local Interconnect Network)、MOST(登録商標)(Media Oriented Systems Transport)、FlexRay(登録商標)、Ethernet(登録商標)等を用いてもよい。また、これらのプロトコルを用いたネットワークをサブネットワークとして、複数種類のプロトコルに係るサブネットワークを組み合わせて、車載ネットワークを構成してもよい。また、Ethernet(登録商標)プロトコルは、IEEE802.1に係るEthernet(登録商標)AVB(Audio Video Bridging)、或いは、IEEE802.1に係るEthernet(登録商標)TSN(Time Sensitive Networking)、Ethernet(登録商標)/IP(Industrial Protocol)、EtherCAT(登録商標)(Ethernet(登録商標) for Control Automation Technology)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしてもよい。なお、車載ネットワークのネットワークバスは、例えば、ワイヤ、光ファイバ等で構成される有線通信路であり得る。
【0160】
(2)上記実施の形態では、CAN送受信部225で扱うCANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットであってもよく、データフレームのIDは、拡張IDフォーマットでの拡張ID等であってもよい。また、上述したデータフレームは、CAN以外のプロトコルが用いられるネットワークにおける一種のフレームであってもよく、この場合に、そのフレームの種類等を識別するIDが、データフレームのIDに相当する。
【0161】
(3)上記の実施の形態では、自動運転制御コマンドの不正を防止していたが、駐車支援システムやレーンキープ機能や衝突防止機能などの先進運転支援システムの制御の不正を検知するようにしてもよい。
【0162】
(4)上記実施の形態では、不正検知時に監視サーバ80やIVI(In-Vehicle Infotainment)310に異常通知していたが、V2XやV2Iによる通信が可能であれば、車車間通信や路車間通信に対応してれば、他の車両に異常通知や、インフラ装置に異常通知してもよい。これにより自車周辺の車両や通行人の保有デバイスに異常を通知することができ、事故防止につなげることが可能となる。
【0163】
(5)上記実施の形態では、異常検知時に監視サーバ80やIVI(In-Vehicle Infotainment)310に異常通知していたが、車載ネットワーク上のデバイスにログとして残すようにしてもよい。ログに残した場合は、診断ポートからログを読み出すことで、ディーラが異常内容を把握することが可能になる。また、ログを定期的に監視サーバ80に送信するようにしてもよい。これにより、リモートで車両の異常検知が可能となる。
【0164】
(6)上記実施の形態では、Eスイッチ100Aが、Eスイッチ100B、100CまたはE-CANスイッチ200へEフレームの不正検知を依頼する際に、Eフレームをそのまま転送もしくはミラーリングするとしたが、Eフレームの全てのデータを送信しなくてもよい。例えば、Eスイッチ100Aは、Eフレームの特定領域だけを抽出して転送もしくはミラーリングするようにしてもよい。また、Eスイッチ100Aは、例えば、Eフレームのヘッダ領域の限定するようにしてもよい。この場合、抽出したEヘッダ領域を、Eフレームのペイロードに入れて他のEスイッチ100B、100CまたはE-CANスイッチ200に不正検知処理を依頼するようにしてもよい。これにより、ネットワーク負荷を抑えつつも、フロー情報として保存すべき情報は取得可能となる。
【0165】
(7)分散検知先をEスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200に限定していたが、このようなスイッチデバイスに限定されず、HUD320、IVI310、他のECUに分散検知を依頼してもよい。
【0166】
(8)上記実施の形態では、
図6の第一ルール400および
図7の第二ルール500は、ホワイトリストとして正常な条件が定義されているが、ブラックリストとして不正な条件が定義されていてもよいし、ホワイトリストおよびブラックリストが組み合わせられた条件が定義されてもよい。また、第一ルール400および第二ルール500に定義されるルールとして、流量の他に、通信頻度、ペイロードの値の条件が定義されていてもよい。
【0167】
(9)上記実施の形態では、統合ログ管理部600は、Eスイッチ100Aとは異なる機器である、テレマティクス通信ユニット410またはIVI310に設けられる例を説明したがこれに限らない。統合ログ管理部は、例えば、Eスイッチ100Aに設けられていてもよい。Eスイッチ100Aに設けられている統合ログ管理部は、車両1における1以上のEスイッチ100B、100CおよびE-CANスイッチ200からそれぞれ1以上のログ情報を取得する。統合ログ管理部は、取得された1以上のログ情報と、Eスイッチ100Aの第三保持部230が記憶しているログ情報とを統合することで統合ログ情報を生成する。そして、統合ログ管理部は、Eスイッチ100Aの第三保持部230に、生成された統合ログ情報を記憶させる。
【0168】
これによれば、不正検知処理をEスイッチ100A~100CおよびE-CANスイッチ200のうちの複数に分散した場合において、これらの複数のスイッチデバイスそれぞれにおける不正検知の結果を統合する。このため、車両1のネットワークシステム7を流れる1以上のフレームの種類、送信元、送信先、流量などのような、流れるフレームの傾向を監視することができる。
【0169】
(10)上記実施の形態では、Eスイッチ100A、Eスイッチ100B、Eスイッチ100C、およびE-CANスイッチ200のそれぞれは、レイヤ2スイッチ(L2スイッチ)であるとしたが、レイヤ3スイッチ(L3スイッチ)、レイヤ4スイッチ(L4スイッチ)、またはルータであってもよい。
【0170】
(11)ネットワークシステム7が、VLANを用いて複数のドメインにドメイン分割されていてもよい。例えば、不正検知装置としてのEスイッチ100Aと、他の不正検知装置としてのEスイッチ100Bとは、複数のドメインのうち互いに異なるドメインに属しているものとする。第二制御部220が異なるVLAN IDのドメインのスイッチデバイスにフレームの不正検知を依頼する場合、VLAN IDを書き換えて転送またはミラーリングしてもよい。つまり、Eスイッチ100Aの第一フレーム制御部212は、EフレームをEスイッチ100Bに転送またはミラーリングする場合、Eスイッチ100Bが属するドメインを識別する識別情報を転送またはミラーリングするEフレームに付加する、または、当該フレームに含まれる識別情報をEスイッチ100Bが属するドメインを識別する識別情報に書換えて、当該Eフレームを転送またはミラーリングする。
【0171】
これにより、タグVLANでドメイン分割されている車載ネットワークにおいても、互いに異なるドメインに属する複数の不正検知装置にフレームの不正検知を分散して処理することができる。
【0172】
(12)上記実施の形態では、フレーム異常検知装置が、車両に搭載され、車両の制御のための通信を行う車載ネットワークシステムに含まれる例を示したが、車両以外の制御対象の制御のためのネットワークシステムに含まれるものであってもよい。車両以外の制御対象は、例えば、重機、ロボット、航空機、船舶、機械、建設機械、農作業機器、ドローン等である。
【0173】
(13)上記実施の形態で示したECU等の各装置は、メモリ、プロセッサ等の他に、ハードディスクユニット、ディスプレイユニット、キーボード、マウス等を備えるものであってもよい。また、上記実施の形態で示したECU等の各装置は、メモリに記憶されたプログラムがプロセッサにより実行されてソフトウェア的にその各装置の機能を実現するものであってもよいし、専用のハードウェア(デジタル回路等)によりプログラムを用いずにその機能を実現するものであってもよい。また、その各装置内の各構成要素の機能分担は変更可能である。
【0174】
(14)上記実施の形態における各装置を構成する構成要素の一部又は全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【0175】
(15)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0176】
(16)本開示の一態様としては、異常検知の方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0177】
(17)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
【産業上の利用可能性】
【0178】
本開示は、車載ネットワークシステムにおいて、効果的に不正を検知することができる不正検知装置、車載ネットワークシステム、不正検知方法などとして有用である。
【符号の説明】
【0179】
1~6 車両
7 ネットワークシステム
10 第一ネットワーク
11 第一伝送路
20 第二ネットワーク
21 第二伝送路
21a、21b CANバス
30 外部ネットワーク
80 監視サーバ
90 車載ネットワークシステム
100A~100C Eスイッチ
110 自動運転ECU
120 カメラ
130 LIDAR
140 ダイナミックマップECU
200 E-CANスイッチ
201 エンジンECU
202 ステアリングECU
203 ブレーキECU
204 ウィンドウECU
210 第一制御部
211、221 E送受信部
212 第一フレーム制御部
213 第一保持部
220 第二制御部
222 第二フレーム制御部
223 第二保持部
225 CAN送受信部
230 第三保持部
240 診断ポート
250 MII
310 IVI
320 HUD
400 第一ルール
401 セキュリティルール
402 分散検知ルール
410 テレマティクス通信ユニット
420 診断ポート
500 第二ルール
501 セキュリティルール
502 ペイロードルール
600 統合ログ管理部
700 フロー情報
710 統合ログ情報
800 不正検知ログ
900 画面