JP3056732B1 - コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体 - Google Patents

コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体

Info

Publication number
JP3056732B1
JP3056732B1 JP11103256A JP10325699A JP3056732B1 JP 3056732 B1 JP3056732 B1 JP 3056732B1 JP 11103256 A JP11103256 A JP 11103256A JP 10325699 A JP10325699 A JP 10325699A JP 3056732 B1 JP3056732 B1 JP 3056732B1
Authority
JP
Japan
Prior art keywords
program
check program
check
executing
computer
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
JP11103256A
Other languages
English (en)
Other versions
JP2000293370A (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.)
Konami Corp
Original Assignee
Konami Corp
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 Konami Corp filed Critical Konami Corp
Priority to JP11103256A priority Critical patent/JP3056732B1/ja
Priority to US09/541,585 priority patent/US6539266B1/en
Priority to DE60003253T priority patent/DE60003253T2/de
Priority to AT00302896T priority patent/ATE242894T1/de
Priority to EP00302896A priority patent/EP1043659B1/en
Application granted granted Critical
Publication of JP3056732B1 publication Critical patent/JP3056732B1/ja
Publication of JP2000293370A publication Critical patent/JP2000293370A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【要約】 【課題】 チェックプログラム自体の改変が行われた場
合でもプログラムの改変使用を確実に防止することが可
能なプログラムの改変防止手法を提供する。 【解決手段】 コンピュータシステムにおいて、複数の
チェックプログラム部分を含むコンピュータプログラム
を記録した記録媒体から前記複数のチェックプログラム
部分を読み出す手段と、前記チェックプログラム部分の
各々を実行するチェックプログラム実行手段と、を備え
るように構成する。チェックプログラム実行手段の各々
は、他の少なくとも1つの前記チェックプログラム部分
に対する改変の有無を検出する。これにより、全てのチ
ェックプログラムの改変がなされない限り、改変された
プログラムの実行が禁止される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムの改変
を防止する技術に関する。
【0002】
【従来の技術】汎用コンピュータシステム上で実行可能
なプログラムに関連する重要な問題として、悪質なユー
ザがプログラム内容を改変して使用するという問題があ
る。特に、CD−ROMなどの記録媒体に記録した形態
で販売されるプログラムは不正な改変使用の対象となり
やすい。
【0003】この防止手法として、プログラムの改変の
有無をチェックするチェックプログラムを使用する方法
が知られている。これは、例えば保護の対象となる真正
なプログラムの一部の複製物を予め用意し、チェックの
対象となるプログラムの対応する部分との照合を行う。
両者が一致する場合には、そのプログラムは真正である
と判断され、プログラム内容が実行される。一致しない
場合には、プログラムに対して改変がなされたと判断
し、そのプログラムの実行を禁止する。照合の対象とな
る部分は、そのプログラム自体の一部分の他、チェック
の目的で用意されたコードなどとすることもできる。ま
た、必要に応じて、その部分に対して暗号化、圧縮など
を施すこともできる。
【0004】なお、プログラムの不正な改変の防止手法
の例は特公昭62−3460号公報、特開平10−18
7435号公報、特許第2621799号公報、特許第
2738375号公報などに記載されている。
【0005】
【発明が解決しようとする課題】しかし、最近では、上
記のようなチェックプログラム自体を改変して無力化し
てしまう悪質なユーザも存在する。この場合には、上述
したようなチェック方法ではプログラムの改変及び不正
に改変されたプログラムの実行を阻止できない。
【0006】本発明は、以上の点に鑑みてなされたもの
であり、チェックプログラム自体の改変が行われた場合
でも改変されたプログラムの実行を確実に阻止すること
が可能なプログラムの改変防止手法を提供することを課
題とする。
【0007】
【課題を解決するための手段】請求項1に記載の発明
は、コンピュータシステムにおいて、複数のチェックプ
ログラム部分を含むコンピュータプログラムを記録した
記録媒体から前記複数のチェックプログラム部分を読み
出す手段と、前記チェックプログラム部分の各々を実行
するチェックプログラム実行手段と、を備え、前記チェ
ックプログラム実行手段の各々は、他の少なくとも1つ
の前記チェックプログラム部分に対する改変の有無を検
出することを特徴とする。
【0008】上記のように構成されたコンピュータシス
テムによれば、各チェックプログラム実行手段は、自己
以外の少なくとも1つのチェックプログラム部分の改変
を検出する機能を有する。従って、複数のチェックプロ
グラム部分のうちのいくつかが改変された場合でも、そ
の改変を他のチェックプログラムが検出することがで
き、プログラムの改変使用の防止を強化することができ
る。
【0009】請求項2に記載の発明は、請求項1に記載
のコンピュータシステムにおいて、予め用意された少な
くとも1つのチェックプログラム部分を記憶する記憶手
段を有し、前記記憶手段内の前記チェックプログラム部
分は、前記複数のチェックプログラム部分のうちの少な
くともいずれか1つに対する改変の有無を検出し、前記
複数のチェックプログラム部分のうちの少なくともいず
れか1つは前記記憶手段内の前記チェックプログラム部
分に対する改変の有無を検出することを特徴とする。上
記構成によれば、記録媒体中のチェックプログラム部分
のみならず、コンピュータシステムの記憶手段内に予め
用意されたチェックプログラム部分を含めて複数のチェ
ックプログラムによる多重的な改変の検出が行われるの
で、プログラムの改変使用をさらに効果的に防止するこ
とができる。
【0010】請求項3に記載の発明は、請求項1又は2
に記載のコンピュータシステムにおいて、前記チェック
プログラム実行手段が全ての前記チェックプログラム部
分を実行した結果、前記チェックプログラム部分の改変
を検出しない場合に、前記コンピュータプログラムを実
行可能とする制御手段をさらに有する。上記構成によれ
ば、全てのチェックプログラムの改変に成功しない限
り、必ずいずれかのチェックプログラムが改変を検出す
るので、プログラムの改変使用を確実に防止することが
できる。
【0011】請求項4に記載の発明は、請求項1乃至3
のいずれかに記載のコンピュータシステムにおいて、前
記複数のチェックプログラム部分は、各々が他の1つの
チェックプログラム部分に対する改変の有無を検出する
ようにループ構造にリンクされることを特徴とする。ま
た、請求項5に記載の発明は、請求項1乃至3のいずれ
かに記載のコンピュータシステムにおいて、前記複数の
チェックプログラム部分は、各々が自己に従属するチェ
ックプログラム部分に対する改変の有無を検出するよう
にツリー構造にリンクされることを特徴とする。上記の
ように、複数のチェックプログラム間のリンク関係を複
雑化することにより、全てのチェックプログラムの改変
を事実上不可能とすることができる。
【0012】請求項6に記載の発明は、コンピュータプ
ログラムの実行方法において、複数のチェックプログラ
ム部分を含むコンピュータプログラムを記録した記録媒
体から前記複数のチェックプログラム部分を読み出す工
程と、全ての前記チェックプログラム部分について、前
記チェックプログラム部分を実行するチェックプログラ
ム実行工程と、を有し、前記チェックプログラム実行工
程は、他の少なくとも1つの前記チェックプログラム部
分に対する改変の有無を検出することを特徴とする。
【0013】上記のように構成されたコンピュータプロ
グラムの実行方法によれば、各チェックプログラム実行
工程は、自己以外の少なくとも1つのチェックプログラ
ム部分の改変を検出する機能を有する。従って、複数の
チェックプログラム部分のうちのいくつかが改変された
場合でも、その改変を他のチェックプログラムが検出す
ることができ、プログラムの改変使用の防止を強化する
ことができる。
【0014】請求項7に記載の発明は、請求項6に記載
のコンピュータプログラムの実行方法において、予め用
意された少なくとも1つのチェックプログラム部分を記
憶する記憶手段から前記チェックプログラム部分を読み
出す工程をさらに有し、前記チェックプログラム実行工
程は、前記記憶手段内に記憶されたチェックプログラム
部分を実行することにより前記複数のチェックプログラ
ム部分のうちの少なくともいずれか1つに対する改変の
有無を検出すると共に、前記複数のチェックプログラム
部分のうちの少なくともいずれか1つを実行することに
より前記記憶手段内の前記チェックプログラム部分に対
する改変の有無を検出することを特徴とする。上記構成
によれば、記録媒体中のチェックプログラム部分のみな
らず、コンピュータシステムの記憶手段内に予め用意さ
れたチェックプログラム部分を含めて複数のチェックプ
ログラムによる多重的改変の検出が行われるので、プロ
グラムの改変使用をさらに効果的に防止することができ
る。
【0015】請求項8に記載の発明は、請求項6又は7
に記載のコンピュータプログラムの実行方法において、
前記チェックプログラム実行手段が全ての前記チェック
プログラム部分を実行した結果、前記チェックプログラ
ム部分の改変を検出しない場合に、前記コンピュータプ
ログラムを実行可能とする制御工程をさらに有すること
を特徴とする。上記構成によれば、全てのチェックプロ
グラムの改変に成功しない限り、必ずいずれかのチェッ
クプログラムが改変を検出するので、プログラムの改変
使用を確実に防止することができる。
【0016】請求項9に記載の発明は、コンピュータプ
ログラムを記録した記録媒体において、複数のチェック
プログラム部分であって、他の少なくとも1つの前記チ
ェックプログラム部分に対する改変の有無を検出するチ
ェックプログラム実行手段としてコンピュータシステム
を動作させるための複数のチェックプログラム部分を含
むように構成する。
【0017】上記構成により、各チェックプログラム部
分は、自己以外の少なくとも1つのチェックプログラム
部分の改変を検出する機能を有する。従って、複数のチ
ェックプログラム部分のうちのいくつかが改変された場
合でも、その改変を他のチェックプログラムが検出する
ことができ、プログラムの改変使用の防止を強化するこ
とができる。
【0018】請求項10に記載の発明は、請求項9に記
載の記録媒体において、前記チェックプログラム実行手
段が全ての前記チェックプログラム部分を実行した結
果、前記チェックプログラム部分の改変を検出しない場
合に、前記コンピュータプログラムを実行可能とする制
御手段として前記コンピュータシステムを動作させるた
めのプログラムをさらに記録して構成する。上記構成に
よれば、全てのチェックプログラムの改変に成功しない
限り、必ずいずれかのチェックプログラムが改変を検出
するので、プログラムの改変使用を確実に防止すること
ができる。
【0019】
【発明の実施の形態】以下、図面を参照して本発明の好
適な実施の形態について説明する。
【0020】図1に、本発明の実施形態にかかるコンピ
ュータシステムの概略構成を示す。図示のコンピュータ
システムは、CPU4、フレームメモリ10、スピーカ
14、RAM16、ROM18、入力装置20、及びC
D−ROMドライブ22がバス2に接続されて構成され
る。
【0021】プログラムが記録されたCD−ROM24
はCD−ROMドライブ22に挿入される。実行時に
は、CD−ROM22に記録されたプログラムはCPU
4の制御下でRAM16に展開され、実行される。
【0022】ROM18はシステムの動作に必要なプロ
グラムを予め記憶している。また、必要に応じて、CD
−ROMドライブ22に挿入されるCD−ROM24が
記憶しているプログラムに対して改変がなされていない
かをチェックするためのモジュール(後述する)を記憶
している。
【0023】入力装置20は通常はキーボード、マウス
などを含み、ユーザが必要な情報や指示を入力するため
に使用される。また、CD−ROM24に記録されたシ
ミュレーションソフトウェアやゲームソフトウェアを実
行する場合には、入力装置としてジョイスティックやゲ
ーム用コントローラなどを使用することができる。
【0024】フレームメモリ10にはモニタ8が接続さ
れている。フレームメモリ10はモニタ8に表示すべき
画像データを一時的に記憶する。フレームメモリ10に
記憶された画像データは、CPU4の制御下でモニタ8
上に表示される。また、スピーカ14はCPU4の制御
下で音声出力を制御する。
【0025】次に、本発明によるプログラムの多重監視
手法の概要について図2を参照して説明する。本発明に
おいては、プログラムの改変の有無を監視するためのチ
ェックプログラムを複数用意し、各チェックプログラム
が他のチェックプログラムのうちのいずれか(単数でも
複数でもよい)を監視するという手法を採用する。
【0026】図2に最も単純な場合として、2つの監視
モジュールが相互に監視を行う場合を示す。各監視モジ
ュールA、Bは、それぞれ保護すべきプログラムの一部
分である本体プログラムA、Bを含む。本体プログラム
A、Bは、例えば保護すべきプログラムの重要な部分の
記述自体とすることができる。また、各監視モジュール
A、Bは、相互に監視を行うためのチェックプログラム
A、Bを含む。即ち、監視モジュールA内のチェックプ
ログラムAはモジュールB内の本体プログラムB及びチ
ェックプログラムBの改変の有無を監視するためのプロ
グラムであり、監視モジュールB内のチェックプログラ
ムBはモジュールA内の本体プログラムA及びチェック
プログラムAの改変を監視するためのプログラムであ
る。また、チェックプログラムAがチェックを行う際に
必要なチェック情報が監視モジュールBに含められ、チ
ェックプログラムBがチェックを行うために必要な情報
が監視モジュールAに含められる。なお、チェックプロ
グラムの種類によっては、チェック情報を必要としない
場合もある。
【0027】今、チェック情報として各本体プログラム
のイメージが用意され、チェックプログラムA、Bが各
本体プログラムとイメージとを照合してチェックを行う
場合を考える。監視モジュールB内のチェック情報Aは
本体プログラムAのイメージであり、監視モジュールA
内のチェック情報Bは本体プログラムBのイメージであ
る。まず、チェックプログラムAは、モジュールB内の
チェック情報Aを本体プログラムAと照合し、両者が一
致しない場合には改変が行われたと判断する。同様に、
チェックプログラムBは、モジュールA内のチェック情
報Bを本体プログラムBと照合し、両者が一致しない場
合には改変が行われたと判断する。この時点で両者が一
致しない場合は、例えばCD−ROMなどのプログラム
の記録媒体の内容を書き換えた場合に相当する。よっ
て、このチェックにより、CD−ROMなどの記録媒体
自体への改変の有無を検知することができる。こうする
ことにより、チェックプログラムA、Bの両方が解読さ
れ、改変されない限り本体プログラムの実行は行われな
い。
【0028】上記のチェックで改変が検出されなかった
場合には、本体プログラムA、Bを実行するために、そ
れらの内容がメモリ(図1の例ではRAM18)に展開
される。ここで、チェックプログラムA、Bはメモリに
展開された状態の本体プログラムA、Bの内容とチェッ
ク情報A、Bとを照合する。いずれかに不一致が検出さ
れた場合は、CD−ROMなどの記録媒体内のプログラ
ムがメモリに展開された後で、メモリの記憶内容が改変
されたことになる。よって、メモリに展開された本体プ
ログラムA、Bの実行を禁止する。
【0029】こうして、改変されたプログラムの実行が
阻止される。また、上記のように、記録媒体内に記録さ
れた状態のプログラムと、メモリに展開された後のプロ
グラムの両者に対して2重のチェックを行うことで、両
方の改変方法に対するチェックを行うことができ、より
確実に改変を防止することができる。
【0030】次に、複数の監視モジュールによる多重監
視の種々の形態について説明する。図2に示した、2つ
の監視モジュールによる相互監視は最も簡素化された形
態である。本発明ではより多数の監視モジュールを組み
合わせて複雑な監視構造を作ることにより、チェックプ
ログラムの不正な改変に対する保護を強化することがで
きる。
【0031】例えば、図3に示す監視構造は、4個の監
視モジュールをリング(又はループ)方式でリンクさせ
たものであり、図4に示すのは複数のモジュールをツリ
ー方式でリンクさせた監視構造である。また、図5に示
すのは複数のリング(又はループ)を含むように監視モ
ジュールを組み合わせた複合方式の監視構造である。こ
のように、複数の監視モジュールを用いた監視構造を採
用すると、複数の監視モジュール内の全てのチェックプ
ログラムが改変されない限り、改変が検知される。即
ち、いずれかのチェックプログラムに対してなされた改
変を、そのチェックプログラムを含む監視モジュールを
監視する監視モジュールが検出することができる。従っ
て、チェックプログラムの改変を行う側は、全ての監視
モジュールの存在を見つけ、それらの監視関係(リンク
関係)を全て把握した上で全ての監視モジュール中のチ
ェックプログラムを同時に改変して無力化しない限り、
必ずいずれかの監視モジュールにより改変が検知される
ことになる。こうして複数の監視モジュールを用いる監
視構造を複雑化すれば、全てのチェックプログラムを改
変することは事実上不可能となり、プログラムの改変使
用を事実上ほぼ完全に防止することが可能となる。
【0032】なお、図2に示す例では、各監視モジュー
ルが保護すべき本体プログラムとチェックプログラムと
の両方を含むように構成しているが、監視モジュールに
本体プログラムを含めることは必ずしも必要ではない。
即ち、本体プログラムを含まない監視モジュールを監視
の目的のみで作成することもできる。例えば、1つのプ
ログラム中の複数の部分にチェックプログラムのみを含
む監視モジュールを含め、その場所におけるチェックが
正しく行われない場合はそれ以降のプログラムの進行を
禁止するようにすることができる。
【0033】次に、チェックプログラムが行う監視の具
体的な方法について述べる。本発明においては、従来か
ら使用されているプログラムの種々の改変チェック手法
のいずれを採用することもできる。図2に示す例では、
監視対象となるモジュール内に監視主体となるモジュー
ル内のプログラムのイメージを含め、両者の同一性を検
出することによりプログラムの監視(改変の有無の検
出)を行っている。この他に、例えば、上記イメージの
代わりに特定のチェックコードを各モジュール中に埋め
込み、そのチェックコードの同一性を検出してプログラ
ムの監視を行うこともできる。また、プログラムの一部
又は全部のチェックサムを検査することにより改変の有
無を検出することもできる。
【0034】次に、図1に示すシステムにおける上記モ
ジュールの動作例について説明する。上記モジュール
は、CD−ROM24及びROM18内に予め記憶して
おくことができる。
【0035】例えば、一つの態様として、複数の監視モ
ジュールをシステム内のROM18に記憶しておく。プ
ログラムの不正な使用を行おうとするユーザはシステム
1側が予め備えているチェックプログラム自体を無力化
するために、ROM18内に記憶されているモジュール
のチェックプログラムを解読し、改変しようとする。し
かし、複数のモジュールの全ての監視構造を解読し、全
ての改変に成功しなければ、いずれかのモジュールの監
視によりプログラムの改変が検知される。
【0036】別の態様として、複数の監視モジュールの
一部を本体プログラムと一緒にCD−ROM24内に記
録しておき、残りをROM18に記憶することができ
る。CD−ROM24内の監視モジュールは、本体プロ
グラムの実行時に一緒にシステムのRAM16に展開さ
れる。そして各監視モジュールのチェックプログラムが
動作する。この場合、プログラムを改変し、実行しよう
とするユーザは、RAM16内に展開されているプログ
ラム中の複数の監視モジュール及びROM18内の複数
の監視モジュールの全てについてチェックプログラムの
改変を成功させない限り、いずれかの監視モジュールが
改変を検知し、CD−ROM24内の本体プログラムの
実行は禁止される。
【0037】さらに別の方法として、複数の監視モジュ
ール全てをCD−ROM24側に記録することもでき
る。この場合も、各監視モジュールはRAM16に展開
され、チェック処理が実行される。従って、やはり全て
のチェックプログラムの改変に成功しない限り、本体プ
ログラムの実行は禁止される。
【0038】上記いずれの場合においても、チェックプ
ログラムは、CD−ROM又はROMに記憶された状態
のプログラムと、RAMに展開された後のプログラムに
対して既述の2重のチェックを実行することができる。
【0039】なお、上記実施形態ではプログラムの記録
媒体としてCD−ROMを例示したが、本発明の適用は
これには限定されない。即ち、本発明はMO、DVDな
どの他の種類の記録媒体に記録されたプログラムに適用
可能であり、さらには通信手段などを介して入手され、
ハードディスクに記憶された状態のプログラムにも適用
することができる。
【0040】
【発明の効果】請求項1、6及び9に記載の発明によれ
ば、複数のチェックプログラム部分のうちのいくつかが
改変された場合でも、その改変を他のチェックプログラ
ムが検出することができ、プログラムの改変使用の防止
を強化することができる。
【0041】請求項2及び7に記載の発明によれば、記
録媒体中のチェックプログラム部分のみならず、コンピ
ュータシステムの記憶手段内に予め用意されたチェック
プログラム部分を含めて複数のチェックプログラムによ
る多重的な改変の検出が行われるので、プログラムの改
変使用をさらに効果的に防止することができる。
【0042】請求項3、8及び10に記載の発明によれ
ば、全てのチェックプログラムの改変に成功しない限
り、必ずいずれかのチェックプログラムが改変を検出す
るので、プログラムの改変使用を確実に防止することが
できる。
【0043】請求項4及び5に記載の発明によれば、複
数のチェックプログラム間のリンク関係を複雑化するこ
とにより、全てのチェックプログラムの改変を事実上不
可能とすることができる。
【図面の簡単な説明】
【図1】本発明を適用するコンピュータシステムの構成
を示すブロック図である。
【図2】本発明による多重監視構造の一例を示す図であ
る。
【図3】本発明による多重監視構造の他の一例を示す図
である。
【図4】本発明による多重監視構造の他の一例を示す図
である。
【図5】本発明による多重監視構造の他の一例を示す図
である。
【符号の説明】 2…バス 4…CPU 6…GPU 8…モニタ 10…フレームメモリ 12…SPU 14…スピーカ 16…RAM 18…ROM 20…入力装置 22…CD−ROMドライブ 24…CD−ROM
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−134284(JP,A) 特開 平1−267733(JP,A) 特開 平9−50373(JP,A) 特開 平10−187435(JP,A) 特許2621799(JP,B2) 特許2738375(JP,B2) 特公 昭62−3460(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G06F 1/00 G06F 9/06 - 11/34 G06F 12/14

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のチェックプログラム部分を含むコ
    ンピュータプログラムを記録した記録媒体から前記複数
    のチェックプログラム部分を読み出す手段と、 前記チェックプログラム部分の各々を実行するチェック
    プログラム実行手段と、を備え、前記チェックプログラ
    ム実行手段の各々は、他の少なくとも1つの前記チェッ
    クプログラム部分に対する改変の有無を検出することを
    特徴とするコンピュータシステム。
  2. 【請求項2】 予め用意された少なくとも1つのチェッ
    クプログラム部分を記憶する記憶手段を有し、前記記憶
    手段内の前記チェックプログラム部分は、前記複数のチ
    ェックプログラム部分のうちの少なくともいずれか1つ
    に対する改変の有無を検出し、前記複数のチェックプロ
    グラム部分のうちの少なくともいずれか1つは前記記憶
    手段内の前記チェックプログラム部分に対する改変の有
    無を検出することを特徴とする請求項1に記載のコンピ
    ュータシステム。
  3. 【請求項3】 前記チェックプログラム実行手段が全て
    の前記チェックプログラム部分を実行した結果、前記チ
    ェックプログラム部分の改変を検出しない場合に、前記
    コンピュータプログラムを実行可能とする制御手段をさ
    らに有する請求項1又は2に記載のコンピュータシステ
    ム。
  4. 【請求項4】 前記複数のチェックプログラム部分は、
    各々が他の1つのチェックプログラム部分に対する改変
    の有無を検出するようにループ構造にリンクされること
    を特徴とする請求項1乃至3のいずれかに記載のコンピ
    ュータシステム。
  5. 【請求項5】 前記複数のチェックプログラム部分は、
    各々が自己に従属するチェックプログラム部分に対する
    改変の有無を検出するようにツリー構造にリンクされる
    ことを特徴とする請求項1乃至3のいずれかに記載のコ
    ンピュータシステム。
  6. 【請求項6】 複数のチェックプログラム部分を含むコ
    ンピュータプログラムを記録した記録媒体から前記複数
    のチェックプログラム部分を読み出す工程と、 全ての前記チェックプログラム部分について、前記チェ
    ックプログラム部分を実行するチェックプログラム実行
    工程と、を有し、前記チェックプログラム実行工程は、
    他の少なくとも1つの前記チェックプログラム部分に対
    する改変の有無を検出することを特徴とするコンピュー
    タプログラムの実行方法。
  7. 【請求項7】 予め用意された少なくとも1つのチェッ
    クプログラム部分を記憶する記憶手段から前記チェック
    プログラム部分を読み出す工程をさらに有し、 前記チェックプログラム実行工程は、前記記憶手段内に
    記憶されたチェックプログラム部分を実行することによ
    り前記複数のチェックプログラム部分のうちの少なくと
    もいずれか1つに対する改変の有無を検出すると共に、
    前記複数のチェックプログラム部分のうちの少なくとも
    いずれか1つを実行することにより前記記憶手段内の前
    記チェックプログラム部分に対する改変の有無を検出す
    ることを特徴とする請求項6に記載のコンピュータプロ
    グラムの実行方法。
  8. 【請求項8】 前記チェックプログラム実行手段が全て
    の前記チェックプログラム部分を実行した結果、前記チ
    ェックプログラム部分の改変を検出しない場合に、前記
    コンピュータプログラムを実行可能とする制御工程をさ
    らに有することを特徴とする請求項6又は7に記載のコ
    ンピュータプログラムの実行方法。
  9. 【請求項9】 複数のチェックプログラム部分であっ
    て、他の少なくとも1つの前記チェックプログラム部分
    に対する改変の有無を検出するチェックプログラム実行
    手段としてコンピュータシステムを動作させるための複
    数のチェックプログラム部分を含むコンピュータプログ
    ラムを記録した記録媒体。
  10. 【請求項10】 前記チェックプログラム実行手段が全
    ての前記チェックプログラム部分を実行した結果、前記
    チェックプログラム部分の改変を検出しない場合に、前
    記コンピュータプログラムを実行可能とする制御手段と
    して前記コンピュータシステムを動作させるためのプロ
    グラムをさらに記録した請求項9に記載の記録媒体。
JP11103256A 1999-04-09 1999-04-09 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体 Expired - Lifetime JP3056732B1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP11103256A JP3056732B1 (ja) 1999-04-09 1999-04-09 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体
US09/541,585 US6539266B1 (en) 1999-04-09 2000-04-03 Computer system, method of executing computer program, and computer program storage medium
DE60003253T DE60003253T2 (de) 1999-04-09 2000-04-05 Vorrichtung und Verfahren zur Vorbeugung von Computerprogrammänderungen und entsprechender Computerprogrammdatenträger.
AT00302896T ATE242894T1 (de) 1999-04-09 2000-04-05 Vorrichtung und verfahren zur vorbeugung von computerprogrammänderungen und entsprechender computerprogrammdatenträger.
EP00302896A EP1043659B1 (en) 1999-04-09 2000-04-05 System and method for preventing computer programs to be altered and computer program storage medium therefor.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11103256A JP3056732B1 (ja) 1999-04-09 1999-04-09 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP3056732B1 true JP3056732B1 (ja) 2000-06-26
JP2000293370A JP2000293370A (ja) 2000-10-20

Family

ID=14349374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11103256A Expired - Lifetime JP3056732B1 (ja) 1999-04-09 1999-04-09 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体

Country Status (5)

Country Link
US (1) US6539266B1 (ja)
EP (1) EP1043659B1 (ja)
JP (1) JP3056732B1 (ja)
AT (1) ATE242894T1 (ja)
DE (1) DE60003253T2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152877A (ja) * 2008-11-26 2010-07-08 Panasonic Corp ソフトウェア更新システム、管理装置、記録媒体及び集積回路
WO2011033773A1 (ja) 2009-09-17 2011-03-24 パナソニック株式会社 情報処理装置、管理装置、不正モジュール検知システム、不正モジュール検知方法、不正モジュール検知プログラムを記録している記録媒体、管理方法、管理プログラムを記録している記録媒体および集積回路
WO2012056656A1 (ja) 2010-10-28 2012-05-03 パナソニック株式会社 改ざん監視システム、保護制御モジュール及び検知モジュール
US8464347B2 (en) 2008-03-28 2013-06-11 Panasonic Corporation Software updating apparatus, software updating system, alteration verification method and alteration verification program
US8544093B2 (en) 2009-02-16 2013-09-24 Panasonic Corporation Illegal module identifying device, information processing device, illegal module identifying method, illegal module identifying program, integrated circuit, illegal module disabling system, and illegal module disabling method
US8600896B2 (en) 2008-03-28 2013-12-03 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
US8707430B2 (en) 2010-04-26 2014-04-22 Panasonic Corporation Tampering monitoring system, management apparatus, and management method
US8726374B2 (en) 2009-02-16 2014-05-13 Panasonic Corporation Tampering monitoring system, control device, and tampering control method
US8745735B2 (en) 2008-11-26 2014-06-03 Panasonic Corporation Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874087B1 (en) 1999-07-13 2005-03-29 International Business Machines Corporation Integrity checking an executable module and associated protected service provider module
JP2005522800A (ja) * 2002-04-13 2005-07-28 コンピュータ アソシエイツ シンク,インコーポレイテッド 悪性コードを検知するシステム及び方法
JP4729890B2 (ja) * 2004-09-07 2011-07-20 富士ゼロックス株式会社 ファイル管理装置
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US20100268521A1 (en) * 2009-04-17 2010-10-21 Rainer Heller Monitoring An Automation System
CN102473222B (zh) * 2010-04-26 2015-05-13 松下电器产业株式会社 篡改监视系统、管理装置及篡改管理方法
WO2014153680A1 (en) 2013-03-27 2014-10-02 Irdeto B.V. Protecting software application
JP2014235326A (ja) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 システム、情報処理装置、セキュアモジュール、および検証方法
JP6149523B2 (ja) * 2013-06-12 2017-06-21 株式会社島津製作所 ファイル改ざん検知システム
KR101482700B1 (ko) * 2013-09-27 2015-01-14 (주)잉카엔트웍스 해시를 이용한 프로그램의 무결성 검증 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251885A (en) * 1979-03-09 1981-02-17 International Business Machines Corporation Checking programmed controller operation
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JPH06242957A (ja) 1993-02-16 1994-09-02 Fujitsu Ltd プログラム実行制御装置
JP3563768B2 (ja) * 1994-05-31 2004-09-08 株式会社ルネサステクノロジ Romプログラム変更装置
US5564017A (en) * 1994-06-30 1996-10-08 International Business Machines Corporation Procedure for safely terminating network programs during network logoff
GB9514433D0 (en) * 1995-07-14 1995-09-13 Sgs Thomson Microelectronics Computer instruction execution
RU2115159C1 (ru) * 1995-10-24 1998-07-10 Владимир Олегович Сафонов Способ и устройство для проверки использования полей записей во время компиляции
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464347B2 (en) 2008-03-28 2013-06-11 Panasonic Corporation Software updating apparatus, software updating system, alteration verification method and alteration verification program
US8600896B2 (en) 2008-03-28 2013-12-03 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
JP2010152877A (ja) * 2008-11-26 2010-07-08 Panasonic Corp ソフトウェア更新システム、管理装置、記録媒体及び集積回路
US8745735B2 (en) 2008-11-26 2014-06-03 Panasonic Corporation Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit
US8544093B2 (en) 2009-02-16 2013-09-24 Panasonic Corporation Illegal module identifying device, information processing device, illegal module identifying method, illegal module identifying program, integrated circuit, illegal module disabling system, and illegal module disabling method
US8726374B2 (en) 2009-02-16 2014-05-13 Panasonic Corporation Tampering monitoring system, control device, and tampering control method
WO2011033773A1 (ja) 2009-09-17 2011-03-24 パナソニック株式会社 情報処理装置、管理装置、不正モジュール検知システム、不正モジュール検知方法、不正モジュール検知プログラムを記録している記録媒体、管理方法、管理プログラムを記録している記録媒体および集積回路
JP5411282B2 (ja) * 2009-09-17 2014-02-12 パナソニック株式会社 情報処理装置、管理装置、不正モジュール検知システム、不正モジュール検知方法、不正モジュール検知プログラムを記録している記録媒体、管理方法、管理プログラムを記録している記録媒体および集積回路
US8683214B2 (en) 2009-09-17 2014-03-25 Panasonic Corporation Method and device that verifies application program modules
US8707430B2 (en) 2010-04-26 2014-04-22 Panasonic Corporation Tampering monitoring system, management apparatus, and management method
WO2012056656A1 (ja) 2010-10-28 2012-05-03 パナソニック株式会社 改ざん監視システム、保護制御モジュール及び検知モジュール
US8769312B2 (en) 2010-10-28 2014-07-01 Panasonic Corporation Tampering monitoring system, protection control module, and detection module

Also Published As

Publication number Publication date
EP1043659A2 (en) 2000-10-11
DE60003253T2 (de) 2003-12-04
DE60003253D1 (de) 2003-07-17
ATE242894T1 (de) 2003-06-15
EP1043659B1 (en) 2003-06-11
EP1043659A3 (en) 2001-08-22
US6539266B1 (en) 2003-03-25
JP2000293370A (ja) 2000-10-20

Similar Documents

Publication Publication Date Title
JP3056732B1 (ja) コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体
EP1757008B1 (en) Securing software
US6880149B2 (en) Method for runtime code integrity validation using code block checksums
US7716495B2 (en) Protection against runtime function attacks
JP4844102B2 (ja) サブプログラム及びそのサブプログラムを実行する情報処理装置
US7346780B2 (en) Integrity ordainment and ascertainment of computer-executable instructions
US20090183263A1 (en) Simultaneous tamper-proofing and anti-piracy protection of software
US20030191940A1 (en) Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
JPH10333902A (ja) 改ざん検知機能付きコンピュータシステム
JPH07239779A (ja) データセキュリティ装置
JP2006511877A (ja) ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法
US7080249B1 (en) Code integrity verification that includes one or more cycles
CN102982262B (zh) 用于开发的操作系统的安全机制
JP2005085188A (ja) プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置
JP2006259848A (ja) プログラム実行装置、プログラム実行方法、および、プログラム
KR101203245B1 (ko) 소프트웨어 보안
JP3654165B2 (ja) コンピュータシステムに適用するライブラリのリンク方法及びそのプログラムを記録した記録媒体
JP2002351565A (ja) 不正使用防止システム、不正使用防止方法及び不正使用防止プログラム
JP4728619B2 (ja) ソフトウェアの改竄検出装置、改竄防止装置、改竄検出方法及び改竄防止方法
WO2008047830A1 (fr) Dispositif et procédé de surveillance de falsification de l'information d'application
JP5177205B2 (ja) ソフトウェアの改竄防止装置及び改竄防止方法
JPH10187435A (ja) プログラムの不正利用阻止方法及び装置
JPH0235549A (ja) プログラムのロード方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20140414

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term