JP4583808B2 - プログラム実行制御装置及びプログラム実行制御方法 - Google Patents

プログラム実行制御装置及びプログラム実行制御方法 Download PDF

Info

Publication number
JP4583808B2
JP4583808B2 JP2004146395A JP2004146395A JP4583808B2 JP 4583808 B2 JP4583808 B2 JP 4583808B2 JP 2004146395 A JP2004146395 A JP 2004146395A JP 2004146395 A JP2004146395 A JP 2004146395A JP 4583808 B2 JP4583808 B2 JP 4583808B2
Authority
JP
Japan
Prior art keywords
program
inspection
fraud
execute
illegal
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.)
Expired - Lifetime
Application number
JP2004146395A
Other languages
English (en)
Other versions
JP2005327187A (ja
Inventor
繁彌 高木
秀隆 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004146395A priority Critical patent/JP4583808B2/ja
Priority to US11/596,710 priority patent/US8127351B2/en
Priority to PCT/JP2005/008779 priority patent/WO2005114353A1/ja
Publication of JP2005327187A publication Critical patent/JP2005327187A/ja
Application granted granted Critical
Publication of JP4583808B2 publication Critical patent/JP4583808B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Description

本発明は、不正なプログラムの実行を防止するプログラム実行制御装置及びプログラム実行制御方法に関する。
従来、プログラムを格納し、格納したプログラムの消去及び書き換えをすることができるメモリと、メモリに格納されたプログラムの命令を解釈し実行するCPUとを含むシステムを、意図しない不正なプログラムの実行から保護する方法として、実行するプログラムを格納するメモリの書き換えを所定の方法で保護することで、不正なプログラムの書き換えを防止し、不正なプログラムの実行を防止する第1の方法(例えば、非特許文献1参照)と、メモリに格納されたプログラムをシステムの電源投入またはハードウェアリセット後に所定の方法で検査し、正常と判定されたプログラムのみをCPUで実行することで、不正なプログラムの実行を防止する第2の方法(例えば、特許文献1または特許文献2を参照)が知られている。
第1の方法として、例えば、FASL LLC社製のフラッシュメモリS29GL512Nに搭載されているプロテクト機能が知られており、所定のコマンドを実行することにより不正な書き換えから保護する恒久プロテクトと、使用者が定義したパスワードにより不正な書き換えから保護するパスワードプロテクトなどが知られている。
第2の方法として、特許文献1に記載された発明は、システムを作動させるためのプログラムを格納する外部ROMと、情報書き込み後に消去・再書き込みができなくなるよう構成された内蔵PROMと、CPUとを含む装置において、電源投入またはハードウェアリセット後に、内蔵PROMに格納されたプログラムにより、外部ROMのデータを検査して、正常であれば外部ROMのプログラムを実行し、異常であれば検査を繰り返すというものである。
また、第2の方法として、特許文献2に記載された発明は、メッセージ・ダイジェスト処理された実行プログラムを格納するメモリと、メッセージ・ダイジェスト処理し、プログラムを実行する処理部と、を含む装置において、電源投入またはハードウェアリセット後に、メッセージ・ダイジェスト方法によって所定の実行プログラムを検査し、正常であれば実行プログラムを実行し、異常であれば実行プログラムを停止するというものである。
S29GLxxxN MirrorBit フラッシュファミリ データシート 文書番号J27631 改定A 修正I 発行日 2003年12月15日 (27631−AI Oct 16、03) p.45 セクタプロテクト 特開平9−325914号 特開平11−39158号
しかしながら、特許文献1、2に記載された発明は、メモリに格納されているプログラムの検査を電源投入後またはハードウェアリセット後に実施し、その時点以外の検査を実施しない。近年のOSを用いたシステムでは、電源投入またはハードウェアリセット後にOS(Operating System)というプログラム全般を制御するプログラムが最初に実行され、その後でOS上で動作するアプリケーション・プログラムが実行されるよう構成されているため、検査後にネットワーク経由またはCD−ROMなどの記憶媒体から不正なアプリケーション・プログラムやその他の不正なプログラムがメモリに格納された場合、あるいは、検査後に不正なプログラムが格納された別のメモリに物理的に取り替えられた場合、不正なプログラムを発見することができず、結果として不正なプログラムの実行を許してしまうことになる。
また、検査後に不正なプログラムがメモリに格納されても、不正なプログラムを発見できないため、いつの時点で、どのプログラムが不正に書き換えられたかを確認することができなかった。
本発明は、上記の課題を解決するもので、どの時点で不正なプログラムに書き換えられたとしても、その不正なプログラムの実行を防ぐことができるプログラム実行制御装置及びプログラム実行制御方法を提供することを目的とする。
また、本発明は、いつの時点で、どのプログラムが不正なプログラムに書き換えられたかを容易に確認することができるプログラム実行制御装置及びプログラム実行制御方法を提供することを目的とする。
本発明のプログラム実行制御装置は、プログラムを格納するメモリと、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、前記プログラムの不正の有無を検査する検査時点として前記プログラムが書き換えられた時点を検出する検出手段と、前記検査時点で、前記不正の有無を検査する検査手段と、前記検査手段により判断された不正無しのプログラムを実行するよう制御する制御手段と、前記不正無しのプログラムを実行する実行手段と、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査手段により判断された不正有りのプログラムを実行するか否かを判定する判定手段と、を備え、前記制御手段は、前記判定手段により実行すると判定された前記不正有りのプログラムを実行するよう制御する。
本発明のプログラム実行制御方法は、検出手段が、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、メモリに格納されたプログラムの不正の有無を検査する検査時点として前記プログラムが書き換えられた時点を検出する検出ステップと、検査手段が、前記検査時点で、前記不正の有無を検査する検査ステップと、制御手段が、前記検査ステップにより判断された不正無しのプログラムを実行するよう制御する制御ステップと、実行手段が、前記不正無しのプログラムを実行する実行ステップと、判定手段が、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査ステップにより判断された不正有りのプログラムを実行するか否かを判定する判定ステップと、を備え、前記制御手段が、前記判定ステップにより実行すると判定された前記不正有りのプログラムを実行するように制御する。
従来、固定の時点でのみプログラムの不正の有無を検査していたため、不正なプログラムを発見できないことがあったが、この構成によれば、任意の検査時点でプログラムの不正の有無を検査するため、不正なプログラムを見落とすことなく発見できる。
この構成によれば、予め設定した複数の時点でプログラムの不正の有無を検査するため、不正なプログラムを効率的に発見できる。
この構成によれば、プログラムが書き換えられた全ての時点でプログラムを検査するため、不正なプログラムに書き換えられた時点で即座に発見できる。
また、本発明のプログラム実行制御装置は、プログラムを格納するメモリと、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、前記プログラムの不正の有無を検査する検査時点として一定間隔ごとの時点を検出する検出手段と、前記検査時点で、前記不正の有無を検査する検査手段と、前記検査手段により判断された不正無しのプログラムを実行するよう制御する制御手段と、前記不正無しのプログラムを実行する実行手段と、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査手段により判断された不正有りのプログラムを実行するか否かを判定する判定手段と、を備え、前記制御手段は、前記判定手段により実行すると判定された前記不正有りのプログラムを実行するよう制御する。
また、本発明のプログラム実行制御方法は、検出手段が、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、メモリに格納されたプログラムの不正の有無を検査する検査時点として一定間隔ごとの時点を検出する検出ステップと、検査手段が、前記検査時点で、前記不正の有無を検査する検査ステップと、制御手段が、前記検査ステップにより判断された不正無しのプログラムを実行するよう制御する制御ステップと、実行手段が、前記不正無しのプログラムを実行する実行ステップと、判定手段が、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査ステップにより判断された不正有りのプログラムを実行するか否かを判定する判定ステップと、を備え、前記制御手段が、前記判定ステップにより実行すると判定された前記不正有りのプログラムを実行するよう制御する。
この構成によれば、一定間隔ごとにプログラムを検査するため、不正なプログラムに書き換えられても、効率的に不正なプログラムを発見できる。
また、本発明のプログラム実行制御装置は、前記検査手段による検査の結果を記録する記録手段を備える。
また、本発明のプログラム実行制御方法は、前記検査ステップによる検査の結果を記録する記録ステップを有する。
この構成によれば、検査手段による検査結果を記録しておくことによって、いつの時点で、どのプログラムが不正に書き換えられたかを確認することができる。
また、本発明のプログラム実行制御装置は、前記制御手段が、前記記録手段に記録された検査の結果を参照し、前記不正無しのプログラムを実行するよう制御する。
また、本発明のプログラム実行制御方法は、前記制御ステップが、記録された検査の結果を参照し、前記不正無しのプログラムを実行するよう制御する。
この構成によれば、記録された検査結果を参照して不正無しのプログラムを実行することによって、不正なプログラムの有無を検査するたびに、プログラムを実行するか否かを制御する必要が無いため、効率的にプログラムを実行することができる。
この構成によれば、不正されても影響が無い、或いは、小さいプログラムが不正なプログラムに書き換えられても、そのプログラムを実行するよう制御することによって、効率的にプログラムを実行することができる。
本発明のプログラム実行制御装置及びプログラム実行制御方法によれば、任意の検査時点でプログラムの不正の有無を検査するため、不正なプログラムを見落とすことなく発見し、不正なプログラムの実行を防ぐことができる。
また、本発明のプログラム実行制御装置及びプログラム実行制御方法によれば、検査手段による検査結果を記録しておくことによって、いつの時点で、どのプログラムが不正に書き換えられたかを確認することができる。
本発明のプログラム実行制御装置及びプログラム実行制御方法の実施形態について、図面を参照しながら説明する。
(第1の実施の形態)
図1は、本発明に係る第1の実施の形態のプログラム実行制御装置を示す構成図である。プログラム実行制御装置は、実行するプログラムを格納するフラッシュメモリ101と、プログラムを実行するCPU102と、フラッシュメモリ101がCPU102によって書き換えられたことを検出する条件検出部103と、条件検出部103が検出したときにフラッシュメモリ101に格納されているプログラムが不正か否かを検査する不正検査部104と、不正検査部104の結果に応じてプログラムの実行を制御する実行制御部105とで構成されている。
ここで、不正なプログラムとは、本発明に係る実施の形態の不正検査部が一意に判定することができるプログラムのことである。不正検査部は、例えば、従来から知られているように、実行するプログラムが格納されたフラッシュメモリ上の全てのデータを加算した値と予め決められている正常な値とを比較し、正常な値と異なっていた場合、そのデータを有するプログラムを不正なプログラムと判定する。以下の説明では、全てこのような意味で不正なプログラムという表現を用いるものとする。
図10、図11のメモリイメージ図を用いて、第1の実施の形態の不正検査部が不正なプログラムであると判定する検査方法について詳細に説明する。
図10は、プログラムが格納されているメモリイメージ図である。0x00000000番地から0x000001FF番地までがメモリの全領域1200であり、0x00000000番地から0x000001B7番地までにプログラム1201が格納されており、0x000001B8番地から0x000001FF番地までの空き空間にはメモリの初期値である0xFFが格納されている。不正検査はまず全領域の値の総和1202を算出する。0x00000000番地の0xDCから0x000001FF番地の0xFFまでを加算すると0x000123DCとなる。次に、総和の下位8ビットの検査値1203を算出すると0xDCとなる。この検出値とあらかじめ決めておいた8ビットの期待値1204である0x00000000番地の0xDCと比較する。図10のメモリイメージの場合は検査値1203と期待値1204が0xDCで一致するため検査結果は正常と判定される。
一方、図11は、図10のメモリに動的にプログラム1301が追加されたメモリイメージ図である。追加プログラム1301は、図10の空き空間である0x000001B8番地から格納される。格納された領域は0x000001B8番地から0x000001FB番地までである。不正検査は、図10で説明した方法と同様に行い、検査値1203と期待値1204が0xDCで一致するため、検査結果は正常と判定される。プログラムが追加されているにも関わらず正常と判定される理由は、正常な追加プログラム1301は検査値1203と期待値1204とを一致させるための補正値1302を備えているためである。追加プログラム1301の末尾である0x000001FB番地の0x1Aが補正値1302であるが、この補正値1302を含めて全領域の値の総和1202を算出することで、検査値1203と期待値1204が一致する。不正に追加されたプログラムの末尾は、この補正値1302ではなく、メモリの初期値である0xFFのままである。このため、不正に追加されたプログラムの場合、0x000001FB番地が0xFFでは検査値1203が0xC2となり、期待値1204と異なるため、不正なプログラムと判定される。
なお、検査方法をあらかじめ決めておいた8ビットの期待値と、フラッシュメモリ101の全領域の値の総和の下位8ビットの検査値とを比較して一致するかどうかで判定する検査方法に限定して説明したが、その要旨を逸脱しない範囲で種々変形した検査方法を採用することができる。また、検査方法をプログラムとして実装する場合は、プログラムを読み出しできないメモリに格納する、マスクROMに格納する、あるいは検査用のハードウェアとする、などの対応をとることで、検査方法の解読を防止する。尚、上述のメモリイメージ図を用いた検査方法は、以下で説明する実施の形態においても同じため、以下では説明を省略する。
図2は、本発明に係る第1の実施の形態のプログラム実行制御装置の処理フロー図である。まず、条件検出部103が、フラッシュメモリ101に格納されたプログラムがCPU102によって書き換えられたことを検出する(ステップS201)。ここで、条件検出部103がプログラムの書き換えを検出する方法として、本実施の形態では、フラッシュメモリ101に対して書き換えコマンドが発行され、書き換え処理が完了したことを検出する。
次に、上述の検査方法によって、不正検査部104が、フラッシュメモリ101に書き換えられたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果を実行制御部105に伝える(ステップS203)。実行制御部105は、ステップS203で検査結果が正常と伝えられたのであれば、CPU102を起動してプログラムを実行させる(ステップS204)。また、ステップS203で検査結果が不正と伝えられたのであれば、CPU102を停止するなどの制御を行い、不正と判定されたプログラムをCPU102が実行しないようにする(ステップS205)。
以上のように、本発明に係る第1の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリに格納されたプログラムが書き換えられるごとに、プログラムを検査することによって、フラッシュメモリに格納されたプログラムが不正なプログラムに書き換えられたとしても、不正なプログラムの実行を防止することができる。
また、フラッシュメモリ101がCPU102によって書き換えられるタイミングは、フラッシュメモリ101の全領域が初期状態でプログラムが書き換えられた時、既存のプログラムが動作した後で動的に別のプログラムが追加されるタイミングである。
(第2の実施の形態)
第2の実施の形態のプログラム実行制御装置の構成は、図1に示す第1の実施の形態のプログラム実行制御装置の構成と同じである。第2の実施の形態のプログラム実行制御装置が第1の実施の形態と異なるのは、条件検出部103がCPU102に内蔵されるタイマからの割込み信号を検出することである。不正検査部104は、条件検出部103がタイマからの割込み信号を検出したときに、フラッシュメモリ101に格納されているプログラムが不正か否かを検査し、実行制御部105は、不正検査部104の結果に応じてプログラムの実行を制御するよう構成されている。
また、第2の実施の形態のプログラム実行制御装置の処理フロー図は、図2に示す第1の実施の形態のプログラム実行制御装置の処理フロー図を用いて説明できる。まず、条件検出部103が、タイマからの割込み信号を検出する(ステップS201)。ここで、CPU102は、割込み信号を一定時間毎に繰り返し発生させることができる。その時間間隔は、実施時に一意に決めることができ、例えば10秒間隔のように決めることができる。
次に、不正検査部104が、フラッシュメモリ101に格納されたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果を実行制御部105に伝える(ステップS203)。実行制御部105は、ステップS203で検査結果が正常と伝えられたのであれば、CPU102を起動してプログラムを実行させる(ステップS204)。また、ステップS203で検査結果が不正と伝えられたのであれば、CPU102を停止するなどの制御を行い、不正と判定されたプログラムをCPU102が実行しないようにする(ステップS205)。
以上のように、本発明に係る第2の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリ101が物理的に取り外し可能であって、不正なプログラムを格納した別のフラッシュメモリ101に取り替えられるなどの方法によって、フラッシュメモリ101に格納されたプログラムが書き換えられたことを検出できない場合でも、一定時間毎に繰り返し発生する割込み信号が発生した時に、フラッシュメモリに格納されたプログラムが不正か否かを検査することによって、不正なプログラムの実行を防ぐことができる。
(第3の実施の形態)
図3は、本発明に係る第3の実施の形態のプログラム実行制御装置を示す構成図である。プログラム実行制御装置は、実行するプログラムを格納するフラッシュメモリ101と、プログラムを実行するCPU102と、フラッシュメモリ101がCPU102によって書き換えられたことを検出する条件検出部103と、条件検出部103が検出したときにフラッシュメモリ101に格納されているプログラムが不正か否かを検査する不正検査部104と、不正検査部104の結果及びフラッシュメモリ101におけるCPU102の命令フェッチのアドレスを参照して、CPU102へのプログラムの発行を制御するアクセス制御部301とで構成されている。
図4は、本発明に係る第3の実施の形態のプログラム実行制御装置の処理フロー図である。まず、条件検出部103が、フラッシュメモリ101に格納されたプログラムがCPU102によって書き換えられたことを検出する(ステップS201)。ここで、条件検出部103がプログラムが書き換えられたことを検出する方法として、本実施の形態では、フラッシュメモリ101に対して書き換えコマンドが発行され、書き換え処理が完了したことを検出する。
次に、不正検査部104が、フラッシュメモリ101に書き換えられたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果をアクセス制御部301に伝える。(ステップS203)。アクセス制御部301は、ステップS203で検査結果が正常と伝えられたのであれば、フラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS401)。ステップS203で検査結果が不正と伝えられたのであれば、アクセス制御部301はCPU102の命令フェッチのアドレスを参照し、不正なプログラムであっても実行できるか否かを判定する(ステップS402)。
ステップS402で実行できると判定されれば、アクセス制御部301はフラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS401)。ステップS402で実行できないと判定されれば、アクセス制御部301はCPU102で何もしない命令であるNOP命令をCPU102に発行する(ステップS404)。
次に、ステップS401またはステップS404で発行された命令をCPU102が受け取り、CPU102がプログラムを実行またはNOP命令を実行する(ステップS403)。
ここで、命令フェッチのアドレスを参照し、不正なプログラムであっても実行するか否かを判定することによって、ステップS401またはステップS404に分岐させる理由は、例えばシステムの初期化処理を必ず行わなければならないシステムを動作させる場合、初期化処理のプログラムを格納しているアドレスは不正なプログラムと判定された場合であってもそのプログラムを実行するとし、それ以外のプログラムを格納しているアドレスは不正なプログラムであれば実行しないようにすると、不正検査部104が不正プログラムと判断してもその不正の影響が無い、或いは、小さい初期化処理のプログラムは動作させるが、その不正の影響が大きいそれ以外のプログラムは動作させないよう制御することができ、円滑に、効率よくプログラムの実行を制御することができる。また、内部メモリのアドレスは不正なプログラムと判定された場合であってもそのプログラムを実行するようにし、外部メモリのアドレスは不正なプログラムであれば実行しないようにすることによって、効率よくプログラムの実行を制御することができる。
また、プログラムが書き換えできない領域のメモリのアドレスは不正なプログラムと判定された場合であってもそのプログラムを実行するようにし、プログラムが書き換えできる領域のメモリのアドレスは不正なプログラムであれば実行しないようにすることによって、効率よくプログラムの実行を制御することができる。
なお、上記の説明では、ステップS404において、アクセス制御部301がCPU102に何も実行しないNOP命令を発行するよう制御する例について説明したが、これに限定されない。例えば、CPU102が実質的に停止する(クロックの停止など)命令であっても良いし、CPU102がユーザプログラムではなく、デバッグ用のプログラムを実行する命令を発行するものでも良い。
以上のように、本発明に係る第3の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリに格納されたプログラムが書き換えられるごとに、プログラムを検査することによって、フラッシュメモリに格納されたプログラムが不正なプログラムに書き換えられたとしても、不正なプログラムの実行を防止することができる。また、不正されても影響が無い、或いは、小さいプログラムなどの特定のプログラムが不正なプログラムに書き換えられても、そのプログラムを実行するよう制御することによって、円滑に、効率よくプログラムの実行を制御することができる。
(第4の実施の形態)
第4の実施の形態のプログラム実行制御装置の構成は、図3に示す第3の実施の形態のプログラム実行制御装置の構成と同じである。第4の実施の形態のプログラム実行制御装置が第3の実施の形態と異なるのは、条件検出部103がCPU102に内蔵されるタイマからの割込み信号を検出することである。不正検査部104は、条件検出部103がタイマからの割込み信号を検出したときに、フラッシュメモリ101に格納されているプログラムが不正か否かを検査し、アクセス制御部301は、不正検査部104の結果及びフラッシュメモリ101におけるCPU102の命令フェッチのアドレスを参照して、CPU102へのプログラムの発行を制御するよう構成されている。
また、第4の実施の形態におけるプログラム実行制御装置の処理フロー図は、図4に示す第3の実施の形態のプログラム実行制御装置の処理フロー図を用いて説明できる。まず、条件検出部103が、タイマからの割込み信号を検出する(ステップS201)。ここで、CPU102は、割込み信号を一定時間毎に繰り返し発生させることができる。その時間間隔は、実施時に一意に決めることができ、例えば10秒間隔のように決めることができる。
次に、不正検査部104が、フラッシュメモリ101に書き換えられたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果をアクセス制御部301に伝える(ステップS203)。アクセス制御部301は、ステップS203で検査結果が正常と伝えられたのであれば、フラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS401)。ステップS203で検査結果が不正と伝えられたのであれば、アクセス制御部301はCPU102の命令フェッチのアドレスを参照し、不正なプログラムであっても実行できるか否かを判定する(ステップS402)。
ステップS402で実行できると判定されれば、アクセス制御部301はフラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS401)。ステップS402で実行できないと判定と判定されれば、アクセス制御部301はCPU102で何もしない命令であるNOP命令をCPU102に発行する(ステップS404)。
次に、ステップS401またはステップS404で発行された命令をCPU102が受け取り、CPU102がプログラムを実行またはNOP命令を実行する(ステップS403)。
なお、命令フェッチのアドレスを参照し、不正なプログラムであっても実行するか否かを判定することによって、ステップS401またはステップS404に分岐させる理由は、第3の実施の形態の場合と同じため説明を省略する。
以上のように、本発明に係る第4の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリ101が物理的に取り外し可能であって、不正なプログラムを格納した別のフラッシュメモリ101に取り替えられるなどの方法によって、フラッシュメモリ101に格納されたプログラムが書き換えられたことを検出できない場合でも、一定時間毎に繰り返し発生する割込み信号が発生した時に、フラッシュメモリに格納されたプログラムが不正か否かを検査することによって、不正なプログラムの実行を防ぐことができる。また、不正されても影響が無い、或いは、小さいプログラムなどの特定のプログラムが不正なプログラムに書き換えられても、そのプログラムを実行するよう制御することによって、円滑に、効率よくプログラムの実行を制御することができる。
(第5の実施の形態)
図5は、本発明に係る第5の実施の形態のプログラム実行制御装置を示す構成図である。プログラム実行制御装置は、実行するプログラムを格納するフラッシュメモリ101と、プログラムを実行するCPU102と、フラッシュメモリ101がCPU102によって書き換えられたことを検出する条件検出部103と、条件検出部103が検出したときにフラッシュメモリ101に格納されているプログラムが不正か否かを検査する不正検査部104と、不正記録メモリ502と、不正検査部104の結果を不正記録メモリ502に記録する不正記録部501と、不正記録メモリ502に記録された結果に応じてプログラムの実行を制御する実行制御部503とで構成されている。
図6及び図7は、本発明に係る第5の実施の形態のプログラム実行制御装置の処理フロー図である。
図6は、本発明に係る第5の実施の形態のプログラム実行制御装置が、不正記録メモリ502に不正検査部104の結果を記録するまでの処理を示すフロー図である。図6において、まず、条件検出部103が、フラッシュメモリ101に格納されたプログラムがCPU102によって書き換えられたことを検出する(ステップS201)。本実施の形態では、フラッシュメモリ101に対して書き換えコマンドが発行され、書き換え処理が完了したことを検出する。
次に、不正検査部104が、フラッシュメモリ101に書き換えられたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果を不正記録部501に伝える(ステップS203)。ステップS203で検査結果が正常と伝えられたのであれば、不正記録部501が不正記録メモリ502に正常値を記録する(ステップS601)。また、ステップS203で検査結果が不正と伝えられた場合は、不正記録部501が不正記録メモリ502に不正値を記録する(ステップS602)。ここで、例えば、正常値とは1であり、不正値とは0であるとする。
図7は、本発明に係る第5の実施の形態のプログラム実行制御装置の処理フロー図である。既に不正検査が行われたプログラムを実行する時に、実行制御部503は不正記録メモリ502に予め記録した検査結果を取得する(ステップS701)。次に、取得した検査結果が正常値か不正値かの判定を行う(ステップS702)。
実行制御部503は、検査結果が正常値1であれば、CPU102を起動してプログラムを実行させる(ステップS703)。また、実行制御部503は、検査結果が不正値0であれば、CPU102を停止するなどの制御を行い、不正と判定されたプログラムをCPU102が実行しないようにする(ステップS704)。
以上のように、本発明に係る第5の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリに格納されたプログラムが書き換えられるごとに、プログラムを検査することによって、フラッシュメモリに格納されたプログラムが不正なプログラムに書き換えられたとしても、不正なプログラムの実行を防止することができる。また、検査結果を記録しておくことによって、不正なプログラム、及び、不正なプログラムが格納された時点を容易に確認することができる。また、記録した検査結果に応じてプログラムの実行を制御することによって、不正なプログラムの有無を検査するたびに、プログラムを実行するか否かを制御する必要が無いため、円滑に、効率よくプログラムの実行を制御することができる。
(第6の実施の形態)
第6の実施の形態のプログラム実行制御装置の構成は、第5の実施の形態のプログラム実行制御装置の構成と同じである。第6の実施の形態のプログラム実行制御装置が、第5の実施の形態と異なるのは、条件検出部103がCPU102に内蔵されるタイマからの割込み信号を検出することである。不正検査部104は、条件検出部103がタイマからの割込み信号を検出したときに、フラッシュメモリ101に格納されているプログラムが不正か否かを検査し、不正記録部501は、不正検査部104の結果を不正記録メモリ502に記録し、実行制御部503は、不正記録メモリ502に記録された結果に応じてプログラムの実行を制御するよう構成されている。
図6及び図7は、本発明に係る第6の実施の形態のプログラム実行制御装置の処理フロー図である。
図6は、本発明に係る第6の実施の形態のプログラム実行制御装置が、不正記録メモリ502に不正検査部104の結果を記録するまでの処理を示すフロー図である。図6において、まず、条件検出部103が、タイマからの割込み信号を検出する(ステップS201)。ここで、CPU102は、割込み信号を一定時間毎に繰り返し発生させることができる。その時間間隔は、実施時に一意に決めることができ、例えば10秒間隔のように決めることができる。
次に、不正検査部104が、フラッシュメモリ101に書き換えられたプログラムが不正か否かを検査する(ステップS202)。
次に、不正検査部104が、ステップS202における検査結果を不正記録部501に伝える(ステップS203)。ステップS203で検査結果が正常と伝えられたのであれば、不正記録部501が不正記録メモリ502に正常値を記録する(ステップS601)。また、ステップS203で検査結果が不正と伝えられた場合は、不正記録部501が不正記録メモリ502に不正値を記録する(ステップS602)。ここで、例えば、正常値とは1であり、不正値とは0であるとする。
図7は、本発明に係る第6の実施の形態のプログラム実行制御装置の処理フロー図である。既に不正検査が行われたプログラムを実行する時に、実行制御部503は不正記録メモリ502に予め記録した検査結果を取得する(ステップS701)。次に、取得した検査結果が正常値か不正値かの判定を行う(ステップS702)。
実行制御部503は、検査結果が正常値1であれば、CPU102を起動してプログラムを実行させる(ステップS703)。また、実行制御部503は、検査結果が不正値0であれば、CPU102を停止するなどの制御を行い、不正と判定されたプログラムをCPU102が実行しないようにする(ステップS704)。
以上のように、本発明に係る第4の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリ101が物理的に取り外し可能であって、不正なプログラムを格納した別のフラッシュメモリ101に取り替えられるなどの方法によって、フラッシュメモリ101に格納されたプログラムが書き換えられたことを検出できない場合でも、一定時間毎に繰り返し発生する割込み信号が発生した時に、フラッシュメモリに格納されたプログラムが不正か否かを検査することによって、不正なプログラムの実行を防ぐことができる。また、検査結果を記録しておくことによって、不正なプログラム、及び、不正なプログラムが格納された時点を容易に確認することができる。また、記録した検査結果に応じてプログラムの実行を制御することによって、不正なプログラムの有無を検査するたびに、プログラムを実行するか否かを制御する必要が無いため、円滑に、効率よくプログラムの実行を制御することができる。
(第7の実施の形態)
図8は、本発明に係る第7の実施の形態のプログラム実行制御装置を示す構成図である。プログラム実行制御装置は、実行するプログラムを格納するフラッシュメモリ101と、プログラムを実行するCPU102と、フラッシュメモリ101がCPU102によって書き換えられたことを検出する条件検出部103と、上検出部103が検出したときにフラッシュメモリ101に格納されたプログラムが不正か否かを検査する不正検査部104と、不正記録メモリ502と、不正検査部104の結果を不正記録メモリ502に記録する不正記録部501と、不正記録メモリ502に記録された結果及びフラッシュメモリ101におけるCPU102の命令フェッチのアドレスを参照して、CPU102へのプログラムの発行を制御するアクセス制御部801で構成されている。
図9は、本発明に係る第7の実施の形態のプログラム実行制御装置の処理フロー図である。不正検査部104の結果を不正記録メモリ502に記録するまでの処理フローは、第5の実施の形態の場合と同じため説明を省略し、プログラムの実行を制御する処理を図9を用いて説明する。
既に不正検査が行われたプログラムを実行する時に、アクセス制御部801は不正記録メモリ502に予め記録した検査結果を取得する(ステップS701)。次に、取得した検査結果が正常値か不正値かの判定を行う(ステップS702)。
アクセス制御部801は、検査結果が正常値1であれば、フラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS901)。ステップS702で検査結果が不正値0であれば、アクセス制御部801はCPU102の命令フェッチのアドレスを参照し、不正なプログラムであっても実行できるか否かを判定する(ステップS902)。
ステップS902で実行できると判定されれば、アクセス制御部801はフラッシュメモリ101からプログラムを取得してCPU102に発行する(ステップS901)。ステップS902で実行できないと判定されれば、アクセス制御部801はCPU102で何もしない命令であるNOP命令をCPU102に発行する(ステップS904)。
次に、ステップS901またはステップS904で発行された命令をCPU102が受け取り、CPU102がプログラムを実行またはNOP命令を実行する(ステップS903)。
なお、命令フェッチのアドレスを参照し、不正なプログラムであっても実行するか否かを判定することによって、ステップS901かステップS904に分岐する理由は、第3の実施の形態の場合と同じため説明を省略する。
以上のように、本発明に係る第7の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリに格納されたプログラムが書き換えられるごとに、プログラムを検査することによって、フラッシュメモリに格納されたプログラムが不正なプログラムに書き換えられたとしても、不正なプログラムの実行を防止することができる。また、検査結果を記録しておくことによって、不正なプログラム、及び、不正なプログラムが格納された時点を容易に確認することができる。また、記録した検査結果に応じてプログラムの実行を制御することによって、円滑に、効率よくプログラムの実行を制御することができる。また、不正されても影響が無い、或いは、小さいプログラムなどの特定のプログラムが不正なプログラムに書き換えられても、そのプログラムを実行するよう制御することによって、円滑に、効率よくプログラムの実行を制御することができる。
(第8の実施の形態)
第8の実施の形態のプログラム実行制御装置の構成は、図8に示す第7の実施の形態のプログラム制御装置の構成と同じである。第8の実施の形態のプログラム実行制御装置が第7の実施の形態と異なるのは、条件検出部103がCPU102に内蔵されるタイマからの割込みの信号を検出することである。不正検査部104は、条件検出部103がタイマからの割込み信号を検出したときに、フラッシュメモリ101に格納されているプログラムが不正か否かを検査し、不正記録部501は、不正検査部104の結果を不正記録メモリ502に記録し、アクセス制御部801は、不正記録メモリ502に記録された結果及びフラッシュメモリ101におけるCPU102の命令フェッチのアドレスを参照して、CPU102へのプログラムの発行を制御するよう構成されている。
不正検査部104の結果を不正記録メモリ502に記録するまでの処理フローは、第6の実施の形態の場合と同じため説明を省略し、プログラムの実行を制御する処理フローは、第7の実施の形態の場合と同じため説明を省略する。
以上のように、本発明に係る第8の実施の形態のプログラム実行制御装置及びプログラム実行制御方法によれば、フラッシュメモリ101が物理的に取り外し可能であって、不正なプログラムを格納した別のフラッシュメモリ101に取り替えられるなどの方法によって、フラッシュメモリ101に格納されたプログラムが書き換えられたことを検出できない場合でも、一定時間毎に繰り返し発生する割込み信号が発生した時に、フラッシュメモリに格納されたプログラムが不正か否かを検査することによって、不正なプログラムの実行を防ぐことができる。また、検査結果を記録しておくことによって、不正なプログラム、及び、不正なプログラムが格納された時点を容易に確認することができる。また、記録した検査結果に応じてプログラムの実行を制御することによって、円滑に、効率よくプログラムの実行を制御することができる。また、不正されても影響が無い、或いは、小さいプログラムなどの特定のプログラムが不正なプログラムに書き換えられても、そのプログラムを実行するよう制御することによって、円滑に、効率よくプログラムの実行を制御することができる。
なお、実施の形態1から8において、実行するプログラムを格納するメモリをフラッシュメモリ101に限定して説明したが、プログラムを記憶するメモリであれば如何なるものであってもよい。
また、実施の形態1から8において、条件検出部103の条件を、フラッシュメモリ101がCPU102によって書き換えられた時と、CPU102に内蔵されるタイマによって割込みが発生した時に限定して説明したが、検出する条件は、DMAや外部制御によるCPU102を使用しない書き換えがあった時や、プログラム中の専用命令が実行された時などの条件であってもよい。また、初期化処理が終了する時点の10秒後とシステム全体が動作し始める時点の30秒後というタンミングのように、複数の条件を設定し、その条件を満たすそれぞれの時点で検査をするようにしてもよい。
本発明に係るプログラム実行制御装置及びプログラム実行制御方法は、任意の検査時点でプログラムの不正の有無を検査するため、不正なプログラムを見落とすことなく発見し、不正なプログラムの実行を防ぐことができる。不正なプログラムに書き換えられた後に、その不正なプログラムを検査し、その検査結果を記録しておくことによって、いつの時点で、どのプログラムが不正に書き換えられたかを確認することができるため、不正なプログラムがメモリに格納され実行されたことに起因するシステムの不具合が発生した場合、不具合要因の特定が容易になるため、機器組み込みシステムのソフトウェア開発分野で有用である。
本発明に係る第1、2の実施の形態のプログラム実行制御装置を示す構成図 本発明に係る第1、2の実施の形態のプログラム実行制御装置の処理フロー図 本発明に係る第3、4の実施の形態のプログラム実行制御装置を示す構成図 本発明に係る第3、4の実施の形態のプログラム実行制御装置の処理フロー図 本発明に係る第5、6の実施の形態のプログラム実行制御装置を示す構成図 本発明に係る第5、6、7、8の実施形態のプログラム実行制御装置の処理フロー図 本発明に係る第5、6の実施の形態のプログラム実行制御装置の処理フロー図 本発明に係る第7、8の実施の形態のプログラム実行制御装置を示す構成図 本発明に係る第7、8の実施の形態のプログラム実行制御装置の処理フロー図 プログラムが格納されているメモリイメージ図 動的にプログラムが追加されたメモリイメージ図
符号の説明
101 フラッシュメモリ
102 CPU
103 条件検出部
104 不正検査部
105 実行制御部
301 アクセス制御部
501 不正記録部
502 不正記録メモリ
503 実行制御部
801 アクセス制御部
901 書き換え制御部
1200 メモリの全領域
1201 プログラム
1202 総和
1203 検査値
1204 期待値
1301 追加プログラム
1302 補正値

