用于安全内容检索的方法和设备的制作方法

文档序号:7793707阅读:130来源:国知局
用于安全内容检索的方法和设备的制作方法
【专利摘要】提供了用于从客户端代理设备(114)接收访问服务器(108)上的文件的请求的技术。文件与统一资源定位符(URL)相关联。服务器代理(110)将已经被代理服务器扫描的文件是否包含恶意内容的信息存储在数据库(112)中。在随后请求已经被扫描的文件时,服务器代理设备从服务器请求(524)并接收(526)与URL相关联的标识符信息。服务器代理设备从数据库(112)检索(530)与URL相关联的存储标识符信息,以将它和与URL相关联的存储标识符信息进行比较,从而验证文件自被扫描以来没有改变。当存在匹配时,重定向指令被发送(532)到客户端代理设备,以指示客户端代理设备直接从服务器(108)检索(534)文件。
【专利说明】用于安全内容检索的方法和设备

【技术领域】
[0001]本公开涉及检索网络内容。

【背景技术】
[0002]在很多网络服务器系统中,服务器代理作为客户端设备和网络服务器之间的中间设备。来自客户端设备的对由网络服务器托管的内容的请求在该内容被传送到客户端设备之前被路由到服务器代理。一些服务器代理作为大规模安全网络代理来验证经由互联网下载的网络内容或文件。服务器代理确保网络内容既不是恶意的(例如,包含间谍软件、病毒、特洛伊木马或其它恶意软件)也不违反公司政策(例如,安全工具、游戏、违法内容等)。典型的网络拓扑结构还具有在客户端设备和服务器代理之间的第二代理。第二代理通常位于用户端。当认为将客户端设备请求重定向到服务器代理的代价超过了扫描与请求相关联的网络内容获得的价值时,网站在第二代理上会被异常处理。

【专利附图】

【附图说明】
[0003]图1为了说明本文描述的重定向技术的目的,示出了描绘通过广域网(WAN)互相通信的云服务器、客户端网络、和网络服务器的示例拓扑结构。
[0004]图2示出了服务器代理设备的示例,该服务器代理设备被配置为将重定向指令发送到客户端代理设备,这些重定向指令指示客户端网络中的客户端代理设备访问被托管在网络服务器上的内容。
[0005]图3示出了客户端代理设备的示例,该客户端代理设备被配置为将信息附加到来自客户端网络中的客户端设备的请求并且读取重定向和验证校验和值用于访问由网络服务器托管的内容。
[0006]图4示出了被配置为存储与统一资源定位符(URL)相关联的标识符信息的数据库的数据域的示意图,其中该URL与网络服务器上的文件相关联。
[0007]图5示出了描绘根据本文描述的重定向技术的客户端设备、客户端代理设备、月艮务器代理设备、数据库、和网络服务器之间的消息交换的示例交互图。
[0008]图6示出了描绘由服务器代理设备执行的将指示客户端网络中的客户端代理设备直接访问被托管在网络服务器上的内容的重定向指令发送给客户端代理设备的操作的示例流程图。
[0009]图7示出了描绘客户端代理设备将信息附加到来自客户端网络中的客户端设备的请求用于访问由网络服务器托管的内容的操作的示例流程图。

