JP6846706B2 - 監視装置、監視方法およびコンピュータプログラム - Google Patents

監視装置、監視方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6846706B2
JP6846706B2 JP2017056570A JP2017056570A JP6846706B2 JP 6846706 B2 JP6846706 B2 JP 6846706B2 JP 2017056570 A JP2017056570 A JP 2017056570A JP 2017056570 A JP2017056570 A JP 2017056570A JP 6846706 B2 JP6846706 B2 JP 6846706B2
Authority
JP
Japan
Prior art keywords
frame
determination
result
invalid
priority
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
JP2017056570A
Other languages
English (en)
Other versions
JP2018160786A (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 Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017056570A priority Critical patent/JP6846706B2/ja
Priority to PCT/JP2017/040173 priority patent/WO2018135098A1/ja
Priority to DE112017006854.1T priority patent/DE112017006854T5/de
Publication of JP2018160786A publication Critical patent/JP2018160786A/ja
Priority to US16/505,628 priority patent/US10986093B2/en
Application granted granted Critical
Publication of JP6846706B2 publication Critical patent/JP6846706B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明はデータ処理技術に関し、特に監視装置、監視方法およびコンピュータプログラムに関する。
近年、自動車には、多数の電子制御ユニット(Electronic Control Unit、以下「ECU」と呼ぶ。)が搭載されている。これらのECUを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてCAN(Controller Area Network)がある。
自動車の電動化に伴い、車載ネットワーク経由でステアリング等のアクチュエータを制御することが可能である。一方で、車載ネットワークで不正コマンドが伝送されることによるアクチュエータの不正操作等を防止するため、メッセージ認証コード(Message Authentication Code、以下「MAC」と呼ぶ。)を用いたメッセージ認証が実行されることがある(例えば特許文献1参照)。
国際公開第2013/065689号
今後、インターネットへ常時接続される車両の普及に伴い、インターネットを介して車両と接続された装置群(以下「クラウド」とも呼ぶ。)が、車両のセキュリティ状態を常時監視することが考えられる。このようなクラウドサービスを利用する車両は、自車のセキュリティ状態をクラウドへ通報する必要があるが、通信量が過度に増加することは好ましくない。
本願発明は上記課題に鑑みたもので、1つの目的は、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実現することである。
上記課題を解決するために、本発明のある態様の監視装置は、通信網からフレームを受信する受信部と、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行い、第1判定の結果と第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、を備える。
本発明の別の態様は、監視方法である。この方法は、通信網からフレームを受信し、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行い、第1判定の結果と第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する、ことをコンピュータが実行する。
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実現することができる。
第1実施例の車載ネットワークシステムの構成を示す図である。 図1のCGWの機能構成を示すブロック図である。 図1のECUの機能構成を示すブロック図である。 不正検出パターン別の不正対策を示す図である。 図1のCGWの動作を示すフローチャートである。 図1のECUの動作を示すフローチャートである。 変形例のCGWのハードウェア構成を示す図である。 第2実施例の車載ネットワークシステムの構成を示す図である。 図8のECUの機能構成を示すブロック図である。 不正検出パターンを示す図である。 図8のECUの動作を示すフローチャートである。
[第1実施例]
第1実施例の詳細な構成を説明する前にまず概要を述べる。実施例の車載ネットワークシステムでは、MACを用いたメッセージ認証(以下「MAC検証」とも呼ぶ。)と、車載ネットワークを流れるフレーム(言い換えればコマンド)に対する振る舞い検証を併用する。振る舞い検証は、振る舞い検知技術と言え、侵入検知技術とも言える。振る舞い検証には、例えば「特開2014−146868号公報」に記載された技術を適用してもよい。実施例の車載ネットワークシステムでは、MAC検証の結果と、振る舞い検証の結果の両方を総合的に判断して、不正対策アクション(言い換えれば防御アクション)を実行する。
図1は、第1実施例の車載ネットワークシステムの構成を示す。実施例の車載ネットワークシステム12は、車両10に構築された通信システムであり、車載ネットワークにおける不正検知システムとしての機能を備える。車載ネットワークシステム12は、ECU14で総称されるECU14a、ECU14b、ECU14c、ECU14d、IVI装置16、OBDアダプタ18、CGW20、CMI22を備える。これらの装置はCAN24を介して接続される。
複数のECU14のそれぞれは、不図示のセンサまたはアクチュエータに接続され、センサによる検知内容を示すフレームをCAN24へ送信し、または、CAN24から受信したフレームが示すコマンドに基づいてアクチュエータを制御する。CAN24の複数のバスのうちパワートレインバス26aに接続されるECU14aは、例えばエンジンECUである。また、運転支援バス26bに接続されるECU14bは、例えばステアリングECUである。また、シャーシバス26cに接続されるECU14cは、例えばサスペンションECUである。また、ボディバス26dに接続されるECU14dは、例えばパワーウィンドウECUである。
IVI(In-Vehicle Infotainment)装置16は、様々な情報を乗員へ提示する情報機器であり、例えばカーナビゲーション装置である。IVI装置16は、車両10外部の通信網(インターネット等)である外部通信網28と接続される。車両10は、外部通信網28を介してルール生成装置29と接続される。ルール生成装置29は、後述の振る舞いルールを生成するサーバである。OBDアダプタ18は、CAN24を流れる様々な情報、例えば車両10の動作状態を示す情報を外部装置へ出力するアダプタである。IVI装置16およびOBDアダプタ18は、CAN24の複数のバスのうち外部バス26eに接続される。外部バス26eは、ECU14以外の装置から送信されたフレームが流れるバスである。外部バス26eを流れるフレームは、例えば、外部通信網28側の装置から送信されたフレーム、および、OBDアダプタ18に接続された装置から送信されたフレームを含む。
CGW(Central GateWay)20は、CAN24の複数のバスに接続され、バス間でのフレームの中継処理およびルーティング処理を実行するゲートウェイECUである。CMI(Centralized Monitoring and Interceptor)22は、CAN24の複数のバスに接続され、各バスを流れるフレームを監視するECUである。変形例として、CMI22がCAN24に非接続の構成であってもよく、言い換えれば、車載ネットワークシステム12は、CMI22を備えなくてもよい。
実施例では、MACを用いたメッセージ認証に対応する複数の装置に監視モジュールが導入される。具体的には、CGW20と一部のECU14に監視モジュールが導入される。監視モジュールが導入されたCGW20とECU14は、CAN24を流れる不正フレーム(言い換えれば不正コマンド)を監視し、不正対策を実行する監視装置として機能する。変形例として、(1)CGW20にのみ監視モジュールを導入する構成でもよく、(2)CMI22にのみ監視モジュールを導入する構成でもよく、(3)MACを用いたメッセージ認証に対応するECU14にのみ監視モジュールを導入する構成でもよい。
図2は、図1のCGW20の機能構成を示すブロック図である。CGW20は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、不正対策部38を備える。なお、図1のCMI22が監視モジュールを備える場合、CMI22の機能構成は図2と同様になる。また、MAC検証部34、振る舞い検証部36、不正対策部38を含めて、監視モジュールとして1つの処理部を構成してもよい。
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図2の各ブロックに対応するモジュールを含むコンピュータプログラムがCGW20のメモリに格納されてもよい。CGW20のCPUは、そのコンピュータプログラムを適宜読み出して実行することにより、各ブロックの機能を発揮してもよい。
フレーム受信部30は、CAN24の各バスからフレームを受信する。フレーム受信部30は、受信したフレームのデータを、当該フレームを受信したバスの識別情報とともにMAC検証部34、振る舞い検証部36を経て、不正対策部38へ入力する。フレーム送信部32は、CAN24の各バスへフレームを送信する。例えば、フレーム送信部32は、あるバスから受信したフレームを、そのバスを除く他のバスへ転送する。
MAC検証部34は、フレーム受信部30により受信されたフレーム(以下「対象フレーム」とも呼ぶ。)に対するメッセージ認証を実行する。例えば、MAC検証部34は、予め定められたメッセージ認証用の共通鍵(以下「MAC鍵」と呼ぶ。)に基づいてMACを生成する。MAC検証部34は、生成したMACと、予め送信元装置(例えばECU14)が対象フレームに付加したMACとを比較する。MAC検証部34は、両者のMACが一致する場合、メッセージ認証に成功したと判定し、両者のMACが不一致の場合、メッセージ認証に失敗したと判定する。MAC検証部34は、メッセージ認証に成功した場合、対象フレームを正当と判定し、メッセージ認証に失敗した場合、対象フレームを不正と判定する。
振る舞い検証部36は、振る舞い検証処理として、対象フレームの態様と予め定められた振る舞いルールとに基づいて、対象フレームが不正か否かを判定する。振る舞い検証部36は、ルール生成装置29から提供された振る舞いルールを所定の記憶領域に保持する。振る舞いルールは、フレーム(言い換えればメッセージ)のフォーマットに関する規定を含む。フォーマットに関する規定は、具体的には、ID・DLC(データ長コード)・ペイロード等における固定値の規定を含む。例えば、振る舞いルールは、フレームの所定位置に特定の固定値が設定されることを規定してもよい。
また、振る舞いルールは、フレームの振る舞いに関する規定を含む。振る舞いに関する規定は、具体的には、周期・頻度・ペイロードに関する可変値の規定を含む。例えば、振る舞いルールは、複数のID(フレームIDとも言え、CAN−IDとも言える)のそれぞれについて、前回のフレーム受信から今回のフレーム受信までの時間間隔の範囲または差分の規定を含んでもよい。また、振る舞いルールは、フレームIDごとに、ペイロードの所定位置に設定されたデータ項目、または、ペイロード内の所定名称のデータ項目について、前回受信したフレームからの差分の制限(許容する範囲等)を含んでもよい。
なお、振る舞いルールは、ブラックリストとホワイトリストのいずれも含みうる。振る舞い検証部36は、対象フレームがブラックリストとしてのルールを充足する場合、対象フレームを不正と判定する。また、振る舞い検証部36は、対象フレームがホワイトリストとしてのルールから逸脱する場合、対象フレームを不正と判定する。
不正対策部38は、MAC検証部34による不正判定結果と、振る舞い検証部36による不正判定結果との組み合わせに応じて、対象フレームに関する処理(「コマンド対策」とも呼ぶ。)と、フレームの送信元装置に関する処理(「ECU対策」とも呼ぶ。)の少なくとも一方を実行する。なお、不正対策部38は、MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合、対象フレームをフレーム送信部32に渡してCAN24へ送信させる。
不正対策部38は、無効化部40、受信フレーム記憶部42、ログ保存部44、ルール更新部46、構成情報記憶部48、対象検出部50、プログラム更新部52、鍵更新部54を含む。
無効化部40は、対象フレームの無効化処理として、CAN24のバス上に存在する対象フレームを消去する処理を実行する。具体的には、無効化部40は、対象フレームに対するエラーフレームを生成し、フレーム送信部32からCAN24へエラーフレームを出力させる。これにより、CAN24上の他の装置(ECU14等)における対象フレームも無効にする。フレームの無効化処理には、非特許文献「T. Matsumoto, M. Hata, M. Tanabe, K. Yoshioka, and K. Oishi, "A Method of Preventing Unauthorized Data Transmission in Controller Area Network,"Vehiclular Technology Conference, 2012.」に記載の技術を適用してもよい。実施例のCGW20は、不正なフレームに対して無効化処理を実行するが、後述のECU14と同様に、不正なフレームに対して破棄処理(言い換えればフィルタ処理)を実行してもよい。
受信フレーム記憶部42は、フレーム受信部30により受信された複数のフレームを所定の記憶領域に記憶させ、蓄積する。受信フレーム記憶部42は、受信されてから所定時間(30分等)が経過したフレームを記憶領域から順次消去しても良い。受信フレーム記憶部42は、フレームのデータと、そのフレームに対するMAC検証部34による判定結果と振る舞い検証部36による判定結果を対応付けて蓄積してもよい。
ログ保存部44は、MAC検証部34により対象フレームが不正と判定され、振る舞い検証部36により対象フレームが正当と判定された場合に、少なくとも対象フレームに関するログデータを保存する。そして、オフライン上で(例えばディーラーでのメンテナンスにおいて)、保存されたログデータを収集し、上記判定結果をルール生成装置29へ送信する。これにより、ルール生成装置29は、振る舞い検証において対象フレームが不正と判断されるように、振る舞いルールを更新する。具体的には、ログ保存部44は、受信フレーム記憶部42に保持されたフレームのうち対象フレームとIDが一致する過去のフレームと、対象フレームとを含むルール更新指示データをログデータとして保存する。例えば、対象フレームと過去のフレームはともに、ステアリングの制御コマンドを指定し、かつ、ステアリングの回動角度を指定するものであってもよい。
過去のフレームは、MAC検証部34による判定結果と振る舞い検証部36による判定結果の組み合わせが対象フレームとは異なるフレームであってもよい。そのため、過去のフレームを含めてルール生成装置29へ提供することにより、ルール生成装置29による振る舞いルール更新を支援できる。また、ログ保存部44は、過去のフレームと対象フレームそれぞれの、MAC検証部34による判定結果と振る舞い検証部36による判定結果を、ログデータとしてルール更新指示データに含めてもよい。また、対象フレームより後に受信されたフレームのうち対象フレームとIDが一致するフレームをルール更新データに含めてもよい。
ルール生成装置29は、生成または更新した振る舞いルールを外部通信網28を介して車両10へ配信する。ルール更新部46は、ルール生成装置29から提供された振る舞いルールをCAN24を介して取得する。そしてルール更新部46は、取得した振る舞いルールを振る舞い検証部36に渡し、振る舞い検証部36が保持する振る舞いルールを更新させる。
構成情報記憶部48は、CAN24の様々な構成要素に関する属性情報(ここでは「構成情報」と呼ぶ。)を記憶する。実施例の構成情報は、複数のECU14のそれぞれが接続されたバスの識別情報と、複数のECU14のそれぞれが送信するフレームのIDとを含む。
対象検出部50は、複数のECU14から送信された複数のフレームにおける不正有無に基づいて、複数のECU14の中から不正対策の対象となるECU(以下「対象ECU」と呼ぶ。)を検出する。対象検出部50は、各ECU14から送信されたフレームの不正率または不正回数に基づいて、対象ECUを検出してもよい。対象ECUは、不正なECUともいえ、不正者により乗っ取られたECUとも言える。
実施例の対象検出部50は、MAC検証と振る舞い検証の少なくとも一方で不正と判定されたフレームについて、IDごとの不正判定回数を蓄積する。対象検出部50は、不正判定回数が予め定められた閾値(例えば5回)以上になったIDを検出し、構成情報記憶部48を参照して、そのIDのフレームを送信するECU14を対象ECUとして検出する。
以下、ECU対策のための4種類の構成を説明するが、実際にはいずれか1つの対策が実行されてもよく、2つ以上の対策の組み合わせが実行されてもよい。
(1)無効化部40は、構成情報記憶部48を参照して、対象ECUから送信されうる全てのIDのフレームを無効化する処理を実行する。(2)無効化部40は、構成情報記憶部48を参照して、対象ECUが接続されたCAN24のバスを識別し、識別したバスからフレーム受信部30が受信した全てのフレームを無効化する処理を実行する。
(3)プログラム更新部52は、対象ECUのROMに格納されたコンピュータプログラムを更新させるための処理(すなわちリプログラミング)を実行する。例えば、CGW20は、個々のECU14ごとの正規のプログラムを予め保持し、プログラム更新部52は、対象ECU用の正規のプログラムを、対象ECUのROMに上書き保存してもよい。また、プログラム更新部52は、対象ECU用の正規のプログラムを、外部通信網28を介して外部のサーバから取得し、対象ECUのROMに上書き保存してもよい。
(4)鍵更新部54は、複数のECU14に亘り使用される共通鍵であるMAC鍵を更新する。鍵更新部54は、更新したMAC鍵を複数のECU14へ配布する。後述するように、MAC検証の結果と振る舞い検証の結果の組み合わせに応じて、鍵更新部54は、全てのECU14へ更新したMAC鍵を送信して、全てのECU14が使用するMAC鍵を変更させる。または、鍵更新部54は、対象ECUを除く残りのECU14へ更新したMAC鍵を送信して、対象ECU以外のECU14が使用するMAC鍵を変更させる。なお、鍵更新部54は、予め定められたEUCごとに異なる鍵(MAC鍵とは異なる鍵)を使用して暗号化したMAC鍵を各ECUへ配布してもよい。
実施例では、鍵更新部54は、MAC検証部34により対象フレームが正当と判定され、振る舞い検証部36により対象フレームが不正と判定された場合であり、かつ、対象フレームが、ECU14以外から送信されたフレームが流れるバス(実施例では外部バス26e)から受信されたものであるとき、全てのECU14が使用するMAC鍵を更新する。この判定の場合、MAC検証は成功したため、MAC鍵が漏洩している可能性がある。また、不正フレームは外部から注入されたものである。そこで、全てのECU14が使用するMAC鍵を更新することで、MAC鍵の漏洩リスクを解消し、セキュリティを向上させる。
その一方、不正フレームが外部バス26e以外のバス(パワートレインバス26a等)から受信された場合、対象ECUが不正者により乗っ取られ、さらにMAC鍵を不正者が使用可能である状況が想定される。そこで、不正フレームが外部バス26e以外のバスから受信された場合、鍵更新部54は、対象ECU以外のECU14が使用するMAC鍵を更新する。
図3は、図1のECU14の機能構成を示すブロック図である。図3では、図1の複数のECU14のうちMACを用いたメッセージ認証に対応するECU14の機能構成を示している。また、図3では、図2で説明したCGW20の機能ブロックと同一または対応する機能ブロックに同一の符号を付している。以下、図2に関連して説明済みの内容は適宜省略する。
ECU14は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、不正対策部38、コマンド実行部56、フレーム生成部58を備える。コマンド実行部56は、フレームで指定されたコマンドを実行する。例えば、コマンド実行部56は、自ECUに接続されたアクチュエータをコマンドにしたがって制御する。フレーム生成部58は、外部装置(例えば他のECU14)に対するコマンドを指定したフレームを生成し、生成したフレームをフレーム送信部32に渡して送信させる。
ECU14の不正対策部38は、受信フレーム記憶部42、ログ保存部44、ルール更新部46、構成情報記憶部48、対象検出部50、プログラム更新部52、鍵更新部54、フィルタ部60、モード切替部62を含む。フィルタ部60は、CGW20における無効化部40に対応し、ECU14のコマンド対策を実行する。具体的には、フィルタ部60は、不正と判定された対象フレームを破棄し、言い換えれば、対象フレームで指定されたコマンドを破棄する。例えば、フィルタ部60は、対象フレームのデータをECU14内部のメモリ(不図示)から消去してもよい。
また、ECU14は、既述したECU対策を実行する。ただし、実施例のCGW20におけるECU対策(1)(2)ではフレームの無効化処理を実行したが、ECU14におけるECU対策(1)(2)ではフレームの廃棄処理、言い換えればフィルタ処理を実行する。ECU対策(3)(4)はCGW20と同様である。
モード切替部62は、CGW20を経由して伝送されたフレームが振る舞い検証で不正と判定された場合、複数のバスに接続して車載ネットワークの要であるCGW20のセキュリティ機能が突破されている状態であると判断し、車両10の自動運転のモードをフェイルセーフモードへ切り替える。例えば、モード切替部62は、構成情報記憶部48を参照して、不正と判定された対象フレームのIDに基づいて送信元のECU14を特定してもよい。そして、送信元のECU14が、自ECUが接続されたバスとは異なるバスに接続されたものである場合に、モード切替部62は、対象フレームがCGW20により中継されたと判定してもよい。また、フェイルセーフモードは、自動運転制御(言い換えれば電動による運転支援処理)をオフにした状態であってもよい。
CGW20を経由して伝送されたフレームが不正であることは、CGW20が不正者に乗っ取られた可能性が高いことを意味する。CAN24におけるCGW20は、複数のECU14間の通信の基盤であり、CGW20が乗っ取られたことはセキュリティ上、重大な問題である。そこで、実施例のモード切替部62は、CGW20を経由して伝送されたフレームが不正である場合に自動運転をフェイルセーフモードへ移行させることで、車両運転の安全性を一層高める。なお、CMI22に監視モジュールが導入される場合、CMI22は、モード切替部62を備えてもよい。
変形例として、CGW20を経由して伝送されたフレームが不正である場合に限らず、車載ネットワークシステム12のセキュリティの根幹装置から送信されたフレームが不正である場合に、モード切替部62は、車両10の自動運転のモードをフェイルセーフモードへ切り替えてもよい。セキュリティの根幹装置は、例えば、個々のECU14ごとの鍵を保持し、ECUごとの鍵で暗号化したMAC鍵を各ECU14へ配布する装置(CGW20、ECU14等)が該当する。モード切替部62は、構成情報記憶部48を参照して、不正と判定された対象フレームのIDに基づいて、対象フレームの送信元がセキュリティの根幹装置かを判定してもよい。
図4は、不正検出パターン別の不正対策を示す。ここでは、監視モジュールが導入されうる装置(ECU14、CGW20、CMI22)を総称して「監視装置」と呼ぶ。図4のコマンド対策欄では、監視装置がECU14、CGW20、CMI22の場合の処理をそれぞれ示している。
MAC検証で対象フレームが正当と判定され、振る舞い検証で対象フレームが不正と判定された場合(パターン1およびパターン5)、または、MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが不正と判定された場合(パターン2)、監視装置の不正対策部38は、コマンド対策として、対象フレームを破棄または無効化する。なお、パターン2において、ECU14でのコマンド対策が「なし」であるのは、メッセージ認証に対応するECU14では、通常、MAC検証のNGに伴いエラー処理が実行されるからである。また、パターン2において、CGW20のコマンド対策が無効化であるのは、DoS攻撃(Denial of Service attack)への対策として有効だからである。
パターン1およびパターン2の場合、不正対策部38は、4種類のEUC対策のうち1つまたは複数を実行する。パターン5の場合、不正対策部38は、EUC対策として、全てのECU14のMAC鍵を更新する。
MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合(パターン6)、監視装置の不正対策部38は、対象フレームとその前後のフレームを含むルール更新指示データをログデータとして保存することにより、ルール生成装置29に対象フレームとその前後のフレームに基づいて振る舞いルールを更新させる。例えば、ルール生成装置29は、監視装置が再度対象フレームを受け付けた場合、振る舞い検証において不正を検出するように振る舞いルールを更新する。
図4のパターン3とパターン4は、MACを用いたメッセージ認証に対応しないECU14から送信されたフレームが不正であるパターンである。すなわち、フレームにMACが付加されないためMAC検証はできず、振る舞い検証にて不正が検出されたパターンである。なお、パターン3は、不正と判定された対象フレームがECU14から送信されたパターンであり、パターン4は、不正と判定された対象フレームが外部から注入された(言い換えれば外部バス26eから受信された)パターンである。
パターン3とパターン4のいずれでも、監視装置の不正対策部38は、コマンド対策として、対象フレームを破棄または無効化する。パターン4は、不正フレームが外部注入された状況であり、MAC鍵の漏洩はないため、ECU対策は実行しない。その一方、パターン3では対象ECUが乗っ取られた可能性が高いため、不正対策部38は、パターン1等と同様のECU対策を実行する。
以上の構成による車載ネットワークシステム12の動作を説明する。図5は、図1のCGW20の動作を示すフローチャートである。フレーム受信部30は、CAN24からフレームを受信する(S10)。MAC検証部34は、受信された対象フレームに対するMAC検証を実行して、対象フレームが正当か不正かを判定する(S12)。振る舞い検証部36は、受信された対象フレームに対する振る舞い検証を実行して、対象フレームが正当か不正かを判定する(S14)。なお、S12とS14の実行順序に制限はなく、並行して実行してもよい。
MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S16のY)、不正対策部38は、対象フレームをフレーム送信部32に渡し、フレーム送信部32は、フレームID、転送元バス、転送先バスを対応付けたルーティングテーブルにしたがって、対象フレームを転送する(S18)。MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合(S16のN、S20のY)、不正対策部38は、ルール生成装置29に振る舞いルールを更新させるためのログデータであり、対象フレームとその前後のフレームを含むログデータを保存する(S22)。MAC検証結果が不正かつ振る舞い検証結果が不正となった場合、または、MAC検証結果が正当かつ振る舞い検証結果が不正となった場合(S20のN)、不正対策部38は、図4に示したコマンド対策を実行する(S24)。
不正検出パターン(図4)にしたがってECU対策が必要な場合(S26のY)、不正対策部38は、乗っ取られた可能性が高い対象ECUを特定する(S28)。不正対策部38は、対象ECUおよび/または他のECU14に関するECU対策を実行する(S30)。ECU対策が不要であれば(S26のN)、S28、S30をスキップする。
図6は、図1のECU14の動作を示すフローチャートである。S40〜S44の処理は図5のS10〜S14と同じであるため説明を省略する。MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S46のY)、不正対策部38は、対象フレームをコマンド実行部56に渡し、コマンド実行部56は、対象フレームで指定されたコマンドにしたがいデータ処理を実行する(S48)。対象フレームがCGW20経由のフレームであり、かつ、少なくとも振る舞い検証により不正と判定された場合(S46のN、S50のY)、不正対策部38は、車両10の自動運転をフェイルセーフモードへ移行させる(S52)。S50のN以降、S54〜S64の処理は図5のS20〜S30と同じであるため説明を省略する。
実施例の監視装置(例えばECU14、CGW20)によると、メッセージ認証の結果と振る舞い検証の結果との組み合わせに基づいて、セキュリティの脅威の種類をきめ細かに認識し、脅威の種類に応じた適切なコマンド対策およびECU対策を自動実行する。これにより、車載ネットワークシステム12のセキュリティを担保できる。例えば、MAC鍵の漏洩、および、MAC対応ECUの乗っ取りを検知し、MAC鍵の更新およびECUのリプログラミングを適切に実行できる。また、車載ネットワークシステム12内にMAC未対応のECU14が存在し、MAC未対応のECU14が脅威にさらされた場合も、セキュリティを担保しやすくなる。
以上、本発明を第1実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
第1変形例を説明する。実施例の振る舞い検証部36は、対象フレームを正当または不正に分類したが、変形例として、振る舞い検証部36は、対象フレームの態様と振る舞いルールとの乖離の度合い(もしくは一致の度合い)に応じて、対象フレームを正当、不正、グレーのいずれかに分類してもよい。不正対策部38のログ保存部44は、対象フレームがグレーに分類された場合、対象フレームと、同じIDの過去のフレームとを含むルール更新指示データをログデータとして保存する。既述したように、ルール更新指示データは、対象フレームより後に受信された同IDのフレームを含んでもよい。これにより、保存されたログデータはオフライン上で収集されてルール生成装置29に通知され、ルール生成装置29は、例えば対象フレームを不正と判定するように振る舞いルール更新する。
具体例として、振る舞い検証部36は、検知パラメータA〜Eのそれぞれで対象フレームを評価し、各検知パラメータによる中間判定結果A〜Eを生成し、4つ以上の中間判定結果が不正となった場合に最終判定結果を不正としてもよい。また、不正となった中間判定結果の個数が3個以下であれば最終判定結果を正当としてもよい。この構成において、振る舞い検証部36は、各フレームで指定されるフレームID(コマンドIDでもよい)ごとに中間判定結果が不正となった回数を累計していく。振る舞い検証部36は、中間判定結果が不正となった累計数が所定の閾値(例えば10回等)を超えたIDのフレームをグレーと判定する。
また、振る舞い検証部36は、フレームID(コマンドID)で区別せずに全てのフレームを母集団として、中間判定結果が不正となった回数を累計してもよい。振る舞い検証部36は、中間判定結果が不正となった累計数が所定の閾値(例えば10回等)を超えた場合にグレーと判定してもよい。この場合、ログ保存部44は、過去の一定期間に受信した全フレームを含むルール更新指示データをログデータとして保存してもよい。
フレームの正当性がグレーと判定されることは本来望ましくないが、第1変形例によると、振る舞いルールを適切に更新し、車載ネットワークシステム12のセキュリティを向上させることができる。なお、振る舞い検証部36は、対象フレームの振る舞い検証において、対象フレームのIDに紐付く不正判定累計数が所定の閾値を超過した場合、対象フレームの最終判定結果を「不正」としてもよい。この態様によると、グレー判定となったフレームに基づいてコマンド対策およびECU対策が実行され、車載ネットワークシステム12のセキュリティを一層高めることができる。
第2変形例を説明する。図7は、変形例のCGW20のハードウェア構成を示す。CGW20は、CPU70、監視モジュール72、LANコントローラ74、LANコントローラ76を備える。LANコントローラ74およびLANコントローラ76は、CAN24の各バスに接続される。CPU70は、CGW20全体の動作を制御するとともに、図2に示した各機能ブロックの機能を実行する。
監視モジュール72は、CPU70と物理的に異なるLSIであり、言い換えれば、CPU70と物理的に分離または独立して実装されたLSIである。監視モジュール72は、図2に示した機能ブロックのうちMAC検証部34、振る舞い検証部36、不正対策部38の機能を実行する。監視モジュール72が備える不正対策部38の機能は、図4に示したパターン別のコマンド対策およびECU対策を決定する機能を少なくとも含む。
CPU70と監視モジュール72は、互いに並行して、同じ対象フレームに対する不正判定処理を実行する。監視モジュール72は、不正判定処理の結果と、CPU70におえるフレーム処理の内容に基づいて、CPU70が正常か否かを判定する。例えば、監視モジュール72は、MAC検証と振る舞い検証の少なくとも一方で対象フレームが不正と判定された場合であって、かつ、CPU70が対象フレームをCAN24へ送信した場合に、CPU70(特にCPU70のルーティング機能)が異常と判定する。また、監視モジュール72は、MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合であって、かつ、CPU70が対象フレームを破棄または無効化した場合に、CPU70が異常と判定する。
CPU70が異常と判定した場合、監視モジュール72は、所定のエラー処理、リカバリー処理、乗員または外部の人等への通知処理のうち少なくとも1つを実行してもよい。第2変形例によると、CGW20のCPU70が不正者により乗っ取られた場合も、その事実を監視モジュール72により検出して、セキュリティの脅威を解消するための処理を実行可能になる。なお、CPU70と監視モジュール72は、仮想的または論理的に分離して実装されてもよい。また、ここではCGW20の例を示したが、監視装置として動作するECU14においても本変形例の構成を適用可能である。
第3変形例を説明する。上記実施例では、車載ネットワークをCANとしたが、変形例として、車載ネットワークをイーサネット(登録商標)にしてもよく、この場合も、ECU14およびCGW20には実施例と同様の構成を適用できる。
第4変形例を説明する。第3変形例に関連して、車載ネットワークにおいてCANとイーサネットが混在してもよい。監視装置としてのCGW20は、CANとイーサネットを接続し、CANのフレームとイーサネットフレームとを相互に変換する機能をさらに備えてもよい。CGW20は、MAC検証と振る舞い検証の少なくとも一方で不正と判定されたCANフレームをイーサネットフレームへ変換することを抑制する。同様に、上記不正と判定されたイーサネットフレームをCANフレームへ変換することを抑制する。
また、CGW20は、CANの複数のバスと、イーサネットの複数のバスに接続されてもよい。この場合に、或るフレームがMAC検証と振る舞い検証の少なくとも一方で不正と判定された場合、CGW20は、そのフレームが流れるバスから他のバスへの、全フレームの変換および中継を抑制してもよい。さらにまた、CGW20は、不正と判定されたフレームが流れるバスへの他のバスからの、全フレームの変換および中継を抑制してもよい。
さらにまた、CGW20は、イーサネットにおけるセキュリティ機能(例えばファイヤウォール機能、MACアドレスフィルタ等)を備えてもよい。CGW20は、イーサネットにおけるセキュリティ機能とMAC検証との少なくとも一方で対象フレームが不正と判定されたことを、実施例においてMAC検証で不正と判定した場合と同等に取り扱ってもよい。なお、CGW20は、イーサネットにおけるセキュリティ機能とMAC検証の両方で対象フレームが不正と判定された場合、不正の確度が高いと判定して、コマンド対策およびECU対策の実行に代えて、もしくはコマンド対策およびECU対策の実行とともに、車両10の自動運転のモードをフェイルセーフモードへ移行させてもよい。なお、第4変形例は、CGW20に限らず、異なる種類のネットワークを接続する装置全般に適用可能である。
第5変形例を説明する。車載ネットワークシステム12のECU14、CGW20には、自装置の改ざん有無を判定するセキュリティチップ(Trusted Platform Module、以下「TPM」と呼ぶ。)が搭載されてもよい。監視装置(例えばCGW20、ECU14)の対象検出部50は、少なくとも振る舞い検証で不正と判定されたフレームを送信したECUのTPMに対して改ざん有無を問い合わせてもよい(Attestation)。なお、第2変形例との組み合わせ時、対象検出部50は、CGW20のSoC(System on Chip)に対して改ざん有無を問い合わせてもよい。対象検出部50は、問い合わせの結果が改ざんありを示す場合、問い合わせ先の装置(例えばCGW20、ECU14)を不正と判定し、言い換えれば、不正対策の対象装置と判定する。
第1実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
通信網からフレームを受信する受信部と、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行い、第1判定の結果と第2判定の結果との組み合わせに応じて、フレームに関する処理とフレームの送信元装置に関する処理の少なくとも一方を実行する処理部と、を備える監視装置。
この監視装置によると、通信システムのセキュリティを向上させることができる。
[項目2]
第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、または、第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、判定対象フレームを破棄または無効化する処理を実行してもよい。
この態様によると、不正なフレームによるセキュリティのリスクを低減できる。
[項目3]
第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、または、第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合に、複数の送信元装置から送信された複数のフレームにおける不正有無に基づいて、複数の送信元装置の中から不正対策の対象装置を検出し、(1)対象装置から送信されるフレームを破棄または無効化する処理、(2)対象装置におけるコンピュータプログラムを更新する処理、(3)対象装置以外の送信元装置におけるメッセージ認証の鍵を更新する処理、(4)対象装置が接続された通信網のバスから受信されたフレームを破棄または無効化する処理、のうち少なくとも1つを実行してもよい。
この態様によると、不正なフレームの検出に基づいて、フレームの送信元装置に関する不正対策を実施できる。
[項目4]
第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合であり、かつ、判定対象フレームが、所定の送信元装置以外から送信されたフレームが流れるバスから受信されたものであるとき、処理部は、所定の送信元装置におけるメッセージ認証の鍵を更新する処理を実行してもよい。
この態様によると、外部から不正なフレームが注入され、メッセージ認証の鍵が漏洩している可能性がある場合に、メッセージ認証の鍵を更新し、セキュリティのリスクを低減できる。
[項目5]
第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが正当と判定された場合に、処理部は、少なくとも判定対象フレームに関するログデータを保存してもよい。
この態様によると、第2判定のためのルールが不完全であることが想定される場合に、ルールの改善を支援できる。
[項目6]
処理部は、判定対象フレームの態様とルールとの乖離の度合いに応じて、判定対象フレームを正当、不正、グレーのいずれかに分類し、判定対象フレームがグレーに分類された場合、少なくとも判定対象フレームに関するログデータを保存してもよい。
この態様によると、本来望ましくないグレー判定に伴い、第2判定のためのルールの改善を支援できる。
[項目7]
監視装置は、車両に搭載された電子制御ユニットであってもよい。処理部は、車載ネットワークにおける所定のゲートウェイ装置を経由して伝送されたフレームが第2判定により不正と判定された場合、車両の自動運転のモードをフェイルセーフモードへ切り替えてもよい。
この態様によると、車両運転の安全性を一層高めることができる。
[項目8]
通信網からフレームを受信し、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行い、第1判定の結果と第2判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータが実行する監視方法。
この監視方法によると、通信システムのセキュリティを向上させることができる。
[項目9]
通信網からフレームを受信し、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行い、第1判定の結果と第2判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、通信システムのセキュリティを向上させることができる。
[第2実施例]
第2実施例の詳細な構成を説明する前にまず概要を述べる。コネクテッドカー等、インターネットへ常時接続される車両の普及に伴い、クラウド側で車両を常時監視し、クラウドから適切なサービスを車両へ提供することが考えられる。このようなクラウドサービスを利用する車両は、自車のセキュリティ状態をリアルタイムにクラウドへ伝える必要があるが、リアルタイム性を重視するほど通信量は増大する。そのため車両には、セキュリティ状態の検知結果に応じた適切な通信が求められる。
第2実施例では、MAC検証の結果と、振る舞い検証の結果とに基づいて、車両のセキュリティ状態を判定し、車両のセキュリティ状態に応じて、適切なタイミングで、かつ、適切な内容をクラウドへ送信する車載ネットワークシステムを説明する。以下の図面において、第1実施例と同一または対応するブロックには、第1実施例と同一の符号を付している。また、第1実施例で説明済みの内容は適宜省略し、主に、第1実施例と異なる構成を説明する。
図8は、第2実施例の車載ネットワークシステムの構成を示す。車載ネットワークシステム12のハードウェア構成は第1実施例と同様である。第2実施例では、車両10は、外部通信網28を介して車両監視サーバ100と接続される。
車両監視サーバ100は、車両10のセキュリティ状態に応じたサービスを提供する。車両監視サーバ100は、第1実施例においてCGW20、ECU14等に実装された不正対策部38に対応する機能を備えてもよい。例えば、車両監視サーバ100は、車両10から通報された車両10のセキュリティ状態に応じて、ECU14のリプログラミングまたは鍵更新を車両10に指示してもよい。なお、車両監視サーバ100は、第1実施例のルール生成装置29の機能を含む。
第2実施例の車載ネットワークシステム12では、MACを用いたメッセージ認証に対応するECU14に監視モジュールが導入される。監視モジュールが導入されたECU14は、CAN24を流れる不正フレーム(言い換えれば不正コマンド)を監視し、その監視結果を車両監視サーバ100へ通報する監視装置として機能する。変形例として、(1)CGW20にのみ監視モジュールを導入する構成でもよく、(2)CMI22にのみ監視モジュールを導入する構成でもよく、(3)CGW20と、MACを用いたメッセージ認証に対応するECU14とに監視モジュールを導入する構成でもよい。
図9は、図8のECU14の機能構成を示すブロック図である。ECU14は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、ルール更新部46、コマンド実行部56、フレーム生成部58、通報部114を備える。図8のCGW20またはCMI22が監視モジュールを備える場合も、図9と同様の構成になる。
図9のMAC検証部34、振る舞い検証部36、ルール更新部46、通報要否判定部112、通報部114は、監視モジュールとして処理部110を構成してもよい。また、図9のフレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、ルール更新部46、コマンド実行部56、フレーム生成部58は、第1実施例と同じ機能であるため説明を省略する。
通報部114は、CAN24から受信されたフレーム(以下「対象フレーム」とも呼ぶ。)をフレーム受信部30から受信する。また、通報部114は、対象フレームに対するMAC検証の結果をMAC検証部34から取得し、対象フレームに対する振る舞い検証の結果を振る舞い検証部36から取得する。通報部114は、対象フレームに対するMAC検証の結果と振る舞い検証の結果の組み合わせに基づいて、車両監視サーバ100へ通報する内容または通報の優先度を設定し、また、複数の対象フレーム間で、車両監視サーバ100へ通報する内容または通報の優先度を変更する。実施例では、通報する内容と通報の優先度の両方を変更する。
通報部114は、受信フレーム記憶部42、構成情報記憶部48、解析部120、メッセージ生成部122、メッセージ出力部124を含む。
受信フレーム記憶部42は、フレーム受信部30により受信された複数のフレームを所定の記憶領域に記憶し、蓄積する。受信フレーム記憶部42は、受信されてから所定時間が経過したフレームを記憶領域から順次消去しても良い。受信フレーム記憶部42は、フレームのデータと、MAC検証部34による判定結果と振る舞い検証部36による判定結果とを対応付けて蓄積してもよい。
構成情報記憶部48は、CAN24の様々な構成要素に関する属性情報(ここでは「構成情報」と呼ぶ。)を記憶する。実施例の構成情報は、複数のECU14のIDと、複数のECU14のそれぞれが送信するフレームに含まれるコマンドのIDを含む。なお、構成情報は、コマンドのIDに代えて、フレームID(言い換えればCAN−ID)を含んでもよい。もしくは、構成情報は、コマンドのIDとともに、フレームのID(CAN−ID)を含んでもよい。
また、実施例の構成情報は、複数のコマンドのIDと、各コマンドの送信頻度とを対応付けた情報を含む。コマンドの送信頻度は、送信元のECUが当該コマンドを含むフレームを送信する頻度(例えば単位時間あたりの送信個数)であってもよい。また、実施例の構成情報は、複数のコマンドのIDと、各コマンドに関連する他のコマンドのIDとを対応付けた情報を含む。特定のコマンドに関連する他のコマンドは、特定のコマンドと依存関係を有する他のコマンドでもよく、特定のコマンドと対になって送信される他のコマンドでもよい。例えば、車速制御コマンドに関連する他のコマンドは、ブレーキアクチュエータ制御コマンドでもよい。
解析部120は、対象フレームに対するMAC検証の結果と振る舞い検証の結果との組み合わせに基づいて、対象フレームの不正検出パターンを識別する。図10は、不正検出パターンを示す。解析部120は、対象フレームの不正検出パターンとして、図10に示す7つの不正検出パターンのうちいずれかを特定する。
パターン1とパターン5の識別方法を説明する。解析部120は、あるコマンドID(フレームIDでもよい)を含むフレームに対するMAC検証結果が正当(図10における「OK」)を示すと共に、振る舞い検証結果が不正(図10における「NG」)を示す場合、受信フレーム記憶部42を参照して、そのコマンドIDを含むフレームの受信頻度を特定する。特定した受信頻度が、構成情報記憶部48に記憶された当該コマンドIDの送信頻度と整合する(例えば、特定した受信頻度と当該コマンドIDの送信頻度との差異が所定の範囲内)の場合、パターン1と識別する。その一方、特定した受信頻度が、送信頻度を上回る場合(例えば、特定した受信頻度と当該コマンドIDの送信頻度との差異が所定の閾値を超過する場合)、パターン5と識別する。
このように識別する理由は、ECUが乗っ取られた場合(パターン1)は、送信頻度が変わらないが、不正コマンドが外部注入された場合(パターン5)は、正常なECUが送信するコマンドと外部注入されたコマンドの両方が存在することで受信頻度が高くなるからである。
パターン3とパターン4の識別方法を説明する。パターン3またはパターン4に分類されうる対象フレームは、MACのコード値が付加されていないフレームであり、言い換えれば、MAC検証部34によるMAC検証の対象外となるフレームである。解析部120は、あるコマンドID(フレームIDでもよい)を含むフレームに対するMAC検証結果がなく(図10における「n/a」)、振る舞い検証結果が不正(図10における「NG」)を示す場合、受信フレーム記憶部42を参照して、そのコマンドIDを含むフレームの受信頻度を特定する。特定した受信頻度が、構成情報記憶部48に記憶された当該コマンドIDの送信頻度と整合する場合、パターン3と識別する。その一方、特定した受信頻度が、送信頻度を上回る場合、パターン4と識別する。
解析部120は、対象フレームの不正検出パターンとしてパターン1またはパターン3を識別した場合、乗っ取られた可能性があるECUのIDを特定する。例えば、解析部120は、構成情報記憶部48を参照して、対象フレームが示すコマンドIDに対応づけられたECUを、乗っ取られた可能性があるECUとして特定する。なお、ECUが乗っ取られていることは、当該ECUで想定外のプログラムが実行されていることを含む。
図9に戻り、メッセージ生成部122は、解析部120により識別された対象フレームの不正検出パターンに応じて、対象フレームに関する情報を車両監視サーバ100へ通報するためのメッセージを生成する。このメッセージは、車両10のセキュリティ状態を示す。メッセージ生成部122は、対象フレームの不正検出パターンに該当する図10の通報内容および付加情報をメッセージに含める。
メッセージ生成部122は、上記メッセージをペイロードに設定したフレームであり、車両10のセキュリティ状態(具体的には不正検出状態)を車両監視サーバ100へ通報するための通報フレームを生成する。メッセージ生成部122は、上記メッセージを複数に分割し、分割後のメッセージをそれぞれ含む複数の通報フレームを生成してもよい。メッセージ出力部124は、メッセージ生成部122により生成された通報フレームをフレーム送信部32へ出力し、フレーム送信部32からCAN24へ出力させる。通報フレームは、CAN24〜外部バス26e〜外部通信網28を介して車両監視サーバ100へ伝送される。
メッセージ内容の設定処理の詳細を説明する。対象フレームの不正検出パターンがパターン1であるとき、メッセージ生成部122は、図10のパターン1の通報内容をメッセージに含める。また、メッセージ生成部122は、付加情報(A)(B)(C)をメッセージに含める。なお、いずれのパターンにおいても、図10の「通報内容」欄の文章に代えて、図10の「想定される脅威」欄の文章をメッセージに含めてもよい。
具体的には、メッセージ生成部122は、MAC検証と振る舞い検証の結果を付加情報(A)としてメッセージに含める。また、メッセージ生成部122は、対象フレームが含むコマンドIDを付加情報(B)としてメッセージに含める。また、メッセージ生成部122は、解析部120により特定されたECU(ここでは「不正ECU」と呼ぶ。)のIDを付加情報(C)としてメッセージに含める。また、メッセージ生成部122は、構成情報記憶部48を参照して、不正ECUに対応づけられたコマンドIDであり、すなわち、不正ECUが送信するコマンドIDを特定し、そのコマンドIDを付加情報(C)としてメッセージに含める。
対象フレームの不正検出パターンがパターン2であるとき、メッセージ生成部122は、付加情報として(A)(B)のみをメッセージに含める。この理由は、MAC検証と振る舞い検証のいずれも機能しており、パターン1の場合よりも問題が小さいからである(つもり、この場合、付加情報を減らすことによって、通信量の削減効果を高めている)。変形例として、パターン1と同様の付加情報(すなわち(A)〜(C))をメッセージに含めてもよい。
次に、対象フレームの不正検出パターンがパターン6であるときの、メッセージ生成部122の処理を説明する。第1実施例でも言及したように、パターン6は、振る舞い検証が本来NGになるべきところがOKになった可能性があり、すなわち、振る舞い検証ルールが不完全の可能性がある。メッセージ生成部122は、図10のパターン6の通報内容をメッセージに含める。また、メッセージ生成部122は、付加情報(A)(B)(D)(E)をメッセージに含める。
具体的には、メッセージ生成部122は、受信フレーム記憶部42を参照して、対象フレームのフレームIDと同じIDが設定されたフレームであり、対象フレームより前に受信された所定個数(例えば10個)のフレームを特定する。また、メッセージ生成部122は、受信フレーム記憶部42を参照して、対象フレームのフレームIDと同じIDが設定されたフレームであり、対象フレームより後に受信された所定個数(例えば10個)のフレームを特定する。メッセージ生成部122は、特定した各フレームに含まれるコマンドIDを付加情報(D)としてメッセージに含める。変形例として、メッセージ生成部122は、付加情報(D)として、対象フレームの前後で受信した所定個数のフレームの全体データをメッセージに含めてもよい。
また、メッセージ生成部122は、構成情報記憶部48を参照して、対象フレームに含まれるコマンドに関連する他のコマンドのIDを特定し、他のコマンドのIDを付加情報(E)としてメッセージに含める。変形例として、メッセージ生成部122は、付加情報(E)として、上記他のコマンドのIDを含む所定個数のフレームの全体データをメッセージに含めてもよい。
なお、メッセージ生成部122は、通報内容および付加情報(A)(B)を含む第1メッセージと、付加情報(D)(E)を含む第2メッセージとを別個に生成する。このように生成する理由は、後述するように、第1メッセージの通報タイミングと、第2メッセージの通報タイミングとが異なるからである。
メッセージ生成部122は、対象フレームの不正検出パターンがパターン7であるとき、フレームを生成しない。ただし、不正検出パターンがパターン7である状態が所定時間以上継続する場合、メッセージ生成部122は、セキュリティに異常がないことを示すフレームを定期的(例えば1分経過毎に)に生成してもよい。
次に、通報の優先度の設定処理の詳細を説明する。メッセージ生成部122は、対象フレームの不正検出パターンに応じた優先度(図10)を通報フレームに設定する。メッセージ生成部122は、対象フレームの不正検出パターンがパターン1または5の場合、優先度を高に設定し、すなわち、通報フレーム以外の他の通信より高い優先度を通報フレームに設定する。この理由は、パターン1または5は、MAC鍵が漏洩もしくはECUが乗っ取られている可能性が高いため、早急に対処すべきだからである。
また、対象フレームの不正検出パターンがパターン2〜4の場合、メッセージ生成部122は、優先度を低に設定し、すなわち、通報フレーム以外の他の通信より低い優先度を通報フレームに設定する。この理由は、パターン2〜4では、不正コマンドを問題なく検出できているからである。また、この理由は、パターン3および4の判定対象フレームにはMACが付与されず、MACが付与されない判定対象フレームは、運転上重要性が低いからである。
また、対象フレームの不正検出パターンがパターン6の場合、メッセージ生成部122は、通報内容および付加情報(A)(B)を含む第1メッセージのフレームの優先度を中に設定する。すなわち、通報フレーム以外の他の通信と同程度の優先度を通報フレームに設定する。この理由は、MAC検証がNGであるため、不正コマンドによる被害は回避できているが、振る舞い検証ではOKとなっているため、振る舞い検証のルールを改善すべきだからである。また、メッセージ生成部122は、付加情報(D)(E)を含む第2メッセージのフレームの優先度を低に設定する。この理由は、付加情報(D)(E)はデータ量が多いからである。ただし、CAN24などの通信量が空いている場合には、付加情報(D)(E)を含む第2メッセージのフレームの優先度を中に設定してもよい。
メッセージ生成部122は、優先度高に設定された通報フレームに、CAN24で優先的に伝送されるIDを付与してもよい。メッセージ出力部124は、優先度高に設定された通報フレームを、他のフレームが送信中か否かに関わらず、即時にCAN24へ出力してもよい。また、メッセージ生成部122は、外部通信網28と接続されたIVI装置16に対して、優先度高に設定され通報フレームを、他の通信に優先して送信するように指示するデータを付与してもよい。他の通信は、車両10の自動運転に必要な情報の送受信を含んでもよく、例えば、ダイナミックマップや標識情報のアップロードおよびダウンロードを含んでもよい。
メッセージ生成部122は、優先度中に設定された通報フレームに、CAN24で他の種類のフレームと同等の優先度で扱われるIDを付与してもよい。メッセージ出力部124は、優先度中に設定された通報フレームを、他のフレームが送信されていない間にCAN24へ出力してもよい。また、メッセージ生成部122は、優先度中に設定された通報フレームに、他の通信と同等に扱って送信する(例えば早い者勝ちで送信する)ようにIVI装置16に指示するデータを付与してもよい。
メッセージ生成部122は、優先度低に設定された通報フレームに、CAN24で他の種類のフレームより低い優先度で扱われるIDを付与してもよい。メッセージ出力部124は、優先度低に設定された通報を、イグニッションオフまたは電源オフ等、通信の空き時間にCAN24へ出力してもよい。また、メッセージ生成部122は、優先度低に設定された通報フレームに、他の通信より低い優先度で送信するようにIVI装置16指示するデータを付与してもよい。例えば、メッセージ生成部122は、優先度低に設定された通報フレームに、通信処理のアイドル中に車両監視サーバ100へ送信するようにIVI装置16に指示するデータを付与してもよい。
なお、メッセージ生成部122は、優先度が高以外に設定された通報フレームを、第1実施例と同様に、ログとして不揮発メモリに保存してもよい。メッセージ出力部124は、CAN24が空いた場合等、通報フレームの送信が可能になった場合に、不揮発メモリに保存された通報フレームを読み出し、通報フレームをCAN24へ出力してもよい。
車両10が複数種類の通信網に接続されるケースを説明する。例えば、車両10は、複数の通信装置を備えてもよく、例えば、IVI装置16、TCU(Telematics. Communication Unit)(不図示)、緊急通信ユニット(不図示)を備えてもよい。IVI装置16は、WiFi(登録商標)に接続されてもよい。また、TCUは、4G/LTE(Long Term Evolution)(登録商標)ネットワークに接続されてもよい。また、緊急通信ユニットは、3Gネットワークに接続されてもよい。上述に挙げた通信網および各装置との組合せは一例であり、その他にも組み合わせることが可能であることは、当業者にとっては理解されよう。
このような車両10において、通報の優先度が高の場合、緊急通信ユニットを使用して通報処理を実行してもよい。また、通報の優先度が中の場合、TCUを使用して通報処理を実行してもよい。また、通報の優先度が低の場合、IVI装置16を使用して通報処理を実行してもよい。あるいは、通報の優先度が低の場合、複数種類の通信網のうち空いている通信網を選択して通報処理を実行してもよい。その一方、通報の優先度が高の場合、他の通信による高速な通信網の使用を中止させ、その高速な通信網を使用して通報処理を実行してもよい。上述に挙げた優先度の設定および各処理との組合せは一例であり、その他にも組み合わせることが可能であることは、当業者にとっては理解されよう。
以上の構成によるECU14の動作を説明する。図11は、図8のECU14の動作を示すフローチャートである。フレーム受信部30は、CAN24からフレームを受信する(S70)。MAC検証部34は、受信された対象フレームに対するMAC検証を実行して、対象フレームが正当か不正かを判定する(S72)。振る舞い検証部36は、受信された対象フレームに対する振る舞い検証を実行して、対象フレームが正当か不正かを判定する(S74)。
MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S76のY)、通報部114のメッセージ出力部124は、対象フレームをコマンド実行部56に渡す。コマンド実行部56は、対象フレームで指定されたコマンドにしたがいデータ処理を実行する(S78)。
また、MAC検証と振る舞い検証の両方で対象フレームが正当と判定される状態が継続する場合、メッセージ生成部122は、車両10のセキュリティ状態が正常であることを示すフレームを定期的に生成する。メッセージ出力部124は、当該フレームを車両監視サーバ100へ送信する。
MAC検証と振る舞い検証の少なくとも一方で対象フレームが不正と判定された場合(S76のN)、通報部114の解析部120は、対象フレームの不正検出パターンとして、図10の7つのパターンの中から1つのパターンを特定する(S80)。メッセージ生成部122は、特定された対象フレームの不正検出パターンにしたがって、車両監視サーバ100へ通報するメッセージと、通報の優先度を設定する(S82)。メッセージ出力部124は、メッセージ生成部122により生成されたメッセージを含む通報フレームを、メッセージ生成部122により設定された優先度にしたがって車両監視サーバ100へ送信する(S84)。このように、通報部114は、不正が検出されたフレームごとに、その不正検出パターンに応じて、通報フレームの内容および優先度を変更する。
対象フレームの不正検出パターンがパターン1または5の場合(優先度高)、車両10の通信部(不図示)は、自動運転のためのダイナミックマップのダウンロードおよびアップロード(以下「他の通信」と呼ぶ。)より優先して通報フレームを処理し、通報フレームを車両監視サーバ100へ送信してもよい。また、対象フレームの不正検出パターンがパターン6の場合、上記通信部は、他の通信と同程度の優先度(例えば早い者勝ち)で通報フレームを処理してもよい。また、対象フレームの不正検出パターンがパターン2〜4の場合、上記通信部は、他の通信を処理中であれば、通報フレームの処理を後回しにしてもよい。
第2実施例のECU14によると、車両10(言い換えれば車載ネットワークシステム12内の各装置)のセキュリティ状態に応じた適切なタイミングで、かつ、適切な内容を車両監視サーバ100へ通報することができる。
以上、本発明を第2実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
第1変形例を説明する。本変形例は、第1実施例の第1変形例に対応する。振る舞い検証部36は、対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて、振る舞い検証の結果を導出する。振る舞い検証部36は、振る舞い検証の結果とともに、複数の中間判定の結果を通報部114へ出力する。メッセージ生成部122は、複数の中間判定結果の中にルールに不適合であることを示す結果が存在する場合、複数の中間判定結果を含む通報フレームを生成する。メッセージ出力部124は、上記の通報フレームを車両監視サーバ100へ送信する。また、メッセージ生成部122は、ルールに不適合であることを示す中間判定結果の数に応じて、通報の優先度を変更する。
具体例として、振る舞い検証部36は、1つの対象フレームのデータを、複数の検知パラメータA〜Eのそれぞれで評価し、各検知パラメータによる中間判定結果(ルールに適合するか否かの判定結果)を生成してもよい。振る舞い検証部36は、複数の中間判定結果のうちNGとなった中間判定結果の個数が3以上であれば、対象フレームの最終判定結果を不正としてもよい。NGとは、例えば、判定対象フレームのデータが、個々の中間判定のルールに不適合であることを含む。
1)フレーム単位での通報処理を説明する。メッセージ生成部122は、複数の中間判定結果の中にルール不適合を示す結果が1つ以上存在する場合、全ての中間判定結果を含む通報フレームを生成してもよい。中間判定結果は、中間判定で使用されたパラメータの情報を含んでよく、また、中間判定で正否が判定されたフレームのデータを含んでもよい。また、メッセージ生成部122は、中間判定結果がNGになった数に応じて、車両監視サーバ100への通報の優先度を変更してもよい。例えば、5つの中間判定が行われる場合、中間判定結果のNG数が1または2であれば実施例の優先度低を設定してもよい。また、中間判定結果のNG数が3または4であれば実施例の優先度中を設定し、中間判定結果のNG数が5であれば優先度高を設定してもよい。
次に、2)コマンド単位での通報処理を説明する。メッセージ生成部122は、コマンドIDごと(もしくはフレームIDごと)に、振る舞い検証部36による中間判定結果のNG数の累計値(ここでは「コマンド別中間NG累計数」と呼ぶ。)を記憶してもよい。メッセージ生成部122は、コマンド別中間NG累計数が第1閾値(例えば20回)を超えた場合に、コマンド別中間NG累計数が第1閾値を超えた旨の情報とコマンドIDとを含む通報フレームを生成し、通報の優先度を低に設定してもよい。また、メッセージ生成部122は、コマンド別中間NG累計数が第2閾値(例えば40回)を超えた場合に、コマンド別中間NG累計数が第2閾値を超えた旨の情報とコマンドIDとを含む通報フレームを生成し、通報の優先度を中に設定してもよい。
次に、3)車両10全体としての通報処理を説明する。メッセージ生成部122は、コマンドIDに関係なく、複数のコマンド(複数の対象フレーム)について振る舞い検証部36から入力された中間判定結果のNG数の累計値(ここでは「全体中間NG累計数」と呼ぶ。)を記憶してもよい。メッセージ生成部122は、全体中間NG累計数が第1閾値(例えば100回)を超えた場合に、全体中間NG累計数が第1閾値を超えた旨の情報を含む通報フレームを生成し、通報の優先度を低に設定してもよい。また、メッセージ生成部122は、全体中間NG累計数が第2閾値(例えば200回)を超えた場合に、全体中間NG累計数が第2閾値を超えた旨の情報を含む通報フレームを生成し、通報の優先度を中に設定してもよい。
第2変形例を説明する。第1実施例の任意の構成要素と第2実施例の任意の構成要素の組み合わせが可能である。例えば、第1実施例に記載したように、車両10のCGW20は、MAC検証および振る舞い検証により不正と判定したフレームを破棄または無効化する機能を備えてもよい。上記第2実施例では、ECU14の構成情報記憶部48は、コマンドIDと、そのコマンドを送信するECU−IDとを対応付けた構成情報を記憶する。変形例として、構成情報記憶部48は、自機とは異なるCAN24のバスに接続されたECUが送信するコマンドについて、そのコマンドIDとCGW20のIDとを対応付けた構成情報を記憶してもよい。この理由は、自機とは異なるCAN24のバスに接続されたECUから送信されるフレームは、CGW20により中継されるからである。
第2変形例の解析部120は、対象フレームの不正検出パターンがパターン1またはパターン3であり、かつ、その対象フレームがCGW20を経由して受信されたものである場合、乗っ取られた可能性があるECUとして、CGW20のIDを特定する。具体的には、構成情報記憶部48の構成情報は、当該対象フレームに含まれるコマンドIDとCGW20のIDとを対応付けている。解析部120は、その構成情報を参照することにより、対象フレームがCGW20を経由して受信されたものである場合、CGW20のIDを特定する。メッセージ生成部122は、CGW20が乗っ取られた可能性があることを示す通報フレームを生成する。
既述したように、CGW20が正常に動作していれば、不正フレームを破棄または無効化する。そのため、CGW20により中継されたフレームの不正がECU14で検出された場合、CGW20の動作が異常であり、乗っ取られた可能性がある。本変形例の態様によると、CGW20の異常を精度よく検出して、車両監視サーバ100へ通報することができる。なお、第2変形例の構成は、CMI22に監視モジュールが導入される場合も適用可能である。
第2実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
通信網からフレームを受信する受信部と、
前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
を備える監視装置。
この監視装置によると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
[項目2]
前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定する、
項目1に記載の監視装置。
この態様によると、メッセージ認証の鍵が漏洩している危険がある場合に、外部装置への通報を迅速に実行することができる。
[項目3]
前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定する、
項目1または2に記載の監視装置。
この態様によると、第1判定と第2判定のいずれでも判定対象フレームが不正と判定された場合、不正フレームによる被害は回避できているため、他の通信を阻害してしまうことを抑制した通報を実現できる。
[項目4]
前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より低い優先度であり、かつ、前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より高い優先度に設定する、
項目1から3のいずれかに記載の監視装置。
この態様によると、第1判定により不正が検出されることで、不正フレームによる被害は回避できているが、第2判定のルールが不完全である可能性があるため、中程度の優先度での通報を実現できる。
[項目5]
前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および前記判定対象フレームの送信元装置の情報を通報する、
項目1または2に記載の監視装置。
この態様によると、不正が検出されたコマンドに加えて、乗っ取られた可能性があるECUの情報を外部装置へ通報することにより、外部装置側での適切なデータ処理を支援することができる。
[項目6]
前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合であって、かつ、前記判定対象フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
項目1または2に記載の監視装置。
この態様によると、不正なフレームが外部から注入されたことを検出して、適切な内容を通報することができる。
[項目7]
前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
項目1から3のいずれかに記載の監視装置。
この態様によると、監視装置では判定対象フレームの不正を正しく検知できているため、通報内容を不正が検出されたコマンドの情報に抑えることで、通信トラフィックの増加を抑制することができる。
[項目8]
前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および当該コマンドに関連する他のコマンドの情報を通報する、
項目1から4のいずれかに記載の監視装置。
この態様によると、ルールが不完全である可能性がある場合に、ルールの改善を支援することができる。
[項目9]
前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値に整合する場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報および前記フレームの送信元装置の情報を通報する、
項目1から4のいずれかに記載の監視装置。
この態様によると、メッセージ認証用の鍵を有しない電子機器が乗っ取られたことを検出して、適切な優先度で適切な内容を通報することができる。
[項目10]
前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報を通報する、
項目1から4のいずれかに記載の監視装置。
この態様によると、メッセージ認証用のコードを持たないフレームであり、不正なフレームが外部から注入されたことを検出して、適切な優先度で適切な内容を通報することができる。
[項目11]
前記処理部は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて前記第2判定の結果を導出し、
前記処理部は、前記複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、前記複数の中間判定の結果を外部装置へ通報し、前記ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更する、
項目1から10のいずれかに記載の監視装置。
この監視装置によると、振る舞い検証によるセキュリティの強度を高めることができる。
[項目12]
通信網からフレームを受信し、
前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する、
ことをコンピュータが実行する監視方法。
この監視方法によると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
[項目13]
通信網からフレームを受信し、
前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
10 車両、 12 車載ネットワークシステム、 14 ECU、 24 CAN、 30 フレーム受信部、 100 車両監視サーバ、 110 処理部、 114 通報部、 120 解析部、 122 メッセージ生成部、 124 メッセージ出力部。