Claims (8)

  1. プログラムを格納するメモリと、
    前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、前記プログラムの不正の有無を検査する検査時点として前記プログラムが書き換えられた時点を検出する検出手段と、
    前記検査時点で、前記不正の有無を検査する検査手段と、
    前記検査手段により判断された不正無しのプログラムを実行するよう制御する制御手段と、
    前記不正無しのプログラムを実行する実行手段と、
    命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査手段により判断された不正有りのプログラムを実行するか否かを判定する判定手段と、を備え、
    前記制御手段は、前記判定手段により実行すると判定された前記不正有りのプログラムを実行するよう制御するプログラム実行制御装置。
  2. プログラムを格納するメモリと、
    前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、前記プログラムの不正の有無を検査する検査時点として一定間隔ごとの時点を検出する検出手段と、
    前記検査時点で、前記不正の有無を検査する検査手段と、
    前記検査手段により判断された不正無しのプログラムを実行するよう制御する制御手段と、
    前記不正無しのプログラムを実行する実行手段と、
    命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査手段により判断された不正有りのプログラムを実行するか否かを判定する判定手段と、を備え、
    前記制御手段は、前記判定手段により実行すると判定された前記不正有りのプログラムを実行するよう制御するプログラム実行制御装置。
  3. 前記検査手段による検査の結果を記録する記録手段を備える請求項1または2に記載のプログラム実行制御装置。
  4. 前記制御手段は、前記記録手段に記録された検査の結果を参照し、前記不正無しのプログラムを実行するよう制御する請求項3記載のプログラム実行制御装置。
  5. 検出手段が、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、メモリに格納されたプログラムの不正の有無を検査する検査時点として前記プログラムが書き換えられた時点を検出する検出ステップと、
    検査手段が、前記検査時点で、前記不正の有無を検査する検査ステップと、
    制御手段が、前記検査ステップにより判断された不正無しのプログラムを実行するよう制御する制御ステップと、
    実行手段が、前記不正無しのプログラムを実行する実行ステップと、
    判定手段が、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査ステップにより判断された不正有りのプログラムを実行するか否かを判定する判定ステップと、を備え、
    前記制御手段が、前記判定ステップにより実行すると判定された前記不正有りのプログラムを実行するよう制御するプログラム実行制御方法。
  6. 検出手段が、前記プログラムのデータの総和に基づいて得られる値と、予め決められている正常な値とを比較することによって、メモリに格納されたプログラムの不正の有無を検査する検査時点として一定間隔ごとの時点を検出する検出ステップと、
    検査手段が、前記検査時点で、前記不正の有無を検査する検査ステップと、
    制御手段が、前記検査ステップにより判断された不正無しのプログラムを実行するよう制御する制御ステップと、
    実行手段が、前記不正無しのプログラムを実行する実行ステップと、
    判定手段が、命令フェッチのアドレスを参照して、当該アドレスが実行できる領域にあるかどうかによって、前記検査ステップにより判断された不正有りのプログラムを実行するか否かを判定する判定ステップと、を備え、
    前記制御手段が、前記判定ステップにより実行すると判定された前記不正有りのプログラムを実行するよう制御するプログラム実行制御方法。
  7. 記録手段が、前記検査ステップによる検査の結果を記録する記録ステップを有する請求項5または6に記載のプログラム実行制御方法。
  8. 前記制御手段が、前記制御ステップにおいて、前記記録手段に記録された検査の結果を参照し、前記不正無しのプログラムを実行するよう制御する請求項7記載のプログラム実行制御方法。
