JP2023085210A - 情報処理装置及び判定方法 - Google Patents

情報処理装置及び判定方法 Download PDF

Info

Publication number
JP2023085210A
JP2023085210A JP2022175670A JP2022175670A JP2023085210A JP 2023085210 A JP2023085210 A JP 2023085210A JP 2022175670 A JP2022175670 A JP 2022175670A JP 2022175670 A JP2022175670 A JP 2022175670A JP 2023085210 A JP2023085210 A JP 2023085210A
Authority
JP
Japan
Prior art keywords
access
sector group
access request
information processing
determination unit
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.)
Pending
Application number
JP2022175670A
Other languages
English (en)
Inventor
仁 大野
Hitoshi Ono
吉治 今本
Yoshiharu Imamoto
健人 田村
Taketo Tamura
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
Publication of JP2023085210A publication Critical patent/JP2023085210A/ja
Pending legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】アクセス要求の正当性を精度良く判定することができる情報処理装置を提供する。【解決手段】情報処理装置2は、ゲストOS8と、ゲストOS8からのアクセス要求に応じて、外部記憶デバイス12に記憶されたセクタ群にアクセスするホストOS10と、ハードウェア4上で実行され、ゲストOS8及びホストOS10の実行を制御する仮想化制御システム6とを備える。ホストOS10は、ゲストOS8からのアクセス要求を取得するバックエンド-デバイスドライバ20と、外部記憶デバイス12に記憶されたセクタ群にアクセスするためのルールを示すセクタ群アクセスルールデータベース34に基づいて、アクセス要求が不正であるか否かを判定するセクタ群アクセス判定部26とを有する。【選択図】図1

Description

