(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024082318
(43)【公開日】2024-06-20
(54)【発明の名称】セキュリティ方法、および、セキュリティ装置
(51)【国際特許分類】
G06F 21/55 20130101AFI20240613BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022196075
(22)【出願日】2022-12-08
(71)【出願人】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】吉田 順一
(72)【発明者】
【氏名】日高 淳
(72)【発明者】
【氏名】福嶌 秀世
(72)【発明者】
【氏名】仲辻 栄義
(72)【発明者】
【氏名】浅沼 将人
(57)【要約】
【課題】車両が攻撃を受けた際に当該攻撃に素早く対処できる可能性を向上できるセキュリティ方法などを提供する。
【解決手段】本開示の一態様に係るセキュリティ方法は、車両における車載通信ネットワークと接続され、車両の制御を行う車両計算機が攻撃されることで発生した異常に関する異常情報を取得し(S10)、異常情報に基づいて、車両計算機が有する記憶部に記憶されたデータのうち、所定のタイミングより後に記憶部に追加された追加データを削除させる(S20)。
【選択図】
図8
【特許請求の範囲】
【請求項1】
車両における車載通信ネットワークと接続され、前記車両の制御を行う車両計算機が攻撃されることで発生した異常に関する異常情報を取得し、
前記異常情報に基づいて、前記車両計算機が有する記憶部に記憶されたデータのうち、所定のタイミングより後に前記記憶部に追加された追加データを削除させる、
セキュリティ方法。
【請求項2】
前記異常情報を取得した場合、前記異常が前記追加データによるものであるか否かを判定し、前記異常が前記追加データによるものであると判定した場合、前記記憶部に追加された前記追加データを削除させる、
請求項1に記載のセキュリティ方法。
【請求項3】
前記記憶部に追加された前記追加データを削除させた後に、前記異常が前記追加データによるものであるか否かを判定し、前記異常が前記追加データによるものでないと判定した場合、前記追加データを前記記憶部に再度記憶させる、
請求項1に記載のセキュリティ方法。
【請求項4】
前記異常情報に基づいて、前記異常を発生させた攻撃を受ける要因となった機能を特定し、
特定された前記機能を無効化させる、
請求項1~3のいずれか1項に記載のセキュリティ方法。
【請求項5】
前記攻撃に対する対策が施された旨を示す情報が取得された場合、前記機能を有効化させる、
請求項4に記載のセキュリティ方法。
【請求項6】
前記攻撃に対する対策が施された旨を示す情報が取得された場合、前記攻撃に対する対策が施されたプログラムに、前記所定のタイミングより前に前記記憶部に記憶されたプリインストールプログラムを更新させ、前記プリインストールプログラムを更新させた後に、前記機能を有効化させる、
請求項5に記載のセキュリティ方法。
【請求項7】
車両における車載通信ネットワークと接続され、前記車両の制御を行う車両計算機が攻撃されることで発生した異常に関する異常情報を取得する取得部と、
前記異常情報に基づいて、前記車両計算機が有する記憶部に記憶されたデータのうち、所定のタイミングより後に前記記憶部に追加された追加データを削除させる制御部と、を備える、
セキュリティ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、セキュリティ方法、および、セキュリティ装置に関する。
【背景技術】
【0002】
従来、車載通信ネットワークなどの通信ネットワークにおけるセキュリティを提供するシステムがある。
【0003】
特許文献1には、車両への攻撃を検知したときに、攻撃が車両の各制御に与える影響に応じて、各制御に抑制をかける装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されている装置では、応急処置的には攻撃を回避できるが、脆弱性の解析またはセキュリティパッチの作成などの恒久対応が行われるまで車両の使用ができなくなる虞がある。
【0006】
本開示は、車両が攻撃を受けた際に当該攻撃に素早く対処できる可能性を向上できるセキュリティ方法などを提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係るセキュリティ方法は、車両における車載通信ネットワークと接続され、前記車両の制御を行う車両計算機が攻撃されることで発生した異常に関する異常情報を取得し、前記異常情報に基づいて、前記車両計算機が有する記憶部に記憶されたデータのうち、所定のタイミングより後に前記記憶部に追加された追加データを削除させる。
【0008】
本開示の一態様に係るセキュリティ装置は、車両における車載通信ネットワークと接続され、前記車両の制御を行う車両計算機が攻撃されることで発生した異常に関する異常情報を取得する取得部と、前記異常情報に基づいて、前記車両計算機が有する記憶部に記憶されたデータのうち、所定のタイミングより後に前記記憶部に追加された追加データを削除させる制御部と、を備える。
【発明の効果】
【0009】
本開示の一態様に係るセキュリティ方法などによれば、車両が攻撃を受けた際に当該攻撃に素早く対処できる可能性を向上できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係るセキュリティシステムの構成を示すブロック図である。
【
図2】
図2は、実施の形態に係る車両計算機の構成を示すブロック図である。
【
図3】
図3は、実施の形態に係る管理サーバの構成を示すブロック図である。
【
図4】
図4は、実施の形態に係るセキュリティシステムにおける追加データの削除の処理手順を示すシーケンス図である。
【
図5】
図5は、実施の形態に係るセキュリティシステムにおける根本対策の処理手順を示すシーケンス図である。
【
図6】
図6は、実施の形態に係る管理サーバの追加データの削除の処理手順を示すフローチャートである。
【
図7】
図7は、実施の形態に係る管理サーバの根本対策の処理手順を示すフローチャートである。
【
図8】
図8は、実施の形態に係るセキュリティ装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
(本開示の基礎となった知見)
車両における車載通信ネットワークで攻撃(具体的には、サイバー攻撃)が検知された場合には、運転者などの車両の搭乗者の安全確保のために、攻撃による車両の異常動作の阻止を目的とした応急処置的な即時対応が必要となる。即時対応としては、例えば、縮退動作、車両制御抑制、または、外部との通信の遮断などが挙げられる。
【0012】
縮退動作とは、自動制御で車両を路肩など安全な場所に緊急停止させる動作である。車両制御抑制とは、アクチュエータ(ハンドル、ブレーキ、および、アクセルなど)の制御に制限を行い、攻撃による異常動作の影響を抑制する処理である。外部との通信の遮断とは、車外からのリモートでの車両への不正制御攻撃を想定して、Wi-Fi(登録商標)またはモバイル通信などの車両と車外の外部機器との通信を遮断する処理である。
【0013】
しかしながら、例えば、縮退動作では、攻撃自体が遮断されたわけではないため、再び運転を始めると同様の攻撃が再開される虞がある。そのため、車両は、緊急停止した後に、身動きが取れなくなる虞がある。
【0014】
また、例えば、車両制御抑制では、通常の運転制御も制限されるため、運転者も正しい運転ができなくなる虞がある。
【0015】
上記のような即時対応では、応急処置的には攻撃を回避できるが、脆弱性の解析またはセキュリティパッチの作成などの恒久対応が行われるまで車両の使用ができなくなる虞がある。これでは、攻撃を受けた車両は、運転自体ができなくなったり、一部の機能が使用不能になることで、当該車両を運搬する他の車両を用いて修理のためにサービスセンターなどに持ち込まなければならないなどの不具合が生じる。
【0016】
そこで、本願発明者らは、車両が攻撃を受けた際にも、例えば車両の運転機能に制限をかけないように当該攻撃に素早く対処できる可能性を向上できるセキュリティ方法などを見出した。
【0017】
以下、本開示の実施の形態について、図面を参照しながら具体的に説明する。
【0018】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0019】
(実施の形態)
[構成]
図1は、実施の形態に係る車両への情報を提供するセキュリティシステム10の概略図である。
【0020】
セキュリティシステム10は、インターネットなどの無線ネットワーク(例えば、移動体通信網)を介して互いに通信可能に接続された車両100、監視サーバ200、管理サーバ300、および、データサーバ400を備える車載通信ネットワークシステムである。セキュリティシステム10では、例えば、車両100と、SOC(Security Operation Center)などの監視センターに配置された監視サーバ200および管理サーバ300とが通信することで、車両100における車載通信ネットワークと接続された車両計算機120などの各機器およびこれらを通信可能に接続するバスなどに異常がないかが監視される。また、車両100は、監視サーバ200および管理サーバ300とともにセンター(例えば、監視センターなどの建屋)に配置されたデータサーバ400と通信することで、車両100の制御に用いられるプログラム(ソフトウェア)の更新などを行う。
【0021】
車両100は、自動二輪車または自動四輪車などの任意の車両である。本実施の形態では、車両100は、自動運転機能を搭載した自動運転車である。
【0022】
車両100は、セキュリティ装置110と、複数の車両計算機120と、ソフトウェア管理装置130と、を備える。
【0023】
なお、
図1では、車両100が備える車両計算機120を3つ示しているが、車両100が備える車両計算機120の数は、1つでもよいし2以上でもよく、任意でよい。
【0024】
車両100は、例えば、ハードウェア構成として、TCU(Telematics Control Unit)、および、複数のECUなどを備える。
【0025】
なお、車両100は、自動運転車両でなくてもよい。
【0026】
セキュリティ装置110は、車両100の状態を監視するための装置である。セキュリティ装置110は、監視サーバ200および管理サーバ300と通信可能に接続されている。
【0027】
セキュリティ装置110は、車両100で検知された車両100への攻撃(具体的には、サイバー攻撃)に関する情報(検知情報ともいう)を取得し、取得した検知情報に基づいて車両100の状態を監視する。セキュリティ装置110は、例えばNIDS(Network-based Intrusion Detection System)であって、複数の車両計算機120とのそれぞれとバスを介して通信可能に接続され、接続されたバスに流れるデータを監視する。具体的には、セキュリティ装置110は、車両計算機120と接続されたバスに流れるデータを監視することで、車両100(より具体的には、車両計算機120)に行われる異常(言い換えると、攻撃)を検知する。
【0028】
なお、セキュリティ装置110が検知する異常は、任意に定められてよい。当該異常は、例えば、セキュリティ装置110の問い合わせに対して車両計算機120から応答がない、バスに不正なコマンドが流れている、または、コマンドの量が所定の量より多いもしくは少ないなどである。当該所定の量は、任意に定められてよい。セキュリティ装置110は、セキュリティ装置110と通信可能に接続されており、異常の検知結果を示す検知情報(異常検知ログ)をセキュリティ装置110に出力(送信)する。
【0029】
また、車両計算機120および車両計算機120が接続されるバスの数は、特に限定されない。
【0030】
セキュリティ装置110は、例えば、監視サーバ200および管理サーバ300と通信するための移動体通信網の規格に対応したセルラモジュールを含むTCU、複数の車両計算機120およびソフトウェア管理装置130と通信するための通信インターフェース、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、信号の送受信をするための入出力ポート、ならびに、プログラムを実行するプロセッサなどで実現される。具体的には、セキュリティ装置110としては、ECUが例示される。
【0031】
なお、セキュリティ装置110が備える通信インターフェースは、有線LAN(Local Area Network)インターフェースであってもよいし、無線LANインターフェースであってもよい。また、セキュリティ装置110が備える通信インターフェースは、LANインターフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インターフェースであれば、どのような通信インターフェースであってもよい。
【0032】
また、セキュリティ装置110は、車両100が備えるTCUおよびECUなどがTCUおよびECUなどの本来機能に加えてセキュリティ装置110の機能を兼ねることによって実現されてもよい。
【0033】
セキュリティ装置110は、監視部111と、特定部112と、報知部113と、受信部114と、を備える。
【0034】
監視部111は、車両計算機120に異常があるか否かを監視する処理部である。監視部111は、例えば、車両計算機120が接続されるバスに流れるコマンドを取得(受信)し、当該コマンドにおける異常の有無を判定する。
【0035】
特定部112は、異常が発生した車両計算機120を特定する処理部である。特定部112は、例えば、監視部111が、異常が発生したと判定した場合、発生した異常の要因が複数の車両計算機120のうちのどの車両計算機120によるものかを特定する。
【0036】
例えば、特定部112は、監視部111から、車載通信ネットワークにおいてバスに異常なコマンド(以下、不正CAN(Controller Area Network)制御コマンドともいう)が流れていることを示す情報(以下、異常検知ログともいう)を取得する。異常検知ログには、例えば、不正CAN制御コマンドの内容、および、車載通信ネットワークを構成する複数のバスのうちのどのバスに不正CAN制御コマンドが流れていたかを示す情報などが含まれる。監視部111が不正CAN制御コマンドの送信元の車両計算機120が特定可能である場合には、異常検知ログに当該送信元の車両計算機120を示す情報が含まれていてもよい。例えば、特定部112は、監視部111が車載通信ネットワークにおいて不正CAN制御コマンドを検知した場合、その不正CAN制御コマンドを送信可能な車両計算機120を特定する。例えば、特定部112は、監視部111が受信した異常検知ログに基づいて、その不正CAN制御コマンドを送信可能な車両計算機120を特定する。
【0037】
不正CAN制御コマンドを送信可能な車両計算機120とは、例えば、不正CAN制御コマンドが流れるバスと接続された車両計算機120である。例えば、特定部112は、第1バスおよび第2バスのうちの第1バスに不正CAN制御コマンドが流れていることをセキュリティ装置110が検知した場合、第1バスおよび第2バスの少なくとも一方に接続された車両計算機120のうち、第1バスと接続されている車両計算機120を、不正CAN制御コマンドを送信可能な車両計算機120として特定してもよい。
【0038】
また、コマンドの内容によっては、ハードウェアレベルで車両計算機120ごとに特定のコマンドしか送信されないような仕組み(例えばTxフィルタリングなど)がある場合がある。このような場合には、例えば、特定部112は、不正CAN制御コマンドの内容に基づいて、当該不正CAN制御コマンドを送信可能な車両計算機120を特定する。車両計算機120ごとの送信可能なコマンドに関する情報は、例えば、セキュリティ装置110が備えるメモリに予め記憶されていてもよい。
【0039】
なお、特定部112が特定する車両計算機120の数は、特に限定されない。
【0040】
報知部113は、発生した異常を監視サーバ200に報知する処理部である。例えば、報知部113は、監視部111が、異常が発生したと判定した場合、異常の内容を示す情報、および、特定部112によって特定された車両計算機120を示す情報を監視サーバ200に出力する。
【0041】
受信部114は、管理サーバ300から異常に対する対象指示を示す情報を取得する処理部である。受信部114は、例えば、取得した情報に基づいて、ソフトウェア管理装置130に、車両計算機120が用いるソフトウェア(プログラム)を更新させる指示を出力する。また、例えば、受信部114は、例えば、取得した情報に基づいて、車両計算機120に特定の機能を制限する(例えば、当該機能を一時停止させる)処理などを実行させる。
【0042】
複数の車両計算機120は、それぞれ、車両100における車載通信ネットワークと接続され、車両100の制御を行う装置である。具体的には、複数の車両計算機120は、それぞれ、それぞれの車両計算機120が備える記憶部126に記憶されたデータ(プリインストールアプリおよび追加データ)を用いて車両100の制御を行う。複数の車両計算機120は、それぞれ、例えば、プログラムなどのデータを記憶するメモリ、TCUおよび他のECUなどとCAN制御コマンド信号の送受信をするための入出力ポート、および、プログラムを実行するプロセッサなどで実現される。複数の車両計算機120は、それぞれ、上記の入出力ポートによってCANなどの車載通信ネットワークに接続され、車載通信ネットワークを介して通信可能となっている。具体的には、複数の車両計算機120としては、それぞれ、IVI(In-Vehicle Infotainment)、ECU、または、RSE(Rear Seat Entertainment)などが例示される。
【0043】
複数の車両計算機120は、例えば、車両100が備える機器の制御を実行する。当該機器は、例えば、エンジン、モータ、メータ、トランスミッション、ブレーキ、ステアリング、パワーウィンドウ、エアコン、および、カーナビゲーションなどを含む。また、複数の車両計算機120の少なくとも1つは、例えば、車両100の自律運転に係る車両動作を制御する制御回路である。例えば、複数の車両計算機120は、これらの各種機器のそれぞれに対応して設けられている。
【0044】
複数の車両計算機120は、それぞれ、当該機器を制御するためのコマンドを出力する。当該コマンドは、例えば、CANなどの通信プロトコルに準拠したコマンド(上記のCAN制御コマンド)である。
【0045】
図2は、実施の形態に係る車両計算機120の構成を示すブロック図である。
【0046】
車両計算機120は、実行部121と、初期化部122と、復元部123と、機能制限部124と、追加データ取得部125と、記憶部126と、を備える。
【0047】
実行部121は、初期化部122と、復元部123と、機能制限部124と、追加データ取得部125とに各種処理を実行させる処理部である。実行部121は、例えば、セキュリティ装置110および/またはソフトウェア管理装置130から特定の機能を制限する処理またはプログラムの更新などの所定の処理を実行させる指示を取得した場合に、当該指示に基づく処理を各処理部に実行させる。
【0048】
初期化部122は、記憶部126に記憶されたデータを初期化する処理部である。記憶部126には、例えば車両100がユーザに販売される前に予め記憶されているプリインストールプログラムと、後からユーザがインストールする追加データとが、それぞれ異なるデータ領域に記憶されている。例えば、記憶部126は、プリインストールプログラム領域と、追加データ領域と、を有する。プリインストールプログラム領域には、プリインストールプログラムが記憶(格納)されており、追加データ領域には、追加データが記憶(格納)される。初期化部122は、例えば、追加データ領域に記憶されている追加データを削除することで、記憶部126を初期化(言い換えると、記憶部126に記憶されているデータを初期化)する。
【0049】
プリインストールプログラムは、例えば、運転機能などの基本的な動作を車両100が実行するためのプログラムである。プリインストールプログラムは、例えば、車両100の販売時などに予め記憶部126に記憶されている。
【0050】
追加データは、例えば、ユーザによって車両100の利用が開始されてから記憶部126に記憶されるデータである。追加データは、例えば、ユーザが設定するタイムゾーンのような設定情報、または、ユーザが車両100の利用を開始してから追加されたポストインストールアプリなどのデータである。
【0051】
復元部123は、初期化部122が初期化を実行した後に、削除された追加データを復元、つまり、記憶部126に再度記憶させる処理部である。追加データは、例えば、データサーバ400にバックアップ情報として記憶される。復元部123は、例えば、初期化部122が初期化を実行した後に、削除された追加データであるバックアップ情報を取得した場合、取得した追加データを記憶部126に記憶させる。
【0052】
機能制限部124は、車両100の機能を制限する処理部である。機能制限部124は、例えば、セキュリティ装置110から特定の機能を制限する指示を取得した場合に、当該指示に基づいて、車両100の機能の一部を一時停止させる。また、機能制限部124は、例えば、セキュリティ装置110から特定の機能の制限を解除する指示を取得した場合に、当該指示に基づいて、一時停止させていた車両100の機能の一部を再度動作させる。
【0053】
追加データ取得部125は、記憶部126に記憶されている追加データを取得し、ソフトウェア管理装置130に出力する処理部である。
【0054】
なお、追加データ取得部125が、記憶部126に記憶されている追加データを取得し、ソフトウェア管理装置130に出力するタイミング、および、ソフトウェア管理装置130が追加データをデータサーバ400に転送し、データサーバ400に記憶させるタイミングは、任意に定められてよく、特に限定されない。当該タイミングは、例えば、ユーザによる初期セットアップ時であってもよいし、ユーザが車両100を利用中の任意にタイミングであってもよい。
【0055】
実行部121、初期化部122、復元部123、機能制限部124、および、追加データ取得部125などの各処理部は、例えば、1以上のプロセッサにより実現される。
【0056】
記憶部126は、各処理部が車両100の制御を行う際に用いるプログラムなどのデータを記憶するメモリである。上記の通り、例えば、記憶部126は、プリインストールプログラムが記憶されたプリインストールプログラム領域と、追加データが記憶された追加データ領域と、を有する。
【0057】
なお、記憶部126は、1つのメモリにより実現されてもよいし、複数のメモリにより実現されてもよい。例えば、記憶部126が、複数のメモリにより実現される場合には、プリインストールプログラム領域と追加データ領域とが別のメモリに設けられてもよいし、各メモリにプリインストールプログラム領域と追加データ領域とが設けられてもよい。
【0058】
記憶部126は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などにより実現される。
【0059】
ソフトウェア管理装置130は、複数の車両計算機120のそれぞれが用いるソフトウェア(例えば、プリインストールプログラム)の更新を実行する装置である。具体的に例えば、ソフトウェア管理装置130は、データサーバ400と通信可能に接続されており、データサーバ400から最新のソフトウェアを取得し、取得したソフトウェアに複数の車両計算機120が用いるソフトウェアの更新を実行させる。
【0060】
ソフトウェア管理装置130は、OTA指示部131と、情報送信部132とを備える。
【0061】
OTA指示部131は、複数の車両計算機120にプリインストールプログラムを更新させる指示を出力する処理部である。例えば、セキュリティ装置110は、異常に対する対処の指示としてプリインストールプログラムの更新指示を取得した場合、ソフトウェア管理装置130にプリインストールプログラムの更新指示を出力する。OTA指示部131は、プリインストールプログラムの更新指示を取得した場合、データサーバ400から取得したOTAデータである更新プログラムを用いて、複数の車両計算機120にプリインストールプログラムを更新させる。
【0062】
情報送信部132は、複数の車両計算機120が備える記憶部126に記憶された追加データをデータサーバ400に出力することで、追加データをデータサーバにバックアップさせる処理部である。
【0063】
ソフトウェア管理装置130(具体的には、OTA指示部131および情報送信部132)は、例えば、TCU、ECU、および、これらの機器が実行するプログラムが記憶されたメモリにより実現される。
【0064】
監視サーバ200は、車両100(具体的には、セキュリティ装置110)と通信し、車両100の状態を監視するためのコンピュータである。セキュリティ装置110は、例えば、SOCなどの監視センターで用いられ、SIEM(Security Information and Event Management)を実現するサーバである。監視サーバ200は、セキュリティ装置110および管理サーバ300と通信可能に接続されている。
【0065】
例えば、監視サーバ200は、セキュリティ装置110から異常を示す情報を取得した場合に、異常を発生された攻撃(セキュリティ攻撃ともいう)の内容を特定する。監視サーバ200は、異常を発生した車両計算機120を示す情報、異常の内容、および、異常を発生された攻撃の内容を示す情報を攻撃情報として管理サーバ300に出力する。
【0066】
なお、攻撃の内容の特定は、マウスおよびキーボードなどのユーザインターフェースを介して攻撃の内容を示す情報をユーザから取得することで行われてもよいし、異常と攻撃の内容との関係を示すデータベースなどを用いて監視サーバ200が行ってもよい。
【0067】
監視サーバ200は、例えば、セキュリティ装置110および管理サーバ300と通信するための通信インターフェース、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、信号の送受信をするための入出力ポート、および、プログラムを実行するプロセッサなどで実現される。
【0068】
管理サーバ300は、異常が発生した車両100に当該異常(具体的には、当該異常を発生させる要因となる攻撃)に対する対処を行わせるためのコンピュータである。管理サーバ300は、車両100(具体的には、セキュリティ装置110)、監視サーバ200、および、データサーバ400と通信可能に接続されている。
【0069】
なお、管理サーバ300は、セキュリティ装置の一例である。
【0070】
管理サーバ300は、例えば、セキュリティ装置110、監視サーバ200、および、データサーバ400と通信するための通信インターフェース、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、信号の送受信をするための入出力ポート、ならびに、プログラムを実行するプロセッサなどで実現される。
【0071】
図3は、実施の形態に係る管理サーバ300の構成を示すブロック図である。
【0072】
管理サーバ300は、取得部310と、制御部320と、出力部330と、記憶部340と、を備える。
【0073】
取得部310は、異常情報を取得する処理部である。
【0074】
異常情報は、車両計算機120が攻撃されることで発生した異常に関する情報である。異常情報は、例えば、監視サーバ200から管理サーバ300に出力される攻撃情報を含む。例えば、取得部310は、管理サーバ300から攻撃情報を異常情報として取得する。
【0075】
なお、異常情報には、攻撃情報以外に車両100または監視サーバ200などから出力される、異常に関する関連情報が含まれてもよい。関連情報は、例えば、異常が未だ発生し続けているか否かを示す情報、車両100のユーザから取得された追加データに関する情報、もしくは、車両100のユーザまたは管理サーバ300を操作する分析官などから取得された異常に関する情報などである。
【0076】
制御部320は、車両100に各種処理を行わせる処理部である。例えば、制御部320は、異常に対する所定の対処を実行する指示を示す情報を車両100へ出力部330に出力(送信)させることで、車両100に異常に対する対処を実行させる。
【0077】
例えば、制御部320は、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、所定のタイミングより後に記憶部126に追加された追加データを削除させる。
【0078】
所定のタイミングは、例えば、車両100のユーザが車両100の利用を開始するタイミングである。制御部320は、例えば、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、記憶部126に予め記憶されたプリインストールプログラム以外の、車両100が利用され始めてから記憶部126に追加された追加データを削除させる。
【0079】
なお、所定のタイミングは、例えば、異常が発生してから1年以内に記憶部126に追加された追加データなどのように任意に定められてよい。
【0080】
例えば、制御部320は、取得部310が異常情報を取得した場合、発生した異常が追加データによるものであるか否かを判定し、異常が追加データによるものであると判定した場合、記憶部126に追加された追加データを削除させる。例えば、制御部320は、記憶部340に記憶された脆弱性データベースに基づいて、発生した異常が追加データによるものであるか否かを判定する。
【0081】
脆弱性データベースは、データの種類とデータのセキュリティの脆弱性との関係を示す情報である。例えば、制御部320は、脆弱性データベースに基づいて、追加データの脆弱性を判定し、追加データに脆弱性があると判定した場合、追加データを削除させる。
【0082】
なお、制御部320は、取得部310が異常情報を取得した場合、ただちに記憶部126に追加された追加データを削除させてもよい。
【0083】
また、例えば、制御部320は、記憶部126に追加された追加データを削除させた後に、追加データを記憶部126に再度記憶させてもよい。例えば、取得部310は、データサーバ400からバックアップされている追加データを取得する。制御部320は、追加データを記憶部126に再度記憶させる。
【0084】
なお、例えば、制御部320は、記憶部126に追加された追加データを削除させた後に、異常が追加データによるものであるか否かを判定し、異常が追加データによるものでないと判定した場合、追加データを記憶部126に再度記憶させてもよい。例えば、制御部320は、脆弱性データベースに基づいて、追加データの脆弱性を判定する。追加データが複数の場合、例えば、制御部320は、異常を発生させていない追加データ、例えば、脆弱性のない追加データを記憶部126に再度記憶させる。
【0085】
また、例えば、制御部320は、異常情報に基づいて、異常を発生させた攻撃を受ける要因となった機能を特定する。次に、制御部320は、例えば、特定された機能を無効化させる。具体的には、制御部320は、特定された機能を一時的に無効化させる。
【0086】
機能制限としては、インストール禁止アプリの指定を追加(例えば、アプリ名をdenylistおよび/もしくは脆弱性データベースに登録)すること、特定の通信ポートを無効化すること、または、特定の通信機能(例えば、Wi-Fi(登録商標)および/もしくはBluetooth(登録商標)など)を無効化することなどが例示される。
【0087】
例えば、制御部320は、脆弱性があると判定した追加データが、外部の通信機器から自動的に送信されてきて記憶部126に記憶されたものであるのか、ユーザが操作して記憶部126に記憶されたものであるのかを異常情報に基づいて判定する。例えば、制御部320は、脆弱性があると判定した追加データが、外部の通信機器から自動的に送信されてきて記憶部126に記憶されたものであると判定した場合、異常を発生させた攻撃を受ける要因となった機能が車両100の通信機能であると特定し、車両100が備える通信ポートの動作を一時的に無効化させる。また、例えば、制御部320は、脆弱性があると判定した追加データが、ユーザが操作して記憶部126に記憶されたものであると判定した場合、異常を発生させた攻撃を受ける要因となった機能がアプリのインストール機能であると特定し、アプリのインストール機能を一時的に無効化させる。
【0088】
これらのように、攻撃の対象となっている可能性が高い追加データを削除することで異常の発生を止める可能性を向上させ、さらに、攻撃を受ける要因となった機能を停止させることで、さらなる異常が発生させる可能性を低減できる。
【0089】
また、異常の発生は、プリインストールアプリによるものであったり、プリインストールアプリの改善によって抑制されることもある。そのため、制御部320は、例えば、更新されたプリインストールアプリが作成された旨を示す情報などの、攻撃に対する対策が施された旨を示す情報が取得された場合、当該機能を有効化させる。
【0090】
なお、攻撃に対する対策が施された旨を示す情報は、マウスおよびキーボードなどのユーザインターフェースを介してユーザから取得されてもよいし、データサーバ400から取得(受信)されてもよい。例えば、制御部320は、攻撃に対する対策が施された旨を示す情報が取得された場合、攻撃に対する対策が施されたプログラムに、所定のタイミングより前に記憶部126に記憶されたプリインストールプログラムを更新させ、プリインストールプログラムを更新させた後に、当該機能を有効化させる。
【0091】
出力部330は、制御部320が車両100に実行させる処理を示す情報などを車両100に出力する処理部である。
【0092】
取得部310、制御部320、および、出力部330などの各処理部は、例えば、1以上のプロセッサにより実現される。
【0093】
記憶部340は、管理サーバ300が備える各処理部が実行するプログラム、および、脆弱性データベースなどの情報を記憶する記憶装置である。
【0094】
記憶部340は、例えば、HDDまたはSSDなどにより実現される。
【0095】
再び
図1を参照し、データサーバ400は、車両100が備える複数の車両計算機120のそれぞれが用いるプログラム(例えば、プリインストールプログラム)を記憶するOTA(Over-The-Air)サーバである。また、データサーバ400は、複数の車両計算機120のそれぞれが用いる追加データをバックアップ情報として記憶する。データサーバ400は、管理サーバ300および車両100(具体的には、ソフトウェア管理装置130)と通信可能に接続されている。
【0096】
データサーバ400は、例えば、車両100および管理サーバ300と通信するための通信インターフェース、プログラムが格納された不揮発性メモリ、プログラムを実行するための一時的な記憶領域である揮発性メモリ、信号の送受信をするための入出力ポート、ならびに、プログラムを実行するプロセッサなどによって実現される。
【0097】
[処理手順]
続いて、セキュリティシステム10および管理サーバ300の処理手順について説明する。
【0098】
<セキュリティシステム>
図4は、実施の形態に係るセキュリティシステム10における追加データの削除の処理手順を示すシーケンス図である。なお、
図4に示す車両計算機120は、車両100が備える複数の車両計算機120のうち、セキュリティ装置110によって異常が発生されていると特定された車両計算機120である。
図4には、1台の車両計算機120を示しているが、複数であってもよい。また、本実施の形態では、車両計算機120が備える記憶部126に記憶されている追加データが、データサーバ400に既に記憶されているとして説明する。
【0099】
まず、セキュリティ装置110は、車両100の車載通信ネットワークにおける異常を監視する。セキュリティ装置110は、異常を検知した場合(S110)、例えば、車載通信ネットワークに不正CAN制御コマンドが流れていることを検知した場合、異常検知ログに基づいて、車両100が備える複数の車両計算機120のうちの、異常が発生した車両計算機120を特定する(S120)。
【0100】
次に、セキュリティ装置110は、異常が発生している旨を示す情報(例えば、異常検知ログ)を監視サーバ200に出力する(S130)。
【0101】
監視サーバ200は、異常が発生している旨を示す情報を取得した場合、当該異常を発生させた攻撃を検出(具体的には、攻撃の内容を特定)する(S140)。
【0102】
次に、監視サーバ200は、検出した攻撃を示す情報である攻撃情報を管理サーバ300に出力する(S150)。
【0103】
なお、例えば、セキュリティ装置110は、異常に関する関連情報を管理サーバ300に出力してもよい(S160)。管理サーバ300は、例えば、攻撃情報および関連情報を異常情報として取得する。
【0104】
次に、管理サーバ300は、異常情報に基づいて、セキュリティ装置110に実行させる指示およびデータサーバ400から追加データを要求するか否かなどを示す報知内容を決定する(S170)。
【0105】
次に、管理サーバ300は、決定した報知内容に基づいて、処理を行う。本実施の形態では、管理サーバ300は、ステップS180、S210、S240、および、S270を行う。管理サーバ300は、例えば、車両計算機120に追加データを削除させる指示を示す初期化指示をセキュリティ装置110に出力する(S180)。
【0106】
セキュリティ装置110は、初期化指示を管理サーバ300から取得した場合、初期化指示を車両計算機120に出力する(S190)。セキュリティ装置110は、管理サーバ300から取得した初期化指示を車両計算機120にそのまま転送してもよいし、フォーマットの変更などの処理を行って転送してもよい。
【0107】
車両計算機120は、初期化指示をセキュリティ装置110から取得した場合、追加データ領域を初期化する、つまり、記憶部126に記憶された追加データを削除する(S200)。
【0108】
また、管理サーバ300は、車両計算機120に削除させた追加データを送信させる指示を示す追加データ送信指示をデータサーバ400に出力する(S210)。
【0109】
データサーバ400は、追加データ送信指示を取得した場合、追加データを管理サーバ300に出力する(S220)。
【0110】
管理サーバ300は、例えば脆弱性データベースに基づいて、追加データを車両計算機120に復元、つまり、追加データを記憶部126に再度記憶させるか否かを判定する(S230)。
【0111】
管理サーバ300は、例えば、追加データを車両計算機120に復元させると判定した場合、追加データをセキュリティ装置110に出力する(S240)。
【0112】
なお、管理サーバ300は、例えば、追加データを車両計算機120に復元させないと判定した場合、追加データをセキュリティ装置110に出力せずに削除してもよい。これにより、管理サーバ300によって復元させると判定した追加データのみが車両計算機120に転送されて復元される。
【0113】
ステップS240の次に、セキュリティ装置110は、追加データを管理サーバ300から取得した場合、追加データを車両計算機120に出力する(S250)。
【0114】
車両計算機120は、追加データをセキュリティ装置110から取得した場合、追加データを復元、つまり、追加データを記憶部126に記憶させる(S260)。
【0115】
また、例えば、管理サーバ300は、車両計算機120に所定の機能を制限する指示を示す機能制限指示をセキュリティ装置110に出力する(S270)。
【0116】
セキュリティ装置110は、機能制限指示を管理サーバ300から取得した場合、機能制限指示を車両計算機120に出力する(S280)。
【0117】
車両計算機120は、機能制限指示をセキュリティ装置110から取得した場合、所定の機能を制限(無効化)させる(S290)。
【0118】
なお、ステップS200、S260、および、S290などの処理は、異常が発生されたと特定された(異常が発生された可能性があると特定された)車両計算機120のみが実行してもよいし、全ての車両計算機120が実行してもよい。
【0119】
図5は、実施の形態に係るセキュリティシステム10における根本対策の処理手順を示すシーケンス図である。
図5は、例えば、
図4の処理が行われた後に実行される処理である。
【0120】
例えば、
図4に示すステップS110で検知された異常に対する対策(つまり、異常を発生させた攻撃に対する対策)が施された対策済み更新ソフトウェアが作成されるなどのように、当該異常を発生させた攻撃に対する対応の準備が開始されたとする(S310)。ここでは、例えば、異常を発生させた攻撃に対する対策が施された対策済み更新ソフトウェアが作成されたとする。管理サーバ300は、攻撃に対する対策が施された旨を示す情報、言い換えると、当該異常に対する対応の準備が完了した旨を示す情報(恒久対応準備完了通知)をセキュリティ装置110に送信する。本実施の形態では、管理サーバ300は、当該異常に対する対応のためにプログラム(例えば、プリインストールプログラム)を更新させる指示を示すOTA指示をセキュリティ装置110に出力する(S320)。
【0121】
次に、セキュリティ装置110は、OTA指示を管理サーバ300から取得した場合、OTA指示をソフトウェア管理装置130に出力する(S330)。
【0122】
次に、ソフトウェア管理装置130は、OTA指示をセキュリティ装置110から取得した場合、プログラムを更新させるための情報であるOTAイメージを要求する指示をデータサーバ400に出力する(S340)。
【0123】
次に、データサーバ400は、OTAイメージを要求する指示をソフトウェア管理装置130から取得した場合、OTAイメージをソフトウェア管理装置130に出力する(S350)。
【0124】
次に、ソフトウェア管理装置130は、OTAイメージをデータサーバ400から取得した場合、OTAイメージを車両計算機120に出力する(S360)。
【0125】
次に、車両計算機120は、OTAイメージをソフトウェア管理装置130から取得した場合、OTAイメージを用いてプログラムの更新を実行する(S370)。
【0126】
次に、車両計算機120は、プログラムの更新が完了した場合、完了した旨を示す完了通知をソフトウェア管理装置130に出力する(S380)。
【0127】
次に、ソフトウェア管理装置130は、完了通知を車両計算機120から取得した場合、完了通知をセキュリティ装置110に出力する(S390)。
【0128】
次に、セキュリティ装置110は、完了通知をソフトウェア管理装置130から取得した場合、完了通知を管理サーバ300に出力する(S400)。
【0129】
次に、管理サーバ300は、完了通知をセキュリティ装置110から取得した場合、車両100の機能の制限を解除させる、つまり、無効化させた車両100の機能を有効化させる指示を示す機能制限解除指示をセキュリティ装置110に出力する(S410)。
【0130】
次に、セキュリティ装置110は、機能制限解除指示を管理サーバ300から取得した場合、機能制限解除指示をソフトウェア管理装置130に出力する(S420)。
【0131】
次に、ソフトウェア管理装置130は、機能制限解除指示をセキュリティ装置110から取得した場合、機能制限解除指示を車両計算機120に出力する(S430)。
【0132】
次に、車両計算機120は、機能制限解除指示をソフトウェア管理装置130から取得した場合、車両100の機能の制限を解除させる、つまり、無効化させた車両100の機能を有効化させる(S440)。
【0133】
<管理サーバ>
図6は、実施の形態に係る管理サーバ300の追加データの削除の処理手順を示すフローチャートである。
【0134】
まず、取得部310は、監視サーバ200などから異常情報を取得する(S510)。
【0135】
次に、制御部320は、取得部310が取得した異常情報に基づいて、車両100で発生した異常を判定する(S520)。例えば、制御部320は、異常情報に基づいて異常の内容および攻撃の内容を特定する。
【0136】
次に、制御部320は、車両計算機120が備える記憶部126を初期化させる必要があるか否かを判定する(S530)。例えば、制御部320は、車両100が誤動作するような重大な異常であるような場合には、初期化させる必要があると判定する。
【0137】
次に、制御部320は、初期化させる必要があると判定した場合(S530でYes、)セキュリティ装置110を介して車両計算機120に初期化させる指示を示す情報を出力部330に出力させることで、車両計算機120に記憶部126を初期化させる(S540)。
【0138】
次に、制御部320は、追加データの検査を行う(S550)。例えば、取得部310は、データサーバ400からバックアップ情報として記憶されている複数の追加データを取得し、制御部320は、例えば、脆弱性データベースと複数の追加データとの照合を行う。これにより、例えば、制御部320は、複数の追加データに、脆弱性に関わる、つまり、脆弱性がある追加データがあるか否かを判定する(S560)。
【0139】
制御部320は、脆弱性に関わる追加データがあると判定した場合(S560でYes)、脆弱性に関わる追加データを削除する(S570)。
【0140】
一方、制御部320は、脆弱性に関わる追加データがないと判定した(S560でNo)、または、ステップS570で脆弱性に関わる追加データを削除した後で、セキュリティ装置110を介して車両計算機120に脆弱性に関わらないデータを出力部330に出力させることで、記憶部126に当該脆弱性に関わらない追加データを記憶させる。
【0141】
なお、複数の追加データが全て脆弱性に関わる場合、複数の追加データを全て削除してステップS580が実行されなくてもよい。
【0142】
次に、制御部320は、車両100の機能制限が必要であるか否かを判定する(S590)。例えば、制御部320は、脆弱性に関わると判定した追加データが、どのような経路を経て記憶部126に記憶されたかを判定する。
【0143】
次に、制御部320は、車両100の機能制限が必要であると判定した場合(S590でYes)、セキュリティ装置110を介して車両計算機120に、機能制限を指示する情報を出力部330に出力させることで、車両計算機120に所定の機能を無効化させる(S600)。例えば、制御部320は、脆弱性があると判定した追加データが、外部の通信機器から自動的に送信されてきて記憶部126に記憶されたものであると判定した場合、異常を発生させた攻撃を受ける要因となった機能が車両100の通信機能であると特定し、車両100が備える通信ポートの動作を一時的に無効化させる。
【0144】
一方、制御部320は、例えば、異常の車両100の動作への影響が小さい場合、または、脆弱性に関わると判定した追加データが、どのような経路を経て記憶部126に記憶されたか分からないような場合には、車両100の機能制限が必要でないと判定し(S590でYes)、車両計算機120に機能制限を指示せずに処理を終了する。
【0145】
なお、制御部320は、例えば、ステップS520で特定した攻撃が一過性のものであり直ぐに止んで車両100の動作にほとんど影響がないようであれば、初期化させる必要がないと判定し(S530でNo)、初期化以外の他の処理を実行する(S610)。例えば、制御部320は、車両100が備える図示しないディスプレイなどに、攻撃があった旨を示す情報を表示させてユーザに通知してもよい。また、ステップS610は実行されずに処理が終了されてもよい。
【0146】
図7は、実施の形態に係る管理サーバ300の根本対策の処理手順を示すフローチャートである。
図7は、例えば、
図6に示すフローチャートが実行された後に実行される処理である。
【0147】
まず、取得部310は、例えば、
図4に示すステップS110で検知された異常に対する対策が施された対策済み更新ソフトウェアが作成されるなどのように、当該異常を発生させた攻撃に対する対策が施された旨を示す情報をデータサーバ400から取得したとする。制御部320は、取得部310が取得した当該情報に基づいてOTAが必要、つまり、車両計算機120が用いるプログラム(具体的には、プリインストールプログラム)を更新させる必要があるか否かを判定する(S710)。当該情報には、例えば、プログラムの更新の必要可否を示す情報が含まれる。
【0148】
制御部320は、OTAが必要であると判定した場合(S710でYes)、セキュリティ装置110を介して車両計算機120にOTA指示を出力部330に出力させることで、車両計算機120にプログラムを更新させる(S720)。
【0149】
制御部320は、OTAが必要ではないと判定した場合(S710でNo)、または、ステップS720の次に、車両100に機能制限を解除させる必要があるか否か、つまり、無効化させた車両100の機能を有効化させる必要があるか否かを判定する(S730)。
【0150】
制御部320は、例えば車両100に機能制限をさせており、車両100に機能制限を解除させる必要があると判定した場合(S730でYes)、セキュリティ装置110を介して車両計算機120に機能制限を解除させる指示を出力部330に出力させる(S740)。
【0151】
一方、制御部320は、例えば車両100に機能制限をさせておらず、車両100に機能制限を解除させる必要がないと判定した場合(S730でNo)、ステップS740を実行せず処理を終了する。
【0152】
図8は、実施の形態に係るセキュリティ装置の処理手順を示すフローチャートである。本実施の形態では、
図8は、管理サーバ300の処理手順を示すフローチャートである。
【0153】
まず、取得部310は、車両100における車載通信ネットワークと接続され、車両100の制御を行う車両計算機120が攻撃されることで発生した異常に関する異常情報を取得する。
【0154】
次に、制御部320は、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、所定のタイミングより後に記憶部126に追加された追加データを削除させる(S20)。例えば、制御部320は、異常情報が取得部310に取得された場合に、車両計算機120が有する記憶部126に記憶されたデータのうち、記憶部126に予め記憶されたプリインストールプログラム以外の、車両100が利用され始めてから記憶部126に追加された追加データを削除させる。
【0155】
[効果など]
以下、本明細書の開示内容から得られる発明を例示し、例示される発明から得られる効果などについて説明する。
【0156】
技術1は、車両100における車載通信ネットワークと接続され、車両100の制御を行う車両計算機120が攻撃されることで発生した異常に関する異常情報を取得し(S10)、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、所定のタイミングより後に記憶部126に追加された追加データを削除させる(S20)、セキュリティ方法である。
【0157】
所定のタイミングは例えば、車両100のユーザが車両100の利用を開始するタイミングである。ステップS20では、例えば、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、記憶部126に予め記憶されたプリインストールプログラム以外の、車両100が利用され始めてから記憶部126に追加された追加データを削除させる。
【0158】
ECUなどの車両計算機120は、OTAではなく、動的に機能の追加が可能な、つまり、例えばユーザの所望のタイミングで追加データを利用可能なタイプ(例えば、パーソナルコンピュータのようなアプリインストール可能なタイプ)がある。このような車両計算機120が備える記憶部126は、例えば車両100がユーザに販売される前に予め記憶されているプリインストールプログラムと、後からユーザがインストールする追加データとが、それぞれ異なるデータ領域に記憶されるように設計されている場合がある。また、例えば車両100が自動運転車両である場合などにおいては、運転機能などの基本的な動作を車両100が実行するためのプログラムは、プリインストールプログラムとして車両100の販売時などに予め記憶部126に記憶されている。一方、ユーザが設定するタイムゾーンのような設定情報などの追加データは、ユーザによって利用が開始されてから記憶部126に記憶される。ここで、多くの場合、追加データに脆弱性が含まれているために攻撃の対象となったり、追加データに不正なコマンドが紛れ込んでいたりする。そこで、技術1に係るセキュリティ方法では、例えば車両100に異常が発生した場合には、記憶部126における追加データを削除させる。これにより、運転機能などの基本的な動作を車両100が実行するためのプリインストールプログラムを残しつつ、異常の原因となっている可能性が高い追加データが削除される。そのため、運転機能などの基本的な動作を車両100に実行させ続けることができ、かつ、異常の発生を高い確率で止めることができる。したがって、実施の形態に係るセキュリティ方法によれば、攻撃に対して根本対策が施されたプログラムにプリインストールプログラムを更新しなくても、基本的な機能を停止させることなく車両100が攻撃を受けた際に当該攻撃に素早く対処できる可能性を向上できる。言い換えると、SOCおよび/またはSIEMの暫定対処で、再攻撃および/または再侵入の危険性が低減され得る。
【0159】
また、これによれば、例えば記憶部126に記憶されたプリインストールプログラムの即時更新が不要であるため、プリインストールプログラムの更新用のプログラムを予め準備しておくことが不要になる。また、問題が発生してから車両100を利用する際にプリインストールプログラムの更新のための時間も不要となる。このように、追加データの削除であれば、ユーザが車両100を利用できない期間を短縮できる。
【0160】
技術2は、異常情報を取得した場合、異常が追加データによるものであるか否かを判定し、異常が追加データによるものであると判定した場合、記憶部126に追加された追加データを削除させる、技術1に記載のセキュリティ方法である。
【0161】
これによれば、追加データを不要に削除することを抑制できる。
【0162】
技術3は、記憶部126に追加された追加データを削除させた後に、異常が追加データによるものであるか否かを判定し、異常が追加データによるものでないと判定した場合、追加データを記憶部126に再度記憶させる、技術1または2に記載のセキュリティ方法である。
【0163】
これによれば、異常の発生の要因が仮に追加データによるものであった場合に、要因の判定に時間を要することなく素早く対処できる。
【0164】
技術4は、異常情報に基づいて、異常を発生させた攻撃を受ける要因となった機能を特定し、特定された機能を無効化させる、技術1~3のいずれかに記載のセキュリティ方法である。
【0165】
これによれば、例えば追加データにより車両100の機能の一部が既に異常動作しているような場合に、当該機能を停止させることができるため、例えば車両100の異常による危険性を低減できる。
【0166】
技術5は、攻撃に対する対策が施された旨を示す情報が取得された場合、当該機能を有効化させる、技術4に記載のセキュリティ方法である。
【0167】
これによれば、当該機能が不要に無効化され続けていることを抑制できる。
【0168】
技術6は、攻撃に対する対策が施された旨を示す情報が取得された場合、攻撃に対する対策が施されたプログラムに、所定のタイミングより前に記憶部126に記憶されたプリインストールプログラムを更新させ、プリインストールプログラムを更新させた後に、当該機能を有効化させる、技術5に記載のセキュリティ方法である。
【0169】
これによれば、車両100を攻撃に対して確実に対処できるようにすることができる。
【0170】
技術7は、車両100における車載通信ネットワークと接続され、車両100の制御を行う車両計算機120が攻撃されることで発生した異常に関する異常情報を取得する取得部310と、異常情報に基づいて、車両計算機120が有する記憶部126に記憶されたデータのうち、所定のタイミングより後に記憶部126に追加された追加データを削除させる制御部320と、を備える、セキュリティ装置である。
【0171】
管理サーバ300は、セキュリティ装置の一例である。
【0172】
これによれば、実施の形態に係るセキュリティ方法と同様の効果を奏する。
【0173】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの非一時的な記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび非一時的な記録媒体の任意な組み合わせで実現されてもよい。
【0174】
(その他の実施の形態)
以上、一つまたは複数の態様に係るセキュリティ装置などについて、上記実施の形態に基づいて説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態に施したものも、本開示の範囲内に含まれてもよい。
【0175】
例えば、監視サーバ200、管理サーバ300、および、データサーバ400は、同じ建屋に配置されていてもよいし、異なる建屋に配置されていてもよい。監視サーバ200、管理サーバ300、および、データサーバ400の機能は、例えば、1以上のコンピュータによって実現されればよく、これらの機能は1以上のコンピュータのうちの任意のコンピュータによって実行されてよい。
【0176】
また、例えば、監視サーバ200および管理サーバ300が実行する機能を、車両100が有してもよい。例えば、車両100が、異常情報を取得した場合に、つまり、異常が検知された場合に、記憶部126に記憶されたプリインストールプログラム以外の追加データを削除させてもよい。
【0177】
また、例えば、上記実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0178】
また、例えば、上記実施の形態において、処理部の各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0179】
なお、以下のような場合も本開示に含まれる。
【0180】
(1)上記の少なくとも1つの装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。そのRAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記の少なくとも1つの装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0181】
(2)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。当該RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0182】
(3)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、その装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0183】
(4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0184】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD(Compact Disc)-ROM、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【0185】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送などを経由して伝送するものとしてもよい。
【0186】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワークなどを経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【0187】
本開示は、車載通信ネットワークにおけるサイバー攻撃を監視するセキュリティ装置などに適用可能である。
【符号の説明】
【0188】
10 セキュリティシステム
100 車両
110 セキュリティ装置
111 監視部
112 特定部
113 報知部
114 受信部
120 車両計算機
121 実行部
122 初期化部
123 復元部
124 機能制限部
125 追加データ取得部
126、340 記憶部
130 ソフトウェア管理装置
131 OTA指示部
132 情報送信部
200 監視サーバ
300 管理サーバ
310 取得部
320 制御部
330 出力部
400 データサーバ