JP2006244505A - 安全なフルテキストインデックス処理のためのシステムおよび方法 - Google Patents

安全なフルテキストインデックス処理のためのシステムおよび方法 Download PDF

Info

Publication number
JP2006244505A
JP2006244505A JP2006058440A JP2006058440A JP2006244505A JP 2006244505 A JP2006244505 A JP 2006244505A JP 2006058440 A JP2006058440 A JP 2006058440A JP 2006058440 A JP2006058440 A JP 2006058440A JP 2006244505 A JP2006244505 A JP 2006244505A
Authority
JP
Japan
Prior art keywords
document
indexer
limited
security setting
processing
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.)
Granted
Application number
JP2006058440A
Other languages
English (en)
Other versions
JP5005930B2 (ja
JP2006244505A5 (ja
Inventor
Dennis Gursky
グルスキー デニス
Kyle G Peltonen
ジー.ペルトネン カイル
Yevgeniy A Samsonov
エー.サムソノフ エフゲニー
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006244505A publication Critical patent/JP2006244505A/ja
Publication of JP2006244505A5 publication Critical patent/JP2006244505A5/ja
Application granted granted Critical
Publication of JP5005930B2 publication Critical patent/JP5005930B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

【課題】安全なフルテキストインデックス処理のためのシステムおよび方法を提供する。
【解決手段】プロセスのフィルタリング部分およびワード分割部分が、制限セキュリティ設定下で行われるように、該部分を分離するプロセスに従って、文書をインデックス処理する。インデクサ322によって文書が要求されると、文書は検索され、次いでより高いセキュリティプロセスに受け渡される。次いで文書は、インデクサ322に受け渡される前に、限定セキュリティ設定下で1つまたは複数のフィルタ334でフィルタリングされ、かつ1つまたは複数のワードブレーカ332によってトークン化される。限定セキュリティ設定は、フィルタリングおよびワード分割プロセス中にセキュリティ上の脆弱性が利用されることを防止する。
【選択図】図3

Description

本発明は、フルテキストインデックス処理のためのシステムおよび方法に関する。
ネットワークおよびファイルシステム間のコンテンツの検索は多くの形態で、しかし最も一般的には、検索エンジンの変種によって提供されてきた。検索エンジンは、特定のキーワードについてネットワーク上の文書を検索して、キーワードが発見された文書のリストを返すプログラムである。しばしば、ネットワーク上の文書は最初に、ネットワークを「クローリング」することによって識別される。
クロールで文書を検索するために、ネットワーク上の各文書に対し、文書を得て文書のレコードをインデックスにポピュレートする操作が実行される。そのような検索システムにはセキュリティ上の脆弱性が存在する。しばしば、インターネットから到来する文書は、それらに悪意があるかもしれず、あるいは脆弱性の1つを露呈するように特別に作られているかもしれないので、信用すべきではない。検索およびインデックス処理プロセスの特定の部分は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲の様々なリスクを顕在化するセキュリティ上の不備を持つかもしれない。
本発明の実施形態は、安全なフルテキストインデックス処理のためのシステムおよび方法に関する。本発明は、インデックス処理のフィルタリングおよびワード分割プロセスを、限定セキュリティ設定(例えば読出し専用セキュリティ設定)付きプロセスに移動することによって、情報暴露のリスクを緩和する。従前のインデックス処理システムでは、悪意のあるユーザはフィルタおよび/またはワードブレーカのセキュリティ上の不備を利用して、機密情報にアクセスでき、あるいはユーザのマシンを乗っ取ることができた。フィルタおよびワードブレーカを限定セキュリティ設定付きプロセスに移動することにより、文書のインデックス処理に関与する他のプロセスに影響することなく、フィルタリングおよびワード分割プロセスをより高度のセキュリティ下で行うことが可能になる。
本発明の一態様では、文書の安全なフルテキストインデックス処理のためのプロセスが提供される。文書識別子をインデクサから受け取る。文書識別子に対応する文書が検索される。文書は限定セキュリティ設定下で処理され、処理済み文書はインデクサに転送される。加えて、文書識別子は、文書を検索する前に、インデクサと照合される。さらに、限定セキュリティ設定下のプロセスは、セキュリティを侵害する機会(window of opportunity)が制限されるように、断続的に中断される。
本発明の別の態様では、インデクサ、プロトコルハンドラ、および限定プロセスを含む、文書の安全なフルテキストインデックス処理のためのシステムが提供される。インデクサは、インデックスのエントリーが文書のワードに対応するインデックスを作るように構成される。プロトコルハンドラは、インデクサから受け取る文書要求により、データソースから文書を検索するように構成される。限定プロセスは、限定セキュリティ設定下で文書を処理し、かつ処理済み文書をインデクサに転送するように構成される。限定プロセスはさらに、文書を純粋テキストに変換するフィルタと、純粋テキストをワードにトークン化するワードブレーカとを含むことができる。
ここで、本発明について、その一部を構成し、かつ本発明を実施するための特定の例示的実施形態を例証として示す添付の図面を参照しながら、以下でより詳細に説明する。しかし、本発明は多くの異なる形態で具現することができ、本明細書に記載する実施形態に限定されると解釈すべきではない。むしろ、これらの実施形態は、この開示が徹底的かつ完璧になり、発明の範囲を当業者に充分に伝えるように、提供するものである。中でも特に、本発明は方法または装置として具現することができる。したがって、本発明は完全なハードウェアの実施形態、完全なソフトウェアの実施形態、またはソフトウェアおよびハードウェアの態様を含む実施形態の形態を取ることができる。したがって、以下の詳細な説明は、限定の意味に取るべきではない。
[例示的動作環境]
図1に関連して、本発明を実現するための1つの例示的システムは、コンピューティング装置100のようなコンピューティング装置を含む。コンピューティング装置100は、クライアント、サーバ、モバイル装置、またはいずれかの他のコンピューティング装置として構成することができる。非常に基本的な構成では、コンピューティング装置100は一般的に、少なくとも1つの処理装置102およびシステムメモリ104を含む。コンピューティング装置の厳密な構成およびタイプによって、システムメモリ104は揮発性(RAMのような)、不揮発性(ROM、フラッシュメモリ等のような)、またはこの2つの何らかの組合せとすることができる。システムメモリ104は一般的にオペレーティングシステム105、1つまたは複数のアプリケーション106を含み、かつプログラムデータ107を含むことがある。一実施形態では、アプリケーション106は、本発明の機能を実現するための検索およびインデックス処理アプリケーション120を含む。この基本構成を、破線108内の構成要素によって図1に示す。
コンピューティング装置100は、追加の特徴または機能を持つことができる。例えば、コンピューティング装置100はまた、例えば磁気ディスク、光ディスク、またはテープのような追加のデータ記憶装置(着脱可能および/または着脱不能)をも含むことができる。そのような追加の記憶装置を、図1に着脱可能な記憶装置109および着脱不能な記憶装置110によって示す。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のためのいずれかの方法または技術で実現される、揮発性および不揮発性の着脱可能および着脱不能な媒体を含むことができる。システムメモリ104、着脱可能な記憶装置109、および着脱不能な記憶装置110はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用することができ、かつコンピューティング装置100によってアクセスすることができるいずれかの他の媒体を含むが、それらに限定されない。いずれかのそのようなコンピュータ記憶媒体は装置100の一部とすることができる。コンピューティング装置100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等のような入力装置112をも持つことができる。ディスプレイ、スピーカ、プリンタ等のような出力装置114も含めることができる。
コンピューティング装置100はまた、装置がネットワークなどを介して他のコンピューティング装置118と通信することを可能にする通信接続116をも含む。通信接続116は通信媒体の一例である。通信媒体は一般的に、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送機構のような変調データ信号内の他のデータによって具現することができ、何らかの情報送達媒体を含む。用語「変調データ信号」とは、信号内の情報を符号化するような仕方で信号の特徴の1つまたは複数を設定または変化させた信号を意味する。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、およびアコースティック、RF、赤外、ならびに他の無線媒体のような無線媒体を含む。本明細書で使用する用語、コンピュータ可読媒体は、記憶媒体および通信媒体の両方を含む。
[安全なフルテキストインデックス処理の例示的実施形態]
本発明は、ネットワーク上の文書の安全なフルテキストインデックス処理に関する。以下の説明および特許請求の範囲全体を通じて、用語「文書」とは、ネットワーク文書、ファイル、フォルダ、ウェブページ、電子メール添付、および他の資源のような、ネットワークの検索クエリまたはクロールの結果返される任意の可能な資源を指す。
インターネットから到来する文書は悪意があるかもしれず、あるいは検索およびインデックス処理システムの何らかの脆弱性を露呈するように特別に作られているかもしれないので、それらの文書を信用すべきかどうかの疑問が生じる。例えば、電子メールはユーザの対話無しに受信し得るので、電子メールの処理は特に危険である。
到来文書をインデックス処理するために、内容フィルタリング(異なるフォーマットからの普通テキストの抽出)およびワード分割が行われる。フィルタは非常に複雑になることがあり、エラーを生じやすいことが知られている。例えばユーザのデータへのアクセスを伴うプロセスでフィルタリングが発生し、バッファオーバーラン(または他のセキュリティ上の不備)が一部のフィルタで起こると、様々な脅威の可能性が生じる。フィルタに関連するセキュリティ侵害の脅威は、プライベート情報の暴露からユーザのマシンの完全な乗っ取りまでの範囲に及ぶ。ワードブレーカはフィルタほど複雑でないことが知られているが、それでもやはりリスクを含む。
図2は、先行技術のフルテキスト検索およびインデックス処理システムを示す。システム200はインデックス210、検索エンジン220、およびデータ記憶装置230を含む。検索エンジン220はさらにコアインデクサ222、ワードブレーカ224、フィルタ226、およびプロトコルハンドラ228を含む。動作中、検索エンジン220はネットワーク230から文書(例えば232)を検索し、文書を処理し、インデックス210で文書をインデックス処理する。
プロトコルハンドラ228は、特定のデータ記憶装置から文書を得るように構成されたソフトウェアモジュールである。一実施形態では、検索エンジン220によってアクセスされるデータ記憶装置の種類毎に、異なるプロトコルハンドラを含めることができる。一実施形態では、プロトコルハンドラ228は、複数のデータ記憶装置にわたる様々な文書型の要求を処理するために、複数のプロトコルハンドラを備えることができる。データ記憶装置はローカルおよび共有ファイルシステム、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電子メール記憶システム、ならびに検索エンジンによってアクセス可能な文書の他の記憶場所を含むことができる。一実施形態では、データ記憶装置230は、特定のアプリケーションに関連付けられる記憶ファイル(例えば電子メールアプリケーション用の記憶場所)に対応する。
フィルタ226は、文書をその純粋テキスト等価物に変換するように構成されたソフトウェアモジュールである。一実施形態では、フィルタ226は、図示した単一のフィルタではなく、文書内容をフィルタリングするための複数のフィルタを含むことができる。これらのフィルタの1つまたは複数を「IFilter」または「IFilterインタフェース」と呼ぶことができる。IFilterインタフェースは、文書でテキストおよびプロパティ(属性とも呼ばれる)を走査(scan)する。それはこれらの文書からテキストの塊を抽出し、埋め込まれたフォーマッティングを除去し、テキストの位置に関する情報を維持する。IFilterはまた、文書全体または文書の明確に定義された部分のプロパティである値の塊をも抽出する。IFilterは、文書インデクサおよびアプリケーションに依存しないビューア(application-independent viewer)のような高レベルアプリケーションを作成するための基礎を提供する。
ワードブレーカ224は、フィルタ226の純粋テキスト出力を取り出し、かつテキストの言語に応じてテキストをワードまたは他の単位にトークン化するように構成された、ソフトウェアモジュールである。結果的に生じるワードまたは単位は、その特定の言語のワード境界ルールに依存する。例えば様々な種類の英語は主に、空白をワード境界とみなす。ワードブレーカはしばしば、フルテキストインデックスのためだけではなく、検索文字列がトークン化され、一致を見つけるためにこれらの用語がインデックス210に送られるクエリ時にも使用される。別の実施形態では、ワードブレーカ224は、文書内容の中のワードをトークン化するための複数のワードブレーカアルゴリズムを含むことができる。例えば、複数の言語の文書のデータ記憶装置を処理するために、複数のワードブレーカを含めることができる。
コアインデクサ222は、ワードブレーカ224から出力されたワードまたは単位からフルテキストインデックス(例えばインデックス210)を作成するように構成されたソフトウェアモジュールである。作成されたバージョンのインデックス210により、検索エンジン220を使用して、インデックス210のエントリーに一致した検索用語に対応する文書を検索することができる。多くのコアインデクサのタイプおよび設計が知られている。使用する特定のタイプのコアインデクサは、本発明を限定するものではない。したがって、本発明は、コアインデクサ222の構造について本明細書で詳述しない。本発明の要旨または範囲から逸脱することなく、多くの異なるコアインデクサ構成を使用することができる。
動作中、コアインデクサ222はプロトコルハンドラ228へ、データ記憶装置230から検索すべき文書(例えば232)の識別子を提供する。例えば、データ記憶装置230がファイルシステムである場合、識別子はファイル名およびパスに対応することができる。データ記憶装置230がネットワークである場合、インデクサ222はプロトコルハンドラ228に、文書のURLを提供することができる。プロトコルハンドラ228は、データ記憶装置230から文書を検索し、文書をフィルタ226に伝える。フィルタ226は文書を純粋テキストに変換し、純粋テキストをワードブレーカ224に出力する。ワードブレーカ224は純粋テキストを別個のワード(または単位)にトークン化し、ワードをコアインデクサ222に出力する。コアインデクサ222は、受け取ったワードを使用してインデックス210を作成する。
図示した先行技術のシステムでは、コアインデクサ222、ワードブレーカ224、フィルタ226、およびプロトコルハンドラ228の動作は、特定のコンピューティング装置における同一プロセスの一部、または同一セキュリティ特権設定(security privilege setting)を共有する複数のプロセスの一部である。一実施形態では、すべてのプロセスが、局所的セキュリティのコンテキストで実行される。しかし、ワードブレーカ224およびフィルタ226は、ワードブレーカ224およびフィルタ226が使用されるオーサ(author)に応じて、多くの異なるオーサの1つを持つことができる。これらの構成要素は、データ記憶装置230の文書に関連付けることのできる様々な言語および内容のため、様々なソースによって書かれる。様々な種類のオーサは、いくつかのセキュリティ上の不備をもたらす。例えば、ワードブレーカ224またはフィルタ226のコンテキストでバッファオーバーランが発生することがあり、それは悪意のある文書がインデックス処理プロセスを「乗っ取る」ことを可能にする。該問題は、プロトコルハンドラ228が文書にアクセスするために、プロセスを特定レベルの特権付き(例えば読出しおよび書込み)で実行しなければならないという事実に関連付けられる。防止しなければ、そのようなセキュリティ侵害は結果的に、機密情報の流布またはユーザのコンピューティング装置のハイジャックを招くかもしれない。
図3は、本発明によるフルテキスト検索およびインデックス処理システムを示す。検索およびインデックス処理システム300は、従前のシステムのセキュリティ上の不備に対処したシステムを例証する。システム300は、それがインデックス310、コアインデクサ322、ワードブレーカ332、フィルタ334、プロトコルハンドラ342、およびデータ記憶装置350を含むという点で、図2のシステム200と同様である。システム300のソフトウェアモジュールは、図2に示したシステム200のソフトウェアモジュールと同様に構成される。しかし、本発明は、ソフトウェアモジュールを単一のプロセスとして実行するのではなく、ソフトウェアモジュールを3つのプロセス(320、330、340)に分離する。3つの異なるプロセスに異なるセキュリティ設定を適用することにより、ワードブレーカ332およびフィルタ334に関連付けられる従前のセキュリティ上の不備を緩和することが可能になる。
一実施形態では、プロトコルハンドラ342はプロセス340に従って実行され、プロトコルハンドラ342がデータ記憶装置350からデータを読み出すことを可能にするセキュリティ設定が適用される。プロトコルハンドラ342のためのこのセキュリティ設定は、コアインデクサ322ならびにワードブレーカ332およびフィルタ334に適用される限定セキュリティ設定とは別である。
コアインデクサ322は、コアインデクサがデータソース350に記憶されているユーザデータに読出しまたは書込みを行うことを防止する、限定セキュリティ設定を有するプロセス320に従って、実行される。代わりに、コアインデクサ322は、特定の場所(インデックス310)への書込みアクセス特権に制限される。
ワードブレーカ332およびフィルタ334は、別の限定セキュリティ設定下でソフトウェアモジュールを実行するプロセス330に分離される。一実施形態では、ワードブレーカ332およびフィルタ334は最も厳しく限定されたセキュリティ設定状態にあり、そこではソフトウェアモジュールは、ユーザデータに対応するものを含め、どのメモリ場所に対する読出しまたは書込みアクセスも許可されない。ワードブレーカ332およびフィルタ334のプロセスは限定セキュリティ設定下で実行されるので、情報の暴露またはコンピューティング装置のハイジャックのリスクは緩和される。また本発明では、システム300のアーキテクチャは、セキュリティ侵害のリスクをさらに軽減する追加のセキュリティ対策を講じることを可能にする。追加セキュリティのためのこれらの追加ステップについては、システム300のアーキテクチャを利用する安全なフルテキストインデックス処理に関連して、以下に説明する(図4)。
図4は、本発明による、図3のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示す。プロセス400は、図3に示したシステム300がインデックス処理のために文書を検索する用意が整った状態にあるブロック402で、開始される。処理はブロック404に続く。
ブロック404で、コアインデクサ322は、プロセス330を通してプロトコルハンドラ342に文書要求を送る。前述の通り、文書要求は、何らかの文書ID(例えばURL、ファイルパス等)に従って文書を識別する。ひとたび要求がコアインデクサ322によって送られると、処理は決定ブロック406に続く。
決定ブロック406で、文書IDが、コアインデクサ322が要求した実際の文書のそれであるかどうか、プロトコルハンドラ342によって検証される。文書IDを照合するために、プロトコルハンドラ342はコアインデクサに呼び出しを直接送信する。理論的には、悪意のある攻撃者がプロセス330をハイジャックすることが可能である場合、攻撃者は、文書要求をプロセス330からプロトコルハンドラ342に直接列挙することによって、ユーザデータを別の場所にサイフォニングすることができると考えられる。文書IDがコアインデクサ322によって要求された文書に対応することを検査することによって、コアインデクサ322はそれを検索する前に検証することができる。照合が実行されるときに不一致があると、受け取った文書要求が虚偽であったことをプロトコルハンドラ342に警告する。文書IDがコアインデクサ322から到来したものと検証されると、処理はブロック410に進む。しかし、照合中に文書IDがコアインデクサ322から到来したものと検証されない場合には、処理はブロック408に移動する。
ブロック408で、プロトコルハンドラ342による文書の取出しは防止される。加えて、プロセスはハイジャックされているかもしれないので、限定プロセス330をタイムアウトする必要があることを示すフラグをセットすることができる。次いで処理は決定ブロック416に進み、そこで限定プロセス330の中断を実行することができる。
ブロック410で、文書IDは検証されたので、プロトコルハンドラ342はデータ記憶装置350から文書を取り出す。ひとたび文書が検索されると、文書は限定プロセス330に転送され、処理はブロック412に続く。
ブロック412で、文書は限定セキュリティ設定下で、フィルタ334およびワードブレーカ332によって処理される。前述の通り、限定セキュリティ設定は、セキュリティ上の不備のためプロセス330を乗っ取るかもしれない、悪意のある攻撃者によるユーザのデータへのアクセスを緩和する。処理はブロック414に続く。
ブロック414で、今やトークン化されたワードに対応する処理済み文書は、コアインデクサ322に転送される。コアインデクサ322は次いで、受け取ったデータからインデックス310を作成することができる。一実施形態では、インデックス310はフルテキストインデックスに対応する。次いで処理は決定ブロック416に続く。
決定ブロック416で、限定プロセス330を一時的に中断または停止すべきかどうか、決定が行われる。一実施形態では、限定プロセス330は、経過時間に対応して(例えば数分毎に)断続的に中断される。別の実施形態では、限定プロセス330は一時的に中断される。別の実施形態では、限定プロセス330がハイジャックされた疑いがあるので、限定プロセス330は一時的に停止する(例えば文書の照合が失敗したとき、ブロック406および408を参照)。限定プロセス330を中断すべきであるという決定が行われると、処理はブロック418に移動し、そこで限定プロセス330は一時的に停止される。一実施形態では、限定プロセス330は予め定められた時間、一時的に停止される。別の実施形態では、限定プロセス330は、ハイジャック犯をプロセスから退去させるのに充分な時間停止される。限定プロセス330の中断は、悪意のある攻撃者がプロセスを支配する時間を制限し、よってセキュリティ侵害の時間を限定する。ひとたび限定プロセスが停止して再開されると、あるいは一時的停止が必要ない場合、処理はブロック420に進み、そこでプロセス400は他の文書要求を続けるか、または他の処理に移動することができる。
追加の実施形態では、プロセス400による文書要求および文書検索は、一括して実行される。換言すると、コアインデクサ322は一群の文書IDをプロトコルハンドラ342に転送する。プロトコルハンドラ342は文書群を検索し、それらを処理のために限定プロセス330に転送する。次いで、コアインデクサが限定プロセス330から処理済み文書の出力を受け取ると、文書群はコアインデクサ322によってインデックス処理される。
さらに別の実施形態では、文書要求は、限定プロセス330を介して伝える代わりに、プロトコルハンドラ342に直接転送することができる。そのような実施形態では、プロトコルハンドラ342は要求のソースのため、要求の妥当性を瞬時に確認することができるので、ブロック406および408の照合ステップは不要である。
前述の通り、本発明は、フィルタリングおよびワード分割プロセスからユーザのデータへの直接アクセスを除去し、それを別のプロセスに委託することによって、情報暴露のリスクを緩和する。加えて、文書識別子を照合して、要求された文書が本当にインデックス処理されていることを確実にする。さらに、フィルタリングおよびワード分割プロセスは、それが限定セキュリティ設定にもかかわらず(バッファオーバーランまたは他の機構を介して)ハイジャックされた場合に備えて、周期的に停止されるので、ユーザのデータの時間露出はプロセスの寿命時間によって制限される。
上記の明細書、実施例およびデータは、本発明の構成の製造および使用の完全な記載を提供する。本発明の精神および範囲から逸脱することなく、本発明の多くの実施形態を形成することができるので、本発明は添付する特許請求の範囲に存する。
本発明の1つの例示的実施形態で使用することのできる例示的コンピューティング装置を示す略図である。 先行技術のフルテキスト検索およびインデックス処理システムを示す略図である。 本発明によるフルテキスト検索およびインデックス処理システムを示す略図である。 本発明による、図3のシステムに対応する文書のフルテキストインデックス処理のための例示的プロセスを示すフローチャートである。
符号の説明
320,330,340 プロセス

Claims (20)

  1. コンピュータで実行される、文書の安全なフルテキストインデックス処理のための方法であって、
    インデクサから文書識別子を受け取ること、
    前記文書識別子に対応する文書を検索すること、
    前記文書を限定セキュリティ設定下で処理すること、および
    前記処理済み文書を前記インデクサに転送すること、
    を含むことを特徴とする方法。
  2. 前記文書を検索する前に、前記文書識別子を前記インデクサと照合することをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記文書識別子の照合は、受け取った前記文書識別子を前記インデクサによって送られた文書識別子と比較することをさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記文書識別子の照合が失敗したときに、前記限定セキュリティ設定下での前記文書の処理は一時的に中断されることを特徴とする請求項2に記載の方法。
  5. セキュリティを侵害する機会が制限されるように、限定セキュリティ設定下での処理を断続的に中断することをさらに含むことを特徴とする請求項1に記載の方法。
  6. 限定セキュリティ設定下での前記文書の処理は、フィルタを使用して前記文書を処理することをさらに含むことを特徴とする請求項1に記載の方法。
  7. 限定セキュリティ設定下での前記文書の処理は、ワードブレーカを使用して前記文書を処理することをさらに含むことを特徴とする請求項1に記載の方法。
  8. 一群の文書識別子が前記インデクサによって送られ、文書が一括して検索されることを特徴とする請求項1に記載の方法。
  9. 前記文書は、前記限定セキュリティ設定とは異なる第二のセキュリティ設定を持つ第二のプロセスに従って検索されることを特徴とする請求項1に記載の方法。
  10. 前記インデクサは、前記第二のセキュリティ設定および前記限定セキュリティ設定とは異なる、第三のセキュリティ設定の下で動作することを特徴とする請求項9に記載の方法。
  11. 前記文書はプロトコルハンドラによって検索されることを特徴とする請求項1に記載の方法。
  12. 前記プロトコルハンドラは前記インデクサから前記文書要求を直接受け取ることを特徴とする請求項11に記載の方法。
  13. 前記プロトコルハンドラは前記文書要求を、それが前記限定セキュリティ設定に対応するプロセスを通して伝えられた後に、受け取ることを特徴とする請求項11に記載の方法。
  14. 文書の安全なフルテキストインデックス処理のためのシステムであって、
    インデックスのエントリーが前記文書のワードに対応するインデックスを作るように構成されたインデクサと、
    前記インデクサから受け取る文書要求により、データソースから文書を検索するように構成されたプロトコルハンドラと、
    限定セキュリティ設定下で前記文書を処理し、かつ処理済みの前記文書を前記インデクサに転送するように構成された限定プロセスと、
    を含むことを特徴とするシステム。
  15. 前記限定プロセスは前記文書を純粋テキストに変換するフィルタをさらに含むことを特徴とする請求項14に記載のシステム。
  16. 前記限定プロセスは前記純粋テキストをワードにトークン化するワードブレーカをさらに含むことを特徴とする請求項15に記載のシステム。
  17. 前記限定プロセスは断続的に中断されて、前記限定プロセスのハイジャックを防止するようにさらに構成されることを特徴とする請求項14に記載のシステム。
  18. 前記プロトコルハンドラは、前記文書を前記データソースから検索する前に、文書識別子を前記インデクサと照合することを特徴とする請求項14に記載のシステム。
  19. インデクサから文書識別子を受け取ること、
    前記文書識別子をインデクサと照合すること、
    前記文書識別子に対応する文書を検索すること、
    前記文書を限定セキュリティ設定下で処理すること、
    前記処理済み文書を前記インデクサに転送すること、および
    セキュリティを侵害する機会が制限されるように、前記限定セキュリティ設定下での処理を断続的に中断すること、
    を含む、文書の安全なフルテキストインデックス処理のためのコンピュータ実行可能命令を備えたことを特徴とするコンピュータ可読媒体。
  20. 前記文書を限定セキュリティ設定下で処理することは、フィルタおよびワードブレーカの少なくとも一方を使用して文書を処理することをさらに含むことを特徴とする請求項19に記載のコンピュータ可読媒体。
JP2006058440A 2005-03-03 2006-03-03 安全なフルテキストインデックス処理のためのシステムおよび方法 Expired - Fee Related JP5005930B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/072,726 2005-03-03
US11/072,726 US7392253B2 (en) 2005-03-03 2005-03-03 System and method for secure full-text indexing

Publications (3)

Publication Number Publication Date
JP2006244505A true JP2006244505A (ja) 2006-09-14
JP2006244505A5 JP2006244505A5 (ja) 2009-03-26
JP5005930B2 JP5005930B2 (ja) 2012-08-22

Family

ID=36429893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058440A Expired - Fee Related JP5005930B2 (ja) 2005-03-03 2006-03-03 安全なフルテキストインデックス処理のためのシステムおよび方法

Country Status (7)

Country Link
US (1) US7392253B2 (ja)
EP (1) EP1698987B1 (ja)
JP (1) JP5005930B2 (ja)
KR (1) KR101238595B1 (ja)
CN (1) CN100550017C (ja)
AT (1) ATE504881T1 (ja)
DE (1) DE602006021086D1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135499A1 (en) 2002-01-14 2003-07-17 Schirmer Andrew Lewis System and method for mining a user's electronic mail messages to determine the user's affinities
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US8538997B2 (en) * 2004-06-25 2013-09-17 Apple Inc. Methods and systems for managing data
US7805416B1 (en) * 2005-09-30 2010-09-28 Emc Corporation File system query and method of use
US7624099B2 (en) * 2005-10-13 2009-11-24 Microsoft Corporation Client-server word-breaking framework
US7849065B2 (en) * 2007-07-20 2010-12-07 Microsoft Corporation Heterogeneous content indexing and searching
US7725454B2 (en) * 2007-07-20 2010-05-25 Microsoft Corporation Indexing and searching of information including handler chaining
US8479203B2 (en) * 2009-07-24 2013-07-02 International Business Machines Corporation Reducing processing overhead and storage cost by batching task records and converting to audit records
JP2011065546A (ja) * 2009-09-18 2011-03-31 Hitachi Solutions Ltd ファイル検索システム及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905980A (en) * 1996-10-31 1999-05-18 Fuji Xerox Co., Ltd. Document processing apparatus, word extracting apparatus, word extracting method and storage medium for storing word extracting program
US6381602B1 (en) * 1999-01-26 2002-04-30 Microsoft Corporation Enforcing access control on resources at a location other than the source location
US20030158867A1 (en) * 2002-01-14 2003-08-21 Goodwin James P. System and method for mapping knowledge data based on user's affinity to knowledge
JP2003529133A (ja) * 1999-11-08 2003-09-30 イメージタグ インコーポレイテッド デジタルファイリングのための装置および方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182705A (en) * 1989-08-11 1993-01-26 Itt Corporation Computer system and method for work management
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5659746A (en) * 1994-12-30 1997-08-19 Aegis Star Corporation Method for storing and retrieving digital data transmissions
US5742807A (en) * 1995-05-31 1998-04-21 Xerox Corporation Indexing system using one-way hash for document service
US7031954B1 (en) * 1997-09-10 2006-04-18 Google, Inc. Document retrieval system with access control
US6321334B1 (en) * 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6732087B1 (en) * 1999-10-01 2004-05-04 Trialsmith, Inc. Information storage, retrieval and delivery system and method operable with a computer network
JP3918374B2 (ja) * 1999-09-10 2007-05-23 富士ゼロックス株式会社 文書検索装置および方法
GB2362972A (en) * 2000-06-02 2001-12-05 Res Summary Com An internet based searchable database for up to date financial executive summaries with links to full documents
US6574617B1 (en) * 2000-06-19 2003-06-03 International Business Machines Corporation System and method for selective replication of databases within a workflow, enterprise, and mail-enabled web application server and platform
US6959326B1 (en) 2000-08-24 2005-10-25 International Business Machines Corporation Method, system, and program for gathering indexable metadata on content at a data repository
US7669051B2 (en) * 2000-11-13 2010-02-23 DigitalDoors, Inc. Data security system and method with multiple independent levels of security
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US7017183B1 (en) * 2001-06-29 2006-03-21 Plumtree Software, Inc. System and method for administering security in a corporate portal
US20050108200A1 (en) * 2001-07-04 2005-05-19 Frank Meik Category based, extensible and interactive system for document retrieval
US20030177124A1 (en) * 2002-03-18 2003-09-18 Al Sauri System for searching secure servers
EP1563402A4 (en) * 2002-10-30 2010-11-10 Portauthority Technologies Inc METHOD AND SYSTEM FOR ADMINISTRATING CONFIDENTIAL INFORMATION
US7490116B2 (en) * 2003-01-23 2009-02-10 Verdasys, Inc. Identifying history of modification within large collections of unstructured data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905980A (en) * 1996-10-31 1999-05-18 Fuji Xerox Co., Ltd. Document processing apparatus, word extracting apparatus, word extracting method and storage medium for storing word extracting program
US6381602B1 (en) * 1999-01-26 2002-04-30 Microsoft Corporation Enforcing access control on resources at a location other than the source location
JP2003529133A (ja) * 1999-11-08 2003-09-30 イメージタグ インコーポレイテッド デジタルファイリングのための装置および方法
US20030158867A1 (en) * 2002-01-14 2003-08-21 Goodwin James P. System and method for mapping knowledge data based on user's affinity to knowledge

Also Published As

Publication number Publication date
US20060200446A1 (en) 2006-09-07
JP5005930B2 (ja) 2012-08-22
US7392253B2 (en) 2008-06-24
EP1698987B1 (en) 2011-04-06
CN100550017C (zh) 2009-10-14
EP1698987A1 (en) 2006-09-06
ATE504881T1 (de) 2011-04-15
KR101238595B1 (ko) 2013-02-28
CN1828589A (zh) 2006-09-06
DE602006021086D1 (de) 2011-05-19
KR20060096281A (ko) 2006-09-11

Similar Documents

Publication Publication Date Title
JP5005930B2 (ja) 安全なフルテキストインデックス処理のためのシステムおよび方法
US10963578B2 (en) Methods and systems for preventing transmission of sensitive data from a remote computer device
US10102238B2 (en) Multi-user search system using tokens
US8516591B2 (en) Security monitoring
US8800043B2 (en) Pre-emptive pre-indexing of sensitive and vulnerable assets
JP5165126B2 (ja) 予め選択されたデータを含むメッセージを取り扱う方法及び装置
KR101122821B1 (ko) 아이템 저장소를 위한 바이러스 방지
US10521423B2 (en) Apparatus and methods for scanning data in a cloud storage service
US20060259854A1 (en) Structuring an electronic document for efficient identification and use of document parts
US20150088933A1 (en) Controlling disclosure of structured data
US8079065B2 (en) Indexing encrypted files by impersonating users
US11062129B2 (en) Systems and methods for enabling search services to highlight documents
US9081784B2 (en) Delta indexing method for hierarchy file storage
US7703139B2 (en) Antivirus product using in-kernal cache of file state
US9053108B2 (en) File system extended attribute support in an operating system with restricted extended attributes
JP6194180B2 (ja) 文章マスク装置及び文章マスクプログラム
US11526609B1 (en) System and method for recent file malware scanning
CN115186255B (zh) 工业主机白名单提取方法、装置、终端设备以及存储介质
RU2802539C1 (ru) Способ выявления угроз информационной безопасности (варианты)
US20170293645A1 (en) Organizing multiple versions of content
US11496444B1 (en) Enforcing access control to resources of an indexing system using resource paths
US20220083645A1 (en) Information processing apparatus, information processing method, and computer program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5005930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees