特表-19102911IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧
再表2019-102911異常通信検知装置、異常通信検知方法、プログラム
<>
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000003
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000004
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000005
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000006
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000007
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000008
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000009
  • 再表WO2019102911-異常通信検知装置、異常通信検知方法、プログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO/0
(43)【国際公開日】2019年5月31日
【発行日】2020年11月19日
(54)【発明の名称】異常通信検知装置、異常通信検知方法、プログラム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20201023BHJP
【FI】
   H04L12/28 200M
   H04L12/28 100A
【審査請求】有
【予備審査請求】未請求
【全頁数】19
【出願番号】特願2019-555273(P2019-555273)
(21)【国際出願番号】PCT/0/0
(22)【国際出願日】2018年11月14日
(31)【優先権主張番号】特願2017-226556(P2017-226556)
(32)【優先日】2017年11月27日
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】小山 卓麻
(72)【発明者】
【氏名】岡野 靖
(72)【発明者】
【氏名】田中 政志
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA08
5K033BA06
5K033DB20
5K033EA04
5K033EA07
(57)【要約】
過検知を減らすことができる異常通信検知装置を提供する。識別子を含む学習用通信データと、識別子を含む検知用通信データを受信する受信部と、学習用通信データの時間的特性、ペイロードの特性のうちの少なくとも何れか一方の特性に関する情報である知識情報を取得する知識情報取得部と、知識情報に基づいて、複数の検知器のうちの何れの検知器に何れの識別子の通信データを振り分けるかを規定するルールである振分ルールを生成する振分ルール生成部と、振分ルールに基づいて、検知器の何れかに通信データを振り分ける振分部と、学習用通信データが振り分けられた場合に、当該検知器に振り分けられる通信データの正常、異常の別を検知するモデルを学習し、検知用通信データが振り分けられた場合に、学習したモデルに基づいて検知用通信データの正常、異常の別を検知する複数の検知器を含む。
【特許請求の範囲】
【請求項1】
通信ネットワークにおける各電子制御装置の通信から異常通信を検知する異常通信検知装置であって、
識別子を含む学習用通信データと、前記識別子を含む検知用通信データを受信する受信部と、
前記学習用通信データの時間的特性、ペイロードの特性のうちの少なくとも何れか一方の特性に関する情報である知識情報を取得する知識情報取得部と、
前記知識情報に基づいて、複数の検知器のうちの何れの前記検知器に何れの前記識別子の通信データを振り分けるかを規定するルールである振分ルールを生成する振分ルール生成部と、
前記振分ルールに基づいて、前記検知器の何れかに前記通信データを振り分ける振分部と、
前記学習用通信データが振り分けられた場合に、当該検知器に振り分けられる前記通信データの正常、異常の別を検知するモデルを学習し、前記検知用通信データが振り分けられた場合に、学習した前記モデルに基づいて前記検知用通信データの正常、異常の別を検知する複数の前記検知器を含む
異常通信検知装置。
【請求項2】
請求項1に記載の異常通信検知装置であって、
前記通信データが複数の機械状態を持つ前記電子制御装置から送信された前記通信データである場合に、
前記知識情報取得部は、
前記機械状態毎に前記知識情報を取得し、
前記振分ルール生成部は、
前記機械状態毎に前記振分ルールを生成し、
前記検知器は、
前記機械状態毎に前記モデルを学習する
異常通信検知装置。
【請求項3】
請求項1または2に記載の異常通信検知装置であって、
性能が同一な検知器群である特定検知器群を含み、
前記振分ルール生成部は、
前記特定検知器群に属する前記検知器のそれぞれに振り分けられる前記通信データの単位時間当たりの通信量の合計が均一になるように、前記振分ルールを生成する
異常通信検知装置。
【請求項4】
請求項1から3の何れかに記載の異常通信検知装置であって、
前記振分ルール生成部は、
前記通信データが複数の前記検知器に同時に振り分けられるように前記振分ルールを生成し、
前記通信データに対する複数の前記検知器による検知結果を集計して、集計された前記検知結果に基づいて、前記通信データの最終検知結果を出力する検知結果集計部を含む
異常通信検知装置。
【請求項5】
通信ネットワークにおける各電子制御装置の通信から異常通信を検知する異常通信検知方法であって、
識別子を含む学習用通信データと、前記識別子を含む検知用通信データを受信する受信ステップと、
前記学習用通信データの時間的特性、ペイロードの特性のうちの少なくとも何れか一方の特性に関する情報である知識情報を取得する知識情報取得ステップと、
前記知識情報に基づいて、複数の検知器のうちの何れの前記検知器に何れの前記識別子の通信データを振り分けるかを規定するルールである振分ルールを生成する振分ルール生成ステップと、
前記振分ルールに基づいて、前記検知器の何れかに前記通信データを振り分ける振分ステップと、
前記学習用通信データが振り分けられた場合に、当該検知器に振り分けられる前記通信データの正常、異常の別を検知するモデルを学習する学習ステップと、
前記検知用通信データが振り分けられた場合に、学習した前記モデルに基づいて前記検知用通信データの正常、異常の別を検知する検知ステップを含む
異常通信検知方法。
【請求項6】
請求項5に記載の異常通信検知方法であって、
前記通信データが複数の機械状態を持つ前記電子制御装置から送信された前記通信データである場合に、
前記知識情報取得ステップは、
前記機械状態毎に前記知識情報を取得し、
前記振分ルール生成ステップは、
前記機械状態毎に前記振分ルールを生成し、
前記学習ステップは、
前記機械状態毎に前記モデルを学習する
異常通信検知方法。
【請求項7】
請求項5または6に記載の異常通信検知方法であって、
前記振分ルール生成ステップは、
性能が同一な検知器群である特定検知器群に属する前記検知器のそれぞれに振り分けられる前記通信データの単位時間当たりの通信量の合計が均一になるように、前記振分ルールを生成する
異常通信検知方法。
【請求項8】
コンピュータを請求項1から4の何れかに記載の異常通信検知装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば車両、工作機械、建設機械、農業機械等の機械類に搭載されたネットワーク、そのネットワークに接続された通信装置、および、それらで構成される通信システムにおいて、攻撃通信等に起因する異常通信の検知を行う異常通信検知装置、異常通信検知方法、プログラムに関する。
【背景技術】
【0002】
車両(自動車、特殊車両、自動二輪車、自転車等)、工作機械、建設機械、農業機械等の機械類には複数の電子制御装置(ECU:Electronic Control Unit)が搭載されているものがあり、それらECU間の通信ネットワークに用いられる代表的なものに、コントローラエリアネットワーク(CAN:Controller Area Network)がある。CANのネットワーク構成は各ECUの通信線が共有される、いわゆるバス型構成をとる。ECUのバスにおける通信手順には、CSMA/CR(Carrier Sense Multiple Access/Collision Resolution)、即ち、通信衝突する場合には優先順位の高い通信は衝突影響をうけず、優先順位の低い通信は再送する手順が用いられる。CAN上の各ECUの通信にはIDが含まれており、IDは通信調停の優先順位、データ内容や送信ノード等の識別に用いられる。
【0003】
これらの機械制御情報通信ネットワークに対するサイバー攻撃の危険性が示唆されている。ネットワークへの不正なECUの接続や既存ECUに対する不正な動作書き換え等の手段により、攻撃対象機能と関連するIDの攻撃送信を挿入し、その対象機能の不正な動作を誘発可能であることが知られている。
【0004】
これらの攻撃、異常通信を検知する方法として、例えば非特許文献1、非特許文献2がある。非特許文献1は、判定指標が異なる複数の検知器(同文献ではフィルタと呼称)を組み合わせて各通信が異常かどうかを判定する。非特許文献1は、通信のID、DLC(Data Length Code、通信のペイロード長を示すCANのヘッダフィールド)、送信周期(または送信頻度)を指標とした検知器を提案している。非特許文献2は非特許文献1の方式において検知器の種類を増やした方式を提案している。両方式は、通信の正常/異常判定を各検知器による判定のAND条件で実施する。例えば、非特許文献1の方式はまずIDによる検知器を用いて判定し、正常と判定した通信のみDLCによる検知器で判定し、さらに正常と判定した通信のみ送信周期(または送信頻度)による検知器で判定する。なお、両方式の全ての検知器は車両の仕様が明らかであることを前提とする。例えば、非特許文献2が提案する固定データフィールドによる検知器は、各IDのペイロードのビットアサイン(何ビット目から何ビット目までが固定値か変数かどうか、また変数ならば上限値や下限値といった仕様)を判定指標として、本来固定値のデータが仕様と異なる値だったら異常と判定する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】氏家良浩、岸川剛、芳賀智之、松島秀樹、田邊正人、北村嘉彦、安齋潤、「車載ネットワークにおけるCANフィルタの提案」、Symposium on Cryptography and Information Security SCIS 2015, Jan. 20-23, 2015.
【非特許文献2】田邊正人、安齋潤、前田学、氏家良浩、松島秀樹、若林徹、「車載ゲートウェイにおける多層連携CANフィルタの提案」、Symposium on Cryptography and Information Security SCIS 2016, Jan. 19-22, 2016.
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の異常検知方法では、全ての検知結果のAND条件によって正常な通信かどうかを判定するため、いずれかの検知器が異常と検知すれば判定結果は異常となる。つまりいずれかの検知器が誤検知(正常な通信を異常と誤って検知すること)すれば、その通信を異常と判定するので、正常な通信を異常と検知しやすい(過検知、第一種過誤)という課題がある。
【0007】
そこで本発明では、過検知を減らすことができる異常通信検知装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の異常通信検知装置は、受信部と、知識情報取得部と、振分ルール生成部と、振分部と、複数の検知器を含む。
【0009】
受信部は、識別子を含む学習用通信データと、識別子を含む検知用通信データを受信する。知識情報取得部は、学習用通信データの時間的特性、ペイロードの特性のうちの少なくとも何れか一方の特性に関する情報である知識情報を取得する。振分ルール生成部は、知識情報に基づいて、複数の検知器のうちの何れの検知器に何れの識別子の通信データを振り分けるかを規定するルールである振分ルールを生成する。振分部は、振分ルールに基づいて、検知器の何れかに通信データを振り分ける。複数の検知器は、学習用通信データが振り分けられた場合に、当該検知器に振り分けられる通信データの正常、異常の別を検知するモデルを学習し、検知用通信データが振り分けられた場合に、学習したモデルに基づいて検知用通信データの正常、異常の別を検知する。
【発明の効果】
【0010】
本発明の異常通信検知装置によれば、過検知を減らすことができる。
【図面の簡単な説明】
【0011】
図1】実施例1の異常通信検知装置の構成を示すブロック図。
図2】実施例1の検知器の構成を示すブロック図。
図3】実施例1の異常通信検知装置の動作を示すフローチャート。
図4】実施例2の異常通信検知装置の構成を示すブロック図。
図5】実施例2の検知器の構成を示すブロック図。
図6】実施例2の異常通信検知装置の動作を示すフローチャート。
図7】実施例3の異常通信検知装置の構成を示すブロック図。
図8】実施例3の異常通信検知装置の動作を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0013】
以下では、通信ネットワークのプロトコルとしてCAN(Controller Area Network)を利用するものと想定して説明を進める場合があるが、本発明の異常通信検知装置が異常通信検知を実行する通信ネットワークのプロトコルは、必ずしもCANに限定されない。本発明の異常通信検知装置は、CAN以外の通信ネットワークのプロトコル(例えば、FlexRay、LIN(Local INterconnect Network)、車載Ethernet)を異常通信検知対象としてもよい。
【0014】
以下の実施例の異常通信検知装置、異常通信検知方法では、通信ネットワーク上の正常な通信の傍受あるいは傍受により得たデータ列を基に、通信の振る舞いの特性(正常通信の送信周期や頻度といった時間的特性、またはペイロードの特性、あるいはその両方の特性)によって、通信データを相異なるいくつかのグループに分類し、各グループの特性に応じた検知器、および検知精度向上に必要な学習器を1ないし複数種類用意し、グループ毎に学習および検知を実施して、グループ毎の検知結果を基に、総合的に正常/異常を検知する。
【0015】
以下の実施例の異常通信検知装置、異常通信検知方法は、三段階のフェーズ(知識情報取得フェーズ/学習フェーズ/検知フェーズ)を実行する。各フェーズについて説明する。
【0016】
<知識情報取得フェーズ>
知識情報取得フェーズでは、通信データの時間的特性、ペイロードの特性のうち何れか一方の特性、あるいはその両方の特性を学習し、学習結果に応じて、通信をいくつかのグループに分類する。学習する手順を知識情報取得と呼称し、知識情報取得による学習結果(分類結果)を知識情報と呼称する。なお、知識情報には各グループとそれに含まれる要素だけが記録されてもよいし、各要素を学習する過程で算出した特性の推定値や平均や分散などの各種統計情報も併せて記録されてもよい。そして、知識情報に基づいて複数の検知器のうちの何れの検知器に何れの識別子(CANの場合、ID)の通信データを振り分けるかを規定するルールを振分ルールと呼称する。
【0017】
知識情報取得の手段は任意の方法を用いてよい。例えば、対象の仕様が明らかであれば、送信周期や送信頻度、ペイロードのビットアサインといった特性に関する知識情報をその仕様に基づいて決めてもよい。他方、仕様が不明である場合には、正常な通信の傍受あるいは傍受により取得したデータ列を基に機械学習を実施し、それぞれの特性をモデル化して知識情報を取得してもよい。さらに、機械学習による知識情報取得の後に、人手で知識情報のパラメータを微調整するなど、アルゴリズムと人間の判断を組み合わせたヒューリスティック手法によって知識情報を取得してもよい。
【0018】
知識情報取得において機械学習を利用する場合、その学習方法は任意のアルゴリズムを用いてよい。例えばCANの場合、正常な通信を基に送信周期特性をモデル化してID毎にいくつかの型に分類できる。具体的には、常に一定周期で送信される通信のIDである周期型IDの通信間隔の出現分布を仮定し、各IDの分布に対して周期型IDの分布との合致度合いを測ることで学習、分類する。あるIDが周期型IDの分布に完全に合致していれば周期型ID、周期型IDの分布にほぼ合致しているものの合致しない特異点が存在する場合は周期+イベント型ID、ほぼ全体に渡って周期型IDの分布に合致しない場合はイベント型IDと分類すればよい。
【0019】
周期+イベント型IDとは、一定周期で送信されるが、何らかの契機(イベント)で、そのときのみ周期の許容値を超えた短間隔(あるいは長間隔)で送信される周期特性を有する通信のIDを指す。同様にイベント型IDとは、一定の周期を持たず、何らかのイベントで、そのときのみ送信される周期特性を有する通信のIDを指す。
【0020】
周期型IDの出現分布は正規分布やガンマ分布など任意の確率分布を用いてよい。さらに、周期型IDの通信間隔の長短や通信間隔の分散や歪度等の統計情報、一定時間内の通信頻度、周期+イベント型IDのイベントの発生特性による違い等その他の時間的特性によって分類してもよいし、これらの特性を複数組み合わせて細かく分類した結果を知識情報としてもよい。
【0021】
またCANの場合、ペイロードのビットアサインもまたいくつかの型に分類できる。例えばCANの場合、ペイロードの変化の特性を基にして、一切その値が変化しない固定値フィールド、車速などセンサ情報を示し連続的に変化する連続値フィールド、シフトポジションなどあらかじめ決められた状態のいずれかを示す状態値フィールド、送信回数などを示すカウンタフィールド、通信エラー訂正などに利用するためのチェックサムフィールド等に分類できる。さらに、例えば連続値フィールドは車速などゼロ以上の正数だけを取る符号無し連続値フィールドや、直進時の舵角を基準とした場合の操舵角など正負の値を取る符号付き連続値フィールドなどと細かく分類してもよい。その他の分類例として、フィールドの値の変化率や変化時の値の差分の平均や分散、各フィールドのビット長等が挙げられる。具体的には、毎回必ず値が変化する状態値フィールドを有する通信と、10回の通信のうち1回だけ変化する状態値フィールドを有する通信を識別する、8ビット長の連続値フィールドを持つ通信と16ビット長の連続値フィールドを持つ通信とを識別する等である。ペイロードの特性を機械学習する場合もまた、送信周期特性を学習するときと同様に任意のアルゴリズムを用いてよい。
【0022】
なお、CANの場合は通信を排他的に分類するための識別子として、ヘッダ情報のIDを利用できるため上記ではIDを基に知識情報取得の手順および知識情報を説明したが、その他のヘッダ情報やフッタ情報、ペイロードの特定ビット位置の特性など、任意の識別子を基準に分類してもよい。
【0023】
振分ルールは、搭載する検知器を決めた後に次のいずれかの方法で決める。まず各検知器が精度良く検知できるグループがあらかじめ判明している場合、知識情報が得られれば、振分ルールは直ちに決まる。他方、どの検知器がどのグループの検知を得意とするか不明な場合、正常な通信データに攻撃を挿入した擬似的な攻撃通信データを準備し、各検知器を個別に適用してどのグループの検知を最も精度良く実施できるか明らかにしたのち、振分ルールを定めてもよい。また、各グループをいずれか1つの検知器に振り分けてもよいし、複数の検知器に振り分けてもよい。1つのグループを複数の検知器に振り分ける場合は、後述する検知フェーズにて複数の判定結果をまとめて総合的に判断する処理を行う。振分ルールは、各検知器とID等の識別子とを直接対応づけた表などとして実現してもよいし、各検知器がどのような特性のグループを検知可能かを記録した表、各グループにどのIDが属しているかを記録した表、などといった集合同士を対応づけたものとして実現してもよい。
【0024】
<学習フェーズ>
学習フェーズでは、搭載する各検知器に対応する学習器を用いて、正常な通信のみ、または正常な通信と異常な通信、および知識情報を基にして各グループに分類される各通信の正常(異常)モデルを学習、生成する。例えば、ペイロードを基にID毎に検知を行う方式を搭載する場合、知識情報に記録されたペイロードの特性(ビットアサインや各種統計情報)を用いることで、どのフィールド位置が攻撃されやすいか、言い換えると学習しなければならないフィールド位置はどこか、フィールド毎の値域等が推定できるため、学習器の閾値の決定やモデル生成が効率化される。
【0025】
各検知器のモデル学習に用いる学習用通信データは、知識情報取得フェーズで用いる学習用通信データと同一であってもよいし異なっていてもよい。
【0026】
<検知フェーズ>
検知フェーズでは、通信ネットワークにて検知対象となる通信を受信したら、振分ルールに従って検知用通信データを適切な検知器に振り分け、担当する検知器それぞれが正常、異常の別を検知する。振分ルールに従って、最適な(検知精度が高い)検知器に通信を振り分けているため、全ての検知器を連結して検知結果を出す場合と比べて過検知率を下げることができる。なお、各検知器は通信1メッセージごとに正常か異常かの判定結果を出力してもよいし、異常と判定した場合のみ結果を出力してもよい。
【0027】
1つの通信データが複数の検知器に同時に振り分けられるように振分ルールを生成することもできる。この場合、以下の判断基準に従い、複数の検知器による検知結果を集計し、集計された検知結果に基づいて、最終検知結果を出力する。なお、この動作は後述する検知結果集計部が行えばよい。
【0028】
一般的に、異常通信の見逃し(第二種過誤)を減らそうとすれば過検知(第一種過誤)が増え、過検知(第一種過誤)を減らそうとすれば見逃し(第二種過誤)が増える。利用者は事前に方針を決定する。例えば、見逃しをなるべく減らしたい場合、いずれかの検知器が異常を検知したら本装置(本方法)の最終的な検知結果(最終検知結果)も異常とすればよい。一方、過検知をなるべく減らしたい場合、振り分けられた全てあるいは過半数の検知器が異常を検知したら本装置(本方法)の最終検知結果を異常とすればよい。その他の方法として、各検知器に重み付けを行い、各検知結果をそれぞれの重み付けと乗じて足し合わせ、異常度を尤度として算出し、最終検知結果としてもよい。
【実施例1】
【0029】
以下、図1図2を参照して通信ネットワークにおける各電子制御装置の通信から異常通信を検知する実施例1の異常通信検知装置の構成を説明する。図1に示すように、本実施例の異常通信検知装置1は、フェーズ切替部11と、受信部12と、一時保持部13と、知識情報取得部14と、知識情報記憶部14aと、振分ルール生成部15と、振分ルール記憶部15aと、振分部16と、N個(Nは2以上の自然数)の検知器である第1検知器17−1、…、第N検知器17−Nと、検知結果集計部18を含む。
【0030】
図2に示すように、第n検知器17−n(n=1,…,N)は、受信部171と、一時保持部172と、学習部173と、モデル記憶部173aと、検知部174を含む。なお、第n検知器17−nは同図に示す構成要件以外の構成要件を有してもよいし、同図に示す構成要件の一部を有さなくてもよい。例えば、第n検知器17−nの受信部171は学習用通信データを、一時保持部172を経由せずに直接学習部173に送信してもよいし、学習用通信データを、一時保持部172を経由して学習部173に送信してもよい。
【0031】
以下の説明では、N=3とし、第1検知器17−1は、時間的特性である送信間隔のみを基に学習・検知を実行するものとし、第2検知器17−2、第3検知器17−3は、複数の時間的特性とペイロードの両特性を基に学習・検知するものとする。
【0032】
また以下の説明では、知識情報として時間的特性とペイロードの特性の両方を取得する場合、そして対象となるネットワークに3つの異なるID(ID−a、ID−b、ID−c)に係る通信データが送受信されている場合について述べる。
【0033】
また以下の説明では、各検知器に対応する学習器は、検知器内部の1機能である学習部として実現することとした。本実施例では以上の構成を仮定して装置を説明するが、本発明が適用可能な検知器の個数や方式、知識情報の内容、対象のネットワーク構成を限定するものではない。
【0034】
以下、図3を参照して、異常通信検知装置1の動作について説明する。まず、受信部12は、各フェーズにおいて、通信ネットワークの通信、または通信の加工等により生成された通信データをその識別子(CANの場合、ID)と共に受信し、当該通信データに受信時刻を付与する(S12)。以下、フェーズごとの各構成要件の動作について説明する。
【0035】
<知識情報取得フェーズ>
異常通信検知装置1が知識情報取得フェーズ、学習フェーズにある場合、受信部12が受信する通信データを学習用通信データと呼称する。この場合、受信部12は、一時保持部13に学習用通信データを送信する。一時保持部13は少なくとも学習用通信データを1つ、最大で学習用通信データの全てを保持できる記憶容量を有するものとし、受信部12から受信した学習用通信データを一時的に保持する(S13)。
【0036】
次に、知識情報取得部14は事前に規定された知識情報取得方法に従い、一時保持部13に保持された学習用通信データを基に、学習用通信データの時間的特性、ペイロードの特性のうちの少なくとも何れか一方の特性に関する情報である知識情報を取得する(S14)。仮に各通信間隔の差分の変化率を基準にして時間的特性を判定する方法を基に、ID−aは周期型、ID−bは周期+イベント型、ID−cはイベント型と判定されたとする。さらに、ペイロードのフィールドを推定する任意のアルゴリズムを適用し、ID−aのペイロードは固定値と連続値、ID−bは固定値と状態値とカウンタ、ID−cは状態値とカウンタとチェックサムから構成されていると推定されたとする。この場合、知識情報取得部14はこれらの各IDのグループ分けの結果および、各フィールドの統計情報を知識情報として、知識情報記憶部14aに記憶(格納)する。知識情報取得部14は、一時保持部13に保持された全IDの通信データに対応する知識情報を知識情報記憶部14aに記憶した場合、振分ルール生成部15に所定の通知を行う。
【0037】
振分ルール生成部15は、知識情報、設定等に基づいて振分ルールを生成する(S15)。例えば、事前知識として、第1検知器17−1は周期型IDの検知精度において第2検知器17−2、第3検知器17−3を上回ることが既に分かっていたものとする。また、第2検知器17−2はペイロードのチェックサムの変化を利用する検知器であることが既に分かっていたものとする。また、第3検知器17−3は状態値とカウンタの両方の変化を利用する検知器であることが既に分かっていたものとする。この場合、これらの事前知識を設定に予め記憶しておく。受信部12は、当該設定を外部装置などから受信し、受信した設定を振分ルール生成部15に送信する。
【0038】
振分ルール生成部15は、知識情報に基づいて、複数の検知器のうちの何れの検知器に何れの識別子(ID)の通信データを振り分けるかを規定するルールである振分ルールを生成する(S15)。例えば振分ルール生成部15は、知識情報に基づいて周期型IDと判明しているID−aの通信データを、受信した設定に基づいて、第1検知器17−1に振り分ける振分ルールを生成する。同様に、振分ルール生成部15は、知識情報に基づいて状態値とカウンタとチェックサムから構成されていると推定されるID−cの通信データを、受信した設定に基づいて、第2検知器17−2に振り分ける振分ルールを生成する。同様に、固定値と状態値とカウンタから構成されていると推定されるID−bの通信データを、受信した設定に基づいて、第3検知器17−3に振り分ける振分ルールを生成する。振分ルール生成部15は、生成した振分ルールを振分ルール記憶部15aに記憶し、フェーズ切替部11に処理完了の通知を送信する。
【0039】
振分ルール生成部15から処理完了の通知を受け取ったフェーズ切替部11は、一時保持部13の記憶内容を消去し、異常通信検知装置1を学習フェーズに切り替える。または、フェーズ切替部11は、一時保持部13の記憶内容を消去した後、異常通信検知装置1の利用者に対して何らかの手段によるフェーズの切替を要求する。
【0040】
<学習フェーズ>
異常通信検知装置1が学習フェーズにある場合、受信部12は、学習用通信データを受信して、当該学習用通信データを1つずつ振分部16に送信する。振分部16は振分ルール記憶部15aに記憶されている振分ルールに基づいて、受信した学習用通信データをどの検知器に振り分けるか、IDを基に判断し、振分先の検知器に学習用通信データを送信する(S16)。
【0041】
第n検知器17−nの受信部171は、自器に振り分けられた学習用通信データを受信する(S171)。第n検知器17−nの一時保持部172は、受信した学習用通信データを一時的に保持する(S172)。第n検知器17−nの学習部173は、当該検知器に振り分けられる通信データの正常、異常の別を検知するモデルを学習する(S173)。
【0042】
上記ステップS173について、ID−aの学習用通信データが第1検知器17−1に振り分けられた場合の動作例を開示する。この場合、第1検知器17−1の学習部173は、受信した学習用通信データを基にID−aのモデルを学習する(S173)。具体的には、通信データには異常通信検知装置1における受信時間が付与されているので、第1検知器17−1の学習部173は、通信データ間の送信間隔を算出し、送信間隔の平均値や分散などを算出し、正常通信データにおけるID−aの送信周期モデル(その値の閾値を含む)を学習する。第1検知器17−1の学習部173は、ID−aの学習用通信データが全て第1検知器17−1に送信されたことを設定等、外部からの通知を受け、学習したモデルをモデル記憶部173aに記憶して、フェーズ切替部11に通知を送信する。他の検知器も、第1検知器17−1と同様に、自器が担当するIDの学習用通信データに対して、モデル(閾値を含む)を学習する。フェーズ切替部11は、全ての検知器から通知を受け取ったのち、異常通信検知装置1を検知フェーズに切り替える。または、異常通信検知装置1の利用者に対して何らかの手段によるフェーズの切替を要求する。
【0043】
<検知フェーズ>
異常通信検知装置1が検知フェーズにある場合、受信部12が受信する通信データを検知用通信データと呼称する。受信部12は、受信した検知用通信データを1つずつ振分部16に送信する。振分部16は振分ルール記憶部15aに記憶されている振分ルールに基づいて、受信した検知用通信データをどの検知器に振り分けるか、IDを基に判断し、振分先の検知器に検知用通信データを送信する(S16)。
【0044】
第n検知器17−nの受信部171は、自器に振り分けられた検知用通信データを受信する(S171)。第n検知器17−nの一時保持部172は、受信した検知用通信データを一時的に保持する(S172)。第n検知器17−nの検知部174は、ステップS173で学習され、モデル記憶部173aに記憶済みのモデルに基づいて検知用通信データの正常、異常の別を検知する(S174)。
【0045】
上記ステップS174について、ID−aの検知用通信データが第1検知器17−1に振り分けられた場合、第1検知器17−1の検知部174は、1つ前のID−aの検知用通信データと直近の検知用通信データの時間差を求め、上記のモデルにおける閾値を下回る短間隔が発生したかどうかで正常、異常の別を検知する(S174)。また、上記ステップS174について、ID−cの検知用通信データが第2検知器17−2に振り分けられた場合、第2検知器17−2の検知部174は、状態値とチェックサムの対応関係を丸ごと記憶したモデルを基に検知用通信データのペイロードがモデルに従うかどうかで正常、異常の別を検知する(S174)。また、上記ステップS174について、ID−bの検知用通信データが第3検知器17−3に振り分けられた場合、1つ前のID−bの検知用通信データと、直近のID−bの検知用通信データの状態値とカウンタとの順序性がモデルに従うかどうかで正常、異常の別を検知する(S174)。
【0046】
各検知器は検知部174の検知結果を随時、検知結果集計部18に送信する。検知結果集計部18は最終的な検知結果(最終検知結果)を装置外部に出力する。本実施例では各IDの通信データを各検知器に振り分けたので、検知結果集計部18は各検知器の出力をそのまま異常通信検知装置1の出力として外部に出力してもよいし、情報を追加して出力してもよい(例えば、どのメッセージをどの検知器がいつ検知したか等)。
【0047】
なお、各フェーズにおいて受信部12はネットワークやゲートウェイを傍受することで通信データを得てもよいし、別途、他のモニタリング機器からログ等のデータとして通信データを得てもよい。傍受した通信データにはその受信時刻を付与するが、ログ等の通信データにすでに受信時刻が付与されているなら時刻付与は省略してもよい。
【0048】
本実施例の異常通信検知装置1は、設定等の入力あるいはあらかじめ定めた通信を受信することにより、任意のタイミングでフェーズ切替部11を動作させ、任意のフェーズに移行する機能を備えていてもよい。つまり、本実施例の異常通信検知装置1は、検知フェーズに移行した後も任意のタイミングで知識情報取得フェーズあるいは学習フェーズに移行してもよい。その際は、知識情報取得部14および学習部173のアルゴリズムに応じて、既存の知識情報および正常モデルを基にした追加学習を実施してもよいし、既存の知識情報および正常モデルを消去して学習しなおしてもよい。
【0049】
本実施例の異常通信検知装置1は、各フェーズのみを実行する複数の装置群を組み合わせて構成してもよいし、各検知器を独立した装置とするなど、複数の装置を組み合わせて構成してもよい。また、本実施例の異常通信検知装置1を検知器の1つとみなし、複数の検知装置が入れ子状となるように構成してもよい。
【実施例2】
【0050】
機械状態、例えば、車両における停車、走行、自動走行等の状態の違いによって、何れの検知器に振り分けるべきかが変化する通信がある。例えば、車両からの通信データには、車両のイグニッションがONの状態では周期+イベント型で出現するが、OFFの状態ではイベント型で出現するIDがある。
【0051】
以下、図4図5を参照して複数の機械状態を持つ電子制御装置から送信された通信データを取り扱う、実施例2の異常通信検知装置の構成を説明する。図4に示すように、本実施例の異常通信検知装置2は、フェーズ切替部11と、受信部12と、一時保持部13と、知識情報取得部24と、知識情報記憶部14aと、振分ルール生成部25と、振分ルール記憶部15aと、振分部16と、N個(Nは2以上の自然数)の検知器である第1検知器27−1、…、第N検知器27−Nと、検知結果集計部18を含み、知識情報取得部24、振分ルール生成部25、第1検知器27−1、…、第N検知器27−N以外の構成については、実施例1と同じ機能を有する。
【0052】
図5に示すように、第n検知器27−n(n=1,…,N)は、受信部171と、一時保持部172と、学習部273と、モデル記憶部173aと、検知部174を含み、学習部273以外の構成については、実施例1と同じ機能を有する。以下、図6を参照して、実施例1と異なる動作について説明する。
【0053】
<知識情報取得フェーズ>
図6に示すように、知識情報取得部24は、機械状態毎(例えば、イグニッションのON/OFFの2通り)に知識情報を取得し(S24)、振分ルール生成部25は、機械状態毎に振分ルールを生成し(S25)、振分ルール記憶部15aに記憶する。
【0054】
<学習フェーズ>
第n検知器27−nの学習部273は、機械状態毎にモデルを学習し(S273)、モデル記憶部173aに記憶する。
【0055】
<検知フェーズ>
受信部12は、機械状態を示す通信を受信するか、機械状態を示す設定を受信する。振分部16は、受信した機械状態に基づき、ステップS25で生成された振分ルールに基づいて、検知用通信データを適切な検知器に振り分ける(S16)。これにより、機械状態によりその特性が変化するIDに対しても異常検知を実施することができる。
【実施例3】
【0056】
機械の構成や、搭載した検知器の組み合わせ等によって、通信データの大部分が1つのグループに所属し、特定の検知器のみに振り分けられる場合がある。異常通信検知装置が複数のタスクを並列処理可能であるか、検知器を独立した装置として構成できる等の場合は、同一の学習器、検知器を複数用意することで、学習および検知に要する処理時間、処理負荷を削減、分散できる。
【0057】
以下、図7を参照して同一の検知器を複数用意した実施例3の異常通信検知装置の構成を説明する。図7に示すように、本実施例の異常通信検知装置3は、フェーズ切替部11と、受信部12と、一時保持部13と、知識情報取得部14と、知識情報記憶部14aと、振分ルール生成部35と、振分ルール記憶部15aと、振分部16と、N個(Nは2以上の自然数)の検知器である第1検知器37−1、…、第N検知器37−Nと、検知結果集計部18を含み、振分ルール生成部35、第1検知器37−1、…、第N検知器37−N以外の構成については、実施例1と同じ機能を有する。第1検知器37−1、…、第N検知器37−Nの中には、性能が同一なm個(2≦m≦N−1)の検知器群である特定検知器群が含まれるものとする。以下、図8を参照して、実施例1と異なる動作について説明する。
【0058】
<知識情報取得フェーズ>
振分ルール生成部35は、特定検知器群に属する検知器のそれぞれに振り分けられる通信データの単位時間当たりの通信量の合計が均一になるように、振分ルールを生成する(S35)。
【0059】
例えば、特定検知器群に属する、性能が同一な検知器が二つあるものとし、これらを検知器E,Eと呼称し、特定検知器群に振り分けられる学習用通信データの集合を集合Fと呼称する。集合Fに含まれる学習用通信データはIDによって送信間隔が異なるものとする。
【0060】
例えば、特定検知器群に属する検知器1器あたりの負荷を均等にする(すなわち、この場合は負荷を半分ずつにする)ためには、まず集合Fの学習用通信データをIDによって二分する。具体的には、知識情報から得られる各IDの送信間隔をもとに単位時間あたりの通信量が均一(ほぼ半分ずつ)になるようにIDを仕分け、それぞれを、検知器Eに振り分けられる学習用通信データの集合F、検知器Eに振り分けられる学習用通信データの集合Fとする。
【0061】
従って、振分ルール生成部35は、検知器Eに集合Fに属するIDの通信データが振り分けられ、検知器Eに集合Fに属するIDの通信データが振り分けられるように、振分ルールを生成する。これにより、特定検知器群に属する各検知器の処理負荷を均一にし、低減することができ、異常通信検知装置3全体の処理が効率化される。また、上記と同様に性能が同一な複数個の学習器群である特定学習器群におけるそれぞれの学習器に対し、学習用通信データが均一に振り分けられるように、振分ルールを生成することでモデル生成等の学習時間を削減できる。
【0062】
[実施例1〜3に記載の異常通信検知装置1〜3が奏する効果]
実施例1〜3に記載の異常通信検知装置1〜3によれば、取得した通信データの知識情報(通信の振る舞いの特性、正常通信の送信周期や頻度といった時間的特性、またはペイロードの特性、あるいはその両方の特性を学習した結果および学習結果によって通信を分類した結果)に応じて、最も検知精度が高い検知器を用いて正常、異常の別を検知するため、過検知を減らし、検知精度を向上できる。また、複数の検知器を用意しておき、ID毎に適切な検知器に通信データを振り分けることにより、単独の検知器を通信全体に適用する場合と比較して検知精度が向上する。
【0063】
また、実施例1〜3に記載の異常通信検知装置1〜3によれば、取得した各通信データの知識情報を用いることで、通信に関する設計値や仕様を知らなくとも、適切な学習器および検知器を用いてモデルを学習し、通信データの正常、異常の別を検知することができるため、様々な車種や機械に適用させることが容易である。
【0064】
また、実施例2に記載の異常通信検知装置2によれば、機械状態に応じて振分ルールを使い分けることにより、検知精度が向上する。また、実施例3に記載の異常通信検知装置2によれば、対象通信の知識情報および振分ルールを基に複数の特定学習器群および特定検知器群に通信データを均一に振り分けることで、個々の学習器および検知器の処理負荷を分散させ、異常通信検知装置の処理全体の平準化を図ることができる。
【0065】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータ、組込機器などがある。
【0066】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0067】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
【0068】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0069】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータ、組込機器によって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータ、組込機器で実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ、組込機器上で実現される。
【0070】
この処理内容を記述したプログラムは、コンピュータ、組込機器で読み取り可能な記録媒体に記録しておくことができる。コンピュータ、組込機器で読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0071】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータ、組込機器にそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0072】
このようなプログラムを実行するコンピュータ、組込機器は、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータ、組込機器は、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータ、組込機器が可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータ、組込機器にサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータ、組込機器へのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータ、組込機器に対する直接の指令ではないがコンピュータ、組込機器の処理を規定する性質を有するデータ等)を含むものとする。
【0073】
また、この形態では、コンピュータ、組込機器上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
図1
図2
図3
図4
図5
図6
図7
図8

【手続補正書】
【提出日】2020年4月27日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0047
【補正方法】変更
【補正の内容】
【0047】
なお、各フェーズにおいて受信部12はネットワークやゲートウェイにおいて傍受することで通信データを得てもよいし、別途、他のモニタリング機器からログ等のデータとして通信データを得てもよい。傍受した通信データにはその受信時刻を付与するが、ログ等の通信データにすでに受信時刻が付与されているなら時刻付与は省略してもよい。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正の内容】
【0064】
また、実施例2に記載の異常通信検知装置2によれば、機械状態に応じて振分ルールを使い分けることにより、検知精度が向上する。また、実施例3に記載の異常通信検知装置によれば、対象通信の知識情報および振分ルールを基に複数の特定学習器群および特定検知器群に通信データを均一に振り分けることで、個々の学習器および検知器の処理負荷を分散させ、異常通信検知装置の処理全体の平準化を図ることができる。
【国際調査報告】