JP2006511877A - ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法 - Google Patents

ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法 Download PDF

Info

Publication number
JP2006511877A
JP2006511877A JP2004564803A JP2004564803A JP2006511877A JP 2006511877 A JP2006511877 A JP 2006511877A JP 2004564803 A JP2004564803 A JP 2004564803A JP 2004564803 A JP2004564803 A JP 2004564803A JP 2006511877 A JP2006511877 A JP 2006511877A
Authority
JP
Japan
Prior art keywords
log
key
log entry
software
key value
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
JP2004564803A
Other languages
English (en)
Other versions
JP2006511877A5 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006511877A publication Critical patent/JP2006511877A/ja
Publication of JP2006511877A5 publication Critical patent/JP2006511877A5/ja
Pending 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/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Abstract

【課題】 クライアントが起点となるウェブ・サーバからセミトラステッド・ウェブ・サーバを介して制限付き情報にアクセスできるようにするための方法および装置を提供すること。
【解決手段】 ソフトウェアの侵入は、動的に展開する監査ログを使用して事前に対処することによって検出され、ここでログ・エントリは監査ログ内で生成され、鍵値は以前のログ・エントリおよび以前の鍵の両方に依存する一方向関数に基づいて展開される。生成されたログ・エントリおよび最終鍵値を備えた監査ログは、これらの値を分析することによってソフトウェアの侵入を検出するクリアリングハウスに伝送される。伝送されるログのサイズを縮小する努力により、ログ・エントリには同一の値が割り当てられ、これによって1つのログ・エントリおよび最終鍵値をクリアリングハウスに伝送するだけでよい。

Description