本開示は、情報処理装置及び判定方法に関する。
サービス用オペレーティングシステム(以下、「サービス用OS」という)と、セキュリティ用オペレーティングシステム(以下、「セキュリティ用OS」という)と、サービス用OS及びセキュリティ用OSの実行を制御する制御プログラムとを備えた情報処理装置が知られている(例えば、特許文献1参照)。
サービス用OSは、サーバプログラムからの磁気ディスクに対するアクセス要求をフック(取得)し、フックしたアクセス要求の正当性の判定をセキュリティ用OSに要求する。セキュリティ用OSにより、サーバプログラムからのアクセス要求が不正であると判定された場合には、サービス用OSは、セキュリティ用OSからの判定結果に基づいて、エラーコードを生成する。
一方、セキュリティ用OSにより、サーバプログラムからのアクセス要求が不正ではないと判定された場合には、サービス用OSは、セキュリティ用OSからの判定結果に基づいて、サーバプログラムからのアクセス要求に基づいて磁気ディスクへのアクセスを実行する。
特許第4177957号公報
上述した従来の情報処理装置では、サービス用OS自体が不正なプログラムにより攻撃された場合、サーバプログラムからのアクセス要求をフックする機能等が無効化されてしまうおそれがある。その結果、セキュリティ用OSにおいて、サーバプログラムからのアクセス要求の正当性を精度良く判定することができないという課題が生じる。
そこで、本開示は、アクセス要求の正当性を精度良く判定することができる情報処理装置及び判定方法を提供する。
本開示の一態様に係る情報処理装置は、車両における不正アクセスを判定するための情報処理装置であって、第1のオペレーティングシステムと、前記第1のオペレーティングシステムからのアクセス要求に応じて、記憶装置に記憶されたセクタ群にアクセスする第2のオペレーティングシステムと、プロセッサ上で実行され、前記第1のオペレーティングシステム及び前記第2のオペレーティングシステムの実行を制御する仮想化制御システムと、を備え、前記第2のオペレーティングシステムは、前記第1のオペレーティングシステムからの前記アクセス要求を取得する取得部と、前記記憶装置に記憶された前記セクタ群にアクセスするためのルールを示すルール情報に基づいて、前記アクセス要求が不正であるか否かを判定する判定部と、を有する。
本明細書において、セクタ群とは、ファイル自体やファイルの情報を記載している情報(例えば、Linux(登録商標)のi-node情報等)、ファイルシステムの情報を意味する。また、セクタ群名とは、ファイル自体を表すファイル名、あるいは、ファイルの情報が記載されている情報の特定名称(例えば、ディレクトリ名での指定等)を意味する。ファイルの情報とは、ファイル名やファイルのサイズ、アクセスのパーミッション、変更履歴、アクセス制御システムに要する情報等を含むメタ情報を意味する。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM(Compact Disc-Read Only Memory)等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本開示の一態様に係る情報処理装置等によれば、アクセス要求の正当性を精度良く判定することができる。
実施の形態に係る情報処理装置の構成を示すブロック図である。 実施の形態に係るデバイスアクセスログの一例を示す図である。 実施の形態に係るセクタ群データベースの一例を示す図である。 実施の形態に係るセクタ群アクセスログの一例を示す図である。 実施の形態に係るセクタ群アクセス情報の一例を示す図である。 実施の形態に係るセクタ群アクセスルールデータベースの一例を示す図である。 実施の形態に係るホストOSの全体動作の流れを示すフローチャートである。 実施の形態に係るアクセスログ解析部の動作の流れを示すフローチャートである。 実施の形態に係るセクタ群アクセス判定部の動作の流れを示すフローチャートである。 図9のフローチャートのステップS305の処理を具体的に示すフローチャートである。 図9のフローチャートのステップS305の処理を具体的に示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第1の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第2の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第3の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第4の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第5の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第6の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第7の例を示すフローチャートである。 第Nのビヘイビアルールを用いたビヘイビアの判定方法の第8の例を示すフローチャートである。
本開示の第1の態様に係る情報処理装置は、車両における不正アクセスを判定するための情報処理装置であって、第1のオペレーティングシステムと、前記第1のオペレーティングシステムからのアクセス要求に応じて、記憶装置に記憶されたセクタ群にアクセスする第2のオペレーティングシステムと、プロセッサ上で実行され、前記第1のオペレーティングシステム及び前記第2のオペレーティングシステムの実行を制御する仮想化制御システムと、を備え、前記第2のオペレーティングシステムは、前記第1のオペレーティングシステムからの前記アクセス要求を取得する取得部と、前記記憶装置に記憶された前記セクタ群にアクセスするためのルールを示すルール情報に基づいて、前記アクセス要求が不正であるか否かを判定する判定部と、を有する。
ここで、仮想化制御システムとは、ハイパーバイザを通して仮想化システム上で動作するオペレーティングシステムのI/O情報を受け取り、実際のデバイスとの間でI/O情報をやりとりするシステムを示す。
本態様によれば、第2のオペレーティングシステムにおいて第1のオペレーティングシステムからのアクセス要求をフック(取得)し、フックした当該アクセス要求を解析することにより、当該アクセス要求の正当性を判定する。これにより、仮に第1のオペレーティングシステムのセキュリティ機能が不正なコンピュータプログラムにより無効化又は改ざん等された場合であっても、第2のオペレーティングシステムにおいてフックしたアクセス要求を、第1のオペレーティングシステムの異常を監視するための情報として用いることができるので、第1のオペレーティングシステムからのアクセス要求の正当性を精度良く判定することができる。
また、本開示の第2の態様に係る情報処理装置では、第1の態様において、前記第2のオペレーティングシステムは、さらに、セクタ番号と当該セクタ番号に対応する前記記憶装置の記憶領域に記憶された前記セクタ群のセクタ群名との対応関係を示す対応情報を参照することにより、前記アクセス要求から、当該アクセス要求に含まれる前記セクタ番号と前記セクタ群名とを紐付けたアクセスログ情報を生成する解析部を有し、前記判定部は、前記ルール情報及び前記アクセスログ情報に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、アクセス要求にセクタ群名が含まれていない場合であっても、対応情報を参照することにより、アクセス要求から、セクタ群名を含むアクセスログ情報を生成することができる。これにより、ルール情報及びアクセスログ情報に基づいて、アクセス要求が不正であるか否かを容易に判定することができる。
また、本開示の第3の態様に係る情報処理装置では、第1の態様又は第2の態様において、前記第2のオペレーティングシステムは、さらに、前記判定部により前記アクセス要求が不正であると判定された場合に、外部に通知する対応部を有するように構成してもよい。
本態様によれば、例えば不正なコンピュータプログラムが第1のオペレーティングシステム上で実行された場合に、第1のオペレーティングシステムに対して適切な対応を行うことができる。
また、本開示の第4の態様に係る情報処理装置では、第3の態様において、前記対応部は、さらに、前記判定部により前記アクセス要求が不正であると判定された場合に、外部に通知し、且つ、前記記憶装置に記憶されたセクタ群へのアクセスを停止するように構成してもよい。
本態様によれば、例えば不正なコンピュータプログラムが第1のオペレーティングシステム上で実行された場合に、記憶装置に記憶されたセクタ群を適切に保護することができる。
また、本開示の第5の態様に係る情報処理装置では、第1の態様~第4の態様のいずれか一態様において、前記ルール情報は、前記ルールとして、前記記憶装置に記憶された前記セクタ群に対してアクセスが許可されるプロセス及び操作の少なくとも一方を含むように構成してもよい。
本態様によれば、ルール情報に基づいて、アクセス要求によるプロセス及び/又は操作が、許可されたプロセス及び/又は操作であるか否かを判定することにより、第1のオペレーティングシステムからのアクセス要求の正当性を容易に判定することができる。
また、本開示の第6の態様に係る情報処理装置では、第1の態様において、前記判定部は、前記セクタ群に対して付与されたread・write権限に関する前記ルール情報に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、判定部は、セクタ群に対して付与されたread・write権限を考慮して、アクセス要求が不正であるか否かを判定することができる。
また、本開示の第7の態様に係る情報処理装置では、第1の態様において、前記第2のオペレーティングシステムは、外部のデバイスにアクセス可能であり、前記判定部は、前記ルール情報及び前記外部のデバイスの状態に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、判定部は、外部のデバイスの状態を考慮して、アクセス要求が不正であるか否かを判定することができる。
また、本開示の第8の態様に係る情報処理装置では、第1の態様において、前記判定部は、前記ルール情報及び前記情報処理装置の状態に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、判定部は、情報処理装置の状態を考慮して、アクセス要求が不正であるか否かを判定することができる。
また、本開示の第9の態様に係る情報処理装置では、第1の態様において、前記判定部は、前記ルール情報及び前記セクタ群の状態に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、判定部は、セクタ群の状態を考慮して、アクセス要求が不正であるか否かを判定することができる。
また、本開示の第10の態様に係る情報処理装置では、第1の態様において、前記判定部は、前記ルール情報、及び、書き込み許可された前記セクタ群に対するアクセス内容に基づいて、前記アクセス要求が不正であるか否かを判定するように構成してもよい。
本態様によれば、判定部は、書き込み許可されたセクタ群に対するアクセス内容を考慮して、アクセス要求が不正であるか否かを判定することができる。
本開示の第11の態様に係る判定方法は、第1のオペレーティングシステムと、前記第1のオペレーティングシステムからのアクセス要求に応じて、記憶装置に記憶されたセクタ群にアクセスする第2のオペレーティングシステムと、プロセッサ上で実行され、前記第1のオペレーティングシステム及び前記第2のオペレーティングシステムの実行を制御する仮想化制御システムと、を備えた情報処理装置を用いて車両における不正アクセスを判定する判定方法であって、前記第2のオペレーティングシステムが前記第1のオペレーティングシステムからの前記アクセス要求を取得し、前記記憶装置に記憶された前記セクタ群にアクセスするためのルールを示すルール情報に基づいて、取得した前記アクセス要求が不正であるか否かを判定し、前記アクセス要求が不正であると判定した場合に、その結果を外部に出力する。
本態様によれば、第2のオペレーティングシステムにおいて第1のオペレーティングシステムからのアクセス要求をフックし、フックした当該アクセス要求を解析することにより、当該アクセス要求の正当性を判定する。これにより、仮に第1のオペレーティングシステムのセキュリティ機能が不正なコンピュータプログラムにより無効化又は改ざん等された場合であっても、第2のオペレーティングシステムにおいてフックしたアクセス要求を、第1のオペレーティングシステムの異常を監視するための情報として用いることができるので、第1のオペレーティングシステムからのアクセス要求の正当性を精度良く判定することができる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
[1.情報処理装置の構成]
まず、図1~図6を参照しながら、実施の形態に係る情報処理装置2の構成について説明する。図1は、実施の形態に係る情報処理装置2の構成を示すブロック図である。図2は、実施の形態に係るデバイスアクセスログ36の一例を示す図である。図3は、実施の形態に係るセクタ群データベース30の一例を示す図である。図4は、実施の形態に係るセクタ群アクセスログ38の一例を示す図である。図5は、実施の形態に係るセクタ群アクセス情報32の一例を示す図である。図6は、実施の形態に係るセクタ群アクセスルールデータベース34の一例を示す図である。
図1に示すように、実施の形態に係る情報処理装置2は、ハードウェア4と、仮想化制御システム6と、複数のゲストオペレーティングシステム8(以下、「ゲストOS8」という)と、仮想化制御システム6上で動作するホストオペレーティングシステム10(以下、「ホストOS10」という)とを備えている。情報処理装置2は、例えば自動車等の車両における不正アクセスを判定するための装置である。
情報処理装置2には、外部記憶デバイス12が電気的に接続されている。外部記憶デバイス12は、記憶装置の一例であり、例えばハードディスクドライブ(HDD)等で構成される。外部記憶デバイス12は、セクタ群(データ)を記憶するための複数の記憶領域を有している。これらの複数の記憶領域にはそれぞれ、複数のセクタ番号が割り当てられている。セクタ番号は、後述するようにホストOS10がゲストOS8からのアクセス要求に応じて外部記憶デバイス12に記憶されたセクタ群にアクセスする際に、当該セクタ群が記憶された外部記憶デバイス12の記憶領域を指定するためのものであり、例えば4桁の数字で構成される。
本明細書において、セクタ群とは、ファイル自体やファイルの情報を記載している情報(例えば、Linux(登録商標)のi-node情報等)、ファイルシステムの情報を意味する。また、セクタ群名とは、ファイル自体を表すファイル名、あるいは、ファイルの情報が記載されている情報の特定名称(例えば、ディレクトリ名での指定等)を意味する。ファイルの情報とは、ファイル名やファイルのサイズ、アクセスのパーミッション、変更履歴、アクセス制御システムに要する情報等を含むメタ情報を意味する。
また、情報処理装置2には、ネットワークデバイス11及び画面描画デバイス13が電気的に接続されている。ネットワークデバイス11及び画面描画デバイス13の各々は、外部のデバイスの一例である。
ハードウェア4は、例えばCPU(Central Processing Unit)又はECU(Electronic Control Unit)等を有するプロセッサを含み、複数のコンピュータプログラムの実行環境を提供する。なお、ハードウェア4は、1つのプロセッサで構成されてもよいし、複数のプロセッサで構成されてもよい。
仮想化制御システム6は、ハードウェア4(プロセッサ)上で実行され、複数のゲストOS8及びホストOS10の実行を制御する仮想化ソフトウェアである。この仮想化制御システム6により、1つのハードウェア4上に異なる複数のOS(複数のゲストOS8及びホストOS10)を仮想化して搭載することができる。なお、本実施の形態では、仮想化制御システム6は、いわゆるType1型(ベアメタル型)と呼ばれるハイパーバイザである。
複数のゲストOS8の各々は、仮想化制御システム6上で動作する例えばLinux(登録商標)等の仮想マシン(VM)であり、第1のオペレーティングシステムの一例である。複数のゲストOS8の各々は、複数のプロセス14と、アクセス制御機能16と、フロントエンド-デバイスドライバ18とを有している。図1では、説明の都合上、1つのゲストOS8のみを図示してある。なお、本実施の形態では、複数のゲストOS8が仮想化制御システム6上で動作するように構成したが、これに限定されず、1つのゲストOS8のみが仮想化制御システム6上で動作するように構成してもよい。
複数のプロセス14の各々は、ゲストOS8の各種機能を実行するためのコンピュータプログラムである。複数のプロセス14の各々は、ゲストOS8の各種機能を実行するために、外部記憶デバイス12に記憶されたセクタ群へのアクセス(例えば、セクタ群への書き込み、又は、セクタ群の読み出し)を要求するためのアクセス要求を生成する。図1では、説明の都合上、1つのプロセス14のみを図示してある。
アクセス制御機能16は、複数のプロセス14の各々により生成されたアクセス要求を監視するためのセキュリティ機能である。例えば、マルウェア等の不正なコンピュータプログラムがゲストOS8上で実行され、外部記憶デバイス12に記憶されたセクタ群に不正にアクセスしようとした場合に、アクセス制御機能16は、不正なコンピュータプログラムにより生成されたアクセス要求を破棄する。
フロントエンド-デバイスドライバ18は、ゲストOS8に構成された仮想的なネットワークインターフェースを駆動するための仮想デバイスドライバ(VirtIO)である。フロントエンド-デバイスドライバ18は、複数のプロセス14の各々により生成されたアクセス要求を、仮想化制御システム6を介してホストOS10のバックエンド-デバイスドライバ20(後述する)に送信する。また、フロントエンド-デバイスドライバ18は、ホストOS10のバックエンド-デバイスドライバ20からのアクセス応答(後述する)を、仮想化制御システム6を介して受信する。
ホストOS10は、仮想化制御システム6上で動作する例えばLinux(登録商標)等の仮想マシンであり、第2のオペレーティングシステムの一例である。ここで、仮想化制御システムとは、ハイパーバイザを通して仮想化システム上で動作するゲストOS8のI/O情報を受け取り、実際の外部記憶デバイス12との間でI/O情報をやりとりするシステムを示す。ホストOS10は、バックエンド-デバイスドライバ20と、記憶部22と、アクセスログ解析部24と、セクタ群アクセス判定部26と、制御対応部28とを有している。
バックエンド-デバイスドライバ20は、ホストOS10に構成された仮想的なネットワークインターフェースを駆動するための仮想デバイスドライバ(VirtIO)であり、取得部の一例である。バックエンド-デバイスドライバ20は、ゲストOS8のフロントエンド-デバイスドライバ18からのアクセス要求を、仮想化制御システム6を介して取得(受信)し、取得したアクセス要求をアクセスログ解析部24に出力する。
また、後述するようにセクタ群アクセス判定部26によりアクセス要求が不正ではないと判定された場合には、バックエンド-デバイスドライバ20は、当該アクセス要求に応じて、外部記憶デバイス12に記憶されたセクタ群にアクセスする。この場合、バックエンド-デバイスドライバ20は、外部記憶デバイス12に記憶されたセクタ群にアクセスした結果を示すアクセス応答を、仮想化制御システム6を介してゲストOS8のフロントエンド-デバイスドライバ18に送信する。さらに、バックエンド-デバイスドライバ20は、ネットワークデバイス11及び画面描画デバイス13の各々にもアクセス可能である。
記憶部22は、セクタ群データベース30、セクタ群アクセス情報32及びセクタ群アクセスルールデータベース34を記憶するメモリである。これらのセクタ群データベース30、セクタ群アクセス情報32及びセクタ群アクセスルールデータベース34については、後述する。
アクセスログ解析部24は、解析部の一例であり、バックエンド-デバイスドライバ20により取得されたアクセス要求のログとして、デバイスアクセスログ36を取得する。ここで、デバイスアクセスログ36は、例えば図2に示すようなテーブル形式のデータベースである。図2に示すように、デバイスアクセスログ36では、タイムスタンプと、操作対象VMと、操作種別と、セクタ番号と、ペイロードとが対応付けられている。タイムスタンプは、ゲストOS8のフロントエンド-デバイスドライバ18がアクセス要求を送信した日時を示す情報である。操作対象VMは、アクセス要求の送信元であるゲストOS8を示す情報であり、例えば複数のゲストOS8にそれぞれ割り当てられた、「1」、「2」、・・・、「n」の連続番号である。操作種別は、アクセス要求によるセクタ群の操作の種別を示す情報であり、例えば「read」(セクタ群の読み出し)又は「write」(セクタ群への書き込み)である。セクタ番号は、外部記憶デバイス12におけるセクタ群の記憶領域を指定するための情報である。ペイロードは、操作要求の内容(例えば、どのような内容を書き込むか等の情報)を示す情報である。
図2に示す例では、デバイスアクセスログ36の1行目には、a)タイムスタンプ「2021年9月3日18:39:01.032」、b)操作対象VM「1」、c)操作種別「read」、d)セクタ番号「1111」、e)ペイロード「e38182(以下略)」がそれぞれ格納されている。すなわち、デバイスアクセスログ36の1行目は、「2021年9月3日18:39:01.032」の日時に、番号「1」が割り当てられたゲストOS8が、セクタ番号「1111」に対応する外部記憶デバイス12の記憶領域に記憶されたセクタ群の読み出し(read)を要求するためのアクセス要求を送信したことを意味している。
また、アクセスログ解析部24は、記憶部22に記憶されたセクタ群データベース30に基づいて、デバイスアクセスログ36からセクタ群アクセスログ38を生成する。ここで、セクタ群データベース30は、例えば図3に示すようなテーブル形式のデータベースであり、対応情報の一例である。図3に示すように、セクタ群データベース30は、セクタ番号と、当該セクタ番号に対応する外部記憶デバイス12の記憶領域に記憶されたセクタ群のセクタ群名との対応関係を示すデータベースである。このセクタ群データベース30は、例えば情報処理装置2の初回起動時に生成される。
図3に示す例では、セクタ群データベース30の1行目には、a)セクタ番号「1111」、b)セクタ群名「/home/key/secret.dat」が格納されている。すなわち、セクタ群データベース30の1行名は、セクタ番号「1111」に対応する外部記憶デバイス12の記憶領域には、セクタ群名「/home/key/secret.dat」のセクタ群が記憶されていることを意味している。なお、アクセス要求のログが増大することにより、セクタ番号が追加された場合には、セクタ群データベース30が更新される。
アクセスログ解析部24は、まず、デバイスアクセスログ36から監視対象のゲストOS8(例えば、番号「1」が割り当てられたゲストOS8)に関するログのみを抽出する。次に、アクセスログ解析部24は、記憶部22に記憶されたセクタ群データベース30を参照し、抽出したデバイスアクセスログ36のログに含まれるセクタ番号と、当該セクタ番号に対応するセクタ群名とを紐付けることにより、セクタ群アクセスログ38を生成する。アクセスログ解析部24は、生成したセクタ群アクセスログ38をセクタ群アクセス判定部26に出力する。
ここで、セクタ群アクセスログ38は、例えば図4に示すようなテーブル形式のデータベースであり、アクセスログ情報の一例である。図4に示すように、セクタ群アクセスログ38では、タイムスタンプと、操作種別と、セクタ番号と、セクタ群名と、ペイロードとが対応付けられている。
図4に示す例では、セクタ群アクセスログ38の1行目には、a)タイムスタンプ「2021年9月3日18:39:01.032」、b)操作種別「read」、c)セクタ番号「1111」、d)セクタ群名「/home/key/secret.dat」、e)ペイロード「e38182(以下省略)」がそれぞれ格納されている。すなわち、セクタ群アクセスログ38の1行目は、「2021年9月3日18:39:01.032」の日時に、番号「1」が割り当てられたゲストOS8が、セクタ番号「1111」に対応する外部記憶デバイス12の記憶領域に記憶された、セクタ群名「/home/key/secret.dat」のセクタ群の読み出し(read)を要求するためのアクセス要求を送信したことを意味している。
また、アクセスログ解析部24は、生成したセクタ群アクセスログ38に基づいて、記憶部22に記憶されたセクタ群アクセス情報32を更新する。ここで、セクタ群アクセス情報32は、例えば図5に示すようなテーブル形式のデータベースである。図5に示すように、セクタ群アクセス情報32では、セクタ群名と、最終アクセス日時と、最後にアクセスしたプロセスと、最後の操作と、最終のセクタ番号とが対応付けられている。
図5に示す例では、セクタ群アクセス情報32の1行目には、a)セクタ群名「/var/log/system.log」、b)最終アクセス日時「2021年9月17日04:43:21.213」、c)最後にアクセスしたプロセス「systemlogd」、d)最後の操作「write」、e)最終のセクタ番号「1234」がそれぞれ格納されている。すなわち、セクタ群アクセス情報32の1行目は、セクタ群名「/var/log/system.log」のセクタ群に対する最後のアクセスが、「2021年9月17日04:43:21.213」の日時に、プロセス「systemlogd」による、セクタ番号「1234」に対応する外部記憶デバイス12の記憶領域へのセクタ群の書き込みであったことを意味している。
セクタ群アクセス判定部26は、判定部の一例であり、記憶部22に記憶されたセクタ群アクセス情報32及びセクタ群アクセスルールデータベース34と、セクタ群アクセスログ38とに基づいて、ゲストOS8からのアクセス要求が不正であるか否かを判定する。
ここで、セクタ群アクセスルールデータベース34は、外部記憶デバイス12に記憶されたセクタ群毎に、当該セクタ群のセクタ群名と、当該セクタ群にアクセスするためのルールとの対応関係を示すデータベースである。具体的には、セクタ群アクセスルールデータベース34は、例えば図6に示すようなテーブル形式のデータベースであり、ルール情報の一例である。図6に示すように、セクタ群アクセスルールデータベース34では、セクタ群名と、アクセス許可プロセスと、アクセス許可操作と、セクタ群種別とが対応付けられている。アクセス許可プロセスは、セクタ群に対してアクセスが許可されたプロセスを示す情報(ルール)である。アクセス許可操作は、セクタ群に対してアクセスが許可された操作を示す情報(ルール)である。セクタ群種別は、セクタ群の種別(個人情報又はログ)を示す情報である。
図6に示す例では、セクタ群アクセスルールデータベース34の1行目には、a)セクタ群名「/home/key/secret.dat」、b)アクセス許可プロセス「updateservice」、c)アクセス許可操作「read」、d)セクタ群種別「個人情報」がそれぞれ格納されている。すなわち、セクタ群アクセスルールデータベース34の1行目は、「個人情報」を含むセクタ群名「/home/key/secret.dat」のセクタ群に対して、アクセスが許可されるプロセスは「updateservice」であり、且つ、アクセスが許可される操作は読み出し(read)であることを意味している。
なお、本実施の形態では、セクタ群アクセスルールデータベース34は、外部記憶デバイス12に記憶されたセクタ群にアクセスするためのルールとして、当該セクタ群に対してアクセスが許可されるプロセス及び操作を含むようにしたが、これに限定されず、プロセス及び操作のいずれか一方のみを含むようにしてもよい。
セクタ群アクセス判定部26は、セクタ群アクセスルールデータベース34とセクタ群アクセスログ38とを比較することにより、外部記憶デバイス12に記憶されたセクタ群にアクセスしようとしているプロセス及び操作が、セクタ群アクセスルールデータベース34により規定されたルールに合致しているか否かを判定する。また、セクタ群アクセス判定部26は、セクタ群アクセス情報32とセクタ群アクセスログ38とを比較することにより、ゲストOS8によるセクタ群へのアクセスのビヘイビア(振る舞い)が、許可されたビヘイビアであるか否かを判定する。セクタ群アクセス判定部26は、判定結果を制御対応部28に出力する。
なお、許可されたビヘイビアは、例えば、a)ログファイル(ログを示すセクタ群)に追記する操作、b)情報処理装置2の初回起動時におけるセクタ群の読み込み操作等である。前者については、一般に、ログファイルにwrite権限が与えられていたとしても、ログファイルに対する追記が発生するのみであるため、ログファイルの一部を改変又は消去しようとする操作は、不正なアクセスであると判定可能である。また、後者については、一般に、例えばゲストOS8のアクセス制御機能16のポリシー等を示すセクタ群は、情報処理装置2の初回起動時にのみ読み込まれるため、初回起動時から相当時間が経過した後に当該セクタ群を読み込もうとする操作は、不正なアクセスであると判定可能である。
また、セクタ群アクセス判定部26は、情報処理装置2に関する情報、例えば情報処理装置2の起動時刻を示す情報、及び、情報処理装置2の起動モードを示す情報等を取得可能である。なお、情報処理装置2は、起動モードとして、通常モード及びリプロモードのいずれかで起動される。
制御対応部28は、対応部の一例であり、セクタ群アクセス判定部26の判定結果に基づいて、対応を制御する。具体的には、制御対応部28は、セクタ群アクセス判定部26によりアクセス要求が不正であると判定された場合には、SIEM(Security Information and Event Management)機能を備える外部サーバ40へのエラー通知等を行う。また、制御対応部28は、セクタ群アクセス判定部26によりアクセス要求が不正ではないと判定された場合には、アクセス要求に応じて外部記憶デバイス12に記憶されたセクタ群にアクセスするようにバックエンド-デバイスドライバ20に指示する。
[2.情報処理装置の動作]
[2-1.ホストOSの全体動作]
図7を参照しながら、実施の形態に係るホストOS10の全体動作について説明する。図7は、実施の形態に係るホストOS10の全体動作の流れを示すフローチャートである。
図7に示すように、まず、アクセスログ解析部24は、バックエンド-デバイスドライバ20により取得されたアクセス要求のログとして、デバイスアクセスログ36を取得する(S101)。
次に、アクセスログ解析部24は、デバイスアクセスログ36から監視対象のゲストOS8に関するログのみを抽出した上で、記憶部22に記憶されたセクタ群データベース30を参照し、抽出したログに含まれるセクタ番号と、当該セクタ番号に対応するセクタ群名とを紐付けることにより、セクタ群アクセスログ38を生成する(S102)。
次に、セクタ群アクセス判定部26は、記憶部22に記憶されたセクタ群アクセス情報32及びセクタ群アクセスルールデータベース34と、セクタ群アクセスログ38とに基づいて、ゲストOS8のアクセス要求が不正であるか否かを判定する(S103)。セクタ群アクセス判定部26は、判定結果を制御対応部28に出力する。
セクタ群アクセス判定部26によりアクセス要求が不正であると判定された場合には(S103でYES)、制御対応部28は、セクタ群アクセスログ38に含まれるセクタ群名に基づいて、当該アクセス要求の対象となっているセクタ群の種別を判定する(S104)。
セクタ群の種別が「ログ」である場合には(S104で「ログ」)、制御対応部28は、外部サーバ40にエラーを通知する(S105)。この場合、制御対応部28が外部サーバ40にエラーを通知するタイミングは、予め定められた定期的なタイミング(例えば、5分毎のタイミング)である。この時、セクタ群アクセス判定部26は、セクタ群アクセス情報32のうち、不正なアクセス要求に関する内容を消去する。その後、図7のフローチャートを終了する。
一方、セクタ群の種別が「個人情報」である場合には(S104で「個人情報」)、制御対応部28は、外部サーバ40にエラーを通知するとともに、当該アクセス要求に応じたセクタ群へのアクセスを停止するようにバックエンド-デバイスドライバ20に指示する(S106)。この場合、制御対応部28が外部サーバ40にエラーを通知し、且つ、セクタ群へのアクセスを停止するタイミングは、即時のタイミングである。なお、制御対応部28は、外部サーバ40にエラーを通知する際に、不正と判定されたセクタ群アクセスログ38を併せて通知してもよい。この時、セクタ群アクセス判定部26は、セクタ群アクセス情報32のうち、不正なアクセス要求に関する内容を消去する。その後、図7のフローチャートを終了する。
ステップS103に戻り、セクタ群アクセス判定部26によりアクセス要求が不正ではないと判定された場合には(S103でNO)、制御対応部28は、アクセス要求に応じて外部記憶デバイス12に記憶されたセクタ群にアクセスするようにバックエンド-デバイスドライバ20に指示する(S107)。この時、セクタ群アクセス判定部26は、アクセス要求の内容に基づいて、セクタ群アクセス情報32を更新する。その後、図7のフローチャートを終了する。
[2-2.アクセスログ解析部の動作]
図8を参照しながら、アクセスログ解析部24の動作について具体的に説明する。図8は、実施の形態に係るアクセスログ解析部24の動作の流れを示すフローチャートである。
図8に示すように、アクセスログ解析部24は、まず、デバイスアクセスログ36から最新のログを取得する(S201)。次に、アクセスログ解析部24は、取得した最新のログに含まれる操作対象VMが、監視対象のゲストOS8であるか否かを判定する(S202)。取得した最新のログに含まれる操作対象VMが監視対象のゲストOS8でない場合には(S202でNO)、図8のフローチャートを終了する。
一方、取得した最新のログに含まれる操作対象VMが監視対象のゲストOS8である場合には(S202でYES)、アクセスログ解析部24は、取得した最新のログに含まれるセクタ番号がセクタ群データベース30に登録されているか否かを判定する(S203)。
取得した最新のログに含まれるセクタ番号がセクタ群データベース30に登録されている場合には(S203でYES)、アクセスログ解析部24は、取得した最新のログに含まれるセクタ番号と、セクタ群データベース30に登録されている当該セクタ番号に対応するセクタ群名とを紐付けることにより、セクタ群アクセスログ38を生成する(S204)。その後、図8のフローチャートを終了する。
一方、取得した最新のログに含まれるセクタ番号がセクタ群データベース30に登録されていない場合には(S203でNO)、アクセスログ解析部24は、取得した最新のログに含まれる操作種別が「write」であるか否かを判定する(S205)。取得した最新のログに含まれる操作種別が「write」でない場合には(S205でNO)、図8のフローチャートを終了する。
一方、取得した最新のログに含まれる操作種別が「write」である場合には(S205でYES)、アクセスログ解析部24は、取得した最新のログが、セクタ群アクセスルールデータベース34に登録されているセクタ群に対する操作であるか否かを判定する(S206)。取得した最新のログが、セクタ群アクセスルールデータベース34に登録されているセクタ群に対する操作でない場合には(S206でNO)、図8のフローチャートを終了する。
一方、取得した最新のログが、セクタ群アクセスルールデータベース34に登録されているセクタ群に対する操作である場合には(S206でYES)、アクセスログ解析部24は、セクタ群データベース30に、セクタ番号及び当該セクタ番号に対応するセクタ群名を登録し(S207)、ステップS204に進む。
[2-3.セクタ群アクセス判定部の動作]
図9を参照しながら、セクタ群アクセス判定部26の動作について具体的に説明する。図9は、実施の形態に係るセクタ群アクセス判定部26の動作の流れを示すフローチャートである。
図9に示すように、セクタ群アクセス判定部26は、まず、セクタ群アクセスログ38から最新のログを取得する(S301)。次に、セクタ群アクセス判定部26は、取得した最新のログに含まれる操作種別が、セクタ群アクセスルールデータベース34に含まれる、上記最新のログのセクタ群名に対応するアクセス許可操作であるか否かを判定する(S302)。すなわち、セクタ群アクセス判定部26は、セクタ群に対して付与されたread・write権限に関するルール情報に基づいて、アクセス要求が不正であるか否かを判定する。取得した最新のログに含まれる操作種別がアクセス許可操作でない場合には(S302でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S303)。その後、図9のフローチャートを終了する。
一方、取得した最新のログに含まれる操作種別がアクセス許可操作である場合には(S302でYES)、セクタ群アクセス判定部26は、プロセスが、セクタ群アクセスルールデータベース34に含まれる、上記最新のログのセクタ群名に対応するアクセス許可プロセスであるか否かを判定する(S304)。プロセスがアクセス許可プロセスでない場合には(S304でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S303)。その後、図9のフローチャートを終了する。
一方、プロセスがアクセス許可プロセスである場合には(S304でYES)、セクタ群アクセス判定部26は、セクタ群アクセス情報32に基づいて、外部記憶デバイス12に記憶されたセクタ群に対するアクセスのビヘイビアが許可されたビヘイビアであるか否かを判定する(S305)。ビヘイビアが許可されたビヘイビアではない場合には(S305でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S303)。その後、図9のフローチャートを終了する。
一方、ビヘイビアが許可されたビヘイビアである場合には(S305でYES)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正ではないと判定する(S306)。その後、図9のフローチャートを終了する。
ここで、図10及び図11を参照しながら、図9のフローチャートのステップS305の処理について具体的に説明する。図10及び図11は、図9のフローチャートのステップS305の処理を具体的に示すフローチャートである。
セクタ群アクセス判定部26は、第1のビヘイビアルール~第Nのビヘイビアルールに基づいて、ビヘイビアがこれらの第1のビヘイビアルール~第Nのビヘイビアルールの各々で許可されたビヘイビアであるか否かを判定する。
図10に示すように、セクタ群アクセス判定部26は、上記以外の場合には、ビヘイビアが第1のビヘイビアルールで許可されたビヘイビアであるか否かを判定する(S401)。ビヘイビアが第1のビヘイビアルールで許可されたビヘイビアでない場合には(S401でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S402)。その後、図10のフローチャートを終了する。
一方、ビヘイビアが第1のビヘイビアルールで許可されたビヘイビアである場合には(S401でYES)、セクタ群アクセス判定部26は、ビヘイビアが第2のビヘイビアルールで許可されたビヘイビアであるか否かを判定する(S403)。ビヘイビアが第2のビヘイビアルールで許可されたビヘイビアでない場合には(S403でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S402)。その後、図10のフローチャートを終了する。
以下同様に、ビヘイビアが第2のビヘイビアルールで許可されたビヘイビアである場合には(S403でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであるか否かを判定する(S404)。ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアでない場合には(S404でNO)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S402)。その後、図10のフローチャートを終了する。
ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアである場合には(S404でYES)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正ではないと判定する(S405)。その後、図10のフローチャートを終了する。
次に、図11を参照しながら、第1のビヘイビアルールを用いたビヘイビアの判定方法について説明する。第1のビヘイビアルールは、例えば情報処理装置2の初回起動時における、セクタ群へのアクセスのビヘイビアに関するルールである。
図11に示すように、情報処理装置2の初回起動時以外のセクタ群へのアクセスが禁止されていない場合には(S501でNO)、図11のフローチャートを終了する。一方、情報処理装置2の初回起動時以外のセクタ群へのアクセスが禁止されている場合には(S501でYES)、セクタ群アクセス判定部26は、セクタ群アクセス情報32にゲストOS8からのアクセス要求が記憶されているか否かを判定する(S502)。
セクタ群アクセス情報32にゲストOS8からのアクセス要求が記憶されている場合には(S502でYES)、セクタ群アクセス判定部26は、ゲストOS8からのアクセス要求が不正であると判定する(S503)。その後、図11のフローチャートを終了する。
一方、セクタ群アクセス情報32にゲストOS8からのアクセス要求が記憶されていない場合には(S502でNO)、セクタ群アクセス判定部26は、アクセス要求のタイムスタンプが想定される初回起動時間(例えば1分)内であるか否かを判定する(S504)。アクセス要求のタイムスタンプが想定される初回起動時間内でない場合には(S504でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S503)。その後、図11のフローチャートを終了する。
一方、アクセス要求のタイムスタンプが想定される初回起動時間内である場合には(S504でYES)、セクタ群アクセス判定部26は、ビヘイビアが第1のビヘイビアルールで許可されたビヘイビアであると判定する(S505)。この場合、セクタ群アクセス判定部26は、セクタ群アクセス情報32に、ゲストOS8からのアクセス要求を記憶させる。その後、図11のフローチャートを終了する。
以下、図12~図19を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の各種例について説明する。
まず、図12を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第1の例について説明する。図12は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第1の例を示すフローチャートである。第Nのビヘイビアルールは、例えばクライアント証明書の秘密鍵へのアクセスのビヘイビアに関するルールである。
図12に示すように、セクタ群アクセス判定部26は、アクセス要求がクライアント証明書の秘密鍵へのアクセスであるか否かを判定する(S601)。アクセス要求がクライアント証明書の秘密鍵へのアクセスでない場合には(S601でNO)、図12のフローチャートを終了する。
一方、アクセス要求がクライアント証明書の秘密鍵へのアクセスである場合には(S601でYES)、セクタ群アクセス判定部26は、アクセスログ解析部24のログからネットワークデバイス11についての現在の接続先を示す情報を取得する(S602)。これにより、セクタ群アクセス判定部26は、正規の接続先であるネットワークデバイス11に対してアクセス中であるか否か(すなわち、クライアント証明書のリクエストがあるか否か)を判定する(S603)。
正規の接続先であるネットワークデバイス11に対してアクセス中である場合には(S603でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S604)。その後、図12のフローチャートを終了する。
一方、正規の接続先であるネットワークデバイス11に対してアクセス中でない場合には(S603でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S605)。その後、図12のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、ネットワークデバイス11の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者がクライアント証明書の秘密鍵を不正に読み取ろうとした場合に、不正なアクセス要求として検出することができる。
次に、図13を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第2の例について説明する。図13は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第2の例を示すフローチャートである。第Nのビヘイビアルールは、例えば電話番号が記載されているファイルへのアクセスのビヘイビアに関するルールである。
図13に示すように、セクタ群アクセス判定部26は、アクセス要求が、電話番号が記載されているファイルへのアクセスであるか否かを判定する(S701)。アクセス要求が、電話番号が記載されているファイルへのアクセスでない場合には(S701でNO)、図13のフローチャートを終了する。
一方、アクセス要求が、電話番号が記載されているファイルへのアクセスである場合には(S701でYES)、セクタ群アクセス判定部26は、アクセスログ解析部24のログから画面描画デバイス13における現在の操作を示す情報を取得する(S702)。これにより、セクタ群アクセス判定部26は、画面描画デバイス13において電話を掛けるなどの電話番号に関連した操作中であるか否かを判定する(S703)。
電話を掛けるなどの電話番号に関連した操作中である場合には(S703でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S704)。その後、図13のフローチャートを終了する。
一方、電話を掛けるなどの電話番号に関連した操作中でない場合には(S703でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S705)。その後、図13のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、画面描画デバイス13の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が外部記憶デバイス12に記憶されているファイルに記載の電話番号に不正にアクセスしようとした場合に、不正なアクセス要求として検出することができる。
次に、図14を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第3の例について説明する。図14は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第3の例を示すフローチャートである。第Nのビヘイビアルールは、例えば情報処理装置2の起動後一定時間内に読み込まれるファイルへのアクセスのビヘイビアに関するルールである。
図14に示すように、セクタ群アクセス判定部26は、アクセス要求が、情報処理装置2の起動後一定時間内に読み込まれるファイルへのアクセスであるか否かを判定する(S801)。アクセス要求が、情報処理装置2の起動後一定時間内に読み込まれるファイルへのアクセスでない場合には(S801でNO)、図14のフローチャートを終了する。
一方、アクセス要求が、情報処理装置2の起動後一定時間内に読み込まれるファイルへのアクセスである場合には(S801でYES)、セクタ群アクセス判定部26は、情報処理装置2の起動時刻を示す情報を取得する(S802)。これにより、セクタ群アクセス判定部26は、ファイルへのアクセス時刻がルールで定められている時間内(すなわち、情報処理装置2の起動後一定時間内)であるか否かを判定する(S803)。
ファイルへのアクセス時刻がルールで定められている時間内である場合には(S803でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S804)。その後、図14のフローチャートを終了する。
一方、ファイルへのアクセス時刻がルールで定められている時間内でない場合には(S803でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S805)。その後、図14のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、情報処理装置2の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が情報処理装置2の起動後一定時間内に読み込まれるべきファイル(例えば、カーネルモジュール又は初期設定ファイル等)を、情報処理装置2の起動後一定時間外に不正に読み込もうとした場合に、不正なアクセス要求として検出することができる。
次に、図15を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第4の例について説明する。図15は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第4の例を示すフローチャートである。第Nのビヘイビアルールは、例えばリプロ(プログラムの書き換え処理)用の復号鍵へのアクセスのビヘイビアに関するルールである。なお、リプロ用の復号鍵は、情報処理装置2のシステム更新を行うために、情報処理装置2をリプロモードで起動した場合にのみ読み込まれるファイルである。
図15に示すように、セクタ群アクセス判定部26は、アクセス要求が、リプロ用の復号鍵へのアクセスであるか否かを判定する(S901)。アクセス要求が、リプロ用の復号鍵へのアクセスでない場合には(S901でNO)、図15のフローチャートを終了する。同様のユースケースとして、書き込み先のセクタ領域がリプロ対象のセクタ領域か否かを判定することができる。この場合、以降のステップS902以降の処理によってアクセスの正常/異常を判定してもよい。
一方、アクセス要求が、リプロ用の復号鍵へのアクセスである場合には(S901でYES)、セクタ群アクセス判定部26は、情報処理装置2の起動モードを示す情報を取得し、取得した起動モードの種類(通常モード又はリプロモード)を判定する(S902)。
起動モードの種類がリプロモードである場合には(S903で「リプロモード」)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S904)。その後、図15のフローチャートを終了する。
一方、起動モードの種類が通常モードである場合には(S903で「通常モード」)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S905)。その後、図15のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、情報処理装置2の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、情報処理装置2が通常モードで起動された際に、攻撃者が、リプロ用の復号鍵に不正にアクセスして秘密鍵の情報を取得しようとした場合に、不正なアクセス要求として検出することができる。
次に、図16を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第5の例について説明する。図16は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第5の例を示すフローチャートである。第Nのビヘイビアルールは、例えば起動面とは異なる面への書き込みのビヘイビアに関するルールである。なお、情報処理装置2がリプロモードで起動された場合にのみ、起動面とは異なる面への書き込みが行われる。
図16に示すように、セクタ群アクセス判定部26は、アクセス要求が、起動面とは異なる面への書き込みであるか否かを判定する(S1001)。アクセス要求が、起動面とは異なる面への書き込みでない場合には(S1001でNO)、図16のフローチャートを終了する。
一方、アクセス要求が、起動面とは異なる面への書き込みである場合には(S1001でYES)、セクタ群アクセス判定部26は、情報処理装置2の起動モードを示す情報を取得し、取得した起動モードの種類(通常モード又はリプロモード)を判定する(S1002)。
起動モードの種類がリプロモードである場合には(S1003で「リプロモード」)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S1004)。その後、図16のフローチャートを終了する。
一方、起動モードの種類が通常モードである場合には(S1003で「通常モード」)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S1005)。その後、図16のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、情報処理装置2の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が、通常モードでは書き込みが行われるはずの無い面への書き込みを行うことにより、ファームウェアを不正に書き換えたり、強制ロールバック等で書き換えた面の起動を強制的に行ったりした場合に、不正なアクセス要求として検出することができる。
次に、図17を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第6の例について説明する。図17は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第6の例を示すフローチャートである。第Nのビヘイビアルールは、例えば情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスのビヘイビアに関するルールである。
図17に示すように、セクタ群アクセス判定部26は、アクセス要求が、情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスであるか否かを判定する(S1101)。アクセス要求が、情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスでない場合には(S1101でNO)、図17のフローチャートを終了する。
一方、アクセス要求が、情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスである場合には(S1101でYES)、セクタ群アクセス判定部26は、セクタ群アクセス情報32から最終のアクセスに関する情報を取得する(S1102)。これにより、セクタ群アクセス判定部26は、情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスが、情報処理装置2の起動後初めての読み込みであるか否かを判定する(S1103)。
情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスが、情報処理装置2の起動後初めての読み込みである場合には(S1103でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S1104)。その後、図17のフローチャートを終了する。
一方、情報処理装置2の起動後に一回のみ読み込まれるべきファイルへのアクセスが、情報処理装置2の起動後初めての読み込みでない場合には(S1103でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S1105)。その後、図17のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、、ファイル(セクタ群)の状態を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が、情報処理装置2の起動後に一回しか読み込まれないファイル(例えば、初回起動の設定ファイル等)を不正に読み込み、情報処理装置2の初期設定を偵察しようとした場合に、不正なアクセス要求として検出することができる。
次に、図18を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第7の例について説明する。図18は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第7の例を示すフローチャートである。第Nのビヘイビアルールは、例えばアプリケーション(以下、「アプリ」という)のアップデートのビヘイビアに関するルールである。
図18に示すように、セクタ群アクセス判定部26は、アクセス要求が、アプリのアップデートであるか否かを判定する(S1201)。アクセス要求が、アプリのアップデートでない場合には(S1201でNO)、図18のフローチャートを終了する。
一方、アクセス要求が、アプリのアップデートである場合には(S1201でYES)、セクタ群アクセス判定部26は、セクタ群アクセスログ38のペイロードを監視して、「http」から始まる文字列を検索する(S1202)。
セクタ群アクセスログ38のペイロードにおいて、該当する文字列(「http」から始まる文字列)があり、且つ、ホワイトリストにあるURL(Uniform Resource Locator)が記載されている場合には(S1203でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S1204)。その後、図18のフローチャートを終了する。
一方、セクタ群アクセスログ38のペイロードにおいて、該当する文字列が無い、又は、ホワイトリストにあるURLが記載されていない場合には(S1203でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S1205)。その後、図18のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、書き込み許可されたセクタ群に対するアクセス内容を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が、正規のアプリのアップデートになりすまして、外部の許可されていないURL(例えば、C&Cサーバ等)をセクタ群に不正に書き込んだ場合に、不正なアクセス要求として検出することができる。
次に、図19を参照しながら、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第8の例について説明する。図19は、第Nのビヘイビアルールを用いたビヘイビアの判定方法の第8の例を示すフローチャートである。第Nのビヘイビアルールは、例えばログファイルに対する書き込みのビヘイビアに関するルールである。なお、ログファイルは、最終セクタにしか書き込みが行われない(すなわち、追記のみが発生する)。
図19に示すように、セクタ群アクセス判定部26は、アクセス要求が、ログファイルに対する書き込みであるか否かを判定する(S1301)。アクセス要求が、ログファイルに対する書き込みでない場合には(S1301でNO)、図19のフローチャートを終了する。
一方、アクセス要求が、ログファイルに対する書き込みである場合には(S1301でYES)、セクタ群アクセス判定部26は、セクタ群アクセス情報32から最終のセクタ番号を取得する(S1302)。これにより、セクタ群アクセス判定部26は、書き込みの対象セクタが最終セクタであるか否かを判定する(S1303)。
書き込みの対象セクタが最終セクタである場合には(S1303でYES)、セクタ群アクセス判定部26は、ビヘイビアが第Nのビヘイビアルールで許可されたビヘイビアであると判定する(S1304)。その後、図19のフローチャートを終了する。
一方、書き込みの対象セクタが最終セクタでない場合には(S1303でNO)、セクタ群アクセス判定部26は、アクセス要求が不正であると判定する(S1305)。その後、図19のフローチャートを終了する。
このように、セクタ群アクセス判定部26は、書き込み許可されたセクタ群に対するアクセス内容を考慮して、アクセス要求が不正であるか否かを判定する。これにより、攻撃者が、攻撃の痕跡が残っているログの途中部分を改ざんして痕跡を消去するために、ログファイルの最終セクタ以外に不正に書き込みを行った場合に、不正なアクセス要求として検出することができる。
[3.効果]
本実施の形態では、ホストOS10においてゲストOS8からのアクセス要求をフックし、フックした当該アクセス要求を解析することにより、当該アクセス要求の正当性を判定する。これにより、仮にゲストOS8のアクセス制御機能16が不正なコンピュータプログラムにより無効化又は改ざん等された場合であっても、ホストOS10でフックしたアクセス要求を、ゲストOS8における異常を監視するための情報として用いることができ、ゲストOS8からのアクセス要求の正当性を精度良く判定することができる。
(他の変形例)
以上、一つ又は複数の態様に係る情報処理装置及び判定方法について、上記実施の形態に基づいて説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を上記実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したコンピュータプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたコンピュータプログラムを読み出して実行することによって実現されてもよい。
また、上記実施の形態では、仮想化制御システムとして、ハイパーバイザ(TYPE1型)を採用したが、これに限定されず、あるオペレーティングシステム上で動作するハイパーバイザを含むアプリケーション(TYPE2型)を採用してもよい。
また、上記実施の形態に係る情報処理装置の機能の一部又は全てを、CPU等のプロセッサがコンピュータプログラムを実行することにより実現してもよい。
上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
本開示は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムを含むデジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な非一時的な記録媒体、例えばフレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしても良い。また、前記コンピュータプログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記コンピュータプログラム又は前
記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
本開示に係る情報処理装置は、例えばVM間通信における異常を検出する機能を有する仮想ECU等に適用可能である。
2 情報処理装置
4 ハードウェア
6 仮想化制御システム
8 ゲストOS
10 ホストOS
11 ネットワークデバイス
12 外部記憶デバイス
13 画面描画デバイス
14 プロセス
16 アクセス制御機能
18 フロントエンド-デバイスドライバ
20 バックエンド-デバイスドライバ
22 記憶部
24 アクセスログ解析部
26 セクタ群アクセス判定部
28 制御対応部
30 セクタ群データベース
32 セクタ群アクセス情報
34 セクタ群アクセスルールデータベース
36 デバイスアクセスログ
38 セクタ群アクセスログ
40 外部サーバ

