JP2008209990A - Invalid process detection apparatus - Google Patents

Invalid process detection apparatus Download PDF

Info

Publication number
JP2008209990A
JP2008209990A JP2007043608A JP2007043608A JP2008209990A JP 2008209990 A JP2008209990 A JP 2008209990A JP 2007043608 A JP2007043608 A JP 2007043608A JP 2007043608 A JP2007043608 A JP 2007043608A JP 2008209990 A JP2008209990 A JP 2008209990A
Authority
JP
Japan
Prior art keywords
unauthorized
information
save area
range
memory
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
JP2007043608A
Other languages
Japanese (ja)
Inventor
Hiroshi Sugita
浩 杉田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007043608A priority Critical patent/JP2008209990A/en
Publication of JP2008209990A publication Critical patent/JP2008209990A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an invalid process detection apparatus facilitating identification of an invalid process. <P>SOLUTION: The invalid process detection apparatus temporarily stores, in a storage device 31, register information transmitted from a memory 20 to a CPU 10 (step S2). This information on a signal is determined by steps S3, S4, S5. Thereby, an invalid process is detected and invalid information thereon is also written into an invalid process information area (step S8). Not only the invalid process is identified, but also invalid information can be detected, which is thus advantageous to system debugging processing significantly. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数の割込処理が実行されるリアルタイムOSにおける不正プロセスを検出する不正プロセス検出装置に関する。   The present invention relates to an unauthorized process detection device that detects an unauthorized process in a real-time OS in which a plurality of interrupt processes are executed.

従来、複数のプロセス(タスク)をリアルタイムに実行できるリアルタイムOSは、制御系システム、コンピュータ等のワンチップマイコンに多く使用されており、近年、これに対する要求も高まる傾向にある。さらに、このリアルタイムOSは、種々様々なデータ等を扱うマルチメディアシステムに対応することも要求されている。   Conventionally, a real-time OS capable of executing a plurality of processes (tasks) in real time has been widely used in one-chip microcomputers such as control systems and computers, and in recent years, there has been a growing demand for such OSs. Furthermore, this real-time OS is also required to be compatible with a multimedia system that handles various data.

リアルタイムOSの具体的な動作は、CPUがプログラムの実行中に新しいプログラムが割込処理が入ると、実行途中のプログラムのアドレスと処理結果等の値をメモリの退避領域(レジスタ)に退避させる。このレジスタには、計算用等に使える汎用レジスタと使用目的が決まっている専用レジスタ、プログラムカウンタ、フラグレジスタ、スタックポインタ等がある。例えば、プログラムカウンタには、次にどのアドレス(旧プログラムの実行途中のアドレスの次のアドレス)の命令を読み込むかが記憶され、汎用レジスタには、旧プログラムの実行途中の処理結果が記憶される。新プログラムが実行された後、退避領域に書き込まれたメモリ番地と処理結果を読み出し、この番地と処理結果から旧プログラムの処理を実行する。   As for the specific operation of the real-time OS, when a new program is interrupted while the CPU is executing the program, the address of the program being executed and the value of the processing result are saved in a save area (register) of the memory. These registers include general-purpose registers that can be used for calculation and dedicated registers, program counters, flag registers, stack pointers, and the like whose purpose of use has been determined. For example, the program counter stores which address (the address next to the address during execution of the old program) is read next, and the general-purpose register stores the processing result during execution of the old program. . After the new program is executed, the memory address and processing result written in the save area are read out, and the processing of the old program is executed from this address and processing result.

一方、システムの開発にあっては、CPUにICE(In Circuit Emulator)を接続することにより外部バスを監視し、不正アクセス等のバグを検出するデバッグ処理を行っていた。しかし、昨今の組み込みシステムに使用されるCPUは、高速動作と周辺デバイスを同一パッケージに取り込む関係からICEが接続できなくなってきている。また、その代用として、デバック処理を行う方法としてJTAGシステム(CPUに内蔵されたデバッグ機能を利用したエミュレータ)がある。しかし、このJTAGシステムでは、CPU自体がハングした場合にはCPUの内部情報を読み出すことができない。
このように、リアルタイムOSのシステムでは、バグの検出、つまり不正プロセス(タスク)を特定するのが困難であった。
On the other hand, in the development of a system, an external bus is monitored by connecting an ICE (In Circuit Emulator) to the CPU, and debugging processing is performed to detect bugs such as unauthorized access. However, CPUs used in recent embedded systems have become unable to connect ICE due to the high speed operation and the relationship of taking peripheral devices into the same package. As an alternative, there is a JTAG system (an emulator using a debugging function built in the CPU) as a method for performing a debugging process. However, in this JTAG system, when the CPU itself hangs, the internal information of the CPU cannot be read.
As described above, in the real-time OS system, it is difficult to detect bugs, that is, to identify an unauthorized process (task).

