JP2008287441A - 情報処理装置およびプログラムの不正利用抑止方法 - Google Patents

情報処理装置およびプログラムの不正利用抑止方法 Download PDF

Info

Publication number
JP2008287441A
JP2008287441A JP2007130975A JP2007130975A JP2008287441A JP 2008287441 A JP2008287441 A JP 2008287441A JP 2007130975 A JP2007130975 A JP 2007130975A JP 2007130975 A JP2007130975 A JP 2007130975A JP 2008287441 A JP2008287441 A JP 2008287441A
Authority
JP
Japan
Prior art keywords
unauthorized use
program
information processing
unauthorized
protection
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
JP2007130975A
Other languages
English (en)
Inventor
Masahiko Kojima
政彦 小島
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007130975A priority Critical patent/JP2008287441A/ja
Publication of JP2008287441A publication Critical patent/JP2008287441A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】プロテクションの強化と実行パフォーマンスとを高いレベルで両立させることを実現する情報処理装置を提供する。
【解決手段】不正利用検出モジュール1012は、重要データを扱うソフトウェアを構成するプログラムが不正利用されていないかを監視し、不正利用が検出されたら、不正利用回数記録モジュール1013が、HDD15の不正利用回数記録領域102に当該ソフトウェアの不正利用回数を記録する。そして、プロテクション強度制御モジュール1011は、当該ソフトウェアの実行が開始された際、HDD15の不正利用回数記録領域102に記録された当該ソフトウェアの不正利用回数を読み込み、その値がしきい値を越えていたら、当該ソフトウェアを構成するプログラムのプロテクションを強化する。
【選択図】 図2

Description