Claims (11)

  1. 車両における不正アクセスを判定するための情報処理装置であって、
    第1のオペレーティングシステムと、
    前記第1のオペレーティングシステムからのアクセス要求に応じて、記憶装置に記憶されたセクタ群にアクセスする第2のオペレーティングシステムと、
    プロセッサ上で実行され、前記第1のオペレーティングシステム及び前記第2のオペレーティングシステムの実行を制御する仮想化制御システムと、を備え、
    前記第2のオペレーティングシステムは、
    前記第1のオペレーティングシステムからの前記アクセス要求を取得する取得部と、
    前記記憶装置に記憶された前記セクタ群にアクセスするためのルールを示すルール情報に基づいて、前記アクセス要求が不正であるか否かを判定する判定部と、を有する
    情報処理装置。
  2. 前記第2のオペレーティングシステムは、さらに、セクタ番号と当該セクタ番号に対応する前記記憶装置の記憶領域に記憶された前記セクタ群のセクタ群名との対応関係を示す対応情報を参照することにより、前記アクセス要求から、当該アクセス要求に含まれる前記セクタ番号と前記セクタ群名とを紐付けたアクセスログ情報を生成する解析部を有し、
    前記判定部は、前記ルール情報及び前記アクセスログ情報に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  3. 前記第2のオペレーティングシステムは、さらに、前記判定部により前記アクセス要求が不正であると判定された場合に、外部に通知する対応部を有する
    請求項1に記載の情報処理装置。
  4. 前記対応部は、さらに、前記判定部により前記アクセス要求が不正であると判定された場合に、外部に通知し、且つ、前記記憶装置に記憶されたセクタ群へのアクセスを停止する
    請求項3に記載の情報処理装置。
  5. 前記ルール情報は、前記ルールとして、前記記憶装置に記憶された前記セクタ群に対してアクセスが許可されるプロセス及び操作の少なくとも一方を含む
    請求項1~4のいずれか1項に記載の情報処理装置。
  6. 前記判定部は、前記セクタ群に対して付与されたread・write権限に関する前記ルール情報に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  7. 前記第2のオペレーティングシステムは、外部のデバイスにアクセス可能であり、
    前記判定部は、前記ルール情報及び前記外部のデバイスの状態に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  8. 前記判定部は、前記ルール情報及び前記情報処理装置の状態に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  9. 前記判定部は、前記ルール情報及び前記セクタ群の状態に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  10. 前記判定部は、前記ルール情報、及び、書き込み許可された前記セクタ群に対するアクセス内容に基づいて、前記アクセス要求が不正であるか否かを判定する
    請求項1に記載の情報処理装置。
  11. 第1のオペレーティングシステムと、前記第1のオペレーティングシステムからのアクセス要求に応じて、記憶装置に記憶されたセクタ群にアクセスする第2のオペレーティングシステムと、プロセッサ上で実行され、前記第1のオペレーティングシステム及び前記第2のオペレーティングシステムの実行を制御する仮想化制御システムと、を備えた情報処理装置を用いて車両における不正アクセスを判定する判定方法であって、
    前記第2のオペレーティングシステムが前記第1のオペレーティングシステムからの前記アクセス要求を取得し、
    前記記憶装置に記憶された前記セクタ群にアクセスするためのルールを示すルール情報に基づいて、取得した前記アクセス要求が不正であるか否かを判定し、
    前記アクセス要求が不正であると判定した場合に、その結果を外部に出力する
    判定方法。