そこで、特許文献1,2に記載されるようなバグ検出装置がある。
文献1には、バス監視装置にアドレス範囲を設定し、このアドレスにアクセスされることを不正として診断する故障診断装置が開示されており、文献2には、スタック領域アドレスの上限と下限を設定し、退避される情報が前記アドレスを超えた際に、スタックオーバーフローとして検出するスタックオーバーフロー検出回路が開示されている。
特開平8−16426号公報 特開平9−198258号公報
Therefore, there is a bug detection device as described in Patent Documents 1 and 2.
Document 1 discloses a failure diagnosis device that sets an address range in the bus monitoring device and diagnoses that access to this address is illegal. Document 2 sets the upper and lower limits of the stack area address. However, a stack overflow detection circuit that detects a stack overflow when the saved information exceeds the address is disclosed.
JP-A-8-16426 Japanese Patent Laid-Open No. 9-198258

前記各文献に記載の装置では、バスの挙動をハード的に監視することは可能であるが、その原因がソフトウェアにある場合、不正アクセスしたプロセスまたは、スタックオーバーフローをしたプロセスを特定することは困難であった。   In the devices described in the above documents, it is possible to monitor the behavior of the bus in hardware, but when the cause is in the software, it is difficult to identify the process that has been illegally accessed or the process that has caused the stack overflow. Met.

本発明は、上述した課題に鑑なみてなされたもので、不正プロセスを容易に特定することのできる不正プロセス検出装置を提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object thereof is to provide an unauthorized process detection device that can easily identify an unauthorized process.

上述した課題を解決するために、請求項1に記載の発明は、複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、プロセスの情報を切り替えるタスクスイッチと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲を設定する退避領域範囲設定手段と、前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、前記情報が前記タスクスイッチによって情報が切り替られていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えたことを特徴とする不正プロセス検出装置を提供することにある。
In order to solve the above-described problem, the invention described in claim 1 is a system in which a real-time OS for executing processing of a plurality of processes by real-time interrupt processing is mounted, and the plurality of processes are In an unauthorized process detection device for a system, comprising: a CPU that executes sequentially; a memory that sequentially stores and stores the process information; and a task switch that switches process information.
The save area range setting means for setting the save area range of the memory, the storage means for temporarily storing information by the process written / read in the save area, and the information is switched by the task switch. A determination unit that determines that the process stored in the storage unit is an unauthorized process when it is determined that the process is not performed and / or the data amount of the process is determined to be greater than or equal to the data amount corresponding to the range of the save area And providing an unauthorized process detection device characterized by comprising:

請求項1に記載の不正プロセス検出装置は、判定手段により、プロセスによる情報がタスクスイッチによって情報が切り替られていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。これにより、不正プロセスを容易に特定することが可能となる。   The unauthorized process detection apparatus according to claim 1, wherein the determination unit determines that the information by the process has not been switched by the task switch, and / or the data amount of the process corresponds to the range of the save area If it is determined that the data amount is exceeded, the process temporarily stored in the storage means is regarded as an unauthorized process. This makes it possible to easily identify an unauthorized process.

請求項2に記載の発明は、複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、前記プロセスの情報を順次退避させて記憶するメモリと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲を設定する退避領域範囲設定手段と、前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、
前記プログラムカウンタに記憶されたアドレスに対応した次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えたことを特徴とする不正プロセス検出装置を提供することにある。
The invention according to claim 2 is a system in which a real-time OS for executing processing of a plurality of processes by interrupt processing in real time is mounted, and a CPU that sequentially executes the plurality of processes, and the CPU In an unauthorized process detection device of a system comprising a program counter for storing an address of a process to be executed next and a memory for sequentially saving and storing the information of the process,
A save area range setting means for setting a range of the save area of the memory; a storage means for temporarily storing information by the process written / read in the save area;
It is determined that information that does not match the process to be executed next corresponding to the address stored in the program counter is written / read to / from the save area, and / or the data amount of the process is saved. To provide an unauthorized process detection device comprising: a determination unit that determines that the process stored in the storage unit is an unauthorized process when it is determined that the amount of data is greater than or equal to the range of the area. It is in.

請求項2に記載の不正プロセス検出装置は、判定手段により、プログラムカウンタに記憶されたアドレスに対応した次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。これにより、不正プロセスを容易に特定することが可能となる。   In the unauthorized process detection apparatus according to claim 2, information that does not match a process to be executed next corresponding to the address stored in the program counter is written to and read from the save area by the determination unit. And / or if it is determined that the data amount of the process is greater than or equal to the data amount corresponding to the range of the save area, the process temporarily stored in the storage means is regarded as an unauthorized process. This makes it possible to easily identify an unauthorized process.

請求項3に記載の発明は、複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、を具備したシステムの不正プロセス検出装置において、
前記メモリの不正アクセスの範囲を設定する不正アクセス範囲設定手段と、前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、前記プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えたことを特徴とする不正プロセス検出装置を提供することにある。
The invention according to claim 3 is a system in which a real-time OS for executing processing of a plurality of processes by interrupt processing in real time is mounted, wherein a CPU that sequentially executes the plurality of processes, In an unauthorized process detection apparatus for a system, comprising: a memory that sequentially saves and stores information; and a program counter that stores an address of a process to be executed next by the CPU.
An unauthorized access range setting means for setting an unauthorized access range of the memory, a storage means for temporarily storing information by the process written to and read from the save area, and an address stored in the program counter are invalid An object of the present invention is to provide an unauthorized process detection apparatus comprising: a determination unit that determines that the process stored in the storage unit is an unauthorized process when the access range is determined.

