JP2023096727A - 車載装置、プログラム及び、情報処理方法 - Google Patents

車載装置、プログラム及び、情報処理方法 Download PDF

Info

Publication number
JP2023096727A
JP2023096727A JP2021212667A JP2021212667A JP2023096727A JP 2023096727 A JP2023096727 A JP 2023096727A JP 2021212667 A JP2021212667 A JP 2021212667A JP 2021212667 A JP2021212667 A JP 2021212667A JP 2023096727 A JP2023096727 A JP 2023096727A
Authority
JP
Japan
Prior art keywords
transmission data
vehicle
time
database
vehicle device
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.)
Pending
Application number
JP2021212667A
Other languages
English (en)
Inventor
亮 倉地
Ryo Kuramochi
広章 高田
Hiroaki Takada
浩史 上田
Hiroshi Ueda
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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Tokai National Higher Education and Research System NUC
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Tokai National Higher Education and Research System NUC
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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd, Tokai National Higher Education and Research System NUC filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2021212667A priority Critical patent/JP2023096727A/ja
Priority to PCT/JP2022/045756 priority patent/WO2023127477A1/ja
Priority to CN202280084113.7A priority patent/CN118355632A/zh
Publication of JP2023096727A publication Critical patent/JP2023096727A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)

Abstract

Figure 2023096727000001
【課題】車載ECUから送信されるデータを、当該データの受信時点等の経時的要素と関連付けて保存等し、当該経時的要素が関連付けられたデータを用いて、車載ECUから送信されるデータに関する処理を効率的に行うことができる車載装置等を提供する。
【解決手段】車載装置は、車両に搭載される車載ECUと通信可能に接続される車載装置であって、前記車載ECUから送信される送信データに関する処理を行う制御部を備え、前記制御部は、前記車載ECUから送信される送信データを受信し、受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、前記時系列データベースに登録された送信データから、異常な送信データを特定し、特定した異常な送信データに関する情報を、異常履歴データベースに登録する。
【選択図】図1

Description

