JP2022048019A - 情報処理装置、情報処理方法、および、プログラム - Google Patents

情報処理装置、情報処理方法、および、プログラム Download PDF

Info

Publication number
JP2022048019A
JP2022048019A JP2020154123A JP2020154123A JP2022048019A JP 2022048019 A JP2022048019 A JP 2022048019A JP 2020154123 A JP2020154123 A JP 2020154123A JP 2020154123 A JP2020154123 A JP 2020154123A JP 2022048019 A JP2022048019 A JP 2022048019A
Authority
JP
Japan
Prior art keywords
information processing
mode
unit
control
processor
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.)
Granted
Application number
JP2020154123A
Other languages
English (en)
Other versions
JP7514586B2 (ja
Inventor
紘幸 和田
Hiroyuki Wada
吉治 今本
Yoshiharu Imamoto
透 岩野
Toru Iwano
崇之 藤井
Takayuki Fujii
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 JP2020154123A priority Critical patent/JP7514586B2/ja
Priority to US17/466,359 priority patent/US12116002B2/en
Priority to DE102021123370.4A priority patent/DE102021123370A1/de
Publication of JP2022048019A publication Critical patent/JP2022048019A/ja
Application granted granted Critical
Publication of JP7514586B2 publication Critical patent/JP7514586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Figure 2022048019000001
【課題】監視結果を外部に出力することが妨げられることを抑制する。
【解決手段】情報処理装置10は、情報処理装置10の外部の装置との通信をする通信デバイス13と、保護領域21と非保護領域22とを含むメモリ11と、メモリ11の保護領域21及び非保護領域22へのアクセスが許可される第一モードと、メモリ11の保護領域21へのアクセスが禁止され、非保護領域22へのアクセスが許可される第二モードとで動作するプロセッサ12と、プロセッサ12が第一モードで動作することで、通信デバイス13を制御する第一デバイス制御部41と、プロセッサ12が第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理部52と、プロセッサ12が第二モードで動作することで、通信デバイス13を制御する第二デバイス制御部32Aとを備える。
【選択図】図3

Description

本発明は、情報処理装置、情報処理方法、および、プログラムに関する。
1台の装置に1以上の仮想的なコンピュータを動作させるように制御する仮想化技術が利用されている。1以上の仮想的なコンピュータを動作させる仮想化基盤となるソフトウェアをハイパーバイザともいい、仮想的に動作する上記1以上のコンピュータを仮想マシンともいう。
仮想化ソフトウェア上に、監視対象となる複数の仮想マシンと、監視用の仮想マシンとを配置し、監視対象における異常の有無を判定し外部に出力する技術がある(特許文献1参照)。
特開2019-144785号公報
しかしながら、ハイパーバイザ内の仮想化ソフトウェアまたはデバイスドライバの脆弱性または不具合などにより、仮想マシン等の異常の有無の判定結果を外部に出力することが妨げられることがあるという問題がある。
一例として、自動車において複数のECU(Electronic Control Unit)機能を統合化することで、利用者に高度な車両サービスを提供しようとする動きがある。その中で、第三者(サードパーティ)のアプリケーション(アプリともいう)がインストールされ得るIVI(In-Vehicle Infortainment)システムと、車両の自動運転を支援するADAS(Advanced Driver Assistance System)システムとを統合化する場合に、サードパーティの悪意のあるアプリがハイパーバイザ内の仮想化ソフトウェアまたは通信に係るデバイスドライバを攻撃することにより、異常の有無の判定結果を外部に出力することを妨げることがある。
このように、仮想マシン等の異常の有無の判定結果を外部に出力することが妨げられると、ECUが異常に対処するための対処処理を外部装置からの指示によって実行することができず、車両の運行に支障をきたすこととなる。
そこで、本発明は、監視結果を外部に出力することが妨げられることを抑制する情報処理装置を提供する。
本発明の一態様に係る情報処理装置は、情報処理装置であって、前記情報処理装置の外部の装置との通信をするデバイスと、保護領域と非保護領域とを含むメモリと、前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサと、前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御部と、前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理部と、前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御部とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本発明の情報処理装置は、監視結果を外部に出力することが妨げられることを抑制することができる。
図1は、関連技術における情報処理装置の構成を概念的に示す模式図である。 図2は、実施の形態1における情報処理装置の構成を概念的に示す模式図である。 図3は、実施の形態1における情報処理装置の機能構成を示す模式図である。 図4は、実施の形態1における情報処理装置の処理を示すフロー図である。 図5は、実施の形態2における情報処理装置の機能構成を示す模式図である。 図6は、実施の形態2における管理情報の一例を示す説明図である。 図7は、実施の形態2におけるメモリ内のデバイス領域の配置を示す説明図である。 図8は、実施の形態2における情報処理装置の処理を示すフロー図である。 図9は、実施の形態3における情報処理装置の機能構成を示す模式図である。 図10は、実施の形態3における管理情報の一例を示す説明図である。 図11は、実施の形態3におけるメモリ内のデバイス領域の配置を示す説明図である。 図12は、実施の形態3における情報処理装置の処理を示すフロー図である。 図13は、実施の形態4における情報処理装置の構成を概念的に示す模式図である。 図14は、実施の形態4における情報処理装置の機能構成の第一例を示す模式図である。 図15は、実施の形態4における情報処理装置の機能構成の第二例を示す模式図である。 図16は、実施の形態5における情報処理装置の機能構成を示す模式図である。
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した仮想化技術に関し、以下の問題が生じることを見出した。ここで、以下の問題が生じる技術を「関連技術」ともいう。
図1は、関連技術における情報処理装置90の構成を概念的に示す模式図である。
図1に示されるように、情報処理装置90は、プロセッサ12と通信デバイス13とを備える。
プロセッサ12は、セキュアモードおよびノーマルモードの実行モードで動作し得る処理装置である。プロセッサがセキュアモードで動作している実行環境をセキュアワールドともいい、プロセッサがノーマルモードで動作している実行環境をノーマルワールドともいう。
通信デバイス13は、外部の装置(外部装置ともいう)との通信を行うデバイスである。通信デバイス13は、所定の形式のコネクタを有し、上記コネクタを介して所定の形式の電気信号を送受信することで、外部装置との通信を実行する。
また、情報処理装置90は、プロセッサにより実行される機能であるセキュアモニタ20を備える。
セキュアモニタ20は、プロセッサ12の実行モードを制御する。具体的には、セキュアモニタ20は、プロセッサ12がセキュアモードとノーマルモードとのどちらで動作するかを決定し、その決定に基づいてプロセッサ12の実行モードを制御する。
情報処理装置90において、ノーマルモードでハイパーバイザHVが実行されており、ハイパーバイザHVの上で、仮想マシンVM1、VM2およびVM3が稼働している。
仮想マシンVM1は、共通仮想マシン(図1で「共通」と記載)である。仮想マシンVM1は、情報処理装置90において共通に用いられる機能を提供する仮想マシンである。仮想マシンVM1は、通信デバイス13を制御するデバイス制御部32を稼働させている。
仮想マシンVM2は、アプリプラットフォーム仮想マシン(図1で「アプリPF」と記載)である。仮想マシンVM2は、サードパーティのアプリ部34(例えばMaaS(Mobility as a Service)アプリ)を稼働させており、また、外部装置との通信に係るプロトコル処理などを制御する通信制御部33を有する。
仮想マシンVM3は、車両制御仮想マシン(図1で「車両制御」と記載)である。仮想マシンVM3は、車両の運転支援のための制御アプリ部36(例えばADAS(Advanced Driver-Assistance Systems)アプリ)を稼働させており、また、外部装置との通信に係るプロトコル処理などを制御する通信制御部35を有する。
ハイパーバイザHVは、アクセス制御部31を備える。アクセス制御部31は、仮想マシンVM2の通信制御部33および仮想マシンVM3の通信制御部35それぞれに接続され、また、仮想マシンVM1のデバイス制御部32に接続され、通信のアクセスを制御する機能部である。
情報処理装置90において、セキュアモードにおいて監視部91が稼働している。監視部91は、ノーマルモードで稼働している各仮想マシンおよびハイパーバイザHVに割り当てられているメモリ領域を監視し、メモリ領域の異常の有無の判定結果を外部装置に通知する。外部装置は、異常があることを上記判定結果が示す場合、その異常に対処するための対処処理(例えば、その異常値を正常値に変更する処理、または、車両を安全に停車させる処理など)を、通信を介して指示し、情報処理装置90に実行させる。
監視部91は、外部装置との通信に、仮想マシンVM1が有するデバイス制御部32を用いる。つまり、監視部91は、仮想マシンVM3の通信制御部35、ハイパーバイザHVのアクセス制御部31、仮想マシンVM1の第二デバイス制御部32A、および、通信デバイス13を経由する通信経路を利用して、外部装置と通信する。
この場合、仮に上記通信経路における装置(例えば、ハイパーバイザHVのアクセス制御部31、または、仮想マシンVM1のデバイス制御部32)が、悪意のアプリからの攻撃によって異常な動作をするようになると、監視部91がメモリ領域の異常の有無の判定結果を外部に出力することが妨げられることがあるという問題がある。そして、監視部91がメモリ領域の異常に対処するための対処処理を外部からの指示によって行うことができず、車両の運行に支障をきたすこととなる。
そこで、本発明は、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などを提供する。
本発明の一態様に係る情報処理装置は、情報処理装置であって、前記情報処理装置の外部の装置との通信をするデバイスと、保護領域と非保護領域とを含むメモリと、前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサと、前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御部と、前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理部と、前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御部とを備える。
上記態様によれば、情報処理装置は、プロセッサが第一モードで動作することでデバイスを制御して外部の装置と通信をすることができる。仮にプロセッサが第二モードで動作することでデバイスを制御して外部の装置と通信することしかできないとすれば、そのデバイス、または、そのデバイスを用いた通信に利用する機能が悪意のアプリによって攻撃された場合に、外部の装置との通信が妨げられる。悪意のアプリは、第二モードで動作することが想定されるからである。一方、上記態様に係る情報処理装置によれば、プロセッサが第一モードで動作することでデバイスを制御して外部の装置と通信をすることができるので、第二モードで動作する悪意のアプリによって通信が妨げられることが抑制される。このように、上記態様の情報処理装置は、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記情報処理装置は、さらに、前記プロセッサが前記第一モードで動作することで、前記デバイスの制御を、前記第二制御部による制御から前記第一制御部による制御に切り替える切替部を備えてもよい。
上記態様によれば、情報処理装置は、第二モードでデバイスを制御する状態から、第一モードでデバイスを制御する状態に切り替えることができるので、通常時の通信を第二モードで行い、第一モードでデバイスを制御することが必要であるときに第一モードでデバイスを制御するという動作をすることができる。これにより、第一モードでデバイスを制御する処理を、より少ないコンピュータリソースまたは消費電力で実現することができる利点がある。よって、情報処理装置は、利用するコンピュータリソースまたは消費電力をより少なく抑えながら、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記情報処理装置は、さらに、前記プロセッサが前記第一モードで動作することで、前記仮想マシン管理部に割り当てられる前記メモリの領域を監視対象として監視をし、前記監視対象に異常があるか否かの判定をする監視部を備え、前記切替部は、前記監視対象に異常があると前記監視部が判定した場合に、前記監視部が前記外部の装置と通信するときの前記デバイスの制御を、前記第二制御部による制御から前記第一制御部による制御に切り替えてもよい。
上記態様によれば、情報処理装置は、メモリの監視対象の領域に異常がある場合に、第一モードでデバイスを制御する状態に切り替えるので、異常があることを示す情報をより確実に外部の装置に送信することができる。よって、情報処理装置は、監視結果を外部に出力することが妨げられることを、より確実に、抑制することができる。
例えば、前記切替部は、さらに、前記第二制御部による制御から前記第一制御部による制御に切り替えるときには、前記第二制御部による前記デバイスの制御を禁止するように制御してもよい。
上記態様によれば、情報処理装置は、第一モードでデバイスを制御する状態に切り替えるときに、第二モードでデバイスを制御することを禁止するので、第一モードでデバイスを制御して実行する通信が、第二モードでデバイスを制御して実行する通信によって妨げられることが抑制される。よって、情報処理装置は、監視結果を外部に出力することが妨げられることを、より確実に、抑制することができる。
例えば、前記第一制御部は、前記メモリの前記保護領域に含まれる第一デバイス領域を用いて前記デバイスを制御し、前記第二制御部は、前記メモリの前記非保護領域に含まれる第二デバイス領域を用いて前記デバイスを制御してもよい。
上記態様によれば、情報処理装置は、メモリの保護領域を用いて第一モードでデバイスを制御し、メモリの非保護領域を用いて第二モードでデバイスを制御する。これにより、情報処理装置は、より容易に、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記第一制御部は、前記メモリの前記非保護領域に含まれる第二デバイス領域を用いて前記デバイスを制御し、前記第二制御部は、前記メモリの前記第二デバイス領域を用いて前記デバイスを制御してもよい。
上記態様によれば、情報処理装置は、メモリの保護領域を用いて第一モードまたは第二モードでデバイスを制御する。これにより、情報処理装置は、より容易に、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記情報処理装置は、さらに、前記プロセッサが前記第二モードで動作することで、所定の処理を実行するアプリ部であって、前記アプリ部が前記情報処理装置の外部の装置に送信すべきデータに電子署名を付すアプリ部と、前記プロセッサが前記第一モードで動作することで、前記アプリ部が前記電子署名を付した前記データを受け取り、前記電子署名の検証が成功した場合に、前記データを前記情報処理装置の外部の装置に送信する署名検証部とを備えてもよい。
上記態様によれば、情報処理装置は、第二モードで動作するアプリ部によりデータに付された電子署名の検証を、第一モードで検証して検証に成功したデータを送信するので、正当なアプリ部が送信すべきデータを、第一モードでデバイスを制御することにより送信することができる。よって、情報処理装置は、監視結果を外部に出力すること、および、正当なアプリ部による通信が妨げられることをともに抑制することができる。
例えば、前記情報処理装置は、さらに、前記プロセッサが前記第二モードで動作することで、所定の処理を実行するアプリ部であって、前記アプリ部が前記情報処理装置の外部の装置に送信すべき1以上のデータを生成するアプリ部と、前記プロセッサが前記第一モードで動作することで、前記アプリ部が生成した前記1以上のデータを受け取り、前記アプリ部の通信に係る適正な挙動を示す挙動適正条件を前記メモリの前記保護領域から取得し、受け取った前記1以上のデータが前記挙動適正条件を満たすと判定した場合に、前記データを前記情報処理装置の外部の装置に送信する挙動検証部とを備えてもよい。
上記態様によれば、情報処理装置は、第二モードで動作するアプリ部の挙動の検証を、第一モードで検証して検証に成功したデータを送信するので、正当なアプリ部が送信すべきデータを、第一モードでデバイスを制御することにより送信することができる。よって、情報処理装置は、監視結果を外部に出力すること、および、正当なアプリ部による通信が妨げられることをともに抑制することができる。
例えば、前記情報処理装置は、車両を制御する車両制御部を備え、前記車両制御部は、前記第二制御部による制御から前記第一制御部による制御に前記切替部が切り替えるときには、前記車両の縮退制御のための制御情報を前記メモリの前記保護領域から取得し、取得した前記制御情報に従って前記車両を制御してもよい。
上記態様によれば、情報処理装置は、デバイスの制御を第一モードから第二モードに切り替えるときに、さらに車両を縮退制御することができる。これにより、車両を安全に停止させるように車両を制御することができる。よって、情報処理装置は、車両を安全に停止させながら、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記プロセッサは、前記第一モードでの動作と、前記第二モードでの動作とを時分割で切り替えてもよい。
上記態様によれば、情報処理装置は、時分割で第一モードでの動作と第二モードでの動作を切り替えるプロセッサを用いて、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記プロセッサは、複数のコアを有し、前記複数のコアのうちの少なくとも1つが前記第一モードで動作し、前記複数のコアのうち前記第一モードで動作していないコアの少なくとも1つが前記第二モードで動作してもよい。
上記態様によれば、情報処理装置は、第一モードで動作するコアと、第二モードで動作するコアとを含む複数のコアを有するプロセッサを用いて、監視結果を外部に出力することが妨げられることを抑制することができる。
例えば、前記情報処理装置は、車両に搭載されるECU(Electronic Control Unit)であってもよい。
上記態様によれば、情報処理装置であるECUが監視結果を外部に出力することが妨げられることを抑制することができる。
また、本発明の一態様に係る情報処理方法は、情報処理装置が実行する情報処理方法であって、前記情報処理装置は、前記情報処理装置の外部の装置との通信をするデバイスと、保護領域と非保護領域とを含むメモリと、前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサとを備え、前記情報処理方法は、前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御ステップと、前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理ステップと、前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御ステップとを含む。
上記態様によれば、情報処理装置と同様の効果を奏する。
また、本発明の一態様に係るプログラムは、上記の情報処理方法をコンピュータに実行させるプログラムである。
上記態様によれば、情報処理装置と同様の効果を奏する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
本実施の形態において、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などについて説明する。
図2は、本実施の形態における情報処理装置10の構成を概念的に示す模式図である。
図2に示されるように、情報処理装置10は、関連技術における情報処理装置90と同様に、プロセッサ12と、通信デバイス13とを備える。
プロセッサ12は、セキュアモードおよびノーマルモードの実行モードで動作し得る処理装置である。プロセッサ12は、セキュアモードとノーマルモードとを時分割で切り替えて動作してもよいし、プロセッサ12が複数のコアを備える場合には、複数のコアのうちの一部がセキュアモードで動作し、上記複数のコアのうちの残部がノーマルモードで動作してもよい。なお、情報処理装置10は、例えば、車両に搭載され、車載ネットワークに接続されて車両を制御するECUであるが、これに限定されない。
なお、セキュアモードおよびノーマルモードの実行環境の制御は、一般にTEE(Trusted Execution Environment)と呼ばれる。例えば、ARM系のCPU(Central Processing Unit)におけるCortex-Aファミリでは標準機能の1つであるTrustZone機構により実現され得る。また、AppleのSEP(Secure Enclave Processor)、または、GoogleのTitanMなどによっても実現され得る。
通信デバイス13は、外部の装置(外部装置ともいう)との通信を行うデバイスである。通信デバイス13は、所定の形式のコネクタを有し、上記コネクタを介して所定の形式の電気信号を送受信することで、外部装置との通信を実行する。通信デバイス13は、より具体的には、例えば、CAN(Control Area Network)、Diag(Diagnostic Communication)、UART(Universal Asynchronous Receiver/Transmitter)、Ethernet、Cellular、Bluetooth、USB(Universal Serial Bus)など、外部装置との通信に用いられるデバイスであってもよい。
また、情報処理装置10は、プロセッサ12により実行される機能であるセキュアモニタ20を備える。
セキュアモニタ20は、プロセッサ12の実行モードを制御する。具体的には、セキュアモニタ20は、プロセッサ12がセキュアモードとノーマルモードとのどちらで動作するかを決定し、その決定に基づいてプロセッサ12の実行モードを制御する。
プロセッサ12は、ノーマルモードにおいてハイパーバイザHVを実行しており、ハイパーバイザHVの上で仮想マシンVM1、VM2およびVM3を稼働させている。仮想マシンVM1は、第二デバイス制御部32A(第二制御部ともいう)を稼働させており、仮想マシンVM2は、通信制御部33およびアプリ部34を稼働させており、仮想マシンVM3は、通信制御部35および制御アプリ部36を稼働させている。なお、第二デバイス制御部32Aは、例えば、ノーマルモードで実行されるハイパーバイザHVなどにおいて稼働させてもよく、特に限定されない。
プロセッサ12は、セキュアモードにおいて、第一デバイス制御部41、通信制御部42および監視部43を稼働させている。
第一デバイス制御部41は、セキュアモードで稼働し、通信デバイス13を制御する機能部である。第一デバイス制御部41を第一制御部ともいう。
通信制御部42は、通信デバイス13を制御する情報処理装置10の外部装置との通信を制御する機能部である。
監視部43は、関連技術における監視部91と同様に、ノーマルワールドで稼働している各仮想マシンおよびハイパーバイザHVに割り当てられているメモリの領域を監視し、異常の有無の判定結果を外部装置に通知する機能部である。
監視部43は、セキュアモードで稼働している第一デバイス制御部41を用いて外部装置との通信を行う。つまり、監視部43は、セキュアモードで稼働している通信制御部42および第一デバイス制御部41、ならびに、通信デバイス13を経由する通信経路を利用して、外部装置と通信する。
このように、監視部43は、ノーマルワールドで稼働しているアクセス制御部31および第二デバイス制御部32Aを利用しないで外部装置と通信するので、異常の有無の判定結果を外部に出力することが妨げられることが抑制される。
以降において、情報処理装置10の機能構成についてより詳しく説明する。
図3は、本実施の形態における情報処理装置10の機能構成を示す模式図である。
図3に示されるように、情報処理装置10は、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。保護領域21は、プロセッサ12がセキュアモードで実行されているときにのみアクセスされ得る領域である。非保護領域22は、プロセッサ12がセキュアモードで実行されているとき、および、ノーマルモードで実行されているときにアクセスされ得る領域である。メモリ11には、例えば、通信制御設定(通信速度など)、制御メッセージやコマンド、入力出力パラメータやデータなどが記憶される。
なお、ここでは、ハイパーバイザHV上でn個の仮想マシンが稼働されている状況を例として説明する。nは、1以上いくつであってもよい。
保護領域21は、監視情報211を有する。
監視情報211は、監視対象であるメモリ領域と、そのメモリ領域に格納されている値が適正であることを示す条件(適正条件ともいう)を示す情報である。
非保護領域22は、ハイパーバイザHVの管理領域であるHV領域220と、n個の仮想マシンの管理領域、つまり仮想マシンVM1の管理領域であるVM1領域221、仮想マシンVM2の管理領域であるVM2領域222、・・・、仮想マシンVMnの管理領域であるVMn領域22nとを有する。
また、非保護領域22は、デバイス領域231を有する。デバイス領域231は、プロセッサ12が通信デバイス13を制御するために用いるメモリ領域である。
プロセッサ12は、セキュアモードとノーマルモードとのいずれかの実行モードで動作する処理装置である。具体的には、プロセッサ12は、メモリ11の保護領域21及び非保護領域22へのアクセスが許可されるセキュアモード(つまり第一モード)と、メモリ11の保護領域21へのアクセスが禁止され、非保護領域22へのアクセスが許可されるノーマルモード(つまり第二モード)とのいずれかの実行モードで動作する。
プロセッサ12は、セキュアモードでの動作と、ノーマルモードでの動作とを時分割で切り替えてもよい。また、プロセッサ12は、複数のコアを有し、複数のコアのうちの少なくとも1つがセキュアモードで動作し、複数のコアのうちセキュアモードで動作していないコアの少なくとも1つがノーマルモードで動作してもよい。
プロセッサ12は、メモリ11を用いてプログラムを実行することで、監視部43と、切替部44と、第一デバイス制御部41と、アプリ部51と、仮想マシン管理部52と、第二デバイス制御部32Aとの各機能部を実現する。
ここで、監視部43と、切替部44と、第一デバイス制御部41とは、プロセッサ12がセキュアモードで実行されることで実現される機能部である。また、アプリ部51と、仮想マシン管理部52と、第二デバイス制御部32Aとは、プロセッサ12がノーマルモードで動作することで実現される機能部である。
監視部43は、一以上の仮想マシンのうちの一の仮想マシン、又は、仮想マシン管理部52に割り当てられるメモリ11の領域を監視対象として監視する機能部である。監視部43は、監視情報211を取得し、取得した監視情報211に示される監視対象であるメモリ領域に格納されている値を監視する。そして、監視対象であるメモリ領域に格納されている値が、監視情報211に示される適正条件を満たすか否かを判定し、満たさない場合に、監視対象に異常があると判定する。
切替部44は、監視部43が外部装置と通信するときの通信デバイス13の制御を、第一デバイス制御部41による制御、または、第二デバイス制御部32Aによる制御に切り替える機能部である。切替部44は、具体的には、通信デバイス13の制御を、第二デバイス制御部32Aによる制御から第一デバイス制御部41による制御に切り替える。より具体的には、切替部44は、監視対象に異常があると監視部43が判定した場合に、監視部43が外部装置と通信するときの通信デバイス13の制御を、第二デバイス制御部32Aによる制御から第一デバイス制御部41による制御に切り替える。
第一デバイス制御部41は、通信デバイス13を制御する機能部である。第一デバイス制御部41は、通信デバイス13を制御するときには、デバイス領域231を用いて通信デバイス13を制御する。
アプリ部51は、所定の機能を発揮するアプリケーションソフトウェアである。アプリ部51は、図2に示されるアプリ部34および制御アプリ部36に相当する。
仮想マシン管理部52は、一以上の仮想マシンを稼働させる機能部でありハイパーバイザHVに相当する。仮想マシン管理部52は、HV領域220のメモリ領域を使用して実現されている。また、仮想マシン管理部52は、VM1領域221、VM2領域222、・・・、VMn領域22nを、それぞれ、一以上の仮想マシンのメモリ領域として用いて、一以上の仮想マシンを稼働させている。
第二デバイス制御部32Aは、通信デバイス13を制御する機能部である。第一デバイス制御部41は、通信デバイス13を制御するときには、デバイス領域231を用いて通信デバイス13を制御する。
つまり、第一デバイス制御部41および第二デバイス制御部32Aは、ともに、非保護領域22に含まれるデバイス領域231(第二デバイス領域に相当)を用いて通信デバイス13を制御する。
図4は、本実施の形態における情報処理装置10の処理を示すフロー図である。図4において、(a)にセキュアモードの処理を示すフロー図が示されており、(b)にノーマルモードの処理を示すフロー図が示されている。
プロセッサ12がセキュアモードとノーマルモードとを時分割で切り替える場合には、図4の(a)および(b)の処理が交互に進められる。また、プロセッサ12の複数のコアの一部がセキュアモードで動作し、残部がノーマルモードで動作する場合には、セキュアモードで動作するコアが(a)の処理を実行するのと並行して、ノーマルモードで動作するコアが(b)の処理を実行する。
以降において、プロセッサ12がセキュアモードで実行する処理について説明する。
図4の(a)に示されるように、ステップS101において、監視部43は、監視対象のメモリ領域を監視する。
ステップS102において、第一デバイス制御部41が通信デバイス13を制御して通信をする。この通信は、例えばステップS101における監視結果を示す情報を外部装置に送信すること、または、送信した情報に対して外部装置が送信する指示情報を受信することを含む。
ステップS102を終えたら図4の(a)の一連の処理を終える。再びステップS101の処理を実行してもよい。
次に、プロセッサ12がノーマルモードで実行する処理について説明する。
図4の(b)に示されるように、ステップS111において、仮想マシン管理部52は、仮想マシンを稼働させる。
ステップS112において、第二デバイス制御部32Aが通信デバイス13を制御して通信をする。この通信は、例えばアプリ部51が外部装置に情報を送信すること、または、外部装置が送信する情報をアプリ部51が受信することを含む。
ステップS112を終えたら図4の(b)の一連の処理を終える。再びステップS111の処理を実行してもよい。
図4の(a)および(b)に示される処理により、情報処理装置10は、監視結果を外部に出力することが妨げられることを抑制することができる。
(実施の形態2)
本実施の形態において、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などについて、別の形態を説明する。
本実施の形態の情報処理装置10Aは、監視対象に異常があると判定した場合に、ノーマルモードでのデバイス制御部(第二デバイス制御部)を用いた通信を禁止するように制御する。
本実施の形態の情報処理装置10Aは、実施の形態1の情報処理装置10と類似の構成を有する。以降において、実施の形態1の情報処理装置10と異なる部分を主に説明する。
図5は、本実施の形態における情報処理装置10Aの機能構成を示す模式図である。図6は、本実施の形態における管理情報212の一例を示す説明図である。
図5に示されるように、情報処理装置10Aは、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。
保護領域21は、監視情報211と管理情報212とを有する。また、保護領域21は、切替部44Aによる制御により、第一デバイス領域213を有することがある(図7の(b)参照)。
管理情報212は、デバイス領域のステートを管理する情報である。デバイス領域のステートは、セキュアまたはノンセキュアのいずれかに動的かつ選択的に変更され得る。管理情報212は、例えば切替部44Aにより変更される。
図6を参照しながらデバイス領域のステートについて説明する。
デバイス領域のステートがセキュアである場合、デバイス領域は、セキュアモードで実行しているプロセッサ12からのアクセスが許可され、ノーマルモードで実行しているプロセッサ12からのアクセスが禁止される。つまり、デバイス領域のステートがセキュアであることは、当該デバイス領域が保護領域21に配置されていることに相当する。
デバイス領域のステートがノンセキュアである場合、デバイス領域は、セキュアモードおよびノーマルモードで実行しているプロセッサ12からのアクセスが許可される。つまり、デバイス領域のステートがノンセキュアであることは、デバイス領域が非保護領域22に配置されていることに相当する。
非保護領域22は、HV領域220、VM1領域221、VM2領域222、・・・、VMn領域22nを有する。
また、非保護領域22は、第二デバイス領域232を有する。第二デバイス領域232は、実施の形態1におけるデバイス領域231に相当し、プロセッサ12が通信デバイス13を制御するために用いるメモリ領域である。
本実施の形態の切替部44Aは、デバイス領域のステートを変更することによって、監視部43が外部装置と通信するときの通信デバイス13の制御を、第一デバイス制御部41による制御、または、第二デバイス制御部32Aによる制御に切り替える機能部である(図2参照)。これにより、プロセッサ12がノーマルモードで動作しているときに通信デバイス13の制御を禁止しながら、セキュアモードで動作しているときに通信デバイス13の制御をすることができる。
図7は、本実施の形態におけるメモリ11内のデバイス領域の配置を示す説明図である。
図7の(a)は、メモリ11内のデバイス領域の第一の配置を示している。図7の(a)に示される配置は、監視対象に異常がないと監視部43が判定した場合のメモリ11内のデバイス領域の配置を示している。言い換えれば、図7の(a)に示される配置は、切替部44Aによる切り替え前のメモリ11を示している。
図7の(a)は、図5に示されるメモリ11と同じ状態であり、デバイス領域が第二デバイス領域232として非保護領域22に配置されている。
図7の(b)は、メモリ11内のデバイス領域の第二の配置を示している。図7の(b)に示される配置は、監視対象に異常があると監視部43が判定した場合のメモリ11内のデバイス領域の配置を示している。言い換えれば、図7の(b)に示される配置は、切替部44Aによる切り替え後のメモリ11を示している。
図7の(b)に示されるように、切替部44Aによる切り替え後には、デバイス領域が第一デバイス領域213として保護領域21に配置されている。第一デバイス領域213は、実施の形態1におけるデバイス領域231に相当し、プロセッサ12が通信デバイス13を制御するために用いるメモリ領域である。第一デバイス領域213は、図7の(a)の第二デバイス領域232のステートがノンセキュアからセキュアに変更されたことによって出現したものである。
このようにすることで、プロセッサ12がノーマルモードで動作しているときに通信デバイス13の制御を禁止することができる。
以上のように構成された情報処理装置10Aの処理を説明する。
図8は、本実施の形態における情報処理装置10Aの処理を示すフロー図である。
図8に示されるように、ステップS211において、監視部43は、監視対象のメモリ領域を監視する。
ステップS212において、監視部43は、ステップS211での監視において監視対象のメモリ領域に異常があるか否かを判定する。異常があると判定した場合(ステップS212でYes)には、ステップS213に進み、そうでない場合(ステップS212でNo)には図8に示される一連の処理を終了する。
ステップS213において、切替部44Aは、デバイスの制御を第二デバイス制御部32Aから第一デバイス制御部41に切り替える。ステップS213を終えたら情報処理装置10Aは、図8に示される一連の処理を終了する。
図8に示される一連の処理によって、情報処理装置10Aは、監視対象に異常があると判定した場合に、ノーマルモードでのデバイス制御部による通信デバイス13の制御を禁止し、セキュアモードでのデバイス制御部による通信デバイス13の制御によって通信を行うように制御する。これにより、セキュアモードでのデバイス制御部による通信を、ノーマルモードでのデバイス制御部による通信によって妨げられることがなくなり、監視結果を外部に出力することが妨げられることをより一層抑制することができる。
(実施の形態3)
本実施の形態において、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などについて、別の形態を説明する。
本実施の形態の情報処理装置10Bは、監視対象に異常があると判定した場合に、ノーマルモードでのデバイス制御部(第二デバイス制御部)を用いた通信を禁止するように制御する。
図9は、本実施の形態における情報処理装置10Bの機能構成を示す模式図である。図10は、本実施の形態における管理情報233の一例を示す説明図である。
図9に示されるように、情報処理装置10Bは、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。
保護領域21は、監視情報211と第一デバイス領域213とを有する。
第一デバイス領域213は、実施の形態1におけるデバイス領域231に相当し、プロセッサ12が通信デバイス13を制御するために用いるメモリ領域である。
非保護領域22は、HV領域220、VM1領域221、VM2領域222、・・・、VMn領域22n、管理情報233および第二デバイス領域232を有する。
管理情報233は、仮想アドレスと物理アドレスとの対応を示す情報である。ここで、仮想アドレスは、仮想マシンVM1等がメモリアクセスに使用する仮想的なアドレスであり、物理アドレスは、メモリ11における実際のアドレスである。管理情報233は、例えば、仮想アドレスを物理アドレスに変換するために用いられる。
第二デバイス領域232は、実施の形態1におけるデバイス領域231に相当し、プロセッサ12が通信デバイス13を制御するために用いるメモリ領域である。
切替部44Bは、監視部43が外部装置と通信するときの通信デバイス13の制御を、第一デバイス制御部41による制御、または、第二デバイス制御部32Aによる制御に切り替える機能部である(図2参照)。また、切替部44Bは、管理情報233を変更することで、プロセッサ12がノーマルモードで動作しているときに通信デバイス13の制御を禁止しながら、セキュアモードで動作しているときに通信デバイス13の制御をする。
図10を参照しながら管理情報233について説明する。
図10の(a)に示されるように、管理情報233は、仮想アドレスと物理アドレスとを対応付ける情報である。ここで仮想アドレスは、仮想マシンが使用するメモリ空間におけるアドレスを意味し、物理アドレスは、メモリ11におけるアドレスを意味する。
管理情報233において、仮想アドレスVA1は、第一デバイス領域213の仮想アドレスを示しており、仮想アドレスVA2は、第二デバイス領域232の仮想アドレスを示しており、物理アドレスPA1は、通信デバイス13の物理アドレスを示している。
図10の(a)に示される管理情報233によれば、第一デバイス領域213および第二デバイス領域232のどちらも通信デバイス13を制御することができる。
ここで、切替部44Bが仮想アドレスVA2と物理アドレスPA1との対応付けを削除するように変更すると、図10の(b)の状態になり、第一デバイス領域213による通信デバイス13の制御が許可されるとともに、第二デバイス領域232による通信デバイス13の制御が禁止される。
図11は、本実施の形態におけるメモリ11内のデバイス領域の配置を示す説明図である。
図11の(a)は、メモリ11内のデバイス領域の第一の配置を示している。図11の(a)に示される配置は、監視対象に異常がないと監視部43が判定した場合のメモリ11内のデバイス領域の配置を示している。言い換えれば、図11の(a)に示される配置は、切替部44Bによる切り替え前のメモリ11を示している。
図11の(a)は、図9に示されるメモリ11と同じ状態であり、保護領域21に第一デバイス領域213が配置されており、また、非保護領域22に第二デバイス領域232が配置されている。
図11の(b)は、メモリ11内のデバイス領域の第二の配置を示している。図11の(b)に示される配置は、監視対象に異常があると監視部43が判定した場合のメモリ11内のデバイス領域の配置を示している。言い換えれば、図11の(b)に示される配置は、切替部44Bによる切り替え後のメモリ11を示している。
図11の(b)に示されるように、切替部44Bによる切り替え後には、第一デバイス領域213が配置されており、一方、第二デバイス領域232が削除されている。
このようにすることで、プロセッサ12がノーマルモードで動作しているときに通信デバイス13を用いた通信を禁止、つまり第二デバイス制御部32Aを無効化することができる。
以上のように構成された情報処理装置10Bの処理を説明する。
図12は、本実施の形態における情報処理装置10Bの処理を示すフロー図である。
図12に示されるように、ステップS311において、監視部43は、監視対象のメモリ領域を監視する。
ステップS312において、監視部43は、ステップS311での監視において監視対象のメモリ領域に異常があるか否かを判定する。異常があると判定した場合(ステップS312でYes)には、ステップS313に進み、そうでない場合(ステップS312でNo)には図12に示される一連の処理を終了する。
ステップS313において、切替部44Bは、管理情報233を変更することで第二デバイス制御部32Aを無効化する。ステップS313を終えたら情報処理装置10Bは、図12に示される一連の処理を終了する。
図12に示される一連の処理によって、情報処理装置10Bは、監視対象に異常があると判定した場合に、ノーマルモードでのデバイス制御部(つまり第二デバイス制御部32A)による通信を禁止し、セキュアモードでのデバイス制御部(つまり第一デバイス制御部41)による通信を行うように制御する。これにより、セキュアモードでのデバイス制御部による通信を、ノーマルモードでのデバイス制御部による通信によって妨げられることがなくなり、監視結果を外部に出力することが妨げられることをより一層抑制することができる。
(実施の形態4)
本実施の形態において、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などについて、別の形態を説明する。
本実施の形態の情報処理装置10Cは、ノーマルモードで稼働しているアプリのうち特定のアプリが、セキュアモードの第一デバイス制御部41を用いて通信デバイス13を制御することで外部装置と通信することができる。
図13は、本実施の形態における情報処理装置10Cの構成を概念的に示す模式図である。
情報処理装置10Cは、実施の形態1の情報処理装置10と同様であるが、セキュアモードで稼働する検証部45を備える。
検証部45は、制御アプリ部36Aについての検証をする機能部である。具体的には、検証部45は、制御アプリ部36Aが出力したデータに付された電子署名、または、制御アプリ部36Aの挙動が妥当であること検証した場合に、制御アプリ部36Aが第一デバイス制御部41を用いて通信デバイス13を制御することを許可する。これにより、制御アプリ部36Aは、セキュアモードの第一デバイス制御部41を用いて外部装置と通信することができる。
以降において、(1)検証部45が電子署名を検証する場合と、(2)検証部45が制御アプリ部36Aの挙動を検証する場合とについてそれぞれ説明する。
(1)検証部45が電子署名を検証する場合
図14は、本実施の形態における情報処理装置10Cの機能構成の第一例を示す模式図である。
図14に示されるように、情報処理装置10Cは、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。
保護領域21は、監視情報211を有する。
非保護領域22は、HV領域220、VM1領域221、VM2領域222、・・・、およびVMn領域22nを有する。
プロセッサ12は、メモリ11を用いてプログラムを実行することで、署名検証部46と署名部54とを実現する。署名検証部46は、プロセッサ12がセキュアモードで実行されることで実現される機能部であり、検証部45の一例である。
署名部54は、プロセッサ12がノーマルモードで実行されることで実現される機能部である。
署名部54は、アプリ部51が有する機能部であり、アプリ部51Aが外部装置に出力すべきデータに電子署名を付す機能部である。署名部54は、アプリ部51Aが外部装置に出力すべきデータを取得し、取得したデータに基づいてアプリ部51Aの秘密鍵を用いて電子署名を作成し、作成した電子署名を上記データに付す。アプリ部51Aは、署名部54によって電子署名が付されたデータを署名検証部46に提供する。
署名検証部46は、アプリ部51Aが提供した、電子署名が付されたデータを取得し、取得した電子署名をアプリ部51Aの公開鍵を用いて検証する機能部である。署名検証部46は、電子署名の検証に成功したデータを、第一デバイス制御部41を用いて通信デバイス13を制御して送信する。なお、署名検証部46は、電子署名の検証に失敗したデータを送信しないよう制御する。
このようにすることで、アプリ部51Aは、電子署名を用いた検証を利用して、正当と判断された場合のみ、セキュアモードの第一デバイス制御部41を用いて外部装置と通信することができる。
(2)検証部45が制御アプリ部36Aの挙動を検証する場合
図15は、本実施の形態における情報処理装置10Dの機能構成の第二例を示す模式図である。
図15に示されるように、情報処理装置10Dは、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。
保護領域21は、監視情報211と、挙動情報214とを有する。
挙動情報214は、アプリ部51の挙動が適正であることを示す条件(挙動適正条件)を示す情報である。挙動情報214は、例えば、アプリ部51が所定の情報を送信する時間間隔を示す情報、または、アプリ部51が送信する通信パケットのパケット長を示す情報などを含む。
非保護領域22は、HV領域220、VM1領域221、VM2領域222、・・・、VMn領域22n、およびデバイス領域231を有する。
プロセッサ12は、メモリ11を用いてプログラムを実行することで、挙動検証部47とアプリ部51Bとを実現する。挙動検証部47は、プロセッサ12がセキュアモードで実行されることで実現される機能部であり、検証部45の一例である。アプリ部51Bは、プロセッサ12がノーマルモードで実行されることで実現される機能部である。
アプリ部51Bは、外部装置へ送信すべき通信データを挙動検証部47に提供する。
挙動検証部47は、アプリ部51Bの挙動を検証する機能部である。挙動検証部47は、保護領域21が有する挙動情報214を取得し、また、外部装置へ送信すべきデータをアプリ部51Bから取得する。そして、挙動検証部47は、取得した上記データが、挙動情報214に示される挙動適正条件を満たす場合に、第一デバイス制御部41を用いて通信デバイス13を制御して送信する。なお、挙動検証部47は、挙動適正条件を満たさないデータを送信しないよう制御する。
このようにすることで、アプリ部51Bは、アプリ部51Bの挙動に基づく検証を利用して、正当と判断された場合のみ、セキュアモードの第一デバイス制御部41を用いて外部装置と通信することができる。
(実施の形態5)
本実施の形態において、監視結果を外部に出力することが妨げられることを抑制する情報処理装置などについて、別の形態を説明する。
本実施の形態の情報処理装置10Eは、監視対象に異常があると判定した場合に、車両の動作を制御し、より特定的には、車両を縮退動作させるように制御する。
図16に示されるように、情報処理装置10Eは、メモリ11と、プロセッサ12と、通信デバイス13とを備える。
メモリ11は、保護領域21と、非保護領域22とを有する。
保護領域21は、監視情報211と、制御情報215とを有する。
制御情報215は、車両を縮退動作させるように制御(縮退制御ともいう)するための制御情報である。縮退制御は、例えば、車両の走行に最低限必要な機能だけを有効とし他の機能を停止させる制御、車両の速度を低下させる制御、または、車両を路上の安全に場所に停車させる制御などを含む。
プロセッサ12は、メモリ11を用いてプログラムを実行することで、車両制御部48を実現する。車両制御部48は、プロセッサ12がセキュアモードで実行されることで実現される機能部である。
車両制御部48は、切替部44が第二デバイス制御部32Aによる制御から第一デバイス制御部41による制御に切り替えるときには、車両の縮退制御のための制御情報215を取得し、取得した制御情報215に従って車両を制御する。
このようにすることで、情報処理装置10Eは、メモリの異常を検知した場合に、車両を縮退制御することができる。
以上のように、上記実施の形態の情報処理装置は、プロセッサが第一モードで動作することでデバイスを制御して外部の装置と通信をすることができる。仮にプロセッサが第二モードで動作することでデバイスを制御して外部の装置と通信することしかできないとすれば、そのデバイス、または、そのデバイスを用いた通信に利用する機能が悪意のアプリによって攻撃された場合に、外部の装置との通信が妨げられる。悪意のアプリは、第二モードで動作することが想定されるからである。一方、上記態様に係る情報処理装置によれば、プロセッサが第一モードで動作することでデバイスを制御して外部の装置と通信をすることができるので、第二モードで動作する悪意のアプリによって通信が妨げられることが抑制される。このように、上記態様の情報処理装置は、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、第二モードでデバイスを制御する状態から、第一モードでデバイスを制御する状態に切り替えることができるので、通常時の通信を第二モードで行い、第一モードでデバイスを制御することが必要であるときに第一モードでデバイスを制御するという動作をすることができる。これにより、第一モードでデバイスを制御する処理を、より少ないコンピュータリソースまたは消費電力で実現することができる利点がある。よって、情報処理装置は、利用するコンピュータリソースまたは消費電力をより少なく抑えながら、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、メモリの監視対象の領域に異常がある場合に、第一モードでデバイスを制御する状態に切り替えるので、異常があることを示す情報をより確実に外部の装置に送信することができる。よって、情報処理装置は、監視結果を外部に出力することが妨げられることを、より確実に、抑制することができる。
また、情報処理装置は、第一モードでデバイスを制御する状態に切り替えるときに、第二モードでデバイスを制御することを禁止するので、第一モードでデバイスを制御して実行する通信が、第二モードでデバイスを制御して実行する通信によって妨げられることが抑制される。よって、情報処理装置は、監視結果を外部に出力することが妨げられることを、より確実に、抑制することができる。
また、情報処理装置は、メモリの保護領域を用いて第一モードでデバイスを制御し、メモリの非保護領域を用いて第二モードでデバイスを制御する。これにより、情報処理装置は、より容易に、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、メモリの保護領域を用いて第一モードまたは第二モードでデバイスを制御する。これにより、情報処理装置は、より容易に、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、第二モードで動作するアプリ部によりデータに付された電子署名の検証を、第一モードで検証して検証に成功したデータを送信するので、正当なアプリ部が送信すべきデータを、第一モードでデバイスを制御することにより送信することができる。よって、情報処理装置は、監視結果を外部に出力すること、および、正当なアプリ部による通信が妨げられることをともに抑制することができる。
また、情報処理装置は、第二モードで動作するアプリ部の挙動の検証を、第一モードで検証して検証に成功したデータを送信するので、正当なアプリ部が送信すべきデータを、第一モードでデバイスを制御することにより送信することができる。よって、情報処理装置は、監視結果を外部に出力すること、および、正当なアプリ部による通信が妨げられることをともに抑制することができる。
また、情報処理装置は、デバイスの制御を第一モードから第二モードに切り替えるときに、さらに車両を縮退制御することができる。これにより、車両を安全に停止させるように車両を制御することができる。よって、情報処理装置は、車両を安全に停止させながら、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、時分割で第一モードでの動作と第二モードでの動作を切り替えるプロセッサを用いて、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置は、第一モードで動作するコアと、第二モードで動作するコアとを含む複数のコアを有するプロセッサを用いて、監視結果を外部に出力することが妨げられることを抑制することができる。
また、情報処理装置であるECUが監視結果を外部に出力することが妨げられることを抑制することができる。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、情報処理装置が実行する情報処理方法であって、前記情報処理装置は、前記情報処理装置の外部の装置との通信をするデバイスと、保護領域と非保護領域とを含むメモリと、前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサとを備え、前記情報処理方法は、前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御ステップと、前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理ステップと、前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御ステップとを含む情報処理方法を実行させるプログラムである。
以上、一つまたは複数の態様に係る情報処理装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
本発明は、仮想マシン環境における異常検知装置に利用可能である。
10、10A、10B、10C、10D、10E、90 情報処理装置
11 メモリ
12 プロセッサ
13 通信デバイス
20 セキュアモニタ
21 保護領域
22 非保護領域
31 アクセス制御部
32 デバイス制御部
32A 第二デバイス制御部
33、35、42 通信制御部
34、51、51A、51B アプリ部
36、36A 制御アプリ部
41 第一デバイス制御部
43、91 監視部
44、44A、44B 切替部
45 検証部
46 署名検証部
47 挙動検証部
48 車両制御部
52 仮想マシン管理部
54 署名部
211 監視情報
212、233 管理情報
213 第一デバイス領域
214 挙動情報
215 制御情報
220 HV領域
221 VM1領域
222 VM2領域
22n VMn領域
231 デバイス領域
232 第二デバイス領域
HV ハイパーバイザ
VM1、VM2、VM3、VMn 仮想マシン

Claims (14)

  1. 情報処理装置であって、
    前記情報処理装置の外部の装置との通信をするデバイスと、
    保護領域と非保護領域とを含むメモリと、
    前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサと、
    前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御部と、
    前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理部と、
    前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御部とを備える
    情報処理装置。
  2. 前記情報処理装置は、さらに、
    前記プロセッサが前記第一モードで動作することで、前記デバイスの制御を、前記第二制御部による制御から前記第一制御部による制御に切り替える切替部を備える
    請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、さらに、
    前記プロセッサが前記第一モードで動作することで、前記仮想マシン管理部に割り当てられる前記メモリの領域を監視対象として監視をし、前記監視対象に異常があるか否かの判定をする監視部を備え、
    前記切替部は、
    前記監視対象に異常があると前記監視部が判定した場合に、前記監視部が前記外部の装置と通信するときの前記デバイスの制御を、前記第二制御部による制御から前記第一制御部による制御に切り替える
    請求項2に記載の情報処理装置。
  4. 前記切替部は、さらに、
    前記第二制御部による制御から前記第一制御部による制御に切り替えるときには、前記第二制御部による前記デバイスの制御を禁止するように制御する
    請求項2または3に記載の情報処理装置。
  5. 前記第一制御部は、
    前記メモリの前記保護領域に含まれる第一デバイス領域を用いて前記デバイスを制御し、
    前記第二制御部は、
    前記メモリの前記非保護領域に含まれる第二デバイス領域を用いて前記デバイスを制御する
    請求項1~4のいずれか1項に記載の情報処理装置。
  6. 前記第一制御部は、
    前記メモリの前記非保護領域に含まれる第二デバイス領域を用いて前記デバイスを制御し、
    前記第二制御部は、
    前記メモリの前記第二デバイス領域を用いて前記デバイスを制御する
    請求項1~4のいずれか1項に記載の情報処理装置。
  7. 前記情報処理装置は、さらに、
    前記プロセッサが前記第二モードで動作することで、所定の処理を実行するアプリ部であって、前記アプリ部が前記情報処理装置の外部の装置に送信すべきデータに電子署名を付すアプリ部と、
    前記プロセッサが前記第一モードで動作することで、前記アプリ部が前記電子署名を付した前記データを受け取り、前記電子署名の検証が成功した場合に、前記データを前記情報処理装置の外部の装置に送信する署名検証部とを備える
    請求項1~6のいずれか1項に記載の情報処理装置。
  8. 前記情報処理装置は、さらに、
    前記プロセッサが前記第二モードで動作することで、所定の処理を実行するアプリ部であって、前記アプリ部が前記情報処理装置の外部の装置に送信すべき1以上のデータを生成するアプリ部と、
    前記プロセッサが前記第一モードで動作することで、前記アプリ部が生成した前記1以上のデータを受け取り、前記アプリ部の通信に係る適正な挙動を示す挙動適正条件を前記メモリの前記保護領域から取得し、受け取った前記1以上のデータが前記挙動適正条件を満たすと判定した場合に、前記データを前記情報処理装置の外部の装置に送信する挙動検証部とを備える
    請求項1~6のいずれか1項に記載の情報処理装置。
  9. 前記情報処理装置は、車両を制御する車両制御部を備え、
    前記車両制御部は、
    前記第二制御部による制御から前記第一制御部による制御に前記切替部が切り替えるときには、前記車両の縮退制御のための制御情報を前記メモリの前記保護領域から取得し、取得した前記制御情報に従って前記車両を制御する
    請求項2に記載の情報処理装置。
  10. 前記プロセッサは、
    前記第一モードでの動作と、前記第二モードでの動作とを時分割で切り替える
    請求項1~9のいずれか1項に記載の情報処理装置。
  11. 前記プロセッサは、複数のコアを有し、
    前記複数のコアのうちの少なくとも1つが前記第一モードで動作し、
    前記複数のコアのうち前記第一モードで動作していないコアの少なくとも1つが前記第二モードで動作する
    請求項1~9のいずれか1項に記載の情報処理装置。
  12. 前記情報処理装置は、車両に搭載されるECU(Electronic Control Unit)である
    請求項1~11のいずれか1項に記載の情報処理装置。
  13. 情報処理装置が実行する情報処理方法であって、
    前記情報処理装置は、
    前記情報処理装置の外部の装置との通信をするデバイスと、
    保護領域と非保護領域とを含むメモリと、
    前記メモリの前記保護領域及び前記非保護領域へのアクセスが許可される第一モードと、前記メモリの前記保護領域へのアクセスが禁止され、前記非保護領域へのアクセスが許可される第二モードとで動作するプロセッサとを備え、
    前記情報処理方法は、
    前記プロセッサが前記第一モードで動作することで、前記デバイスを制御する第一制御ステップと、
    前記プロセッサが前記第二モードで動作することで、一以上の仮想マシンを稼働させる仮想マシン管理ステップと、
    前記プロセッサが前記第二モードで動作することで、前記デバイスを制御する第二制御ステップとを含む
    情報処理方法。
  14. 請求項13に記載の情報処理方法をコンピュータに実行させるプログラム。
JP2020154123A 2020-09-14 2020-09-14 情報処理装置、情報処理方法、および、プログラム Active JP7514586B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020154123A JP7514586B2 (ja) 2020-09-14 2020-09-14 情報処理装置、情報処理方法、および、プログラム
US17/466,359 US12116002B2 (en) 2020-09-14 2021-09-03 Information processing apparatus, information processing method, and recording medium
DE102021123370.4A DE102021123370A1 (de) 2020-09-14 2021-09-09 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, und programm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020154123A JP7514586B2 (ja) 2020-09-14 2020-09-14 情報処理装置、情報処理方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2022048019A true JP2022048019A (ja) 2022-03-25
JP7514586B2 JP7514586B2 (ja) 2024-07-11

Family

ID=80351651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020154123A Active JP7514586B2 (ja) 2020-09-14 2020-09-14 情報処理装置、情報処理方法、および、プログラム

Country Status (3)

Country Link
US (1) US12116002B2 (ja)
JP (1) JP7514586B2 (ja)
DE (1) DE102021123370A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7549948B1 (ja) 2023-08-10 2024-09-12 パナソニックオートモーティブシステムズ株式会社 監視装置、監視方法、及び、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162767B2 (en) * 2015-06-27 2018-12-25 Mcafee, Llc Virtualized trusted storage
JP6130612B1 (ja) * 2015-08-25 2017-05-17 株式会社Seltech ハイパーバイザーを有するシステム
US10089247B2 (en) 2016-09-30 2018-10-02 Intel Corporation System and method for coupling a host device to secure and non-secure devices
JP7026298B2 (ja) 2017-09-29 2022-02-28 積水ハウス株式会社 セキュアモードとノンセキュアモードとを選択的に切り替え可能なシステム
JP2019144785A (ja) 2018-02-20 2019-08-29 富士通株式会社 監視プログラム、監視装置及び監視方法
JP6776292B2 (ja) * 2018-03-20 2020-10-28 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
JP7006461B2 (ja) 2018-04-02 2022-01-24 株式会社デンソー 電子制御装置および電子制御システム
US11531770B2 (en) * 2019-12-23 2022-12-20 Intel Corporation Trusted local memory management in a virtualized GPU

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7549948B1 (ja) 2023-08-10 2024-09-12 パナソニックオートモーティブシステムズ株式会社 監視装置、監視方法、及び、プログラム

Also Published As

Publication number Publication date
JP7514586B2 (ja) 2024-07-11
US20220080989A1 (en) 2022-03-17
DE102021123370A1 (de) 2022-03-17
US12116002B2 (en) 2024-10-15

Similar Documents

Publication Publication Date Title
US11775634B2 (en) Computing platform security methods and apparatus
US9747443B2 (en) System and method for firmware based anti-malware security
US9087199B2 (en) System and method for providing a secured operating system execution environment
KR101279683B1 (ko) 운영 체제 리소스 보호
US8549644B2 (en) Systems and method for regulating software access to security-sensitive processor resources
US8621620B2 (en) System and method for protecting and securing storage devices using below-operating system trapping
US20120254993A1 (en) System and method for virtual machine monitor based anti-malware security
US10073972B2 (en) Computing platform security methods and apparatus
US20160328562A1 (en) Computing platform security methods and apparatus
US20120255021A1 (en) System and method for securing an input/output path of an application against malware with a below-operating system security agent
US20120254994A1 (en) System and method for microcode based anti-malware security
JP2016526730A (ja) 仮想マシンにおけるマルウェア検出のためのプロセス評価
JP7411895B2 (ja) 情報処理装置、異常検知方法およびコンピュータプログラム
WO2021117371A1 (ja) 情報処理装置、情報処理方法、および、プログラム
US10250595B2 (en) Embedded trusted network security perimeter in computing systems based on ARM processors
KR102579861B1 (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
JP2022048019A (ja) 情報処理装置、情報処理方法、および、プログラム
WO2022172578A1 (ja) 車両制御システム、車両制御方法およびプログラム
US11546367B2 (en) Systems and methods for protecting automated systems using a gateway
US11461490B1 (en) Systems, methods, and devices for conditionally allowing processes to alter data on a storage device
CN108459899B (zh) 信息保护方法及装置
EP3694174B1 (en) Systems and methods for protecting automated systems using a gateway
WO2024070044A1 (ja) 検証システム、検証方法、及び、プログラム
JP7244527B2 (ja) ストレージリソースの安全な共用
EP3239887B1 (en) System and method for protecting transmission of audio data from microphone to application processes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240430

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: 20240611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240626

R150 Certificate of patent or registration of utility model

Ref document number: 7514586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150