請求項3に記載の不正プロセス検出装置は、判定手段により、プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。これにより、不正プロセスを容易に特定することが可能となる。   According to another aspect of the present invention, when the determination unit determines that the address stored in the program counter is within the range of unauthorized access, the unauthorized process detection device sets the process temporarily stored in the storage unit as an unauthorized process. This makes it possible to easily identify an unauthorized process.

請求項4に記載の不正プロセス検出装置は、上記記載の不正プロセス検出装置において、前記判定手段によって不正プロセスと判定した場合には、前記記憶手段に記憶されたプロセスの情報を前記メモリに書き込む書込手段を備えたことを特徴とする。   The unauthorized process detection device according to claim 4, wherein in the unauthorized process detection device described above, when the determination unit determines that the process is an unauthorized process, the process information stored in the storage unit is written to the memory. It is characterized by having a fitting means.

請求項5に記載の発明は、複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、プロセスの情報を切り替えるタスクスイッチと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲と不正アクセスの範囲をそれぞれ設定する退避領域範囲設定手段と、前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、前記情報が前記タスクスイッチによって情報が切り替られていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第1の判定手段と、前記プログラムカウンタに記憶されたアドレスに対応した次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第2の判定手段と、前記プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第3の判定手段と、前記各判定手段のいずれかによって不正プロセスと判定した場合には、前記記憶手段に記憶されたプロセスの情報を前記メモリに書き込む書込手段と、を備えたことを特徴とする不正プロセス検出装置を提供することにある。
The invention according to claim 5 is a system in which a real-time OS for executing processing of a plurality of processes by interrupt processing in real time is mounted, and a CPU that sequentially executes the plurality of processes; In an unauthorized process detection device of a system comprising: a memory that sequentially saves and stores information; a task switch that switches process information; and a program counter that stores an address of a process to be executed next by the CPU.
Save area range setting means for setting the save area range and unauthorized access range of the memory; storage means for temporarily storing information by the process written to and read from the save area; and When it is determined that information has not been switched by a task switch and / or the data amount of the process is determined to be greater than or equal to the data amount corresponding to the range of the save area, the process stored in the storage unit is It is determined that information that does not match a first determination unit that is an unauthorized process and a process that is executed next corresponding to an address stored in the program counter is written to or read from the save area; And / or determining that the data amount of the process is greater than or equal to the data amount corresponding to the range of the save area If it is determined that the process stored in the storage unit is an unauthorized process, and the address stored in the program counter is determined to be an unauthorized access range, the process is stored in the storage unit. A third determination unit that sets the process as an unauthorized process; and a writing unit that writes information on the process stored in the storage unit to the memory when any of the determination units determines that the process is an unauthorized process; It is another object of the present invention to provide an unauthorized process detection device characterized by comprising:

請求項5に記載の不正プロセス検出装置は、第1の判定手段により、プロセスによる情報がタスクスイッチによって情報が切り替られていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。第2の判定手段により、プログラムカウンタに記憶された次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。第3の判定手段により、プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、記憶手段に一時的に記憶されたプロセスを不正プロセスとする。これにより、不正プロセスおよびその理由を容易に特定することが可能となる。   The unauthorized process detection apparatus according to claim 5, wherein the first determination unit determines that the information by the process has not been switched by a task switch, and / or the data amount of the process is within a range of the save area If it is determined that the amount of data is equal to or larger than the data amount, the process temporarily stored in the storage means is regarded as an unauthorized process. The second determination means determines that information stored in the program counter that does not match the next process to be executed is written to / read from the save area, and / or the data amount of the process is If it is determined that the amount of data is equal to or greater than the amount corresponding to the range of the save area, the process temporarily stored in the storage unit is determined as an unauthorized process. When the third determination means determines that the address stored in the program counter is within the range of unauthorized access, the process temporarily stored in the storage means is regarded as an unauthorized process. This makes it possible to easily identify the unauthorized process and its reason.

以下、図面を参照して本発明の実施の形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(1) 全体構成
図1は、本発明の実施形態の不正プロセス検出装置を含むシステムの全体構成を示す図である。
システム1は、CPU10と、このCPU10とバス15を介して接続されるメモリ20とから構成されている。このシステム1はワンチップマイコンによって構成されるため、メモリ20は、不揮発性メモリのROMと揮発性メモリのRAM(いずれも図示せず)とからなる。そして、このシステム1はリアルタイムOSを実行するプログラムがメモリ20のプログラム領域に格納されており、外部からの割込処理および定期的な割込処理をリアルタイムに実行する。
メモリ20は、図2に示すメモリマップのように、プログラム領域とプロセススタック領域等の領域に分けられ、プログラム領域には、複数のプログラムが領域毎に格納されており、割込処理を実行する場合には、プログラム退避領域に書き込まれたレジスタから情報を受け、この情報中の要求により対応するプログラムが処理されるようになっている。また、メモリ20には、図示しない不正プロセス情報領域も確保されている。
なお、本実施形態の場合、例えば、プログラム領域のアドレスがaaaa〜nnnn、プロセス退避領域のアドレスがyyyy〜zzzzというように設定される。
(1) Overall Configuration FIG. 1 is a diagram showing an overall configuration of a system including an unauthorized process detection apparatus according to an embodiment of the present invention.
The system 1 includes a CPU 10 and a memory 20 connected to the CPU 10 via a bus 15. Since the system 1 is constituted by a one-chip microcomputer, the memory 20 includes a ROM of a nonvolatile memory and a RAM (none of which is shown) of a volatile memory. In this system 1, a program for executing a real-time OS is stored in the program area of the memory 20, and external interrupt processing and periodic interrupt processing are executed in real time.
The memory 20 is divided into areas such as a program area and a process stack area as shown in the memory map of FIG. 2, and a plurality of programs are stored in the program area for each area, and an interrupt process is executed. In some cases, information is received from a register written in the program saving area, and a corresponding program is processed by a request in this information. In addition, an unauthorized process information area (not shown) is also secured in the memory 20.
In the present embodiment, for example, the program area address is set to aaaa to nnnn, and the process save area address is set to yyyy to zzz.