JP2022175670A 2021-12-08 2022-11-01 情報処理装置及び判定方法 Pending JP2023085210A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021198989 2021-12-08
JP2021198989 2021-12-08

Publications (1)

Publication Number Publication Date
JP2023085210A true JP2023085210A (ja) 2023-06-20

Family

ID=86498699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022175670A Pending JP2023085210A (ja) 2021-12-08 2022-11-01 情報処理装置及び判定方法

Country Status (3)

Country Link
US (1) US20230177140A1 (ja)
JP (1) JP2023085210A (ja)
DE (1) DE102022131633A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4177957B2 (ja) 2000-03-22 2008-11-05 日立オムロンターミナルソリューションズ株式会社 アクセス制御システム

Also Published As

Publication number Publication date
DE102022131633A1 (de) 2023-06-15
US20230177140A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US20180189300A1 (en) Method and system for providing restricted access to a storage medium
KR101888712B1 (ko) 운영 체제 구성 값 보호 기법
JP5276438B2 (ja) オペレーティングシステムおよびその他のソフトウェアのインストールを制限するハッカー対策プロテクト
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
WO2011114655A1 (ja) 情報処理装置、仮想マシン生成方法及びアプリ配信システム
US10402378B2 (en) Method and system for executing an executable file
JP4093494B2 (ja) 秘密情報へのアクセスを制御するシステムおよびその方法
EP1365306A2 (en) Data protection system
CN104620253A (zh) 用于维持安全时间的方法和设备
WO2012032326A1 (en) Virtualisation system
KR20080013940A (ko) 전자기기, 갱신 서버장치, 키 갱신장치
JP5543010B1 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
JP2008171389A (ja) ドメイン・ログオンの方法、およびコンピュータ
CN107644174B (zh) 数据泄漏防止系统及数据泄漏防止方法
JP2015156055A (ja) 情報処理装置、情報処理方法
JP2004038247A (ja) ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP2003058486A (ja) 画像形成装置
US20110145596A1 (en) Secure Data Handling In A Computer System
JP2023085210A (ja) 情報処理装置及び判定方法
JP2008234539A (ja) 情報処理装置及びファイル処理方法並びにプログラム
CN109167785B (zh) 一种虚拟可信根的调用方法和业务服务器
JP6884652B2 (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
JP2023144561A (ja) 情報処理装置及び情報処理装置の制御方法
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
JP6257085B2 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240304