Claims (22)

  1. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定する、
    監視装置。
  2. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定する、
    監視装置。
  3. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より低い優先度であり、かつ、前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より高い優先度に設定する、
    監視装置。
  4. 前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および前記判定対象フレームの送信元装置の情報を通報する、
    請求項1に記載の監視装置。
  5. 前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合であって、かつ、前記判定対象フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
    請求項1に記載の監視装置。
  6. 前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
    請求項1または2に記載の監視装置。
  7. 前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および当該コマンドに関連する他のコマンドの情報を通報する、
    請求項1からのいずれかに記載の監視装置。
  8. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値に整合する場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報および前記フレームの送信元装置の情報を通報する、
    監視装置。
  9. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報を通報する、
    監視装置。
  10. 通信網からフレームを受信する受信部と、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理部と、
    を備え
    前記処理部は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて前記第2判定の結果を導出し、
    前記処理部は、前記複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、前記複数の中間判定の結果を外部装置へ通報し、前記ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更する、
    監視装置。
  11. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定する処理を含む、
    監視方法。
  12. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定する処理を含む、
    監視方法。
  13. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より低い優先度であり、かつ、前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より高い優先度に設定する処理を含む、
    監視方法。
  14. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値に整合する場合、前記処理は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報および前記フレームの送信元装置の情報を通報する処理を含む、
    監視方法。
  15. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報を通報する処理を含む、
    監視方法。
  16. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理
    コンピュータが実行し、
    前記処理は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて前記第2判定の結果を導出する処理を含み、
    前記処理は、前記複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、前記複数の中間判定の結果を外部装置へ通報し、前記ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更する処理をさらに含む、
    監視方法。
  17. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定する処理を含む、
    コンピュータプログラム。
  18. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定する処理を含む、
    コンピュータプログラム。
  19. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理は、前記判定対象フレームに関する情報を通報する優先度を、前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より低い優先度であり、かつ、前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より高い優先度に設定する処理を含む、
    コンピュータプログラム。
  20. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値に整合する場合、前記処理は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報および前記フレームの送信元装置の情報を通報する処理を含む、
    コンピュータプログラム。
  21. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報を通報する処理を含む、
    コンピュータプログラム。
  22. 通信網からフレームを受信し、
    前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
    前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
    前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する処理、
    コンピュータに実行させ
    前記処理は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて前記第2判定の結果を導出する処理を含み、
    前記処理は、前記複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、前記複数の中間判定の結果を外部装置へ通報し、前記ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更する処理をさらに含む、
    コンピュータプログラム。