リアルタイムOSの動作を、図2〜4を参照しつつ説明する。
まず、CPU10は、図2中の左側に示すプログラムシーケンスに沿って、上側のアドレスから順に下側に向けて実行する。
その途中で、矢印aのように割込み(他のプログラムの実行要求)が発生すると、実行されていたプログラムのうち、このアドレスaaaaまでをプロセス0,アドレスaaaa+1移行をプロセス1として区切る。そして、矢印bのように実行中のデータ、戻りアドレス等をプロセス退避領域に書き込む。例えば、図3に示すように、2つのレジスタエリアがメインメモリに設定されている場合には、プロセス0に対してレジスタA,Bが書き込まれる。なお、割込みの信号には、次にCPU10に要求するプログラムのアドレス、各種条件等の情報が含まれている。
The operation of the real-time OS will be described with reference to FIGS.
First, the CPU 10 executes the program from the upper address toward the lower side in accordance with the program sequence shown on the left side in FIG.
In the middle of the process, when an interrupt (execution request for another program) occurs as indicated by an arrow a, the process up to this address aaaa is divided into process 0 and the transition to address aaa + 1 as process 1 in the program being executed. Then, the data being executed, the return address, etc. are written in the process save area as indicated by the arrow b. For example, as shown in FIG. 3, when two register areas are set in the main memory, registers A and B are written to process 0. The interrupt signal includes information such as an address of a program to be requested next to the CPU 10 and various conditions.

さらに、具体的には、プロセス領域に書き込まれた情報(レジスタ)は、図4に示すような構造で書き込まれる。つまり、レジスタは、戻りアドレス(アドレスaaaa+1)を示すプログラムカウンタ、CPU10の演算状態を示すフラグレジスタ(ステータスレジスタ)、割込処理の回数「1」を示すスタックレジスタ、その他の情報(例えば、プロセスをコード化したデータ)を示す汎用レジスタ、以上4個のレジスタからなる。
そして、CPU10が他のプログラムの処理を終了すると、矢印cのように、レジスタのプログラムカウンタの戻りアドレスを参照して、アドレスaaaa+1に戻り、このアドレス移行の処理を実行する。この際、レジスタに書き込まれた各情報に基づき、先のプロセス0の処理を受けた処理が再度実行される。
More specifically, information (register) written in the process area is written in a structure as shown in FIG. That is, the register includes a program counter indicating the return address (address aaa + 1), a flag register (status register) indicating the operation state of the CPU 10, a stack register indicating the number of interrupt processing “1”, and other information (for example, a process) A general-purpose register indicating encoded data), and the above four registers.
When the CPU 10 finishes the processing of the other program, as shown by the arrow c, the return address of the program counter of the register is referred to return to the address aaa + 1, and this address transition processing is executed. At this time, based on each piece of information written in the register, the process that received the process 0 is executed again.

順次、割込みが発生する度に、この処理が繰り返される。また、他のプログラムを実行中にさらに別のプログラムの割込みが発生した場合には、プロセス退避領域には2つ目のレジスタが書き込まれる。この際、レジスタ中のプログラムカウンタには他のプログラムに対応した戻りアドレスが、スタックレジスタには割込処理の回数「2」が書き込まれる。
例えば、図4では、8ビットの記憶エリアを設定した場合を記載しているため、十進数では255までの数字が書き込まれることになる。そして、別のプログラムの処理が終了すると、2個目のレジスタの情報に基づき、他のプログラムに戻って、それ以降の処理を実行する。このように、プロセス退避領域に書き込まれるレジスタは、FIFO(First In First Out)の動作を行うことになる。
This process is repeated every time an interrupt occurs. If another program interrupt occurs while another program is being executed, the second register is written in the process save area. At this time, a return address corresponding to another program is written in the program counter in the register, and the interrupt processing count “2” is written in the stack register.
For example, since FIG. 4 shows a case where an 8-bit storage area is set, numbers up to 255 are written in decimal. When the processing of another program is completed, the processing returns to the other program based on the information in the second register, and the subsequent processing is executed. Thus, the register written in the process save area performs a FIFO (First In First Out) operation.

また、プロセスの情報をレジスタとして書き込む場合、プロセスの処理言語に対応したデータを二進数に書き換えるため、プロセスを切り替える、所謂タスクスイッチを行っている。このタスクスイッチを行ってデータを変換したことも、レジスタ中の例えばフラグレジスタに書き込まれる。   In addition, when writing process information as a register, so-called task switching is performed to switch processes in order to rewrite data corresponding to the processing language of the process into binary numbers. The conversion of data by performing this task switch is also written in, for example, a flag register in the register.