この発明は、例えば著作権保護されたコンテンツ等の重要データを扱うプログラムが動作するパーソナルコンピュータ等の情報処理装置に適用して好適なプログラムの不正利用抑止技術に関する。
近年、例えば著作権保護されたコンテンツを再生可能なソフトウェアを搭載するパーソナルコンピュータが広く普及している。この著作権保護されたコンテンツ等の重要データを扱うソフトウェアでは、重要データの盗用防止の観点から、重要データをどのように扱っているのかを不正者に見破られることは許されない。そのため、これまでも、ソフトウェアを不正利用から如何に保護するかといった提案が種々なされている(例えば特許文献1等参照)。
ソフトウェア保護のための方策としては、ソフトウェアをTRS(Tamper-Resistant Software)化することがもはや一般的となってきている。しかしながら、いわゆるクラッキングのレベルも日々進歩しているため、これに追従して、プログラムの難読化を目的とするTRSの強度も日々上げざるを得ないというのが実情である。
特開平11−328032号公報
TRS化には、種々のアプローチが既に存在するが、全般的には、プロテクションを強化させると、一方で、当該TRS化に伴うオーバヘッドの増加を招くという、いわゆるトレードオフの関係が成り立つと言える。よって、もし、ごく一部の不正者による不正利用に追従して、TRSの強度を一律に上げたならば、その他の大多数の正規者に不要な負担を強いることになってしまう。
この発明は、このような事情を考慮してなされたものであり、プロテクションの強化と実行パフォーマンスとを高いレベルで両立させることを実現する情報処理装置およびプログラムの不正利用抑止方法を提供することを目的とする。
この目的を達成するために、本発明の情報処理装置は、プログラムの不正利用を検出する不正利用検出手段と、前記不正利用検出手段が検出した不正利用の回数を記録する不正利用回数記録手段と、前記不正利用回数記録手段が記録した不正利用回数に基づき、前記プログラムの保護強度を制御する保護強度制御手段と、を具備することを特徴とする。
また、本発明のプログラムの不正利用抑止方法は、プログラムの不正利用を検出し、前記検出した不正利用の回数を記録し、前記記録した不正利用回数に基づき、前記プログラムの保護強度を制御する、ことを特徴とする。
本発明によれば、プロテクションの強化と実行パフォーマンスとを高いレベルで両立させることを実現する情報処理装置およびプログラムの不正利用抑止方法を提供できる。
以下、図面を参照して、この発明の一実施形態を説明する。図1に、本実施形態に係る情報処理装置(コンピュータ)1の概略構成例を示す。本コンピュータ1は、例えばノートブックタイプまたはデスクトップタイプ等のパーソナルコンピュータとして実現されている。
図1に示すように、このコンピュータ1は、CPU11、ノースブリッジ12、主メモリ13、サウスブリッジ14、磁気ディスク駆動装置(HDD)15、ネットワークコントローラ16等を備えている。CPU11と主メモリ13とは、ノースブリッジ12を経由して接続され、また、HDD15およびネットワークコントローラ16は、サウスブリッジ14に接続されている。
例えば著作権保護化されたコンテンツ等の重要データを扱う、不正利用の抑止が求められるソフトウェアを構成するプログラム群101は、HDD15に格納されており、オペレーティングシステム(OS)によって主メモリ13にロードされる。そして、あるプログラムの実行が開始されると、主メモリ13から当該プログラムの各命令が逐次CPU11にフェッチされる。
ここでは、プログラム(A)およびプログラム(B)の2つのプログラムで重要データを扱うソフトウェアが構成されているものと想定する。両者は、プログラム(A)からプログラム(B)が呼び出される関係にある。即ち、当該ソフトウェアの起動時、プログラム(A)およびプログラム(B)がロードされた後、まず、プログラム(A)の実行が開始され、このプログラム(A)によってプログラム(B)の実行が開始される。また、重要データに対する秘匿されるべき手続きは、プログラム(B)側にて実行されるものとする。そして、このプログラム(B)のプロテクションを強化したプログラム(B´)もHDD15に別途用意されている。なお、プログラム(B),(B´)は、共にTRS化により暗号化されており、その復号キーはプログラム(A)が保持し、各々の実行時にプログラム(A)によって適宜に復号される。
図2は、プログラム(A)101の機能ブロックを示す図である。図示のように、プログラム(A)101は、プロテクション強度制御モジュール1011、不正利用検出モジュール1012および不正利用回数記録モジュール1013を有している。
HDD15には、不正利用回数記録領域102が確保されており、ここには、当該ソフトウェアの過去の実行時に、不正利用検出モジュール1012が検出して不正利用回数記録モジュール1013が記録した不正利用回数が記録されている。
不正利用検出モジュール1012は、(1)デバッガによる攻撃を検出、(2)プログラムに不正パッチ(改ざん)が無いかを検査、(3)本来実行されるべきコードが実行されていない等のバイパス攻撃を検出、等を行うことにより、プログラムが不正利用されていないかどうかをチェックする。ここでは、その手法は問わない。
もし、この不正利用検出モジュール1012によってプログラムの不正利用が検出されたら、不正利用回数記録モジュール1013が、不正利用回数を更新し、HDD15の不正利用回数記録領域102に暗号化して記録する。
そして、プログラム(A)101は、起動されると、プロテクション強度制御モジュール1011が、この不正利用回数をHDD15の不正利用回数記録領域102から読み出し、その不正利用回数がしきい値を越えていないかを調べる。もし、越えていたら、プロテクション強度制御モジュール1011は、プログラム(B)をアンロードし、プログラム(B´)をロードする。即ち、図3に示すように、本コンピュータ1では、不正利用回数に基づき、プログラム(B)からプロテクションを強化したプログラム(B´)にプログラムを置き換えることが自動実行される。
つまり、本コンピュータ1では、パフォーマンスに影響のないレベルのプロテクションが施されたプログラムを実行することを基本とし、不正利用を試みようとしたケースに対してのみ、より強固のプロテクションに切り替えることで、プロテクションの強化と実行パフォーマンスとを高いレベルで両立させることを実現する。
なお、ここでは、説明を分かり易くするために、プログラム(B)からプロテクションを強化したプログラム(B´)というプログラム単位の置き換えを行う例を示したが、プログラム内の動作シーケンスやモジュール等、プログラム中のオブジェクトコードの一部を置き換えることも、ここで説明するプログラムの不正利用抑止手法の範疇である。
また、前述したように、重要データに対する秘匿されるべき手続きを実行するプログラム(B),(B)´は当然にTRS化されるが、不正利用のチェックや、このチェック結果に基づき、プログラム(B),(B´)のいずれを使用すべきかの判定ロジック等を有するプログラム(A)もTRS化を施すことが好ましい。
図4及び図5は、本コンピュータ1が実行するプログラムの不正利用抑止制御の基本原理を示すフローチャートである。
重要データを扱うソフトウェアを動作させる場合、当該ソフトウェアを構成するプログラム(A),(B)をHDD15から主メモリ13にロードし(図4ステップA1)、プログラム(A)を実行する(図4ステップA2)。
実行が開始されたプログラム(A)では、まず、プロテクション強度制御モジュール1011が、HDD15の不正利用回数記録領域102に記録された当該ソフトウェアの不正利用回数を読み込む(図5ステップB1)。プロテクション強度制御モジュール1011は、この読み込んだ不正利用回数がしきい値(N)を越えているかどうかを調べ(図5ステップB2)、越えていなければ(図5ステップB2のNO)、主メモリ13にロードされているプログラム(B)をそのまま実行する(図5ステップB3)。
一方、読み込んだ不正利用回数がしきい値(N)を越えていたら(図5ステップB2のYES)、プロテクション強度制御モジュール1011は、主メモリ13にロードされているプログラム(B)をアンロードし(図5ステップB4)、代わって、プロテクションを強化したプログラム(B´)を主メモリ13にロードする(図5ステップB5)。そして、プロテクション強度制御モジュール1011は、この主メモリ13にロードしたプログラム(B´)を実行する(図5ステップB6)。
不正利用検出モジュール1012は、プログラム(B)またはプログラム(B´)の不正利用が行われていないかを監視し(図5ステップB7)、不正利用が検出されると(図5ステップB8のYES)、不正利用回数記録モジュール1013が、HDD15の不正利用回数記録領域102に記録された当該ソフトウェアの不正利用回数を更新する(図5ステップB9)。
以上のように、本コンピュータ1によれば、プロテクションの強化と実行パフォーマンスとを高いレベルで両立させることが実現される。
なお、ここでは、重要データを扱うソフトウェアとして、プログラム(A)およびプログラム(B)の2つのプログラムで構成される唯一のソフトウェアのみを例示したが、重要データを扱うソフトウェアが複数存在する場合、HDD15の不正利用回数記録領域102に記録する不正利用回数は、各ソフトウェア毎で個別に管理しても良いし、複数のソフトウェア間で共用して管理しても良い。例えばある特定のソフトウェアが不正者からの攻撃を集中的に受けた場合、前者の場合は、そのソフトウェアのプロテクションのみが強化され、後者の場合、(本コンピュータ1は不正行為に供されているとして)すべてのソフトウェアのプロテクションが強化されることになる。
また、ここでは、重要データを扱うソフトウェア自身に、プログラムの不正利用を抑止するための機能(プロテクション強度制御モジュール1011、不正利用検出モジュール1012および不正利用回数記録モジュール1013)を搭載する例を説明したが、重要データを扱う複数のソフトウェアの不正利用有無を監視する例えばユーティリティプログラム等を別途用意し、このユーティリティプログラムに当該機能を搭載して一元的にプログラムの不正利用抑止のための制御を行わせるようにしても良い。
更に、ここでは、プログラム(B)のプロテクションを強化したプログラム(B´)が予めHDD15上に格納されている場合を例に説明したが、置き換えを実施する際、ネットワークコントローラ16を用いてネットワーク経由で他の情報処理装置(サーバ等)からダウンロードするようにしても良い。また、プログラム(A),(B),(B´)等の各プログラムは、DLL(Dynamic Link Library)に格納するようにしても良い。
このように、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
この発明の一実施形態に係る情報処理装置(コンピュータ)の概略構成を示す図 同実施形態のコンピュータ上で動作する、重要データを扱うソフトウェアを構成する一プログラムの機能ブロックを示す図 同実施形態のコンピュータが実施するプログラムの置き換えを説明するための概念図 同実施形態のコンピュータが実行するプログラムの不正利用抑止制御の基本原理を示す第1のフローチャート 同実施形態のコンピュータが実行するプログラムの不正利用抑止制御の基本原理を示す第2のフローチャート
符号の説明
11…CPU、12…ノースブリッジ、13…主メモリ、14…サウスブリッジ、15…HDD、16…ネットワークコントローラ、101…プログラム群、102…不正利用回数記録領域、1011…プロテクション強度制御モジュール、1012…不正利用検出モジュール1012、1013…不正利用回数記録モジュール。