JP2017056570A 2017-01-18 2017-03-22 監視装置、監視方法およびコンピュータプログラム Active JP6846706B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017056570A JP6846706B2 (ja) 2017-03-22 2017-03-22 監視装置、監視方法およびコンピュータプログラム
PCT/JP2017/040173 WO2018135098A1 (ja) 2017-01-18 2017-11-08 監視装置、監視方法およびコンピュータプログラム
DE112017006854.1T DE112017006854T5 (de) 2017-01-18 2017-11-08 Überwachungsvorrichtung, Überwachungsverfahren und Computerprogramm
US16/505,628 US10986093B2 (en) 2017-01-18 2019-07-08 Monitoring device, monitoring method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017056570A JP6846706B2 (ja) 2017-03-22 2017-03-22 監視装置、監視方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018160786A JP2018160786A (ja) 2018-10-11
JP6846706B2 true JP6846706B2 (ja) 2021-03-24

Family

ID=63795733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017056570A Active JP6846706B2 (ja) 2017-01-18 2017-03-22 監視装置、監視方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6846706B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7149888B2 (ja) * 2018-10-17 2022-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
WO2020079896A1 (ja) * 2018-10-17 2020-04-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
WO2020105657A1 (ja) * 2018-11-22 2020-05-28 株式会社オートネットワーク技術研究所 車載中継装置及び中継方法
JP7433323B2 (ja) 2019-01-10 2024-02-19 シグニファイ ホールディング ビー ヴィ 照明ネットワークのセキュアな動作を提供する方法
JP6997124B2 (ja) * 2019-03-04 2022-01-17 三菱電機株式会社 通信監視装置
JP2021005821A (ja) 2019-06-27 2021-01-14 矢崎総業株式会社 異常検出装置
NZ786912A (en) * 2019-09-25 2022-08-26 Shift5 Inc Passive monitoring and prevention of unauthorized firmware or software upgrades between computing devices
JP7361303B2 (ja) * 2019-11-20 2023-10-16 パナソニックIpマネジメント株式会社 車両診断装置、車両診断システム及び移動体診断装置
JP7283427B2 (ja) 2020-03-25 2023-05-30 トヨタ自動車株式会社 車両制御システム、攻撃判定方法及びプログラム
CN117677540A (zh) * 2021-07-21 2024-03-08 日产自动车株式会社 异常探测装置、安全***以及异常通知方法
CN114545893A (zh) * 2021-11-30 2022-05-27 深圳元戎启行科技有限公司 线控帧检测方法、自动驾驶平台以及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358774A (ja) * 2000-06-13 2001-12-26 Mitsubishi Electric Corp データ不正流出防止方法および装置
JP2005343430A (ja) * 2004-06-07 2005-12-15 Denso Corp 車両制御システム
JP6126980B2 (ja) * 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
CN111181732A (zh) * 2014-05-08 2020-05-19 松下电器(美国)知识产权公司 车载网络***、电子控制单元及不正常检测方法