(2) 不正プロセス検出装置
次に、図1に戻って本実施形態による不正プロセス検出装置について説明する。
不正プロセス検出装置30は記憶デバイス31を備えており、バス15を介してCPU10とメモリ20との間に配置されている。不正プロセス検出装置30はバス15の信号を監視するものであり、便宜上図示しているが、このシステムを構成するROM内に格納されている。
記憶デバイス31は情報を一時的に記憶するものであり、便宜上図示しているが、メモリ20内の別領域に確保される。
(2) Unauthorized Process Detection Device Next, returning to FIG. 1, the unauthorized process detection device according to the present embodiment will be described.
The unauthorized process detection device 30 includes a storage device 31 and is disposed between the CPU 10 and the memory 20 via the bus 15. The illegal process detection device 30 monitors the signal on the bus 15 and is shown in the drawing for convenience, but is stored in the ROM constituting this system.
The storage device 31 temporarily stores information and is illustrated for convenience, but is secured in another area in the memory 20.

(3) 処理動作
不正プロセス検出装置30の動作を、図5のフローチャートを参照しつつ説明する。
まず、装置30は、プロセス退避領域のアドレス範囲とプログラム領域の不正アドレスを設定する(ステップS1)。本実施形態の場合、前述した如く、プロセス退避領域のアドレスがyyyy〜zzzzに設定し、不正アドレスは、プログラム領域のアドレスaaaa〜nnnn以外のアドレスに設定する。また、図4に示すように、プロセス退避領域の1つのプロセスに対応したレジスタが4個の場合、そのデータ量は8ビット×4個=32ビットのデータ量となる。
(3) Processing Operation The operation of the unauthorized process detection device 30 will be described with reference to the flowchart of FIG.
First, the apparatus 30 sets the address range of the process save area and the illegal address of the program area (step S1). In the present embodiment, as described above, the process save area address is set to yyyy to zzz, and the illegal address is set to an address other than the program area addresses aaaa to nnnn. Also, as shown in FIG. 4, when there are four registers corresponding to one process in the process save area, the data amount is 8 bits × 4 = 32 bits.

次に、不正プロセス検出装置30はメモリ20からCPU10に送信されるレジスタ情報を記憶デバイス31に一時的に記憶する(ステップS2)。
さらに、不正プロセス検出装置30は、この信号の情報を判定する。つまり、信号がプロセス退避領域から送信されるレジスタの場合には、そのデータ量は32ビットとなるため、まず読み出されたレジスタが32ビット以内であるか否かを判定し、かつタスクスイッチによってレジスタの情報を書き替えているか否かを判定する(ステップS3)。
このステップS3における判定処理で「YES」の場合には、ステップS4以降の処理に移り、「NO」の場合にはCPU10に対して割込処理を発生させ(ステップS7)、記憶デバイス31に記憶されたレジスタを読み出し、メモリ20の不正プロセス情報領域に書き込む(ステップS8)。
Next, the unauthorized process detection device 30 temporarily stores the register information transmitted from the memory 20 to the CPU 10 in the storage device 31 (step S2).
Further, the unauthorized process detection device 30 determines the information of this signal. That is, in the case of a register in which a signal is transmitted from the process save area, the amount of data is 32 bits. Therefore, it is first determined whether or not the read register is within 32 bits, and the task switch It is determined whether or not the register information has been rewritten (step S3).
If “YES” in the determination process in step S 3, the process proceeds to the process after step S 4. If “NO”, the CPU 10 generates an interrupt process (step S 7) and stores it in the storage device 31. The read register is read and written in the illegal process information area of the memory 20 (step S8).

レジスタは、先に説明したように、戻りアドレスを示すプログラムカウンタ、CPU10の演算状態を示すフラグレジスタ(ステータスレジスタ)、割込処理の回数を示すスタックレジスタ、その他の情報(例えば、プロセスをコード化したデータ)を示す汎用レジスタから構成されている。このため、ユーザおよび作業者は、このレジスタ情報を参照することにより、不具合が発生した際のプロセスおよび不正状況を容易に把握することが可能となる。
また、レジスタが不正プロセス情報領域に書き込まれる際には、どのような不正(判定処理)が発生したかが分かるように、その不正をコード化させてレジスタに書き込んでおけば、より正確な不正状況が記憶される。この際、比較的下位ビットしか使用されないスタックレジスタの上位ビットに二値化されたコードを書き込んでもよい。
As described above, the register includes a program counter indicating the return address, a flag register (status register) indicating the operation state of the CPU 10, a stack register indicating the number of interrupt processing, and other information (for example, encoding a process) General-purpose register indicating the data). For this reason, the user and the operator can easily grasp the process and the unauthorized state when the trouble occurs by referring to the register information.
In addition, when a register is written to the illegal process information area, it is more accurate if it is coded and written to the register so that it can be seen what kind of fraud (judgment processing) has occurred. The situation is remembered. At this time, the binarized code may be written in the upper bits of the stack register, which uses only relatively lower bits.