JP2004146395A 2004-05-17 2004-05-17 プログラム実行制御装置及びプログラム実行制御方法 Expired - Lifetime JP4583808B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004146395A JP4583808B2 (ja) 2004-05-17 2004-05-17 プログラム実行制御装置及びプログラム実行制御方法
US11/596,710 US8127351B2 (en) 2004-05-17 2005-05-13 Program execution control apparatus and program execution control method
PCT/JP2005/008779 WO2005114353A1 (ja) 2004-05-17 2005-05-13 プログラム実行制御装置及びプログラム実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004146395A JP4583808B2 (ja) 2004-05-17 2004-05-17 プログラム実行制御装置及びプログラム実行制御方法

Publications (2)

Publication Number Publication Date
JP2005327187A JP2005327187A (ja) 2005-11-24
JP4583808B2 true JP4583808B2 (ja) 2010-11-17

Family

ID=35428528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004146395A Expired - Lifetime JP4583808B2 (ja) 2004-05-17 2004-05-17 プログラム実行制御装置及びプログラム実行制御方法

Country Status (3)

Country Link
US (1) US8127351B2 (ja)
JP (1) JP4583808B2 (ja)
WO (1) WO2005114353A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289629A (zh) * 2011-07-25 2011-12-21 深圳和而泰智能控制股份有限公司 一种加密系统、方法及单片机系统
CN104272312B (zh) * 2012-09-14 2017-07-04 深圳瀚飞科技开发有限公司 一种单片机集成电路的加密方法、电路和装置
EP2909775B1 (en) * 2012-10-19 2022-01-26 McAfee, LLC Mobile application management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232176A (ja) * 1997-12-12 1999-08-27 Nippon Steel Corp 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体
JP2004103027A (ja) * 2003-09-25 2004-04-02 Japan Id:Kk 遊技制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325914A (ja) 1996-06-06 1997-12-16 Ryosaku Sakuraba ゲーム遊技機の制御装置
JPH1139158A (ja) 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 実行プログラムの保護方法およびその装置
US6260172B1 (en) * 1997-09-05 2001-07-10 Nippon Steel Corporation Semiconductor device with logic rewriting and security protection function
US6449645B1 (en) * 1999-01-19 2002-09-10 Kenneth L. Nash System for monitoring the association of digitized information having identification indicia with more than one of uniquely identified computers in a network for illegal use detection
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
WO2002057904A1 (fr) 2001-01-19 2002-07-25 Fujitsu Limited Controleur dote d'un fonction de telechargement
US6931548B2 (en) * 2001-01-25 2005-08-16 Dell Products L.P. System and method for limiting use of a software program with another software program
US7202905B2 (en) * 2003-12-05 2007-04-10 Motorola, Inc. Electronic device having a motor providing vibration and camera adjustment functionality
US7376970B2 (en) * 2004-02-20 2008-05-20 Microsoft Corporation System and method for proactive computer virus protection
EP1708071B1 (en) * 2005-03-31 2010-11-03 Texas Instruments Incorporated Method and system for detection and neutralization of buffer overflow attacks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232176A (ja) * 1997-12-12 1999-08-27 Nippon Steel Corp 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体
JP2004103027A (ja) * 2003-09-25 2004-04-02 Japan Id:Kk 遊技制御装置

