用于安全全文本索引的系统和方法.pdf

上传人:n****g 文档编号:1062002 上传时间:2018-03-29 格式:PDF 页数:14 大小:719.46KB
返回 下载 相关 举报
摘要
申请专利号:

CN200610003790.4

申请日:

2006.02.10

公开号:

CN1828589A

公开日:

2006.09.06

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 17/30变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150515|||授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30(2006.01)

主分类号:

G06F17/30

申请人:

微软公司;

发明人:

D·格斯基; K·G·佩尔托宁; Y·A·萨姆索诺夫

地址:

美国华盛顿州

优先权:

2005.03.03 US 11/072,726

专利代理机构:

上海专利商标事务所有限公司

代理人:

张政权

PDF下载: PDF下载
内容摘要

各文档根据将过程的过滤和字分解部分分开使它们在受限制安全设置下执行的过程来进行索引。当索引器请求一文档时,该文档被检索并被传送给较高安全性的过程。然后在传送给索引器之前,文档在受限制安全设置下由一个或多个过滤器过滤并由一个或多个断字器拆分。该受限制的安全设置防止安全隐患在过滤和字分解过程器件被利用。

权利要求书

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所述的计算机可读介质,其特征在于,在受限制安全设置下处理所述文档还包括使用过滤器和断字器的至少之一来处理所述文档。

说明书