このステップS3における判定処理で否定された場合の不正は、具体的にはプロセス退避領域から読み出されたレジスタがバス15を送信する間に、その信号にノイズ等の不正信号が重畳してビット数が変化したり、バス15を介して送信される別の信号等による不具合である。この判定処理によって、正しいレジスタと間違ってCPU10が認識してしまうのを防止する。   The fraud when the determination in step S3 is negative is specifically a bit in which an illegal signal such as noise is superimposed on the signal while the register read from the process save area transmits the bus 15. This is a malfunction due to a change in the number or another signal transmitted through the bus 15. This determination process prevents the CPU 10 from erroneously recognizing a correct register.

一方、不正プロセス検出装置30はレジスタのプログラムカウンタに記憶された戻りアドレスがプログラム領域のアドレスであるか否か、さらにレジスタのデータ量がプロセス退避領域のレジスタのデータ量(例えば、32ビット)を超えているか否かのオーバーフローを判定する(ステップS4)。   On the other hand, the illegal process detection device 30 determines whether or not the return address stored in the program counter of the register is the address of the program area, and further the data amount of the register indicates the data amount (for example, 32 bits) of the register in the process save area. It is determined whether an overflow has occurred or not (step S4).

このステップS4における判定処理で「NO」の場合には、ステップS5以降の処理に移り、「YES」の場合にはCPU10に対して割込処理を発生させ、ステップS7以降の処理を行う。
このステップS4における判定処理で肯定された場合の不正は、レジスタのプログラムカウンタに記憶された戻りアドレスがプログラム領域のアドレス範囲に存在せず、或いはレジスタに何らかのノイズが重畳されてデータ量がオーバーフローしている場合等がある。特に、戻りアドレスがプログラム領域にないアドレスとなっている場合には、CPU10をハングさせる可能性がある。
If “NO” in the determination process in step S4, the process proceeds to the process after step S5. If “YES”, the CPU 10 generates an interrupt process, and performs the process after step S7.
If the determination in step S4 is affirmative, the illegality is that the return address stored in the program counter of the register does not exist in the address range of the program area, or some noise is superimposed on the register and the data amount overflows. There are cases. In particular, when the return address is an address not in the program area, there is a possibility that the CPU 10 is hung.

さらに、不正プロセス検出装置30はメモリ20からCPU10に送信されるレジスタ情報を判定する。つまり、信号がCPU10から送信されるレジスタの場合には、そのデータ量は32ビットとなるため、まず読み出されたレジスタが32ビット以内であるか否かを判定し、かつタスクスイッチによってレジスタの情報を書き替えているか否かを判定する(ステップS5)。
このステップS5における判定処理で「YES」の場合には、ステップS6に移行して記憶デバイス31に記憶されたレジスタ情報を削除し、ステップS2以降の処理を繰り返す。一方、「NO」の場合にはCPU10に対して割込処理を発生させ、ステップS7以降の処理を行う。
Further, the unauthorized process detection device 30 determines register information transmitted from the memory 20 to the CPU 10. That is, when the signal is a register transmitted from the CPU 10, the amount of data is 32 bits. Therefore, first, it is determined whether or not the read register is within 32 bits, and the task switch sets the register value. It is determined whether or not the information has been rewritten (step S5).
If “YES” in the determination process in step S5, the process proceeds to step S6, the register information stored in the storage device 31 is deleted, and the processes after step S2 are repeated. On the other hand, in the case of “NO”, an interrupt process is generated for the CPU 10, and the processes after step S7 are performed.

(4) 実施形態の効果
上述した如く、本実施形態による不正プロセス検出装置30では、CPU10とメモリ20との間のレジスタを監視し、各種判定を行うことで不正プロセスを検出する。また、レジスタのデータ量およびタスクスイッチを判定することにより、外部からのノイズ等によって不正なレジスタが生成されているか否かが分かる。レジスタ中のプログラムカウントに記憶された戻りアドレスがプログラム領域範囲内のアドレスを指しているか否かを判定することにより、何らかの理由によりレジストの改竄が行われているか否かが分かる。
このように、この不正プロセス検出装置30は、不正プロセスを特定するだけでなく、不正情報も分かるため、システムデバック処理における不正プロセスの特定および不正原因の究明等に大いに役立てることができる。
(4) Effects of the Embodiment As described above, the unauthorized process detection device 30 according to the present embodiment detects the unauthorized process by monitoring the register between the CPU 10 and the memory 20 and making various determinations. Further, by determining the data amount of the register and the task switch, it can be determined whether or not an illegal register is generated due to external noise or the like. By determining whether or not the return address stored in the program count in the register points to an address within the program area range, it can be determined whether or not the resist has been falsified for some reason.
As described above, the unauthorized process detection device 30 not only identifies the unauthorized process but also knows the unauthorized information. Therefore, the unauthorized process detection apparatus 30 can be very useful for identifying the unauthorized process in the system debugging process and investigating the cause of the unauthorized process.

(5) 変形例
なお、前記実施形態では、不正プロセス検出装置30は、CPU10とメモリ20とからなるワンチップマイコン内に組み込まれるようにしたが、バス15の部分に信号を監視するプローブを当てて、このポローブを介して信号を外付けのパソコンで判定処理を実行するようにしてもよい。
(5) Modification In the above embodiment, the unauthorized process detection device 30 is incorporated in a one-chip microcomputer comprising the CPU 10 and the memory 20, but a probe for monitoring signals is applied to the bus 15 portion. Then, the determination process may be executed by a personal computer externally connected to the signal via the probe.

