(57)【要約】      （修正有）【課題】プライベート・ファイルのコンテンツの全部又は一部がパブリック・ネットワークに漏洩したか否かを判定するシステムを提供する。【解決手段】システムは、スニッパ、マッチャー及びポスト・マッチを備える。スニッパは、種々のファイルのコンテンツを単語のストリームとして抽出して可変サイズの複数の回転チャンクであるスニペットに分解する。マッチャーは、全てのプライベート・ファイルの全てのスニペットのハッシュを全て読み込む。そして、ファイル共有ネットワーク上にある各パブリック・ファイルの一組のスニペット及びハッシュを生成する。得られたパブリック・ファイルのハッシュはプライベート・ハッシュのマップと比較され、スニペット一致ファイルが得られる。ポスト・マッチ・ツールは、全てのスニペット一致ファイルを検査し、連続した一致スニペットを一致ワードの連続ブロックとして集約し、その結果をデータベースに保存する。【選択図】図１
2018170036.tif 000002
【特許請求の範囲】
【請求項１】
機密プライベート情報がパブリック・ネットワークに漏洩したか否かを判定するためのシステムであって、
少なくとも１つのプロセッサ、メモリ、及びネットワーク・インタフェースを含むコンピュータと、
前記コンピュータのアプリケーション・プログラムにより生成されたプライベート機密情報を含むプライベート・デジタル・ファイルを記憶している前記メモリと、
プライベート情報照合プロセスを実行する前記プロセッサであって、
前記プライベート・デジタル・ファイルを受け取り、
前記プライベート・デジタル・ファイルを処理し、そのスニペット部分を生成し、
パブリック・ネットワークから前記ネットワーク・インタフェースを介して複数のパブリック・デジタル・ファイルを受信し、
前記パブリック・デジタル・ファイルを処理し、そのスニペット部分を生成し、
前記パブリック・デジタル・ファイルの各々の前記スニペット部分について計算されたハッシュと、前記プライベート・デジタル・ファイルの前記スニペット部分について計算されたハッシュとの比較に基づいて、前記プライベート・デジタル・ファイルの前記生成されたスニペット部分を、前記パブリック・デジタル・ファイルの前記生成されたスニペット部分と照合し、前記プライベート・デジタル・ファイルの前記プライベート機密情報の少なくとも一部が、前記パブリック・ネットワークに漏洩したか否かを判定するように構成された前記プロセッサと
を含み、
前記スニペット部分はそれぞれ、デジタル・ファイルの複数の回転チャンクをさらに含み、第１のチャンクを含む第１のスニペット部分は、前記ファイル中の第１の一組のワードを含み、第２のチャンクを含む第２のスニペット部分は、前記ファイル中の第２の一組のワードを含み、前記第２の一組のワードは、前記第１の一組のワード中の全部ではない少なくとも一部のワード、及びそれに加えて前記ファイルからの幾つかの他のワードを含む、システム。
【請求項２】
前記プライベート情報照合プロセスは、前記プライベート・ファイル及びパブリック・ファイルの前記チャンクの各々の前記ハッシュを計算するようにさらに構成される、請求項１に記載のシステム。
【請求項３】
前記プライベート情報照合プロセスは、少なくとも１つのパブリック・デジタル・ファイルの連続スニペット部分に一致する前記プライベート・デジタル・ファイルの連続スニペット部分を、一致ワードの少なくとも１つの連続ブロックとして集約するようにさらに構成される、請求項２に記載のシステム。
【請求項４】
前記プライベート情報照合プロセスは、ユーザ・インタフェースを介して、前記プライベート・デジタル・ファイルと、前記パブリック・デジタル・ファイルのうちの少なくとも１つとの間の一致した割合を、それらの間の一致割合のグラフィカル表示を用いて表示するようにさらに構成される、請求項１に記載のシステム。
【請求項５】
受け取った前記プライベート・デジタル・ファイルは、もとのデジタル・ファイルの前記コンテンツの一部のみを含む、請求項１に記載のシステム。
【請求項６】
前記プライベート情報照プロセスは、タグにしたがって、前記プライベート・デジタル・ファイルと少なくとも１つのパブリック・デジタル・ファイルとの間におけるスニペット部分の一致を、照合の結果のレポートから除去するようにさらに構成される、請求項３に記載のシステム。
【請求項７】
前記プライベート情報照合プロセスは、前記プライベート・デジタル・ファイルの前記スニペット部分及び少なくとも１つのパブリック・デジタル・ファイルのスニペット部分の分類を示すタグを受け取り、それぞれのスニペット部分の前記分類を示す前記タグに部分的に基づいて、前記プライベート・ファイルの前記スニペット部分を、前記パブリック・ファイルの前記スニペット部分と照合するようにさらに構成される、請求項３に記載のシステム。
【請求項８】
前記プライベート情報照合プロセスは、前記パブリック・ファイル中の反復スニペット部分を無視するようにさらに構成され、前記反復スニペット部分は、反復ワードを含む、請求項３に記載のシステム。
【請求項９】
前記プライベート情報照合プロセスは、前記プライベート・デジタル・ファイルに一致したパブリック・デジタル・ファイルのリストをデータベースに記憶するようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
前記パブリック・デジタル・ファイルの各々の前記スニペット部分について計算された前記ハッシュと、前記プライベート・デジタル・ファイルの前記スニペット部分について計算された前記ハッシュとの前記比較は、前記スニペット部分について計算された前記ハッシュのマップに基づく、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１２年９月７日に出願された米国仮特許出願第６１／６９７，９１６号に基づく優先権、及びその利益を要求する。
【０００２】
技術分野
本願は、特定の情報がコンピュータ・ネットワークにおいて共有されているか否かを判定することに関する。
【背景技術】
【０００３】
背景情報
ファイル共有とは、コンピュータ・プログラム、マルチメディア（音声、画像、及び映像）、文書、又は電子ブックのようなデジタル記憶された情報へのアクセスの配布、又は提供の実施である。共有メカニズムには、集中サーバ、ワールド・ワイド・ウェブベースのハイパーリンクされた文書、又は、ファイル共有ネットワークの使用などがある。ネットワークの共有は、ピア・ツー・ピア技術、ビットトレント技術、ファイル・ホスティング・サービス等のような、種々の形で実施される場合がある。
【０００４】
ファイル共有は、依然として、最も普及しているインターネット・アプリケーションの１つとしての地位にある。数千又は数百万のユーザからのリソースを貯蔵する能力により、ファイル共有は、多数のアプリケーションにとって、非常に魅力的なものとなっている。しかしながら、情報へのそうした便利かつ迅速なアクセス能力が、リスクを伴わない訳ではない。特に、プライベート・ファイルを誤って又は知らずに共有したユーザは、個人情報その他の機密情報が、世界中の他のユーザによって即座にダウンロードされたことに気付くことがある。
【０００５】
大半の企業は、社会保障番号、クレジットカード及びアカウントの情報、並びに医療及び他の個人データのような、自分たちの従業員及び顧客に関する機密情報を収集し、保管している。企業の多くは、この情報を不慮の開示から保護するための法的義務を有している。もしそのような情報が間違った者の手に渡ったら、それは、不正行為及び識別情報盗難の原因となり得る。Ｐ２Ｐファイル共有ソフトウェアを使用している人々は、不慮によりファイルを共有する羽目になることがある。そうした人々は、機密情報を有するドライブ及びフォルダの共有を誤って選択することがあり、また、そうした人々は、プライベート・ファイルを共有ドライブ又はフォルダに誤って保存したり、または、プライベート・ファイルを他人が入手できる状態にしてしまうことがある。さらに、ウィルス及び他のマルウェアは、共有のために設計されたドライブ及びフォルダへのアクセス権に変更を加えることがあり、これもまた、プライベート・ファイルを危険な状態に置くことがある。その結果、自分達の音楽ファイルを意図したように単純に共有する代わりに、税金記録、個人医療記録、作業文書等のような他の機密情報が、ファイル共有ネットワーク上の大循環を介して入手可能な状態になってしまうことがある。
【０００６】
こうしたリスクは、企業にとってのみならず、エンドユーザにとっても、非常に高い。例えば、米国連邦取引委員会（ＦＴＣ）は最近、従業員の機密個人情報をピア・ツー・ピア（Ｐ２Ｐ）ネットワーク上で共有可能にすることによって不法に暴露した複数の会社に対し、和解を告知した。これらの強制措置は、データ・プライバシー及びセキュリティ・ポリシーの不足、又は不在の重大な裏の意味を指摘している。
【０００７】
組織における機密データを探索し、そうした機密データに対し、ファイル共有ネットワークを介してどのような種類のアクセスが許可されているかを判定することが可能な種々の有料の監査サービスがある。政府及び軍の最終用途において、それは、データの機密性を「秘密」、「極秘」等のように分類するための詳細な規格を使用することがある。こうした分類は、誰がその情報に対するアクセス権を有することができるか、及び、情報を不慮の開示から保護するためにどのようなレベルのセキュリティ保証を実施しなければならないかを、詳述している。
【０００８】
ファイル共有ネットワーク上の機密情報を含むプライベート・ファイルを探索しようとするときに、幾つかの問題が発生する。情報の所有者又は管理者は、自分達のファイルが共有されているか否かを知ることを望んでいるが、さらに、ファイルの断片が共有されているか否かまでも知ることを望んでいる。例えば、クレジットカード番号の長いリストは、たとえ少数のクレジットカード番号が暴露された場合でも、危険に曝されることがある。また、機密情報は、他の情報と組み合わされて、難読化される場合がある。さらに、機密コンテンツは、複数のファイルに分割される場合がある。さらに、プライベート・ファイルは、機密扱いの情報、又は他の極秘情報を含むことがあるが、それでも情報の管理者は、情報を完全に開示することなく、自分達が商業サービスを利用して、それらの情報を探索できることを望んでいる。
【０００９】
概要
本開示によれば、プライベート・ファイルを、パブリック・ネットワーク（例えば、ウェブサーバ、Ｐ２Ｐネットワーク、ＢｉｔＴｏｒｒｅｎｔ（ビットトレント）など）を介して入手できる種々のファイルと照合し、プライベート・ファイルの情報コンテンツが漏洩したか否かを判定することが可能となる。一組のツールが、プライベート・ファイルから得られた情報の断片、又はプライベート・ファイルに関する情報の断片に作用し、それによって、処理スループットの向上、異なるタイプのコンテンツを処理する能力、及び、情報自体を開示することなく機密情報を検索する能力といった多数の利点が得られる。
【００１０】
具体的実施形態としては、プライベート・ファイルの断片を、ファイル共有ネットワーク上で入手できる種々のパブリック・ファイルと照合する技術が提供される。プロセスは、例えば、少なくとも、スニッパ・ツール（Snipper Tool）、マッチャー・ツール（Matcher Tool）、及びポスト・マッチ・ツール（Post Match Tool）を利用する。
【００１１】
スニッパ・ツールは、種々のファイルのコンテンツをワード（単語）のストリームとして抽出し、そのストリームを、スニペットと呼ばれる可変サイズの複数の回転チャンクに分解する。例えば、５０ワードのストリームにおいてスニペットサイズが２５である場合、スニッパ・ツールは、５０ワードのストリームを、各スニペットが２５ワード長を有する２６個のスニペットに分解する。その後、各スニペットについてハッシュを計算する。
【００１２】
マッチャー・ツールは、全てのプライベート・ファイルについて生成された全てのスニペットについて計算されたハッシュを全て読み込む。そして、ファイル共有ネットワーク上にある各パブリック・ファイルについて、上で説明した同じスニペット・プロセスを使用して、一組のスニペット及びハッシュが生成される。照合を実施するために、結果として得られたパブリック・ファイルのハッシュが、プライベート・ハッシュのマップと比較される。そして、一致ファイルのリストのような、照合プロセスの結果が、データベース等に保存される。
【００１３】
ポスト・マッチ・ツールは、結果として得られた一致ファイルの全てを検査し、連続した一致スニペットを一致ワードの連続ブロックとしてアグリゲート（集約）する。その後、結果は、データベース等に保存される。その後、ファイル間の特定の一致に関する、より詳細な情報を得るために、連続した一致ブロックは、一致評価ユーザ・インタフェース（ヒューマン・アナリストに提示されることがある）を介して、検査されることがある。
【００１４】
特定の実施形態において、かかるユーザ・インタフェースによれば、ヒューマン・アナリストは、１以上のファイル共有ネットワーク上にあるパブリック・ファイルのディレクトリに対し、照合／スニペット・プロセスを開始することができる。マッチャーは、それらのパブリック・ファイルに対して同じスニペット・プロセスを実施し、その後、その結果から得られた概要情報をデータベースに保存する。
【００１５】
スニペット一致評価ユーザ・インタフェースによれば、アナリストはさらに、２つのファイル間の一致を検査することができる。当該ユーザ・インタフェースは、例えば、左側にプライベート情報を表示し、右側にパブリック情報を表示する形で、一致の横並びビューを表示することができる。一致ファイルのリストは、スクロール可能なリストとして表示される場合がある。ユーザが、あるプライベート及びパブリック・ファイルを選択すると、例えば発見された一致の割合の概要のような、一致ビューが表示される場合がある。赤、緑、及び黄のような色、又はそれらの不在を使用して、一致の程度を示すことができる。
【００１６】
また、照合プロセスは、一致スニペットを全て検査し、一致ファイル間における連続一致セクションを判定することができる。各ブロックのプレビューは、スクロール可能なリスト等の形で画面の一部に表示されることができる。ブロックは、ソートされることができ、例えば最大数のファイルを有していることが判明した一致ブロックが最初の順番となるような順番で、ソートされることができる。
【００１７】
実施形態にさらに装飾を施してもよい。例えば、プライベート・ファイルが極秘情報を含む場合、プライベート・ファイルの所有者にとって、プライベート・ファイルの完全なコピーを外部のサービス・プロバイダーに提供することは、望ましくない場合がある。所有者は、代わりに、サービス・プロバイダーが探し求めているプライベート・ファイルの種々の断片のみを提供することがあり、又は、ハッシュ情報のみをツールに提供することさえもある。
【００１８】
スニペットサイズは、アナリストにより決定されてもよいし、経験則により決定されてもよい。例えば、どの情報が最も重要であるかに重点を置くために、他の経験則が、自動プロセス又は手動プロセスのいずれかによって適用される場合がある。
【図面の簡単な説明】
【００１９】
下記の発明の説明では、添付の図面を参照する。
【図１】プライベート情報がパブリック・ネットワークに漏洩したか否かを判定するシステムの高レベルアーキテクチャを示す図である。
【図２】スキャナー・コンポーネントをさらに詳しく示す図である。
【図３】パブリック／プライベート・スキャン・テーブルの例を示す図である。
【図４】スプーラ・コンポーネントを示す図である。
【図５】スプーラ・バッチ・テーブルの例を示す図である。
【図６】スニッパ・コンポーネントを示す図である。
【図７】スニッパ・バッチ・テーブルの例を示す図である。
【図８】ファイルを「スニッピング」するための抽出プロセスを示す図である。
【図９】マッチャー・コンポーネントを示す図である。
【図１０】一致ファイルに関して記憶された概要情報の例を示す図である。
【図１１】総合ファイル一致レポートを示す図である。
【図１２】ファイル一致レポートを示す図である。
【図１３】分類ツールを示す図である。
【図１４】横並び一致評価ツールを示す図である。
【図１５】一致ブロック評価ツールを示す図である。
【発明を実施するための形態】
【００２０】
概要
本システムは、機密情報を含む種々のプライベート・ファイルを、パブリック・ネットワークからダウンロードされた種々のファイルと照合するための一組のデータ処理ツールを提供する。これらのツールは、プライベート・ファイルのコンテンツの全部又は一部がパブリック・ネットワークに漏洩したか否かを判定する。一組のツールは通常、少なくとも、スニッパ、マッチャー、及びポスト・マッチ要素を含む。
【００２１】
スニッパ
スニッパ・ツールは、種々のファイルのコンテンツをワードのストリームとして抽出し、そのストリームを、可変サイズのワードの複数の回転チャンク（すなわち、「スニペット」）に分解する。例えば、所与のスニペットサイズが２５であり、ストリームが５０ワードからなる場合、スニッパは、５０ワードを、下記表１のように２５ワード長（長さ）の２６個のスニペットに分解する：
【００２２】
【表１】
2018170036.tif 000003
【００２３】
スニペットの後の照合を容易にするために、各スニペットについて、ハッシュが計算される。
【００２４】
マッチャー
マッチャー・ツールは、全てのプライベート・ファイルについて生成された全てのスニペットについて計算された全てのハッシュを、メモリベースのマップに読み込む。その後さらに、上で説明した同じスニペット・プロセスを使用して、各パブリック・ファイルについて、一組のスニペット及びハッシュが計算される。
【００２５】
照合を実施するために、パブリック・ファイルのハッシュが、プライベート・ハッシュのマップと比較される。その後、照合プロセスの結果（例えば、一致ファイルの完全なリスト）が、データベースのような持続性記憶装置に記憶される。
【００２６】
ポスト・マッチ
ポスト・マッチ・ツールは、全ての保存された一致ファイルを検査し、連続した一致スニペットを、一致ワードの連続ブロックとして集約する。このプロセスの結果は、（データベース、又はファイルシステムに）．ｍａｔｃｈファイルに保存される。その後、連続した一致ブロックは、一致評価によって使用される。ファイル間の特定の一致に関する、より詳細な情報を得るために、ユーザ・インタフェースは、一致情報をアナリストに提示することができる。
【００２７】
アーキテクチャ
図１は、高レベルシステムアーキテクチャを示している。
【００２８】
スキャナー・コンポーネントは、残りのコンポーネントによる処理に備えて、ファイルシステムから、プライベート及びパブリックの、種々のファイルを収集する役割を有する。プライベート・ファイルは、システムのユーザから得られる場合もあれば、顧客が、他者のためにシステムを運用しているサービス・プロバイダに提出する場合もある。プライベート・ファイルは通常、機密プライベート情報を含む人間が読める形の文書を表すデジタル符号化情報を含み、ワード・プロセッサ、スプレッドシート・プログラム、スライド表示プログラム、データベース、ウェブ・ブラウザ、実行プロセス出力キャプチャのようなアプリケーション・プログラムによって、又は、出力デジタルファイルを生成する類似のアプリケーションによって生成される場合がある。
【００２９】
パブリック・ファイルは、パブリック・ファイル・ネットワークを検索することにより探索される。パブリック・ファイル・ネットワークには、ファイル・サーバ、ウェブ・サーバ、ピア・ツー・ピア（Ｐ２Ｐ）ネットワーク、ＢｉｔＴｏｒｒｅｎｔ（ビット・トレント）・ネットワーク、及び、情報の共有を許容する任意の他の技術が含まれる得る。他のプロトコル・エンジン・マシン（ここでは図示せず）は、システムによる後の使用に備えて、多数のパブリック・ファイルを探索し、記憶するために、Ｐ２Ｐ、ＢｉｔＴｏｒｒｅｎｔ、及び、他のネットワークを絶え間なくスキャンし続ける。
【００３０】
スプーラは、スキャナー・コンポーネントにより提供されたファイルを処理する。スプーラは、各ファイルを中間準備領域にコピーし、ファイルのＳＨＡ−１（又は他のハッシュ）を計算する。ＳＨＡ−１が計算された後、ファイルは、スプール・ハッシュ・ディレクトリにおいてＳＨＡ−１ベースの名前にリネームされる。スプーリングされた各ファイルについて、１つのエントリがデータベースに追加される。
【００３１】
その後、スニッパは、スプーラにより提供された各ファイルのコンテンツをワードのストリームとして抽出し、それらのワードを、一組の回転スニペットに分解し、各スニペットについてハッシュを計算する。関連するハッシュ及びワードが、ファイルシステムに書き込まれ、概要情報が、データベースに書き込まれる。
【００３２】
マッチャーは、各プライベート・ファイルについてのハッシュを、各パブリック・ファイルについてのハッシュと比較することにより、一致を計算する。それらの一致一式の結果は、データベースに書き込まれる。
【００３３】
ポスト・マッチ・コンポーネントは、各一致ファイルに関する詳細を収集し、一致スニペットを一致連続ブロックとして集約し、経験則を実施して、それらの連続ブロックを自動的に分類する。
【００３４】
図１のアーキテクチャは、下記を実現するためのものである。
【００３５】
高スループット。高スループットは、並列に動作する複数のプロセッサにより得られる。新たなファイルをスキャンしながら、以前にスキャンされたファイルをスプーリングすることができる。新たなファイルをスプーリングしながら、以前にスプーリングされたファイルをスニッピングすることができる。新たなファイルをスニッピングしながら、以前にスニッピングされたファイルを照合することができる。新たなファイルを照合しながら、以前に照合されたファイルをポスト・マッチャーにより処理することができる。メモリの大規模な使用、特にマッチャー・コンポーネントにおけるメモリの大規模な使用もまた、最高可能スループットに貢献する。
【００３６】
スケーラビリティ。各プロセッサは、作業のバッチを処理する。各プロセスのためのスレッドの数は、コンフィグレーションにより設定され、プロセスのためのスレッド数を増やすことによって、及び／又は、複数のマシンを使用してさらに別のプロセッサを動作させることによって、スケーリングが得られる。
【００３７】
スキャナー（図２）
スキャナー・コンポーネントは、残りのコンポーネントによる分析に備えて、ファイルを収集する役割を有する。ディレクトリからファイルを収集するために、アナリストは、コンフィグレーション・グラフィカル・ユーザ・インタフェース（ＧＵＩ）を使用して、ディレクトリをスキャナー・ディレクトリのリストに追加する。
【００３８】
スキャナーは、設定されたディレクトリ[ＳｏｕｒｃｅＦ２ｆ]ごとに１つのスレッドを生成する。各スキャナー・スレッドは、新たなファイル、又は変更されたファイルを探して、自分に割り当てられたディレクトリをスキャンする。あるファイルがプライベート／パブリック・スキャン・ファイル・テーブルにも、パブリック／プライベート・ソース・ファイル・テーブルにも存在しない場合、そのファイルは、新しいものとみなされる。スキャニング・プロセスは、パブリック／プライベート・スキャン・ファイル・テーブル（図３）にエントリを追加する。スプーラがスキャンされたファイルをスプーリングする場合、スプーラは、パブリック／プライベート・ソース・ファイル・テーブルにエントリを追加する。
【００３９】
最終アクセス時刻属性が、上記テーブルに保存され、ファイルが変更されたか否かを判定するために使用される。変更されたファイルは、スキャナーの次回の実行時にスキャンされ、別のエントリが、スキャン・ファイル・テーブルに追加されることになる。
【００４０】
スプーラ（図４）
スプーラ・コンポーネントは、残りのコンポーネントによる分析に備えて、スキャン・ファイルを収集する役割を有する。収集すべきファイルは、スキャナー・コンポーネントによって保存されたリストのファイルである。プライベート・スキャン・テーブル及びパブリック・スキャン・テーブルからの全てのファイルが処理される。
【００４１】
スプーラは、プライベート・スキャン・ファイル・テーブル若しくはパブリック・スキャン・ファイル・テーブルからのファイルのバッチ[スプーラ・バッチ・テーブル]（図５）、又は、Ｐ２Ｐプロトコル・エンジン若しくは他のプロトコル・エンジンからのファイルのバッチ[Ｐ２Ｐスプーラ・バッチ]を処理する。スプーラは、各ファイルを中間準備領域にコピーし、ファイルのＳＨＡ−１を計算する。ＳＨＡ−１が計算された後、ファイルは、スプーラ・ディレクトリにおいてＳＨＡ−１ベースの名前にリネームされる。各ファイルについて、１つのエントリがプライベート／パブリック・ソース・ファイル・テーブルに追加され、そのファイルが唯一のもの（重複しないもの）であれば、１つのエントリが、プライベート／パブリック・ソース・ハッシュ・テーブルに追加されることになる。
【００４２】
スニッパ（図６）
スニッパ・コンポーネントは、スプーラ・コンポーネントによる分析のために収集されたファイルを処理する役割を有する。ファイルがシステムに正しくスプーリングされた後、スニッパは、各ファイルのコンテンツを抽出し、コンフィグレーションにより設定されたスニペット・ハッシュ・ディレクトリ及びスニペット・ワード・ディレクトリによる指示に従って、関連するハッシュ及びワードをファイルシステムに書き込むことになる。
【００４３】
スニッパは、プライベート／パブリック・ソース・ハッシュ・テーブルからのファイルのバッチ[スニッパ・バッチ・テーブル]（図７）を処理する。スニッパは、バッチ中の各プライベート／パブリック・ソース・ハッシュ・ファイルについて、ハッシュ・ファイル及びワード・ファイルを生成する。また、バッチ中の各プライベート／パブリック・ソース・ハッシュ・ファイルについて、１つのエントリを、プライベート／パブリック・スニペット・ファイル・テーブル・ファイルに追加する。
【００４４】
もしバッチが、正しくスニッピングされなかったファイルを含む場合、正しくスニッピングされなかった各ファイルについて、１つのエントリが、故障プライベート／パブリック・スニペット・ファイル・テーブルに追加される。
【００４５】
抽出（図８）
ファイルを「スニッピング」する際の最初のステップは、各ファイルから、コンテンツをワードのストリームの形で抽出することである。書式設定及び句読点は、全て除去される。
【００４６】
スニッピング・プロセスの最初のステップは、抽出である。抽出器は、スプールファイルのコンテンツを読み出し、ワードのストリームを生成する。その後、そのワードのストリームは、「スニペット」と呼ばれる、連続したワードの複数の小さなリストに分離される。「スニペットサイズ」は、「スニペット」が幾つのワード含むかを決定する。最も完全な一致を確保するために、ワードのストリームは、複数の「回転スニペット」に分離される。回転スニペットは、下記表１のように１ワードだけオフセットされた連続したワードの小さなリストである。
【００４７】
【表２】
2018170036.tif 000004
【００４８】
照合プロセスを最適化するために、各回転スニペットについて、ハッシュが計算される。ハッシュは、．ｈａｓｈファイルに保存され、ワードの完全なリストは、．ｗｏｒｄｓファイルに保存される。各ファイルに関する概要情報は、データベースに書き込まれる。
【００４９】
マッチャー（図９）
マッチャー・コンポーネントは、スニッパ・コンポーネントにより生成されたハッシュを照合する役割を有する。
【００５０】
マッチャーは、プライベート・スニペット・ファイルからハッシュを読み込む。マッチャーにより使用されるメモリの量を管理するために、マッチャーは、ハッシュ限度設定に基づいて、プライベート・スニペット・ファイル・ハッシュを複数のバッチに分解する。
【００５１】
プライベート・ファイル・ハッシュが読み込まれた後、パブリック・ファイルが、バッチとして収集される。マッチャーは、一度に複数のパブリック・ファイルの１つのバッチを処理しながら、そのバッチ中の各パブリック・ファイルのハッシュを読み込み、それらのハッシュを、以前に読み込まれたプライベート・ファイル・ハッシュと比較する。一致ファイルの各組に関する概要情報が、データベース（図１０）に保存される。
【００５２】
ポスト・マッチャー
ポスト・マッチ・コンポーネントは、マッチャー・コンポーネントにより検出された一致ファイルに対し、さらに別の処理を実施する役割を有する。ポスト・マッチ・プロセスは、プライベート・ファイルとパブリック・ファイルとの間における連続した一致スニペットを、連続ブロックとして集約する。各一致したプライベート及びパブリック・ファイルについて、１以上の連続ブロックが決定される（下記表３及び表４の例を参照）。
【００５３】
【表３】
2018170036.tif 000005
【００５４】
【表４】
2018170036.tif 000006
【００５５】
分類
分類は、照合の処理のためのワークフローを推進するために使用される。例えば、高優先順位の一致は、直ちに識別され、処理されることがあり、また、低優先順位の一致は、その後の処理から除外されることがある。一致の分類は、連続ブロックの各々にタグ（複数可）を割り当てることから始まる。Ｄａｒｗｉｎ製品は、照合結果の処理のための種々のレポート及びＧＵＩを提供している。大半のレポート及びツールは、関連分類を有する一致を削除したり、表示したりするためのフィルタリング・メカニズムを備えている。経験則（下記参照）を使用して、連続ブロックに分類を自動的に割り当ててもよい。
【００５６】
照合に備えて全ての連続ブロックにタグを割り当てた後、各ブロックに対する分類を、特定の分類の拡大プロパティ（全て、何れか、無し）に基づいて、一致レベルまで拡大してもよい。
【００５７】
例えば、「無視」分類のための拡大プロパティは、「全て」である。もし一致に関する「全て」の連続ブロックに（プライベート・ファイルとパブリック・ファイルの両方の視点０から）「無視」タグがタグ付けされていた場合、拡大プロパティ「全て」は、ポスト・マッチャーに対し、その一致全体に「無視」タグを単に追加することを命じる。
【００５８】
「高優先順位」分類のための拡大プロパティは、「何れか」である。もし一致に関する連続ブロックの「何れか」に（プライベート・ファイルとパブリック・ファイルの両方の視点から）「高優先順位」タグがタグ付けされていた場合、拡大プロパティ「何れか」は、ポスト・マッチャーに対し、その一致全体に「高優先順位」タグを追加することを命じる。
【００５９】
拡大プロパティ「無し」は、ポスト・マッチ・プロセスに対し、分類についての拡大を行わないことを命じる。
【００６０】
経験則
一致を自動的に分類するために、ポスト・マッチ・プロセッサによって使用することが可能な多数の経験則がある。例えば、反復シーケンス経験則は、反復シーケンスとみなすことができる任意の一致に対し、「反復シーケンス」タグ及び「無視」タグを追加する。電子メール署名経験則は、電子メール署名とみなすことができる任意の一致に対し、「電子メール署名」タグを追加する。
【００６１】
一致評価
本システムは、照合結果を評価する際にアナリストを補助するための多数のレポート及びツールを提供する。ツールは、以下に列挙される。
【００６２】
総合ファイル一致レポート（図１１）
このレポートは、ファイルが互いの完全なコピーであること（すなわち、バイナリレベルでの一致）を示している。
【００６３】
ファイル一致レポート（図１２）
このレポートは、一致スニペット（すなわち、少なくとも１つの一致スニペット）を含む全てのファイルを示している。
【００６４】
分類ツール（図１３）
アナリストは、分類ツールを使用して、ブロックに種々のタグを事前に割当てることができる。例えば、アナリストは、法的免責事項、一般的ヘッダー及びフッター、並びに挨拶文などに対し、「無視」タグを割り当てることができる。アナリストは、より重要な一致結果に重点を置くために、ＵＩ及びレポートの中から、「無視」タグがタグ付けされた一致を簡単に除去し、又は抑制することができる。
【００６５】
横並び一致評価ツール（図１４）
アナリストはさらに、横並び一致評価ツールを使用して、連続ブロックに分類を割り当てることができる。
【００６６】
一致ブロック評価ツール（図１５）
アナリストは、一致ブロック評価ツールを使用して、新たな分類を定義することができるだけでなく、一致する連続ブロックに分類を割り当てることもできる。
【００６７】
絶え間ない向上
最初の照合プロセスの結果として、少数のスニペットにのみ一致する多数の一致が、得られる場合がある。一致の大半は、一般的句、ヘッダー、フッターなどを含むことから、「誤検知」又は「ノイズ」とみなされることがある。アナリストがそれらの一致（すなわち、連続ブロック）に「無視」分類をタグ付けした場合、２つのファイル間の一致においてそのブロックが現れるたびに、ブロックは、その分類を有している。「無視」分類は、分類の拡大プロパティに基づいて、一致にタグ付けされる場合もある。時間の経過とともに、大多数の「ノイズ」は、「無視」タグによって事前分類されることになる。照合結果を処理するアナリストは、より多くの「ノイズ」が除去されることに従って、より大きな割合の真の一致を処理することになる。
【００６８】
照合処理の効率は、絶え間なく向上し続けている。アナリストは、分類ツールを使用して最も普及している一般的句、ヘッダー、フッターなどを識別することにより、効率の獲得の点において一歩先を行くことができる。同ツールを使用すれば、高優先順位ブロックを識別し、高優先順位ブロックを含む一致（「ゴールデン・スニペット」）の処理を早めることができる。
【００６９】
総合ファイル一致レポート（図１１）
このレポートは、各一致ファイルについて、フル・ファイル・パス、及びｓｈａ１を示している。
【００７０】
ファイル一致レポート（図１２）
このレポートは、各一致ファイルについて、フル・ファイル・パス、ファイル・サイズ、ワード、及び一致割合を示している。
【００７１】
分類ツール（図１３）
分類ツールは、アナリストによって選択されたファイルを読み込み、そのファイルのコンテンツをワードのストリームとして抽出する。その後、アナリストは、コンテンツから一連のワード又はスニペットを選択することができる。コンテンツのブロックを選択した後、アナリストは、１以上の分類をそのブロックに割り当てることができる。また、アナリストは、必要に応じて、新たな分類を追加することもできる。
【００７２】
横並び一致評価ツール（図１４）
横並び一致評価ツールによれば、アナリストは、２つのファイル間における一致を検査することができる。一致は、ＨＴＭＬビューワにおいてハイライト（強調表示）される。ＵＩは、プライベート情報を左側に表示し、パブリック情報を右側に表示する形で、一致の横並びビューを表示する。
【００７３】
一致するプライベート・ファイルのリストは、スクロール可能なリストの形で画面の左上に表示される。選択されたプライベート・ファイルに一致するパブリック・ファイルのリストは、スクロール可能なリストの形で画面の右上に表示される。左側のリストからプライベート・ファイルを選択することによって、一致するパブック・ファイルの右側への追加、及び最初の一致するパブリック・ファイルの自動選択が行われる。
【００７４】
ユーザがプライベート及びパブリック・ファイルを選択すると、ファイルのリストの直ぐ下に表示された一致概要ＨＴＭＬビュー、及び画面の下部に表示された一致の詳細が、更新される。一致概要ＨＴＭＬビューは、一致ファイルの概要を示している。各文字は、ファイル中の１つのスニペットを表している。もしスニペットが、対応するファイル中のいずれの他のスニペットとも一致しない場合、文字「．」が表示される。もしスニペット全体が、対応するファイル中のあるスニペットと一致した場合、文字「＊」が表示される。もしスニペットの一部が、スニペット中の複数のワードの一定の割合に一致した場合、その一致は、下記表５のように概略表示される。
【００７５】
【表５】
2018170036.tif 000007
【００７６】
一致の詳細は、プライベート及びパブリック・ファイルから抽出されたワードのリストを示している。連続した一致の各ブロックは、緑色に強調表示される。１つのブロックは、１以上の一致スニペットである。アナリストによる一致の検討を補助するために、連続した一致スニペットは、１つのブロックにまとめられる。現在のブロックは、黄色に強調表示される。不一致ワードは、何も強調表示されない。ユーザは、画面の下部にあるボタン（すなわち、最初、前、次、最後）を使用して、一致間を移動することができる。「開く」ボタンにより、ユーザは、最初から備わっているエディタ（例えば、．ｄｏｃ及び．ｄｏｃｘファイルのためのＭＳ／Ｗｏｒｄ）を使用して、対応するファイルを見ることができる。
【００７７】
アナリストはさらに、「タグ」ボタンを使用して、強調表示されたブロックに種々の分類タグを割り当てることができる。
【００７８】
一致ブロック評価ツール（図１５）
一致ブロック評価ユーザ・インタフェースにより、アナリストは、照合プロセス中に発見された連続した一致ブロックを検査することができる。各ブロックのプレビューが、スクロール可能なリストの形で画面の左上に表示される。ブロックは、一致カウントに応じた順序にソートされる（すなわち、最大数のファイルにおいて発見された一致ブロックが、最初に表示されるようにソートされる）。一致チェックボックスは、現在のブロックが一致ファイル中で発見された回数を示している。
【００７９】
アナリストは、ブロックのリストを特定の分類を含むブロックに限定するために、画面の右上部にあるチェックボックスを使用して、分類タグにより、ブロックのリストをフィルタリングすることができる。分類は、画面の右下部にある種々の分類エリアを使用して、ブロックに割り当てることができる。ブロックに分類を割り当てるために、アナリストは、分類の横にあるチェックボックスをチェックする。ブロックには、任意数の分類を割り当てることができる。追加ボタンにより、アナリストは、さらに別の分類を作成することができる。
【００８０】
無視分類は、一致を無視すべきことを示すために使用することができる特殊な分類である。あるブロックが無視分類を有している場合、そのブロックは、「ブロック詳細」セクションにおいて、画面の左下部に黄色で強調表示されることになる。
【００８１】
アナリストは、画面の経験則セクションにおいて１以上の経験則を選択し、「適用」ボタンをクリックすることにより、一致ブロックの全てに対して、経験則を適用することができる。例えば、反復シーケンス経験則は、各ブロックに、ワードの反復シーケンスがあるか否かを検査し、ブロックが反復ワードのみを含む場合、そのブロックに無視分類を追加する。
【００８２】
高優先順位分類
あるファイルが非常に重要な一組のワードを含む場合、アナリストは、適当な人材が如何なる一致にも気付くようにするために、この「ゴールデン・スニペット」に、高優先順位タグをタグ付けすることができる。また、ユーザは、重要でないスニペットについては、無視分類をスニペットにタグ付けすることができる。
【００８３】
無視分類
以前に「無視」分類がタグ付けされた新たな連続ブロック一致には、「無視」分類がタグ付けされることになる。アナリストはさらに、任意の連続ブロックに「無視」分類をタグ付けすることもでき、そのようなブロックをＵＩ及びレポートから除去することができる。
【００８４】
アナリスト指定分類
アナリストは、一致ブロック評価ツールにより、新たな分類を追加することもできる。こうした分類は、照合プロセスによって発見された任意の一致ブロックへのタグ付けに使用されることがある。
【００８５】
分類によるフィルタリング
アナリストは、１以上の分類についてのフィルタを有効化することによって、表示されたブロックのリストをフィルタリングすることができる。
【００８６】
変形実施形態
上に記載した例示的実施形態は、多数の異なる態様で実施される場合がある。一部の事例において、本明細書に記載される種々の「データ・プロセッサ」はそれぞれ、中央処理装置、メモリ、ディスク又は他の大容量記憶装置、通信インタフェース（複数可）、入出力（Ｉ／Ｏ）デバイス（複数可）、及び他の周辺機器を有する、物理的又は仮想汎用コンピュータによって実施される場合がある。汎用コンピュータは、複数のプロセッサに転換され、例えば、種々のソフトウェア命令をプロセッサに読み込み、それらの命令を実行し、説明した機能を実行することにより、上で説明した処理を実行する。
【００８７】
当該技術分野において知られているように、そのようなコンピュータは、システム・バスを含む場合がある。ここで、バスとは、コンピュータ又は他の処理システムのコンポーネント間においてデータ転送に使用される一組のハードウェア・ラインである。バス又は複数のバスは、本質的には、コンピュータシステムの異なる要素（例えば、プロセッサ、ディスク・ストレージ、メモリ、入出力ポート、ネットワーク・ポートなど）を接続し、それらの要素間における情報の転送を可能にする共有路（複数可）である。１以上の中央演算処理装置（ＣＰＵ）がシステム・バスに取り付けられ、コンピュータ命令の実行を行う。また、システム・バスには通常、種々の入出力デバイス（例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカーなど）をコンピュータに接続するためのＩ／Ｏデバイス・インタフェースも取り付けられる。ネットワーク・インタフェース（複数可）により、コンピュータは、ネットワークに取り付けられた種々の他の装置に接続することができる。メモリは、実施形態を実現するために使用される種々のコンピュータソフトウェア命令及びデータのための揮発性記憶を提供する。ディスク又は他の大容量記憶装置は、例えば、本明細書に記載される種々の手順を実施するために使用される種々のコンピュータソフトウェア命令及びデータのための不揮発性記憶を提供する。
【００８８】
したがって、実施形態は一般に、ハードウェアで実施されても、ファームウェアで実施されても、ソフトウェアで実施されても、それらの如何なる組み合わせで実施されてもよい。
【００８９】
上で説明した処理を実行するコンピュータは、クラウド・コンピューティング構成を成すように配備される場合がある。クラウド計算機構成は、１以上の物理及び／又は仮想データ処理マシンが、最小限の管理労力及びサービス・プロバイダーとの情報交換で迅速に作成し、リリースすることが可能な設定可能な計算リソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービス）の共有プールを、便利なオンデマンド・ネットワーク・アクセス・モデルによって利用できるようにする。そのようなクラウド・コンピューティング・デプロイメントは、複数のユーザが、コンピューティング・リソースを共有市場の一部としてアクセスすることを可能にするので、妥当であり、かつ一般に好ましい。複数のユーザからの要求を中央の場所に集約することによって、持続可能な、及び／又は中央集中化された場所に配置され、かつ、単位当たり最大の可能な効率を達成するように設計された種々のデータ・センターに、クラウド・コンピューティング環境を構築することができる。
【００９０】
特定の幾つかの実施形態において、本明細書に記載される手順、装置、及びプロセスは、本システムのためのソフトウェア命令の少なくとも一部を提供するコンピュータ読取可能媒体（例えば、１以上のＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ディスケット、テープなど）を含む、コンピュータプログラム製品である。そのようなコンピュータプログラム製品は、当業界において知られている任意の適当なソフトウェア・インストール手順によりインストールすることができる。他の実施形態として、ソフトウェア命令の少なくとも一部は、ケーブル、通信、及び／又は無線接続を介してダウンロードされてもよい。
【００９１】
また、実施形態は、非一時的機械読取可能媒体上に、種々の命令として実施されてもよく、非一時的機械読取可能媒体は、１以上の手順により読み出され、実行される場合がある。非一時的機械読取可能媒体は、情報を機械（例えば、計算装置）で読み取り可能な形で記憶し、又は伝送するための任意のメカニズムを含む場合がある。例えば、非一時的機械読取可能媒体は、リード・オンリー・メモリ（ＲＯＭ）；ランダム・アクセス・メモリ（ＲＡＭ）；磁気ディスク記憶媒体；光記憶媒体；フラッシュ・メモリ・デバイスなどを含む場合がある。
【００９２】
さらに、ファームウェア、ソフトウェア、ルーチン、又は命令は、本明細書では、特定の行為及び／又は機能を実施するものとして記載される場合がある。しかしながら、当然ながら、本明細書に含まれるそのような記載は、単なる便宜的なものであり、そのような行為が、実際には、計算装置、プロセッサ、コントローラ、又は、ファームウェア、ソフトウェア、ルーチン、命令などを実行している他のデバイスから生じることを示しているものと理解すべきである。
【００９３】
また、ブロック図及びネットワーク図は、もっと多くの要素を含む場合があり、別様に構成され又は表現される場合があるものと理解すべきである。しかしながら、また、特定の幾つかの実施形態は、実施形態が特定の形で実施されることを示すブロック図及びネットワーク図、並びにブロック図及びネットワーク図の数を要求する場合があるものと、理解すべきである。
【００９４】
したがって、さらに別の実施形態が、種々のコンピュータ・アーキテクチャ、物理的、仮想的、クラウド・コンピュータ、及び／又は、それらの組み合わせにおいて実施される場合もあり、したがって、本明細書に記載されるコンピュータ・システムは、単なる例示の目的を意図したものであり、実施形態の制限としてのものではない。
【００９５】
本発明の例示的実施形態を以下に列挙する。
１．機密プライベート情報がパブリック・ネットワークに漏洩したか否かを判定するためのシステムであって、
少なくとも１つのプロセッサ、メモリ、及びネットワーク・インタフェースを含むコンピュータと、
アプリケーション・プログラムにより生成された機密コンテンツを含むプライベート・デジタル・ファイルと、
前記プロセッサの前記メモリにおいて実行されるプライベート情報照合プロセスであって、
前記プライベート・デジタル・ファイルを受け取り、
前記プライベート・デジタル・ファイルを処理し、そのスニペット部分を生成し、
パブリック・ネットワークから前記ネットワーク・インタフェースを介して複数のパブリック・デジタル・ファイルを受信し、
前記パブリック・デジタル・ファイルを処理し、そのスニペット部分を生成し、
前記プライベート・デジタル・ファイルの前記生成されたスニペットを、前記パブリック・デジタル・ファイルの前記生成されたスニペットと照合し、前記プライベート・デジタル・ファイルの前記コンテンツの少なくとも一部が、前記パブリック・ネットワークに接続された他のコンピュータにとってアクセス可能であるか否かを判定するように構成された、プライベート情報照合プロセスと
を含むシステム。
２．前記スニペット部分はそれぞれ、デジタル・ファイルの複数の回転チャンクをさらに含み、第１のチャンクを含む第１のスニペット部分は、前記ファイル中の第１の一組のワードを含み、第２のチャンクを含む第２のスニペット部分は、前記ファイル中の第２の一組のワードを含み、前記第２の一組のワードは、前記第１の一組のワード中のワードの全部ではない少なくとも一部、及びそれに加えて前記ファイルからの幾つかの他のワードを含む、１に記載のシステム。
３．前記プライベート情報照合プロセスは、前記プライベート・ファイル、及び前記パブリック・ファイルのハッシュを計算するように構成される、１に記載のシステム。
４．前記プライベート情報照合プロセスは、前記プライベート・ファイル及びパブリック・ファイルの前記チャンクの各々のハッシュを計算するようにさらに構成される、２に記載のシステム。
５．前記プライベート情報照合プロセスは、少なくとも１つのパブリック・デジタル・ファイルの対応する連続スニペットに一致するプライベート・デジタル・ファイルの連続スニペットを、一致ワードの少なくとも１つの連続ブロックとして集約するようにさらに構成される、４に記載のシステム。
６．前記プライベート情報照合プロセスは、ユーザ・インタフェースを介して、プライベート・ファイル、及び一致したパブリック・ファイルの指示を、一致割合のグラフィカル表示を用いて表示するようにさらに構成される、１に記載のシステム。
７．受け取った前記プライベート・デジタル・ファイルは、少なくとも一部の情報を無視して、もとのデジタル・ファイルの前記コンテンツの一部のみを含み、もとのプライベート・ファイルの前記コンテンツの全部を含まない、１に記載のシステム。
８．前記プライベート情報照プロセスは、前記プライベート・ファイルの前記スニペットを、前記パブリック・ファイルの前記スニペットと照合し、前記照合から得られた指定された状況を無視するようにさらに構成される、５に記載のシステム。
９．前記プライベート情報照合プロセスは、スニペット分類を考慮して、前記プライベート・ファイルの前記スニペットを、前記パブリック・ファイルの前記スニペットと照合するようにさらに構成される、５に記載のシステム。
１０．前記プライベート情報照合プロセスは、前記パブリック・ファイル中の反復スニペットを無視するようにさらに構成される、８に記載のシステム。
【図１】
2018170036.tif 000008
【図２】
2018170036.tif 000009
【図３】
2018170036.tif 000010
【図４】
2018170036.tif 000011
【図５】
2018170036.tif 000012
【図６】
2018170036.tif 000013
【図７】
2018170036.tif 000014
【図８】
2018170036.tif 000015
【図９】
2018170036.tif 000016
【図１０】
2018170036.tif 000017
【図１１】
2018170036.tif 000018
【図１２Ａ】
2018170036.tif 000019
【図１２Ｂ】
2018170036.tif 000020
【図１３Ａ】
2018170036.tif 000021
【図１３Ｂ】
2018170036.tif 000022
【図１４Ａ】
2018170036.tif 000023
【図１４Ｂ】
2018170036.tif 000024
【図１４Ｃ】
2018170036.tif 000025
【図１４Ｄ】
2018170036.tif 000026
【図１５Ａ】
2018170036.tif 000027
【図１５Ｂ】
2018170036.tif 000028