(57)【要約】  車両などの移動体に搭載されたネットワークに生じる事象をより正確に判定することができる電子制御装置は、車載ネットワーク（１００）に含まれる第１のＥＣＵ（１１０）から送信された複数の第１のメッセージを受信する送受信部（１４３）と、送受信部（１４３）によって受信された複数の第１のメッセージの何れかが異常と判定された場合に、その異常の原因が、車載ネットワーク（１００）への攻撃であるか否かを判定する攻撃判定部（１４２）とを備える。
2020137743.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されたネットワークに含まれる第１の装置から送信された複数の第１のメッセージを受信する受信部と、
前記受信部によって受信された前記複数の第１のメッセージのいずれかが異常と判定された場合に、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する判定部と、
を備える電子制御装置。
【請求項２】
前記判定部は、
前記異常の原因が攻撃ではないと判定した場合には、さらに、前記第１の装置は故障の可能性があることを示す情報を出力する、
請求項１に記載の電子制御装置。
【請求項３】
前記判定部は、
前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加しているか否かを判断し、前記第１のデータ量が増加していると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１または２に記載の電子制御装置。
【請求項４】
前記判定部は、
前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在しているか否かを判断し、混在していると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜３の何れか１項に記載の電子制御装置。
【請求項５】
前記判定部は、
異常と判定された前記第１のメッセージに関連する異常と判定された第２のメッセージが、前記ネットワークに含まれる第２の装置から、異常と判定された前記第１のメッセージと共に同一の時間帯に送信されているか否かを判断し、異常と判定された前記第２のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜４の何れか１項に記載の電子制御装置。
【請求項６】
前記判定部は、
前記移動体が移動していないときに前記移動体の外から前記ネットワークに送信される第３のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されているか否かを判断し、前記第３のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜５の何れか１項に記載の電子制御装置。
【請求項７】
前記判定部は、
診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたか否かを判断し、異常と判定された前記第１のメッセージが送信されたと判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜６の何れか１項に記載の電子制御装置。
【請求項８】
前記判定部は、
攻撃によって現れる少なくとも１つの特徴が、予め定められた時間内に前記ネットワークに現れたか否かを判断し、前記少なくとも１つの特徴が現れたと判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜７の何れか１項に記載の電子制御装置。
【請求項９】
前記判定部は、
前記異常の原因が攻撃であると判定した場合には、さらに、前記攻撃の種別を特定する、
請求項１〜８の何れか１項に記載の電子制御装置。
【請求項１０】
前記判定部は、
前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する、
請求項９に記載の電子制御装置。
【請求項１１】
前記判定部は、
前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する、
請求項９または１０に記載の電子制御装置。
【請求項１２】
前記判定部は、
前記移動体が移動を停止しているときに前記移動体の外から前記ネットワークに送信される第２のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されていると判断されたとき、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する、
請求項９〜１１の何れか１項に記載の電子制御装置。
【請求項１３】
前記判定部は、
診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたと判断された場合、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する、
請求項９〜１２の何れか１項に記載の電子制御装置。
【請求項１４】
移動体に搭載されたネットワークに含まれる装置から送信された複数のメッセージを受信する受信部と、前記受信部によって受信された前記複数のメッセージが異常であるか否かを判定する異常判定部と、を含む異常判定装置と、
前記受信部によって受信された前記複数のメッセージのいずれかが前記異常判定部によって異常と判定された場合には、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する攻撃判定装置と、
を備える電子制御システム。
【請求項１５】
移動体に搭載されたネットワークに含まれる装置から送信された複数のメッセージを受信する処理と、
受信された前記複数のメッセージのいずれかが異常と判定された場合には、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、異常なメッセージに対する処理を実行する電子制御装置、電子制御システムおよびプログラムに関する。
【背景技術】
【０００２】
従来、車載ネットワークなどのネットワークシステムにおいて、不正なデータを侵入させて車両を誤動作させる攻撃を検知して防御するためのネットワーク装置が提案されている（特許文献１参照）。【０００３】
このネットワーク装置は、基準とする受信データと同じ識別子を持つ第１のデータが受信され、その受信データと第１のデータの受信間隔が所定周期より短い場合に、異常が発生したか否かの判定を行う。この判定では、ネットワーク装置は、基準とする受信データの受信時間から所定周期経過するまでに、第１のデータと同一の識別子を持つ第２のデータが受信されたときに、異常が発生したと判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４６８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のネットワーク装置では、車載ネットワークに生じる事象の判定が十分ではないという課題がある。【０００６】
そこで、本開示は、車両などの移動体に搭載されたネットワークに生じる事象をより正確に判定することができる電子制御装置などを提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る電子制御装置は、移動体に搭載されたネットワークに含まれる第１の装置から送信された複数の第１のメッセージを受信する受信部と、前記受信部によって受信された前記複数の第１のメッセージのいずれかが異常と判定された場合に、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する判定部と、を備える。【０００８】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００９】
本開示の電子制御装置は、移動体に搭載されたネットワークに生じる事象をより正確に判定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態における車載ネットワークを含む通信システムの構成例を示す図である。
【図２】図２は、実施の形態における攻撃検知装置の構成の一例を示すブロック図である。
【図３】図３は、異常の原因とその特徴を示す図である。
【図４】図４は、実施の形態における攻撃検知装置の全体的な処理動作の一例を示すフローチャートである。
【図５】図５は、実施の形態における攻撃判定部の処理動作の具体的な例を示すフローチャートである。
【図６】図６は、実施の形態における攻撃判定部の処理動作の具体的な他の例を示すフローチャートである。
【図７】図７は、実施の形態における攻撃検知装置の全体的な処理動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
近年、渋滞情報および道路情報などを取得するためにインターネットに接続される車両が増加している。しかし、このような車両では、サイバー攻撃を受ける可能性がある。このようなサイバー攻撃では、攻撃者は、例えば不正な装置を車載ネットワークに接続する等により車載ネットワークにアクセスして不正なメッセージを送信することで、車載ネットワークのＥＣＵのファームウェアの不正な書き換え、または、そのＥＣＵを通じて車内の各種アクチュエータの不正制御等を行う。このようなサイバー攻撃（以下、攻撃という）に対する対策には、一般に、以下の３つの機能が必要である。１つ目の機能は、既知の攻撃を防御する機能である。２つ目の機能は、攻撃またはその兆候を検知する機能である。３つ目の機能は、１つ目の機能および２つ目の機能を更新する機能である。ここで、新しい攻撃に対して、その攻撃の検知および防御を行うためには、つまり３つ目の機能を実現するためには、どのような経路または手法を用いてその新しい攻撃が行われるのかを解析する必要がある。
【００１２】
しかし、例えばサーバが多数の車両を監視してそれらの車両の異常を解析する場合、多くの異常通知がサーバに送信されることが予想される。その結果、サーバと車両とを接続する通信ネットワーク（例えばインターネット）が逼迫する可能性がある。そこで、車両からサーバへの通知は、攻撃についての通知のみが漏れなく届くことが望ましい。
【００１３】
上記特許文献１のネットワーク装置では、不正の検出と防御のために異常を検知しているが、検知した異常の原因が攻撃か否かを判定していない。つまり、異常の原因は攻撃のみとして扱われている。このように、従来提案されている車両のネットワーク向けの異常検知の手法では、異常の原因が攻撃なのか、攻撃ではない故障なのかが、分類されていない。
【００１４】
例えば、異常の原因が故障である場合、その異常とされる部品を特定して交換する必要がある。また、異常の原因が攻撃である場合、その攻撃の経路および手法の特定と、その攻撃に対する対策を検討する必要がある。ここで、異常の原因が故障であるにも関わらず攻撃であると誤って判断してしまうと、攻撃の経路および手法の特定が難航し、仮にそれらを特定したとしても、異常を解消することができない。また、異常の原因が攻撃であるにも関わらず故障であると誤って判断してしまうと、部品を交換しても同じ異常が再び発生するという問題が生じ得る。
【００１５】
このような問題を解決するために、本開示の一態様に係る電子制御装置は、移動体に搭載されたネットワークに含まれる第１の装置から送信された複数の第１のメッセージを受信する受信部と、前記受信部によって受信された前記複数の第１のメッセージのいずれかが異常と判定された場合に、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する判定部と、を備える。
【００１６】
これにより、第１のメッセージが異常と判定された場合には、さらに、その第１のメッセージの異常の原因が攻撃か否かが判定されるため、ネットワークに生じる事象をより正確に判定することができる。つまり、異常の原因が、攻撃であるのか、あるいは、例えば故障またはバグなどの攻撃以外の原因であるのかを判定することができる。その結果、その異常に対して適切な対策を図ることができる。具体的には、異常の原因が故障であれば、故障している部品を交換することによって、異常を適切に解消することができる。また、異常の原因が攻撃であれば、攻撃の経路および手法を特定して対処することによって、異常を適切に解消することができる。
【００１７】
また、前記判定部は、前記異常の原因が攻撃ではないと判定した場合には、さらに、前記第１の装置は故障の可能性があることを示す情報を出力してもよい。これにより、異常の原因が攻撃でなければ、故障の可能性があることを示す情報が出力されるため、例えば故障している部品を交換することによって、異常を適切に解消することができる。
【００１８】
また、前記判定部は、前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加しているか否かを判断し、前記第１のデータ量が増加していると判断された場合に、前記異常の原因が攻撃であると判定してもよい。
【００１９】
これにより、正常なメッセージに対して異常なメッセージを追加する攻撃の特徴が現れたか否かが判断されるため、そのような攻撃を異常の原因として適切に判定することができる。
【００２０】
また、前記判定部は、前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在しているか否かを判断し、混在していると判断された場合に、前記異常の原因が攻撃であると判定してもよい。
【００２１】
これにより、正常なメッセージに対して異常なメッセージを追加する攻撃の特徴が現れたか否かが判断されるため、そのような攻撃を異常の原因として適切に判定することができる。
【００２２】
また、前記判定部は、異常と判定された前記第１のメッセージに関連する異常と判定された第２のメッセージが、前記ネットワークに含まれる第２の装置から、異常と判定された前記第１のメッセージと共に同一の時間帯に送信されているか否かを判断し、異常と判定された前記第２のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定してもよい。
【００２３】
これにより、攻撃の特徴が現れたか否かが判断されるため、攻撃を異常の原因として適切に判定することができる。
【００２４】
また、前記判定部は、前記移動体が移動していないときに前記移動体の外から前記ネットワークに送信される第３のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されているか否かを判断し、前記第３のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定してもよい。または、前記判定部は、診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたか否かを判断し、異常と判定された前記第１のメッセージが送信されたと判断された場合に、前記異常の原因が攻撃であると判定してもよい。
【００２５】
これにより、正常なメッセージを異常なメッセージに差し替える攻撃の特徴が現れたか否かが判断されるため、そのような攻撃を異常の原因として適切に判定することができる。
【００２６】
また、前記判定部は、攻撃によって現れる少なくとも１つの特徴が、予め定められた時間内に前記ネットワークに現れたか否かを判断し、前記少なくとも１つの特徴が現れたと判断された場合に、前記異常の原因が攻撃であると判定してもよい。
【００２７】
これにより、より正確に攻撃を異常の原因として判定することができる。
【００２８】
また、前記判定部は、前記異常の原因が攻撃であると判定した場合には、さらに、前記攻撃の種別を特定してもよい。例えば、前記判定部は、前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定してもよい。また、前記判定部は、前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定してもよい。また、前記判定部は、前記移動体が移動を停止しているときに前記移動体の外から前記ネットワークに送信される第２のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されていると判断されたとき、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定してもよい。または、前記判定部は、診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたと判断された場合、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定してもよい。
【００２９】
これにより、ネットワークに生じる事象として判定された攻撃をより正確に判定することができる。
【００３０】
また、本開示の一態様に係る電子制御システムは、移動体に搭載されたネットワークに含まれる装置から送信された複数のメッセージを受信する受信部と、前記受信部によって受信された前記複数のメッセージが異常であるか否かを判定する異常判定部と、を含む異常判定装置と、前記受信部によって受信された前記複数のメッセージのいずれかが前記異常判定部によって異常と判定された場合には、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する攻撃判定装置と、を備える。
【００３１】
これにより、メッセージが異常と判定された場合には、さらに、そのメッセージの異常の原因が攻撃か否かが判定されるため、ネットワークに生じる事象をより正確に判定することができる。つまり、異常の原因が、攻撃であるのか、あるいは、例えば故障またはバグなどの攻撃以外の原因であるのかを判定することができる。その結果、その異常に対して適切な対策を図ることができる。具体的には、異常の原因が故障であれば、故障している部品を交換することによって、異常を適切に解消することができる。また、異常の原因が攻撃であれば、攻撃の経路および手法を特定して対処することによって、異常を適切に解消することができる。
【００３２】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３３】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３４】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００３５】
（実施の形態）
図１は、本実施の形態における車載ネットワークを含む通信システムの構成例を示す図である。
【００３６】
この通信システムは、車載ネットワーク１００と、サーバ２００と、診断装置３００とを備える。
【００３７】
車載ネットワーク１００は、自動車などの車両１に搭載され、例えば、その車両１の走行などを制御する。このような車載ネットワーク１００は、バス（すなわち、ネットワークバス）を介して互いに接続された複数のＥＣＵ（Electronic Control Unit）を含むネットワークシステムである。複数のＥＣＵは、ＩＳＯ１１８９８で規定されているＣＡＮ（Controller Area Network）プロトコルにしたがって互い通信する。つまり、複数のＥＣＵのそれぞれは、ＣＡＮのフレームを送受信する。フレームには、データフレーム、リモートフレーム、オーバーロードフレーム、およびエラーフレームなどの種類がある。これらの種類のうちのデータフレームを、以下、メッセージ（またはＣＡＮメッセージ）という。
【００３８】
サーバ２００は、例えばインターネットなどの車両１の外部にある通信ネットワークを介して車載ネットワーク１００と通信する。例えば、サーバ２００は、車載ネットワーク１００から送信される情報を例えばログとして収集し、そのログを解析する。
【００３９】
診断装置３００は、車載ネットワーク１００の診断に用いられる。具体的には、診断装置３００は、車両１が停車しているときに、車載ネットワーク１００を診断する。このとき、診断装置３００は、車載ネットワーク１００に含まれる各ＥＣＵなどの処理を停止させるための診断パケットを診断メッセージとして車載ネットワーク１００内に送信する。そして、診断装置３００は、停止されているＥＣＵの代わりに、メッセージを車載ネットワーク１００内に送信し、そのメッセージに対する各ＥＣＵの処理を監視することによって、車載ネットワーク１００を診断する。
【００４０】
ここで、図１に示す例では、車載ネットワーク１００は、互いにバスを介して接続された複数のＥＣＵとして、第１のＥＣＵ１１０、第２のＥＣＵ１２０、および通信ＥＣＵ１３０を備え、さらに、攻撃検知装置１４０を備える。なお、図１に示す例では、車載ネットワーク１００は、３つのＥＣＵを備えているが、そのＥＣＵの数は３つに限らず、２つであってもよく、４つ以上であってもよい。
【００４１】
第１のＥＣＵ１１０および第２のＥＣＵ１２０はそれぞれ、例えば車両１のアクセル、ブレーキ、または操舵などの車両１の制御を行うための装置である。
【００４２】
通信ＥＣＵ１３０は、例えば、車両１の外部にある通信ネットワークを介してサーバ２００と通信する。したがって、車載ネットワーク１００に含まれる通信ＥＣＵを除く各ＥＣＵと攻撃検知装置１４０は、その通信ＥＣＵを介してサーバ２００と通信することができる。
【００４３】
なお、各ＥＣＵ（すなわち、第１のＥＣＵ１１０、第２のＥＣＵ１２０、および通信ＥＣＵ１３０）は、ハードウェア面において、例えば、プロセッサ（つまりマイクロプロセッサ）およびメモリなどのデジタル回路、アナログ回路、または、通信回路などを含む装置である。メモリは、ＲＯＭ（Read Only Memory）またはＲＡＭ（Random Access Memory）などであり、プロセッサにより実行されるプログラム（つまり、ソフトウェアまたはコンピュータプログラム）を記憶することができる。各ＥＣＵは、例えばプロセッサがプログラムに従って動作することにより、車両１の制御などのための各種機能を実現する。プログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【００４４】
攻撃検知装置１４０は、車載ネットワーク１００、またはその車載ネットワーク１００を含む車両１への攻撃を検知する装置であって、電子制御システムともいう。また、攻撃検知装置１４０は、ＥＣＵとして構成されていてもよく、車載ネットワーク１００にゲートウェイが含まれる場合には、そのゲートウェイに備えられていてもよい。なお、本実施の形態では、攻撃検知装置１４０は車載ネットワーク１００に備えられているが、サーバ２００に備えられていてもよい。
【００４５】
本実施の形態における攻撃検知装置１４０は、車載ネットワーク１００のバスに流れるメッセージを受信し、そのメッセージが異常であるか否かを判定する。また、攻撃検知装置１４０は、メッセージが異常であると判定する場合には、さらに、その異常の原因が車載ネットワーク１００への攻撃であるか否かを判定する。
【００４６】
図２は、本実施の形態における攻撃検知装置１４０の構成の一例を示すブロック図である。
【００４７】
攻撃検知装置１４０は、異常判定部１４１と、攻撃判定部１４２と、送受信部１４３とを備える。
【００４８】
送受信部１４３は、第１のＥＣＵ１１０、第２のＥＣＵ１２０および通信ＥＣＵ１３０のそれぞれからバスを介して送信されるメッセージを受信する。また、送受信部１４３は、異常判定部１４１および攻撃判定部１４２のそれぞれの処理結果に基づく情報を、バスを介して送信する。この情報は、例えば、通信ＥＣＵ１３０および通信ネットワークを介してサーバ２００に送信されてもよい。
【００４９】
異常判定部１４１は、送受信部１４３によって受信されたメッセージが異常か否かを判定する。
【００５０】
攻撃判定部１４２は、異常判定部１４１によって異常と判定されたメッセージの異常の原因が車載ネットワーク１００への攻撃であるか否かを判定する。例えば、攻撃判定部１４２は、異常の原因が攻撃であると判定すると、攻撃を受けていることをユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に通知する。
【００５１】
例えば、攻撃判定部１４２は、車両１のディスプレイ装置に文字メッセージを表示することによって、攻撃を受けていることを車両１のユーザに通知してもよい。その文字メッセージは、例えば、「攻撃を受けている可能性があるため、停車してソフトウェアのアップデートを確認してください」などである。また、攻撃判定部１４２は、その攻撃によって異常と判定されたメッセージのログと、そのメッセージに関連する他のメッセージのログとをサーバ２００に送信することによって、攻撃を受けていることをサーバ２００に通知してもよい。また、攻撃判定部１４２は、車両１の動作を制限または縮退させるための信号を、車載ネットワーク１００内の少なくとも１つの装置にバスを介して送信することによって、攻撃を受けていることをその少なくとも１つの装置に通知してもよい。これにより、車載ネットワーク１００内の少なくとも１つの装置は、例えば、車両１をゆっくり減速させ、駐車可能な場所に停車させるように、その車両１を制御する。
【００５２】
また、攻撃判定部１４２は、異常の原因が攻撃でないと判定すると、故障が生じていることをユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に通知してもよい。例えば、車両１のディスプレイ装置は文字メッセージを表示することによって、故障が生じていることを車両１のユーザに通知する。その文字メッセージは、例えば、「車両が故障している可能性があるため、車両のメンテナンスをカーディーラーに依頼してください」などである。つまり、本実施の形態では、攻撃判定部１４２は、異常の原因が攻撃ではないと判定した場合には、第１のＥＣＵ１１０または第２のＥＣＵ１２０などの装置は故障の可能性があることを示す情報を出力してもよい。これにより、異常の原因が攻撃でなければ、故障の可能性があることを示す情報が出力されるため、例えば故障している部品を交換することによって、異常を適切に解消することができる。
【００５３】
ここで、本実施の形態では、送受信部１４３および攻撃判定部１４２から電子制御装置が構成されている。つまり、この電子制御装置は、本実施の形態のように、異常判定部１４１と共に攻撃検知装置１４０に備えられていてもよく、異常判定部１４１を有する装置とは異なる装置に備えられていてもよい。また、異常判定部１４１は、車載ネットワーク１００およびサーバ２００のうちの一方に含まれ、電子制御装置は、他方に含まれていてもよい。そこで、本実施の形態では、電子制御装置および異常判定部１４１が１つの装置に備えられていても、互いに異なる２つの装置に分離されて備えられていても、電子制御装置および異常判定部１４１からなるシステムを、電子制御システムという。
【００５４】
このように、本実施の形態における電子制御装置は、車載ネットワーク１００に含まれる第１のＥＣＵ１１０から送信された複数の第１のメッセージを受信する送受信部１４３と、送受信部１４３によって受信された複数の第１のメッセージのいずれかが異常と判定された場合に、その異常の原因が、車載ネットワーク１００への攻撃であるか否かを判定し、その攻撃であるか否かの判定結果を出力する攻撃判定部１４２とを備える。なお、第１のメッセージの代わりに、第２のＥＣＵ１２０から送信された第２のメッセージが異常と判定された場合には、攻撃判定部１４２は、その第２のメッセージの異常の原因が、車載ネットワーク１００への攻撃であるか否かを判定してもよい。つまり、判定対象のメッセージを送信する装置は、第１のＥＣＵ１１０であっても、第２のＥＣＵ１２０であっても、車載ネットワーク１００に含まれる他の装置であってもよい。また、攻撃であるか否かの判定結果の出力は、上述の例では、車両１のユーザ、サーバ２００、または車載ネットワーク１００内の少なくとも１つの装置への通知として行われる。
【００５５】
これにより、メッセージが異常と判定された場合には、さらに、そのメッセージの異常の原因が攻撃か否かが判定されるため、車載ネットワーク１００に生じる事象をより正確に判定することができる。つまり、異常の原因が、攻撃であるのか、あるいは、例えば故障またはバグなどの攻撃以外の原因であるのかを判定することができる。その結果、その異常に対して適切な対策を図ることができる。具体的には、異常の原因が故障であれば、故障している部品を交換することによって、異常を適切に解消することができる。また、異常の原因が攻撃であれば、攻撃の経路および手法を特定して対処することによって、異常を適切に解消することができる。
【００５６】
図３は、異常の原因とその特徴を示す図である。
【００５７】
異常の原因には、攻撃と、攻撃以外の原因とがある。また、攻撃には、例えば２つのタイプの攻撃がある。第１のタイプは、正常なメッセージに対して異常な第１のメッセージを追加する追加型の攻撃（以下、追加攻撃という）である。つまり、第１のタイプの攻撃では、正常なメッセージが周期的に流れているネットワークに、異常なメッセージが追加される。第２のタイプは、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃（以下、差替え攻撃という）である。つまり、第２のタイプの攻撃では、正常なメッセージが周期的にネットワークに流れているのを停止させて、その正常なメッセージの代わりに、異常なメッセージがそのネットワークに周期的に流される。また、攻撃以外の原因には、例えば、故障とバグなどがある。
【００５８】
ここで、追加攻撃には、３つの特徴がある。１つ目の特徴（以下、攻撃の特徴１ともいう）は、データ量が増加するという特徴である。正常なメッセージが周期的にネットワークに流れているときに、異常なメッセージがさらにネットワークに流されるため、単位時間あたりのデータ量が増加する。２つ目の特徴（以下、攻撃の特徴２ともいう）は、同一の時間帯において正常なメッセージと異常なメッセージとが混在するという特徴である。例えば、正常なメッセージと異常なメッセージとが交互に送信される。３つ目の特徴（以下、攻撃の特徴４ともいう）は、互いに関連する複数種のメッセージで異常が同時に発生するという特徴である。攻撃を受ける場合には、１種類の異常なメッセージだけが単独で発生することは稀である。例えば、車両１のステアリングを不正に操舵することを目的とした攻撃では、車速を低速であると見せかけ、ステアリングホイールの操舵指示角を急に大きくすることが想定される。この場合には、操舵角を制御するためのメッセージのデータと、車速を通知するためのメッセージのデータとに異常が同時に発生する。このように、３つ目の特徴では、互いに関連する複数種のメッセージで異常が同時に発生する。なお、メッセージの種類は、そのメッセージに含まれるＩＤ（具体的にはＣＡＮ−ＩＤ）によって定義されてもよい。また、互いに関連するメッセージの種類は、予め定められていてもよい。
【００５９】
また、差替え攻撃には、３つの特徴がある。１つ目の特徴（以下、攻撃の特徴３ともいう）は、車両が走行しているにも関わらず上述の診断パケットが診断用メッセージとしてネットワークに流れるという特徴である。つまり、走行している車両の車載ネットワークに診断パケットが流れる場合には、その診断パケットは不正なパケットであって、ＥＣＵからの正常なメッセージの送信が不正に停止されて、その正常なメッセージの代わりに不正なメッセージが車載ネットワークに流されている可能性が高い。また、２つ目の特徴（以下、攻撃の特徴３ａともいう）は、攻撃の特徴３に付随する特徴であって、診断パケットによってメッセージの送信が不正に停止されているにも関わらず、そのメッセージが観測されるという特徴である。なお、以下の説明では、攻撃検知装置１４０は、異常の原因が攻撃であるか否かの判定に攻撃の特徴３を用いる場合があるが、この攻撃の特徴３を攻撃の特徴３ａに置き換えてもよい。攻撃の特徴３を攻撃の特徴３ａに置き換えても、攻撃の特徴３を用いる場合と同様の効果を奏することができる。また、攻撃の特徴３に加えて攻撃の特徴３ａも用いてもよい。３つ目の特徴は、追加攻撃の３つ目の特徴と同様、互いに関連する複数種のメッセージで異常が同時に発生するという特徴である。つまり、差替え攻撃の３つ目の特徴は、追加攻撃の３つ目の特徴と同一であって、攻撃の特徴４に相当する。
【００６０】
一方、攻撃以外の原因では、上述の攻撃の特徴１〜４および３ａは現れないか、顕著ではない。
【００６１】
そこで、本実施の形態における攻撃検知装置１４０は、このような攻撃の特徴を用いて、異常の原因が攻撃であるか否かを判定する。
【００６２】
図４は、攻撃検知装置１４０の全体的な処理動作の一例を示すフローチャートである。
【００６３】
攻撃検知装置１４０の送受信部１４３は、バスに流れるメッセージを受信する（ステップＳ１１０）。次に、異常判定部１４１は、その送受信部１４３によって受信されたメッセージが異常か否かを判定する（ステップＳ１２０）。例えば、異常判定部１４１は、判定対象のメッセージによって示される数値またはその数値の変化量が、規定数よりも大きいまたは小さい場合に、その判定対象のメッセージが異常であると判定する。なお、判定対象のメッセージによって示される数値の変化量とは、例えば、その判定対象のメッセージと同種類であって、その判定対象のメッセージの前に送信されたメッセージによって示される数値と、その判定対象のメッセージの数値との差である。または、異常判定部１４１は、その判定対象のメッセージと同種類のメッセージの送信周期に基づいて、その判定対象のメッセージが異常か否かを判定してもよい。例えば、異常判定部１４１は、その送信周期が規定周期よりも短いまたは長い場合に、その判定対象のメッセージが異常であると判定する。
【００６４】
次に、攻撃判定部１４２は、異常判定部１４１によってそのメッセージが異常と判定されると（ステップＳ１２０のＹｅｓ）、その異常の原因が攻撃であるか否かを判定する（ステップＳ１３０）。例えば、異常判定部１４１は、図３に示す攻撃の特徴１〜４に基づいて、異常の原因が攻撃であるか否かを判定する。
【００６５】
ここで、攻撃判定部１４２は、異常の原因が攻撃であると判定すると（ステップＳ１３０のＹｅｓ）、攻撃を受けていることを、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に通知する（ステップＳ１４０）。
【００６６】
一方、攻撃判定部１４２は、異常の原因が攻撃でないと判定すると（ステップＳ１３０のＮｏ）、異常が生じていることを、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に通知する（ステップＳ１５０）。このとき、攻撃判定部１４２は、異常の原因が攻撃ではないこと、すなわち故障またはバグがあることを通知してもよい。
【００６７】
そして、送受信部１４３は、メッセージの受信を終了すべきか否かを判断する（ステップＳ１６０）。例えば、車載ネットワーク１００の電源がオフされた場合など、終了の条件が満たされた場合に、送受信部１４３は、メッセージの受信を終了する。一方、終了の条件が満たされていない場合には、送受信部１４３は、ステップＳ１１０からの処理を繰り返し実行する。
【００６８】
ここで、上述のように、攻撃判定部１４２は、ステップＳ１３０において異常の原因が攻撃か否かを判定するときには、図３に示す攻撃の特徴１〜４を利用する。
【００６９】
例えば、攻撃判定部１４２は、攻撃の特徴１、すなわちデータ量の増加を利用してもよい。具体的には、異常と判定されたメッセージは、第１のメッセージであって、例えば第１のＥＣＵ１１０から送信されたメッセージである。また、車載ネットワーク１００では、異常と判定された第１のメッセージを含む複数の第１のメッセージのそれぞれがバスを介して順次送信されている。なお、その複数の第１のメッセージのそれぞれは例えば同一種類である。すなわち、その複数の第１のメッセージのそれぞれは同一のＩＤを有する。このとき、攻撃判定部１４２は、その複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から、増加しているか否かを判断する。そして、攻撃判定部１４２は、第１のデータ量が増加していると判断された場合に、異常の原因が攻撃であると判定する。
【００７０】
例えば、攻撃判定部１４２は、異常な第１のメッセージが送受信部１４３によって受信されてから、単位時間内に送受信部１４３によって受信される少なくとも１つの第１のメッセージのそれぞれのデータ量を積算する。これにより、第１のデータ量が算出される。なお、この第１のデータ量には、異常な第１のメッセージのデータ量も含まれる。そして、攻撃判定部１４２は、その第１のデータ量を第２のデータ量と比較し、第１のデータ量が第２のデータ量よりも多い場合に、第１のデータ量が増加していると判断する。第２のデータ量は、予め定められたデータ量であってもよい。また、単位時間は、正常な第１のメッセージの送信周期以上であってもよい。
【００７１】
このように、本実施の形態では、正常なメッセージに対して異常なメッセージを追加する攻撃の特徴が現れたか否かが判断されるため、そのような攻撃、すなわち追加攻撃を異常の原因として適切に判定することができる。
【００７２】
また、攻撃判定部１４２は、攻撃の特徴２、すなわちデータ変化として、正常なメッセージと異常なメッセージとが混在することを利用してもよい。具体的には、攻撃判定部１４２は、上述の複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在しているか否かを判断し、混在していると判断された場合に、異常の原因が攻撃であると判定する。
【００７３】
例えば、攻撃判定部１４２は、正常な第１のメッセージが送受信部１４３によって受信されてから予め定められた期間内に、異常な第１のメッセージが送受信部１４３に受信されるか否かを判断する。このとき、攻撃判定部１４２は、異常な第１のメッセージが送受信部１４３に受信される場合に、混在していると判断し、異常な第１のメッセージが送受信部１４３に受信されない場合に、混在していないと判断する。なお、その予め定められた期間は、正常な第１のメッセージの送信周期以上であってもよい。
【００７４】
このように、本実施の形態では、正常なメッセージに対して異常なメッセージを追加する攻撃の特徴が現れたか否かが判断されるため、そのような攻撃、すなわち追加攻撃を異常の原因として適切に判定することができる。
【００７５】
また、攻撃判定部１４２は、攻撃の特徴３、すなわち診断パケットの観測を利用してもよい。なお、その診断パケットの観測とは、車両１の走行時に診断パケットが診断用メッセージとして観測されることである。具体的には、攻撃判定部１４２は、車両１が移動していないときに車両１の外から車載ネットワーク１００に送信される上述の診断用メッセージである第３のメッセージが、車両１が移動しているときに車載ネットワーク１００に送信されているか否かを判断する。そして、攻撃判定部１４２は、車両１が移動しているときに第３のメッセージが送信されていると判断された場合に、異常の原因が攻撃であると判定する。
【００７６】
例えば、攻撃判定部１４２は、車速に関する情報を車両１の装置から取得し、その情報に基づいて車両１が走行しているか否かを判定する。そして、攻撃判定部１４２は、その情報に基づいて車両１が走行していると判定されているときに、第３のメッセージが送受信部１４３に受信されると、異常の原因が攻撃であると判定する。
【００７７】
また、攻撃判定部１４２は、攻撃の特徴３ａを利用してもよい。具体的には、攻撃判定部１４２は、診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された第１のメッセージが送信されたか否かを判断し、異常と判定された第１のメッセージが送信されたと判断された場合に、異常の原因が攻撃であると判定する。
【００７８】
このように、本実施の形態では、正常なメッセージを異常なメッセージに差し替える攻撃の特徴が現れたか否かが判断されるため、そのような攻撃、すなわち差替え攻撃を異常の原因として適切に判定することができる。
【００７９】
また、攻撃判定部１４２は、攻撃の特徴４、すなわち同時発生を利用してもよい。なお、同時発生とは、互いに関連する複数種のメッセージ（またはデータ）で異常が同時に発生していることである。具体的には、攻撃判定部１４２は、異常と判定された第１のメッセージに関連する異常と判定された第２のメッセージが、車載ネットワーク１００に含まれる第２のＥＣＵ１２０から、異常と判定された第１のメッセージと共に同一の時間帯に送信されているか否かを判断する。そして、攻撃判定部１４２は、異常と判定された第２のメッセージが送信されていると判断する場合に、異常の原因が攻撃であると判定する。
【００８０】
例えば、異常な第１のメッセージが送受信部１４３に受信されてから予め定められた時間内に、第２のメッセージが送受信部１４３に受信される。攻撃判定部１４２は、第１のメッセージおよび第２のメッセージのそれぞれのＩＤが、予め保持しているテーブルにおいて互いに関連付けられている場合に、その第２のメッセージが第１のメッセージに関連していると判断する。そして、その第２のメッセージが異常であると異常判定部１４１によって判定されると、攻撃判定部１４２は、異常の原因が攻撃であると判定する。
【００８１】
このように、本実施の形態では、攻撃の特徴が現れたか否かが判断されるため、攻撃を異常の原因として適切に判定することができる。
【００８２】
ここで、攻撃判定部１４２は、図３に示す攻撃の特徴１〜４のうちの何れか２つを用いて攻撃の種別を特定し、それらの種別に応じた通知を行ってもよい。
【００８３】
図５は、攻撃判定部１４２の処理動作の具体的な例を示すフローチャートである。
【００８４】
例えば、攻撃判定部１４２は、ステップＳ１３０では、攻撃の特徴１が現れたか否か、すなわち、データ量が増加しているか否かを判断する（ステップＳ１３１）。ここで、攻撃判定部１４２は、データ量が増加していると判断すると（ステップＳ１３１のＹｅｓ）、異常の原因が攻撃であって、その攻撃の種別を追加攻撃として特定する。その結果、攻撃判定部１４２は、ステップＳ１４０では、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に、その追加攻撃を通知する（ステップＳ１４１）。
【００８５】
一方、攻撃判定部１４２は、データ量が増加していないと判断すると（ステップＳ１３１のＮｏ）、攻撃の特徴３が現れたか否か、すなわち診断パケットが観測されているか否かを判断する（ステップＳ１３２）。ここで、攻撃判定部１４２は、診断パケットが観測されていると判断すると（ステップＳ１３２のＹｅｓ）、異常の原因が攻撃であって、その攻撃の種別を差替え攻撃として特定する。その結果、攻撃判定部１４２は、ステップＳ１４０では、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に、その差替え攻撃を通知する（ステップＳ１４２）。
【００８６】
図６は、攻撃判定部１４２の処理動作の具体的な他の例を示すフローチャートである。
【００８７】
例えば、攻撃判定部１４２は、ステップＳ１３０では、攻撃の特徴２が現れたか否か、すなわち、正常なメッセージと異常なメッセージとの混在がデータ変化として生じているか否かを判断する（ステップＳ１３３）。ここで、攻撃判定部１４２は、その混在が生じていると判断すると（ステップＳ１３３のＹｅｓ）、異常の原因が攻撃であって、その攻撃の種別を追加攻撃として特定する。その結果、攻撃判定部１４２は、ステップＳ１４０では、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に、その追加攻撃を通知する（ステップＳ１４１）。
【００８８】
一方、攻撃判定部１４２は、混在が生じていないと判断すると（ステップＳ１３３のＮｏ）、攻撃の特徴３が現れたか否か、すなわち診断パケットが観測されているか否かを判断する（ステップＳ１３２）。ここで、攻撃判定部１４２は、診断パケットが観測されていると判断すると（ステップＳ１３２のＹｅｓ）、異常の原因が攻撃であって、その攻撃の種別を差替え攻撃として特定する。その結果、攻撃判定部１４２は、ステップＳ１４０では、ユーザ、サーバ２００、または、車載ネットワーク１００内の少なくとも１つの装置に、その差替え攻撃を通知する（ステップＳ１４２）。
【００８９】
図７は、攻撃検知装置１４０の全体的な処理動作の他の例を示すフローチャートである。なお、図７に示すフローチャートに示す各ステップのうち、図４に示すフローチャートに示すステップと同じ処理については、図４と同じ符号を付し、その詳細な説明を省略する。
【００９０】
攻撃判定部１４２は、異常の原因が攻撃であるか否かを判定し、異常の原因が攻撃であると判定した場合には、さらに、攻撃の種別を特定してもよい。
【００９１】
例えば、攻撃検知装置１４０の攻撃判定部１４２は、送受信部１４３によってメッセージが受信され、さらに、そのメッセージが異常であると異常判定部１４１によって判定されると、追加攻撃および差替え攻撃の共通の特徴が現れたか否かを判定する（ステップＳ１３０ａ）。つまり、攻撃判定部１４２は、図７に示すように、図４のステップＳ１３０の具体的な処理として、攻撃の特徴４が現れたか否か、すなわち互いに関連する複数の異常なメッセージが同時に発生したか否かを判断する（ステップＳ１３０ａ）。ここで、攻撃判定部１４２は、互いに関連する複数の異常なメッセージが同時に発生していると判断すると（ステップＳ１３０ａのＹｅｓ）、異常の原因が攻撃であると判定し、さらに、その攻撃の種別を特定する（ステップＳ１７０）。すなわち、攻撃判定部１４２は、攻撃の特徴１〜３のうちの何れの特徴が現れたかを検出し、その現れた特徴に応じた種別を、攻撃の種別として特定する。例えば、攻撃判定部１４２は、攻撃の特徴１および２のうちの何れかが現れた場合には、その特徴に応じた追加攻撃を、攻撃の種別として特定する。または、攻撃判定部１４２は、攻撃の特徴３が現れた場合には、その特徴３に応じた差替え攻撃を、攻撃の種別として特定する。
【００９２】
より具体的には、車載ネットワーク１００では、異常と判定された第１のメッセージを含む複数の第１のメッセージのそれぞれが順次送信され、その複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から、増加している。このような場合、攻撃判定部１４２は、ステップＳ１７０における攻撃の種別の特定では、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃を、攻撃の種別として特定する。つまり、攻撃判定部１４２は、複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加していると判断された場合、その攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する。
【００９３】
また、車載ネットワーク１００では、異常と判定された第１のメッセージを含む複数の第１のメッセージのそれぞれが順次送信され、その複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在している。このような場合、攻撃判定部１４２は、ステップＳ１７０における攻撃の種別の特定では、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃を、攻撃の種別として特定する。つまり、攻撃判定部１４２は、複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在していると判断された場合、その攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する。
【００９４】
あるいは、車両１が移動を停止しているときにその車両１の外から車載ネットワーク１００に送信される第３のメッセージが、車両１が移動しているときに車載ネットワーク１００に送信されている。このような場合、攻撃判定部１４２は、ステップＳ１７０における攻撃の種別の特定では、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃を、攻撃の種別として特定する。つまり、攻撃判定部１４２は、車両１が移動を停止しているときに車両１の外から車載ネットワーク１００に送信される第２のメッセージが、車両１が移動しているときに車載ネットワーク１００に送信されていると判断されたとき、その攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する。または、攻撃判定部１４２は、診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された第１のメッセージが送信されたと判断された場合、その攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する。
【００９５】
これにより、ネットワークに生じる事象として判定された攻撃をより正確に判定することができる。
【００９６】
以上のように、本実施の形態における電子制御装置および電子制御システムでは、車載ネットワーク１００に生じる事象をより正確に判定することができる。
【００９７】
＜変形例＞
以上、一つまたは複数の態様に係る電子制御装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【００９８】
例えば、上記実施の形態では、攻撃判定部１４２は、図３に示す攻撃の特徴１〜４のうちの何れか１つまたは２つが現れたか否かを判断し、その結果に基づいて、異常の原因が攻撃か否かを判定している。しかし、攻撃判定部１４２は、上述の特徴１〜４のうち３つ以上の特徴が同じ時間帯に現れた場合に、異常の原因が攻撃であると判定してもよい。つまり、攻撃判定部１４２は、攻撃によって現れる少なくとも１つの特徴が、予め定められた時間内に車載ネットワーク１００に現れたか否かを判断し、その少なくとも１つの特徴が現れたと判断する場合に、異常の原因が攻撃であると判定する。少なくとも１つの特徴のそれぞれは、上述の特徴１〜４のうちの何れかであってもよい。また、攻撃判定部１４２は、同一の特徴が上述の時間内に複数回現れた場合に、異常の原因が攻撃であると判定してもよい。
【００９９】
また、上記実施の形態では、攻撃判定部１４２は、攻撃の特徴３に基づいて、異常の原因が差替え攻撃であると判定するが、他の特徴に基づいて、異常の原因が差替え攻撃であると判定してもよい。例えば、図３に示すように、差替え攻撃の場合には、周期的に送信されるメッセージに含まれるデータ（すなわち数値）が急峻に変化する。したがって、攻撃判定部１４２は、このような特徴に基づいて、異常の原因が差替え攻撃であると判定してもよい。
【０１００】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の電子制御装置および電子制御システムなどを実現するソフトウェアは、図４〜図７に示すフローチャートに含まれる各ステップをコンピュータに実行させる。
【０１０１】
また、上記実施の形態では、車載ネットワーク１００は、ＣＡＮプロトコルに基づくネットワークシステムであるが、そのＣＡＮプロトコルは、ＴＴＣＡＮ（Time-Triggered CAN）、ＣＡＮＦＤ（CAN with Flexible Data Rate）等の派生的なプロトコルも包含する広義の意味のものでもよい。また、車両でＥＣＵ間の通信に用いられるネットワークは、ＣＡＮプロトコルにしたがったネットワークに限られず、他のネットワークでもよい。ＥＣＵが通信データの授受を行うためのネットワークで用いられる、ＣＡＮ以外のプロトコルとして、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、ＬＩＮ（Local Interconnect Network）、ＭＯＳＴ（登録商標）（Media Oriented Systems Transport）、ＦｌｅｘＲａｙ（登録商標）、ブローダーリーチプロトコル等が挙げられる。
【０１０２】
また、上記実施の形態における各ＥＣＵは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイその他のハードウェア構成要素を含んでいても良い。また、上記実施の形態で示した各装置は、メモリに記憶されたプログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア（デジタル回路等）によりその機能を実現することとしても良い。
【０１０３】
また、上記実施の形態では、車載ネットワーク１００は、車両１に搭載されるネットワークシステムであるが、車両以外の建機、農機、船舶、鉄道、飛行機などの移動体に搭載されていてもよい。
【０１０４】
また、上記実施の形態における各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしても良い。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全部を含むように１チップ化されても良い。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０１０５】
また、上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしても良い。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしても良い。
【０１０６】
また、本発明の一態様としては、例えば図４〜図７等に示す処理手順の全部又は一部を含む電子制御方法であるとしても良い。また、本発明の一態様としては、この電子制御方法に係る処理をコンピュータにより実現するためのプログラム（コンピュータプログラム）であるとしても良いし、前記プログラムからなるデジタル信号であるとしても良い。
【０１０７】
また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。
【０１０８】
また、本発明の一態様としては、前記プログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記プログラムを記録しており、前記マイクロプロセッサは、前記プログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
【０１０９】
上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１１０】
本開示は、ネットワークに生じる事象をより正確に判定することができ、例えば、ＣＡＮプロトコルにしたがった制御が行われるネットワークなどに利用可能である。
【符号の説明】
【０１１１】
１    車両
１００    電子制御システム（車載ネットワーク）
１１０    第１のＥＣＵ
１２０    第２のＥＣＵ
１３０    通信ＥＣＵ
１４０    攻撃検知装置（電子制御装置）
１４１    異常判定部
１４２    攻撃判定部
１４３    送受信部
２００    サーバ
３００    診断装置
【図１】
2020137743.tif 000003
【図２】
2020137743.tif 000004
【図３】
2020137743.tif 000005
【図４】
2020137743.tif 000006
【図５】
2020137743.tif 000007
【図６】
2020137743.tif 000008
【図７】
2020137743.tif 000009
【手続補正書】
【提出日】令和3年5月13日(2021.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動体に搭載されたネットワークに含まれる第１の装置から送信された複数の第１のメッセージを受信する受信部と、
前記受信部によって受信された前記複数の第１のメッセージのいずれかが異常と判定された場合に、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する判定部と、を備え、
前記判定部は、
前記異常の原因が攻撃ではないと判定した場合には、さらに、前記第１の装置は故障の可能性があることを示す情報を出力する、
電子制御装置。
【請求項２】
前記判定部は、
前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加しているか否かを判断し、前記第１のデータ量が増加していると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１に記載の電子制御装置。
【請求項３】
前記判定部は、
前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在しているか否かを判断し、混在していると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１または２に記載の電子制御装置。
【請求項４】
前記判定部は、
異常と判定された前記第１のメッセージに関連する異常と判定された第２のメッセージが、前記ネットワークに含まれる第２の装置から、異常と判定された前記第１のメッセージと共に同一の時間帯に送信されているか否かを判断し、異常と判定された前記第２のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜３の何れか１項に記載の電子制御装置。
【請求項５】
前記判定部は、
前記移動体が移動していないときに前記移動体の外から前記ネットワークに送信される第３のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されているか否かを判断し、前記第３のメッセージが送信されていると判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜４の何れか１項に記載の電子制御装置。
【請求項６】
前記判定部は、
診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたか否かを判断し、異常と判定された前記第１のメッセージが送信されたと判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜５の何れか１項に記載の電子制御装置。
【請求項７】
前記判定部は、
攻撃によって現れる少なくとも１つの特徴が、予め定められた時間内に前記ネットワークに現れたか否かを判断し、前記少なくとも１つの特徴が現れたと判断された場合に、前記異常の原因が攻撃であると判定する、
請求項１〜６の何れか１項に記載の電子制御装置。
【請求項８】
前記判定部は、
前記異常の原因が攻撃であると判定した場合には、さらに、前記攻撃の種別を特定する、
請求項１〜７の何れか１項に記載の電子制御装置。
【請求項９】
前記判定部は、
前記複数の第１のメッセージの単位時間あたりに送信された第１のデータ量が、複数の正常な第１のメッセージの単位時間あたりに送信された第２のデータ量から増加していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する、
請求項８に記載の電子制御装置。
【請求項１０】
前記判定部は、
前記複数の第１のメッセージに、異常な第１のメッセージと正常な第１のメッセージとが混在していると判断された場合、前記攻撃の種別として、正常なメッセージに対して異常なメッセージを追加する追加型の攻撃であると特定する、
請求項８または９に記載の電子制御装置。
【請求項１１】
前記判定部は、
前記移動体が移動を停止しているときに前記移動体の外から前記ネットワークに送信される第２のメッセージが、前記移動体が移動しているときに前記ネットワークに送信されていると判断されたとき、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する、
請求項８〜１０の何れか１項に記載の電子制御装置。
【請求項１２】
前記判定部は、
診断パケットによって第１のメッセージの送信が停止されているときに、異常と判定された前記第１のメッセージが送信されたと判断された場合、前記攻撃の種別として、正常なメッセージを異常なメッセージに差し替える差替え型の攻撃であると特定する、
請求項８〜１１の何れか１項に記載の電子制御装置。
【請求項１３】
移動体に搭載されたネットワークに含まれる装置から送信された複数のメッセージを受信する受信部と、前記受信部によって受信された前記複数のメッセージが異常であるか否かを判定する異常判定部と、を含む異常判定装置と、
前記受信部によって受信された前記複数のメッセージのいずれかが前記異常判定部によって異常と判定された場合には、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する攻撃判定装置と、を備え、
前記攻撃判定装置は、
前記異常の原因が攻撃ではないと判定した場合には、さらに、前記ネットワークに含まれる前記装置は故障の可能性があることを示す情報を出力する、
電子制御システム。
【請求項１４】
移動体に搭載されたネットワークに含まれる装置から送信された複数のメッセージを受信する受信処理と、
受信された前記複数のメッセージのいずれかが異常と判定された場合には、前記異常の原因が、前記ネットワークへの攻撃であるか否かを判定し、前記攻撃であるか否かの判定結果を出力する判定処理と、をコンピュータに実行させ、
前記判定処理では、
前記異常の原因が攻撃ではないと判定した場合には、さらに、前記ネットワークに含まれる前記装置は故障の可能性があることを示す情報を出力する、
プログラム。
【国際調査報告】
2020137743.tif 000010
2020137743.tif 000011
2020137743.tif 000012
2020137743.tif 000013
2020137743.tif 000014
2020137743.tif 000015