Also Published As

Publication number Publication date
US8127351B2 (en) 2012-02-28
US20070214366A1 (en) 2007-09-13
JP2005327187A (ja) 2005-11-24
WO2005114353A1 (ja) 2005-12-01

Similar Documents

Publication Publication Date Title
JP5582909B2 (ja) プラットフォーム完全性検証システム
EP2754085B1 (en) Verifying firmware integrity of a device
CN100489805C (zh) 运行时间安全保证的自动存储器检测器及其方法
CN109508536B (zh) 一种篡改程序流攻击的检测方法和装置
JP2007304954A (ja) メモリ保護機能を有するコンピュータシステム
CN103718165A (zh) Bios闪存攻击保护和通知
US8751817B2 (en) Data processing apparatus and validity verification method
JP2009238153A (ja) マルウェア対処システム、方法及びプログラム
JP2010257150A (ja) 不正処理検知装置、不正処理検知方法及びプログラム
JP2020003957A (ja) 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
KR101769714B1 (ko) Bad usb 활성화 방지 시스템 및 방법
JP5194053B2 (ja) 認証プログラム、プログラムセット、認証方法及び認証装置並びにソフトウェア有効期限変更装置
JP4583808B2 (ja) プログラム実行制御装置及びプログラム実行制御方法
JP2020095470A (ja) 情報処理装置及びその制御方法
CN102855421A (zh) 防止bios程序被盗用的方法、基本输入输出系统及计算装置
US20040078497A1 (en) Method and apparatus for detecting configuration change
JP4643201B2 (ja) バッファオーバーフロー脆弱性分析方法、データ処理装置、分析情報提供装置、分析情報抽出処理用プログラムおよび分析情報提供処理用プログラム
US10691586B2 (en) Apparatus and method for software self-test
KR100580071B1 (ko) 메모리 오류 검출방법
JP7283552B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5200686B2 (ja) 情報処理装置、正常処理判別方法、及び情報処理プログラム
KR101616793B1 (ko) 애플리케이션 무결성 검사 방법
JP5267534B2 (ja) 記憶装置及び記憶装置の制御方法
Mishra Detecting Boot Sector Viruses-Applying TRIZ to improve anti-virus programs
JP2012185547A (ja) 改ざん検出装置、監視システム、改ざん検出方法、およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070221

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100901

R150 Certificate of patent or registration of utility model

Ref document number: 4583808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250