(57)【要約】  本発明は、指示を受信する受信部２０１と、受信部２０１が受信した指示のうち、不正な指示を検出するファジング検出部２０２と、ファジング検出部２０２が検出した不正な指示に対応した見せかけの動作を決定する見せかけ動作決定部２０４と、見せかけ動作決定部２０４が決定した見せかけの動作に対応した指示を生成する指示生成部２０６とを有することを特徴とする中継装置１３を提供する。
2017183099.tif 000002
【特許請求の範囲】
【請求項１】
指示を受信する受信部と、
前記指示のうち、不正な指示を検出するファジング検出部と、
前記不正な指示に対応した見せかけの動作を決定する見せかけ動作決定部と、
前記見せかけの動作に対応した指示を生成する指示生成部と
を有することを特徴とする中継装置。
【請求項２】
前記不正な指示に対し、符号を発生するハッシュ発生部を有し、
前記見せかけ動作決定部は、前記符号に対応した見せかけの動作を決定することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記不正な指示を指示群として１つ以上保存し、前記指示群が特定の条件を満たした場合、前記指示群を前記ハッシュ発生部へ出力するトリガ抽出部を有し、
前記ハッシュ発生部は、前記トリガ抽出部が出力する前記指示群に対し、符号を発生することを特徴とする請求項２に記載の中継装置。
【請求項４】
個別識別子を取得する個別識別子取得部を有し、
前記ハッシュ発生部は、前記指示群と前記個別識別子を用いて符号を発生することを特徴とする請求項３に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車や車両等に搭載される中継装置に関する。
【背景技術】
【０００２】
近年、組み込み情報処理機器に対し、脆弱性を喚起する操作を探索する脆弱性探索攻撃（ファジング）の事例が増えてきている。これまでは、スマートフォンやゲーム機器などが対象とされ、不正にコピーしたソフトウェアを利用できるように改造する事例等が問題となってきたが、今後は、自動車用車載機器やファクトリーオートメーション機器もその対象となると予測される。【０００３】
さらには、Ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ（ＩｏＴ）の普及により、これらの機器がインターネット上のサーバと「つながる」機会が増えるため、あらゆる場所から脆弱性を探索される危険性がさらに高まっている。【０００４】
また、自動車用車載機器やファクトリーオートメーション機器のコード量は、年々増加しており、今後もさらなる機能の追加によってコードが複雑化するため、脆弱性を完全に排除した状態で市場に投入することは、極めて困難なことになりつつある。【０００５】
このような問題に対し、特許文献１では、機器の正常状態（ホワイトリスト）を定義しておき、ホワイトリストから逸脱したものを攻撃とするアノーマリ型の侵入検知技術で検知を行っている。【０００６】
その反対に、非特許文献１では、既知の攻撃手順をルール化（ブラックリスト）し、ブラックリストに合致するものを攻撃とするシグネチャ型の侵入検知技術で検知を行っている。【０００７】
また、特許文献２では、ファジングを検出した場合、脆弱性が探索されている旨を管理者等に報告したり、脆弱性が探索されている対象となっている機器に対し機能制限を行ったりしている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２３２７１６号公報
【特許文献２】特開２０１３−１３１９０７号公報
【非特許文献】
【０００９】
【非特許文献１】山田明、三宅優、竹森敬祐、田中俊昭著  「学習データを自動生成する未知攻撃検知システム」  情報処理学会論文誌、ｖｏｌ．４６、Ｎｏ．８  ２００５年８月
【非特許文献２】ＴＣＧ、「ＴＰＭ  ２．０  Ａｕｔｏｍｏｔｉｖｅ  Ｔｈｉｎ  Ｐｒｏｆｉｌｅ」、［ｏｎｌｉｎｅ］、２０１５年３月、［平成２７年１２月２３日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｔｒｕｓｔｅｄｃｏｍｐｕｔｉｎｇｇｒｏｕｐ．ｏｒｇ／ｆｉｌｅｓ／ｓｔａｔｉｃ＿ｐａｇｅ＿ｆｉｌｅｓ／７２ＥＣ６ＢＦ８−１Ａ４Ｂ−Ｂ２９４−Ｄ０７ＢＢＡ４ＡＥ８Ｆ４Ａ０４Ｆ／ＴＣＧ％２０ＴＰＭ％２０２．０％２０Ａｕｔｏｍｏｔｉｖｅ−Ｔｈｉｎ％２０Ｐｒｏｆｉｌｅ＿ｖ１．０．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明が対象とする組み込み情報処理機器は、自動車や工場の生産システム等を含む。これらの組み込み情報処理機器は、使用者の安全に関連するため、ファジングへの対応方策が制限されている場合が多い。つまり、ファジングへの対応方策によって、組み込み情報処理機器が突然使えなくなったり、使用者の安全が阻害されたりすることが許容されない。これは、ファジングが実行されたときに、対象となっている機器の機能制限を行うことは、かならずしも安全ではないということを意味する。【００１１】
また、組み込み情報処理機器は、オフライン状態を含む、あらゆる状況下でファジングを受ける可能性がある。例えば、工場が遠隔地からモニタリングできない地域にある場合や、自動車がネットワーク圏外を走行する場合などである。【００１２】
非特許文献１に記載のシグネチャ型の侵入検知技術では、未知なる攻撃への対応ができないと言う課題がある。【００１３】
特許文献２では、ファジングを検出した場合に、ファジングが実行されている旨を管理者等に報告したり、ファジングの対象となっている機器に対し、機能制限を行ったりしている。しかし、組み込み情報処理機器は常に遠隔地からモニタできるとは限らないので、管理者等に迅速に報告することは不可能であるという課題がある。【００１４】
さらに、ファジングを実行しようとする攻撃者が組み込み情報処理機器を所有している場合、自身が保有する組み込み情報処理機器をオフライン状態にしたり、特定のサーバにだけ接続させなかったりすることは容易である。【００１５】
また、ユーザによるソフトウェアのインストール等により、組み込み情報機器が扱う情報は、変化しうる。【００１６】
特許文献１記載のアノーマリ型のファジング検出手法では、このように、組み込み情報処理機器が扱う情報が変化した場合、誤検知が発生するという課題がある。
【課題を解決するための手段】
【００１７】
本発明は、指示を受信する受信部と、前記指示のうち、不正な指示を検出するファジング検出部と、前記不正な指示に対応した見せかけの動作を決定する見せかけ動作決定部と、前記見せかけの動作に対応した指示を生成する指示生成部とを有することを特徴とする中継装置を提供する。
【発明の効果】
【００１８】
本発明によれば、ファジング攻撃をしている攻撃者に対し、脆弱性を発見させにくくすることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明を車載ネットワークシステムに適用した場合のシステム構成の一例を示すブロック図である。
【図２】実施の形態１に係る中継装置の機能構成の一例を示すブロック図である。
【図３】本実施の形態に係るメッセージの構成の一例である。
【図４】実施の形態１に係るファジング検出データベースの例を示す図である。
【図５】実施の形態１に係るデコイ動作データベースの例を示す図である。
【図６】実施の形態１に係る中継装置のハードウェア構成図である。
【図７】本来あるべきアプリケーションの実装の一例を示すフローチャートである。
【図８】脆弱性を含まないアプリケーションの実装の一例を示す疑似コードである。
【図９】本来の実装において想定されるメッセージの一例を示す図である。
【図１０】脆弱性を含むアプリケーションの実装の一例を示すフローチャートである。
【図１１】脆弱性を含むアプリケーションの実装の一例を示す疑似コードである。
【図１２】脆弱性を探索しようと送信されるメッセージの一例を示す図である。
【図１３】実施の形態１に係る中継装置の動作のフローチャートである。
【図１４】実施の形態２に係る中継装置の機能構成の一例を示すブロック図である。
【図１５】実施の形態２に係るデコイ動作データベースの例を示す図である。
【図１６】実施の形態２に係る中継装置の動作のフローチャートである。
【図１７】実施の形態３に係る中継装置の機能構成の一例を示すブロック図である。
【図１８】実施の形態３に係るトリガデータベースの例を示す図である。
【図１９】実施の形態３に係る中継装置の動作を示すフローチャートである。
【図２０】実施の形態４に係る中継装置の機能構成の一例を示すブロック図である。
【図２１】実施の形態４に係る中継装置の動作を示すフローチャートである。
【図２２】実施の形態５に係る中継装置の機能構成の一例を示すブロック図である。
【図２３】実施の形態５に係る中継装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
実施の形態１．
図１は、本実施の形態におけるシステム構成を示すブロック図である。
図１において、１は自動車、２はデータセンタである。なお、本実施の形態では、自動車１に複数の車載機器を有する車載ネットワークシステム１０が実装されている場合について説明を行う。
【００２１】
データセンタ２は、正常アプリ２１、不正アプリ２２、アンテナ２３から構成されている。
正常アプリ２１は、車載ネットワークシステム１０の車載機器を制御するための指示（メッセージ）を送信するアプリケーションである。
【００２２】
不正アプリ２２は、正常アプリ２１と同様に車載ネットワークシステム１０の車載機器を制御するためのメッセージを送信するアプリケーションであるが、攻撃者が車載ネットワークシステム１０の脆弱性を探索するために用いられる点が異なる。
本発明では、脆弱性を探索するためのメッセージのことを不正メッセージ（不正な指示）と呼ぶ。
【００２３】
なお、不正アプリ２２は本来データセンタ２に存在してはならないが、データセンタ２の運営者によるアプリの審査をすり抜ける場合を想定している。例えば、スマートフォンのアプリ審査等において、不正なアプリが多数アプリ配信サイトに登録される可能性があることは周知の事実であり、本願においても同様のケースを想定している。
【００２４】
アンテナ２３は、正常アプリ２１や不正アプリ２２から送信されるメッセージを電磁波で出力する。
【００２５】
車載ネットワークシステム１０は、アンテナ１１、車載ネットワーク１２、中継装置１３、制御装置１４、制御装置１５、ヘッドライト１６、室内灯１７、エアコン１８から構成される。
【００２６】
アンテナ１１は、自動車１の外部からのメッセージの受信を行う。
【００２７】
車載ネットワーク１２は、アンテナ１１、中継装置１３、制御装置１４、制御装置１５などの間の通信を担保するものであり、例えば、Ｃｏｎｔｒｏｌｌｅｒ  ａｒｅａ  ｎｅｔｗｏｒｋ（ＣＡＮ）やＥｔｈｅｒｎｅｔ（登録商標）等を使用して構成する。
【００２８】
中継装置１３は、車外における正常アプリ２１のメッセージを中継し、制御装置１４や制御装置１５などに伝達する機能を持つ。なお、中継装置１３は、車外における正常アプリ２１のメッセージだけではなく、制御装置から出力されるメッセージ中継し、他の制御装置へ伝達してもよい。
【００２９】
制御装置１４は、車載接続されたヘッドライト１６の制御を行う。
【００３０】
制御装置１５は、接続された室内灯１７、エアコン１８の制御を行う。
【００３１】
なお、制御装置が制御できる車載機器の数に制限はなく、例えば、制御装置と制御される車載機器とが一対一で対応させてもよいし、一つの制御装置で全ての車載機器を対応させてもよい。また、制御装置は、自分以外の他の制御装置に接続している車載機器に対し、メッセージを送信してもよい。
【００３２】
図２は、本実施の形態における、中継装置１３の機能ブロック構成図である。
受信部２０１は、データセンタ２が出力したメッセージおよび制御装置が出力したメッセージを受信し、ファジング検出部２０２へ出力する。メッセージの構成の一例を図３に示す。メッセージは、メッセージの識別子（メッセージＩＤ）とメッセージのデータ部から構成される。
【００３３】
ファジング検出部２０２は、受信部２０１が出力したメッセージが、脆弱性を探索する攻撃であるか否かを判断し、脆弱性を探索する攻撃と判断した場合、そのメッセージを不正メッセージとしてデコイ動作決定部２０４へ出力する。
【００３４】
なお、ファジング検出部２０２が、脆弱性を探索する攻撃と判断する方法は、どのような方法を用いてもよいが、本実施の形態では、未知の攻撃にも対応が可能であるアノーマリ型の侵入検知技術を用いた場合について説明する。
【００３５】
検出データベース２０３は、メッセージが、脆弱性を探索する攻撃かどうかを判断するために用いるデータベースである。本実施の形態では、アノーマリ型の侵入検知技術を用いた場合を想定しているため、検出データベース２０３には、正常な場合のメッセージについての情報が記載されていることになる。
【００３６】
検出データベース２０３の例を、図４に示す。本実施の形態では、許可されるメッセージが３つであった場合の例を示している。許可されるメッセージ毎に、車両の状態、メッセージ識別子（メッセージＩＤとデータ部（データ範囲）があらかじめ設定されている。
【００３７】
図４では、登録番号が１のメッセージは、停止中あるいは運転中に送信されるものであり、メッセージＩＤが０ｘ１１００、データ範囲は０ｘ１０から０ｘ１ｆ迄の間となる場合、登録番号が２のメッセージは、停止中に送信されるものであり、メッセージＩＤが０ｘ１２００、データ範囲は０ｘ１２から０ｘ３ｆ迄の間となる場合、登録番号が３のメッセージは、停止中に送信されるものであり、メッセージＩＤが０ｘ１３００、データ部は０ｘ４０、０ｘ５０または０ｘ６０のいずれかとなる場合、登録番号が４のメッセージは、運転中に送信されるものであり、メッセージＩＤが０ｘ１３００、データ部は０ｘ４０、０ｘ５０または０ｘ７０のいずれか、となる場合についての例を示している。
【００３８】
デコイ動作決定部（見せかけ動作決定部）２０４は、ファジング検出部２０２が出力した不正メッセージに対応したデコイ動作（見せかけの動作）を決定し、デコイ動作実行部２０６に出力する。
【００３９】
デコイ動作データベース２０５は、攻撃者がファジングに用いたメッセージＩＤと、メッセージのデータ部、ファジングを検出したときに行うデコイ動作との対応関係が定義されているデータベースである。
なお、デコイ動作とは、車載ネットワークシステム１０の本質的な機能動作および安全に影響を与えない態様で、通常とは異なる方法で制御装置を動作させることを指す。
デコイ動作データベース２０５の例を、図５に示す。
【００４０】
図５の例では、メッセージＩＤが０ｘ１１００となっているメッセージを用いてファジングが実施されていることを検出した場合には、「ネットワーク送受信タイミングを１０ｍｓ遅らせる」というデコイ動作を実施することを示しており、メッセージＩＤが０ｘ１２００となっているメッセージを用いてファジングが実施されたことを検出した場合には、「送信するメッセージに不要なデータを加える」というデコイ動作を実施することを示しており、メッセージＩＤが０ｘ１３００となっており、データ部が０ｘ１２以上であるというメッセージに関してファジングが実施されていることを検出した場合には、「ＩＯの反応を少し遅らせる」というデコイ動作を実施する。
【００４１】
なお、図５の例ではメッセージＩＤが３つ記載されているが、その数を限定するものではない。実際の車載ネットワークシステム１０においては１００種類以上のメッセージＩＤが利用されるため、それぞれに対応したデコイ動作を定義してもよい。
【００４２】
また、検出データベースの例に準じて、車両の状態等を対応させて、デコイ動作を定義してもよい。
デコイ動作実行部（指示生成部）２０６は、デコイ動作決定部２０４が出力した、ファジング検出部２０２が出力した不正メッセージに応じた、デコイ動作を実行するためのメッセージ（見せかけの動作に対応した指示）を生成し、送信部２０７へ出力する。なお、デコイ動作実行部２０６で、デコイ動作を実行するためのメッセージを生成するのではなく、デコイ動作データベース２０５にあらかじめ、デコイ動作を行うためのメッセージを用意しておいてもよい。
【００４３】
送信部２０７は、デコイ動作実行部２０６から出力されたメッセージを、データセンタ２もしくは制御装置に対し、出力する。
【００４４】
図６は、本実施の形態に係る、中継装置１３のハードウェア構成図である。図６に示されるように、本実施の形態に係る中継装置１３は、主要な構成として、マイクロコンピュータ１００、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１０１、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１０２、不揮発性メモリ１０４、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１０５、通信部１０６を備える。
【００４５】
本実施の形態では、ＣＰＵ１０５がプログラム１０３を実行できる構成を備えていれば、どのような構成のマイクロコンピュータであっても良い。例えば、プログラム１０３はＲＯＭ１０２に格納され、ファジング検出部２０２、デコイ動作決定部２０４、デコイ動作実行部２０６、ハッシュ発生部２０８、トリガ抽出部２０９、データベースアップデート部２１２の少なくともいずれか一つが含まれる。
【００４６】
また、これらの機能を、ＣＰＵ１０５を経由せずに、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等を用いて実装してもよい。
【００４７】
本実施の形態では、必要に応じて、ＣＰＵ１０５から検出データベース２０３、デコイ動作データベース２０５、トリガデータベース２１０にアクセスできる構成を備えていれば、どのような構成のマイクロコンピュータであっても良い。例えば、これらのデータベースを、書き換えることが可能な不揮発性メモリ１０４に保存してもよい。
【００４８】
また、これらのデータベースを不揮発性メモリ１０４に保存せず、例えば車載ネットワークシステム１０を経由し、異なる装置に存在するデータベースにアクセスするようにしてもよい。
【００４９】
本実施の形態では、通信部１０６は、受信部２０１および送信部２０７に対応する。通信部１０６は、例えばＣＡＮやＥｔｈｅｒｎｅｔ（登録商標）にアクセスすることができるが、これらの規格に限定されるものではない。なお、本実施の形態では、アンテナ１１を中継装置１３と分けたが、通信部１０６がアンテナ１１を含めたものであってもよい。
【００５０】
次に動作について説明する。
なお、本実施の形態では、データセンタ２において攻撃者が不正アプリ２２を用いることによって、車載ネットワークシステム１０に残存する脆弱性を探索しようと、サイドチャネルアタックを行おうとした場合に、中継装置１３がどのような動作を実施するか開示する。
【００５１】
まず、本発明で前提とする脆弱性の探索について説明する。
攻撃者は、不正アプリ２２を用いて、車載ネットワークシステム１０に不正メッセージを送信する。この不正メッセージの送信は、車載ネットワークシステム１０の脆弱性探索を目的としている。
【００５２】
仮に、車載ネットワークシステム１０に脆弱性が存在していたならば、攻撃者からの不正メッセージによって、直接重大な結果を引き起こさなかったとしても、ネットワーク送受信タイミングの微小な変化、制御対象機器の動作タイミングの微小な変化等、攻撃者が観測可能な事象が喚起される可能性がある。
【００５３】
このような事例を図７から図１２を用いて説明する。
図７に、脆弱性を含まないアプリケーションの実装の一例を示す。図７に示したアプリケーションに対応する疑似コードを図８に示す。
【００５４】
また、図９に示すメッセージの例（ｍｓｇ１）には、摂氏温度の情報と華氏温度の情報が含まれているとする。このとき、受信したメッセージに記載された摂氏温度の情報と華氏温度の情報によって図７のフローチャートのように処理が実行される。
【００５５】
図７に示した脆弱性を含まないアプリケーションでは、本来、条件１と条件２が同時に満たされることはないので、処理Ａも処理Ｂの双方が実行されることはない。また、摂氏温度と華氏温度の情報に相互に矛盾があったとしても、摂氏温度による判断（条件１）が優先され、処理Ａと処理Ｂの双方が実行されることはない。
【００５６】
一方、図１０に、脆弱性の存在するアプリケーションの実装の一例を示す。図１０に示した脆弱性の存在するアプリケーションに対応する疑似コードを図１１に示す。
図１１の例では、コーディング作業においてミスがあり、本来入れなければならない単語（図１１の例では「ｅｌｓｅ」）が抜けている。
【００５７】
このため、図１２に示すように摂氏温度と華氏温度の情報に矛盾がある、脆弱性を探索しようとするメッセージを受信した場合、処理Ａと処理Ｂの双方が実行される。
処理Ａと処理Ｂの双方が実行されれば、メッセージ送信とメッセージ受信の間隔が変わるので、攻撃者はこれを観測することができる。
【００５８】
以上より、処理Ａと処理Ｂの双方が実行されたときにソフトウェアの内部状態が不正になることが容易に想定される。
【００５９】
例えば、処理Ａと処理Ｂの中身で同じ変数をインクリメントしていたとすれば、処理Ａと処理Ｂの双方を実行させることでオーバーフローを引き起こすことができる可能性がある。オーバーフローをきっかけに攻撃する方法は、整数オーバーフロー攻撃として著名なものである。
攻撃者は、このような微小な挙動変化を観測して、どのようなメッセージが脆弱性を引き起こす可能性があるか判断する。この不正メッセージの送信によって、車載ネットワークシステム１０に挙動の変化が起きたとすれば、その原因が脆弱性である可能性がある。
【００６０】
そこで、攻撃者は、不正メッセージに続けて、さらに不正メッセージを送信する。さらに送信される不正メッセージは、最初のものと同じ場合もあるし、最初のものと別の場合もありうる。また、何回も繰り返し送信される場合もある。
【００６１】
攻撃者は、これを繰り返すことにより、目的とする挙動の変化（例えば、自動車の制御の乗っ取り、不正アプリのインストール、知的財産権で保護されている車両制御プログラムの奪取）等を目指す。
図１３を用いて、中継装置１３の動作を説明する。
アンテナ１１は、外部から受信したメッセージを受信部２０１へ出力する。受信部２０１は、入力されたメッセージをファジング検出部２０２へ出力する（Ｓ１０１）。
【００６２】
ファジング検出部２０２は、受け取ったメッセージをファジング検出データベース２０３と比較し、そのメッセージが脆弱性の探索を目的としているか判断する（Ｓ１０２）。
【００６３】
本実施の形態では、受け取ったメッセージを判断する方法として、ホワイトリストを用いる。
【００６４】
例えば、車両の状態、送られてくる可能性のあるメッセージＩＤおよび、そのメッセージＩＤで存在しうるメッセージのデータ部の範囲などを、関連付けておき、あらかじめファジング検出データベース２０３に記載しておく。
ファジング検出部２０２は、受け取ったメッセージが、これらの条件を満たさなかった場合、そのメッセージは、脆弱性の探索を目的としていると判断する（Ｓ１０２：ＹＥＳ）。
【００６５】
なお、ファジング検出部２０２は、受け取ったメッセージが脆弱性の探索を目的としているか否かの判断に、ディープラーニングやサポートベクターマシンのような機械学習手法を用いてもよい。これにより、ファジング検出データベース２０３の肥大化を防ぎつつも、未知の攻撃に対応することができる。これらの機械学習手法の教師データとして、開発時に実施した試験の動作ログを利用できる。
【００６６】
脆弱性探索を目的としているメッセージ（不正メッセージ）であった場合（Ｓ１０２：ＹＥＳ）、ファジング検出部２０２は、不正メッセージをデコイ動作決定部２０４へ出力する。
【００６７】
デコイ動作決定部２０４は、不正メッセージをデコイ動作データベース２０５と比較して、実行すべきデコイ動作を選択し、そのデコイ動作をデコイ動作実行部２０６に出力する（Ｓ１０３）。
【００６８】
実行すべきデコイ動作には、例えば、ネットワーク送受信タイミングに微小なずれを発生させること、制御対象機器の動作タイミングを一瞬遅らせることが含まれること、制御対象機器の一つであるエアコンの動作をユーザの意思にかかわらず不正に変更することまたは制御対象機器の一つである室内灯をユーザの意思にかかわらず不正に変更することなど、どのような動作であってもよい。また、デコイ動作として、単に「何もしない」という動作であっても良い。
【００６９】
図５の例を用いると、登録番号１の行において、メッセージＩＤ  ０ｘ１１００が不正メッセージに該当した場合には、ネットワーク送受信タイミングを１０ｍｓ遅らせる、という動作を実施する。
【００７０】
図５の例では、個々のメッセージＩＤに対してデコイ動作を定義したが、メッセージのデータ部によってデコイ動作を定義してもよい。
また、デコイ動作決定部２０４においてデコイ動作を決定する際に、同一の不正メッセージに対しては、常に同じデコイ動作を実行するようにすることも効果的である。これにより、攻撃者に対し、不正メッセージを車載ネットワークシステム１０が検出したとき、単にランダムにデコイ動作を実行させているのではないと想起させることができる。
【００７１】
以上のように、実際には脆弱性を喚起しない不正メッセージが、脆弱性を喚起しているものと攻撃者に誤認させ、攻撃者が脆弱性を探索するのに要する時間を長引かせることができる。
【００７２】
また、デコイ動作決定部２０４が決定するデコイ動作は、同じ頻度で行われないようにしてもよい。例えば攻撃者が総あたり攻撃を実施する場合を考える。
【００７３】
メッセージのデータ部として有り得る値が１から１００であったとする。仮に、メッセージの内容が、１−２０：デコイ動作ａ、２１−４０：デコイ動作ｂ、４１−６０：デコイ動作ｃ、６１−８０：デコイ動作ｄ、８１−１００：デコイ動作ｅという設定をしたときのことを考える。
【００７４】
このとき、攻撃者は１から１００まで順番に不正メッセージを送信することができるが、観測できる不正動作は、すべて同頻度となる。仮にメッセージの内容として”４２”を送信したときに脆弱性に関係する事象が発生してしまうとすると、観測された事象の頻度の統計をとることで脆弱性に関係する事象を導出することが可能になってしまう。
【００７５】
ここで、１−４０：デコイ動作ａ、４１−８０：デコイ動作ｂ、８１−９８：デコイ動作ｃ、９９：デコイ動作ｄ、１００：デコイ動作ｅのようにデコイ動作が行われる頻度を変えると、実際の脆弱性に関係する事象とデコイ動作の挙動が混乱し、攻撃者の時間をさらに浪費させることができる。
【００７６】
デコイ動作実行部２０６は、実行すべきデコイ動作をメッセージに変換し、送信部２０７へ出力する（Ｓ１０４）。例えば、本実施の形態の場合だと、デコイ動作実行部２０６は、デコイ動作を制御装置１４または制御装置１５を介して、ヘッドライト１６、室内灯１７、エアコン１８等を制御できるような形式に変換する。
【００７７】
送信部２０７からメッセージを受け取った制御装置は、メッセージに従った制御（デコイ動作）を行う（Ｓ１０５）。
【００７８】
なお、Ｓ１０２において、脆弱性の探索を目的としていないと判断した場合（Ｓ１０２：ＮＯ）、ファジング検出部２０２は、メッセージを送信部２０７へ出力する。
【００７９】
送信部２０７からメッセージを受け取った制御装置は、メッセージに従った制御を行う（Ｓ１０６）。
【００８０】
以上のように、本実施の形態によれば、受信部２０１が出力したメッセージが、脆弱性を探索する攻撃であるか否かを判断するファジング検出部２０２と、ファジング検出部２０２が出力したメッセージの内容に対応したデコイ動作を決定するデコイ動作決定部２０４を備えたので、攻撃者に対し、脆弱性に起因する不正な動作と、デコイ動作とを区別しづらくすることにより、脆弱性露見までの時間を長大化することが可能になる。
【００８１】
実施の形態２．
実施の形態１では、デコイ動作と、メッセージＩＤを関連付けて選択する構成を開示した。この構成では、メッセージＩＤの種類が増大した際、デコイ動作データベース２０５に要求される保存容量が増大してしまうとともに、データベースを検索することに伴うデコイ動作決定部２０４の処理負荷が増大してしまう場合がある。
【００８２】
本実施の形態では、デコイ動作データベース２０５にメッセージＩＤの代わりに、ハッシュ値を用いて、デコイ動作データベース２０５の容量を削減するとともに、データベースを検索することに伴うデコイ動作処理部の処理負荷を削減できる構成を開示する。
【００８３】
図１４は、本実施の形態における、中継装置１３の機能ブロック構成図であり、図１４において、図２と同一符号は同一または相当部分を示している。
【００８４】
本実施の形態に係る中継装置１３は、実施の形態１と基本的な構成は同じであるが、デコイ動作データベース２０５にメッセージＩＤのハッシュ値を用いていることと、ファジング検出部２０２が出力する不正メッセージに応じて一意の符号を発生するハッシュ発生部２０８を有する点が異なる。
【００８５】
本実施の形態に係るデコイ動作データベース２０５の例を図１５に示す。
本実施の形態に係るデコイ動作データベース２０５は、実施形態１の場合とは異なり、攻撃者がファジングに用いた不正メッセージから生成したハッシュと、ファジングを検出したときに行うデコイ動作との対応関係が定義されている。このようにすることにより、メッセージＩＤが仮に２バイト、ハッシュの長さが仮に１バイトとすれば、デコイ動作データベース２０５に必要なデータ量を削減することができる。
【００８６】
なお、メッセージＩＤとメッセージのデータ部の両方とデコイ動作が関連付けられていた場合には、この双方をハッシュ発生部２０８の入力とすることで、さらにデコイ動作データベース２０５に必要なデータ量を削減することができる。
【００８７】
さらに、デコイ動作データベース２０５のデータ量が削減されたことにより、デコイ動作決定部２０４の処理負荷も削減されるという効果がある。
次に図１６を用いて、動作について説明する。
【００８８】
実施の形態１のときと同様、データセンタ２において攻撃者が不正アプリ２２を用いることによって、車載ネットワークシステム１０に残存する脆弱性を探索しようと、サイドチャネルアタックを行おうとした場合に、中継装置１３がどのような動作を実施するか開示する。
【００８９】
本実施の形態における動作については、実施の形態１で述べた手順と同じであり、以下に実施の形態１で説明した動作との差異についてのみ説明する。
【００９０】
脆弱性探索を目的としているメッセージ（不正メッセージ）であったとファジング検出部２０２が判断した場合（Ｓ１０２：ＹＥＳ）、ファジング検出部２０２は、不正メッセージのメッセージＩＤをハッシュ発生部２０８へ出力する。
【００９１】
ハッシュ発生部２０８は、受け取ったメッセージＩＤの符号（ハッシュ）を生成し、デコイ動作決定部２０４へ出力する（Ｓ２０１）。
【００９２】
ここでハッシュとは、メッセージＩＤを要約した数値であり、元のメッセージＩＤの長さより短く、固定長である。ハッシュを生成するのに使用可能なハッシュ関数としては、ＭＤ５、ＳＨＡ−１、ＣＲＣなどがあるが、これらに限定されるものではない。
【００９３】
デコイ動作決定部２０４は、渡されたハッシュとデコイ動作データベース２０５とを比較して、実行すべきデコイ動作を決定する（Ｓ２０２）。
【００９４】
以上のように、本実施の形態によれば、実施の形態１で開示した効果に加えて、デコイ動作データベース２０５の大きさを削減できるという効果がある。
【００９５】
実施の形態３．
実施の形態２では、攻撃者が脆弱性の探索に単一のメッセージを使用する場合について説明した。しかし、脆弱性に対する攻撃は、複数のメッセージを組み合わせて行われることが一般的である。このため、デコイ動作が単一のメッセージにのみに基づいて決定されると、複数のメッセージを用いて探索した場合に、単一のメッセージで喚起されるデコイ動作以外の動作が観測された場合に、前記動作が残存する脆弱性によって喚起されたと判断できる場合がある。
【００９６】
本実施の形態では、トリガデータベースを用いた場合について述べる。トリガデータベースを用いることにより、例え攻撃者が探索に複数のメッセージを用いたとしても、残存する脆弱性により喚起される動作とデコイ動作との区別が困難になる。
【００９７】
図１７は、本実施の形態における、中継装置１３の機能ブロック構成図であり、図１７において、図１４と同一符号は同一または相当部分を示している。
【００９８】
本実施の形態に係る中継装置１３は、実施の形態２と基本的な構成は同じであるが、トリガ抽出部２０９と、トリガデータベース２１０と、受信メッセージ保存部２１３を有する点が異なる。
【００９９】
トリガ抽出部２０９は、トリガデータベース２１０に基づき、ファジング検出部がファジングを検出したタイミングから、事前に定義された終了条件を受信メッセージが満たすタイミングまでに、受信したメッセージを抽出する。
【０１００】
トリガデータベース２１０には、トリガ抽出部２０９がメッセージを抽出するための終了条件が登録されている。トリガデータベース２１０の例を図１８に示す。図１８の例では、「特定のメッセージを受信」、「開始条件に適合してから受信したメッセージの個数」、「開始条件に適合したメッセージを受信してからの時間」を例としてあげている。
【０１０１】
例えば、図１８の登録番号１の条件では、メッセージＩＤが０ｘ１１００の不正メッセージを受信したタイミングから、メッセージＩＤが０ｘ１１００のメッセージを受信したタイミングまでの受信メッセージを抽出する取得することを示している。
【０１０２】
受信メッセージ保存部２１３は、トリガ抽出部２０９が受け取ったメッセージを一時的に保存するのに用いられる。
【０１０３】
次に図１９を用いて、動作について説明する。
実施の形態１のときと同様、データセンタ２において攻撃者が不正アプリ２２を用いることによって、車載ネットワークシステム１０に残存する脆弱性を探索しようと、サイドチャネルアタックを行おうとした場合に、中継装置１３がどのような動作を実施するか開示する。
【０１０４】
本実施の形態における動作については、実施の形態２で述べた手順と同じであり、以下に実施の形態２で説明した動作との差異についてのみ説明する。
【０１０５】
脆弱性探索を目的としているメッセージ（不正メッセージ）であったとファジング検出部２０２が判断した場合（Ｓ１０２：ＹＥＳ）、ファジング検出部２０２は、不正メッセージをトリガ抽出部２０９へ出力する。
【０１０６】
トリガ抽出部２０９は、受け取ったメッセージを受信メッセージ保存部２１３に保存する（Ｓ３０１）。
【０１０７】
トリガ抽出部２０９は、受け取ったメッセージが終了条件を満たしているかを判断する（Ｓ３０２）。例えば、図１８の登録番号１の行場合、メッセージＩＤが０ｘ１１００である不正メッセージを検出したあと、はじめてメッセージＩＤが０ｘ１０００である受信メッセージを受け取った場合、「終了条件を満たした」と判断する。
【０１０８】
受け取ったメッセージが終了条件を満たしていると判断した場合（Ｓ３０２：ＹＥＳ）、トリガ抽出部２０９は、それまで受信メッセージ保存部２１３に保存した複数のメッセージ（指示群）のメッセージＩＤをハッシュ発生部２０８へ出力する。
【０１０９】
ハッシュ発生部２０８は、複数のメッセージ（指示群）のメッセージＩＤのハッシュを生成する（Ｓ３０３）。
なお、実施の形態２と同様、メッセージＩＤとメッセージのデータ部の両方とデコイ動作が関連付けられていた場合には、この双方をハッシュ発生部２０８の入力とすることで、さらにデコイ動作データベース２０５に必要なデータ量を削減することができる。
【０１１０】
トリガ抽出部２０９が、受け取ったメッセージが終了条件を満たしていると判断しなかった場合（Ｓ３０２：ＮＯ）、次のメッセージを受信するまで待つ。なお、一定時間次のメッセージを受信しなかったときは、終了条件を満たしたものとして判断してもよい。
【０１１１】
以上のように、本実施の形態によれば、攻撃者が複数のメッセージを利用して脆弱性を探索している場合にも、デコイ動作を発生させることができ、脆弱性露見までの時間をさらに長大化することが可能になる。
【０１１２】
実施の形態４．
脆弱性を発見しようとする攻撃者の目標が、攻撃対象が保有する重要な情報の奪取、社会的な影響を与えることであった場合、攻撃者は、ある製品モデルの特定の個体だけを攻撃することよりも、ある製品モデルの任意の個体に対し攻撃できることを求める。
【０１１３】
もし攻撃者が、脆弱性の探索を試みた結果、ある個体において脆弱性を喚起する操作が別の個体において脆弱性を喚起しないときには、その操作によって喚起される脆弱性は個体差によるものだ、と結論付けると考えられる。
【０１１４】
この喚起されたように見える脆弱性が個体差によるものであると攻撃者が判定しているのであれば、その操作は攻撃者にとって相対的に価値が低くなり、その脆弱性をさらに探索する動機は相対的に低くなる。
【０１１５】
本実施の形態では、現に組み込みネットワークシステムに存在する脆弱性が喚起され得る操作を攻撃者が実施したとしても、それを個体差によるものだと攻撃者に誤認させ、脆弱性露見の糸口となる操作の識別を困難にし、脆弱性露見までの時間を長大化することを目的とする。
【０１１６】
図２０は、本実施の形態における、中継装置１３の機能ブロック構成図であり、図２０において、図１７と同一符号は同一または、相当部分を示している。
【０１１７】
本実施の形態に係る中継装置１３は、実施の形態３と基本的な構成は同じであるが、個別ＩＤ取得部（個別識別子取得部）２１１を有する点が異なる。
【０１１８】
個別ＩＤ取得部２１１は、個別の組み込みネットワークを識別するための識別符号である個別ＩＤ（個別識別子）を取得する。個別ＩＤとして、例えば、自動車においては車両識別番号（Ｖｅｈｉｃｌｅ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）等が利用可能である。
【０１１９】
次に図２１を用いて、動作について説明する。
実施の形態１のときと同様、データセンタ２において攻撃者が不正アプリ２２を用いることによって、車載ネットワークシステム１０に残存する脆弱性を探索しようと、サイドチャネルアタックを行おうとした場合に、中継装置１３がどのような動作を実施するか開示する。
【０１２０】
本実施の形態における動作については、実施の形態３で述べた手順と同じであり、以下に実施の形態３で説明した動作との差異についてのみ説明する。
【０１２１】
ハッシュ発生部２０８は、個別ＩＤ取得部２１１から個別ＩＤを取得する（Ｓ４０１）。個別ＩＤ取得部が個別ＩＤを取得する方法としては、中継装置自身にあらかじめ記憶しておく方法や、組み込みネットワークシステムを構成する制御装置に問い合わせる方法などがある。
【０１２２】
ハッシュ発生部２０８は、送信されてきた複数の不正メッセージ（指示群）のメッセージＩＤと、個別ＩＤを用いてハッシュを生成する。ハッシュの生成に不正メッセージと個別ＩＤを用いることにより、デコイ動作の決定に個別ＩＤを関与させることができ、攻撃者が観測する脆弱性の糸口が個体差によるものだと誤認させることができる。
なお、実施の形態２、３と同様、メッセージＩＤとメッセージのデータ部の両方とデコイ動作が関連付けられていた場合には、この双方と個別ＩＤをハッシュ発生部２０８の入力とすることで、さらにデコイ動作データベース２０５に必要なデータ量を削減することができる。
【０１２３】
以上のように、本実施の形態によれば、個別ＩＤをデコイ動作の決定に関与させることで攻撃者が車両の個体差とデコイ動作と実際の脆弱性による挙動変化を区別することが困難になり、脆弱性露見までの時間をさらに長大化することが可能になる。
【０１２４】
実施の形態５．
実施の形態１から４では、攻撃者にとってその動作が本来の仕様にそっていないのではないかと誤認させるデコイ動作を見せかけることにより、攻撃者が脆弱性の探索にかかる時間を長大化させる場合について述べた。
【０１２５】
しかし、これは逆に言えば、長大な時間をかけてしらみつぶしに調べれば、脆弱性の探索が可能になるということである。
【０１２６】
本実施の形態では、定期的にファジング検出データベース２０３、デコイ動作データベース２０５、トリガデータベース２１０の少なくともいずれか一つを更新することで、攻撃者に見せかけるデコイ動作の態様を変更する場合について述べる。
攻撃者にみせかけるデコイ動作の態様を変えることで、攻撃者に対し、また一から脆弱性の探索を行わせることが可能となる。
【０１２７】
これにより、攻撃者は例えば複数の組み込みネットワーク機器を同時に探索する等、より困難な方法を用いて、脆弱性を探索する速度を向上させる必要があり、さもなければ、脆弱性露見までの時間を長大化させることができる。
【０１２８】
本実施の形態では、データベースのアップデートについて説明する。
図２２は、本実施の形態における、中継装置１３の機能ブロック構成図であり、図２２において、図２０と同一符号は同一または、相当部分を示している。
本実施の形態に係る中継装置１３は、実施の形態４と基本的な構成は同じであるが、データベースアップデート部２１２を有する点が異なる。
【０１２９】
データベースアップデート部２１２は、ファジング検出データベース２０３、デコイ動作データベース２０５、トリガデータベース２１０の少なくともいずれか一つを更新する。
【０１３０】
例えば、データベースアップデート部２１２が、定期的に各データベースに関する更新データの有無をデータセンタ２に問い合わせ、更新データがあった場合には更新データをデータセンタ２から受信し、受信した更新データを用いて対応するデータベースを書き換えるように構成することができる。
【０１３１】
また、データベースアップデート部２１２をＵＤＳ（Ｕｎｉｆｉｅｄ  Ｄｉａｇｎｏｓｉｓ  Ｓｅｒｖｉｃｅｓ）に対応させ、さらに、組み込みネットワークシステムに車載診断ツールを接続できるようにしたうえで、車載診断ツール上にダウンロードした更新データを用いて中継装置上のデータベースを更新するように構成することもできる。
【０１３２】
次に図２３を用いて、動作について説明する。
本実施の形態では、組み込みネットワークシステムがデータベースのアップデート処理が行われるものとしている。また、本実施の形態では、他のメッセージと同様、受信部２０１を介してデータベースの更新指示を受け取るような場合を想定しているが、データベースの更新指示を受け取る別の手段を用いてもよい。
【０１３３】
なお、本実施の形態では、発明に関連する事項について簡便に説明を行うが、当業者はソフトウェアのリモート更新手法について詳細に開示されている非特許文献２を参照することにより容易に実施可能である。
【０１３４】
また、実施の形態１のときと同様、データセンタ２において攻撃者が不正アプリ２２を用いることによって、車載ネットワークシステム１０に残存する脆弱性を探索しようと、サイドチャネルアタックを行おうとした場合に、中継装置１３がどのような動作を実施するか開示する。なお、受信部２０１は、メッセージだけではなく、データベースのアップデート指示も受け取るものとする。
【０１３５】
本実施の形態における動作については、実施の形態４で述べた手順と同じであり、以下に実施の形態３で説明した動作との差異についてのみ説明する。
【０１３６】
受信部２０１は、受信したデータが、データベースの更新指示なのか、メッセージなのかを判断する（Ｓ５０１）。
【０１３７】
データベースの更新指示であった場合、受信部は、データベースアップデート部２１２へデータを渡す（Ｓ５０１：ＹＥＳ）。なお、受信部２０１が受信したデータが、メッセージであった場合（Ｓ５０１：ＮＯ）は、以下、実施の形態４と同じ動作を行う。
【０１３８】
データベースアップデート部２１２は、受信部２０１を通じて、データベース更新パッケージを受信する（Ｓ５０２）。
【０１３９】
データベースアップデート部２１２にデータベース更新パッケージを送信するのは、例えばデータセンタ２上の正常アプリ２１が挙げられる。データベース更新パッケージには、ファジング検出データベース２０３、デコイ動作データベース２０５、トリガデータベース２１０の内容の全部あるいは一部あるいは差分と、対象となるデータベースの種類が記載されており、これを用いてデータベースを更新することが可能である。
【０１４０】
データベースアップデート部２１２は、データベース更新パッケージの情報に基づき、ファジング検出データベース２０３、デコイ動作データベース２０５、トリガデータベース２１０の少なくともいずれか一つを更新する（Ｓ５０３）。
以上のように、本実施の形態によれば、選択されるデコイ動作の種類を定期的に変更することが可能になり、脆弱性露見のための攻撃者の試行回数を増加できる。これにより、脆弱性露見までの時間をさらに長大化することが可能になる。
【符号の説明】
【０１４１】
１    自動車、２    データセンタ、１０    車載ネットワークシステム、１１    アンテナ、１２    車載ネットワーク、１３    中継装置、１４    制御装置、１５    制御装置、１６    ヘッドライト、１７    室内灯、１８    エアコン、２１    正常アプリ、２２    不正アプリ、２３    アンテナ、１００    マイクロコンピュータ、１０１    ＲＡＭ、１０２    ＲＯＭ、１０３    プログラム、１０４    不揮発性メモリ、１０５    ＣＰＵ、１０６    通信部、２０１    受信部、２０２    ファジング検出部、２０３    検出データベース、２０４    デコイ動作決定部、２０５    デコイ動作データベース、２０６    デコイ動作実行部、２０７    送信部、２０８    ハッシュ発生部、２０９    トリガ抽出部、２１０    トリガデータベース、２１１    個別ＩＤ取得部、２１２    データベースアップデート部、２１３    受信メッセージ保存部。
【図１】
2017183099.tif 000003
【図２】
2017183099.tif 000004
【図３】
2017183099.tif 000005
【図４】
2017183099.tif 000006
【図５】
2017183099.tif 000007
【図６】
2017183099.tif 000008
【図７】
2017183099.tif 000009
【図８】
2017183099.tif 000010
【図９】
2017183099.tif 000011
【図１０】
2017183099.tif 000012
【図１１】
2017183099.tif 000013
【図１２】
2017183099.tif 000014
【図１３】
2017183099.tif 000015
【図１４】
2017183099.tif 000016
【図１５】
2017183099.tif 000017
【図１６】
2017183099.tif 000018
【図１７】
2017183099.tif 000019
【図１８】
2017183099.tif 000020
【図１９】
2017183099.tif 000021
【図２０】
2017183099.tif 000022
【図２１】
2017183099.tif 000023
【図２２】
2017183099.tif 000024
【図２３】
2017183099.tif 000025
【手続補正書】
【提出日】平成30年5月30日(2018.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
指示を受信する受信部と、
前記指示のうち、不正な指示を検出するファジング検出部と、
前記不正な指示を指示群として１つ以上保存し、前記指示群が特定の条件を満たした場合、前記指示群を出力するトリガ抽出部と、
前記トリガ抽出部が出力する前記指示群に対し、符号を発生するハッシュ発生部と、
前記符号に対応した見せかけの動作を決定する見せかけ動作決定部と、
前記見せかけの動作に対応した指示を生成する指示生成部と
を有することを特徴とする中継装置。
【請求項２】
個別識別子を取得する個別識別子取得部を有し、
前記ハッシュ発生部は、前記指示群と前記個別識別子を用いて符号を発生することを特徴とする請求項１に記載の中継装置。
【国際調査報告】
2017183099.tif 000026
2017183099.tif 000027