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