Claims (8)

  1. プログラムの不正利用を検出する不正利用検出手段と、
    前記不正利用検出手段が検出した不正利用の回数を記録する不正利用回数記録手段と、
    前記不正利用回数記録手段が記録した不正利用回数に基づき、前記プログラムの保護強度を制御する保護強度制御手段と、
    を具備することを特徴とする情報処理装置。
  2. 前記保護強度制御手段は、前記プログラム中のオブジェクトコードを保護強度が異なる複数のオブジェクトコード間で置き替える手段を含むことを特徴とする請求項1記載の情報処理装置。
  3. 前記複数のオブジェクトコードを記憶するための記憶手段を具備し、
    前記保護強度制御手段は、置き換え対象の新オブジェクトコードを前記記憶手段からロードする手段を含む、
    ことを特徴とする請求項2記載の情報処理装置。
  4. 前記複数のオブジェクトコードをネットワークを介して他の情報処理装置から取得するための通信手段を具備し、
    前記保護強度制御手段は、置き換え対象の新オブジェクトコードを前記記憶手段からダウンロードする手段を含む、
    ことを特徴とする請求項2記載の情報処理装置。
  5. 前記不正利用検出手段は、デバッガによる攻撃検出、不正改ざん検査またはバイパス攻撃検出を行うことを特徴とする請求項1記載の情報処理装置。
  6. 前記不正利用回数記録手段は、不正利用回数をプログラム毎に記録し、
    前記保護強度制御手段は、前記不正利用回数記録手段が記録した不正利用回数がしきい値を越えたプログラムの保護強度を強化する、
    ことを特徴とする請求項1記載の情報処理装置。
  7. 前記保護強度制御手段は、前記不正利用回数記録手段が記録した不正利用回数の総数がしきい値を越えた場合、予め指定されたプログラムすべての保護強度を強化する、
    ことを特徴とする請求項1記載の情報処理装置。
  8. プログラムの不正利用を検出し、
    前記検出した不正利用の回数を記録し、
    前記記録した不正利用回数に基づき、前記プログラムの保護強度を制御する、
    することを特徴とするプログラムの不正利用抑止方法。