Also Published As

Publication number Publication date
JP2018160786A (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6846706B2 (ja) 監視装置、監視方法およびコンピュータプログラム
WO2018135098A1 (ja) 監視装置、監視方法およびコンピュータプログラム
JP6782444B2 (ja) 監視装置、監視方法およびコンピュータプログラム
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
JP6685023B2 (ja) 電子制御装置、通信方法およびプログラム
KR102524204B1 (ko) 차량용 네트워크의 침입 대응 장치 및 방법
US10298612B2 (en) System and method for time based anomaly detection in an in-vehicle communication network
US11848947B2 (en) System and method for providing security to in-vehicle network
JP6807906B2 (ja) 車両へのコンピュータ攻撃を阻止するためのルールを生成するシステムおよび方法
JP6762347B2 (ja) 交通手段に対するコンピュータ攻撃を阻止するためのシステムおよび方法
US20190182267A1 (en) Vehicle security manager
JP6723955B2 (ja) 情報処理装置及び異常対処方法
US11729183B2 (en) System and method for providing secure in-vehicle network
WO2021131193A1 (ja) 攻撃監視用センター装置、及び攻撃監視用端末装置
JP7024069B2 (ja) 車両の制御機器に対する攻撃を検出する方法
JP7439669B2 (ja) ログ分析装置
US12039050B2 (en) Information processing device
KR102204656B1 (ko) 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템
JP7466819B2 (ja) 管理装置、管理方法及びプログラム
US20230267204A1 (en) Mitigating a vehicle software manipulation
JP7408033B2 (ja) 車載制御装置
JP6108251B2 (ja) 受信装置、及び受信方法
CN111066001B (zh) 日志输出方法、日志输出装置以及存储介质

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210216

R151 Written notification of patent or utility model registration

Ref document number: 6846706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03