用于安全全文本索引的系统和方法
背景技术
在网络和文件系统中对内容的搜索已用许多形式提供,但大部分通常是搜索引擎的变体。搜索引擎是在网络上的各个文档中搜索指定关键字、并返回其中发现关键字的文档列表。网络上的文档常常首先通过“爬寻”该网络来标识。
为了在爬寻中检索文档,执行对网络上每个文档的操作以得到文档并用文档记录来填充索引。在这样的搜索系统中存在着安全隐患。常常来自因特网的文档是不应信任的,因为它们可能有害或者经过特别制作来展现隐患之一。搜索和索引过程的某些部分可具有多个安全缺陷,它们承受在从泄露私密信息到完全接管用户机器的范围内的不同风险。
发明内容
本发明的各个实施例涉及用于安全全文本索引的一种系统和方法。本发明通过将索引的过滤和字分解过程变成具有受限制安全设置(例如只读安全设置)的过程来降低信息泄露的风险。在先前的索引系统中,恶意用户能利用过滤器和/或断字器的安全缺陷来访问保密信息或接管用户的机器。将过滤器和断字器变成具有受限制安全设置的过程使得过滤和字分解过程能在更高安全性下进行,而不会影响索引文档中涉及的其它过程。
根据本发明的一方面,提供用于文档的安全全文本索引的过程。从索引器(indexer)接收文档标识符。文档对应于文档标识符进行检索。文档在受限制安全设置下处理,且处理后的文档被转发给索引器。此外,在检索该文档之前用索引器交叉校验文档标识符。另外,受限制安全设置下的过程被间歇地终止,从而限制破坏安全的机会之窗。
根据本发明的另一方面,提供用于保护文档的全文本索引的一种系统,该系统包括索引器、协议处理器、和受限制过程。索引器被安排成建立索引,其中索引中的各条目对应于文档的字。协议处理器被安排成基于从索引器中接收的文档请求从数据源中检索一文档。受限制过程被安排成在受限制安全设置下处理该文档,并将所处理文档转发给索引器。该受限制过程还可包括将文档转换成纯文本的过滤器,以及将纯文本拆分(tokenize)为字的断字器。
附图说明
图1示出可用于本发明一示例性实施例的一种示例性计算设备。
图2示出一种现有技术的全文本搜索和索引系统。
图3示出根据本发明的全文本搜索和索引系统。
图4示出根据本发明的对应于图3系统的用于文档的全文本索引的一示例性过程。
具体实施方式
以下将参照附图更全面地描述本发明,其中附图形成了说明书的一部分并以图示的形式说明了用于实践本发明的特定示例性实施方式。然而,本发明可以许多不同形式体现,并不应解释为受限于在此陈述的各种实施方式;相反,这些实施方式被提供为使得本公开内容完整且全面,并向本领域技术人员完整地传达了本发明的范围。其中,本发明可体现为各种方法或装置。因此,本发明可采取全硬件实施方式、全软件实施方式、或组合硬件和软件方面的实施方式的形式。因此,以下详细说明不应被视为有限制含义。
说明性操作环境
参照图1,用于实现本发明的一示例性系统包括诸如计算装置100的计算装置。计算装置100可被配置为客户机、服务器、移动装置、或任何其它计算装置。在非常基本的配置中,计算装置100通常包括至少一个处理单元102和系统存储器104。取决于计算装置的准确配置和类型,系统存储器104可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等等)、或两者的某些组合。系统存储器104通常包括操作系统105、一个或多个应用程序106,也可包括程序数据107。在一实施方式中,应用程序106包括用于实现本发明功能的搜索和索引应用程序120。该基本配置在图1中由虚线108内的那些组件示出。
计算装置100可具有附加特征或功能。例如,计算装置100还可包括诸如磁盘、光盘、或磁带的(可移动和/或不可移动的)其它数据存储装置。这种其它存储器在图1中用可移动存储器109和不可移动存储器110示出。计算机存储介质可包括以用来存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能盘(DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁性存储装置、或可用来存储所需信息并可由计算装置100访问的任何其它介质。任何这种计算机存储介质可以是装置100的一部分。计算装置100还可具有诸如键盘、鼠标、笔、语音输入装置、触摸输入装置等等的输入装置112。还可包括诸如显示器、扬声器、打印机等等的输出装置114。
计算装置100还可包含使装置能与其它计算装置118诸如通过网络进行通信的通信连接116。通信连接116是通信介质地一个示例。通信介质通常体现为在诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其它数据,并包括任何信息传输介质。术语“已调制数据信号”意指具有以这种把信息编码到信号中的方式来设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接接线的有线介质,以及诸如声学、RF、红外和其它无线介质的无线介质。在此所用的术语计算机可读介质包括存储介质和通信介质。
用于安全全文本索引的说明性实施例
本发明涉及网络上文档的安全全文本索引。在以下说明书和权利要求中,术语“文档”指可作为网络的搜索查询或爬寻的结果返回的任何可能资源,诸如网络文档、文件、文件夹、网页、电子邮件附件和其它资源。
对于是否应信任来自因特网的文档会产生一个问题,因为它们可能是有害的或特别制作来展现搜索和索引系统中的一些隐患的。例如,处理电子邮件是风险特别大的,因为电子邮件无需任何用户交互就能接收。
为了索引输入文档,进行内容过滤(提取不同格式的纯文本)和字分解。过滤器会相当地复杂并且众所周知是易出错的。例如,如果过滤在访问用户数据的过程中进行,且在一些过滤中利用了缓冲区溢位(或其它安全缺陷),则不同的威胁是可能的。与文件相关联的安全破坏威胁的范围可以是从私密信息公开到完全接管用户机器。众所周知,断字器不像过滤器那么复杂,但仍然涉及风险。
图2示出一种现有技术的全文本搜索和索引系统。系统200包括索引210、搜索引擎220和数据存储230。搜索引擎200还包括核心索引器222、断字器224、过滤器226、以及协议处理器228。在操作时,搜索引擎220检索来自网络230的文档(例如232)、处理各个文档、并在索引210中索引各个文档。
协议处理器228是被配置成从特定数据存储中获取文档的软件模块。在一实施例中,可包括对搜索引擎220所访问的每类数据存储的不同协议处理器。在一实施例中,协议处理器228可包括用于处理多个数据库上对各种文档类型的请求的多个协议处理器。数据存储可包括本地和共享的文件系统、因特网、局域网、广域网、电子邮件存储系统、以及搜索引擎可访问的文档的其它存储位置。在一实施例中,数据存储230对应于与特定应用程序相关联的存储文件(例如电子邮件应用程序的存储位置)。
过滤器226是被安排为将文档转换成其等效纯文本的软件模块。在一实施例中,过滤器226可包括用于过滤文档内容的多个过滤器,而不是所示的单个过滤器。这些过滤器的一个或多个可被称为“IFilter”或“IFilter接口”。IFilter接口从文档中扫描文本和特性(也称为属性)。它从这些文档中提取大块文本、滤除内嵌格式化信息、和有关文本位置的保留信息。IFilter还提取大块值,它们是整个文档或文档的明确定义部分的属性。IFilter提供用于建立高级应用程序的基础,诸如文档索引器和应用程序无关的查看器。
断字器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的操作是在特定计算装置上同一过程的一部分,或共享相同安全特权设置的多个过程的一部分。在一实施例中,全部过程都在本地安全环境中运行。然而,断字器224和过滤器226取决于所使用的是哪个字处理器224和过滤器226,可具有许多不同作者之一。因为可与数据存储230的文档相关联的各种语言和内容,这些组件通过各种源写成。各种作者创建众多的安全缺陷。例如,缓冲区溢位可在断字器224或过滤器226的环境中发生,这使得恶意文档能“接管”索引过程。问题与这样的事实相关联:为了使协议处理器228能访问文档,过程需要用某特权级别(例如读和写)来运行。如果没有预防措施,则这样的安全漏洞可导致保密信息的散布或用户计算设备的劫持。
图3示出根据本发明的全文本搜索和索引系统。搜索和索引系统300示出一种解决先前系统的安全缺陷的系统。系统300类似于图2的系统200,其中包括索引310、核心索引器322、断字器322、过滤器334、协议处理器342和数据存储350。系统300的软件模块类似于图2中所示的系统200的软件模块进行配置。然而,本发明将软件模块分成三个过程(320、330、340),而不是将它们作为单个过程来运行。将不同的安全设置应用于三个不同过程使得与断字器332和过滤器334相关联的安全缺陷得以减轻。
在一实施例中,协议处理器342根据过程340运行,并应用允许协议处理器342从数据存储350中读取的安全设置。用于协议处理器342的该安全设置与应用于核心索引器322以及字处理器332和过滤器334的受限制安全设置是分开的。
核心索引器322根据具有防止核心索引器读或写存储在数据源350中的用户数据的受限制安全设置的过程320来运行。相反,核心索引器322受限于对特定位置(索引310)的写访问特权。
断字器332和过滤器334还可分入在另一受限制安全设置下运行软件模块的过程330中。在一实施例中,断字器332和过滤器334在最受限制的安全设置下,其中没有一个软件模块被允许可对任何存储器位置进行读或写访问,包括对应于用户数据的存储器的那些位置。因为断字器332和过滤器334过程在受限制安全设置下运行,信息公开或计算设备劫持的风险降低了。根据本发明,系统300的体系结构还允许采取进一步降低安全漏洞风险的其它安全措施。以下(图4)描述用于添加安全性的相关于利用系统300体系结构的用于安全全文本索引的过程的这些其它步骤。
图4示出根据本发明的对应于图3系统的用于文档的全文本索引的一示例性过程。过程400从框402开始,其中图3所示系统300处于准备检索用于索引的文档的状态中。处理在框404中继续。
在框404,核心索引器322通过过程330向协议处理器342发送一文档请求。如前所述,该文档请求根据一些文档ID(例如URL、文件路径等)标识该文档。一旦该请求由核心索引器322发送,处理就继续到判定框406。
在判定框406,文档ID由协议处理器322校验是否为核心索引器322所请求的实际文档。协议处理器322直接向核心索引器传送对交叉校验文档ID的调用。理论上,如果恶意攻击者能劫持过程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对应于过去的时间间隔间歇地暂停(例如每隔几分钟)。在另一实施例中,因为存在对受限制过程300已被劫持的怀疑(例如当文档交叉校验失败时,参见框406和408),受限制过程330暂时终止。如果作出受限制过程330应终止的判定,则处理移到框418,其中受限制过程330暂停。在一实施例中,受限制过程330暂停预定时间间隔。在另一实施例中,受限制过程330暂停足以将劫持者赶出该过程的时段。终止受限制过程300限制了恶意攻击者控制过程的时间,从而限制了安全漏洞的时间长度。一旦受限制过程停止并重新启动,或者如果不需要暂停,则处理继续到框420,其中过程400可继续其它文档请求或移到其它处理中。
在另一实施例中,根据过程400的文档请求和文档检索分批执行。换言之,核心索引器322将一批文档ID转发给协议处理器342。协议处理器342检索该批文档并将它们转发给受限制过程330进行处理。然后当核心索引器从受限制过程330中接收到处理后文档的输出时,该批文档由核心索引器322索引。
在又一实施例中,文档请求可被直接转发给协议处理器342,而不通过受限制过程330传播。在这种实施例中,框406和408的交叉校验步骤将是不必要的,因为协议处理器342能因为其源即时确认请求的有效性。
如前所述,本发明通过从过滤和字分解过程移除对用户数据的直接访问并用另一过程代表之,来降低信息公开的风险。此外,文档标识符被交叉校验以确保所请求的文档确实被索引。另外,过滤和字分解过程可周期性地取消,因此在尽管有受限制安全设置但仍受劫持(通过缓冲区溢位或其它机制)的情形中,用户数据的暴露时间将受过程寿命的限制。
以上说明书、示例和数据提供了本发明组成的制造和使用的完整说明。因为可作出本发明的许多实施例而不背离本发明的精神和范围,本发明驻留于所附权利要求中。

用于安全全文本索引的系统和方法.pdf_第1页
第1页 / 共14页
用于安全全文本索引的系统和方法.pdf_第2页
第2页 / 共14页
用于安全全文本索引的系统和方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《用于安全全文本索引的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于安全全文本索引的系统和方法.pdf(14页珍藏版)》请在专利查询网上搜索。

各文档根据将过程的过滤和字分解部分分开使它们在受限制安全设置下执行的过程来进行索引。当索引器请求一文档时,该文档被检索并被传送给较高安全性的过程。然后在传送给索引器之前,文档在受限制安全设置下由一个或多个过滤器过滤并由一个或多个断字器拆分。该受限制的安全设置防止安全隐患在过滤和字分解过程器件被利用。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1