前記実施形態の処理動作では、ステップS3とS5の判定処理を、レジスタのデータ量が32ビット以内であるか否かの判定と、タスクスイッチによってレジスタの情報を書き替えているか否かを判定することを、アンド条件で判定した場合を例示したが、いずれかの判定が「NO」であった場合でも不正として判定するようにしてもよい。さらに、この判定処理は別々に行うようにしてもよい。   In the processing operation of the above-described embodiment, the determination processing in steps S3 and S5 is performed by determining whether or not the data amount of the register is within 32 bits and determining whether or not the register information has been rewritten by the task switch. This is exemplified by the AND condition, but it may be determined as illegal even if any of the determinations is “NO”. Further, this determination process may be performed separately.

本発明の実施形態に係る不正プロセス検出装置を含むシステム構成を示す図である。It is a figure which shows the system configuration | structure containing the unauthorized process detection apparatus which concerns on embodiment of this invention. 同実施形態におけるプログラムシーケンスおよびメモリマップを示す図である。It is a figure which shows the program sequence and memory map in the embodiment. 同実施形態におけるメモリマップの構成を示す図である。It is a figure which shows the structure of the memory map in the embodiment. 同実施形態におけるレジスタの構成を示す図である。It is a figure which shows the structure of the register | resistor in the embodiment. 同実施形態における不正プロセス検出動作を示す流れ図である。It is a flowchart which shows the unauthorized process detection operation | movement in the embodiment.

符号の説明Explanation of symbols

1…システム、10…CPU、15…バス、20…メモリ、30…不正プロセス検出装置、31…記憶デバイス。 DESCRIPTION OF SYMBOLS 1 ... System, 10 ... CPU, 15 ... Bus, 20 ... Memory, 30 ... Unauthorized process detection apparatus, 31 ... Storage device.

Claims (5)

複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、プロセスの情報を切り替えるタスクスイッチと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲を設定する退避領域範囲設定手段と、
前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、
前記情報が前記タスクスイッチによって情報が切り替えられていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えた
ことを特徴とする不正プロセス検出装置。
A system in which a real-time OS for executing processing of a plurality of processes in real time by interrupt processing is mounted, a CPU that sequentially executes the plurality of processes, and a memory that sequentially saves and stores information on the processes And a task switch for switching process information, in the unauthorized process detection device of the system,
Save area range setting means for setting the save area range of the memory;
Storage means for temporarily storing information by the process written to and read from the save area;
When it is determined that the information has not been switched by the task switch and / or the data amount of the process is greater than or equal to the data amount corresponding to the range of the save area, the information is stored in the storage unit An unauthorized process detection apparatus comprising: a determination unit that sets the processed process as an unauthorized process.
複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、前記プロセスの情報を順次退避させて記憶するメモリと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲を設定する退避領域範囲設定手段と、
前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、
前記プログラムカウンタに記憶されたアドレスに対応した次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えた
ことを特徴とする不正プロセス検出装置。
A system in which a real-time OS for executing processing of a plurality of processes by real-time interrupt processing is mounted, and a CPU that sequentially executes the plurality of processes, and an address of a process that is executed next by the CPU In an unauthorized process detection device of a system comprising a program counter for storing and a memory for sequentially saving and storing the information of the process,
Save area range setting means for setting the save area range of the memory;
Storage means for temporarily storing information by the process written to and read from the save area;
It is determined that information that does not match the next process to be executed corresponding to the address stored in the program counter is written to or read from the save area, and / or the data amount of the process is saved An unauthorized process detection apparatus comprising: a determination unit that determines that the process stored in the storage unit is an unauthorized process when it is determined that the amount of data is greater than or equal to the range of the area.
複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、を具備したシステムの不正プロセス検出装置において、
前記メモリの不正アクセスの範囲を設定する不正アクセス範囲設定手段と、
前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、
前記プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする判定手段と、を備えた
ことを特徴とする不正プロセス検出装置。
A system in which a real-time OS for executing processing of a plurality of processes in real time by interrupt processing is mounted, a CPU that sequentially executes the plurality of processes, and a memory that sequentially saves and stores information on the processes And a program counter for storing an address of a process to be executed next by the CPU,
Unauthorized access range setting means for setting a range of unauthorized access of the memory;
Storage means for temporarily storing information by the process written to and read from the save area;
An unauthorized process detection apparatus comprising: a determination unit that determines that the process stored in the storage unit is an unauthorized process when the address stored in the program counter is determined to be an unauthorized access range.
請求項1乃至3のいずれか1に記載の不正プロセス検出装置において、
前記判定手段によって不正プロセスと判定した場合には、前記記憶手段に記憶されたプロセスの情報を前記メモリに書き込む書込手段を備えた
ことを特徴とする不正プロセス検出装置。
The unauthorized process detection device according to any one of claims 1 to 3,
An unauthorized process detection apparatus, comprising: a writing unit that writes information on a process stored in the storage unit into the memory when the determination unit determines that the process is an unauthorized process.
複数のプロセスの処理をリアルタイムに割込処理で実行するためのリアルタイムOSが実装されたシステムであって、前記複数のプロセスを順次実行するCPUと、前記プロセスの情報を順次退避させて記憶するメモリと、プロセスの情報を切り替えるタスクスイッチと、前記CPUで次に実行されるプロセスのアドレスを記憶するプログラムカウンタと、を具備したシステムの不正プロセス検出装置において、
前記メモリの退避領域の範囲と不正アクセスの範囲をそれぞれ設定する退避領域範囲設定手段と、
前記退避領域に書き込み・読み出しされる前記プロセスによる情報を一時的に記憶する記憶手段と、
前記情報が前記タスクスイッチによって情報が切り替られていないと判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第1の判定手段と、
前記プログラムカウンタに記憶されたアドレスに対応した次に実行されるプロセスに一致しない情報が、前記退避領域に対して書き込み・読み出しが行われると判定され、および/または前記プロセスのデータ量が前記退避領域の範囲に対応したデータ量以上であると判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第2の判定手段と、
前記プログラムカウンタに記憶されたアドレスが不正アクセスの範囲と判定された場合、前記記憶手段に記憶されたプロセスを不正プロセスとする第3の判定手段と、
前記各判定手段のいずれかによって不正プロセスと判定した場合には、前記記憶手段に記憶されたプロセスの情報を前記メモリに書き込む書込手段と、を備えた
ことを特徴とする不正プロセス検出装置。
A system in which a real-time OS for executing processing of a plurality of processes in real time by interrupt processing is mounted, a CPU that sequentially executes the plurality of processes, and a memory that sequentially saves and stores information on the processes And an unauthorized process detection device of a system comprising: a task switch for switching process information; and a program counter for storing an address of a process to be executed next by the CPU.
Save area range setting means for setting the range of the save area of the memory and the range of unauthorized access;
Storage means for temporarily storing information by the process written to and read from the save area;
When it is determined that the information has not been switched by the task switch and / or the data amount of the process is greater than or equal to the data amount corresponding to the range of the save area, the information is stored in the storage unit First determination means for setting the processed process as an unauthorized process;
It is determined that information that does not match the next process to be executed corresponding to the address stored in the program counter is written to or read from the save area, and / or the data amount of the process is saved If it is determined that the amount of data corresponding to the range of the area is greater than or equal to the second determination means for making the process stored in the storage means an unauthorized process;
If the address stored in the program counter is determined to be a range of unauthorized access, third determining means for setting the process stored in the storage means as an unauthorized process;
An unauthorized process detection apparatus comprising: a writing unit that writes information on a process stored in the storage unit into the memory when any of the determination units determines an unauthorized process.
JP2007043608A 2007-02-23 2007-02-23 Invalid process detection apparatus Pending JP2008209990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007043608A JP2008209990A (en) 2007-02-23 2007-02-23 Invalid process detection apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007043608A JP2008209990A (en) 2007-02-23 2007-02-23 Invalid process detection apparatus

