JP7411895B2 - 情報処理装置、異常検知方法およびコンピュータプログラム - Google Patents

情報処理装置、異常検知方法およびコンピュータプログラム Download PDF

Info

Publication number
JP7411895B2
JP7411895B2 JP2019220119A JP2019220119A JP7411895B2 JP 7411895 B2 JP7411895 B2 JP 7411895B2 JP 2019220119 A JP2019220119 A JP 2019220119A JP 2019220119 A JP2019220119 A JP 2019220119A JP 7411895 B2 JP7411895 B2 JP 7411895B2
Authority
JP
Japan
Prior art keywords
communication
unit
communication signal
information processing
processing 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.)
Active
Application number
JP2019220119A
Other languages
English (en)
Other versions
JP2021090160A (ja
Inventor
吉治 今本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2019220119A priority Critical patent/JP7411895B2/ja
Priority to CN202080084034.7A priority patent/CN114868365B/zh
Priority to DE112020005949.9T priority patent/DE112020005949T5/de
Priority to PCT/JP2020/033896 priority patent/WO2021111692A1/ja
Publication of JP2021090160A publication Critical patent/JP2021090160A/ja
Priority to US17/830,104 priority patent/US20220291944A1/en
Application granted granted Critical
Publication of JP7411895B2 publication Critical patent/JP7411895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • H04L47/00Traffic control in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示はデータ処理技術に関し、特に情報処理装置、異常検知方法およびコンピュータプログラムに関する。
車両内の複数のネットワークをゲートウェイにより接続し、また、複数のネットワークを流れるデータが不正なものかを監視する技術が提案されている。
特開2013-131907号公報
仮想化技術の進展により、これまでは複数の物理ECU(Electronic Control Unit)により実行された複数の機能を、1つの物理ECU上の複数のVM(Virtual Machine)により実行する構成が普及することが考えられる。複数のVM間は論理的なチャネルで通信するが、VM間通信における異常(攻撃等)を検知する技術はこれまで十分に提案されていなかった。
本開示はこうした課題に鑑みてなされたものであり、1つの目的は、VM間通信における異常を検知する技術を提供することにある。
上記課題を解決するために、本開示のある態様の情報処理装置は、仮想化ソフトウェアにより第1のVMと第2のVMが動作する装置であって、第1のVMから送信された第2のVM宛の通信データを受け付ける受付部と、受付部により受け付けられた通信データをもとにVM間の通信に関するパラメータを生成する生成部と、生成部により生成されたパラメータをもとに異常な通信を検知する検知部と、を備える。
本開示の別の態様は、異常検知方法である。この方法は、仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置が、第1のVMから送信された第2のVM宛の通信データを受け付け、受け付けた通信データをもとにVM間の通信に関するパラメータを生成し、生成したパラメータをもとに異常な通信を検知する。
なお、以上の構成要素の任意の組合せ、本開示の表現を、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、情報処理装置を搭載した車両などの間で変換したものもまた、本開示の態様として有効である。
本開示によれば、VM間通信における異常を検知する技術を提供できる。
VM間通信の仕組みを模式的に示す図である。 実施例のECUの機能ブロックを示すブロック図である。 図2の転送部を詳細に示すブロック図である。 転送パラメータの構成を示す図である。 管理テーブルの例を示す図である。 ECUのVM間通信における動作を示すシーケンス図である。 転送部の動作を示すフローチャートである。 検知部と対応部の動作を示すフローチャートである。 第1変形例のECUの機能ブロックを示すブロック図である。 第2変形例のECUの機能ブロックを示すブロック図である。 第3変形例のECUの機能ブロックを概略的に示すブロック図である。 第4変形例のECUの機能ブロックを示すブロック図である。 第5変形例の管理テーブルを示す図である。 第6変形例の検知部の構成を示す図である。
実施例の情報処理装置(後述のECU12)は、VM間通信で用いられる制御情報をもとに通信パターンを計測し、異常な通信(例えば攻撃によるもののほか、故障やバグによるものが含まれる)を検知する。具体的には、実施例の情報処理装置は、VM間通信の通信データが示す制御情報を検査モジュール(後述の検知部38)に転送する。また、VM間の正常な通信経路を悪用するプロセスが存在する場合、データ量や制御パターンが変化するが、実施例の情報処理装置は、このことを利用して異常を検知する。また、実施例の情報処理装置は、検知した情報をもとに防御処理を実行し、例えば、安全機能を有効化する。
以下、VM間通信において送信元VMから宛先VMへ渡される内容を通信ペイロードとも呼び、VM間通信のための制御情報を通信信号とも呼ぶ。また、通信ペイロードと通信信号を包含するデータを「通信データ」と呼ぶ。
図1は、VM間通信の仕組みを模式的に示す。同図では、HV(HyperVisor)上でVM1とVM2が動作する。VM2で実行されるアプリケーションは、システムコールにより、VM2のドライバ(OSの通信ハンドラ)に通信データを渡す。VM2のドライバは、通信ペイロードを共有メモリに格納する。また、VM2のドライバは、通信信号をHVに渡し、具体的には、要求番号Xを指定したハイパーバイザコールを行う。HVは、割込番号Aを指定した割込処理にて、通信信号をVM1のドライバに渡す。VM1のドライバは、通信信号をもとに共有メモリから通信ペイロードを読み込み、通信ペイロードをVM1上のアプリケーションに渡す。なお、仮想化システムの種類としては、ハイパーバイザー型の仮想化システムのほかホストOS型の仮想化システムなどもある。ハイパーバイザー型の仮想化システムでは、ハードウェアの各種リソースの割り当て等の処理をハイパーバイザーが行い、ホストOS型の仮想化システムでは、ハードウェアの各種リソースの割り当て等の処理をホストOS上で動作する仮想化アプリケーションが行う。すなわち、ハイパーバイザー型の仮想化システムでは、ハイパーバイザーが仮想化ソフトウェアとして動作し、ホストOS型の仮想化システムでは、ホストOSと仮想化アプリケーションとが仮想化ソフトウェアとして動作する。本実施形態では、ハイパーバイザー型の仮想化システムを例に説明するが、ゲストOS型の仮想化システムであってもよい。
VM1からVM2への通信も同様である。VM1で実行されるアプリケーションは、システムコールにより、VM1のドライバに通信データを渡す。VM1のドライバは、通信ペイロードを共有メモリに格納する。また、VM1のドライバは、通信信号をHVに渡し、具体的には、要求番号Yを指定したハイパーバイザコールを行う。HVは、割込番号Bを指定した割込処理にて、通信信号をVM2のドライバに渡す。VM2のドライバは、通信信号をもとに共有メモリから通信ペイロードを読み込み、通信ペイロードをVM2上のアプリケーションに渡す。
図2は、実施例のECU12の機能ブロックを示すブロック図である。ECU12は、車両10に搭載されるマイクロコントローラである。また、ECU12は、TCU(Telematics Communication Unit)の機能(例えば車両10外部の機器との通信機能)と、ADAS(Advanced Driver-Assistance System)の機能(例えば衝突被害軽減ブレーキやクルーズコントロール)を提供する統合ECUである。
本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、図2に示すECU12の複数の機能ブロックのうち少なくとも一部の機能ブロックに対応するモジュールを含むコンピュータプログラムが、ECU12のROMに記憶されてもよい。ECU12のCPUは、このコンピュータプログラムをRAMに読み出して実行することにより、図2に示す各機能ブロックの機能を発揮してもよい。
図2の「システム権限」エリアに配置された機能ブロックは、システム権限で実行される機能を示し、例えばVMのOS(Operating System)の機能である。また、「ユーザ権限」エリアに配置された機能ブロックは、ユーザ権限で実行される機能を示し、例えばOS上で動作するアプリケーションの機能である。また、「HV権限」エリアに配置された機能ブロックは、HV権限で実行される機能を示している。
ECU12は、HV14と、そのHV14上で動作するVM16、VM18を備える。VM16は、TCUの機能を提供し、実施例では攻撃の入口となる。VM18は、ADASの機能を提供し、実施例では攻撃される側となる。ECU12は、HV14、VM16、VM18のいずれもアクセス可能な共有メモリ(不図示)をさらに備える。
VM16は、通信要求部20とイベント生成部22を含む。通信要求部20は、アプリケーションの処理で生じたVM18宛の通信データをシステムコールによりイベント生成部22に渡す。
イベント生成部22は、通信データにおける通信ペイロードを共有メモリに格納し、通信データに基づく通信信号をハイパーバイザコールによりHV14へ出力する。この通信信号(ハイパーバイザコール)は、送信元VMであるVM16のIDと要求番号を含む。要求番号は、通信ペイロードを格納した共有メモリのアドレスに対応するものである。
HV14は、転送情報記憶部24、イベント受信部26、仮想通信部28を備える。転送情報記憶部24は、送信元VMと要求番号の組み合わせと、宛先VMと割込番号の組み合わせとの対応関係を記憶する。イベント受信部26は、VM16からのハイパーバイザコールを受信すると、宛先VMと割込番号を解決する。具体的には、イベント受信部26は、転送情報記憶部24を参照して、ハイパーバイザコールが示す送信元VMと要求番号の組み合わせに対応づけられた宛先VMと割込番号の組み合わせを特定する。
仮想通信部28は、イベント受信部26により特定されたVM(ここではVM18)に対して、イベント受信部26により特定された割込番号を指定した割込みを行うことで通信信号をVM18に渡す。この通信信号(割込み)は、送信元VM(VM16)のID、要求番号、宛先VM(VM18)のID、割込番号を含む。
VM18は、通信ハンドラ30、転送部32、通信受信部34、通信ハンドラ36、通信受信部34、検知部38、対応部40を備える。通信受信部34は、転送部32により転送された通信データであり、すなわち、VM16から送信されたVM18宛の通信データを受信する。VM18上のアプリケーションは、通信受信部34により受信された通信データをもとにADASの各種機能を実行する。
通信ハンドラ30は、HV14から割込みにより入力された通信信号を受信する。通信ハンドラ30は、通信信号が示す要求番号に対応する共有メモリの領域から通信ペイロードを読み込み、通信信号の内容と通信ペイロードの内容とを含む通信データを転送部32に渡す。
図3は、図2の転送部32を詳細に示すブロック図である。転送部32は、ポリシ記憶部42、受付部44、ポリシ強制部46、データ転送部48、パラメータ生成部50、パラメータ送信部52、ポリシ更新部54を含む。
ポリシ記憶部42は、通信データに関するセキュリティポリシを記憶する。セキュリティポリシは、通信データに対するフィルタリングの条件を含んでもよい。フィルタリングの条件は、例えば、通信データに含まれる値、データサイズ、既知の攻撃パターンとの類似度合いであってもよい。
受付部44は、VM16から送信され、HV14により転送されたVM18宛の通信データを、通信ハンドラ30を介して受け付ける。ポリシ強制部46は、ポリシ記憶部42に記憶されたセキュリティポリシにしたがって、受付部44により受け付けられた通信データに対するフィルタリング処理を実行する。ポリシ強制部46は、セキュリティポリシに違反する通信データ、言い換えれば、フィルタリング条件に合致する通信データを破棄してもよい。また、ポリシ強制部46は、その通信データをログに記録してもよく、外部のサーバに保存してもよい。
データ転送部48は、受付部44により受け付けられた通信データを、所定のセキュリティポリシにしたがって上位のアプリケーション(通信受信部34)に転送する。具体的には、データ転送部48は、ポリシ強制部46によりセキュリティポリシに整合すると判断された通信データ、または、セキュリティポリシに違反しないと判断された通信データを通信受信部34に転送する。なお、転送部48の動作としては、プッシュ型の転送およびプル型の転送のいずれであってもよいし、共有メモリなどを介してデータを共有する動作も含まれ、特に限定はされない。
パラメータ生成部50は、受付部44により受け付けられた通信データであり、言い換えれば、データ転送部48が通信受信部34へ転送した通信データをもとに、VM間通信に関するパラメータ(以下「転送パラメータ」と呼ぶ。)を生成する。転送パラメータは、VM間通信で用いられるパラメータとも言え、VM間通信に必要なパラメータとも言える。
図4は、転送パラメータの構成を示す。転送パラメータは、送信元VMのID、要求番号、宛先VMのID、割込番号、プロトコル番号、データサイズを含む。パラメータ生成部50は、通信データ(通信信号と通信ペイロードを含む)から転送パラメータの項目を抽出し、計測し、生成してもよい。また、転送パラメータの値が記憶されたメモリアドレスを示すポインタが通信データに含まれる場合、パラメータ生成部50は、そのメモリアドレスから値を読み込み、転送パラメータに設定してもよい。なお、図4に示す転送パラメータは一例であって、通信パスが特定できればよく、例えば、送信元VMのID、宛先VMのIDの組み合わせ、あるいはそれらとプロトコル番号(プロトコル種別)の組み合わせなどであってもよい。
図3に戻り、パラメータ送信部52は、パラメータ生成部50により生成された転送パラメータを検知部38(実施例では通信ハンドラ36)へ送信する。ポリシ更新部54は、対応部40から送信された更新要求にしたがって、ポリシ強制部46に適用されるセキュリティポリシを更新し、言い換えれば、通信データに対するフィルタリングに適用されるセキュリティポリシを更新する。
図2に戻り、通信ハンドラ36は、転送部32から送信された転送パラメータを受信し、受信した転送パラメータを検知部38に渡す。検知部38は、管理テーブルと、転送部32から送信された転送パラメータとをもとに、異常な通信を検知する。
管理テーブルは、VM間通信のパターンと、VM間通信に関する統計情報とを含む。図5は、管理テーブルの例を示す。図5の管理テーブルの各レコードは、通信パターンID、送信元VMのID、要求番号、宛先VMのID、割込番号、通信種別(通信プロトコル)、頻度(通信回数/秒)を含む。検知部38は、転送部32から送信された転送パラメータを受け付けると、その転送パラメータが示す通信パターンである送信元VM、要求番号、宛先VM、割込番号、通信種別の組み合わせに一致するレコード(「更新対象レコード」と呼ぶ。)を特定する。検知部38は、転送パラメータが示すデータサイズをもとに、更新対象レコードに記録された統計情報である頻度を更新する。
検知部38は、以下のケースにおいて、異常な通信が発生したことを検知してもよい。(1)更新対象レコードの頻度が予め定められた閾値を超えたこと。(2)転送パラメータが示すデータサイズが予め定められた閾値を超えたこと。(3)管理テーブルで単位時間当りのデータサイズ(すなわち通信量)を管理する場合に、更新対象レコードにおける通信量が予め定められた閾値を超えたこと。(4)転送パラメータが示す通信パターン(例えば送信元VM、要求番号、宛先VM、割込番号、通信種別の組み合わせ)が、管理テーブルに未登録の通信パターンであること。(5)管理テーブルで通信パターンごとのTCPセッション数またはファイルオープン数を管理する場合に、そのTCPセッション数またはファイルオープン数が予め定められた閾値を超えたこと。すなわち、検知部38は、上記のようにVM間の通信が所定の条件を満たしていると判定した場合に、異常な通信であることを検知してもよい。なお、所定の条件を満たしているか否かは、ルールベースの判定手法に限定されず、例えば機械学習モデルなどのAI技術を用いて判定する構成であってもよい。
図2に戻り、対応部40は、検知部38による検知結果に応じて、異常な通信への対策を実行する。実施例の対応部40は、検知部38により異常な通信が検知された場合に、転送部32のポリシ強制部46により適用されるセキュリティポリシを更新する。対応部40は、セキュリティポリシの更新要求を転送部32に送信することで、転送部32のポリシ更新部54にセキュリティポリシを更新させてもよい。更新要求は、ポリシ記憶部42に記憶されたセキュリティポリシを、それまでより安全を高める内容に(通信データがフィルタリングの対象に該当しやすくなるように)更新するよう指示するものでもよい。また、更新要求は、ポリシ記憶部42に記憶された複数のセキュリティポリシのうち相対的に安全性が高いセキュリティポリシを適用するよう指示するものでもよい。
変形例として、対応部40は、アラートレベルを管理し、検知部38による検知結果に応じてアラートレベルを更新してもよい。この場合、対応部40は、アラートレベルに応じて検知部38による検知ルールを選択してもよい。また、対応部40は、不図示の運転制御部と連携して、所定の安全処理(例えば車両10の加速抑制や緊急制動等)を実行してもよい。また、対応部40は、異常な通信を検知したことと、その情報ソースである転送パラメータとをログに記録してもよく、車両10外部のサーバへ通知してもよい。
以上の構成によるECU12の動作を説明する。
図6は、ECU12のVM間通信における動作を示すシーケンス図である。VM16の通信要求部20は、VM18に渡すべき通信データをイベント生成部22に渡す。VM16のイベント生成部22は、共有メモリに通信データを書き込む(S10)。VM16のイベント生成部22は、ハイパーバイザコールによりHV14に通信信号を渡す(S12)。HV14のイベント受信部26は、宛先VM(ここではVM18)と割込番号を解決する(S14)。HV14の仮想通信部28は、割込みによりVM18に通信信号を渡す(S16)。
VM18の通信ハンドラ30は、HV14から渡された通信信号をもとに、VM16が共有メモリに格納した通信ペイロードを読み出す(S18)。VM18のアプリケーション(通信受信部34)は、転送部32を介して通信データを受け付け、その通信データに基づく処理を実行する(S20)。VM18の検知部38は、転送部32により生成された転送パラメータを受け付け、その転送パラメータに基づいて異常を検知する(S22)。
図7は、転送部32の動作を示すフローチャートである。受付部44は、HV14から渡された通信信号の内容と、共有メモリから読み出された通信ペイロードの内容とを含む通信データを通信ハンドラ30から受け付ける。また、受付部44は、対応部40から送信された、セキュリティポリシの更新要求を含む通信データを受け付ける(S30)。
通信データがセキュリティポリシの更新要求でなければ(S32のN)、ポリシ強制部46は、通信データがセキュリティポリシを満たすか否かを判定する。通信データがセキュリティポリシを満たすものであれば(S34のY)、データ転送部48は、通信データを上位のアプリケーション(通信受信部34)に渡す(S36)。パラメータ生成部50は、通信データをもとに転送パラメータを生成する(S38)。パラメータ送信部52は、通信ハンドラ36を介して、転送パラメータを検知部38に渡す(S40)。
通信データがセキュリティポリシに違反するものであれば(S34のN)、ポリシ強制部46は、所定の防御処理を実行し、例えば通信データを破棄する(S42)。通信データがセキュリティポリシの更新要求であれば(S32のY)、ポリシ更新部54は、通信データのフィルタリングに適用されるセキュリティポリシを更新する(S44)。転送部32は、通信データを受け付けるたびに本図に記載の処理を繰り返し実行する。
図8は、検知部38と対応部40の動作を示すフローチャートである。システム開始時(例えば車両10の電源オン時)、検知部38は、管理テーブルを初期化する(S50)。検知部38は、通信ハンドラ36を介して、転送部32により生成された転送パラメータを受信すると(S52のY)、管理テーブルを更新する(S54)。転送パラメータに対応する通信パターンの通信頻度が所定の閾値を超えた場合等、異常検知の条件を満たした場合(S56のY)、対応部40は、所定の防御処理を実行する(S58)。例えば、対応部40は、転送部32によるフィルタリング処理に適用されるセキュリティポリシを更新する。
異常検知の条件を満たさなければ(S56のN)、S58の処理はスキップされる。検知部38が転送パラメータを未受信であれば(S52のN)、S54~S58の処理はスキップされる。システムの終了条件が満たされなければ(例えば車両10の電源オンが維持されていれば)(S60のN)、S52に戻る。システムの終了条件が満たされると(例えば車両10の電源がオフに切り替えられると)(S60のY)、本図のフローを終了する。
VM間の正常な通信経路を悪用するプロセスが存在する場合、データ量や制御パターンが変化するが、実施例のECU12は、このことを利用して異常を検知する。これにより、VM間通信における異常を効率的に検知することができる。また、実施例のECU12によると、検知した異常な通信への対策を実行することで、ECU12および車両10の安全性を高めることができる。また、実施例のECU12によると、異常な通信が検知されたことに基づいて、通信データの転送に関するセキュリティポリシを適切に更新しやすくなる。
以上、本開示を実施例をもとに説明した。この実施例は例示であり、実施例の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
第1変形例を説明する。図9は、第1変形例のECU12の機能ブロックを示すブロック図である。第1変形例のECU12の機能ブロックのうち実施例のECU12の機能ブロックに同一または対応する機能ブロックには、実施例と同一の符号を付している。以下、実施例で説明済みの内容は再度の説明を省略し、主に実施例と異なる点を説明する。
第1変形例のECU12は、VM間通信を中継するゲートウェイ(GW)機能を提供するVM60をさらに備える。VM60は、通信ハンドラ62、イベント生成部64、転送部32を含む。また、攻撃される側のVM18(ADAS)は、通信ハンドラ30、通信受信部34、検知部38、対応部40を含む。
VM60の転送部32は、HV14を介して、VM16から送信されたVM18宛の通信データを受け付ける。転送部32は、その通信データをHV14を介してVM18へ転送する。VM18のアプリケーションは、VM16から送信されたVM18宛の通信データを通信受信部34にて受信し、その通信データに基づく処理を実行する。
また、VM60の転送部32は、受け付けたVM18宛の通信データをもとに転送パラメータを生成する。転送部32は、その転送パラメータをHV14を介してVM18へ送信する。VM18の検知部38は、VM60から送信された転送パラメータをもとに異常な通信を検知する。異常な通信が検知された場合、VM18の対応部40は、転送部32のセキュリティポリシを更新する等、異常な通信への対策を実行する。第1変形例のECU12も実施例のECU12と同様の効果を奏する。
第2変形例を説明する。図10は、第2変形例のECU12の機能ブロックを示すブロック図である。第2変形例のECU12の機能ブロックのうち実施例のECU12の機能ブロックに同一または対応する機能ブロックには、実施例と同一の符号を付している。以下、実施例で説明済みの内容は再度の説明を省略し、主に実施例と異なる点を説明する。
第2変形例のECU12は、IDS(Intrusion Detection System)機能を提供するVM70をさらに備える点、および、HV14が転送部32を備える点で実施例のECU12と異なる。VM70(IDS)は、通信ハンドラ72、検知部38、対応部40を含む。また、攻撃される側のVM18(ADAS)は、通信ハンドラ30と通信受信部34を含む。
HV14の転送部32は、VM16から送信されたVM18宛の通信データ(通信信号)を受け付ける。転送部32は、その通信データ(通信信号)をVM18に渡す。VM18の通信ハンドラ30は、通信信号をもとに通信ペイロードを共有メモリから読み出す。VM18のアプリケーションは、通信ペイロードを含む通信データを通信受信部34にて受信し、その通信データに基づく処理を実行する。
HV14の転送部32は、通信信号をもとに通信ペイロードを共有メモリから読み出す。転送部32は、通信信号と通信ペイロードを含む通信データをもとに転送パラメータを生成し、その転送パラメータをVM70へ送信する。VM70の検知部38は、HV14から送信された転送パラメータをもとに異常な通信を検知する。異常な通信が検知された場合、VM70の対応部40は、転送部32のセキュリティポリシを更新する等、異常な通信への対策を実行する。第2変形例のECU12も実施例のECU12と同様の効果を奏する。
第3変形例を説明する。図11は、第3変形例のECU12の機能ブロックを概略的に示すブロック図である。第3変形例のECU12は、認証等、セキュリティ関連の処理を専門に実行するセキュアワールド部80をさらに備える。セキュアワールド部80は、検知部38と対応部40を備える。
HV14、VM16、VM18の実行環境は、ノーマルワールドとも呼ばれるが、ノーマルワールドのプロセスは、セキュアワールド部80が定めるAPI(Application Programming Interface)をコールすることでのみセキュアワールド部80のプロセスにアクセスできる。図11に示すECU12の構成は、図10に示した第2変形例のVM70(IDS)をセキュアワールド部80に置き換えたものと捉えることもできる。
攻撃を受ける側のVM18の転送部32は、受け付けたVM18宛の通信データをもとに転送パラメータを生成する。転送部32は、その転送パラメータをHV14を介してセキュアワールド部80へ送信する。例えば、HV14は、転送パラメータを引数としてセキュアワールド部80の所定のAPIをコールすることにより、セキュアワールド部80の検知部38に転送パラメータを渡す。
セキュアワールド部80の検知部38は、VM18から送信された転送パラメータをもとに異常な通信を検知する。異常な通信が検知された場合、セキュアワールド部80の対応部40は、VM18の転送部32のセキュリティポリシを更新する等、異常な通信への対策を実行する。第3変形例のECU12も実施例のECU12と同様の効果を奏する。
実施例および第1変形例~第3変形例で示したように、転送部32(パラメータ生成部50を含む)は、攻撃の入口となるVM16より信頼度が高い実行環境に実装されることが望ましい。既述したように、VM16は、TCUとして車両10外部の機器と通信するため、攻撃の入口となりやすく、相対的に信頼度が低い。一方で、VM18(ADAS)やVM60(GW)、HV14は、車両10外部の機器との直接のインタフェースを持たないため、相対的に信頼度が高い。
したがって、異常な通信を検知する基となる転送パラメータを生成する転送部32は、VM18(ADAS)に実装され(実施例および第3変形例)、またはVM60(GW)に実装され(第1変形例)、またはHV14に実装される(第2変形例)ことが望ましい。これにより、転送部32が攻撃されて異常検知の精度および正確度が低下してしまうことを防止しやすくなる。
また、実施例および第1変形例~第3変形例で示したように、検知部38と対応部40は、攻撃の入口となるVM16より信頼度が高い実行環境に実装されることが望ましい。既述したように、VM16は、TCUとして車両10外部の機器と通信するため、攻撃の入口となりやすく、相対的に信頼度が低い。一方で、VM18(ADAS)やVM70(IDS)、セキュアワールド部80は、車両10外部の機器との直接のインタフェースを持たないため、相対的に信頼度が高い。
したがって、異常な通信を検知する検知部38と、異常な通信への対策を実行する対応部40は、VM18(ADAS)に実装され(実施例、第1変形例)、またはVM70(IDS)に実装され(第2変形例)、またはセキュアワールド部80に実装される(第3変形例)ことが望ましい。これにより、検知部38が攻撃されて異常検知の精度および正確度が低下してしまうことを防止しやすくなる。また、対応部40が攻撃されて異常に対する適切な対策が取れなくなることを防止しやすくなる。
第4変形例を説明する。図12は、第4変形例のECU12の機能ブロックを示すブロック図である。第4変形例のECU12は、HV14、VM16、VM18に加えて、第3変形例のセキュアワールド部80に対応するセキュアOS82とセキュアモニタ86を備える。セキュアOS82とセキュアモニタ86は、仮想化ソフトウェア(例えばHV14、VM16、VM18)より信頼度が高い実行環境である。
セキュアOS82は、所定の保護処理を実行する保護処理部84を備える。保護処理は、外部から不正に取得されることを防止すべき情報等を扱う処理であって、また、仮想化ソフトウェアより限定された権限で実行されるべき処理である。例えば、保護処理は、保護された鍵を用いた暗号化処理および復号処理を含んでもよい。
VM16は、保護処理要求部90を含み、HV14は、保護処理要求受信部92を含み、セキュアモニタ86は、保護処理要求転送部88を含む。VM16の保護処理要求部90は、通信要求部20(すなわちVM16で動作するアプリケーション)の要求に応じて、保護処理の要求をHV14へ出力する。HV14の保護処理要求受信部92は、保護処理の要求をVM16から受信し、セキュアモニタ86のAPIをコールすることにより、保護処理の要求をセキュアモニタ86に渡す。セキュアモニタ86の保護処理要求転送部88は、HV14から受け付けた保護処理の要求をセキュアOS82の保護処理部84へ転送する。セキュアOS82の保護処理部84は、保護処理要求転送部88から転送された要求に応じて保護処理を実行する。保護処理部84は、保護処理の実行結果(例えば暗号化データや復号後の平文データ)を通信要求部20(すなわちVM16で動作するアプリケーション)に戻してもよい。
VM18の対応部40は、検知部38によって異常が検知された場合、VM16からの要求に応じた保護処理部84における保護処理の実行を阻止する。本変形例では、対応部40は、検知部38によって異常が検知された場合、VM16から出力された保護処理の要求をセキュアモニタ86に渡さないよう指示する信号、言い換えれば、VM16から出力された保護処理の要求をブロックするよう指示する信号を保護処理要求受信部92へ送信する。
本変形例によると、検知部38によって異常が検知された場合、すなわち、保護処理の要求元の状態が異常と判断された場合に、保護処理部84に対する保護処理の要求をブロックする。これにより、保護処理部84に不正なデータが入力され、不正なデータに基づく保護処理が実行されてしまうこと等を防止でき、ECU12の安全性を一層高めることができる。
第5変形例を説明する。図13は、第5変形例の管理テーブルを示す。管理テーブルの各レコードが定める通信パターンは、1つまたは複数のVMを含むグループ間での通信パターンである。図13に示すグループ1は、図5に示すVM1とVM2を含む。また、図13に示すグループ2は、図5に示すVM3を含む。検知部38は、複数のVMと複数のグループとの対応関係を保持する。検知部38は、転送パラメータを受け付けると、転送パラメータが示す送信元VMが所属する送信元グループ、転送パラメータが示す宛先VMが所属する送信元グループ、転送パラメータが示す要求番号、割込番号、通信種別に一致するレコードを特定し、そのレコードの統計情報(例えば頻度)を更新して、異常な通信か否かを判定する。
この変形例によると、複数のVMを含むグループ単位で通信の統計情報を生成し、また、グループ単位で異常を検知することができる。例えば、パワートレイン、ボディー、シャシー、車載情報機器等のドメインごとにVMをグループ化することで、ドメイン単位で通信の統計情報を生成し、また、ドメイン単位で異常を検知することができる。更なる変形態様として、(1)VM IDごと(送信元VMと宛先VMの組み合わせであり、要求番号と割込番号を含まない)、(2)通信種別ごと、(3)各VM上のアプリケーション(アプリケーションID)ごと、(4)プロセスIDごと、または(5)セッションIDごとにグループ化してもよい。
第6変形例を説明する。図14は、第6変形例の検知部38の構成を示す。検知部38は、異常検知部38aと解析部38bを含む。異常検知部38aは、実施例の検知部38に対応し、転送部32から送信された転送パラメータをもとに異常な通信を検知する。一方、解析部38bは、異常検知部38aにより異常な通信が検知された場合に、転送部32から送信されたVM18宛の通信データを解析する。
第6変形例では、異常検知部38a(または対応部40)は、異常な通信を検知した場合に、そのことを転送部32へ通知してもよい。この通知を受けた転送部32は、通信ペイロードを含む通信データを解析部38bへ送信してもよい。解析部38bは、予め定められた規則や攻撃パターンにしたがって、通信ペイロードに異常な内容があればそのことを検知する。対応部40は、解析部38bによる解析結果や検知結果をもとに、所定の防御処理を実行する。例えば、転送部32が保持するセキュリティポリシを更新してもよく、また、解析部38bによる解析結果や検知結果をログに記録し、またはサーバに保存してもよい。
この変形例によると、転送パラメータをもとに異常な通信が検知された場合に通信データそのものを解析することで、処理負荷の増加を抑えつつ、異常な通信に関する更なる情報を得やすくなる。
第7変形例を説明する。VM16のイベント生成部22は、VM16における様々なイベントの情報を、通信イベントと同様に、HV14を介してVM18へ通知してもよい。様々なイベントは、例えば、USB機器が接続されたことを示すイベントや、オーディオ機能がオンにされたことを示すイベントを含んでもよい。例えば、USBデバイスが接続状態の場合にUSB用の通信が増加するのは正常な通信であるが、USBデバイスが未接続の場合にUSB用の通信が増加するのは異常な通信であると検知してもよい。また、イベントの種別を示す情報は、通信種別(プロトコル種別)として設定されてもよい。この場合、VM18の検知部38は、VM16から送信された通信データに、不正な通信種別が設定されている場合、異常な通信であると検知してもよい。例えば、VM16がTCU機能を提供するものである場合、通信種別がUSBイベントやオーディオイベントを示す値であるときに、不正な通信種別であると判定してもよい。また、例えば、VM16からのファイルオープン要求や、オープンされるファイルの種類に応じてBlockDeviceの通信が増加する場合、ファイルに応じた通信速度を閾値に正常または異常と判定してもよい。
実施例および上記変形例では、物理ECUとして1つのECU12を示したが、HV14、VM16、VM18等は、複数の物理ECUにより実現されてもよい。すなわち、複数の物理ECUが連携するシステムにおいて実施例および上記変形例に記載したHV、VMの機能が発揮されてよい。
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置であって、
前記第1のVMから送信された前記第2のVM宛の通信データを受け付ける受付部と、
前記受付部により受け付けられた通信データをもとにVM間の通信に関するパラメータを生成する生成部と、
前記生成部により生成されたパラメータをもとに異常な通信を検知する検知部と、
を備える情報処理装置。
この情報処理装置によると、VM間通信における異常を効率的に検知することができる。
[項目2]
前記検知部は、前記生成部により生成された前記パラメータに基づいて、前記VM間の通信が所定の条件を満たしていると判定した場合に、異常な通信であると検知する、
項目1に記載の情報処理装置。
この情報処理装置によると、VM間通信における異常を効率的に検知することができる。
[項目3]
前記受付部により受け付けられた通信データを、前記パラメータに関するポリシを含む所定のセキュリティポリシにしたがって前記第2のVMのアプリケーションに転送するデータ転送部をさらに備える、
項目1または2に記載の情報処理装置。
この情報処理装置によると、VM間通信の安全性を高めることができる。
[項目4]
前記検知部による検知結果に応じて、前記異常な通信への対策を実行する対応部をさらに備える、
項目1から3のいずれかに記載の情報処理装置。
この情報処理装置によると、検知された異常な通信への対策(例えば防御処理)を実行することで、安全性を高めることができる。
[項目5]
前記受付部により受け付けられた通信データを、前記パラメータに関するポリシを含む所定のセキュリティポリシにしたがって前記第2のVMのアプリケーションに転送するデータ転送部と、
前記検知部による検知結果に応じて、前記データ転送部のセキュリティポリシを更新する対応部と、をさらに備える、
項目1または2に記載の情報処理装置。
この情報処理装置によると、異常な通信が検知されたことに基づいて、通信データの転送に関するセキュリティポリシを適切に更新することができる。
[項目6]
前記生成部は、前記第1のVMより信頼度が高い実行環境に実装される、
項目1から5のいずれかに記載の情報処理装置。
この情報処理装置によると、生成部が攻撃されて異常検知の精度と正確度が低下してしまうことを防止しやすくなる。
[項目7]
前記検知部は、前記第1のVMより信頼度が高い実行環境に実装される、
項目1から6のいずれかに記載の情報処理装置。
この情報処理装置によると、検知部が攻撃されて異常検知の精度と正確度が低下してしまうことを防止しやすくなる。
[項目8]
前記検知部により異常な通信が検知された場合に、前記第2のVM宛の通信データを解析する解析部をさらに備える、
項目1から7のいずれかに記載の情報処理装置。
この情報処理装置によると、パラメータをもとに異常な通信が検知された場合に通信データそのものを解析することで、処理負荷の増加を抑えつつ、異常な通信に関する更なる情報を得やすくなる。
[項目9]
前記生成部は、前記パラメータとして、前記第1のVMのIDと前記第2のVMのIDとを含むパラメータを生成する、
項目1から8のいずれかに記載の情報処理装置。
この情報処理装置によると、VM間通信における異常を効率的かつ精度よく検知することができる。
[項目10]
前記仮想化ソフトウェアより信頼度が高い実行環境に実装され、所定の保護処理を実行する保護処理部をさらに備え、
前記対応部は、前記検知部によって異常が検知された場合、前記第1のVMからの要求に応じた前記保護処理部における前記保護処理の実行を阻止する、
項目4または5に記載の情報処理装置。
この情報処理装置によると、装置の安全性を高めることができる。
[項目11]
仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置が、
前記第1のVMから送信された前記第2のVM宛の通信データを受け付け、
受け付けた通信データをもとにVM間の通信に関するパラメータを生成し、
生成したパラメータをもとに異常な通信を検知する、
異常検知方法。
この異常検知方法によると、VM間通信における異常を効率的に検知することができる。
[項目12]
仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置に、
前記第1のVMから送信された前記第2のVM宛の通信データを受け付け、
受け付けた通信データをもとにVM間の通信に関するパラメータを生成し、
生成したパラメータをもとに異常な通信を検知する、
ことを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、VM間通信における異常を効率的に検知することができる。
10 車両、 12 ECU、 14 HV、 16 VM、 18 VM、 32 転送部、 38 検知部、 38b 解析部、 40 対応部、 44 受付部、 48 データ転送部。

Claims (12)

  1. 仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置であって、
    前記第1のVMと前記第2のVMとを動作させるHV(Hyper Visor)と、
    前記第1のVMと前記第2のVMがアクセス可能な共有メモリと、を有し、
    前記第1のVMは、前記第2のVMへ渡される内容である通信ペイロードと、前記第1のVMと前記第2のVMとの間の通信の制御のための制御情報である通信信号と、を包含した通信データを前記第2のVMに送信し、
    前記第2のVMは、
    前記第1のVMから送信された前記第2のVM宛の通信データを受け付ける受付部と、
    前記受付部により受け付けられた通信データをもとにVM間の通信に関するパラメータを生成する生成部と、
    前記生成部により生成されたパラメータをもとに異常な通信を検知する検知部と、
    を備え
    前記生成部は、前記通信信号の送信元VMの識別子と、前記通信信号の宛先VMの識別子と、前記通信信号の要求番号と、前記通信信号の割込番号と、前記通信信号のプロトコル番号のうち二つ以上の情報をもとに前記パラメータを生成し、
    前記第1のVMが前記通信信号を前記HVを介して前記第2のVMに送信し、前記第1のVMが前記共有メモリに格納した前記通信ペイロードを前記第2のVMが読み込むことで、前記第1のVMから前記第2のVMへ前記通信データが送信され
    情報処理装置。
  2. 前記検知部は、前記生成部により生成された前記パラメータに基づいて、前記VM間の通信が所定の条件を満たしていると判定した場合に、異常な通信であると検知する、
    請求項1に記載の情報処理装置。
  3. 前記受付部により受け付けられた通信データを、前記パラメータに関するポリシを含む所定のセキュリティポリシにしたがって前記第2のVMのアプリケーションに転送するデータ転送部をさらに備える、
    請求項1または2に記載の情報処理装置。
  4. 前記検知部による検知結果に応じて、前記異常な通信への対策を実行する対応部をさらに備える、
    請求項1から3のいずれかに記載の情報処理装置。
  5. 前記受付部により受け付けられた通信データを、前記パラメータに関するポリシを含む所定のセキュリティポリシにしたがって前記第2のVMのアプリケーションに転送するデータ転送部と、
    前記検知部による検知結果に応じて、前記データ転送部のセキュリティポリシを更新する対応部と、をさらに備える、
    請求項1または2に記載の情報処理装置。
  6. 前記生成部は、前記第1のVMより信頼度が高い実行環境に実装される、
    請求項1から5のいずれかに記載の情報処理装置。
  7. 前記検知部は、前記第1のVMより信頼度が高い実行環境に実装される、
    請求項1から6のいずれかに記載の情報処理装置。
  8. 前記検知部により異常な通信が検知された場合に、前記第2のVM宛の通信データを解析する解析部をさらに備える、
    請求項1から7のいずれかに記載の情報処理装置。
  9. 前記生成部は、前記パラメータとして、前記第1のVMのIDと前記第2のVMのIDとを含むパラメータを生成する、
    請求項1から8のいずれかに記載の情報処理装置。
  10. 前記仮想化ソフトウェアより信頼度が高い実行環境に実装され、所定の保護処理を実行する保護処理部をさらに備え、
    前記対応部は、前記検知部によって異常が検知された場合、前記第1のVMからの要求に応じた前記保護処理部における前記保護処理の実行を阻止する、
    請求項4または5に記載の情報処理装置。
  11. 仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置において実行される異常検知方法であって
    前記装置は、前記第1のVMと前記第2のVMとを動作させるHV(Hyper Visor)と、前記第1のVMと前記第2のVMがアクセス可能な共有メモリと、を有するものであり、
    前記第1のVMは、前記第2のVMへ渡される内容である通信ペイロードと、前記第1のVMと前記第2のVMとの間の通信の制御のための制御情報である通信信号と、を包含した通信データを前記第2のVMに送信し、
    前記第2のVMは、
    前記第1のVMから送信された前記第2のVM宛の通信データを受け付ける処理と
    受け付けた通信データをもとにVM間の通信に関するパラメータを生成する処理と
    生成したパラメータをもとに異常な通信を検知する処理と、を実行し
    前記生成する処理は、前記通信信号の送信元VMの識別子と、前記通信信号の宛先VMの識別子と、前記通信信号の要求番号と、前記通信信号の割込番号と、前記通信信号のプロトコル番号のうち二つ以上の情報をもとに前記パラメータを生成し、
    前記第1のVMが前記通信信号を前記HVを介して前記第2のVMに送信し、前記第1のVMが前記共有メモリに格納した前記通信ペイロードを前記第2のVMが読み込むことで、前記第1のVMから前記第2のVMへ前記通信データが送信される、
    異常検知方法。
  12. 仮想化ソフトウェアにより第1のVM(Virtual Machine)と第2のVMが動作する装置において実行されるコンピュータプログラムであって
    前記装置は、前記第1のVMと前記第2のVMとを動作させるHV(Hyper Visor)と、前記第1のVMと前記第2のVMがアクセス可能な共有メモリと、を有するものであり、
    前記コンピュータプログラムは、前記第2のVMへ渡される内容である通信ペイロードと、前記第1のVMと前記第2のVMとの間の通信の制御のための制御情報である通信信号と、を包含した通信データを前記第2のVMに送信する処理を前記第1のVMに実行させ、
    前記コンピュータプログラムは、
    前記第1のVMから送信された前記第2のVM宛の通信データを受け付ける処理と
    受け付けた通信データをもとにVM間の通信に関するパラメータを生成する処理と
    生成したパラメータをもとに異常な通信を検知する処理と、を前記第2のVMに実行させ、
    前記生成する処理は、前記通信信号の送信元VMの識別子と、前記通信信号の宛先VMの識別子と、前記通信信号の要求番号と、前記通信信号の割込番号と、前記通信信号のプロトコル番号のうち二つ以上の情報をもとに前記パラメータを生成し、
    前記第1のVMが前記通信信号を前記HVを介して前記第2のVMに送信し、前記第1のVMが前記共有メモリに格納した前記通信ペイロードを前記第2のVMが読み込むことで、前記第1のVMから前記第2のVMへ前記通信データが送信される、
    コンピュータプログラム。
JP2019220119A 2019-12-05 2019-12-05 情報処理装置、異常検知方法およびコンピュータプログラム Active JP7411895B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019220119A JP7411895B2 (ja) 2019-12-05 2019-12-05 情報処理装置、異常検知方法およびコンピュータプログラム
CN202080084034.7A CN114868365B (zh) 2019-12-05 2020-09-08 信息处理装置、异常检测方法以及计算机程序
DE112020005949.9T DE112020005949T5 (de) 2019-12-05 2020-09-08 Informationsverarbeitungsvorrichtung, Anomalieerfassungsverfahren und Computerprogramm
PCT/JP2020/033896 WO2021111692A1 (ja) 2019-12-05 2020-09-08 情報処理装置、異常検知方法およびコンピュータプログラム
US17/830,104 US20220291944A1 (en) 2019-12-05 2022-06-01 Information processing device, anomaly detection method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019220119A JP7411895B2 (ja) 2019-12-05 2019-12-05 情報処理装置、異常検知方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021090160A JP2021090160A (ja) 2021-06-10
JP7411895B2 true JP7411895B2 (ja) 2024-01-12

Family

ID=76220495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019220119A Active JP7411895B2 (ja) 2019-12-05 2019-12-05 情報処理装置、異常検知方法およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US20220291944A1 (ja)
JP (1) JP7411895B2 (ja)
CN (1) CN114868365B (ja)
DE (1) DE112020005949T5 (ja)
WO (1) WO2021111692A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118511489A (zh) * 2022-01-14 2024-08-16 松下电器(美国)知识产权公司 异常检测装置以及异常检测方法
WO2023238444A1 (ja) * 2022-06-10 2023-12-14 パナソニックIpマネジメント株式会社 監視装置及び監視方法
CN115981286A (zh) * 2023-02-02 2023-04-18 浙江迪捷软件科技有限公司 基于虚拟仿真平台实现汽车的虚拟标定方法和装置
CN116866154B (zh) * 2023-09-05 2023-11-28 湖北华中电力科技开发有限责任公司 一种基于虚拟机集群的配电网通讯服务智能调度管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242644A (ja) 2012-05-18 2013-12-05 Panasonic Corp 仮想計算機システム、制御方法、およびプログラム
JP2017174158A (ja) 2016-03-24 2017-09-28 日本電気株式会社 監視システム、監視方法および監視プログラム
WO2018221118A1 (ja) 2017-06-01 2018-12-06 株式会社Seltech 仮想ネットワークシステム、および仮想ネットワークシステムの通信方法
JP2019066995A (ja) 2017-09-29 2019-04-25 株式会社Seltech セキュアモードとノンセキュアモードとを選択的に切り替え可能なシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5522160B2 (ja) 2011-12-21 2014-06-18 トヨタ自動車株式会社 車両ネットワーク監視装置
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242644A (ja) 2012-05-18 2013-12-05 Panasonic Corp 仮想計算機システム、制御方法、およびプログラム
JP2017174158A (ja) 2016-03-24 2017-09-28 日本電気株式会社 監視システム、監視方法および監視プログラム
WO2018221118A1 (ja) 2017-06-01 2018-12-06 株式会社Seltech 仮想ネットワークシステム、および仮想ネットワークシステムの通信方法
JP2019066995A (ja) 2017-09-29 2019-04-25 株式会社Seltech セキュアモードとノンセキュアモードとを選択的に切り替え可能なシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安齋 潤, 他,自動走行車向け侵入検知・防衛システムに関する提案,2018年 暗号と情報セキュリティシンポジウム概要集,日本,電子情報通信学会,2018年01月23日,pp.1-6

Also Published As

Publication number Publication date
DE112020005949T5 (de) 2022-09-29
US20220291944A1 (en) 2022-09-15
CN114868365A (zh) 2022-08-05
CN114868365B (zh) 2024-05-31
WO2021111692A1 (ja) 2021-06-10
JP2021090160A (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
JP7411895B2 (ja) 情報処理装置、異常検知方法およびコンピュータプログラム
US10528726B1 (en) Microvisor-based malware detection appliance architecture
JP7194396B2 (ja) セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法
KR102301721B1 (ko) 다수의 네트워크 종점들을 보호하기 위한 듀얼 메모리 인트로스펙션
US10642753B1 (en) System and method for protecting a software component running in virtual machine using a virtualization layer
US11979428B1 (en) Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10726127B1 (en) System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
CN105302092B (zh) 基于最小特权的过程控制软件安全架构
WO2016109042A1 (en) Microvisor-based malware detection endpoint architecture
EP3095058A1 (en) Exploit detection system with threat-aware microvisor
EP3291119B1 (en) Automotive monitoring and security system
US20230289204A1 (en) Zero Trust Endpoint Device
US20230365162A1 (en) Computer system for providing a plurality of functions for a device, in particular for a vehicle, by separation of a plurality of zones
US12116002B2 (en) Information processing apparatus, information processing method, and recording medium
US20240168793A1 (en) Methods and Systems for Checking Container Applications on a Host System for Manipulation
EP3113066B1 (en) Computer security architecture and related computing method
Weiß System Architectures to Improve Trust, Integrity and Resilience of Embedded Systems
Fitz et al. SECURITY OF CONTROL COMPUTERS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231213

R151 Written notification of patent or utility model registration

Ref document number: 7411895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350