JP2007130975A 2007-05-16 2007-05-16 情報処理装置およびプログラムの不正利用抑止方法 Pending JP2008287441A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007130975A JP2008287441A (ja) 2007-05-16 2007-05-16 情報処理装置およびプログラムの不正利用抑止方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007130975A JP2008287441A (ja) 2007-05-16 2007-05-16 情報処理装置およびプログラムの不正利用抑止方法

Publications (1)

Publication Number Publication Date
JP2008287441A true JP2008287441A (ja) 2008-11-27

Family

ID=40147105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007130975A Pending JP2008287441A (ja) 2007-05-16 2007-05-16 情報処理装置およびプログラムの不正利用抑止方法

Country Status (1)

Country Link
JP (1) JP2008287441A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013507671A (ja) * 2009-10-12 2013-03-04 セーフネット インコーポレイテッド シェル・コードに埋め込まれたソフトウェア・ライセンス

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006090800A1 (ja) * 2005-02-25 2006-08-31 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、及びセキュア処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006090800A1 (ja) * 2005-02-25 2006-08-31 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、及びセキュア処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013507671A (ja) * 2009-10-12 2013-03-04 セーフネット インコーポレイテッド シェル・コードに埋め込まれたソフトウェア・ライセンス

Similar Documents

Publication Publication Date Title
EP3207485B1 (en) Code pointer authentication for hardware flow control
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
US7346781B2 (en) Initiating execution of a computer program from an encrypted version of a computer program
US8015608B2 (en) Systems and methods for preventing unauthorized use of digital content
US8250379B2 (en) Secure storage of temporary secrets
TWI567580B (zh) 用於防止惡意軟體執行的方法與系統
US20030115479A1 (en) Method and system for detecting computer malwares by scan of process memory after process initialization
US9390264B2 (en) Hardware-based stack control information protection
KR101567620B1 (ko) 데이터 처리 시스템 및 방법
JP2007514994A (ja) 耐タンパ・トラステッド仮想マシン
CN101228531A (zh) 执行装置
JP2005018725A (ja) 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法
US20150186681A1 (en) Method of encryption and decryption for shared library in open operating system
JP2010097550A (ja) ウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法
CN106326733A (zh) 管理移动终端中应用的方法和装置
Isohara et al. Lsm-based secure system monitoring using kernel protection schemes
JP2007072969A (ja) 動作履歴保護装置及び動作履歴保護プログラム
CN106570395A (zh) 操作系统命令的安全保护方法
JP2008287441A (ja) 情報処理装置およびプログラムの不正利用抑止方法
KR101300256B1 (ko) 동적분석 및 정적분석 방지를 통한 소프트웨어 실행파일 보호 방법, 그리고 그에 따른 소프트웨어 실행파일 보호 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
JP5081280B2 (ja) 可搬記憶媒体
Bar-El et al. DRM on open platforms-may be possible after all
WO2008047830A1 (fr) Dispositif et procédé de surveillance de falsification de l'information d'application
EP1393145A2 (en) Systems and methods for preventing unauthorized use of digital content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111101