Publications (1)

Publication Number Publication Date
JP2008209990A true JP2008209990A (en) 2008-09-11

Family

ID=39786265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007043608A Pending JP2008209990A (en) 2007-02-23 2007-02-23 Invalid process detection apparatus

Country Status (1)

Country Link
JP (1) JP2008209990A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215979A (en) * 2013-04-30 2014-11-17 大日本印刷株式会社 Information storage medium and bytecode execution method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215979A (en) * 2013-04-30 2014-11-17 大日本印刷株式会社 Information storage medium and bytecode execution method

Similar Documents

Publication Publication Date Title
US7627807B2 (en) Monitoring a data processor to detect abnormal operation
US8099636B2 (en) System and method for protecting memory stacks using a debug unit
US8140908B2 (en) System and method of client side analysis for identifying failing RAM after a user mode or kernel mode exception
EP0664511A2 (en) Microprocessor fault log
US20110271152A1 (en) Failure management method and computer
US8245195B2 (en) System and method for debugging a computer program
US20080276129A1 (en) Software tracing
US20130096880A1 (en) System test method
JP2015529927A (en) Notification of address range with uncorrectable errors
KR20180018734A (en) Memory monitoring unit
US20070226418A1 (en) Processor and method for controlling processor
US9009537B2 (en) Diagnostic data capture in a computing environment
WO2007086150A1 (en) Memory destruction detection method and device
CN103853551B (en) Detect the method that the memory of no initializtion is read
CN1329839C (en) Designing method for computer CPU anti-interference
EP1125199A1 (en) Method of debugging a program thread
JP2008209990A (en) Invalid process detection apparatus
US9361204B2 (en) Generating trace data including a lockup identifier indicating occurrence of a lockup state
JP2009223714A (en) Arithmetic circuit and failure analysis method of arithmetic circuit
CN100369009C (en) Monitor system and method capable of using interrupt signal of system management
JPS60159951A (en) Tracing system in information processing device
JP2014182676A (en) Log collection device, arithmetic unit, and log collection method
JP4806577B2 (en) Trace data recording device
JP2015130023A (en) Information recording device, information processor, information recording method and information recording program
US20060230196A1 (en) Monitoring system and method using system management interrupt