本発明は、一般にソフトウェア・セキュリティの分野に関する。より具体的に言えば、本発明はソフトウェア改ざんの検出に関する。
映画および音楽のデジタル技術の出現により、未許可コピーの問題が深刻になってきた。デジタル・コピーは完全なコピーであり、それらがインターネットを介して広く再配布されるのを防ぐために、多数のコンテンツ保護技術DTCP(Digital Transmission Content Protection)およびCPRM(Content Protection for Recordable Media)が開発されてきた。これらの技術はそのライセンスに「頑強性条件」を有し、こうしたライセンスの条件は改ざん防止インプリメンテーションを規定している。改ざん防止技術、特にソフトウェア改ざん防止技術の開発は、成長産業となってきた。
ほとんどの侵入検出機構は損傷が生じた後に使用されるものであるため、事後対応型(reactive)である。「事前対処型(proactive)セキュリティ」という用語は、最終的な損傷が生じる前のソフトウェアの実行など、処理中に不具合を検出することを示すものである。従来技術システムは、ソフトウェアのリバース・エンジニアリングに対抗するための事前対処型セキュリティ機構を提供していない。これらの従来技術システムは、リバース・エンジニアリングの試行中にハッカーが残した痕跡を識別することができない。
一般に、従来技術の侵入検出システムは事後対応型であり、既存の知識を使用して異常を監視する。こうした異常の一方向の監視は、「監査ログ」を維持することによるものである。監査ログ使用の一般的な概念は、長い間存在してきた。しかしながら「監査ログ」方式は、特定の「検出」目的に適用された場合により適切かつより実用的に働く。このシナリオでは、検出の目的でログに入力する必要のある情報を識別すること、およびその後に実行しなければならない検証プロセスが必要である。ログ内の情報がある種の特性を満たすようにすることは、時には、この方式を(ログ・サイズを小さくする、およびより効率的な検証を作り出すという点から見て)より効率的にするだけでなく、検証プロセスを保証することおよびターゲットの異常を検出することもできる。
他の関連する概念は、セキュリティに関する文献で確認および記載されてきた正式な特性である、「順方向セキュリティ(forward security)」である。順方向セキュリティには、改ざんが発生した後の過去のコードまたはログの破損を防止する方法が含まれる。将来のアクションは信頼できない可能性があるが、予め存在した信頼できる項目は損なわれずに残る。
米国特許第6006328号 米国特許第5673316号 欧州特許第EP1076279−A1号 米国特許第4757533号 外国特許第WO200077597 A1号 外国特許第WO299114953 A1号 外国特許第WO200077596 B1号 外国特許第WO9904530 A1号 Bellare等執筆の「Forward Integrity For Secure Audit Logs」 Song執筆の「Practical Forward Secure Group Signature Schemes」
ハッカーが改ざんに成功する前、および彼らが秘密鍵などの重要な情報へのアクセス権を取得する前に、事前に対処することにより進行中のリバース・エンジニアリング・プロセスを検出すること(およびそれにより、まだハッキングが初期段階のうちに止めることによって実際の損傷が発生するのを防ぐこと)が求められている。
したがって本発明の一態様は、クライアントが起点となるウェブ・サーバからセミトラステッド(semi-trusted)・ウェブ・サーバを介して制限付き情報にアクセスできるようにするための方法を提供することである。
本発明の他の態様は、クライアントが起点となるウェブ・サーバからセミトラステッド・ウェブ・サーバを介して制限付き情報にアクセスできるようにするための装置を提供することである。
本発明の他の態様は、認証用のクッキーを使用するセキュリティ・リスクを削減することである。
本発明の他の態様は、セミトラステッド・ウェブ・サーバに格納されたデータを保護することである。
本発明の一例では、クライアントは本明細書で開示された方法を使用して、セミトラステッド・ウェブ・サーバの制限付き情報へのアクセス権を取得することになる。
以下の参照文献では、事後対応型侵入検出機構について全般的に記載している。
Drakeに与えられた米国特許(第6006328号)は、コンピュータ・ソフトウェアの認証、保護、およびセキュリティに関する方法を開示している。この方法には、ぜい弱なコード(たとえば盗聴に対してぜい弱)をハードウェアと直接通信する(ぜい弱性が除去された)等価のコードに置き換えることが含まれ、これによってシステムの割り込みまたは非認識ソフトウェアの盗聴を許可する他の機能が使用禁止になる。改ざん検出技法は、ソフトウェア内で使用されるかまたはソフトウェアによってアクセスされ、改ざんが検出された場合は、以後IDデータがルーチンに入力されないようにするものである。この開示された発明では、RAMまたは他のイメージのコード・チェックサムの実行、メモリと実行可能コードの他の格納済みコピーとの比較および入力プロセスの復号、またはそのいずれか一方、実行可能環境の検査、実行可能サイズと予測値との比較、第三者またはプロセスへの認証失敗の詳細についての通知および伝送またはそのいずれか一方、ならびに、(入力ルーチンまたはセキュアな入力プロセスの)ユーザの使用および詳細またはそのいずれか一方に関するログの記録を提供している。
Auerbach等に与えられた米国特許(第5673316号)は、暗号化エンベロープの作成および配布を提供するものである。各部分が部分暗号化鍵および公開鍵によって暗号化される、情報部分の集約を伴うエンベロープ(envelope)が開示されている。その後このリストは、署名を生成するために秘密鍵によって署名され、同じくエンベロープに含められる。
Pearsonに与えられた欧州特許(第EP1076279−A1号)は、署名済みバージョンおよび公開鍵証明書を参照しながら保全性がチェックされる、ライセンス関連コードを備えたコンピュータ・プラットフォームを開示している。コンピュータ・プラットフォームまたは信頼モジュールは、ユーザの予測どおりに動作する信頼環境でライセンシング・チェックが実行可能な、改ざん防止構成要素を形成する。関連するクリアリングハウス(clearinghouse)機構は、データに関する登録および支払いを実行可能にする。このシステムは、ローカル・ユーザまたはリモート・エンティティのいずれかによるプラットフォームの保全性の検証も実行可能にする。
Allen等に与えられた米国特許(第4757533号)は、ハードウェアとソフトウェアとを組み合わせてユーザおよびファイル・アクセスの改ざん防止保護提供する、パーソナル・マイクロコンピュータ用のセキュリティ・システムを開示している。開示されたチップのうちの1つは監査証跡ログ、保護および暗号化システム・フラグ、ならびにユーザアクセス権を提供し、このチップは正当なユーザのみがアクセス権を得られることを保証する。
外国特許第WO200077597 A1号、第WO299114953 A1号、および第WO200077596 B1号は、全体として、変換されたコードの監視可能オペレーションをオリジナルのソフトウェア・コードの意図から切り離すための、コンピュータ・ソフトウェア・コード内のデータ流れの変換を含む、改ざん抵抗方法を開示している。この方法は、コンピュータ・ソフトウェアを改ざんおよびリバース・エンジニアリングに対して強くするためのものである。
Stanton等に与えられた外国特許(第WO9904530 A1号)は、改ざんを防止するためにデータ暗号化鍵として使用するためのセッション鍵によるファイル暗号化方法を開示している。この方法は、法的機関によるファイルへの緊急アクセスを事項可能にする、共用秘密鍵または公開秘密鍵暗号化システムに基づく強力な暗号化アルゴリズムを使用している。
Bellare等執筆の「Forward Integrity For Secure Audit Logs(セキュアな監査ログのための順方向保全性)」と題する非特許文献では、監査ログのセキュリティを維持するための方法を提供している。開示された適用分野には、侵入検出または責任能力に関する監査ログ(たとえばsyslogdデータ)の保護、通信セキュリティ、およびモバイル・エージェントに関する計算の部分結果の認証が含まれる。
Song執筆の「Practical Forward Secure Group Signature Schemes(実用的な順方向保護グループ署名方式)」と題する非特許文献は、鍵の暴露によって生じる損害を軽減するための順方向セキュリティ方式を提供している。
上記参照文献の精密な長所、特徴、および利点がどのようなものであっても、決して本発明の目的を達成または満たすものではない。
事前に対処することによりソフトウェアの改ざんを検出するための方式が開示され、この検出は、動的に展開する監査ログおよび鍵値に基づく事前対処型である。鍵値は、以前のログ・エントリおよび以前の鍵の両方に依存する一方向関数に基づいて展開される。監査ログ(生成済みログ・エントリを備える)および最終鍵値はどちらもクリアリングハウスに伝送され、これらの値を分析することによってソフトウェアの侵入を検出する。特定の実施形態では、ログ・エントリ値が同一であるため、伝送されるログのサイズが縮小される。このようにして本発明は、「保全性チェック」をログに記録することにより、保全性チェックを使用してソフトウェア実行中に進行中のハッキング・プロセスを検出する。開示された方法は、「保全性チェック」と「順方向セキュリティ」を1つの作業方式に組み合せ、この方式を適用して、ハッキング・プロセスが検出されずにいることができないような方法でハッカーによるソフトウェアの改ざんを事前に対処することによって検出する。
拡張された実施形態では、さらに本発明の方式は検出された改ざんに応答するステップを有し、この応答は、ソフトウェア・コード・ユーザの切り離し、ソフトウェア・コード・ユーザのデバイス鍵の呼び出し、ソフトウェア・コード・ユーザからの追加コンテンツ要求の拒否、ユーザに送信されるソフトウェア・コードまたはコンテンツにおける保全性チェックの回数およびタイプの増加、前記監査ログおよび最終鍵の定期的伝送の頻度の増加、ならびに前記検出された改ざんに関するシステム管理者へのアドバイスのうちのいずれか、またはこれらの組合せを有する。
他の拡張された実施形態では、ログ・エントリ異常が所定のしきい値を超えているかどうかを判別することによって、改ざんが(クリアリングハウスで)検出される。所定のしきい値を超えた場合、クリアリングハウスは上記応答のうちのいずれかを使用することができる。
本発明について好ましい実施形態で例示および説明するが、本発明は多くの異なる構成、形式、および材料で生成することができる。本発明の好ましい実施形態は、本開示が本発明の原理および関連するその構造に関する機能上の仕様を例示するものとしてみなされるべきであり、本発明が例示された実施形態に限定されることを意図するものでないことを理解した上で、図面に記載され、本明細書で詳細に説明される。当業者であれば、本発明の範囲内で多くの他の可能な変形形態を想起されるであろう。
本明細書全体を通じて使用される「ユーザ」という用語は、ソフトウェア・コード(ウェブ・ブラウザ・プログラム、サウンド・カード・ドライバ、ゲーム・コンソール・プログラム、Java(登録商標)アプレット、あるいは、イメージ、音楽、またはビデオ・ファイルなどのマルチメディア・コンテンツに埋め込まれたマクロに関する、ソフトウェア・コードなど)およびログを使用して改ざんを試みる可能性のある、信頼できないコンピュータ(たとえばセットトップ・ボックス、PC、PDA、ビデオ・ゲーム・コンソールなど)のオペレータを指すものである。さらに「ログ」という用語は、ソフトウェア・コードの実行に関して発生する内容を記述するエントリの集合を使用する、監査証跡を指すものである。一実施では、エントリは、ソフトウェア・コード(たとえば、コードのブロックに関するチェックサム)に埋め込まれこれによって実行される、保全性チェックの結果を記述する。
本発明は、異常を検出するために監査証跡を利用するシステムおよび方法を提供する。ソフトウェアがクライアント側(たとえば敵対的なユーザのマシン)で実行されているというシナリオが想起されることに留意されたい。この場合、脅威は信頼できないユーザ自身から生じる。単にハッカーがコードを使用したアクセスおよび改ざんが可能なだけでなく、監査証跡を使用した改ざんも可能であるという理由から、この種の脅威には特別な注意が払われる。したがってこのシナリオでは、ハッカーが証跡内の任意の古いエントリを気付かれないように削除する可能性がないように、証跡それ自体を保護する必要がある。しばらく後にはハッカーがログイン機構を完全に理解する可能性があり、それ以降の証跡内の新しいエントリは信用できなくなる。しかしながら本発明に基づき、ハッカーはログ内のエントリをさかのぼって修正することはできない。
本明細書に記載の本発明は、事前に対処することによってソフトウェア改ざんプロセスを検出するために、「順方向セキュリティ」特性をソフトウェア実行中に保全性チェックに適用する方式である。ユーザが新しいコンテンツを取得するために接続した場合、ログの切捨て、ログの削除、または古い有効ログの置換があれば容易に検出される。ハッカーが特定のソフトウェア・プログラムを完全に理解するまでには多くの「保全性チェック」障害を引き起こし、これがログに記録されることが想定される。したがって本発明に基づき、ハッカーが検出されることなくソフトウェアをリバース・エンジニアリングすることは不可能である。
順方向セキュリティは、ログに入ってくる情報を動的に展開することによって達成される。たとえば、実行開始時には乱数が鍵として選択され、その後この鍵を使用してエントリがログに記録される。この鍵は一方向関数を使用して新しい鍵として展開され、その後古い鍵は消去(上書き)される。この次には、新しい鍵を使用してログ内の情報が記録される。この鍵は、情報の生成、記録する情報の決定、記録の暗号化、または任意の他の用途に使用することができる。したがってログに入力されるエントリは、一方向関数を使用して展開される鍵の関数である。たとえばハッカーは、時間tで自分の動作がログに記録されていることを発見するが、ログを正しく見せようとしてすでにログに記録された情報を偽造するために、前に戻って以前の鍵(時間t以前)を見つけ出すことはできない。
ログは、定期的にクリアリングハウスに接続されて返送されることになる(クリアリングハウスとは、定期的にログを受信し、ログ・コンテンツを正しいログ・コンテンツと比較することによってログをチェックして改ざんが発生したかどうかを判別するエンティティのことである)。同時に、ソフトウェアがコードの実行に伴って発生した内容を記録する一方で、同じ初期乱数(鍵)はクリアリングハウス内で同期化された方法で展開する。クリアリングハウスは、ログに入力されたはずの正確な情報を知っている。その後クリアリングハウス内で発生する検証/検出プロセスは、戻りログと、クリアリングハウスが接続から接続へと展開を続ける同じ展開鍵を使用して計算した正しい情報との間の、単純な比較とすることができる。信頼できないユーザが古い有効なログを置換すると、鍵は正しくなくなる。ユーザが切り捨てられたログを提出すると、次の時にそのログが伝送され、鍵は正しくなくなる。ログ内で最初に異常が検出されると、クリアリングハウスは管理者に警告を発することができる。管理者は次の時に同じユーザに対してより多くの注意を払うか、またはユーザに警告を与えるよう選択することができる。「十分な」(たとえばしきい値を超える)改ざんの証拠が蓄積された場合、ユーザをネットワークから切り離し、今後新しいコンテンツの配布を受信できないようにすることができる。
方式に関連する基本ステップは、以下のとおりである。
(1)保全性チェックを実行する場所、および必要な保全性チェックのタイプを決定する。すべてのタイプの保全性チェックがこの範囲内にある。たとえば、あるコード・ブロックに関するチェックサムのテストが、保全性チェックの1つである場合がある。
(2)C2_G、MD5、またはRSAなどの一方向関数を決定する。C2_G(Cryptomeria一方向関数)は、CPRMと呼ばれるよく知られたコンテンツ保護方式で使用される一方向関数である。MD5(Message Digest #5)は、デジタル署名オペレーションで暗号化ハッシュとして一般に使用される一方向関数である。RSAは、クラス公開鍵暗号化アルゴリズムである。RSA暗号化アルゴリズムは、関連する秘密鍵を含まないあらゆる者に対して一方向関数として働く。
(3)ステップ(1)で決定された時点でログ・エントリが生成され、それが実行されるときに一方向関数を使用して鍵が展開されるように、保全性チェック情報をコードに埋め込んで保護する。
(4)ログをクリアリングハウスに返送し、クリアリングハウスがログを検証して、改ざんプロセスを検出するかまたは改ざんが発生していないかどうかを判別する。
図1は、鍵の進行がログ・エントリ値と無関係である、一般的な方法を示す図である。ログのサイズには制限がない。一方向関数f1を使用して、鍵f1(k_i)−>k_i+1を保全性チェック値v_iとは無関係に展開する。別のf2関数は、保全性チェック値v_iで鍵を使用してログ・エントリを生成する。関数f2は、たとえば値v_iを使用した鍵k_iの暗号化の場合があるが、他のf2関数に置き換えることもできる。鍵は一方向関数を使用して展開されるため、ハッカーが改ざんに成功して現在の鍵k_iを取得した時点tで、ハッカーは依然として前の鍵k_0...k_(i−1)を知ることはできない。したがってハッカーは、前に戻ってすでに記録されているログ・エントリを偽造することはできない。ログ・エントリがクリアリングハウスに返送されると、クリアリングハウスはf2の計算を繰り返し、ログ・エントリが正しく暗号化されていること、および保全性チェック値が改ざんの発生を示していないこと、という両方の意味でログ・エントリが正しいかどうかを検証することができる。何らかの保全性チェック値v_iでハッキング・プロセスが失敗するため、ログ・エントリは誤りとなり、クリアリングハウスによって検出することができる。
本発明の基本的な(前述のような)方法では、ステップ(3)〜(4)に関連付けられた2つの異なる実施形態がある。この2つの実施形態それぞれについて、以下で簡単に説明する。
実施形態A:図2は、鍵の進行がログ・エントリ値を使用する、本発明の方法を示す図である。この方式では、一方向関数は現在の鍵k_iおよび現在の保全性チェック値v_iの両方を使用して、新しい鍵k_(i+1)を生成する。ログには、現在の保全性チェック値v_iのみが入力される。ログ・エントリは、取得された最終の鍵k_nと共にクリアリングハウスに返送される。ソフトウェアがハッキングされ、ハッカーが何らかの保全性チェック値v_iを使用して改ざんした場合、この鍵の展開は誤りとなる。したがって、クリアリングハウスはk_0およびログ・エントリ値v_0...v_nを使用して鍵を展開し、改ざんプロセスを検出することができる。第1に、観察されたログ・エントリv_iを使用して、戻されたk_nが実際に取得可能であるかどうかを検証する。これは、ハッカーがログ内でいずれかのv_i値を使用して改ざんを行っていないかどうかを判別するものである。その後クリアリングハウスは、実際のv_i値をチェックして、ソフトウェアの実行中に何らかの改ざんの証拠がないかどうかを調べる。
その後ハッカーは、格納されているはずの正しい保全性チェック値v_iを習得することができるが、残念ながらこれはハッカーにとって何の役にも立たない。第1に、関数fはkおよびvの両方に関するものである。ハッカーは保全性チェックに失敗し、誤った保全性チェック値vを獲得することで、最初に失敗を犯す。最終的にハッカーがハッキングに成功し、自分のハッキング・プロセス中に正しい保全性チェック値vを見つけ出した場合でも、ハッカーは現在の鍵k_nしか知らず、以前の鍵k_0...k_(n−1)を知ることはできないため、依然として正しいk_n値が何であるかを知ることはできない。したがって、クリアリングハウスは常にハッキング・プロセスを検出することができる。第2に、ハッカーがすべての正しい保全性チェック値v_iをログ内に復元しようとした場合、値k_nが観察されたv_iと一致しないため、クリアリングハウスにはハッカーがログを偽造しようとしていることがわかる。
したがって実施形態Aは、実際のログをクリアな形(現在の保全性チェック値v_iのみが入力されている)にすることができる。この態様は、ある種の適用分野で有利に活用することができる。
実施形態B:図3は、本発明の単一鍵の実施形態を示す図である。以前の実施形態では、ログ全体をクリアリングハウスに返送する必要がある。長い間には、ログ自体が非常に大きくなる可能性がある。この実施形態Bは図1の一般的な方法の変形形態であり、ログのサイズを縮小することが目的である。保全性チェック時にチェックが成功している場合は、必ず保全性チェック値を固定デフォルト値vで構成することが可能である。言い換えれば、保全性チェックが失敗した場合に限ってチェック値はv以外の値となる。この場合、正しいログは単なる値vのNシーケンスであるため、格納してクリアリングハウスに返送する必要のある値は最終のk_nおよびログの長さNのみである。クリアリングハウスは、関数fを使用してk_nが正しいかどうかを検証するために鍵を計算することが可能である。ソフトウェアの実行中にすべての保全性チェックが成功すると、最終のk_nは正しいはずである。実行中にいずれかの保全性チェックが失敗した場合、保全性チェック値はvとは異なり、鍵展開プロセスは誤りである(すなわち、fは一方向関数であるため、正しい値は二度と生成できない)。
クリアリングハウス内で実行される検証計算プロセスを減らすために、任意の有効鍵値k_iが共通の特性を共用し、無効な鍵値とは異なるように、一方向関数fが選択される。その後クリアリングハウスは、その特性を保持しているかどうかのみを検証すればよい。鍵展開プロセスを再度実行する必要はない。たとえば、一方向関数がRSAと同様の計算であり、v=1である場合、以下のようになる。
=(v ki−1 mod pq (pおよびqは大きな素数)
その後クリアリングハウスは、以下のように検証することができる。
=k 3n mod pq
ハッカーまたは因数pおよびqを知らない者は(3n)乗根のmod pqを取って鍵展開をさかのぼることはできないため、順方向セキュリティ特性が維持される。
ユーザが電源を切ることによってkの展開がリセットされないように、鍵k_iは不揮発性メモリに格納する必要がある。エンド・ユーザにとって以前の値の復元が困難であることも重要であるため、ファイルにk_iを格納するだけでは不十分である。本発明は、コンテンツ鍵および使用カウントを格納するのとまったく同じ問題を有する、コンテンツ保護アプリケーションでの使用が想起されることに留意されたい。
本発明の他の拡張には、ログが固定サイズを有し、この固定サイズを超える状況が発生した場合にラッピングを使用することが含まれる。実施形態Bは、この極端な場合である(実施形態Bはサイズ1のログと考えることができる)。図1の一般的な方法では、ログが固定長Nを有する場合、クリアリングハウスが記録されているログ・エントリの合計数を知っている限り、ラッピングによってたとえ一部が失われてもすべては依然として良好に働く。クリアリングハウスは合計数を使用して鍵の展開を計算し、最後のNエントリを読み取ることができる。以前のエントリが上書きされることになるが、固定長のログがある場合は不可避であることに留意されたい。しかしながら実施形態Aでは、さらにわずかな助けが必要である。何らかのログ・エントリが上書されたためにこれを失った場合、クリアリングハウスは鍵の展開を計算して最終のN値を読み取ることはできない。
したがって本発明は、「保全性チェック」をログに記録することによって、保全性チェックを使用してソフトウェアの実行中に進行中のハッキング・プロセスを検出する。開示された方法では「保全性チェック」および「順方向セキュリティ」を1つの作業方式に組み合せ、この方式を適用して、ハッキング・プロセスが検出されずにいることができないような方法でハッカーによるソフトウェアの改ざんを事前に対処することによって検出する。
図4は、本発明の前述の実施形態(AおよびB)を実施するシステム400の概要を示す図である。ブロック402は、埋め込まれた保全性チェックを備えたソフトウェア・コードのブロックを表す。前述のように様々な保全性チェックが想起される。たとえば保全性チェックは、ソフトウェア・コードのブロック402でチェックサムをテストすることができる。ブロック404および406は、それぞれ監査ログおよび展開する鍵値を表す。一方向関数408を使用して鍵値406が展開され、ここで一方向関数は以前のログ・エントリ(監査ログ404内)および以前の鍵の両方に依存する。特定の実施形態では、鍵値は不揮発性メモリ405に格納される。監査ログ内の値および最終鍵値はクリアリングハウス410に伝送され、そこでソフトウェアの侵入を検出するために(一方向関数を使用して一連の鍵値を再生成すること、およびこの一連の鍵と404のログ・エントリに含まれた鍵とを比較することによって)これらの値が分析される。最後に、クリアリングハウスがソフトウェアの侵入を検出した場合、応答412がシステム管理者などの該当する担当者414に送信される。鍵展開が実行される場所は、本発明の範囲を制限するために使用されるものでないことを理解されたい。たとえば前述の鍵展開方式は、クリアリングハウス410で実施することができる。
さらに本発明は、堅固に最適化するための1つまたは複数のモジュールの実施に含まれるコンピュータ読取り可能プログラム・コードを有する製品を提供する。さらに本発明は、本発明に関連付けられた方法のうちのいずれかを実行するようにコンピュータに指示するために使用可能なプログラム・コードを格納している記憶媒体である、コンピュータ・プログラム・コード・ベースの製品を含む。コンピュータ記憶媒体は、CD−ROM、DVD、磁気テープ、光ディスク、ハード・ドライブ、フロッピィ・ディスク、強誘電性メモリ、フラッシュ・メモリ、強磁性メモリ、光ストレージ、電荷結合素子、磁気または光カード、スマート・カード、EEPROM、EPROM、RAM、ROM、DRAM、SRAM、SDRAM、あるいは、任意の他の適切な静的または動的なメモリまたはデータ記憶デバイスのうちのいずれかを含むが、これらに限定されるものではない。
コンピュータ・プログラム・コード・ベースの製品では、(a)監査ログ内にログ・エントリを生成するため、(b)以前のログ・エントリおよび以前の鍵の両方に依存した一方向関数に基づいて、鍵値を展開するため、および(c)生成されたログ・エントリを備えた監査ログおよび最終鍵値をクリアリングハウスに伝送し、クリアリングハウスが前記ログ・エントリおよび前記最終鍵値を分析することによってソフトウェアの侵入を検出するのを支援するための、ソフトウェア・モジュールが実施される。
前述の実施形態では、システムおよび方法を効果的に実施して、事前に対処することによってソフトウェアの改ざんを検出するためのシステムおよび方法が示される。様々な好ましい実施形態について図示および説明してきたが、こうした開示によって本発明を制限することを意図するものではなく、むしろ添付の特許請求の範囲に定義されるような本発明の趣旨および範囲内にあるすべての修正および代替の構造をカバーすることを意図するものであることを理解されよう。例えば本発明は、ソフトウェア・コードのタイプ、保全性チェックのタイプ、一方向関数のタイプ、またはコンピューティング環境によって制限されるものではない。
上記の拡張は様々なコンピューティング環境で実施される。たとえば本発明は、従来のIBM PCまたはその等価物、マルチノード・システム(たとえばLAN)、またはネットワーキング・システム(たとえばインターネット、WWW、無線ウェブ)で実施可能である。すべてのプログラミングおよびそれらに関連するデータは、静的または動的なコンピュータ・メモリに格納され、従来のコンピュータ・ストレージ、ディスプレイ(すなわちCRT)、およびハード・コピー(すなわち印刷された)フォーマットまたはそのいずれか、のうちのいずれかで、ユーザが取り出すことができる。本発明のプログラミングは、セキュリティ/暗号化プログラミングの分野の技術者によって実施可能である。
鍵の進行がログ・エントリ値と無関係である、一般的な方法を示す図である。 鍵の進行がログ・エントリ値を使用する、本発明の方法の一実施形態を示す図である。 本発明の単一鍵の実施形態を示す図である。 図2および3に開示された実施形態を実施するシステムの概要を示す図である。

Claims (33)

  1. 動的に展開する監査ログを使用して事前に対処することによってソフトウェアの侵入を検出するための方法であって、
    a.前記監査ログ内にログ・エントリを生成するステップと、
    b.一方向関数に基づいて鍵値を展開するステップであって、前記一方向関数が以前のログ・エントリおよび以前の鍵の両方に依存するステップと、
    c.生成された前記ログ・エントリを備えた前記監査ログおよび最終鍵値を、前記ログ・エントリおよび前記最終鍵値を分析することによってソフトウェアの侵入を検出するクリアリングハウスに伝送するステップと、
    を有する方法。
  2. 前記ログ・エントリがソフトウェアの実行に基づいた保全性チェックの結果である、請求項1に記載の方法。
  3. 前記保全性チェックがソフトウェア・コードの1セクションでのチェックサムの計算を含む、請求項2に記載の方法。
  4. 前記ログ・エントリは値が同一である、請求項1に記載の方法。
  5. 前記監査ログはサイズが限定されており、それによって前記ログ・エントリはラップ・アラウンドする監査ログの形を取る、請求項1に記載の方法。
  6. 以前の鍵は次の鍵値が作成された後に削除される、請求項1に記載の方法。
  7. 前記鍵の展開ステップは前記クリアリングハウスとは無関係に実行される、請求項1に記載の方法。
  8. 前記クリアリングハウスによる分析が、前記一方向関数を使用して一連の鍵値を再生成するステップと、前記一連の鍵値と前記ログ・エントリに含まれた鍵値とを比較するステップを含む、請求項1に記載の方法。
  9. 前記鍵値の展開が前記生成ステップで生じる、請求項1に記載の方法。
  10. 前記鍵値の展開が前記伝送ステップで生じる、請求項1に記載の方法。
  11. 前記鍵値が数学的に独特な特性を有する、請求項1に記載の方法。
  12. 前記鍵値が不揮発性メモリに格納される、請求項1に記載の方法。
  13. 前記伝送が定期的に発生する、請求項1に記載の方法。
  14. 前記伝送がソフトウェア・コードの実行中に第三者を介して発生する、請求項1に記載の方法。
  15. 前記クリアリングハウスが、ログ・エントリ異常のしきい値を超えた場合にソフトウェアの改ざんを検出する、請求項1に記載の方法。
  16. 動的に展開する監査ログを使用して事前に対処することによってソフトウェアの侵入を検出するのを支援するために、コンピュータ読取り可能プログラム・コードが具体化されたコンピュータ使用可能媒体に記録されたコンピュータ・プログラムであって、前記媒体が、
    a.前記監査ログ内にログ・エントリを生成するコンピュータ読取り可能プログラム・コードと、
    b.一方向関数に基づいて鍵値を展開するコンピュータ読取り可能プログラム・コードであって、前記一方向関数が以前のログ・エントリおよび以前の鍵の両方に依存するコンピュータ読取り可能プログラム・コードと、
    c.生成された前記ログ・エントリを備えた前記監査ログおよび最終鍵値を、前記ログ・エントリおよび前記最終鍵値を分析することによってソフトウェアの侵入を検出するクリアリングハウスに伝送するのを支援するコンピュータ読取り可能プログラム・コードと、
    を有するコンピュータ・プログラム。
  17. 動的に展開する監査ログを使用して事前に対処することによってソフトウェアの侵入を検出するための方法であって、
    a.保全性チェックをソフトウェア・コードに埋め込むステップと、
    b.前記監査ログ内に同一のログ・エントリ値を備えたログ・エントリを生成するステップと、
    c.一方向関数に基づいて鍵値を展開するステップであって、前記一方向関数が前記同一のログ・エントリ値および以前の鍵の両方に依存するステップと、
    d.前記同一のログ・エントリ値および最終鍵値を、前記同一のログ・エントリ値および最終鍵値を分析することによってソフトウェアの侵入を検出するクリアリングハウスに伝送するステップと、
    を有する方法。
  18. 前記ソフトウェア・コードが、ウェブ・ブラウザ、サウンド・カード・ドライバ、ゲーム・コンソール・プログラム、Javaアプレット、他のデジタル・コンテンツに埋め込まれたマクロを含むことができる、請求項17に記載の方法。
  19. 前記デジタル・コンテンツが、イメージ、音楽、ビデオ、またはデータベース・ファイルのうちのいずれかを有する、請求項18に記載の方法。
  20. 前記方法が検出された改ざんに応答するステップをさらに有し、前記応答ステップは、ソフトウェア・コード・ユーザの切り離し、ソフトウェア・コード・ユーザのデバイス鍵の呼び出し、ソフトウェア・コード・ユーザからの追加コンテンツ要求の拒否、ユーザに送信されるソフトウェア・コードまたはコンテンツにおける保全性チェックの回数およびタイプの増加、前記監査ログおよび最終鍵の定期的伝送の頻度の増加、ならびに前記検出された改ざんに関するシステム管理者へのアドバイスのうちのいずれか、またはこれらの組合せを有する、請求項17に記載の方法。
  21. 前記監査ログはサイズが限定されており、それによって前記ログ・エントリはラップ・アラウンドする監査ログの形を取る、請求項17に記載の方法。
  22. 前記保全性チェックがソフトウェア・コードの1セクションでのチェックサムの計算を含む、請求項17に記載の方法。
  23. 以前の鍵は次の鍵値が作成された後に削除される、請求項17に記載の方法。
  24. 前記鍵の展開ステップは前記クリアリングハウスとは無関係に実行される、請求項17に記載の方法。
  25. 前記クリアリングハウスによる分析が、前記一方向関数を使用して一連の鍵値を再生成するステップと、前記一連の鍵値と前記ログ・エントリに含まれた鍵値とを比較するステップを含む、請求項17に記載の方法。
  26. 前記鍵値の展開が前記生成ステップで生じる、請求項17に記載の方法。
  27. 前記鍵値の展開が前記伝送ステップで生じる、請求項17に記載の方法。
  28. 前記鍵値が数学的に独特な特性を有する、請求項17に記載の方法。
  29. 前記鍵値が不揮発性メモリに格納される、請求項17に記載の方法。
  30. 前記伝送が定期的に発生する、請求項17に記載の方法。
  31. 前記伝送がソフトウェア・コードの実行中に第三者を介して発生する、請求項17に記載の方法。
  32. 前記クリアリングハウスが、ログ・エントリ異常のしきい値を超えた場合にソフトウェアの改ざんを検出する、請求項17に記載の方法。
  33. 動的に展開する監査ログを使用して事前に対処することによってソフトウェアの侵入を検出するのを支援するために、コンピュータ読取り可能プログラム・コードが具体化されたコンピュータ使用可能媒体に記録されたコンピュータ・プログラムであって、前記媒体が、
    a.保全性チェックをソフトウェア・コードに埋め込むコンピュータ読取り可能プログラム・コードと、
    b.前記監査ログ内に同一のログ・エントリ値を備えたログ・エントリを生成するコンピュータ読取り可能プログラム・コードと、
    c.一方向関数に基づいて鍵値を展開するコンピュータ読取り可能プログラム・コードであって、前記一方向関数が前記同一のログ・エントリ値および以前の鍵の両方に依存するコンピュータ読取り可能プログラム・コードと、
    d.前記同一のログ・エントリ値および最終鍵値を、前記同一のログ・エントリ値および最終鍵値を分析することによってソフトウェアの侵入を検出するクリアリングハウスに伝送するのを支援するコンピュータ読取り可能プログラム・コードと、
    を有するコンピュータ・プログラム。
JP2004564803A 2002-12-19 2003-10-22 ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法 Pending JP2006511877A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/248,130 US7305564B2 (en) 2002-12-19 2002-12-19 System and method to proactively detect software tampering
PCT/US2003/033485 WO2004061667A1 (en) 2002-12-19 2003-10-22 System and method to proactively detect software tampering

Publications (2)

Publication Number Publication Date
JP2006511877A true JP2006511877A (ja) 2006-04-06
JP2006511877A5 JP2006511877A5 (ja) 2006-05-25

Family

ID=32592759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004564803A Pending JP2006511877A (ja) 2002-12-19 2003-10-22 ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法

Country Status (8)

Country Link
US (2) US7305564B2 (ja)
EP (1) EP1573545A4 (ja)
JP (1) JP2006511877A (ja)
CN (1) CN100380338C (ja)
AU (1) AU2003282989A1 (ja)
CA (1) CA2505477C (ja)
TW (1) TWI299449B (ja)
WO (1) WO2004061667A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305564B2 (en) * 2002-12-19 2007-12-04 International Business Machines Corporation System and method to proactively detect software tampering
DE10340411B4 (de) * 2003-09-02 2005-10-13 Infineon Technologies Ag Vorrichtung und Verfahren zur sicheren Ausführung eines Programms
US8539608B1 (en) * 2004-03-25 2013-09-17 Verizon Corporate Services Group Inc. Integrity checking at high data rates
WO2005098564A1 (en) * 2004-04-06 2005-10-20 Telecom Italia S.P.A. Secure logging for irrefutable administration
US7451325B2 (en) * 2004-08-02 2008-11-11 At&T Intellectual Property I, L.P. Methods, systems and computer program products for detecting tampering of electronic equipment by varying a verification process
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
KR100746012B1 (ko) * 2005-11-07 2007-08-06 삼성전자주식회사 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
DE602006005912D1 (de) * 2006-05-26 2009-05-07 Sap Ag Verfahren und Vorrichtung zur sicheren Bearbeitung eines Befehls durch einen mobilen Agent in einem Netzwerk.
US20080037791A1 (en) * 2006-08-09 2008-02-14 Jakobsson Bjorn M Method and apparatus for evaluating actions performed on a client device
US11075899B2 (en) 2006-08-09 2021-07-27 Ravenwhite Security, Inc. Cloud authentication
US9195834B1 (en) 2007-03-19 2015-11-24 Ravenwhite Inc. Cloud authentication
US8844003B1 (en) 2006-08-09 2014-09-23 Ravenwhite Inc. Performing authentication
US20080148061A1 (en) * 2006-12-19 2008-06-19 Hongxia Jin Method for effective tamper resistance
US20080235802A1 (en) * 2007-03-21 2008-09-25 Microsoft Corporation Software Tamper Resistance Via Integrity-Checking Expressions
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
KR100938672B1 (ko) * 2007-11-20 2010-01-25 한국전자통신연구원 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법
US8448218B2 (en) * 2008-01-17 2013-05-21 Josep Bori Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability
US8473752B2 (en) * 2010-03-17 2013-06-25 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for auditing access to secure data
US8769373B2 (en) 2010-03-22 2014-07-01 Cleon L. Rogers, JR. Method of identifying and protecting the integrity of a set of source data
WO2011159356A1 (en) 2010-06-16 2011-12-22 Ravenwhite Inc. System access determination based on classification of stimuli
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
US9515989B1 (en) 2012-02-24 2016-12-06 EMC IP Holding Company LLC Methods and apparatus for silent alarm channels using one-time passcode authentication tokens
US8984609B1 (en) * 2012-02-24 2015-03-17 Emc Corporation Methods and apparatus for embedding auxiliary information in one-time passcodes
US9160539B1 (en) 2011-09-30 2015-10-13 Emc Corporation Methods and apparatus for secure, stealthy and reliable transmission of alert messages from a security alerting system
US8788817B1 (en) * 2011-09-30 2014-07-22 Emc Corporation Methods and apparatus for secure and reliable transmission of messages over a silent alarm channel
CN103092742B (zh) 2011-10-31 2015-08-19 国际商业机器公司 程序日志记录优化方法和系统
US8922224B2 (en) 2012-08-07 2014-12-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Snoop detection on calibrated bus
US11132659B2 (en) * 2015-07-14 2021-09-28 Texas Instruments Incorporated Tamper detection
WO2017071763A1 (en) * 2015-10-29 2017-05-04 Hewlett-Packard Development Company, L.P. Checking a security value calculated for a part of a program code
EP3163789B1 (en) * 2015-10-29 2021-08-18 Airbus Defence and Space GmbH Forward-secure crash-resilient logging device
TWI637282B (zh) * 2017-04-11 2018-10-01 精品科技股份有限公司 檔案存取數量之控管與限制之系統與方法
US10826924B1 (en) * 2020-04-22 2020-11-03 Quantum Information Security, LLC Computer security and methods of use thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
JP2001331104A (ja) * 1999-10-22 2001-11-30 Hitachi Ltd ディジタル署名方法および装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757533A (en) 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US5724425A (en) 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US6006328A (en) 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5850559A (en) * 1996-08-07 1998-12-15 Compaq Computer Corporation Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode
US5969632A (en) * 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6192475B1 (en) 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
AU8757398A (en) 1997-07-15 1999-02-10 V-One Corporation File encryption with key recovery
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
US7185367B2 (en) * 1999-05-11 2007-02-27 Cylant, Inc. Method and system for establishing normal software system behavior and departures from normal behavior
US6681331B1 (en) * 1999-05-11 2004-01-20 Cylant, Inc. Dynamic software system intrusion detection
US7096499B2 (en) * 1999-05-11 2006-08-22 Cylant, Inc. Method and system for simplifying the structure of dynamic execution profiles
US6594761B1 (en) 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
EP1192516A1 (en) 1999-06-09 2002-04-03 Cloakware Corporation Tamper resistant software encoding
EP1076279A1 (en) 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US6779114B1 (en) 1999-08-19 2004-08-17 Cloakware Corporation Tamper resistant software-control flow encoding
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6789199B1 (en) 2000-02-08 2004-09-07 International Business Machines Corporation Tamper resistance with pseudo-random binary sequence program interlocks
US6725240B1 (en) * 2000-08-08 2004-04-20 International Business Machines Corporation Apparatus and method for protecting against data tampering in an audit subsystem
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
CN1196296C (zh) * 2001-12-04 2005-04-06 上海复旦光华信息科技股份有限公司 易扩展型网络入侵检测与安全审计系统
CN1160899C (zh) * 2002-06-11 2004-08-04 华中科技大学 分布式网络动态安全保护系统
US7305564B2 (en) * 2002-12-19 2007-12-04 International Business Machines Corporation System and method to proactively detect software tampering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
JP2001331104A (ja) * 1999-10-22 2001-11-30 Hitachi Ltd ディジタル署名方法および装置

Also Published As

Publication number Publication date
US20080066178A1 (en) 2008-03-13
US20040123116A1 (en) 2004-06-24
CA2505477C (en) 2009-10-13
US7707429B2 (en) 2010-04-27
EP1573545A4 (en) 2008-08-27
CA2505477A1 (en) 2004-07-22
TWI299449B (en) 2008-08-01
TW200426582A (en) 2004-12-01
EP1573545A1 (en) 2005-09-14
WO2004061667A1 (en) 2004-07-22
US7305564B2 (en) 2007-12-04
CN1729457A (zh) 2006-02-01
AU2003282989A1 (en) 2004-07-29
CN100380338C (zh) 2008-04-09

Similar Documents

Publication Publication Date Title
JP2006511877A (ja) ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法
US7779478B2 (en) System and method for distributed module authentication
US7203844B1 (en) Method and system for a recursive security protocol for digital copyright control
US8281389B2 (en) System and method for tamper evident certification
CN110582988A (zh) 安全的系统操作
US8769675B2 (en) Clock roll forward detection
JP2005346182A (ja) 情報処理装置、耐タンパ方法、耐タンパプログラム
US11349855B1 (en) System and method for detecting encrypted ransom-type attacks
Shekhtman et al. EngraveChain: Tamper-proof distributed log system
US8447695B2 (en) System and method for processing feedback entries received from software
JP2007072969A (ja) 動作履歴保護装置及び動作履歴保護プログラム
TWI518539B (zh) Data processing device
US20110167276A1 (en) Method and device for detecting if a computer file has been copied and method and device for enabling such detection
WO2008059480A1 (en) Systems and methiods for protection of data integrity of updatable data against unauthorized modification
CN109583204B (zh) 一种混合环境下静态对象篡改的监测方法
Zaharis et al. Live forensics framework for wireless sensor nodes using sandboxing
JP4765262B2 (ja) 電子データ保管装置、プログラム
CN113468607A (zh) 一种加密防篡改文件的生成和使用方法
US20080120481A1 (en) Methods For Protection Of Data Integrity Of Updatable Data Against Unauthorized Modification
JP4862619B2 (ja) ログ管理方式及びログ管理方法
Beri et al. Dynamic software component authentication for autonomous systems using slack space
KR20190140314A (ko) 악성 소프트웨어에 대한 실시간 예방 및 사후 복구를 위한 보안 시스템 및 그 방법
da Silveira Serafim et al. Restraining and repairing file system damage through file integrity control
JP2005234751A (ja) 電子データの証拠性を確保しながら同データを保管する電子データ保管システム
CN114513359A (zh) 一种端到端保护的网页防篡改系统

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100312

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100407

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100414

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100428

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100428

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101214