【具体实施方式】
[0010]概览
[0011]提供了用于将内容请求从云服务重定向到第三方网站的技术。服务器代理设备从客户端代理设备接收访问服务器上的文件的请求。文件与统一资源定位符(URL)相关联,并且可以用统一资源定位符(URL)进行检索。响应于接收请求,服务器代理设备评估请求是否包括表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息。当评估表明请求包括该信息时,服务器代理设备从服务器请求与URL相关联的标识符信息,并且标识符信息被服务器代理设备接收。服务器代理设备然后从数据库检索与URL相关联的存储标识符信息。与URL相关联的标识符信息被和与URL相关联的存储标识符信息进行比较,以判定是否存在匹配。当存在匹配时,重定向指令被发送到客户端代理设备,以指示客户端代理设备直接从服务器或另一高速缓存或镜像服务器检索与URL相关联的文件。
[0012]类似地,从客户端代理设备的角度提供了用于执行操作的技术。客户端代理设备从客户端设备接收访问服务器上的与URL相关联的文件的请求。表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息被附加到请求。具有该信息的请求被转发到服务器代理设备。客户端代理设备然后从服务器代理设备接收重定向指令以直接从服务器检索与URL相关联的文件,从而与URL相关联的文件被从服务器检索。
[0013]示例实施例
[0014]本文所描述的技术针对评估和重定向对由网络服务器托管的内容所做出的请求。示例拓扑结构100被示出在图1中。拓扑结构100包括云服务器102和客户端网络104。云服务器102和客户端网络104被配置为通过广域网(WAN)(被示出在参考标号106处)互相发送和接收通信。在一个示例中,WAN 106可以是互联网,但是应该理解的是可以有中间的有线和无线局域网。拓扑结构100还包括网络服务器108。网络服务器108被配置为在WAN 106上发送和接收去往客户端网络104和云服务器102中的组件和设备的通信。
[0015]云服务器102被配置为托管多个服务器代理设备110( —个或多个“服务器代理”),如本文的技术所描述的,服务器代理设备I1被配置为获取来自客户端网络104和网络服务器108的内容并对该内容进行定向。服务器代理设备110被配置为与数据库112通信,以检索例如,关于由网络服务器108托管的内容的信息,这也是根据本文的技术所描述的。数据库112可以驻留在云服务器102的一个或多个组件内或可以在云服务器102外部。在一个示例中,数据库112可以是一组本地数据库,其中在这些本地数据库之间能够进行消息传递。为了简单起见,拓扑结构100将数据库112作为外部数据库示出。应该理解的是,云服务器102的组件可以被托管在驻留在一个或多个物理服务器或物理设备(这些物理服务器或物理设备与WAN 106通信并且在逻辑上被配置为被部署在云服务器102内)上的软件上。同样地,云服务器102的组件可以是物理服务器或物理设备(例如,物理服务器代理设备)或由一个或多个物理服务器或物理设备托管的虚拟机。
[0016]客户端网络包括多个客户端代理设备114( 一个或多个“客户端代理”),如本文所描述的,客户端代理设备114被配置为从云服务器102和网络服务器108请求和检索内容。客户端网络104还包括多个客户端设备116,客户端设备116被配置为与一个或多个客户端代理设备114通信。客户端代理设备114和客户端设备116可以是位于相同地理区域的企业网络或集群的一部分。在一个示例中,客户端网络104可以是客户端代理设备114和客户端设备116的局域网(LAN)。客户端设备116可以采取例如,被配置为通过WAN/互联网106发送和接收通信的任何能上网的计算设备(例如,计算机、膝上型电脑、平板电脑、移动设备、电视等)的形式。在一个示例中,可以有一个以上的客户端网络,并且对于任何一个云服务器可以有几千个客户端网络。来自一个客户端网络的本文所描述的处理技术的效率收益,可以影响所有剩余的客户端网络。
[0017]网络服务器108被配置为托管网络内容/文件120( “网络内容”、“网络文件”、或“文件”)。例如,网络服务器108可以是被配置为托管与统一资源指示符(URI)或统一资源定位符(URL)相关联的文件的硬件或软件组件。URI或URL是例如,指向能够被拓扑结构100内的一个或多个组件访问的网站的指针。
[0018]如上面所解释的,客户端网络104、网络服务器108、和云服务器102的组件被配置为通过WAN 106互相发送通信和互相接收通信。例如,拓扑结构100示出了在云服务器102、客户端网络104、和网络服务器108之间交换的多个分组/通信。这些通信在图1中的参考标号124、126、和128处被示出,并且将在下文中详细描述。通常,这些通信允许客户端设备116的用户(未在拓扑结构100中示出)经由云服务器102请求由网络服务器108托管的网络内容/文件120。另外,这些通信允许云服务器102的服务器代理设备110评估来自客户端设备116的请求,以判定网络内容/文件120应该被如何传送到做出请求的客户端设备116。
[0019]现在参照图2,图2示出了服务器代理设备110的示例框图。服务器代理设备110包括网络接口单元202、处理器204、和存储器206。网络接口单元202被配置为接收通过WAN 106发送的通信(例如,数据分组)、以及通过WAN 106从服务器代理设备110发送通信。为了简单起见,图2中示出了单个网络接口单元202,但是本领域的普通技术人员应该理解的是,网络接口单元202可以包括两个接口组件或实例:第一接口组件或实例被配置为通过WAN 106发送和接收数据通信,第二接口组件或实例被配置为在云服务器102内发送和接收数据通信。网络接口单元202被耦合到处理器204。处理器204是例如,被配置为执行用于实现本文所描述的服务器代理设备110的各种操作和任务的程序逻辑指令(即,软件)的微处理器或微控制器。例如,如本文所述,处理器204被配置为执行被存储在存储器206中的URL标识符验证处理逻辑210,以将重定向指令发送到一个客户端代理设备114。处理器204的功能可以通过被编码在一个或多个有形的计算机可读存储介质或设备(例如,存储设备压缩盘、数字视频盘、闪存驱动等、以及诸如专用集成电路的嵌入式逻辑、数字信号处理器指令、由处理器执行的软件等)中的逻辑来实现。
[0020]存储器206可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质设备、光存储介质设备、闪存设备、电气存储器存储设备、光学存储器存储设备、或其它物理的/有形的(非暂态)存储器存储设备。存储器206存储用于URL标识符验证处理逻辑210的软件指令。存储器206也可以存储数据库112,数据库112存储例如,与多个URL相关联的标识符信息和由与URL相关联的网络服务器托管的文件。因此,通常,存储器206可以包括用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质(例如,存储器存储设备),并且软件在被执行时(例如,被处理器204执行)可操作以执行针对URL标识符验证处理逻辑210所描述的操作。
[0021]URL标识符验证处理逻辑210可以采取诸如固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)之类的各种形式中的任何形式,以便被编码在一个或多个有形的计算机可读存储介质或存储设备中用于执行,并且处理器204可以是包括固定数字逻辑的专用集成电路(ASIC)或它们的组合。
[0022]例如,处理器204可以通过固定或可编程的数字逻辑集成电路中的数字逻辑门来体现,其中数字逻辑门被配置为执行URL标识符验证处理逻辑210。通常,URL标识符验证处理逻辑210可以被体现在用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质中,并且软件在被执行时能够操作执行后面描述的操作。
[0023]现在参照图3,图3示出了客户端代理设备114的示例框图。客户端代理设备114包括网络接口单元302、客户端设备接口单元304、处理器306、和存储器308。网络接口单元302被配置为以类似于针对服务器代理设备110的网络接口单元202描述的方式,通过WAN 106发送和接收去往拓扑结构100中的设备或组件的通信。为了简单起见,图3中示出了单个网络接口单元302,但将理解的是客户端代理设备114的网络接口单元302可以包括两个接口组件或实例:第一接口组件或实例被配置为通过WAN 106发送和接收数据通信,第二接口组件或实例被配置为在客户端网络104内发送和接收数据通信。客户端设备接口单元304被配置为发送和接收去往客户端网络104内的客户端设备116的通信。网络接口单元302和客户端设备接口单元304被耦合到处理器306。处理器306是被配置为执行程序逻辑指令(即,软件)用于实现本文描述的各种操作和任务的微处理器或微控制器。处理器306被配置为执行被存储在存储器308中的报头附加处理逻辑310,以将信息附加到来自客户端设备116的对网络内容的请求。存储器308和处理器306的功能与上面针对服务器代理设备110的这些部分所描述的功能相似。
[0024]通常,一个客户端设备116 (例如,计算机)的用户可以尝试访问由网络服务器108托管的网络内容120。例如,用户可以点击在客户端设备116处显示的超链接以尝试访问URL和由网络服务器108托管的与URL相关联的网络内容120。然而,可能存在这样的情况,其中由网络服务器108托管的内容/文件是恶意的或是对客户端网络104中的一个或多个设备或数据是有害的。因此,在网络内容120被递送到做出请求的客户端设备116之前,客户端设备116请求的网络内容120可能需要被评估以判定网络内容120是否是恶意的或是否对拓扑结构100中的一个或多个设备构成了安全威胁。云服务器102中的服务器代理设备110被配置为执行这样的评估。
[0025]当客户端设备116做出访问网络服务器108上的网络内容的请求时,请求通过WAN106被路由到云服务器102中的服务器代理设备110。到相应的服务器代理设备110的请求的特定路由细节可以由客户端网络104、云服务器102、或拓扑结构100中的其它设备或服务的管理员建立的网络策略控制。当服务器代理设备110第一次接收到由客户端设备116发送的请求时,服务器代理设备110通过WAN 106从网络服务器108检索网络内容120 (例如,下载文件或以其它方式访问网络内容120)。在随后请求被做出时,服务器代理设备110执行本文描述的技术。
[0026]服务器代理设备110评估网络内容/文件120 (例如,执行“扫描”),以判定由客户端设备116请求的内容是否是恶意的。如果服务器代理设备110判定被请求的内容是恶意的,则服务器代理设备110通常将丢弃该内容并且将不允许做出请求的客户端设备116访问该内容。同样地,如果服务器代理设备110判定被请求的内容不是恶意的(例如,“安全的”),则服务器代理设备110将允许做出请求的客户端设备116访问该内容。因此,服务器代理设备110在针对网络内容120的请求和网络内容120本身之间作为客户端设备116的过滤器或防火墙进行操作。有很多现在已知的和以后开展的用于扫描内容以评估内容是否是安全威胁的技术。本文不描述各种内容扫描技术的细节,因为它们与本文所述的重定向技术不是密切相关的。
[0027]服务器代理设备110还存储与网络内容120相关联的信息、与网络内容120相关联的URL、以及表明网络内容120是否被判定为是恶意的信息。此信息被存储在数据库112中。服务器代理设备110稍后可以利用此信息来对由一个或多个客户端设备116做出的对网络内容120的随后的请求的恶意性做出随后的判定。
[0028]现在参照图4,图4示出了针对被存储在数据库112中的信息的数据域113的示例。数据域113可以包括与URL相关联的标识符信息和与URL相关联的网络内容或文件。例如,如图4中所示,数据库112可以存储URL、与URL和网络内容120相关联的二级域名和顶级域名、文件名、以及后续路径片段。另外,数据库112可以存储关于与URL和网络内容120相关联的文件类型、校验和(例如,安全校验和、诸如SHA-1的安全哈希算法等)、时间戳、点击次数(例如,默认为一次)、超文本传输协议(HTTP)报头(例如,内容长度、内容MD5签名、最后修改、内容类型等)的信息。通常,图4中示出的信息仅是示例,并且任何与URL和网络内容120相关联的标识符信息都可以被存储在数据库120中。应该理解的是,所有请求的细节可以不被存储在数据库112中。例如,由于来自减少的处理的性能收益小于将信息传播到其它数据库的代价,因此可以决定针对某些地址(例如,“ac.uk”地址)的细节仅被存储在中心位置数据库(例如,针对“ac.uk”地址的英国中心数据库)。
[0029]在一个示例中,有三种可以被用于识别网络内容/文件120中的潜在变化的有用报头:(1)内容长度报头(例如,1234567) ; (2)内容类型报头(例如,文本/无格式报头(plain header));以及(3)内容MD5 报头(例如,563eed557e83el73cdf9511ceda54aa)。这些报头的任何改变都可以表示网络内容/文件120在尺寸和/或内容类型方面已经改变,并且因此网络内容/文件120是不同的。也可以有与请求相关联的可以被用于核实网络内容/文件120是否已经改变的两个度量:(I)请求计数;以及(2)改变计数。如果文件每当被下载时改变,则附加的重定向不被发送。如果文件仅被下载一次,则除了在下载期间获得的初始信息外,没有信息可以从文件中被获得。然而,如果文件已经被下载多次而无任何改变,则文件很可能是被重定向的良好候选。另外,如果文件已经被下载多次并且没有明显改变,则度量可以在云服务器102内的节点间被共享。与文件相关联的域和路径片段条目使服务器代理设备110能够对文件进行去重(de-duplicate)。种类和其它信息也可以被存储,从而使得在文件被下载之前(可接受的使用)策略可以被重新应用到文件。例如,域和路径片段条目可以涉及如下内容:
[0030]http://example, com/foo
[0031]http://www.example, com/foo
[0032]http://mirrorsite.example, org/sites/www.example, com/foo
[0033]如上所述,在对网络内容120的安全/威胁进行扫描时,服务器代理设备110可以将信息存储在数据库112中。当从一个客户端设备116接收到访问由网络服务器108托管的网络内容120的随后的请求时,服务器代理设备11可以评估此信息。在一个示例中,如果一个客户端设备116之后针对服务器代理设备110已经进行了关于恶意性的扫描和评估的相同网络内容(例如,网络内容120)发送新请求,则服务器代理设备110可以利用数据库112中的信息来判定网络内容是否是恶意的而无须再次检索(例如,下载)和扫描该内容。这可以是有利的,因为有时由服务器代理设备110执行的内容下载和扫描操作可能是耗费过程和时间的操作。因此,为了带宽和处理效率,如果可能的话,能够将由一个客户端设备116请求的内容分类为恶意的或非恶意的内容而无须再次下载和扫描内容,对于服务器代理设备110可能是有用的。通过访问数据库112中的与网络内容120以及与网络内容120相关联的URL相关联的标识符信息,服务器代理设备110可以做出有关恶意性的判定(或确定它是否可以做出有关恶意性的判定)而无须再次从网络服务器108下载文件。在此示例中,服务器代理设备110可以将已经存在于数据库112中的存储标识符信息和与新请求相关联的URL和内容的标识符信息进行比较。如果数据库112中有足够的信息,则月艮务器代理设备110可以判定内容的恶意性并且相应地调整新请求。
[0034]现在参照图5,图5示出了描绘拓扑结构100中的组件之间的消息交换(例如,通信或数据分组)的示例梯形图500。结合图5的描述参考图1。如上所述,一个客户端设备116的用户502可以尝试请求由网络服务器108托管的网络内容120。在操作504处,客户端设备116可以发送针对网络内容120的请求(例如,“获取请求”)。例如,用户502经由客户端设备116选择超链接或以其它方式尝试访问与网络内容120相关联的URL。获取请求被相应的客户端代理设备114(例如,与做出请求的客户端设备116通信的客户端代理设备114)接收,并且在操作506处获取请求被转发到服务器代理设备110(例如,通过WAN106)。在操作508处服务器代理设备110将获取请求转发到网络服务器108,并且作为响应,在操作510处网络内容(“文件”)120被从网络服务器108发送到服务器代理设备110。在操作512处,服务器代理设备110扫描文件120以判定文件120是否是恶意的或以其它方式构成安全威胁。服务器代理设备110可以被配置为例如,利用被用于执行扫描并且判定文件120的恶意本质的恶意内容检测软件或逻辑。如上所述,对于服务器代理设备110来说这可能是处理密集型的操作。
[0035]在判定文件是否是恶意的或潜在恶意的之后,服务器代理设备110在操作514处将关于文件和相关联的URL的信息存储在数据库112中。该信息例如可以是上面结合图4描述的任意一条或多条标识符信息。如果服务器代理设备110判定文件120是恶意的,则月艮务器代理设备110丢弃文件120。操作516和518假设服务器代理设备110判定文件120不是恶意的。在操作516处,服务器代理设备110将文件120发送到客户端代理设备114,并且客户端代理设备114在操作518处将文件发送到客户端设备116。从而,客户端设备116获得与在操作504中被发起的获取请求相关联的文件120。
[0036]如上所解释的,客户端设备116可以针对文件120做出随后的请求。然而,应该理解的是以下描述的技术适用于任何客户端网络104中的做出针对文件120的请求的任何客户端设备。换句话说,任何客户端网络104中的任何客户端设备都可以通过请求从网络服务器108访问文件120来启动以下描述的技术。为了简单起见,图5示出了相同的客户端设备116在操作520处做出针对与URL相关联的文件120的随后的网络请求。网络(内容)请求被示出在参考标号122处。操作520也被示出在图1中的标签“A”处。网络请求122被客户端代理设备114接收(即,与做出网络请求122的客户端设备116通信的客户端代理设备114),并且在操作522处,客户端代理设备将修改后的网络请求发送到服务器代理设备。修改后的网络请求被示出在参考标号124处。操作522也被示出在图1中的标签“B”处。修改后的网络请求包含由客户端设备114附加到网络请求122的信息。此附加的信息作为标识符或状态指示符,通知服务器代理设备110修改后的网络请求所来源的设备(例如,客户端代理设备114)能够获得重定向指令以直接从网络服务器108访问文件120。如本文所述,客户端代理设备114之后可以从服务器代理设备110接收这样的重定向指令。
[0037]当从客户端代理设备114接收到修改后的网络请求124(在图1中被示出在标签“C”处)时,服务器代理设备110评估修改后的网络请求124,以判定修改后的网络请求124是否包含表明客户端代理设备114能够接收重定向指令的标识符或状态指示符。另外,客户端代理设备114可以处理重定向代码(例如,30x重定向代码)、验证结果内容(例如,文件)的校验和、以及在不匹配的情况下重新请求访问文件。当评估表明请求包括此信息时,服务器代理设备110在操作524处将针对与文件120和与文件120相关联的URL相关联的标识符信息的请求(例如,“头请求”)发送到网络服务器108。网络服务器108在操作526处将标识符信息(例如,“报头”)发送到服务器代理设备。在参考标号126处描述了报头。图5中的操作526也被示出在图1中的标签“D”处。报头126可以包含以上结合图4描述的一个或多个标识符信息类型。应该理解的是,在操作526中,文件120不被发送到服务器代理设备110(例如,服务器代理设备不再次下载文件120)。
[0038]在接收到报头126后,服务器代理设备110在操作528处请求访问数据库112中的存储标识符信息(例如,“URL/文件细节”),并且在操作530处,服务器代理设备110接收URL文件细节。服务器代理设备110然后将从网络服务器108接收的报头126与从数据库112检索的URL/文件细节进行比较。例如,服务器代理设备110可以利用数据库112中的针对相同URL的相应存储标识符,对诸如内容类型、内容MD5、校验和等的报头中的标识符信息进行核对。如果存在匹配,则服务器代理设备110将做出这样的判定:与URL相关联的文件120已经改变是不可能的。另外,服务器代理设备110可以尝试识别可以托管正在被请求的相同网络内容/文件120的镜像服务器。服务器代理设备110然后可选择地更新数据库112中的存储信息(例如,增加点击次数)。例如,服务器代理设备110对数据库112的更新之后可以被云服务器102中的其它服务器代理设备访问,以执行本文所述的技术。
[0039]如果不存在匹配,则服务器代理设备110将URL标记或标志为倾向于改变。操作532、534、536、538、和540假设服务器代理设备110判定报头126和URL/URL的文件细节之间存在匹配。在操作532处,服务器代理设备110将具有标识符信息的重定向(“具有校验和的重定向”)发送到客户端代理设备114。此重定向被发送到客户端代理设备114,因为之前由服务器代理设备110接收的修改后的网络请求124表明客户端代理设备能够接收这样的重定向。具有校验和的重定向被示出在参考标号128处。操作532也被示出在图1的标签“E”处。具有校验和的重定向是这样的消息,该消息包括来自服务器代理设备110的针对客户端代理设备114的促使客户端代理设备114直接从网络服务器108(例如,通过WAN106)检索与URL相关联的文件120的重定向指令。响应于接收这些重定向指令,客户端代理设备114在操作534处将请求(例如,“获取请求”)发送到网络服务器108以获得文件120。作为响应,网络服务器108在操作536处将文件120发送到客户端代理设备114。
[0040]当从网络服务器108接收到文件120时,客户端代理设备114在操作538处对文件120进行验证。例如,在服务器代理设备110从网络服务器108接收报头126 (操作526)的时间和客户端代理设备114从网络服务器108接收文件120 (操作536)的时间之间,文件120可能已经被改变或修改。另外,内容可能被故意用于多个不同的位置。因此,538处的验证操作是进一步的安全措施,以确保文件120之前已经被服务器代理设备110验证为非恶意的并且确保在文件120已经改变(因此可能使文件120已经不再处于非恶意状态)的情况下文件最终不被发送到客户端设备116。在操作538处,在操作536中对文件120进行检索后,客户端设备将参考标识符信息(例如,在操作532中从服务器代理设备110接收的校验和或其它标识符信息)与从文件120提取的文件标识符信息进行比较。如果比较操作表明参考标识符信息和文件标识符信息之间存在匹配,则在操作540处文件120被转发到客户端设备116。然而,如果比较操作表明不存在匹配(或未表明存在匹配),则客户端代理设备114将文件120分类为潜在恶意的文件并且客户端代理设备114不将文件120发送到客户端设备116。因此,客户端代理设备114作为另一过滤器或防火墙进行操作以防止潜在有害的或恶意的网络内容到达客户端设备116。客户端代理设备114然后可以有选择地经由服务器代理设备110重新请求内容(没有报头,以防止无限循环)。
[0041]现在参照图6。图6示出了描绘服务器代理设备110的URL标识符验证处理逻辑210的操作的流程图。在610处,服务器代理设备110从客户端代理设备114接收访问服务器(网络服务器108)上的与URL相关联的文件的请求。在620处,做出关于请求是否具有表明客户端代理设备114能够获得重定向指令的信息的判定。如果没有,则服务器代理设备110在630处下载与请求相关联的文件(文件120)并且扫描该文件,以判定它是否是恶意的(如图5中操作510和512中所示)。如果请求具有表明客户端代理设备114能够获得重定向指令的信息,则在640处,服务器代理设备110从服务器请求与URL相关联的标识符信息。在650处,服务器代理设备110从网络服务器108接收标识符信息。操作640和操作650与上述图5中示出的操作524和操作526相对应。
[0042]在操作660处,服务器代理设备110判定数据库112是否具有与URL相关联的存储标识符信息。如果没有,则服务器代理设备I1返回到操作630。如果数据库具有与URL相关联的存储标识符信息(即,对操作660的回答为“是”),则在670处,服务器代理设备110从数据库112检索与URL相关联的存储标识符信息。操作670与图5中示出的操作530相对应。在680处,服务器代理设备110将与URL相关联的标识符信息和与URL相关联的存储标识符信息进行比较,并且在690处,判定与URL相关联的标识符和与URL相关联的存储标识符信息之间是否存在匹配。如果不存在匹配,则服务器代理设备110在692处判定文件已经改变,并且返回到操作630。如果存在匹配(即,对操作690的回答为“是”),则在694处服务器代理设备110将重定向指令发送到客户端代理设备114以指示客户端代理设备直接从服务器检索与URL相关联的文件。操作694在图5中被描绘为操作532。另外,该过程通过更新数据库112并且将内容发送到客户端设备116继续进行。
[0043]现在参照图7,图7示出了描绘客户端代理设备114的报头附加处理逻辑310的操作的流程图。在710处,客户端代理设备114从客户端设备(客户端设备116)接收访问服务器(网络服务器108)上的与URL相关联的文件(文件120)的请求。操作710与图5中示出的操作520相对应。客户端代理设备114在720处将表明客户端代理设备114能够获得重定向指令以直接从服务器访问文件的信息附加到请求。在730处,客户端代理设备114将具有该信息的请求转发到服务器代理设备110。操作730与图5中示出的操作522相对应。在将请求转发到服务器代理设备110后,客户端代理设备114在操作735处判定服务器代理设备的响应是否包含重定向信息。如果不包含,则在操作737处客户端代理设备116将请求作为正常HTTP请求进行处理。如果包含(即,如果对操作735中的判定的回答为“是”),则在740处客户端代理设备114从服务器代理设备110接收重定向指令以直接从服务器检索与URL相关联的文件。操作740与图5中示出的操作532相对应。作为响应,在750处,客户端代理设备114直接从服务器检索与URL相关联的文件,如在图5中的参考标号536中所示。在对与URL相关联的文件进行检索后,客户端代理设备114在755处判定该文件的文件校验和值是否与服务器代理设备110发送到客户端代理设备114的文件校验和值相匹配。如果相匹配,则在操作760处文件被发送到客户端代理设备116,并且如果不匹配,则客户端代理设备114在765处利用表明不匹配的文件被接收的信息从服务器代理设备110重新请求文件。
[0044]应该理解的是,以上结合所有实施例描述的技术可以由用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质执行,以执行本文所述的方法和步骤。例如,由网络服务器108、服务器代理设备110、客户端代理设备114、和客户端设备116执行的操作可以由一个或多个计算机或机器可读存储介质(非暂态)或被处理器执行且包括软件、硬件或软件和硬件的组合的设备执行,以执行本文所述的技术。
[0045]总之,提供了一种方法,包括:在服务器代理设备处,从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;响应于该接收,评估请求是否包括表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息;当评估表明请求包括该信息时,从服务器请求与URL相关联的标识符信息;从服务器接收与URL相关联的标识符信息;从数据库检索与URL相关联的存储标识符信息;将与URL相关联的标识符信息和与URL相关联的存储标识符信息进行比较以判定是否存在匹配;以及当比较判定存在匹配时,将重定向指令发送到客户端代理设备以指示客户端代理设备直接从服务器检索与URL相关联的文件。
[0046]另外,提供了一种方法,包括:在客户端代理设备处,从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;将表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息附加到请求;将具有该信息的请求转发到服务器代理设备;从服务器代理设备接收重定向指令以直接从服务器检索与URL相关联的文件;以及直接从服务器检索与URL相关联的文件。
[0047]另外,提供了用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质,其中软件在被执行时能操作来执行以下处理:从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;评估请求是否包括表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息;当请求包括该信息时,从服务器请求与URL相关联的标识符信息;从服务器接收与URL相关联的标识符信息;从数据库检索与URL相关联的存储标识符信息;将与URL相关联的标识符信息和与URL相关联的存储标识符信息进行比较以判定是否存在匹配;以及当存在匹配时,将重定向指令发送到客户端代理设备以指示客户端代理设备直接从服务器检索与URL相关联的文件。
[0048]另外,提供了用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质,其中该软件在被执行时能操作来执行以下处理:从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;将表明获得重定向指令以直接从服务器访问文件的能力的信息附加到请求;将具有该信息的请求转发到服务器代理设备;从服务器代理设备接收重定向指令以直接从服务器检索与URL相关联的文件;以及直接从服务器检索与URL相关联的文件。
[0049]另外,提供了一种装置,包括:网络接口单元;存储器单元;以及处理器,该处理器被耦合到网络接口单元和存储器,并且被配置为:从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;评估请求是否包括表明客户端代理设备能够获得重定向指令以直接从服务器访问文件的信息;当请求包括该信息时,从服务器请求与URL相关联的标识符信息;从服务器接收与URL相关联的标识符信息;从数据库检索与URL相关联的存储标识符信息;将与URL相关联的标识符信息和与URL相关联的存储标识符信息进行比较以判定是否存在匹配;以及当存在匹配时,将重定向指令发送到客户端代理设备以指示客户端代理设备直接从服务器检索与URL相关联的文件。
[0050]另外,提供了一种装置,包括:网络接口单元;客户端设备接口单元;存储器单元;以及处理器,该处理器被耦合到网络接口单元、客户端设备接口单元、和存储器单元,并且被配置为:从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求;将表明获得重定向指令以直接从服务器访问文件的能力的信息附加到请求;将具有该信息的请求转发到服务器代理设备;从服务器代理设备接收重定向指令以直接从服务器检索与URL相关联的文件;以及直接从服务器检索与URL相关联的文件。
[0051]上面的描述仅旨在举例。在不脱离本文描述的概念的范围并且在权利要求的等同范围内的情况下,可以做出各种修改和结构改变。
【权利要求】
1.一种方法,包括: 在服务器代理设备处,从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 响应于所述接收,评估所述请求是否包括表明所述客户端代理设备能够获得重定向指令以直接从所述服务器访问所述文件的信息; 当所述评估表明所述请求包括所述信息时,从所述服务器请求与所述URL相关联的标识符信息; 从所述服务器接收与所述URL相关联的所述标识符信息; 从数据库检索与所述URL相关联的存储标识符信息; 将与所述URL相关联的所述标识符信息和与所述URL相关联的所述存储标识符信息进行比较,以判定是否存在匹配;以及 当所述比较判定存在匹配时,将所述重定向指令发送到所述客户端代理设备,以指示所述客户端代理设备直接从所述服务器检索与所述URL相关联的所述文件。
2.如权利要求1所述的方法,其中,接收与所述URL相关联的所述标识符信息包括接收以下各项中的一项或多项:文件名、所述URL的后续路径片段、所述URL的二级域名和顶级域名、所述文件的检索时间戳、与所述URL相关联的点击次数、超文本传输协议(HTTP)响应报头、与所述文件相关联的文件类型和校验和值。
3.如权利要求1所述的方法,其中,发送所述重定向指令包括:发送所述重定向指令从而使得所述服务器代理设备无须从所述服务器下载所述文件。
4.如权利要求1所述的方法,进一步包括:更新所述数据库以包括从所述服务器接收的与所述URL相关联的所述标识符信息。
5.如权利要求1所述的方法,其中,发送所述重定向指令包括:将所述重定向指令发送到所述客户端代理设备,以指示所述客户端代理设备直接从所述服务器检索与所述URL相关联的所述文件,而不需要所述服务器代理判定所述文件是否是恶意的或存在安全威胁。
6.如权利要求1所述的方法,其中,将所述重定向指令发送到所述客户端代理设备包括:发送包括安全哈希的所述重定向指令。
7.如权利要求1所述的方法,其中,将所述重定向指令发送到所述客户端代理设备包括:将所述重定向指令发送到除与所述文件相关联的位置之外的位置,从而使得所述文件的相同内容能够在其它位置处被检索。
8.一种方法,包括: 在客户端代理设备处,从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 将表明所述客户端代理设备能够获得重定向指令以直接从所述服务器访问所述文件的信息附加到所述请求; 将具有所述信息的所述请求转发到服务器代理设备; 从所述服务器代理设备接收所述重定向指令,以直接从所述服务器检索与所述URL相关联的所述文件;以及 直接从所述服务器检索与所述URL相关联的所述文件。
9.如权利要求8所述的方法,进一步包括: 在所述检索后将参考标识符信息与从所述文件提取的文件标识符信息进行比较,以判定是否存在匹配;以及 当所述比较表明存在匹配时,将所述文件转发到所述客户端设备。
10.如权利要求9所述的方法,进一步包括:当所述比较未表明存在匹配时,将与所述URL相关联的所述文件分类为潜在恶意的文件。
11.如权利要求9所述的方法,进一步包括:利用新报头信息从所述服务器代理设备再次请求所述文件,以检索所述文件的被请求的内容并且将所述被请求的内容标记为已经改变或倾向于被改变。
12.—种或多种用包括计算机可执行指令的软件编码的计算机可读存储介质,所述软件在被执行时能操作来执行以下处理: 从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 评估所述请求是否包括表明所述客户端代理设备能够获得重定向指令以直接从所述服务器访问所述文件的信息; 当所述请求包括所述信息时,从所述服务器请求与所述URL相关联的标识符信息; 从所述服务器接收与所述URL相关联的所述标识符信息; 从数据库检索与所述URL相关联的存储标识符信息; 将与所述URL相关联的所述标识符信息和与所述URL相关联的所述存储标识符信息进行比较,以判定是否存在匹配;以及 当存在匹配时,将所述重定向指令发送到所述客户端代理设备,以指示所述客户端代理设备直接从所述服务器检索与所述URL相关联的所述文件。
13.如权利要求12所述的计算机可读存储介质,其中,能操作来接收与所述URL相关联的所述标识符信息的所述指令包括能操作来接收以下各项中的一项或多项的指令:文件名、所述URL的后续路径片段、所述URL的二级域名和顶级域名、所述文件的检索时间戳、与所述URL相关联的点击次数、超文本传输协议(HTTP)响应报头、与所述文件相关联的文件类型和校验和值。
14.如权利要求12所述的计算机可读存储介质,其中,能操作来发送所述重定向指令的所述指令包括:能操作来发送重定向指令而无须从所述服务器下载所述文件的指令。
15.如权利要求12所述的计算机可读存储介质,进一步包括:能操作来更新所述数据库以包括从所述服务器接收的与所述URL相关联的所述标识符信息的指令。
16.如权利要求12所述的计算机可读存储介质,其中,能操作来发送所述重定向指令的所述指令包括能操作来将所述重定向指令发送到所述客户端代理设备以指示所述客户端代理设备直接从所述服务器检索与所述URL相关联的所述文件而无须判定所述文件是否是恶意的或存在安全威胁的指令。
17.—种或多种用包括计算机可执行指令的软件编码的计算机可读存储介质,所述软件在被执行时能操作来执行以下处理: 从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 将表明获得重定向指令以直接从所述服务器访问所述文件的能力的信息附加到所述请求; 将具有所述信息的所述请求转发到服务器代理设备; 从所述服务器代理设备接收所述重定向指令,以直接从所述服务器检索与所述URL相关联的所述文件;以及 直接从所述服务器检索与所述URL相关联的所述文件。
18.如权利要求17所述的计算机可读存储介质,其中,能操作来接收所述重定向指令的所述指令包括能操作来接收包含参考标识符信息的所述重定向指令的指令,其中所述参考标识符信息包括以下各项中的一项或多项:文件名、所述URL的后续路径片段、所述URL的二级域名和顶级域名、所述文件的检索时间戳、与所述URL相关联的点击次数、超文本传输协议(HTTP)响应报头、与所述文件相关联的文件类型和校验和值。
19.如权利要求18所述的计算机可读存储介质,进一步包括能操作来执行以下处理的指令: 在所述检索后将参考标识符信息与从所述文件提取的文件标识符信息进行比较,以判定是否存在匹配;以及 当所述比较表明存在匹配时,将所述文件转发到所述客户端设备。
20.如权利要求19所述的计算机可读存储介质,进一步包括能操作来执行以下处理的指令:当所述比较未表明存在匹配时,将与所述URL相关联的所述文件分类为潜在恶意的文件。
21.一种装置,包括: 网络接口单元; 存储器单元;以及 处理器,被耦合到所述网络接口单元和所述存储器,并且被配置为: 从客户端代理设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 评估所述请求是否包括表明所述客户端代理设备能够获得重定向指令以直接从所述服务器访问所述文件的信息; 当所述请求包括所述信息时,从所述服务器请求与所述URL相关联的标识符信息; 从所述服务器接收与所述URL相关联的所述标识符信息; 从数据库检索与所述URL相关联的存储标识符信息; 将与所述URL相关联的所述标识符信息和与所述URL相关联的所述存储标识符信息进行比较,以判定是否存在匹配;以及 当存在匹配时,将所述重定向指令发送到所述客户端代理设备,以指示所述客户端代理设备直接从所述服务器检索与所述URL相关联的所述文件。
22.如权利要求21所述的装置,其中,所述处理器进一步被配置为发送包括能操作来发送重定向指令而无须从所述服务器下载所述文件的指令的所述重定向指令。
23.一种装置,包括: 网络接口单元; 客户端设备接口单元; 存储器单元;以及 处理器,被耦合到所述网络接口单元、所述客户端设备接口单元、和所述存储器单元,并且被配置为: 从客户端设备接收访问服务器上的与统一资源定位符(URL)相关联的文件的请求; 将表明获得重定向指令以直接从所述服务器访问所述文件的能力的信息附加到所述请求; 将具有所述信息的所述请求转发到服务器代理设备; 从所述服务器代理设备接收所述重定向指令,以直接从所述服务器检索与所述URL相关联的所述文件;以及 直接从所述服务器检索与所述URL相关联的所述文件。
24.如权利要求23所述的装置,其中,所述处理器被进一步配置为接收包括能操作来接收包含参考标识符信息的所述重定向指令的指令的所述重定向指令,其中所述参考标识符信息包括以下各项中的一项或多项:文件名、所述URL的后续路径字段、所述URL的二级域名和顶级域名、所述文件的检索时间戳、与所述URL相关联的点击次数、超文本传输协议(HTTP)响应报头、与所述文件相关联的文件类型和校验和值。
25.如权利要求24所述的装置,其中,所述处理器被进一步配置为: 在所述检索后将参考标识符信息与从所述文件提取的文件标识符信息进行比较,以判定是否存在匹配;以及 当所述比较表明存在匹配时,将所述文件转发到所述客户端设备。
【文档编号】H04L29/06GK104396220SQ201380032715
【公开日】2015年3月4日 申请日期:2013年5月17日 优先权日:2012年6月21日
【发明者】理查德·威尔唐 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1