本発明は、車載装置、プログラム及び、情報処理方法に関する。
従来、車両に搭載されたECU(Electronic Control Unit)等の複数の装置間で行われる通信に用いられる通信プロトコルには、CAN(Controller Area Network)の通信プロトコルが広く採用されていた。
特許文献1においては、車両のCANに接続され、装置診断コマンドにより車載機器に動作を実行させて、この車載機器が送信する状態応答データを取り込み、車載機器の動作状態を判断する検知・制御統合装置が提案されている。
特開2009-220800号公報
しかしながら、特許文献1の検知・制御統合装置は、車載ECU(Electronic Control Unit)から送信されるCAN(Controller Area Network)メッセージ等のデータを、当該データの受信時点等の経時的要素と関連付けて保存及び管理等を行う点が、考慮されていないという問題点がある。
本開示の目的は、車載ECUから送信されるデータを、当該データの受信時点等の経時的要素と関連付けて保存等し、当該経時的要素が関連付けられたデータを用いて、車載ECUから送信されるデータに関する処理を効率的に行うことができる車載装置等を提供する。
本開示の一態様に係る車載装置は、車両に搭載される車載ECUと通信可能に接続される車載装置であって、前記車載ECUから送信される送信データに関する処理を行う制御部を備え、前記制御部は、前記車載ECUから送信される送信データを受信し、受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、前記時系列データベースに登録された送信データから、異常な送信データを特定し、特定した異常な送信データに関する情報を、異常履歴データベースに登録する。
本開示の一態様によれば、車載ECUから送信されるデータを、当該データの受信時点等の経時的要素と関連付けて保存等し、当該経時的要素が関連付けられたデータを用いて、車載ECUから送信されるデータに関する処理を効率的に行う車載装置等を提供することができる。
実施形態1に係る車載装置を含む車載システムの構成を例示する模式図である。 車載装置の物理構成を例示するブロック図である。 車載装置の記憶部に記憶される各種データベースを例示した説明図(ER図)である。 時系列データベース(CANメッセージ用テーブル)を例示した説明図である。 時系列データベース(IPパケット用テーブル)を例示した説明図である。 異常履歴データベースを例示した説明図である。 攻撃検出データベースを例示した説明図である。 車載装置の制御部に含まれる機能部を例示する機能ブロック図である。 攻撃検出の態様を例示した説明図である。 車載装置の制御部の処理を例示するフローチャートである。
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る車載装置は、車両に搭載される車載ECUと通信可能に接続される車載装置であって、前記車載ECUから送信される送信データに関する処理を行う制御部を備え、前記制御部は、前記車載ECUから送信される送信データを受信し、受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、前記時系列データベースに登録された送信データから、異常な送信データを特定し、特定した異常な送信データに関する情報を、異常履歴データベースに登録する。
本態様にあたっては、車載装置の制御部は、車載ECUからの送信データを、当該送信データの受信時点と関連付けて、当該車載装置が備える記憶部等、アクセス可能な処理の記憶領域に記憶されている時系列データベースに登録する。これにより、当該車載装置が備える時系列データベースに、車載装置が受信した複数の送信データそれぞれを、受信時点等の経時的要素を関連付けて時系列に登録することができ、当該経時的要素が関連付けられた複数の送信データに対し、種々の観点からの検索及び分析処理等を行うことができる。車載装置の制御部は、当該検索及び分析処理等の一環として、時系列データベースに登録された送信データから特定した異常な送信データに関する情報(異常情報)を、異常履歴データベースに登録する。これにより、異常履歴データベースに登録された異常情報に対し、種々の観点からの検索及び分析処理等を行うことができる。このように受信した送信データを保存管理する時系列データベースと、当該受信した送信データの内の異常な送信データを保存管理する異常履歴データベースとを別データベース化することにより、これらデータベース同士における正規化を行い、個々のデータベースに特性に応じた好適化を図ることができる。
(2)本開示の一態様に係る車載装置は、前記制御部は、前記車載ECUから受信した送信データが正常であるか否かを判定し、正常と判定した送信データを前記時系列データベースに登録し、異常と判定した送信データを前記異常履歴データベースに登録する。
本態様にあたっては、車載装置の制御部は、車載ECUから送信データを受信(取得)した都度、当該送信データが正常であるか否かを判定し、正常な送信データは時系列データベースに登録し、異常な送信データは異常履歴データベースに登録する。このように、単一の送信データに基づき行うことができる正否判定を、これらデータベースに登録する前処理として実行し、当該正否判定の結果に応じて、時系列データベース又は異常履歴データベースのいずれかに登録することができる。これにより、時系列データベース及び異常履歴データベースの双方にて重複して登録されるデータ量を削減し、これらデータベースが記憶される記憶部における空き容量が逼迫することを抑制することができる。
(3)本開示の一態様に係る車載装置は、前記制御部は、前記車載ECUから受信した送信データが、予め定められた正常データリストに含まれる場合、該送信データは正常であると判定する。
本態様にあたっては、車載装置の記憶部には、正常な送信データを示す情報が列挙された正常データリストが記憶されており、車載装置の制御部は、正常データリストを参照し、受信した送信データが当該正常データリストに含まれている場合、送信データは正常であると判定する。正常データリストにて列挙されている情報(正常な送信データを示す情報)は、CANにおいては、例えばCAN-ID(メッセージID)、ペイロードに含まれる値の範囲等となる。TCP/IPにおいては、例えばポート番号、送信元アドレス、又は送信先アドレス等を含むものであり、このような情報が列挙されている正常データリストは、正常な送信データを特定するためのホワイトリストに相当する。車載装置の制御部は、当該正常データリスト(ホワイトリスト)を参照することにより、受信した送信データが正常であるか否かを効率的に判定することができる。
(4)本開示の一態様に係る車載装置は、前記制御部は、前記車載ECUから受信した送信データに含まれる認証コード、検査コード、及びフォームの少なくとも1つにおいてエラーを検知した場合、該送信データは異常であると判定する。
本態様にあたっては、車載装置の制御部は、MAC(Message Authentication Code)等の認証コード、CRC(Cyclic Redundancy Check)等の検査コード、又はフォーム(ビット数が固定されたフィールドへの不正なビットの挿入)に対するエラーの検知結果に基づき、送信データが異常であるか否かを判定するため、正否判定を効率的に行うことができる。
(5)本開示の一態様に係る車載装置は、前記制御部は、前記時系列データベースに対し、所定の検索式を用いて複数の送信データを抽出し、複数の送信データの抽出結果に基づいて、異常な送信データを特定する。
本態様にあたっては、車載装置の記憶部には、時系列データベースに対し用いられる検索式(時系列データベース用検索式)が、例えばSQL(structured query language)等のクエリ記述言語を用いて定義されたクエリ定義ファイルとして記憶されている。車載装置の制御部は、当該クエリ定義ファイルを参照し、当該クエリ定義ファイルに記載されている検索式(クエリ)を用いて、時系列データベースに対し処理命令を行うことにより、異常な送信データを特定するにあたり必要な複数の送信データを効率的に抽出(検索)することができる。時系列データベースに対するクエリ定義ファイルを用いることにより、車載装置の制御部が実行する制御プログラムの本体となる実行ファイル(exeファイル)とは分離して、クエリ定義ファイルを保存及び適用することができ、当該クエリ定義ファイルは、実行ファイルから呼び出されるものとなる。これにより、実行ファイル自体の更新処理(リプログラミング)を行うことなく、クエリ定義ファイルを変更又は更新することにより、時系列データベースに対する検索処理を可変させることができ、当該時系列データベースにおける可用性を向上させることができる。車載装置の記憶部に記憶される時系列データベース用のクエリ定義ファイルは、一つである場合に限定されず、複数のクエリ定義ファイルが記憶されるものであってもよい。これら複数のクエリ定義ファイルには、例えば、車両の状態(走行状態、停車状態、停止状態等)に対応した異なる検索式(クエリ)が定義(記載)されており、車載装置の制御部は、当該車両の状態に応じて、いずれかのクエリ定義ファイルを選択する。そして、車載装置の制御部は、選択したクエリ定義ファイルを用いて、時系列データベースから異常な送信データを特定(抽出)するものであってもよい。このように時系列データベースに対しクエリ定義ファイルを用いることにより、時系列データベースに対する処理の柔軟性を担保し、当該時系列データベースを用いて、異常な送信データを効率的に特定(抽出)することができる。
(6)本開示の一態様に係る車載装置は、前記制御部は、前記時系列データベース用の検索式を用いた送信データの抽出処理を周期的に行い、前記周期は、前記車載ECUから送信される送信データの受信頻度よりも長い。
本態様にあたっては、車載装置の制御部は、時系列データベース用の検索式を用いた送信データの抽出処理を周期的に行うため、当該周期的に行われた抽出結果に応じて、異常履歴データベースへの登録を周期的に行うことができる。これにより、異常履歴データベースにて登録されているデータの鮮度を担保することができる。抽出処理の周期は、送信データの受信頻度よりも長い期間に設定されているため、一周期の期間にて受信された複数の送信データに対する処理を行うことができ、過度な抽出処理が行われることによって制御部の処理負荷が増加することを抑制することができる。
(7)本開示の一態様に係る車載装置は、前記時系列データベース用の検索式は、送信データの受信時点を含む期間において、連関する複数の送信データにおける送信頻度、及びペイロードに含まれる内容の変化度の少なくとも1つに関する検索条件を含む。
本態様にあたっては、時系列データベース用の検索式(クエリ定義ファイル)は、送信データの受信時点を含む期間における、連関する複数の送信データにおける送信頻度、又はペイロードに含まれる内容の変化度に関する検索条件を含むため、当該時系列データベースを用いて、異常な送信データを効率的に特定(抽出)することができる。
(8)本開示の一態様に係る車載装置は、前記制御部は、前記時系列データベース及び異常履歴データベースに登録した情報に基づき、レポート情報を生成し、生成したレポート情報を、車外の外部サーバに出力する。
本態様にあたっては、車載装置の制御部は、時系列データベース及び異常履歴データベースに登録した情報に基づき生成したレポート情報を、例えば、SOC(Security Operation Center)サーバ等の外部サーバに出力する。当該レポート情報は、例えば、一日単位での時系列データベース及び異常履歴データベースにおけるデータ種別毎の登録件数、異常な送信データに関する傾向等のサマリー情報を含む、ディリーレポートであってもよい。車載装置の制御部は、生成したレポート情報(ディリーレポート)をSOCサーバ等に出力することにより、当該SOCサーバを所管又は運用管理するSOCに対し、車載セキュリティ向上を図るための有益な情報を定期的に提供することができる。車載装置の制御部は、当該レポート情報に併せて、当該レポート情報の元データを時系列データベース及び異常履歴データベースから抽出し、抽出した元データをアーカイブ化したアーカイブデータをSOCサーバ等の外部サーバに出力するものであってもよい。これにより、これら時系列データベース及び異常履歴データベースのデュプリケーションDBをSOCサーバにて構築することができる。
(9)本開示の一態様に係る車載装置は、前記制御部は、前記異常履歴データベースに登録された異常な送信データから、攻撃性を有する送信データを特定し、特定した攻撃性を有する送信データに関する情報を、攻撃検出データベースに登録する。
本態様にあたっては、車載装置の制御部は、異常履歴データベースを用いた検索及び分析処理等の一環として、当該異常履歴データベースに登録された異常情報(異常な送信データに関する情報)から特定した攻撃性を有する送信データに関する情報(攻撃情報)を、攻撃検出データベースに登録する。これにより、異常な送信データであって、更に攻撃性を有する送信データのみを保存する攻撃検出データベースを構成することができ、当該攻撃検出データベースを用いて種々の観点からの検索及び分析処理等を行うことができ、攻撃検出データベースは、攻撃性を有する送信データに関する情報をリスト化したブラックリストに相当する。このように時系列データベース、異常履歴データベース、及び、攻撃性を有する送信データのみを保存する攻撃検出データベースを別データベース化することにより、これらデータベース同士における正規化を行い、個々のデータベースに特性に応じた好適化を図ることができる。
(10)本開示の一態様に係る車載装置は、前記制御部は、前記異常履歴データベースに対し、前記時系列データベース用の検索式に含まれる複数の検索条件の組み合わせにより構成される検索式を用いて、攻撃性を有する送信データを特定する。
本態様にあたっては、車載装置の制御部は、時系列データベース用の検索式に含まれる複数の検索条件を組み合わせて構成した検索式を、異常履歴データベースに対して用いる。すなわち、時系列データベース用の検索式に含まれる複数の検索条件の内、例えば、送信頻度が所定値以上とする検索条件、及びペイロードの内容の変化度が所定値以上(急激な変化)とする検索条件を組み合わせたアンド条件にて、異常履歴データベース用の検索式(クエリ定義ファイル)を生成するものであってもよい。このように生成した異常履歴データベース用の検索式を用いることにより、異常履歴データベースから攻撃性を有する送信データを効率的に抽出(検索)し、特定することができる。車載装置の制御部は、これら抽出(検索)した攻撃性を有する複数の送信データに基づき、当該攻撃の種類を特定し、攻撃性を有する送信データに関する情報に、特定した攻撃の種類を含めて、攻撃検出データベース(ブラックリスト)に登録するものであってもよい。攻撃性を有する送信データに関する情報に攻撃の種類を含めて、攻撃検出データベースに登録することにより、当該攻撃検出データベースに登録されたデータの再利用性を向上させることができる。
(11)本開示の一態様に係る車載装置は、前記制御部は、特定した攻撃性を有する送信データへの対応処置を実施し、実施した対応処置の関する情報を、攻撃性を有する送信データに関連付けて、前記攻撃検出データベースに登録する。
本態様にあたっては、車載装置の制御部は、攻撃性を有する送信データにおける攻撃の種類に基づき、例えば、MAC生成鍵の入れ替え、使用するCANーIDの変更、冗長回路を用いた中継経路の変更、又は縮退運転モードへの遷移等、適切な対応処置を選択し、当該対応処置を実施する。又は、対応処置は、攻撃検出データベースに登録した情報(ブラックリスト)をブロードキャストすることにより、車両に搭載される全ての車載ECUに対し、送信するものであってもよい。車載装置の制御部による当該対応処置の実施は、車載装置自身が直接的に行う処置に限定されず、車載装置が、例えばヴィークルコンピュータ等にて構成され、車両全体の制御を行う統合ECUに、対応処置の実行指示を送信する処理を含むものであってもよい。この場合、車載装置からの実行指示を受信した統合ECUは、中継経路の変更等の対応処置を実施する。車載装置の制御部は、異常履歴データベースを用いて特定した攻撃性を有する送信データに対し、対応処置を実施するため、当該攻撃による影響を緩和することができる。車載装置の制御部は、実施した対応処置の関する情報を、攻撃性を有する送信データに関連付けて攻撃検出データベースに登録するため、当該攻撃検出データベースに登録されたデータの再利用性を向上させることができる。
(12)本開示の一態様に係る車載装置は、前記制御部は、攻撃検出データベースに登録した情報を、車外の外部サーバに出力する。
本態様にあたっては、車載装置の制御部は、攻撃検出データベースに登録した情報(攻撃情報:攻撃性を有する送信データに関する情報)を、SOCサーバ等の外部サーバに出力するため、当該SOCサーバを所管又は運用管理するSOCに対し、車載セキュリティ向上を図るための有益な情報を定期的に提供することができる。
(13)本開示の一態様に係るプログラムは、車両に搭載される車載ECUと通信可能に接続されるコンピュータに、前記車載ECUから送信される送信データを受信し、受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、前記時系列データベースに登録された送信データから、異常な送信データを特定し、特定した異常な送信データに関する情報を、異常履歴データベースに登録する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECUから送信されるデータを、当該データの受信時点等の経時的要素と関連付けて保存等し、当該経時的要素が関連付けられたデータを用いて、車載ECUから送信されるデータに関する処理を効率的に行う車載装置として機能させることができる。
(14)本開示の一態様に係る情報処理方法は、車両に搭載される車載ECUと通信可能に接続されるコンピュータに、前記車載ECUから送信される送信データを受信し、受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、前記時系列データベースに登録された送信データから、異常な送信データを特定し、特定した異常な送信データに関する情報を、異常履歴データベースに登録する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECUから送信されるデータを、当該データの受信時点等の経時的要素と関連付けて保存等し、当該経時的要素が関連付けられたデータを用いて、車載ECUから送信されるデータに関する処理を効率的に行う車載装置として機能させる情報処理方法を提供することができる。
[本開示の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載装置2を含む車載システムSの構成を例示する模式図である。図2は、車載装置2の物理構成を例示するブロック図である。車載システムSは、車両Cに搭載された車載装置2を主たる装置として構成され、当該車載装置2は、車外通信装置1を介して、インターネット等の車外ネットワークに接続されるSOCサーバS11(Security Operation Center)、又はSIRTサーバS12(Security Incident Response Team)等の外部サーバS1と通信可能に接続される。
車載装置2は、車両Cに搭載される全ての車載ECU6から送信される送信データを受信(取得)し、当該送信データに基づき、車両Cが攻撃者によって攻撃されている否かを検知する侵入検知装置として機能する。車載装置2は、当該侵入検知装置として機能するにあたり、受信した送信データに対する判定レベルに応じた複数のデータベースを備えている。詳細は後述するが、当該複数のデータベースは、時系列データベース41、異常履歴データベース42、及び攻撃検出データベース43を含み、車載装置2は、これらデータベースに登録されたデータを用いて、受信した送信データのうち、異常な送信データ、又は攻撃性を有する送信データを、対応するデータベースに登録する。車載装置2は、攻撃検出データベース43に登録したデータに基づき、攻撃性を有する送信データに対する種々の対応処置を行うものであってもよい。
外部サーバS1は、例えばインターネット又は公衆回線網等の車外ネットワークに接続されているサーバ等のコンピュータであり、SOCサーバS11及びSIRTサーバS12を含む。SOCサーバS11は、SOC(Security Operation Center)によって運用管理されるサーバであり、車両Cにおけるセキュリティ問題に対する分析等を行う組織が所管するサーバである。侵入検知装置として機能する車載装置2は、攻撃性を有する送信データを検出した場合、当該送信データ等を特定したブラックリストを生成し、SOCサーバS11に送信する。SIRTサーバS12は、SIRT(Security Incident Response Team)によって運用管理されるサーバであり、SOCによる分析結果等に基づき、攻撃に対する処置がされたプログラムの開発及び適用等を行う組織が所管するサーバである。SIRTサーバS12は、プログラムの更新処理(リプログラミング)を行う際、更新プログラムを提供するOTA(Over The Air)サーバによるものであってもよい。
侵入検知装置として機能する車載装置2は、攻撃性を有する送信データを検出した場合、当該送信データ等を特定したブラックリストを生成し、SIRTサーバS12についても、送信するものであってもよい。更に車載装置2は、時系列データベース41、及び異常履歴データベース42に登録されているデータについても、SIRTサーバS12等の外部サーバS1に送信するものであってもよい。
車両Cには、車外通信装置1、車載装置2、及び種々の車載機器(アクチュエータ、センサ)を制御するための複数の車載ECU6が、搭載されている。車外通信装置1と車載装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。車載装置2及び車載ECU6は、CAN(Control Area Network)又はEthernet(登録商標)等の通信プロトコルに対応した車載ネットワーク7によって通信可能に接続されている。
車外通信装置1は、車外通信部(図示せず)及び、車載装置2と通信するための入出力I/F(図示せず)(インターフェイス)を含む。車外通信部は、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバS1とデータの送受信を行う。車外通信装置1と外部サーバS1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークを介して行われる。
車載装置2は、侵入検知装置として機能する。当該侵入検知装置として機能する車載装置2は、CANゲートウェイ又はイーサSW(レイヤー2スイッチ又はレイヤー3スイッチ)等の中継装置(GW)として機能するものであってもよい。本実施形態にて図示する車載装置2(GW:中継装置)に、侵入検知装置の機能を実装することにより、車載ネットワーク7に接続される全ての車載ECU6から送信されるデータ(送信データ)を確実に取得することができる。
車載装置2は、通信に関する中継に加え、二次電池等の電源装置から出力された電力を分配及び中継し、自装置(車載装置2)に接続されるアクチュエータ等の車載機器に電力を供給する電力分配装置としても機能するPLB(Power Lan Box)であってもよい。又は、車載装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。又は、車載装置2は、例えばヴィークルコンピュータ等の中央制御装置にて構成され、車両Cの全体的な制御を行う統合ECUであってもよい。すなわち、当該統合ECUは、自身が行う機能の一部として、本実施形態にて説明される侵入検知に関する処理を行うものであってもよい。
車載装置2は、制御部3、記憶部4及び車内通信部5を含む。制御部3は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部4に予め記憶された制御プログラムP(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。
記憶部4は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラムP及び処理時に参照するデータが予め記憶してある。記憶部4に記憶された制御プログラムP(プログラム製品)は、車載装置2が読み取り可能な記録媒体400から読み出された制御プログラムP(プログラム製品)を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムPをダウンロードし、記憶部4に記憶させたものであってもよい。記憶部4には、時系列データベース41、異常履歴データベース42、及び攻撃検出データベース43が記憶されている。更に記憶部4には、これらデータベースに対する検索式(クエリ)が記述(定義)されたクエリ定義ファイルが記憶されている。これらデータベースの詳細については、後述する。
車内通信部5は、例えばCAN(Control Area Network)、CAN-FD(CAN with Flexible Data Rate)又はイーサネット(TCP/IP)等の通信プロトコルを用いた入出力インターフェイスである。車内通信部5は、CANトランシーバにて構成されるCAN通信部51、及びイーサネットPHY部にて構成されるイーサネット通信部52を含み、車載装置2と車載ECU6とが通信するための物理層に対応した通信部として機能する。
車内通信部5は、複数個設けられており、車内通信部5夫々に、車載ネットワーク7を構成する通信線71夫々(イーサネットケーブル711、CANバス712)、すなわちバス夫々が接続されている。このように車内通信部5を複数個設けることにより、車載ネットワーク7を複数個のバス又はセグメントに分け、各バス等に車載ECU6を、当該車載ECU6の機能に応じて接続するものであってもよい。車載装置2の制御部3は、車内通信部5を介して車載ネットワーク7に接続されている車載ECU6と相互に通信する。
図3は、車載装置2の記憶部4に記憶される各種データベースを例示した説明図(ER図)である。車載装置2の記憶部4には、時系列データベース41、異常履歴データベース42、及び攻撃検出データベース43が記憶されており、これらデータベース(DB)は、車載装置2にインストールされた単一又は複数のRDBMS(Relational DataBase Management System)等のデータベース管理ソフトウェアにより構成される。当該RDBMSを用いて時系列データベース41、異常履歴データベース42、及び攻撃検出データベース43を構成することにより、SQL(structured query language)等のクエリ記述言語を用いて、これらデータベースに対する検索処理等の処理命令を行うことができる。
本実施形態においては、時系列データベース41は、例えばTimescaleDB(登録商標)により構成される。異常履歴データベース42及び攻撃検出データベース43、例えばPostgrasql(登録商標)により構成される。当該Postgrasqlにデータを登録(挿入)するにあたり、Fluentd(登録商標)又はEmbulk(登録商標)を用いて、取得した送信データに関するログをフォーマット化するものあってもよい。
時系列データベース41には、車載装置2が受信時に正常と判定した送信データが、当該送信データの受信時点と関連付けられて登録される。異常履歴データベース42には、車載装置2が受信時に異常と判定した送信データが、当該送信データの受信時点と関連付けられて登録される。時系列データベース41には、正常な送信データのみならず、異常な送信データを含む全て送信データが、当該送信データの受信時点と関連付けられて登録されるものであってもよい。
異常履歴データベース42には、時系列データベース41に保存された送信データのうち、当該時系列データベース41に対し実行した検索式(時系列データベース41用検索式)にて、異常として特定された送信データ(異常なデータ)が、登録される。攻撃検出データベース43には、異常履歴データベース42に保存された送信データ(異常なデータ)のうち、当該攻撃検出データベース43に対し実行した検索式(異常履歴データベース42用検索式)にて、攻撃性を有するとして特定された送信データ(攻撃データ)が、登録される。
時系列データベース41と異常履歴データベース42とは、例えば、送信データであるCANメッセージ又はIPパケットを一意に特定するシーケンス番号にて、関連性(リレーション)が設定されている。異常履歴データベース42と攻撃検出データベース43とは、例えば、異常の識別子、及びシーケンス番号等にて、関連性(リレーション)が設定されている。時系列データベース41と攻撃検出データベース43とは、例えば、シーケンス番号にて、関連性(リレーション)が設定されている。
これら3つのデータベースは、別データベース化しつつも、相互に関連性を有して車載装置2の記憶部4に記憶されており、これによりこれらデータベース同士における正規化を行い、個々のデータベースに特性に応じた好適化を図ることができる。本実施形態にて、これら3つのデータベースは、別個のRDBMS等により構成するとしたが、これに限定されず、単一のRDBMSにて構成され、それぞれのデータベースに対応したテーブルによって形成されるものであってもよい。
図4は、時系列データベース41(CANメッセージ用テーブル411)を例示した説明図である。図5は、時系列データベース41(IPパケット用テーブル412)を例示した説明図である。時系列データベース41は、例えば、CANメッセージ用テーブル411及びIPパケット用テーブル412を含み、車載ECU6間にて送受信される送信データの通信プロコトルに応じた異なるテーブルによって構成されるものであってもよい。
CANメッセージ用テーブル411(時系列データベース41)には、車載装置2が受信したCANメッセージに関する情報が登録される。CANメッセージ用テーブル411(時系列データベース41)は、管理項目(フィールド)として、例えば、シーケンス番号、受信時点、フレームタイプ、バスID、セグメントID(送信元ECU)、CANID、DLC、及びペイロードにおけるバイト単位での値を示すd1からd8を含む。
シーケンス番号の管理項目には、受信した送信データを一意に示す管理番号が、格納される。当該管理番号は、例えば、連番等により付与され、主キーとして用いられるものであってもよい。
受信時点の管理項目には、送信データの受信時刻又はタイムスタンプ等、車載装置2が当該送信データを受信した際の経時的要素に関する情報が格納される。
フレームタイプの管理項目には、データフレーム、リモートフレーム、オーバーロードフレーム、及びエラーフレーム等、CANメッセージである送信データのフレームタイプが格納される。
バスIDの管理項目には、送信データを送信した車載ECU6が接続されるCANバス712の番号(バスID)が格納される。当該CANバス712の番号は、CAN通信部51のデバイス番号に対応するものであり、CAN通信部51のデバイス番号を格納するものであってもよい。
セグメントID(送信元ECU)の管理項目には、送信データを送信した車載ECU6を特定するためのECU番号等、送信元ECUを示す識別番号が格納される。このように送信元ECUを示す識別番号を、当該管理項目に格納することにより、どの車載ECU6から送信される送信データ(メッセージ)が異常を頻発しているかを効率的に判定することができる。
CANIDの管理項目には、CANメッセージである送信データのメッセージID(CAN-ID)が格納される。DLCの管理項目には、CANメッセージである送信データにおけるペイロードのデータ長(0から8byte)が格納される。ペイロードにおけるバイト単位での値を示すd1からd8のそれぞれの管理項目には、当該ペイロードに含まれるそれぞれの値が格納される。CANメッセージ用テーブル411が含む管理項目(フィールド)は、上述した項目に限定されず、更にCRC値、及びMAC値を含むものであってもよい。
IPパケット用テーブル412(時系列データベース41)には、車載装置2が受信したIPパケットに関する情報が登録される。IPパケット用テーブル412(時系列データベース41)は、管理項目(フィールド)として、例えば、シーケンス番号、受信時点、パケットタイプ、セグメントID、ポート番号、送信元アドレス、送信先アドレス、及びペイロードを含む。
シーケンス番号の管理項目には、受信した送信データを一意に示す管理番号が、格納される。当該管理番号は、例えば、連番等により付与され、主キーとして用いられるものであってもよい。
受信時点の管理項目には、送信データの受信時刻又はタイムスタンプ等、車載装置2が当該送信データを受信した際の経時的要素に関する情報が格納される。
パケットタイプの管理項目には、TCP、UDP、及びICMP等、IPパケットである送信データのパケットタイプが格納される。
セグメントIDの管理項目には、送信データを送信した車載ECU6が接続されるイーサネットケーブル711のセグメント番号(セグメントID)が格納される。当該セグメントIDは、イーサネット通信部52のデバイス番号に対応するものであり、イーサネット通信部52のデバイス番号を格納するものであってもよい。
ポート番号の管理項目には、IPパケットである送信データのTCPポート番号、又はUDPポート番号等のポート番号が格納される。送信元アドレスの管理項目には、送信データを送信した車載ECU6のIPアドレス(ソースアドレス)が格納される。送信先アドレスの管理項目には、送信データの送信先となる車載ECU6のIPアドレス(デスティネーションアドレス)が格納される。
ペイロードの管理項目には、当該ペイロードに含まれる値又は内容が格納される。IPパケット用テーブル412が含む管理項目(フィールド)は、上述した項目に限定されず、更にCRC値、及びMAC値を含むものであってもよい。
本実施形態において、時系列データベース41はCANメッセージ用テーブル411及びIPパケット用テーブル412により構成されるとしたが、これに限定されず、単一のテーブル(テータベース)にて構成されるものであってもよい。又は、時系列データベース41は、CANメッセージ用テーブル411、又はIPパケット用テーブル412のいずれかのみを含むものであってもよい。
図6は、異常履歴データベース42を例示した説明図である。異常履歴データベース42は、管理項目(フィールド)として、例えば、異常ID、異常分類、異常内容、レコード名、タグ(シーケンス番号)、及び異常発生期間を含む。
異常IDの管理項目には、特定した異常に関する情報(レコード)を一意に示す管理番号が、格納される。当該管理番号は、例えば、連番等により付与され、主キーとして用いられるものであってもよい。
異常分類の管理項目には、転送頻度、シグナル、MAC、CRC、フォーム、及びエラーフレーム等、特定した異常な送信データにおける異常の分類が格納される。
異常内容の管理項目には、異常分類の管理項目に格納された値(異常の分類)に対応する異常内容が格納される。当該異常内容は、例えば、転送頻度が少ない又は多い、シグナル(ペイロードの値)が急激な変化又は固着、MACが異常、CRCが異常、フォームがエラー、及びエラーフレームが多い等、異常分類に対応した種々の内容を含む。
レコード名の管理項目には、異常分類及び異常内容の組み合わせに対応したレコード名が格納される。
タグ(シーケンス番号)の管理項目には、特定した異常な送信データそれぞれを示す1つ以上のシーケンス番号が、格納される。当該シーケンス番号に基づき、時系列データベース41に格納されている送信データを特定することができる。又は、タグ(シーケンス番号)の管理項目には、特定した異常な送信データのCANID、受信時点、及びペイロード等が格納されるものであってもよい。
異常発生期間の管理項目には、特定した異常な送信データによって異常が発生した期間が格納される。特定した異常な送信データが複数個の場合、当該異常が発生した期間は、これら複数の異常な送信データの内、最も古い受信時点から、最も新しい受信時点までとなるものであってもよい。
図7は、攻撃検出データベース43を例示した説明図である。攻撃検出データベース43は、管理項目(フィールド)として、例えば、攻撃ID、バスID、CANID、異常の識別子(異常の分類及び内容)、異常ID、及び攻撃発生期間を含む。
攻撃IDの管理項目には、特定した攻撃に関する情報(レコード)を一意に示す管理番号が、格納される。当該管理番号は、例えば、連番等により付与され、主キーとして用いられるものであってもよい。
バスIDの管理項目には、攻撃性を有する送信データを送信した車載ECU6が接続されるバスID又はセグメントIDが格納される。
CANIDの管理項目には、攻撃性を有する送信データがCANメッセージである場合、当該CANメッセージのメッセージID(CAN-ID)が格納される。攻撃性を有する送信データがIPパケットである場合、当該IPパケットのポート番号が格納されるものであってもよい。又は、攻撃検出データベース43は、ポート番号用の管理項目を含むものであってもよい。
異常の識別子(異常の分類及び内容)の管理項目には、例えば、MACエラー等、攻撃性を有する送信データにおける異常分類及び異常内容が、格納される。異常IDの管理項目には、攻撃性を有する送信データを特定するにあたり、異常履歴データベース42から抽出された異常IDが格納される。当該異常IDを用いて、異常履歴データベース42に登録された異常な送信データを特定することができ、これにより、当該異常な送信データの受信時点及びレコード名等を特定することができる。又は、異常IDの管理項目には、攻撃性を有する送信データを特定するにあたり、異常履歴データベース42から抽出した1つ以上の常な送信データの受信時点及びレコード名等を格納するものであってもよい。
攻撃発生期間の管理項目には、特定した攻撃性を有する送信データによって攻撃が発生した期間が格納される。特定した攻撃性を有する送信データが複数個の場合、当該攻撃が発生した期間は、これら複数の攻撃性を有する送信データの内、最も古い受信時点から、最も新しい受信時点までとなるものであってもよい。
攻撃検出データベース43は、更に特定された攻撃に対し実施された対応処置を格納する管理項目(対応処置)を含むものであってもよい。対応処置の管理項目には、特定された攻撃に応じて実施された対応処置として、例えば、ブラックリストの一斉通知、MAC生成鍵の入れ替え、使用するCANーIDの変更、冗長回路を用いた中継経路の変更、又は縮退運転モードへの遷移等が、格納されるものであってもよい。
このように攻撃検出データベース43には、攻撃性を有する送信データに関する情報がリスト化(ブラックリスト化)されて保存されるものとなり、当該攻撃検出データベース43は、ブラックリストを保存するブラックリストデータベースに相当する。車載装置2の制御部3は、攻撃検出データベース43を参照することにより、攻撃性を有する送信データに関する情報をリスト化したブラックリストを効率的に生成することができる。
図8は、車載装置2の制御部3に含まれる機能部を例示する機能ブロック図である。車載装置2の制御部3は、記憶部4に記憶される制御プログラムPを実行することにより、取得部31、事前検査部32、異常データ特定部33、攻撃データ特定部34、対応処置部35、及び出力部36として機能する。
取得部31は、CAN通信部51、イーサネット通信部52など、各通信プロトコル(CAN、TCP/IP等)に対応した車内通信部5を介して、CANメッセージ、又はIPパケット等の送信データを取得(受信)する。車載装置2が、中継装置として機能を有する場合、車載ネットワーク7を構成する全ての通信線71(イーサネットケーブル711、CANバス712)に流れる送信データを取得(受信)することができる。取得部31は、取得(受信)した送信データに、当該送信データの受信時刻又はタイムスタンプ等の受信時点を関連付けて、事前検査部32に出力する。
事前検査部32は、取得部31からの送信データに対し、当該送信データが正常であるか、異常であるかの判定を行う。事前検査部32は、例えば、予め定められた正常データリストを示すホワイトリストを参照することにより、当該送信データの正否判定を行うものであってもよい。ホワイトリストは、例えば車載装置2の記憶部4等、事前検査部32(制御部3)がアクセス可能な記憶領域に記憶されており、当該ホワイトリストには正常な送信データを示す情報が列挙されている。これら正常な送信データを示す情報は、CANにおいては、例えばCAN-ID(メッセージID)、ペイロードに含まれる値の範囲等あり、TCP/IPにおいては、例えばポート番号、送信元アドレス、又は送信先アドレス等を含む。
事前検査部32は、送信データとホワイトリストとを対比し、当該送信データがホワイトリストに含まれる正常な送信データを示す情報に該当する場合、受信した送信データは正常であると判定し、該当しない場合、送信データは異常であると判定する。事前検査部32は、更に、取得部31からの送信データに含まれる認証コード(MAC)、検査コード(CRC)、及びフォーム(ビット数が固定されたフィールドに不正なビットが含まれている場合にエラーが検出されるフォーム)の少なくとも1つにおいてエラーを検知した場合、該送信データは異常であると判定するものであってもよい。このように事前検査部32は、受信した単一の送信データに対し、各種の正否判定を行い、個々の正否判定結果、又は複数の正否判定結果を組み合わせることにより、当該送信データが正常であるか、異常であるかの判定を行うものであってもよい。
車載装置2がHSM(Hardware Security Module)を備える場合、事前検査部32は、HSMによる処理結果を取得し、又はHSMと協働することにより、MACにおけるエラーの有無を判定するものであってもよい。
事前検査部32は、正常と判定した送信データを、当該送信データの受信時点と関連付けて、時系列データベース41に登録(インサート処理)する。事前検査部32は、送信データの通信プロコトルに応じて、CANメッセージ用テーブル411又はIPパケット用テーブル412に登録するものであってもよい。
事前検査部32は、異常と判定した送信データを、当該送信データの受信時点と関連付けて、異常履歴データベース42に登録(インサート処理)する。事前検査部32は、異常と判定した送信データについても、正常と判定した送信データと同様に時系列データベース41に登録するものであってもよい。
本実施形態においては、時系列データベース41は、例えばTimescaleDB等の登録されるデータを内部的に時間と空間で分割されたチャンクと呼ばれるテーブルに格納するRDBMSを用いることにより、一例として10ミリ秒等による処理単位での集計を可能とすることができる。これにより登録される複数の送信データにおける時間粒度を細かくし、受信時点等の経時的要素を用いた検索等における分解能を向上させることができる。
異常データ特定部33は、周期的に時系列データベース41に対し、時系列データベース41用検索式(時系列データベース41用クエリ)を用いて、複数の送信データを抽出し、当該複数の送信データの抽出結果に基づいて、異常な送信データを特定する。時系列データベース41用検索式は、例えばSQL(structured query language)等のクエリ記述言語を用いて定義されたクエリ定義ファイルとして、記憶部4に記憶されている。異常データ特定部33は、記憶部4を参照し、クエリ定義ファイルを読み出すことにより、時系列データベース41用検索式に基づく処理命令を、時系列データベース41に対して実行させる。クエリ定義ファイル(時系列データベース41用検索式)は、例えばSOCサーバS11等の外部サーバS1から取得するものであってもよい。当該時系列データベース41用検索式は、例えば、CANIDが同一、又は関連する複数の送信データにおける送信頻度(受信頻度)が閾値以上又は未満、又はこれら送信データのシグナル(ペイロード)の値の変化率が閾値以上又は未満であるかを抽出(定義)する検索式(クエリ)を含む。
異常データ特定部33は、送信頻度(転送頻度)が少ない(閾値未満)である場合、特定機器の故障であると判定するものであってもよい。異常データ特定部33は、送信頻度(転送頻度)が多い(閾値以上)である場合、なりすましが発生、又は機器の故障であると判定するものであってもよい。異常データ特定部33は、シグナル(ペイロード)が急激な変化した(変化率が閾値以上)場合、なりすましが発生、又は機器の故障であると判定するものであってもよい。異常データ特定部33は、例えばシグナル(ペイロード)の値が一定となる状態が継続した等、シグナルが固着した(変化率が閾値未満)場合、なりすましが発生、又は機器の故障であると判定するものであってもよい。更に、時系列データベース41用検索式は、UDS(Unified Diagnostic Service)又はリプログラミングのシーケンス異常を抽出する検索式(クエリ)を含むものであってもよい。更に、時系列データベース41用検索式は、不明な送信元からの接続有無を抽出する検索式(クエリ)を含むものであってもよい。このように時系列データベース41用検索式は、異常な送信データを特定するための複数の検索式(検索条件)の論理和による組み合わせ(オア検索)により構成されるものであってもよい。異常データ特定部33は、特定した異常な送信データに関する情報(異常データ)を、異常履歴データベース42に登録する。
異常データ特定部33は、時系列データベース41用検索式を用いた時系列データベース41への検索処理、及び当該処理結果に応じた異常履歴データベース42への登録処理を、所定の周期にて行うものであってもよい。この場合、当該周期は、取得部31による送信データの取得(受信)の頻度(受信頻度)よりも長いものであってもよい。すなわち、周期的に行われる異常データ特定部33の処理と、取得部31による送信データを受信する処理とは、非同期にて行われるものであってもよい。
攻撃データ特定部34は、周期的に異常履歴データベース42に対し、異常履歴データベース42用検索式(異常履歴データベース42用クエリ)を用いて、複数の異常な送信データを抽出し、当該複数の異常な送信データの抽出結果に基づいて、攻撃性を有する送信データを特定する。異常履歴データベース42用検索式は、例えばSQL(structured query language)等のクエリ記述言語を用いて定義されたクエリ定義ファイルとして、記憶部4に記憶されている。攻撃データ特定部34は、記憶部4を参照し、クエリ定義ファイルを読み出すことにより、異常履歴データベース42用検索式に基づく処理命令を、異常履歴データベース42に対して実行させる。クエリ定義ファイル(異常履歴データベース42用検索式)は、例えばSOCサーバS11等の外部サーバS1から取得するものであってもよい。
異常履歴データベース42用検索式は、時系列データベース41用の検索式に含まれる複数の検索条件を組み合わせて構成したものであってよい。時系列データベース41用の検索式に含まれる複数の検索条件の内、例えば、送信頻度が所定値以上とする検索条件、及びペイロードの内容の変化度が所定値以上(急激な変化)とする検索条件を組み合わせたアンド条件(論理積)、又はオア条件(論理和)にて異常履歴データベース42用の検索式(クエリ定義ファイル)は、生成されるものであってもよい。
攻撃データ特定部34は、例えば異常分類及び異常内容が、MAC異常、又はフォームエラーの場合、なりすましによる攻撃が発生したと判定し、これらMAC異常又はフォームエラーの異常な送信データは、攻撃性を有する送信データであると特定する。攻撃データ特定部34は、例えば異常分類及び異常内容が、送信頻度(転送頻度)が多い、かつシグナルが急激な変化した場合、なりすましによる攻撃が発生したと判定し、これらMAC異常又はフォームエラーの異常な送信データは、攻撃性を有する送信データであると特定する。攻撃データ特定部34は、例えば異常分類及び異常内容が、送信頻度(転送頻度)が少ない、かつエラーフレームが多い場合、なりすましによる攻撃が発生したと判定し、これらMAC異常又はフォームエラーの異常な送信データは、攻撃性を有する送信データであると特定する。攻撃データ特定部34は、例えば異常分類及び異常内容が、CRC異常、かつシグナルが固着した場合、機器の故障(攻撃による故障)が発生したと判定し、これらMAC異常又はフォームエラーの異常な送信データは、攻撃性を有する送信データであると特定する。
図9は、攻撃検出の態様を例示した説明図である。本説明図において、横軸は経過時間を示し、攻撃を有する送信データを特定するにあたっての異常検出における一例となる態様例を説明する。正常なメッセージ(正規メッセージ)は、白三角にて示される。攻撃を有する送信データ(異常な送信データ)は、黒三角にて示される。
異常検出例1においては、送信頻度(転送頻度)が多く、かつ、シグナル(ペイロードの内容)が急激な変化した場合を示しており、車両Cが走行中に攻撃者(ウィルス等により不正なプログラムが適用された車載ECU6等)が、例えば車速が0kmを示す送信データを送信(通知)する攻撃によるものである。
異常検出例2においては、送信頻度(転送頻度)が多く、かつ、シグナル(ペイロードの内容)が固着した場合を示しており、車両Cが走行中に攻撃者が、例えば車速が0kmを示す送信データを、連続して送信(通知)する攻撃によるものである。
異常検出例3においては、エラーフレームが出願し、かつ、シグナル(ペイロードの内容)が固着した場合を示しており、車両Cが走行中に攻撃者が、正常なメッセージ(正規メッセージ)を破棄しつつ、例えば車速が0kmを示す送信データを送信(通知)する攻撃によるものである。
このように攻撃検出データベース43用検索式は、攻撃を有する送信データを特定するための複数の検索式(検索条件)の論理和又は論理積による組み合わせにより構成することにより、連続する異常な送信データの集合から、攻撃の有無を判定することができる。又は、複数の異常な送信データの繋がりから、当該送信データの送信した攻撃元の車載ECU6等を特定することができる。攻撃データ特定部34は、特定した攻撃性を有する送信データに関する情報を、攻撃検出データベース43に登録する。
攻撃データ特定部34は、異常履歴データベース42用検索式を用いた異常履歴データベース42への検索処理、及び当該処理結果に応じた攻撃検出データベース43への登録処理を、所定の周期にて行うものであってもよい。この場合、当該周期は、異常データ特定部33による処理の周期と同じ、又は異なるものであってもよい。又は、攻撃データ特定部34は、異常データ特定部33により異常な送信データが特定された場合、当該異常な送信データの特定をトリガーに、異常履歴データベース42への検索処理等を行うものであってもよい。攻撃データ特定部34の処理を、異常データ特定部33の処理結果に連動させることにより、過度な処理を行うことを抑制し、制御部3の処理負荷を軽減することができる。
対応処置部35は、攻撃データ特定部34が特定し、攻撃検出データベース43に登録した攻撃性を有する送信データに応じて、実施する対応処置を選定し、選定した対応処置を行うための処理を行う。対応処置部35は、当該攻撃性を有する送信データによる攻撃の種類に応じて、実施する対応処置を選定するものであってもよい。当該対応処置は、例えば、特定した攻撃性を有する送信データに関する情報に基づき、当該送信データに含まれるCAN-ID又はポート番号、及び送信元の車載ECU6のアドレス等の識別子をリスト化したブラックリストを生成し、当該ブラックリストをブロードキャストすることにより、車両Cに搭載される全ての車載ECU6に対し、送信するものであってもよい。
対応処置部35は、攻撃性を有する送信データに関する情報が登録された攻撃検出データベース43を参照することにより、当該ブラックリストを効率的に生成することができる。更に対応処置部35は、例えば、MAC生成鍵の入れ替え、使用するCANーIDの変更、冗長回路を用いた中継経路の変更、又は縮退運転モードへの遷移等の種々の処置を、攻撃の種類に応じて選定し、実行するものであってもよい。
当該対応処置の実施は、対応処置部35(車載装置2自身)が直接的に行う処置に限定されず、対応処置部35が、例えばヴィークルコンピュータ等にて構成される統合ECUに、対応処置の実行指示(対抗シグナル)を送信する処理を含むものであってもよい。この場合、対応処置部35からの実行指示(対抗シグナル)を受信した統合ECUは、中継経路の変更等の実行指示された対応処置を実施する。対応処置部35は、攻撃性を有する送信データに応じて実施した対応処置に関する情報を、当該送信データに関連付けて攻撃検出データベース43に登録するものであってもよい。
出力部36は、攻撃データ特定部34が特定し、攻撃検出データベース43に登録した攻撃性を有する送信データに関する情報に基づき、生成したブラックリストを含む攻撃検知報告(ブラックリスト情報)を、例えば、SOCサーバS11、SIRTサーバS12、又は双方のサーバ等に出力する。出力部36は、攻撃データ特定部34が攻撃性を有する送信データを特定した際、当該特定をトリガーに、ブラックリスト情報をSOCサーバS11等の外部サーバS1に出力するものであってもよい。これにより、SOCサーバS11等への攻撃検知報告のリアルタイム性を向上させることができる。
更に出力部36は、時系列データベース41及び異常履歴データベース42に登録されている情報に基づき生成したレポート情報を、SOCサーバS11等の外部サーバS1に出力するものであってもよい。出力部36は、当該レポート情報の生成及び出力を、例えば、1日に1回行うなど、ディリータスクとしてスケジューリングして行うものであってもよい。例えば、レポート情報の生成を一日単位で行う場合、出力部36は、レポート情報の対象となる日付にて、時系列データベース41及び異常履歴データベース42に登録された送信データの件数、前日までの件数に対する変化率、及び過去複数日における当該件数の移動平均等の統計情報を含めて、当該レポート情報を生成するものであってもよい。
図10は、車載装置2の制御部3の処理を例示するフローチャートである。車載装置2の制御部3は、例えば車両Cが起動状態又は停止状態(IGスイッチがオン又はオフ)において、定常的に以下の処理を行う。車載装置2の制御部3は、後述する一連の処理において、受信した送信データを時系列データベース41等に登録する処理(S101からS104)と、時系列データベース41及び異常履歴データベース42を検索(クエリ処理)した結果に応じて攻撃検出データベース43に登録等する処理(S111からS118)とを、複数プロセスにより並列処理するものであってもよい。
車載装置2の制御部3は、車載ECU6から送信される送信データを受信する(S101)。車載装置2の制御部3は、CAN通信部51、イーサネット通信部52など、各通信プロトコルに対応した車内通信部5を介して、CANメッセージ、又はIPパケット等の送信データを取得(受信)する。
車載装置2の制御部3は、受信した送信データが正常であるか否かを判定する(S102)。車載装置2の制御部3は、例えば、ホワイトリストを参照、送信データに含まれる認証コード(MAC)、検査コード(CRC)又はフォームにおけるエラー有無等に基づき、送信データが正常であるか否かを判定する。
受信した送信データが正常である場合(S102:YES)、車載装置2の制御部3は、当該送信データの受信時点を関連付けて、正常と判定した送信データを時系列データベース41に登録する(S103)。送信データがホワイトリストに含まれる、又は、送信データに含まれる認証コード(MAC)、検査コード(CRC)及びフォームにエラーが無い場合、車載装置2の制御部3は、受信した送信データは正常であると判定し、当該送信データの受信時点を関連付けて、時系列データベース41に登録する。
受信した送信データが正常でない場合(S102:NO)、すなわち受信した送信データが異常である場合、車載装置2の制御部3は、当該送信データの受信時点を関連付けて、異常と判定した送信データを異常履歴データベース42に登録する(S1021)。送信データがホワイトリストに含まれない、又は、送信データに含まれる認証コード(MAC)、検査コード(CRC)及びフォームのいずれかにエラーが有る場合、車載装置2の制御部3は、受信した送信データは異常である判定し、当該送信データの受信時点を関連付けて、異常履歴データベース42に登録する。
車載装置2の制御部3は、時系列データベース41及び異常履歴データベース42に登録されている情報に基づき生成したレポート情報を外部サーバS1に出力する(S104)。車載装置2の制御部3は、例えば、1日に1回等の頻度にて、時系列データベース41及び異常履歴データベース42に登録されている情報に基づきレポート情報(ディリーレポート情報)を生成し、生成したレポート情報をSOCサーバS11等の外部サーバS1に出力(送信)する。車載装置2の制御部3は、S104の実行後、再度、S101からの処理を実行すべく、ループ処理を行う。
車載装置2の制御部3は、時系列データベース41に対し検索式(クエリ)を実行する(S111)。車載装置2の制御部3は、周期的に時系列データベース41に対し、時系列データベース41用検索式(時系列データベース41用クエリ)を実行し、検索結果となる複数の送信データを抽出する。
車載装置2の制御部3は、時系列データベース41に対する検索式の実行結果に基づき、異常な送信データを特定したか否かを判定する(S112)。車載装置2の制御部3は、時系列データベース41に対する検索式の実行結果となる複数の送信データの抽出結果に基づき、異常な送信データを特定したか否かを判定する。
異常な送信データの特定がされた場合(S112:YES)、車載装置2の制御部3は、特定した異常な送信データを、異常履歴データベース42に登録する(S113)。車載装置2の制御部3は、例えばCANIDが同一、又は関連する複数の送信データにおける送信頻度(受信頻度)が閾値以上又は未満、又はこれら送信データのシグナル(ペイロード)の値の変化率が閾値以上又は未満となる複数の送信データを抽出した場合、これらを異常な送信データとして特定し、異常履歴データベース42に登録する。
異常な送信データの特定がされなかった場合(S112:NO)、又はS113の処理の実行後、車載装置2の制御部3は、異常履歴データベース42に対し検索式(クエリ)を実行する(S114)。車載装置2の制御部3は、周期的に異常履歴データベース42に対し、異常履歴データベース42用検索式(異常履歴データベース42用クエリ)を実行し、検索結果となる複数の送信データ(異常な送信データ)を抽出する。
車載装置2の制御部3は、異常履歴データベース42に対する検索式の実行結果に基づき、攻撃性を有する送信データを特定したか否かを判定する(S115)。攻撃性を有する送信データの特定がされた場合(S115:YES)、車載装置2の制御部3は、攻撃性を有する送信データを、攻撃検出データベース43に登録する(S116)。車載装置2の制御部3は、例えば異常分類及び異常内容が、送信頻度(転送頻度)が多い、かつシグナルが急激な変化した場合等に該当する複数の送信データを抽出した場合これらを、攻撃性を有する送信データとして特定し異常履歴データベース42に登録する。
攻撃性を有する送信データの特定がされなかった場合(S115:NO)、車載装置2の制御部3は、再度S111を実行すべく、ループ処理を行う。
車載装置2の制御部3は、攻撃検出データベース43に登録した情報に基づいて、対応処置を実行する(S117)。車載装置2の制御部3は、攻撃検出データベース43に登録した情報に基づいて、当該攻撃性を有する送信データに対する対応処置を実行する。
車載装置2の制御部3は、例えば記憶部4に記憶されるルックアップテーブルを参照し、攻撃の種類に応じた対応処置を選択する。当該対応処置は、例えば、MAC生成鍵の入れ替え、使用するCANーIDの変更、冗長回路を用いた中継経路の変更、及び縮退運転モードへの遷移等を含む。車載装置2の制御部3は、攻撃の種類と対応処置とが関連付けられて定義されているルックアップテーブルを参照し、単一又は複数の対応処置を組み合わせて、攻撃性を有する送信データに対する対応処置(対抗処理)を実行する。
車載装置2の制御部3は、攻撃の種類にかかわらず、当該対応処置の一環として、攻撃検出データベース43に登録した情報に基づき生成したブラックリスト等の情報をブロードキャスト又はマルチキャストによって、車両Cに搭載される全ての車載ECU6に対し報知(出力)するものであってもよい。車載装置2の制御部3は、攻撃性を有する送信データに応じて実施した対応処置に関する情報を、当該送信データに関連付けて攻撃検出データベース43に登録するものであってもよい。
車載装置2の制御部3は、攻撃検出データベース43に登録した情報を外部サーバS1に出力する(S118)。車載装置2の制御部3は、攻撃検出データベース43に登録した情報に基づき生成したブラックリスト等の情報をSOCサーバS11、又はSIRTサーバS12等の外部サーバS1に送信(出力)するものであってもよい。
本実施形態において、車載装置2の制御部3は、これら一連の処理を複数プロセスにより並列処理するものとして説明したが、これに限定されず、時系列データベース41へのデータ登録から、攻撃検出データベース43へのデータ登録及びブラックリストの出力等までを、シーケンシャル処理にて行うものであってもよい。
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
C 車両
S 車載システム(侵入検知システム)
S1 外部サーバ
S11 SOCサーバ
S12 SIRTサーバ(OTAサーバ)
1 車外通信装置
11 アンテナ
2 車載装置
3 制御部
31 取得部
32 事前検査部
33 異常データ特定部
34 攻撃データ特定部
35 対応処置部
36 出力部
4 記憶部
41 時系列データベース
411 CANメッセージ用テーブル
412 IPパケット用テーブル
42 異常履歴データベース
43 攻撃検出データベース(ブラックリストDB)
400 記録媒体
P 制御プログラム(プログラム製品)
5 車内通信部
51 CAN通信部
52 イーサネット通信部
6 車載ECU
7 車載ネットワーク
71 通信線
711 イーサネットケーブル
712 CANバス

Claims (14)

  1. 車両に搭載される車載ECUと通信可能に接続される車載装置であって、
    前記車載ECUから送信される送信データに関する処理を行う制御部を備え、
    前記制御部は、
    前記車載ECUから送信される送信データを受信し、
    受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、
    前記時系列データベースに登録された送信データから、異常な送信データを特定し、
    特定した異常な送信データに関する情報を、異常履歴データベースに登録する
    車載装置。
  2. 前記制御部は、
    前記車載ECUから受信した送信データが正常であるか否かを判定し、
    正常と判定した送信データを前記時系列データベースに登録し、
    異常と判定した送信データを前記異常履歴データベースに登録する
    請求項1に記載の車載装置。
  3. 前記制御部は、前記車載ECUから受信した送信データが、予め定められた正常データリストに含まれる場合、該送信データは正常であると判定する
    請求項2に記載の車載装置。
  4. 前記制御部は、前記車載ECUから受信した送信データに含まれる認証コード、検査コード、及びフォームの少なくとも1つにおいてエラーを検知した場合、該送信データは異常であると判定する
    請求項2又は請求項3に記載の車載装置。
  5. 前記制御部は、
    前記時系列データベースに対し、所定の検索式を用いて複数の送信データを抽出し、
    複数の送信データの抽出結果に基づいて、異常な送信データを特定する
    請求項1から請求項4のいずれか1項に記載の車載装置。
  6. 前記制御部は、
    前記時系列データベース用の検索式を用いた送信データの抽出処理を周期的に行い、
    前記周期は、前記車載ECUから送信される送信データの受信頻度よりも長い
    請求項5に記載の車載装置。
  7. 前記時系列データベース用の検索式は、送信データの受信時点を含む期間において、連関する複数の送信データにおける送信頻度、及びペイロードに含まれる内容の変化度の少なくとも1つに関する検索条件を含む
    請求項5又は請求項6に記載の車載装置。
  8. 前記制御部は、
    前記時系列データベース及び異常履歴データベースに登録した情報に基づき、レポート情報を生成し、
    生成したレポート情報を、車外の外部サーバに出力する
    請求項1から請求項7のいずれか1項に記載の車載装置。
  9. 前記制御部は、
    前記異常履歴データベースに登録された異常な送信データから、攻撃性を有する送信データを特定し、
    特定した攻撃性を有する送信データに関する情報を、攻撃検出データベースに登録する
    請求項1から請求項8のいずれか1項に記載の車載装置。
  10. 前記制御部は、前記異常履歴データベースに対し、前記時系列データベース用の検索式に含まれる複数の検索条件の組み合わせにより構成される検索式を用いて、攻撃性を有する送信データを特定する
    請求項9に記載の車載装置。
  11. 前記制御部は、
    特定した攻撃性を有する送信データへの対応処置を実施し、
    実施した対応処置の関する情報を、攻撃性を有する送信データに関連付けて、前記攻撃検出データベースに登録する
    請求項9又は請求項10に記載の車載装置。
  12. 前記制御部は、攻撃検出データベースに登録した情報を、車外の外部サーバに出力する
    請求項9から請求項11のいずれか1項に記載の車載装置。
  13. 車両に搭載される車載ECUと通信可能に接続されるコンピュータに、
    前記車載ECUから送信される送信データを受信し、
    受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、
    前記時系列データベースに登録された送信データから、異常な送信データを特定し、
    特定した異常な送信データに関する情報を、異常履歴データベースに登録する
    処理を実行させるプログラム。
  14. 車両に搭載される車載ECUと通信可能に接続されるコンピュータに、
    前記車載ECUから送信される送信データを受信し、
    受信した送信データと、該送信データの受信時点とを関連付けて、時系列データベースに登録し、
    前記時系列データベースに登録された送信データから、異常な送信データを特定し、
    特定した異常な送信データに関する情報を、異常履歴データベースに登録する
    処理を実行させる情報処理方法。
JP2021212667A 2021-12-27 2021-12-27 車載装置、プログラム及び、情報処理方法 Pending JP2023096727A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021212667A JP2023096727A (ja) 2021-12-27 2021-12-27 車載装置、プログラム及び、情報処理方法
PCT/JP2022/045756 WO2023127477A1 (ja) 2021-12-27 2022-12-13 車載装置、プログラム及び、情報処理方法
CN202280084113.7A CN118355632A (zh) 2021-12-27 2022-12-13 车载装置、程序及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021212667A JP2023096727A (ja) 2021-12-27 2021-12-27 車載装置、プログラム及び、情報処理方法

Publications (1)

Publication Number Publication Date
JP2023096727A true JP2023096727A (ja) 2023-07-07

Family

ID=86998707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021212667A Pending JP2023096727A (ja) 2021-12-27 2021-12-27 車載装置、プログラム及び、情報処理方法

Country Status (3)

Country Link
JP (1) JP2023096727A (ja)
CN (1) CN118355632A (ja)
WO (1) WO2023127477A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7033499B2 (ja) * 2017-07-26 2022-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知装置および異常検知方法
JP7113337B2 (ja) * 2018-01-12 2022-08-05 パナソニックIpマネジメント株式会社 サーバ装置、車両装置、車両用システム及び情報処理方法
JP7241281B2 (ja) * 2019-12-05 2023-03-17 パナソニックIpマネジメント株式会社 情報処理装置、制御方法及びプログラム
JP2021057908A (ja) * 2020-12-17 2021-04-08 パナソニックIpマネジメント株式会社 記録装置および車両

Also Published As

Publication number Publication date
WO2023127477A1 (ja) 2023-07-06
CN118355632A (zh) 2024-07-16

Similar Documents

Publication Publication Date Title
US11822649B2 (en) Intrusion anomaly monitoring in a vehicle environment
JP7492622B2 (ja) 車両異常検知サーバ、車両異常検知システム及び車両異常検知方法
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
US10298612B2 (en) System and method for time based anomaly detection in an in-vehicle communication network
US20160323287A1 (en) Method for detecting and dealing with unauthorized frames in vehicle network system
US11848947B2 (en) System and method for providing security to in-vehicle network
EP3376360A1 (en) Data storage device
US10893063B2 (en) Information processing device and information processing method
CN111066001B (zh) 日志输出方法、日志输出装置以及存储介质
US11924225B2 (en) Information processing apparatus, information processing method, and recording medium
US11776326B2 (en) Information processing device and information processing method
US20210320932A1 (en) Electronic control unit, electronic control system, and recording medium
JP7346688B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7444223B2 (ja) 車載装置、プログラム及び情報処理方法
EP3554019B1 (en) Information processing device and information processing method
JP2003162430A (ja) 障害情報管理装置および障害情報管理方法
WO2023127477A1 (ja) 車載装置、プログラム及び、情報処理方法
WO2020105657A1 (ja) 車載中継装置及び中継方法
US20230006860A1 (en) Determination device, determination program, and determination method
US20240323205A1 (en) Threat information deploying system, threat information deploying method, and recording medium
CN118740514A (zh) 入侵检测与防御系统及车辆

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240417