JP2018036695A - Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus - Google Patents
Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus Download PDFInfo
- Publication number
- JP2018036695A JP2018036695A JP2016166689A JP2016166689A JP2018036695A JP 2018036695 A JP2018036695 A JP 2018036695A JP 2016166689 A JP2016166689 A JP 2016166689A JP 2016166689 A JP2016166689 A JP 2016166689A JP 2018036695 A JP2018036695 A JP 2018036695A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- monitoring
- information processing
- access
- cpu
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明は、コンピュータプログラムによって実行される情報処理動作を監視するセキュリティ技術に関する。 The present invention relates to a security technique for monitoring information processing operations executed by a computer program.
昨今、不正かつ有害な動作を行う意図で作成された悪意のあるプログラム(以下、不当プログラム)によるリソース側へのアクセス、例えばファイルの改竄やシステムの設定変更等によってコンピュータのセキュリティが大きく損われている。今日、不当プログラムのリソースへのアクセスを監視し、不当動作を規制する各種の対応ソフトウェアが提案されている。 Recently, access to resources by malicious programs created with the intention of performing illegal and harmful operations (hereinafter referred to as unauthorized programs), such as falsification of files and changes in system settings, greatly reduces computer security. Yes. Today, various types of corresponding software for monitoring access to resources of unauthorized programs and regulating unauthorized operations have been proposed.
特許文献1には、リソースに対する処理要求であるI/Oプロセスを監視するステップと、アプリケーションから発行されたリソースに対する処理要求を一時保留するステップと、アプリケーションが正規のアプリケーションであるか否かをハッシュ値で認証するステップと、起動されたアプリケーションの認証結果が成功の場合にのみ、前記一時保留した処理要求による処理を許可するステップとを備えて、リソースの情報漏洩防止を図るアプリケーションの監視方法が記載されている。 In Patent Document 1, a step of monitoring an I / O process which is a processing request for a resource, a step of temporarily holding a processing request for a resource issued from an application, and a hash indicating whether or not the application is a legitimate application An application monitoring method for preventing information leakage of resources, comprising: authenticating with a value; and permitting processing based on the temporarily suspended processing request only when the authentication result of the activated application is successful. Have been described.
特許文献2には、コンピュータ上で実行されるアプリケーションがハードディスクHDD等の記憶装置に記憶された情報にアクセスする時点で、オペレーティングシステム(OS)のフック機能を利用してこのアプリケーションをフックし、予め設定されたアクセス許容条件表の内容と照合することで判定し、マッチングしない場合にはウイルス等の不正なアクセスであるとして、記憶装置に記憶された情報のアプリケーションへの受け渡しを禁止するコンピュータの情報漏洩防止システムが記載されている。
In
特許文献1に記載されたアプリケーションの監視方法は、リソースに対する処理要求のプロセス毎に、当該アプリケーションのハッシュ値を算出し、算出したハッシュ値と予め記憶しているハッシュ値とを照合するものである。このように、リソースに対する処理要求時にハッシュ値による認証照合を試みるだけでは信頼性の高い監視に限界がある。 The application monitoring method described in Patent Document 1 calculates a hash value of an application for each process of processing requests for resources, and collates the calculated hash value with a previously stored hash value. . In this way, there is a limit to highly reliable monitoring simply by attempting authentication verification using a hash value at the time of processing request for a resource.
特許文献2に記載された情報漏洩防止システムは、ファイルシステムの入出力に関する機能(API(ApplicationProgramming Interface)、シスコール(Syscall))を監視対象とするもので、アクセス許容条件として、コンピュータのユーザインタフェースを介して入力される、ファイルデータの書き込みなどの操作を表すIOタイプ、アプリケーション名、データファイル名、実行プログラムの実行制約条件(日時、範囲等)などの所定のチェック項目を、ホワイトリストであるアクセス許容条件表の内容と照合するものであるため、ホワイトリストとの照合処理のみでは、同様に監視に限界がある。
The information leakage prevention system described in
また、特許文献1,2は、リソースに対するIOアクセスの正当性を照合するべく監視対象としている点で充分とはいえない。さらに、特許文献1,2は、不当プログラムによるリソースへのアクセスを通して行われるファイルの改竄や削除、漏洩等を抑止しようとするものであり、CPUの動作状態に関するモードに起因して行われる虞のある不当な情報処理を抑止する技術については何等記載していない。
In addition,
本発明は、上記に鑑みてなされたもので、CPUのモードの切替に起因する不当な情報処理を未然に抑止することが可能な情報処理監視装置、情報処理監視方法、監視プログラム、記録媒体及び情報処理装置を提供するものである。 The present invention has been made in view of the above, and is an information processing monitoring apparatus, an information processing monitoring method, a monitoring program, a recording medium, and an information processing monitoring apparatus capable of preventing unfair information processing caused by CPU mode switching. An information processing apparatus is provided.
本発明に係る情報処理監視装置は、CPUモードをリアルモードに切替えるためのアクセスの発行を検出する監視手段と、前記OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段とを備えたものである。 An information processing monitoring apparatus according to the present invention includes a monitoring unit that detects issuance of an access for switching a CPU mode to a real mode, and an invalidation process that invalidates an access operation for the access detected after the OS is booted Means.
また、本発明に係る監視プログラムは、CPUモードをリアルモードに切替えるためのアクセスの発行を検出する監視手段、OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段、として情報処理装置を機能させるものである。 The monitoring program according to the present invention includes a monitoring unit that detects issuance of an access for switching the CPU mode to the real mode, an invalidation processing unit that invalidates an access operation for the access detected after the OS is booted, As a result, the information processing apparatus functions.
また、本発明に係る情報処理監視方法は、CPUモードをリアルモードに切替えるためのアクセスの発行を検出する監視ステップと、OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効ステップとを備えたものである。 In addition, the information processing monitoring method according to the present invention includes a monitoring step for detecting issuance of access for switching the CPU mode to the real mode, and invalidation for invalidating an access operation for the access detected after the OS is booted. And a step.
また、本発明に係る記録媒体は、CPUモードをリアルモードに切替えるためのアクセスの発行を検出する監視手段、OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段、として情報処理装置を機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体である。 Further, the recording medium according to the present invention includes a monitoring unit that detects issuance of access for switching the CPU mode to the real mode, an invalid processing unit that invalidates an access operation for the access detected after the OS is booted, As a computer-readable recording medium on which a program for causing the information processing apparatus to function is recorded.
また、本発明に係る情報処理装置は、OSがブートされる主メモリと、主メモリ上にブートされたOSを実行するCPUと、請求項1〜4のいずれかに記載の情報処理監視装置とを備えたものである。 An information processing apparatus according to the present invention includes a main memory in which an OS is booted, a CPU that executes the OS booted on the main memory, and the information processing monitoring apparatus according to claim 1. It is equipped with.
CPUは、OSをアーキテクチャーとしてリアルモードで起動し、次いでプロテクトモードを経て、さらにより上位のビットモードに遷移して起動を終了する。起動後のOSは必要に応じてCPUモードを切り換えて情報処理を実行する。CPUモードが特定のモードに切り替えられて、例えばリアルモードで不当な実行コードが発行され、OSに識別されることなくレジスタの内容、環境設定値が不当に書き換えられる虞がある。そこで、CPUモードをリアルモードに切替えるためのアクセスである実行コードの発行を、OSのブート後に検出したときは、前記アクセスは不当行為につながるものとしてに、アクセス動作を無効にするようにしている。これによって、CPUモードのリアルモードへの切替えを無効にすることで、リアルモードを利用することによる不当な情報処理を未然に抑止することができる。 The CPU starts up in the real mode using the OS as an architecture, then goes through the protect mode, and then transitions to a higher bit mode to finish the startup. After starting up, the OS switches the CPU mode as necessary to execute information processing. When the CPU mode is switched to a specific mode, for example, an illegal execution code is issued in the real mode, and there is a possibility that the contents of registers and environment setting values may be illegally rewritten without being identified by the OS. Therefore, when the issuance of an execution code, which is an access for switching the CPU mode to the real mode, is detected after the booting of the OS, the access is invalidated while the access leads to an illegal act. . Thus, by invalidating the switching of the CPU mode to the real mode, it is possible to prevent unauthorized information processing by using the real mode.
また、監視モジュールをOSよりも高い特権レベルで主メモリにロードする監視モジュールロード手段を備え、前記監視モジュールは、前記監視手段及び前記無効処理手段を含むことを特徴とする。この構成によれば、OSが発行するCPUモードをリアルモードに切替えるためのアクセスを確実に検出することが可能となる。 In addition, a monitoring module loading unit that loads the monitoring module into the main memory at a privilege level higher than that of the OS is provided, and the monitoring module includes the monitoring unit and the invalidation processing unit. According to this configuration, it is possible to reliably detect access for switching the CPU mode issued by the OS to the real mode.
また、前記アクセスは、CPUモードをプロテクトモードからリアルモードへ切替える実行コードである。この構成によれば、不当動作につながる動作を未然に防止することが可能となる。 The access is an execution code for switching the CPU mode from the protected mode to the real mode. According to this configuration, it is possible to prevent an operation that leads to an inappropriate operation.
また、前記監視手段は、CPUモードが64ビットモードから32ビットのプロテクトモードモードに切替えられた状態で、前記プロテクトモードから前記リアルモードへ切替える実行コードの発行を検出することを特徴とする。この構成によれば、CPUモードが64ビットモードから32ビットのプロテクトモードモードに切替えられた、次のアクセスであるプロテクトモードから前記リアルモードへの切替えを検出するので、より素早く不当動作を未然防止することが可能となる。 The monitoring means may detect the issuance of an execution code for switching from the protect mode to the real mode in a state where the CPU mode is switched from the 64-bit mode to the 32-bit protect mode mode. According to this configuration, since the CPU mode is switched from the 64-bit mode to the 32-bit protect mode mode and the next access is switched from the protect mode to the real mode, the unauthorized operation can be prevented more quickly. It becomes possible to do.
また、前記アクセスは、ページテーブルを無効にする実行コードである。この構成によれば、正当な動作としてはあり得ない、例外的な処理であって、不当動作の温床的なアクセスとなり得ることから、かかる実行コードを無効とすることで効果的な不当動作防止が図れる。 The access is an execution code that invalidates the page table. According to this configuration, since it is an exceptional process that is not possible as a legitimate operation and can be a hotbed access of an illegal operation, it is possible to effectively prevent illegal operation by invalidating the execution code. Can be planned.
本発明によれば、CPUモードのリアルモードへの切替えを無効にすることで、リアルモードを利用することによる不当な情報処理を未然に抑止することができる。 According to the present invention, by invalidating the switching of the CPU mode to the real mode, unauthorized information processing by using the real mode can be prevented in advance.
図1は、本発明に係る情報処理装置の一実施形態を示す概要構成図である。本発明が適用される情報処理装置100としては、汎用パーソナルコンピュータ、コンピュータを内蔵するサーバ装置、携行用の情報処理端末等、更にはネットワークを介して種々の目的で情報通信を行う機能を備えた各種の情報処理装置を含む。
FIG. 1 is a schematic configuration diagram showing an embodiment of an information processing apparatus according to the present invention. The
情報処理装置100は、マイクロコンピュタで構成され、プロセッサとしてのCPU10及びチップセット1を備える。CPU10は、バスBAを介して、プログラムであるBIOS(Basic Input/Output System)を格納するフラッシュROM21、補助記憶装置としてのハードディスクドライブ(HDD:Hard Disc Drive)22、主メモリとしてのRAM(Random Access Memory)3、入力部41及び出力部42と接続されている。
The
HDD22は、各種プログラム、ファイル及び必要なデータ類を格納する。HDD22は、複数のパーティションに分割されており、通常、例えばwindows(登録商標)のようなオペレーティングシステム(OS)のプログラム、及び当該OS下で動作する各種アプリケーションプログラム(APP)は、場所(パス)としてCドライブ領域に格納されている。また、通常、各種APPで利用(アクセス)可能なデータファイル等は、パスとしてDドライブ領域に格納される。
The
RAM3は、情報処理装置100が起動する際に、フラッシュROM21に格納されているBIOSやHDD22に格納されているプログラム等がロードされると共に、処理途中の情報が一時的に格納される。情報処理装置100は、HDD22に格納されているプログラムファイル、データファイル等がRAM3にロードされ、CPU10によって実行されることで、文字通りの情報処理の他、必要に応じて、文書及び図形の作成や編集機能、情報通信、ブラウザ機能、電子決済、その他の種々の処理機能を実行する。
When the
入力部41は、テンキー等を備えたキーボードやマウス、又はタッチパネル等を含み、所要の情報の入力や処理の指示を行うものである。出力部42は、画像を表示する表示部が想定される。なお、出力部42としては、プリンタ部やインターネット等のネットワークに接続して情報の授受を行う通信部等でもよく、更にこれらが併設されたものでもよい。
The
図2は、RAM3のメモリマップ及びチップセット1を示している。図2は、フラッシュROM21に格納されているBIOS211、HDD22に格納されているOS5、OS5の環境下で動作する各種のアプリケーションプログラムAPP1,APP2,…、HDD22のファイルシステム(NTFSやFAT)外に格納されている動作監視部6としての監視モジュールがRAM3に読み出された状態の一例を示している。アプリケーションプログラムAPP1,APP2,…は、特権レベル(リングR=3)のAPP領域31に展開される。なお、API(Application Programming Interface)もAPP領域31内の所定領域に展開される。なお、APIとは、複数のプログラムが共通に利用できる種々の機能(ソフトウェア)の呼び出し時の手順やデータ形式などを定めた仕様をいう。
FIG. 2 shows a memory map of the
OS5は、特権レベル(リングR=2)のカーネル領域32に展開される。システムテーブル51は、OSを動作させるものである。システムテーブル51は、CPUモードに対応して準備されるもので、ブート後の状態で、例えば64ビットモードでは、OS5を動作させるための、対応するGDT(Global Descriptor Table)511、IDT(InterruptDescriptor Table)512、TSS(Task State Segment)513、及びGDT511からのリニアアドレスを物理アドレスに変換するPTE(Page Table Entry)514等を含む。動作監視部6は、特権レベル(リングR=0)の監視処理領域33に展開される。なお、図2では示していないが、動作監視部6を動作させるためのシステムテーブルが監視処理領域33に展開される。
The OS 5 is expanded in the
なお、OS5は、リングR=1として領域32に展開されてもよい。動作監視部6の特権レベルをOS5に対して小さいリング値に設定することで、OS5の上位で、すなわち監視の下で動作させることが可能となる。
The OS 5 may be deployed in the
チップセット1は、CPU10の動作及び制御に必要とされる各種の環境設定値等が設定されるレジスタ群12を含む。レジスタ群12は、現在のCPU10の状態を表すフラグレジスタやMSR(Model Specific Register)、データ格納用の汎用レジスタの他、メモリのアドレス指定等に関係するインデックスレジスタや特殊レジスタ、またメモリ管理方式に関係するセグメントレジスタCS等を含む。レジスタ群12には、さらにコントロールレジスタ(CR0,CR4,CR3)、デバッグレジスタ(DR0〜DR7)、MSR(IA32E_EFERなど)、及びGDTR、IDTR、LDTRに格納されるCPU10の環境設定値、MSRの環境設定値を含むことができる。また、他の環境設定値として、OSがリアルモードの時、ソフトウェア割込みを使用してBIOS Functionを使用するBIOSジャンプ命令の環境設定値がある。このBIOS Functionの改ざんや不正使用の防止のため、後述するように起動後におけるリアルモードの割込みをフックする。
The chip set 1 includes a
なお、RAM3への各プログラムファイルの展開は、例えば以下のように、起動に際して行われる。図3を参照して情報処理装置100の起動処理について説明する。まず、電源が投入されると、フラッシュROM21から、16ビットのリアルモードのBIOS211がRAM3の0〜1MBiteの領域34にロードされ、起動される(ステップS1)。次いで、利用可能な周辺機器の初期化を行うPOST(Power On Self Test)処理が実行される(ステップS3)。
Note that the development of each program file in the
続いて、動作監視部6である監視モジュールの領域33へのロード処理が実行される(ステップS5)。まず、BIOS211によってHDD22の先頭セクタからMBR(Master Boot Record)がRAM3にロードされ、次いでCPU10の制御がMBRに渡されて、MBRによって、HDD22のアクティブなパーティションテーブルに予め格納されている、監視モジュールロード手段である専用ローダ60がRAM3にロードされる。この専用ローダによって一時的なGDTが領域34に作成され、このGDTによって領域33に対して特権レベルがリングR=0に設定され、この状態で、HDD22のファイルスシステム外から、まず16ビットのリアルモードから起動し、公知のようにアンリアルモードを利用して動作監視部6の監視モジュールが領域33にロードされる。その後、専用ローダ60は、32ビットのプロテクトモードに遷移し、監視モジュールを実行する。監視モジュールは、さらにIA32e64ビットモードに遷移してからOSを起動する。(なお、監視モジュールは、32ビット状態でも所定の操作で動作可能)
次いで、動作監視部6の監視モジュールにより、監視環境の設定処理、すなわちシステムテーブル、割込ハンドラの作成等(共に図略)が行われる。なお、CPUモードとは、CPU10が扱うビット幅が16ビット,32ビット,64ビットである各モードをいう。
Subsequently, a load process to the
Next, the monitoring module of the operation monitoring unit 6 performs monitoring environment setting processing, that is, creation of a system table, an interrupt handler, and the like (both not shown). The CPU mode refers to each mode in which the bit width handled by the
そして、CPU10の各モードでの動作監視部6のロード処理が終了すると(ステップS7)、CPU10の制御が動作監視部6に渡され、以降の監視動作及びOS5のブート処理に移行する(ステップS9)。
When the loading process of the operation monitoring unit 6 in each mode of the
まず、動作監視部6内に設定されたブートローダ(OSローダ)が起動され(ステップS11)、このブートローダによって領域32へのOS5のブート処理が行われる(ステップS13)。
First, a boot loader (OS loader) set in the operation monitoring unit 6 is activated (step S11), and boot processing of the OS 5 to the
OS5のブート処理では、領域32に特権レベルとしてリングR=3の設定を行って、まず16ビットのリアルモードでのOS5が領域32にロードされ、続いて特権レベルとしてリングR=2を領域32に設定して、32ビットのプロテクトモードのOS5、さらにIA32e64ビットモードのOS5がロードされる。また、各CPUモードでのシステムテーブル(図2では最後のシステムテーブル51が示されている。)が作成される。このようにしてIA32e64ビットモードのOSのブートが終了したと判断されると(ステップS15)、その後、公知のように、OS5内のAPローダによって、必要なアプリケーションプログラムAPP1,APP2,…が領域31に特権レベルとしてリングR=3でロードされる(ステップS17)。
In the boot process of the OS 5, the ring R = 3 is set as the privilege level in the
また、動作監視部6の監視モジュールは、OS5のブート終了を受けて、例えばOSブート開始後の最初のページフォルトをトリガとして、CPU10のモードの切替えに対する監視(OSブート後)を開始する。動作監視部6の監視モジュールは、OSのブート終了までは、CPU10のモードが一時的にリアルモードに切替えられることを許可する一方、OS5のブート終了後は、図5で説明するように、CPU10のモードがリアルモードに切替えられることを、一般保護例外(#GP)等を利用してフックすることで無効にしている。
In addition, the monitoring module of the operation monitoring unit 6 receives the end of booting of the OS 5 and starts monitoring the mode switching of the CPU 10 (after the OS booting) using, for example, the first page fault after starting the OS booting as a trigger. The monitoring module of the operation monitoring unit 6 allows the mode of the
図2に戻って、CPU10は、動作監視部6である監視モジュールがHDD22から読み出されて、実行されることで、プロセス監視部61、結果処理部62及び規約情報部63として機能する。なお、以降では、プロセス監視部61の動作説明は、OSブート後の監視に関するものとする。
Returning to FIG. 2, the
プロセス監視部61は、OS5によってHDD22からRAM3に読み出された実行予定のアプリケーションプログラムAPP(例えばAPP1)に対して、後述するように監視を行う。より具体的には、プロセス監視部61は、チップセット1のレジスタ群12の特定のレジスタの環境設定値を書替える特定の実行コード(API及びシスコール含む)の発行を少なくとも監視する。例えば、CPU10のモードを制御するレジスタに対して、CPUモードをリアルモードに切替えるための環境設定値を設定する実行コードを監視対象として含む。かかる環境設定値の書替えについては後述する。監視対象の実行コードは、例えば規約情報部63に格納されている。
The
結果処理部62は、監視対象の実行コードが実行されようとする時、当該実行コードの実行を無効(動作停止処理、禁止処理また正当内容への書替処理等)にする処理を行う。
When the execution target code to be monitored is about to be executed, the
実行コードの実行手順を説明する図4に示すように、例えばユーザによって実行が指示された実行プログラムの実行が開始されると、実行プログラムを構成している各実行コードが順次実行される。実行コードは、オペコードとそのパラメータとから構成されており、順次、CPU10のマイクロコード11に命令セットとしてセットされる。動作監視部6は、監視対象の実行コードについては、当該実行コードがマイクロコード11にセットされた後、実行直前に、動作を中断し、かつNTDLL.DLLによって、セットされた内容(実行コード、パラメータ)を取り込み、結果処理部62によって当該実行コードの実行を無効(動作停止処理、禁止処理また正当内容への書替処理等)にする処理を行う。なお、本実施形態では、OS5はリングR=2であるので、API,Syscallなどの環境設定値への書替えアクセス(実行コード)は特権違反となり、フック対象とされる。
As shown in FIG. 4 for explaining the execution procedure of the execution code, for example, when the execution of the execution program instructed to be executed by the user is started, the execution codes constituting the execution program are sequentially executed. The execution code is composed of an operation code and its parameters, and is sequentially set as an instruction set in the
次に、図5の監視モジュールによる監視動作(OSブート後)について説明する。ここでは、監視対象のアクセスは、CPU10のモードをリアルモードに切替えるための実行コードであり、かかる実行コードを無効にするものである。
Next, a monitoring operation (after OS boot) by the monitoring module of FIG. 5 will be described. Here, the monitored access is an execution code for switching the mode of the
CPU10は、起動(電源オンやリブート)時に、16ビットのリアルモードでBIOS211がロードされ、起動処理を実行する。OS5も同様に、ブートローダによって、ブート時には16ビットのリアルモードからブートが開始され、32ビットプロテクトモード、IA32e64ビットモードの順で切り替わってブートが行われ、逆の場合には、ブート時の逆の手順を踏むことで、IA32e64ビットモード、32ビットプロテクトモード、16ビットリアルモードの順で切り替わるようになっている。
The
通常、CPU10は、IA32e64ビットモードか、32ビットのプロテクトモードで動作しており、かかる64ビットと32ビットの間のモード切替は、容易に行われるようにされている。例えば、IA32e64ビットモードから32ビットプロテクトモードへの切替えはセグメントレジスタCSを32ビットコードセグメントに切替えて、32ビットプログラムに制御を移すことで可能となる。また、所定の手順を踏むことで、32ビットプロテクトモードと16ビットリアルモードの間の切替えも可能である。なお、OS5は、16ビットプログラムがリングR=0で動作するため、CPU10のモードが16ビットリアルモードの状態での動作、16ビットリアルモードへの遷移過程、IA32e64ビットへの戻り遷移過程の動作を認識できない。しかも、RAM3の領域34である16ビットリアルモード領域は、元々BIOS211等の格納領域であり、通常使用することはないことから、OS5のブート後は、リアルモードに移行することは通常では行わない。
Normally, the
一方、領域34でのプログラムの挙動は、OS5で認識されないことから、不当な処理(データの削除、改竄、漏洩など)、乃至は不当なプログラムファイルを仕込む(例えば、BIOSに不当なプログラムを感染させる)ことが可能となる。従って、通常のCPUモードであるIA32e64ビットモードで、バグ等のセキュリティホールを利用する仕掛けを種々の箇所に設けて長期間待機し、その後にCPU10の制御を奪い取り、リアルモードへ移行しようとする悪意の試みがある。この種の待機型の悪意あるプログラム乃至はその実行の多くは、他のアンチウイルスソフトウエアで検知され、また無効化可能である。一方、CPU10のモードの切替えによる16ビットリアルモードへの移行は、待機型とは異なり、所定の処理を経ることで可能となる。
On the other hand, since the behavior of the program in the
図5において、監視モジュールは、まず、OS5側のCPU10のモードが、IA32e64ビットモードから32ビットプロテクトモードへ変更されたか否かの判断を行う(ステップS21)。CPU10のモードが、IA32e64ビットモードのままであれば、変更なしとして、同様の判断処理が繰り返される。一方、CPU10のモードがIA32e64ビットモードから32ビットプロテクトモードへ変更されたのであれば、監視モジュールは、監視モジュール側のCPU10のモードを、同様に、IA32e64ビットモードから32ビットプロテクトモードへ変更する(ステップS23)。
In FIG. 5, the monitoring module first determines whether or not the mode of the
次いで、監視モジュールは、OS5側のCPUモードを16ビットリアルモードに切替える実行コード(アクセス)の有無を判断する(ステップS25)。具体的には、32ビットプロテクトモードにおいて、マイクロコード11で一時中断される順次の実行コードが、CPU10を制御するためのコントロールレジスタCR0のページングフラグPGをオフにするアクセスの実行コードか否かの判断が行われ、そうであれば、当該アクセスを無効にする処理が実行される(ステップS27)。一方、そうでない場合には、ステップS27がスキップされ、すなわち当該実行コードはそのまま実行が許可される。
Next, the monitoring module determines whether or not there is an execution code (access) for switching the CPU mode on the OS 5 side to the 16-bit real mode (step S25). Specifically, in the 32-bit protect mode, whether or not the sequential execution code temporarily suspended by the
次いで、OS5側のCPU10のモードが32ビットプロテクトモードからIA32e64ビットモードに戻ったか否かが判断され(ステップS29)、戻ったのであれば、監視モジュール側のCPU10のモードを32ビットプロテクトモードからIA32e64ビットモードに戻してステップS21にリターンする。一方、CPUモードが戻っていなければ、ステップS25に戻って、CPUモードを16ビットリアルモードに切替える実行コード(アクセス)に対する監視と対応処理が繰り返される(ステップS25〜ステップS29)。
Next, it is determined whether or not the mode of the
なお、前記実施形態では、リアルモードへの切替のためのアクセスを無効とする方法として、コントロールレジスタCR0のページングフラグをオフ“0”にする段階のアクセスを監視したが、これに限定されず、かかる監視に続けて手順手続ルール(規約情報部63に登録)として、ページテーブルを32ビットプロテクトモード用に変換するアクセスとで、更にはIA32e64ビットモードイネーブルフラグをオフ“0”にするアクセスを含めた態様としてもよい。このようにして、IA32e64ビットモードから32ビットプロテクトモードへの遷移の間にあるIA32eコンパチ32ビットモードへの遷移処理を超えて、通常ではあり得ないような32ビットプロテクトモードへの移行を監視することが可能となる。さらに、CPUモードをリアルモードに切替えるためのアクセスとして、32ビットプロテクトモードから16ビットリアルモードへ遷移するアクセスも含めて手順手続ルールで監視してもよい。例えば、32ビットプロテクトモード用のIDTとGDTとをロードするアクセスを監視対象に含め、さらにコードセグメント(CS)をプロテクトモード用に移行するアクセス、TSSをプロテクトモードに移行するアクセス、コントロールレジスタCR0のページングフラグPG及びプロテクトモードフラグPEをオフ“0”にするアクセスをさらに監視対象に含めることができる。 In the embodiment, as a method of invalidating the access for switching to the real mode, the access at the stage where the paging flag of the control register CR0 is turned off “0” is monitored. However, the present invention is not limited to this. Subsequent to such monitoring, as a procedure procedure rule (registered in the contract information section 63), an access for converting the page table for the 32-bit protect mode and an access for turning off the IA32e 64-bit mode enable flag to “0” are included. It is good also as an aspect. In this manner, the transition to the IA32e compatible 32-bit mode during the transition from the IA32e 64-bit mode to the 32-bit protect mode is monitored, and the transition to the 32-bit protect mode which cannot be performed normally is monitored. It becomes possible. Further, as an access for switching the CPU mode to the real mode, monitoring may be performed according to the procedural procedure rule including an access to transition from the 32-bit protect mode to the 16-bit real mode. For example, the access to load the IDT and GDT for 32-bit protect mode is included in the monitoring target, the access to shift the code segment (CS) to protect mode, the access to shift TSS to protect mode, the control register CR0 An access to turn off the paging flag PG and the protect mode flag PE to “0” can be further included in the monitoring target.
なお、前記実施形態は、仮想化支援技術(VT−x)未使用環境の態様で説明したが、これに限定されず、仮想化支援技術(VT−x)使用環境の態様への適用も可能である。この場合、動作監視部6の監視モジュールをリングR=−1、OS5をリングR=0、APPをリングR=3と設定すればよい。この場合、コントロールレジスタCR0の変更のためのアクセスである実行コードは、規約情報部63にフック対象として登録しておけばよい。実行コードは、例外、違反あるいは割込等の発生をトリガーとするいわゆるフック処理、またAPI及びシスコールをトリガーに含むことができる。
In addition, although the said embodiment demonstrated in the aspect of the virtualization assistance technology (VT-x) unused environment, it is not limited to this, The application to the aspect of a virtualization assistance technology (VT-x) usage environment is also possible. It is. In this case, the monitoring module of the operation monitoring unit 6 may be set as ring R = -1, OS 5 as ring R = 0, and APP as ring R = 3. In this case, an execution code that is an access for changing the control register CR0 may be registered in the
より具体的には、仮想化支援技術(VT−x)使用環境では、前記監視対象の実行コードをフォールトイベントとして登録してフック対象とし、CPU10の制御をVMM(ホストソフトウェア)に渡してVMXrootモードとするExit命令と、逆にCPU10の制御をゲストOS側に渡してVMXnon−rootモードとするEntry命令とを利用して監視と対応処理とを行うことが可能となる。それぞれの態様において、かかるアクセスを監視することが可能となる。なお、前記実施形態では、CPU10のモードを、OS5側をIA32e64ビットモードから32ビットプロテクトモードへ変更するのに対応させて、監視モジュール側も同様にCPUモード変更処理を行ったが、仮想化支援技術(VT−x)使用環境では、監視モジュール側はIA32e64ビットモードのままでよい。
More specifically, in the environment where the virtualization support technology (VT-x) is used, the execution code to be monitored is registered as a fault event to be a hook target, and the control of the
100 情報処理装置
1 チップセット
10 CPU
12 レジスタ群
22 HDD
3 RAM
5 OS
60 専用ローダ(監視モジュールロード手段)
6 動作監視部(監視モジュール)
61 プロセス監視部(監視手段)
62 結果処理部(無効処理手段)
63 規約情報部(監視手段)
DESCRIPTION OF
12
3 RAM
5 OS
60 Dedicated loader (monitoring module loading means)
6 Operation monitoring unit (monitoring module)
61 Process monitoring unit (monitoring means)
62 Result processing unit (invalid processing means)
63 Contract information section (monitoring means)
Claims (9)
前記OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段とを備えた情報処理監視装置。 Monitoring means for detecting issuance of access for switching the CPU mode to the real mode;
An information processing monitoring apparatus comprising invalidation processing means for invalidating an access operation for the access detected after the OS is booted.
前記監視モジュールは、前記監視手段及び前記無効処理手段を含むことを特徴とする請求項1記載の情報処理監視装置。 A monitoring module loading means for loading the monitoring module into the main memory with a higher privilege level than the OS;
The information processing monitoring apparatus according to claim 1, wherein the monitoring module includes the monitoring unit and the invalidation processing unit.
OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段、として情報処理装置を機能させる監視プログラム。 Monitoring means for detecting issuance of access for switching the CPU mode to the real mode;
A monitoring program that causes an information processing apparatus to function as invalid processing means for invalidating an access operation with respect to the access detected after the OS is booted.
OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効ステップとを備えた情報処理監視方法。 A monitoring step for detecting issuance of access for switching the CPU mode to the real mode;
An information processing monitoring method comprising: an invalid step for invalidating an access operation for the access detected after the OS is booted.
OSのブート後に検出した前記アクセスに対して、アクセス動作を無効にする無効処理手段、として情報処理装置を機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。 Monitoring means for detecting issuance of access for switching the CPU mode to the real mode;
A computer-readable recording medium storing a program that causes an information processing apparatus to function as invalid processing means for invalidating an access operation with respect to the access detected after the OS is booted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016166689A JP2018036695A (en) | 2016-08-29 | 2016-08-29 | Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016166689A JP2018036695A (en) | 2016-08-29 | 2016-08-29 | Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018036695A true JP2018036695A (en) | 2018-03-08 |
Family
ID=61566398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016166689A Pending JP2018036695A (en) | 2016-08-29 | 2016-08-29 | Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018036695A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021252141A1 (en) * | 2020-06-10 | 2021-12-16 | Qualcomm Incorporated | Security enhancement in hierarchical protection domains |
-
2016
- 2016-08-29 JP JP2016166689A patent/JP2018036695A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021252141A1 (en) * | 2020-06-10 | 2021-12-16 | Qualcomm Incorporated | Security enhancement in hierarchical protection domains |
US11556346B2 (en) | 2020-06-10 | 2023-01-17 | Qualcomm Incorporated | Security enhancement in hierarchical protection domains |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5512610B2 (en) | Method, system, and machine-readable storage medium for permitting or blocking access to memory from non-firmware agent | |
CN103718165B (en) | BIOS flash memory attack protection and notice | |
US8321931B2 (en) | Method and apparatus for sequential hypervisor invocation | |
CN100533385C (en) | A method and device for providing system integrity and legacy environment emulation | |
US5944821A (en) | Secure software registration and integrity assessment in a computer system | |
JP6370098B2 (en) | Information processing apparatus, information processing monitoring method, program, and recording medium | |
US20140115316A1 (en) | Boot loading of secure operating system from external device | |
JP6054908B2 (en) | Method for repairing variable sets, computer program and computer | |
US20090119748A1 (en) | System management mode isolation in firmware | |
CN112818327B (en) | TrustZone-based user-level code and data security and credibility protection method and device | |
EP3627368B1 (en) | Auxiliary memory having independent recovery area, and device applied with same | |
JP2002007214A (en) | Information processor and rewrite control method of nonvolatile storage device | |
WO2017172190A1 (en) | Trusted execution of called function | |
JP2022503899A (en) | Validating the stack pointer | |
US20090300307A1 (en) | Protection and security provisioning using on-the-fly virtualization | |
CN113448682A (en) | Virtual machine monitor loading method and device and electronic equipment | |
JP2015166952A (en) | Information processor, information processing monitoring method, program and recording medium | |
KR20170060815A (en) | A Electronic Device And Method For Protecting The Kernel Space of the Memory | |
KR102613643B1 (en) | exception handling | |
KR101013419B1 (en) | Guarding apparatus and method for system | |
JP2018036695A (en) | Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus | |
WO2018235858A1 (en) | Information processing monitoring device, information processing monitoring method, program, recording medium and information processing device | |
US11989576B2 (en) | Execution of code in system memory | |
US20240362049A1 (en) | Using virtual machine privilege levels to control write access to kernel memory in a virtual machine | |
Zhang et al. | Techniques of user-mode detecting system service descriptor table |