(57)【特許請求の範囲】
【請求項１】
Ｉ／Ｏ装置を有するクライアント装置で動作するエージェント・プロセスとして実行され、データ処理環境においてディジタル資産へのアクセスを管理する方法であって、
センサ手段が、前記Ｉ／Ｏ装置を駆動するＩ／Ｏドライバに関する動作を原子レベル資産アクセス・イベントとして検知する、検知工程と、
イベント集合手段が、複数の原子レベル資産アクセス・イベントを集合させて、権限を与えられたユーザの前記ディジタル資産に対するアクションを特徴付ける結合イベントを決定する、集合工程と、
ディジタル資産の使用について予め定めたポリシーに違反する少なくとも１つの結合イベントが生じた場合に、ポリシー行使手段が、ポリシー違反を表す述語を実行する、実行工程とを備えた、アクセス管理方法。
【請求項２】
請求項１において、さらに、
前記実行工程の後に、ポリシー行使手段が、ユーザがディジタル資産にアクセスするのを阻止する、阻止工程を備えた、ディジタル資産へのアクセス管理方法。
【請求項３】
請求項２において、前記阻止工程はＩＲＰの捕捉を含む、ディジタル資産へのアクセス管理方法。
【請求項４】
請求項１において、前記結合イベントが複数の原子レベル・イベントの時間系列である、ディジタル資産へのアクセス管理方法。
【請求項５】
請求項１において、さらに、
ディジタル資産に対するアクセスを許可する前に、前記ポリシー行使手段が、ユーザに対してポリシー違反の理由を明らかにする入力を行うように要求する工程を備えた、ディジタル資産へのアクセス管理方法。
【請求項６】
請求項１において、さらに、
いずれか１つの述語が他の述語の動作を禁止できるように、前記ポリシー行使手段が、複数のポリシー違反を表す述語を実行する実行工程を備えた、ディジタル資産へのアクセス管理方法。
【請求項７】
請求項１において、前記エージェント・プロセスが、アプリケーション・ソフトウェアとは個別に動作する、ディジタル資産へのアクセス管理方法。
【請求項８】
請求項１において、さらに、
前記ポリシー行使手段が、ポリシー違反のユーザに通告し、その後ディジタル資産へのアクセスを許可する通告工程を備えた、ディジタル資産へのアクセス管理方法。
【請求項９】
請求項１において、前記検知工程、集合工程、および実行工程が、同時に動作する、ディジタル資産へのアクセス管理方法。
【請求項１０】
請求項１において、さらに、
前記イベント集合手段が、資産アクセス・イベントにおける特定ファイルの識別子を決定する決定工程を備えた、ディジタル資産へのアクセス管理方法。
【請求項１１】
Ｉ／Ｏ装置を有し、データ処理環境においてディジタル資産へのアクセスを管理するシステムであって、
ユーザのクライアント装置内のオペレーティング・システム・カーネル内に位置し、前記Ｉ／Ｏ装置を駆動するＩ／Ｏドライバに関する動作を原子レベル資産アクセス・イベントとして検知する、センサ手段と、
前記センサ手段で検知した、２つ以上の原子レベル資産アクセス・イベントからなり、権限を与えられたユーザの前記ディジタル資産に対するアクションを特徴付ける、集合イベントの発生を決定する原子レベル・イベント集合手段と、
前記発生が決定された集合イベントにおいて、予め定めたディジタル資産使用ポリシーに違反する結合イベントの組み合わせが生じたか否かを決定するポリシー行使手段とを備えたディジタル資産へのアクセス管理システム。
【請求項１２】
請求項１１において、前記ポリシー違反行使手段は、前記ユーザ・クライアント装置のオペレーティング・システム・カーネル内に位置している、ディジタル資産へのアクセス管理システム。
【請求項１３】
請求項１１において、前記ポリシー行使手段がポリシー違反の種類を決定する、ディジタル資産へのアクセス管理システム。
【請求項１４】
請求項１３において、前記ポリシー行使手段がＩＲＰの捕捉を含む、ディジタル資産へのアクセス管理システム。
【請求項１５】
請求項１１において、前記結合イベントが複数の原子レベル・イベントの時間系列である、ディジタル資産へのアクセス管理システム。
【請求項１６】
請求項１１において、前記クライアント装置内のユーザ・インタフェースが、ディジタル資産に対するアクセスを許可する前に、ユーザに対してポリシー違反の理由を明らかにするように要求する、ディジタル資産へのアクセス管理システム。
【請求項１７】
請求項１１において、前記ポリシー行使手段は、さらに、いずれか１つの述語が他の述語の動作を禁止できるように複数のポリシー違反を表す述語を実行する、ディジタル資産へのアクセス管理システム。
【請求項１８】
請求項１２において、アプリケーション・ソフトウェアとは個別に動作する、ディジタル資産へのアクセス管理システム。
【請求項１９】
請求項１１において、さらに、
前記ユーザ・クライアント装置上で動作して、ユーザにポリシー違反を通告するユーザ・インタフェースを備え、
違反の理由がユーザにより提供された後に、ディジタル資産へのアクセスを許可する、ディジタル資産へのアクセス管理システム。
【請求項２０】
請求項１１において、前記センサ手段、集合手段、およびポリシー行使手段が同時に動作する、ディジタル資産へのアクセス管理システム。
【請求項２１】
請求項１１において、前記イベント集合手段が、さらに、前記原子レベル資産イベント内の特定ファイルの識別子を決定する、ディジタル資産へのアクセス管理システム。
【請求項２２】
Ｉ／Ｏ装置を有するクライアント装置で動作するエージェント・プロセスとして実行されるプログラムであって、データ処理環境においてディジタル資産へのアクセスを管理させるように、
センサ手段が、前記Ｉ／Ｏ装置を駆動するＩ／Ｏドライバに関する動作を原子レベル資産アクセス・イベントとして検知する、検知手順と、
イベント集合手段が、複数の原子レベル資産アクセス・イベントを集合させて、権限を与えられたユーザのアクションを特徴付ける結合イベントを決定する、集合手順と、
ディジタル資産の使用について予め定めたポリシーに違反する少なくとも１つの結合イベントが生じた場合に、ポリシー行使手段が、ポリシー違反を表す述語を実行する、実行手順とを、前記クライアント装置に実行させる、プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、2003年11月12日に出願された米国特許出願第10/706,871号の優先権を主張する継続出願であり、上記出願は、2003年1月23日に出願された「所有する電子情報の適応的識別および適応的保護の方法およびシステム（Method and System for Adaptive Identification and Protection of Proprietary Electronic Information）」という名称の米国特許仮出願第60/442,464号の利益を主張している。上記関連出願の全内容は、参照により本明細書に引用したものとする。
【０００２】
データ・セキュリティは、データ処理産業の発足以来、システム管理者が直面する重大な問題となってきた。大部分のコンピュータ・ユーザは、無許可の部外者によるデータの盗用または悪用の可能性を認識している。システムにアクセスしようと試みるそのような部外者を指して、「ハッカー」または「クラッカー」という用語がしばしば用いられるが、彼らは通常は、決して組織の運営に関与しておらず、内部の従業員またはシステムに属するものではない。組織のデータ処理インフラをこの種の脅威から保護するため、多種多様な解決手段がすでに存在している。それらには、物理的なアクセス制御、ファイアウォール、スニファおよび他のネットワーク・モニター、データの暗号化、侵入検知システムおよび他の解決手段が含まれる。これらの解決手段は、ほとんどの場合、それらの意図する目的に対して適切であると、一般に考えられている。
【０００３】
一方で、セキュリティ上の脅威をもたらす第２の種類のコンピュータ・ユーザが存在する。これら権限のない内部の者からの保護には、公知の別の取り組みが必要とされる。ディスクに基づくストレージ・システムの発足以来、一部のユーザについて一部の重要なファイルへのアクセス資格を制限するために、アクセス制御の考え方が適用されてきた。これらの技術を使用し、今やほとんどすべてのオペレーティング・システム（ＯＳ）、デスクトップ、および／またはネットワーク・ファイル・サーバの一般的な特徴として、個々のユーザに与えられた許可に応じて、ファイルやディレクトリ構造などに対する読み出し、書き込み、パブリック、プライベート、およびその他の種類のアクセス制限を提供することができる。システム管理者によって、必要事項、およびユーザが属している組織内の部門などに基づいて、ユーザ・アカウントに許可を付与することができる。
【０００４】
しかし、ユーザがシステムの一部だけにしかアクセスできない場合であっても、依然としてさまざまな技術を用いて情報を盗み出し、さらに／あるいは情報に損傷を与えることができる。これらには、ネットワーク中の保全されていない情報の単純な閲覧、および／またはセキュリティの実施が不十分なために利用可能になっている情報の取出しまたは削除が含まれる。より高度な内部不正者は、ネットワーク・パケット・スニファおよび／またはスパイ・ソフトを使用するであろう。集中化された文書およびディジタル権利の管理システム、ネットワーク監査、およびファイル管理ツールなどのさまざまな技法は、場合により、内部者による無許可の使用を抑制する有効なツールになりうる。
【０００５】
例えば、ダニエリ（Danieli）に特許され、マイクロソフト社（Microsoft Corporation）に譲渡された米国特許第6,510,513号には、電子セキュリティ証明を用いてサーバとクライアントとの間の一連のトランザクションを活用するセキュリティおよびポリシー行使システムが記載されている。第１のクライアントがダイジェストを含むセキュリティ証明を信頼された審査サーバ（arbitrator server）に提出することによって、データへのアクセス要求を生成する。信頼された審査サーバが、第１のクライアントの資格を証明し、セキュリティ証明を返送する。次いで、データおよびセキュリティ証明が組み合わされて配布され、これが第２のクライアントによって取得される。第２のクライアントは、配布
データからセキュリティ証明を抽出し、ダイジェストを生成する。第２のクライアントからのダイジェストが第１のクライアントからのダイジェストと一致する場合、データは正当であると考えられる。証明の種類およびポリシー・レベルに応じて、信頼された審査サーバは不適切な使用の通知などのサービスを提供できる。
【０００６】
インタートラスト・テクノロジ（Intertrust Technologies）社に譲渡された米国特許第6,427,140号は、別の種類のディジタル権利管理システムである。しかし、このようなシステムは、電子商取引や他の電子支援トランザクションなどにおいて、機密データの転送における各種当事者の権利を保護することを目的とするものである。
【発明の開示】
【０００７】
これらの解決手段はいずれも、権限を与えられた内部の者による情報の悪用の防止にはほとんど役に立たない。この種のユーザは、割り当てられた業務を実行するために重要なデータ・ファイルにアクセスすると考えられるため、信頼された状態にある。したがって、彼らは、このような情報を使用する許可を日々、日常的に与えられている。したがって、彼らが機密に属するデータにアクセスすることは、通常は疑わしいものではない。問題は、この種の信頼されているユーザが、機密情報をコピーして部外者またはその他権限のない人々に配布することによって、信頼を悪用する場合に生じる。このような事態は、不満を有する従業員や離職しようとする従業員が組織に打撃を加えたいと考える場合に、きわめて容易に生じる可能性があり、かつ高い頻度で生じるようになってきている。
【０００８】
従来技術のセキュリティ・システムの欠点は、機密情報へのアクセスがひとたび与えられると、権限を与えられたユーザがこの情報をきわめて容易に多種さまざまな方法で配布できるという事実に対処できないことである。インターネット接続、電子メール、インスタント・メッセージ、コンパクト・ディスク読み書き（ＣＤ−ＲＷ）ドライブなどのリムーバブル・メディア記憶装置、ユニバーサル・シリアル・バス（ＵＳＢ）型のメモリおよび記憶装置などの普及が、きわめて大量の情報をほぼ瞬時にコピーすることを簡単な作業にしている。さらに、無線モデム、無線ローカル・ネットワーク・カード、ポータブル・コンピュータ、携帯情報端末（ＰＤＡ）、およびネットワーク・トンネルなどのその他の周辺機器があまりに便利な伝達手段であるため、権限を与えられたユーザが信頼されたシステム環境の外にファイルのコピーを配布できる。
【０００９】
最も高度なファイル管理システムであっても、現在のところ、このような悪用を防ぐことはできない。この問題の根本は、権限を与えられたユーザがひとたびファイルを開くと、その中身はもはや管理されないという事実にある。特に、ファイル内容のコピーを管理下にあるネットワーク環境またはファイル管理システムの「外」にきわめて容易に持ち出すことができる。
【００１０】
本発明は、権限を与えられたユーザが自らの権限を悪用することに起因するセキュリティ問題に対処しようとするものである。本発明はこれを、単にストレージにおけるアクセスを制御するよりはむしろ、ファイルの使用点においてアクセスを規制することによって実現する。
【００１１】
詳細には、クライアント・オペレーティング・システム（ＯＳ）のカーネルのバックグラウンドで動作するような、自律的な個別のエージェント・プロセスが、リソースへのアクセス要求に割り込む。リソースへのこのようなアクセス要求は、例えば、ファイルの読出し要求、ネットワーク接続を開く要求、およびリムーバブル媒体装置の装着要求などを含むことができる。使用点においてＯＳカーネル割り込み手段でアクセスが検出されるので、元来の直接アクセス要求が、エンドユーザによって実行されたアプリケーション・プログラムによるものか、ユーザに代わって間接的にアプリケーションによって実行された
アプリケーション・プログラムによるものか、あるいはアプリケーション・ソフトウェアとは無関係にシステム要求によって実行されたかにかかわらず、リソース利用の追跡が生じる。
【００１２】
自律的な個別のエージェント・プロセスは、低レベルのシステム・イベントを捕捉するセンサを含む。これらイベントは、ファイル読み出し、ファイル書き込み、ファイルのコピー、クリップボード・カット、クリップボード・コピー、ＣＤ−ＲＷアクセス、ＴＣＰ／ＩＰネットワーク・メッセージの到着、ＴＣＰ／ＩＰネットワーク・メッセージの送出などの操作を含むことができる。
【００１３】
次いで、低レベル・イベントは、１つまたは複数のファイル名（ハンドル）に関連付けられ、承認リストに照らしてフィルタ処理される。このようにして、生のイベントをフィルタ処理し、機密アプリケーション・データを含まないオペレーティング・システム・ファイル（Microsoft Windows（登録商標）の場合には．ＥＸＥや．ＤＬＬなど）などのファイルへの参照を排除する。このようにして、機密データを含む可能性のあるアプリケーション・ファイルに関係するイベントのみが、さらに追跡される。
【００１４】
例えば、集合「ファイル編集（FileEdit）」イベントは、ユーザが機密の財務文書を開いて変更し、その後、このユーザがこの文書を新たに取り付けたＵＳＢポータブル・ハード・ドライブに保存しようと試みたときに、報告される。
【００１５】
さらに別の集合イベント（aggregate event）は、ファイル、アプリケーション、ネットワーク、および周辺装置バス・インタフェースに対するユーザのアクセスについての制御を提供できる。このような集合イベントは、一般的に、システム・リソースについて許可される使用を規定しているポリシーを積極的に行使するために、システム管理者によって確定されている。このように、行使は、情報アクセスの時点および場所において、エージェント・プロセスによって実行される。
【００１６】
例えば、管理者はデスクトップ・アプリケーション、ネットワークおよびインタフェースの使用を制御する論理述語を構築してもよく、そうでなければ情報漏れの経路を管理できない。これらの述語は、ユニバーサル・シリアル・バス（ＵＳＢ）、ハード・ディスク・ドライブ、コンパクト・ディスク読み書き（ＣＤ‐ＲＷ）焼き付け機、インスタント・メッセージ（ＩＭ）アプリケーション、およびピア・トゥ・ピア・ネットワーク接続など、大量の情報を格納できる周辺装置へのアクセスについて文書化を防止、制限、あるいは要求できる。これらのリソースの使用を規定するポリシーは、組織の要求に従って詳細に定めることができる。これより、ポリシー違反に対するエージェント・プロセスの対応は、特定組織の要求事項に従って、推定されるリスクの必要に応じて厳しいものとすることができる。アクセス制御の自律的な分離された動作により、ポリシーの行使はユーザの他のシステムと同じく順応性を持たせて実行できる。
【００１７】
特定の行使オプションは、（ビジネス上の正当性を明記するなど）必要なユーザ入力を求めるプロンプトによるユーザ・アクションを可能にすること、ユーザ・アクションを阻止すること、またはコンプライアンスもしくはセキュリティ・マネージャに警告および／または警報することを含むことができる。選択的なユーザへの警告、および／または入力に対するプロンプトが、許容できる使用ポリシーのユーザ理解および容認を強化する。
【００１８】
本発明の前記の目的、特徴および利点、ならびに他の目的、特徴および利点は、添付の図面に示した本発明の好ましい実施の形態に関する以下のさらに詳しい説明から、明らかになるであろう。添付の図面においては、異なる図であっても同一参照符号は同一部分を指している。図面は必ずしも縮尺とおりではなく、本発明の原理を示すことに重点がおか
れている。
【発明を実施するための最良の形態】
【００１９】
図１は一般的なコンピュータ・ネットワーク１００の図であり、このコンピュータ・ネットワーク１００は、ローカル・エリア・ネットワークおよび／またはＬＡＮ間接続設備を介して接続された、クライアント装置１０２およびサーバ１０４からなる。インターネット１０８などの外部ネットワークへの接続が、ルータまたはゲートウェイ１０６などの装置を介して実現されている。さらに、インターネット１０８を介した接続は、外部コンピュータ１１０との間で行なうことも可能である。
【００２０】
従来からのセキュリティ・モデルが、保護されているネットワーク１００内の装置１０２および／またはファイル・サーバ１０４への不信な外部者１１０によるアクセスを防止しようとしている。すなわち、ネットワーク境界１２０が、通常は、例えばルータ１０６により、詳細にはファイアウォール１０７において、ネットワークのアクセス点に用いられている。このようにして、ファイアウォール１０７は、サーバ１０４に保存された情報にアクセスしたり、またはローカル・コンピュータ１０２を操作しようとしたりする外部コンピュータ１１０の権限のないユーザの企てを阻止することができる。さらに、ファイアウォール１０７は、例えば制限されあるいは有害であるウェブサイトおよびゲーム・サーバなどを含む一部の望ましくない外部コンピュータ１１０にアクセスを試みるユーザによるものなど、外部へのアクセスについても境界１２０を確立できる。
【００２１】
外部の物理的アクセス点においてネットワークに対して境界を確立する以外に、本発明は、ファイルの使用についてのアカウンタビリティの境界を使用点（使用時点および使用場所）において確立する。このアカウンタビリティ・モデルは、ローカル・サーバ１０４に保存されたファイルにアクセスするコンピュータ１０２の権限を与えられたユーザを追跡できるだけでなく、さらに重要なことは、そのようなファイルへのアクセスまたは情報を配布もしくは記録する周辺機器へのそのようなファイル移動の企て、または他に生じうる不正なイベントを監視することができる。
【００２２】
このような生じうる不正なイベントが発生するのは、ユーザ・アクセス装置が、ローカル・ファイル・サーバ１０４またはファイアウォール１０７により認識できないかまたは制御できないときである。これらのイベントには、コンパクト・ディスク読み書き（ＣＤ−ＲＷ）ドライブ２０４、携帯情報端末（ＰＤＡ）２０６、ユニバーサル・シリアル・バス（ＵＳＢ）記憶装置２０８、無線装置２１２、ディジタル・ビデオ記録装置２１４などの制御不可能な媒体へのファイルの書き込みが含まれ、さらにはファイルの印刷さえも含まれる。他の疑わしいイベントには、外部ピア・トゥ・ピア（Ｐ２Ｐ）アプリケーション２０１の実行、外部の電子メール・アプリケーション２０２を介してのファイルの送信、インスタント・メッセージ（ＩＭ）アプリケーションの実行、およびインターネット１０８を介してのウェブサイトへのファイルのアップロードなどが含まれる。この点から、本発明は、すべてのファイル、アプリケーションおよびネットワークの使用について、企業全体にわたる監視を実現できる。容易に理解されるとおり、この取り組みの核心は、例えばデスクトップ１０２などの使用点において生じるユーザの行為を特徴付けて、次いで所定のポリシーに従って潜在的に制御する高レベルのコンテキスト・ストリーム（contextual stream）から構成される。
【００２３】
次に図２を用いて、ディジタル資産の配布を制御するプロセスをより詳細に説明する。エージェント・プロセス３００と呼ばれる第１のシステム構成要素が、ネットワーク１０１内のクライアント１０２および／またはサーバ１０４上で動作するオペレーティング・システム（ＯＳ）３０１とアプリケーション３０８の間に置かれている。エージェント・プロセス３００は、ファイルの読み出しまたは書き込み操作など、ファイル、印刷、クリ
ップボード、およびＩ／Ｏ装置の動作の検出および追跡のために、センサまたはシム（shim）を有する。これらのセンサは、これらに限られるわけではないが、ファイル・システム・センサ５０２（ＣＤ／ＤＶＤ焼き付けセンサ５１０を含む）、ネットワーク操作センサ５０４、印刷センサ５０５、クリップボード・センサ５０６、ＡＰＩスパイ５０８、およびプロセス・スパイ５０９を含むことができる。
【００２４】
クライアントは、通常は、ローカル・ネットワーク１０１への直接の有線（または無線）接続１０９を有するデスクトップ１０２−１を含むが、エージェント３００は、ラップトップ１０２−２などの接続されていないクライアント・コンピュータ上で実行されてもよく、この場合、イベントの報告は、最終的にネットワーク１００への接続がなされたときに行なわれる。
【００２５】
エージェント３００は、原子イベント３５０を、通常はアクティビティ・ジャーナル・サーバ１０４−２上で動作するアクティビティ・ジャーナル化プロセスに報告する。ジャーナル・サーバ１０４−２（本明細書において、Digital Guardian（商標）とも呼ばれる）は、原子イベント・データを処理し、いわゆる集合イベント３６０に合体させる。集合イベント３６０は、ある所定の一連の原子イベントが生じたときに検出される。これより、各集合イベント３６０は、監視すべきアクティビティを表わす所定のパターンに適合する１つ以上の原子イベント３５０で構成される。
【００２６】
集合イベント３６０を構成する特定の種類および／または一連の原子イベント３５０については、後で詳細に説明する。しかし、ここでは、報告される特定のイベントおよびそれらの集合の種類が、監視しようとする特定のアクティビティによって決まることを理解すべきである。
【００２７】
さらに、行使ポリシーを規定する述語３７０が、エージェント・プロセス３００に送られる。これら述語は、管理用コンソール１０２−５で入力される設定コマンドから発生し、ディジタル・ガーディアン・サーバ１０４−２を通じて送信される。
【００２８】
ネットワークを完全に保護するため、典型的には、エージェント・プロセス３００は、企業ネットワークに接続されているすべてのデスクトップ１０２およびファイル・サーバ１０４上に常駐する。アクティビティ・ジャーナル・サーバ１０４およびエージェント・プロセス３００は、マイクロソフト社の「.NET」インフラやその他の安全なネットワーク・システムなど、安全なネットワーク・ベースのアプリケーションを介して通信できる。さらに、管理用コンソール１０２−５によって、ディジタル・ガーディアン・サーバ１０４−２に保存されたデータベースへのアクセスが可能であり、管理用コンソール１０２−５は、特にリスク・コンプライアンス、フォレンジック報告、および同様の報告３１０をシステムの管理ユーザに提供するのに使用される。
【００２９】
ジャーナル・サーバ１０４−２は、通常は、セキュリティ保護された.NETフレームワークを有するウインドウズ２０００サーバ（Windows 2000 Server）環境内で動作できる。さらに、ジャーナル・サーバ１０４−２は、レコードの保存および取り出しの機能を提供するために、例えばマイクロソフトＳＱＬサーバ２０００（Microsoft SQL Server 2000）などのデータベースへのアクセスを有する。なお、当然ながら、本明細書で説明するプロセスは、他の種類のオペレーティング・システム、サーバ・プラットフォーム、データベース・システム、およびセキュリティ保護されたネットワーク環境上で実行できる。
【００３０】
図３は、クライアント・エージェント３００をさらに詳しく示した図である。詳細には、これらの要素は１つ以上のセンサ５００、ファイル・フィルタ５２０、イベント合体／集合５３０、イベント・バス５８０、１つ以上のポリシー述語５８５、ポリシー行使エン
ジン５９０、およびＩ／Ｏ要求パケット（ＩＲＰ）フィルタ５９５で構成されている。さらに、エージェント・プロセス３００は、規則のリアル・タイム評価および可能性を有する行使を設けてもよい点に注目すべきである。
【００３１】
エージェント３００は、好ましくはクライアントのオペレーティング・システム（ＯＳ）においてカーネル・プロセスとして動作する。例えば、エージェント３００は、マイクロソフト社のウインドウズ２０００（Windows 2000）またはウインドウズＸＰ（Windows XP）のカーネル内で動作できる。エージェント３００の自律的な動作によって、クライアント１０２がネットワーク１００から切り離されている場合であっても、原子イベント３５０の検出が可能になる。このようなイベントはすべて、クライアント１０２が再度接続されてディジタル・ガーディアン・サーバ１０４−２と通信できるようになったときに、報告される。
【００３２】
好ましい実施形態においては、悪意のあるユーザによって１つのサービスが停止させられた場合でも、他のサービスが別のプロセスを再開できるように、エージェント３００がウインドウズのもとで複数のサービスを実行する。さらに、このプロセスは、完全な保護を保証するために、オペレーティング・システムのタスク・マネージャまたは同様のプロセスから隠されており、セーフモード起動手段においても機能することができる。
【００３３】
原子イベント・センサ５００は、通常は入力／出力（Ｉ／Ｏ）ドライバに関連する動作がＯＳカーネルにおいて捕捉されたとき、出力として原子イベントを報告する。したがって、エージェント・プロセス３００は、エンドユーザには透過であり、改ざんされにくい。この捕捉は、例えば、割込み可能カーネルのＩ／Ｏ要求パケット（ＩＲＰ）において発生する。イベントは、例えばウインドウズ・サービスおよびカーネル・レベルのドライバによっても提供できる。
【００３４】
センサ５００は、ファイル操作センサ５０２（ＣＤ／ＤＶＤ焼き付けセンサ５１０を含む）、ネットワーク操作センサ５０４、印刷待ち行列センサ５０５、クリップボード・センサ５０６、アプリケーション・プログラミング・インタフェース（ＡＰＩ）スパイ・センサ５０８、およびプロセス・スパイ５０９などのその他のセンサを有することができる。
【００３５】
イベントについて集められるデータはイベントの種類によるが、以下に示すものも含むことができる。
・アプリケーションの呼び出しの場合には、呼出しプロセスの識別、実行可能な名前、開始時間、終了時間、およびプロセス所有者、
・ログオンまたはログオフなどのユーザ操作の場合には、時刻およびユーザの識別子（ＩＤ）、
・ファイル操作の場合には、元／先のファイル名、操作の種類（オープン、書き込み、削除、名前の変更、ゴミ箱への移動）、装置の種類、最初と最後のアクセス時刻、
・ネットワーク操作の場合には、発信元／宛先のアドレス、ポートおよびホスト名、開始／終了時刻のスタンプ、送信および受信したバイト数、入力および出力のデータ伝送時間、
・ＣＤ‐ＲＷの操作の場合には、ファイル名、開始／終了時刻および転送されたデータ量、
・印刷操作の場合には、フルパスまたはファイル名、イベント開始時刻またはプリント・ジョブ名、
・クリップボード操作の場合には、宛先プロセスＩＤ、イベント開始時刻、関係するファイル名のフルパス、
・リムーバブル記憶媒体へのアクセスなどの他の高レベルの操作の場合には、ファイル
名、装置ＩＤ、日時、転送されたバイト数、など
【００３６】
承認されたファイル・フィルタ５２０が、システム・ファイルへの標準の呼出しによって生成される多数の重要度の低いイベントを自動的にフィルタ処理するように動作する。例えば、通常のマイクロソフト・ウインドウズのアプリケーションの実行において、多種多様な.EXEおよび.DLLオペレーティング・システム・ファイルが開かれて、繰り返しアクセスされることがごく普通である。ジャーナル・サーバ１０４−２へのデータ・フローを少なくするために、ファイル・フィルタ５２０は承認ファイル・リスト５２２を使用して、原子センサ・イベント（生のセンサ・イベント）５１０をフィルタ処理する。
【００３７】
承認されたファイル・リスト５２２は、イベントに関連するファイル名のリストとして実装される。しかし、好ましい実施形態においては、公知のＭＤ５アルゴリズムを利用して、各ファイル名に対するハッシュ・コードを生成する。次に、完全なファイル・ハンドルではなく、イベントに関連するファイル名のＭＤ５ハッシュ・コードを承認リスト５２２と比較して、フィルタ処理プロセスを高速化する。このようにして、非承認のファイルに関するイベントのみが、合体工程５３０に送られる。
【００３８】
次の工程は、原子イベント５１０を集合させようとする原子イベント合体工程５３０である。合体工程５３０は、エージェント３００とディジタル・ガーディアン・サーバ１０４の間において、単一のユーザ・アクションに対応した、あるいは関連する原子イベント５１０をさらにフィルタ処理する。一般に、アプリケーションは、ファイル全体を同時に読み出すのではなく、ファイルの小さいチャンクごとを何回にも分けて読み出す。例えば、ユーザが2メガバイト（MB）の表計算ファイルを開くとする。しかし、実際には、ＯＳは、所定の時間に、実際にはこれよりもはるかに小さい、表計算ファイルのチャンク、例えば一度に5または10キロバイト（KB）にのみアクセスする。このように、典型的なアクセスのパターンにおいては、ファイル・オープンの原子イベントに続いて同一ファイルに対する複数回のリード（読み出し）の原子イベントが見られる。このような原子イベントの連続が、同一スレッドＩＤおよび同一ファイル・ハンドルを有する同一プロセスおよび同一実行可能ファイルから見られた場合には、イベント合体工程５３０は、単一の「ファイル・オープン」イベントのみをカウントする。好ましい実施形態においては、イベント合体工程５３０に対応する時間属性が存在し、これにより、一般には分単位で測定される時間制限を超えた場合、生のレベルのイベント間に少なくとも１つのイベントが報告される。
【００３９】
典型的な高レベル・イベント・パターンの包括的なリストが、図４Ａおよび図４Ｂに示されている。例えば、好ましい実施形態においては、43個の異なるアクションの種類が定義されており、そのいくつかは低レベル原子イベントであり、その他は高レベル集合イベントである。所定のイベントは、おそらくはアクション種類５７１、レベル５７２、イベントのカテゴリ５７３、イベント名５７４、イベント・テーブルＩＤ５７５、アクション詳細５７６、アクション詳細値５７７、および判別式５７８を有するデータベース内の複数のフィールドで構成されている。
【００４０】
イベント・カテゴリは、各イベント種類に対応する。例えば、イベント・カテゴリ「ファイル（File）」において、イベント名は、ファイル・リード（ファイル読み出し（FileRead））、ファイル・ライト（ファイル書き込み（FileWrite））、ファイル・リライト（ファイル書き換え（FileRewrite））、ファイル・コピー（FileCopy）、ファイル・リネーム（ファイル名変更（FileRename））、ファイル・デリート（ファイル削除（FileDelete））、ファイル・ムーブ（ファイル移動（FileMove））、ファイル・リサイクル（ファイル再利用（FileRecycle））、ファイル・リストア（ファイルの復活（FileRestor））を含む。同様に、ネットワークに関連するイベントは、ＴＣＰ／ＩＰの到着（TCPIPInb
ound）、ＴＣＰ／ＩＰの送出（TCPIPOutbound）、ＵＤＰの到着（UDPInbound）などである。
【００４１】
スコープ（scope）も、各イベント種類に対応する。スコープは、スレッド、プロセス、ログイン、マシン、またはすべての種類のスコープのいずれかであるとして定義される。例えば、「プロセス」スコープは、同一プロセス内の高レベル・イベントに統合されるイベントであるが、必ずしも同一スレッドを実行しない。「マシン」は、同一マシン上で生じる２つのイベント間で再起動が生じうることを意味している。
【００４２】
すべての高レベル・イベントに共通に記録される属性は、アクションの種類、イベント・カウント、バイト読み出しカウント、バイト書き込みカウント、イベント開始、イベント終了、およびその他の起こりうるアクションを含む。元および先は、ファイル、パス、プロセス、スレッド、およびイベントを実行したアプリケーションの識別情報を含む他の多数の属性を保持する。
【００４３】
その他の種類のシステム・イベントは、印刷（Print）イベント、ディスク書き込み（CD）イベント、クリップボード（Clipboard）、ユーザ（User）およびマシン（Machine）イベントを含むことができる。低レベル・イベントの最後の種類は、プロセス開始（ProcessStart）およびプロセス終了（ProcessEnd）を含むプロセス・イベントである。
【００４４】
高レベル集合イベントは、低レベル・イベントの発生の組み合わせを検出することによって生成される。さらに詳細には、高レベル集合イベント（アクション・タイプ２６〜４３）は、特定の順序で低レベル・イベント（アクション・タイプ１〜２５）が見られた後に確定される。例えば、アクション・タイプ２６は、「ファイル編集（FileEdited）」と呼ばれる高レベル・イベントである。これは、ファイルが編集されたときに確定される集合イベントである。表が示すとおり、特定のプロセス、スレッド、およびファイルが特定のファイル・ハンドルに対して１つまたは複数の読出しを実行し、続いて同一プロセス、スレッドおよびファイル・ハンドルに書き込み操作が起こったことを検出すると、このイベントは集合「ファイル編集」イベントとして確定される。
【００４５】
集合イベントは、図５Ａ〜図５Ｄにさらに詳しく定義されている。例えば、「ファイルへのクリップボード（ClipboardToFile）」集合イベント５１０は、クリップボード・カットまたはコピー後に、ファイルへのクリップボードのペースト操作がなされたことを検出した際に確定される。
【００４６】
同様に、「ファイル焼き付け（BurnFile）」イベントは、ＣＤ書込み（CDWrite）の原子イベントに続いてファイル読み出し（FileRead）の原子イベントが検出されるものである。このように、１つのファイル・ハンドルから一連のファイル読み出し（FileRead）が検出され、同一プロセスで一連のＣＤ書き込み（CDWrite）イベントが続いた場合、アプリケーションはＣＤ−ＲＷにファイルを書き込んだものと認識される。
【００４７】
他にも多数の集合イベントが可能であり、図５Ａ〜図５Ｄのリストは、多数の可能性のうちのいくつかを例示しているにすぎない。
【００４８】
イベント・バス５８０は、１つまたは複数の集合イベントを述語ルール５８５−１、…、５８５‐ｎに分配する機能を果たす。さらに、イベント・キャッシュ５８２が、述語５８５で使用するために、特定の時間間隔の間に発生するイベントを共有してもよい。このようにして、イベントは１つまたは複数の述語５８５に供給され、ポリシー論理を実行する機能を果たす。述語の一例として、論理を実行して、ピア・トゥ・ピア・ファイル転送アプリケーションの阻止を実行できる。すなわち、述語ルール５８５‐ｎを、「ネットワ
ークを開く（network open）」イベント後に、「ハイド・ディスク・ドライブ読み出し（read hard disk drive）」イベントを検出するように構成できる。すでに述べたとおり、述語５８５を実現するコードは、通常はユーザ１００ブート・プロセスの起動のように、ディジタル・ガーディアン・サーバ１０４−２からダウンロードされる。
【００４９】
複数イベント制御の述語５８５の他の例は、特定のサーバから発生するファイルがそのマシンから取り出されることを防止する。これは、派生するすべてのファイルの名前の変更、コピーなどを監視するために追跡リストに当該ファイルを載せ、取り出しアクションが試みられたときに、これら派生する名前ならびにユーザが最初に元を識別した場所を記憶することを含む。
【００５０】
他の述語ルール５８５を用いて、ファイルまたは一連のファイルがＣＤ／ＤＶＤに焼き付けられることがないように阻止する。ファイルを焼き付ける処理は、いずれのファイルを焼き付けるかを選択し、次いでそれらを実際に焼こうとするファイル焼き付けアプリケーションに関する複数工程からなる処理である。したがって、一連の小さなファイル読出しが生じ、続いてデータをバッファするためのファイルへの一時書込みが生じ、さらに実際の焼き付け操作が続く。
【００５１】
述語ルール５８５−ｎがポリシー違反を検出したとき、ポリシー行使エンジン５９０に通知が伝達される。次いで、ポリシー行使エンジン５９０が、述語５８５によって表わされているポリシーを使用場所、すなわちユーザ・カーネル内で行使する処理を実行する。このような行使の手段の１つは、カーネルＩＲＰ制御によるものでもよい。すなわち、ＩＲＰ要求を引き起こすイベントをカーネルによって捕捉し、ポリシー行使エンジン５９０によって調べてもよい。要求されたＩＲＰが違反ではない場合、ポリシー行使エンジン５９０は、ＩＲＰフィルタ５９５を通じて、要求されたアクションの続行を許可する。
【００５２】
一方、要求されたアクションが、ポリシー違反の可能性がある場合、ポリシー・エンジン５９０は、追加の適切なアクションを取る。それらは、アクション６０１など、ＯＳがＩＲＰを受け付けないなどのいくつかのアクション６００を含むことができる。このようにして、ユーザおよび／またはアプリケーションは、これを要求に関係する特定のオペレーティング・システム・サービスまたはハードウェア装置の障害として解釈する。
【００５３】
さらに、他の種類のアクションも実行できる。例えば、オペレーティング・システムは、要求されたアクションがポリシーに違反する旨の通常の警告をユーザに対して発生できる。これは、警告アクション６０２におけるのと同様に、メッセージを送信後、要求の続行を可能にすることによって発生できる。
【００５４】
理由要求警報アクション６０３も同様であるが、さらにユーザに対し、ポリシー違反の理由を明らかにする入力を提出するように要求する。
【００５５】
通知−阻止アクション６０４では、要求がポリシーに違反し、アクションが阻止されたことをユーザに知らせる。
【００５６】
最後に、サーバ警告アクション６０５では、ジャーナル・サーバ１０４−２に警告を与えて、ポリシー違反が生じたことを示し、ユーザ識別子および関係するファイルなどの追加情報を提供する。
【００５７】
これにより、ポリシー行使エンジン５９０の結果として生じるアクション６００が、どの程度の重大度の範囲を有するか見ることができる。この重大度の範囲には、単に要求を受け付けないこと、要求の続行を許すがイベントを記録すること、ポリシーに違反しよう
とする理由についての情報をユーザに要求すること、および／または他の制限および／または許可要求通知を要求することを含む。
【００５８】
図６は、ポリシー行使エンジン５９０が、特定のアクション６０２、理由要求警報６０３、通知阻止６０４、および警告アクション６０５をいかに実行するかを示した図である。例えば、企業ポリシーは、特定の企業アプリケーション７００から発生する指定された種類の印刷のみを可能にすることができる。このポリシーは、通知阻止アクション６０４によって適切に実行される。次いで、アクション６０４は、許容されたポリシー以外の印刷要求を阻止する。
【００５９】
同様に、クリップボード・コピー阻止アクション６０４−２は、内部の企業アプリケーション７００から発生するクリップボード・コピー操作の防止を実行できる。
【００６０】
ファイル・コピー警報アクション６０２−１を実行して、ＵＳＢタイプの装置にファイルをコピーしようとしたときにユーザ１０２−１に警報することもできる。この警報アクション６０２−１は、ユーザにメッセージを送信するが、続いてコピー要求の続行を可能にする。
【００６１】
さらに、ポリシーを実行して、理由要求警報アクション６０３−１を実行し、ユーザがファイルをＣＤに焼き付けようとする際に、ビジネス目的であることを促すことができる。アクション６０３−１により、ユーザ１０２−１側で通知ボックス６２２が表示され、応答を求める。ボックスにポリシー違反の理由が記入されると、焼き付け要求の続行が許可される。
【００６２】
最後に、警告アクション６０５を実行して、インスタント・メッセージ（ＩＭ）ファイル転送を制御できる。ここで、試みられたアクティビティに関連する情報がジャーナル・サーバ１０４−２に提供され、ポリシー違反が生じたことを表示し、ユーザの識別子および関係するファイルなどの追加の情報を、ユーザに完全に透過にして提供することができる。
【００６３】
さらに、ポリシー行使エンジン５９０は、他のポリシーの方式も実行できる。例えば、違反を記録し、「デメリット」手順に従って適切なアクションを実行できる。例えば、述語５８５の１つが、セキュリティ・ポリシーに違反する特定のユーザの試みの回数をカウントするデメリット述語であってよい。このようにして、デメリット・システムを利用して、ユーザがいつディジタル資産の「収集」を試みているかを判断できる。例えば、１日などのきわめて短い期間に、あるユーザが多数のファイルを開き、あるいはコピーしていることを検出できる。発信元がネットワーク共有位置であり、ユーザが例えば１日に100メガバイト（MB）を超えるファイルをコピーした場合、述語ルール違反のカウントがより重大なシステム報告になり、後続の使用の拒否になる。
【００６４】
このアクション・システムにおいて、アプリケーションおよび／またはユーザは、何が生じているのかを必ずしも知る必要はない。すなわち、全体としてＩＲＰを拒否するアクションが、オペレーティング・システムのカーネルでなされるだけである。
【００６５】
ユーザがアクションを確認した場合、これを利用して、貴重な資産が不正流用された場合の、その後の状態分析において、ユーザの意図の証拠を提供できる。
【００６６】
以上、本発明を、本発明の好ましい実施形態に関して図示し、説明してきたが、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形態および細部においてさまざまな変更が可能であることは、当業者には理解されるであろう。
【図面の簡単な説明】
【００６７】
【図１】データ処理システムにおける従来からのセキュリティ境界、および本発明により実現される使用点の境界を示した図である。
【図２】Digital Guardian（商標）サーバがいかにポリシー述語を提供するかを示した図である（Digital Guardianは、マサチューセッツ州ウォルサムのVerdaSys,Inc.の商標である）。
【図３】本発明をさらに詳細に示した処理フロー図である。
【図４Ａ】低レベル原子イベントの一覧を示す表である。
【図４Ｂ】図４Ａの続きの表である。
【図５Ａ】高レベル集合イベントを示す表である。
【図５Ｂ】図５Ａの続きの表である。
【図５Ｃ】図５Ｂの続きの表である。
【図５Ｄ】図５Ｃの続きの表である。
【図６】ポリシー行使の使用点を示す図である。
【図１】
0004667360.tif 000002
【図２】
0004667360.tif 000003
【図３】
0004667360.tif 000004
【図４Ａ】
0004667360.tif 000005
【図４Ｂ】
0004667360.tif 000006
【図５Ａ】
0004667360.tif 000007
【図５Ｂ】
0004667360.tif 000008
【図５Ｃ】
0004667360.tif 000009
【図５Ｄ】
0004667360.tif 000010
【図６】
0004667360.tif 000011