首页> 中国专利> 用于经由多态安全代理来检查在线通信会话的系统、方法和装置

用于经由多态安全代理来检查在线通信会话的系统、方法和装置

摘要

本发明的实施方式涉及用于经由多态安全代理来检查在线通信会话的系统、方法和装置。所公开的计算机实现的方法可以包括(1)检测在多个计算设备之间建立的在线通信会话,(2)标识在多个计算设备之间建立的在线通信会话中涉及的至少一个应用程序,(3)至少部分地基于在线通信会话中涉及的应用程序,确定用于检查在线通信会话的安全代理的安全模式,以及继而(4)根据所确定的安全模式来配置安全代理以检查在线通信会话。各种其他系统、方法以及装置也被公开。

著录项

  • 公开/公告号CN105323236A

    专利类型发明专利

  • 公开/公告日2016-02-10

    原文格式PDF

  • 申请/专利权人 瞻博网络公司;

    申请/专利号CN201510155722.9

  • 发明设计人 D·库施瓦哈;

    申请日2015-04-02

  • 分类号H04L29/06;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 14:06:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-21

    授权

    授权

  • 2016-05-11

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20150402

    实质审查的生效

  • 2016-02-10

    公开

    公开

说明书

背景技术

网络安全服务经常检查针对潜在的安全风险的在线通信会话。 例如,层7安全服务可以提供在服务器与客户端之间建立的TCP会 话上执行安全检查的传统的传输控制协议(TCP)代理。在该示例中, 安全检查可以涉及重新装配、缓冲和/或修改在TCP会话期间服务器 与客户端之间传送的流。

不幸的是,该类型的安全检查可能导致相当大量资源的消耗。 例如,传统的TCP代理可以涉及服务器和/或客户端仿真器保存分组、 定时器和/或确认,以及执行重传以便促进这一类型的安全检查。然 而,传统的TCP代理可能未考虑TCP会话实际上是否需要这样的广 泛的安全检查。

因此,本公开内容标识并且解决了对用于经由多态安全代理来 检查在线通信会话的改进的系统、方法和装置的需要。

发明内容

如下面将更详细地描述,本公开内容总体上涉及用于经由多态 安全代理来检查在线通信会话的系统、方法以及装置。在一个示例 中,用于完成这样的任务的计算机实现的方法可以包括(1)检测在 多个计算设备之间建立的在线通信会话,(2)标识在多个计算设备 之间建立的在线通信会话中涉及的至少一个应用程序,(3)至少部 分地基于在线通信会话中涉及的应用程序,确定用于检查在线通信 会话的安全代理的安全模式,以及继而(4)根据所确定的安全模式 来配置安全代理以检查在线通信会话。

类似地,用于实现上面所描述的方法的系统可以包括:(1)检 测模块,其被存储在存储器中,该检测模块检测在多个计算设备之 间建立的在线通信会话,(2)标识模块,其被存储在存储器中,该 标识模块标识在多个计算设备之间建立的在线通信会话中所涉及的 至少一个应用程序,(3)确定模块,其被存储在存储器中,该确定 模块至少部分地基于在线通信会话中涉及的应用程序,确定用于检 查在线通信会话的安全代理的安全模式,(4)配置模块,其被存储 在存储器中,该配置模块根据所确定的安全模式来配置安全代理以 检查在线通信会话,以及(5)至少一个处理器,该处理器执行检测 模块、标识模块、确定模块以及配置模块。

备选地或者附加地,用于实现上面所描述的方法的装置可以包 括:(1)服务器,其促进在多个计算设备之间建立的在线通信会话 以及(2)安全代理,其指导服务器:(A)标识在多个计算设备之 间建立的在线通信会话中涉及的至少一个应用程序,(B)至少部分 地基于在线通信会话中涉及的应用程序,确定满足应用程序的需要 的安全模式,以及继而(C)根据所确定的安全模式,检查在线通信 会话。

根据本文所描述的一般原理,来自任何上面所提到的实施例的 特征可以彼此结合而被使用。在结合附图和权利要求阅读下面详细 的描述时,这些和其他实施例、特征以及优点将被更为充分地理解。

附图说明

附图图示了多个示例性实施例,并且是说明书的一部分。这些 附图结合下面描述,论证并解释了本公开内容的各种原理。

图1是用于经由多态安全代理来检查在线通信会话的示例性装 置的框图。

图2是用于经由多态安全代理来检查在线通信会话的示例性装 置的框图。

图3是用于经由多态安全代理来检查在线通信会话的示例性方 法的流程图。

图4是描述了示例性安全模式的图示。

图5是描述了示例性安全模式的图示。

图6是能够实现本文所描述和/或所图示的一个或多个实施例、 和/或用于结合本文所描述和/或所图示实施例中的一个或多个实施 例的示例性计算系统的框图。

在整个的附图中,相同的附图标记和描述指示类似的但未必相 同的元件。虽然通过附图中的示例已经示出了具体的实施例,并且 将在本文中进行详细地描述,但是本文所描述的示例性实施例允许 各种修改和替换形式。然而,本文所描述的示例性实施例不旨在限 于所公开的特定形式。相反,本公开内容覆盖落入所附权利要求的 范围内的所有的修改、等同以及替换。

具体实施方式

本公开内容描述了用于经由多态安全代理来检查在线通信会话 的各种系统、方法以及装置。如本文所使用的术语“多态安全代理” 通常是指任何类型或者形式的安全代理,该安全代理的安全模式至 少部分地基于在线通信会话的某些特性和/或属性被选择和/或被改 变。在一个示例中,在服务器与客户端之间的在线通信会话的寿命 期间,多态安全代理可以一次或者多次选择和/或改变安全模式。换 句话说,在在线通信会话的整个寿命中,多态安全代理可以继续确 定和/或重新配置最有效的安全模式。

如下面将更详细地解释,本公开内容的实施例可以标识和/或监 视在服务器与客户端之间建立的TCP会话所涉及的应用程序。本公 开内容的实施例还可以至少部分地基于应用程序的被监视的行为来 确定用于TCP会话的最有效的安全模式。换句话说,这些实施例可 以选择在满足所标识的应用程序的需要时引起最低水平的资源消耗 的安全模式。

本公开内容的实施例然后可以根据用于TCP会话的最有效的安 全模式来配置安全代理以检查TCP会话。通过以这样的方式配置安 全代理以检查TCP会话,这些实施例可以导致时间量和/或与检查有 关所消耗的网络资源量的减少。例如,这些实施例可以使得安全代 理能够在TCP会话上执行安全检查,以使得服务器和/或客户端仿真 器既无需保存某些分组、定时器和/或确认,也不需要执行某些重传 以促进安全检查。

参考图1和图2,下面将提供用于经由多态安全代理来检查在线 通信会话的示例性系统的详细描述。结合图3还将提供对应的计算 机实现的方法的详细描述。此外,结合图4和图5将提供示例性安 全模式的详细描述。最后,结合图6将提供用于经由多态安全代理 来检查在线通信会话的示例性装置的详细描述。

图1是用于经由多态安全代理来检查在线通信会话的示例性系 统100的框图。如该图中所图示的,示例性系统100可以包括用于 执行一个或多个任务的一个或多个模块102。例如,以及如下面将更 详细地解释的那样,示例性系统100可以包括检测在多个计算设备 之间建立的在线通信会话的检测模块104。示例性系统100还可以包 括标识在多个计算设备之间建立的在线通信会话所涉及的至少一个 应用程序的标识模块106。

此外,以及如下面将更详细地描述的那样,示例性系统100可 以包括确定用于安全代理的安全模式的确定模块108,该安全代理至 少部分地基于在线通信会话所涉及的应用程序来检查在线通信会 话。示例性系统100进一步可以包括根据所确定的安全模式来配置 安全代理以检查在线通信会话的配置模块110。尽管图示为单独的元 件,图1中模块102中的一个或多个模块可以表示单个模块或者应 用程序的部分。

在某些实施例中,图1中的模块102中的一个或多个模块可以 表示当由计算设备执行时使得计算设备执行一个或多个任务的一个 或多个软件应用程序或者程序。例如,以及如下面将更详细地描述 的那样,模块102中的一个或多个模块可以表示被存储在一个或多 个计算设备上并且被配置为在一个或多个计算设备上运行的软件模 块,诸如图2中所图示的设备(例如,网络设备206和/或计算设备 202(1)-(N))和/或图6中的装置600。

如图1中所图示的那样,示例性系统100还可以包括一个或多 个安全代理,诸如安全代理120。如本文所使用的术语“安全代理” 通常是指促进计算设备之间的通信流的传输和/或在通信流上执行安 全检查的任何类型或者形式的接口、代理和/或模块。在一个示例中, 安全代理120可以表示和/或包括促进在物理服务器与物理客户端之 间建立的TCP会话的TCP代理。附加地或者备选地,安全代理120 可以在通信流上执行安全检查,该通信流在该TCP会话期间,在物 理服务器与物理客户端之间被传送。

在一个示例中,安全代理120可以包括服务器仿真器和/或客户 端仿真器。在该示例中,物理客户端可以经由被包括在安全代理120 中的服务器仿真器与物理服务器进行通信。附加地或者备选地,物 理服务器可以经由被包括在安全代理120中的客户端仿真器与物理 客户端进行通信。

如图1中所图示的,示例性系统100还可以包括一个或多个安 全模式,诸如安全模式122。如本文所使用的术语“安全模式”通常 是指控制在在线通信会话上执行的安全检查的任何类型或者形式的 模式、行为和/或个性。在一个示例中,安全模式122可以定义在TCP 会话上执行的安全检查期间所施加的侵袭性和/或彻底性的水平。

安全模式122的示例包括但不限于:(1)通过模式,其使得安 全代理能够在不缓冲通信流或者修改通信流的内容的情况下传送通 信流,(2)缓冲模式,其使得安全代理能够在不修改通信流的内容 的情况下缓冲用于安全检查的通信流,(3)重写模式,其使得安全 代理能够临时地修改通信流的内容,(4)完全代理模式,其使得安 全代理能够基本上连续地修改通信流的内容,上述的一个或者多个 的组合或者任何其他合适的安全模式。

图1中的示例性系统100可以以各种方式来实施。例如,示例 性系统100的全部或者一部分可以表示图2中的示例性系统200的 一部分。如图2中所示出的,系统200可以包括经由网络204与一 个或多个计算设备202(1)-(N)通信的网络设备206。虽然在图2 中图示为从网络204独立,但是网络设备206和/或计算设备202(1) -(N)中的一个或多个计算设备可以表示网络204的部分。

在一个实施例中,网络设备206可以被编程为具有模块102中 的一个或多个模块。在该实施例中,网络设备206可以包括安全代 理120。网络设备206可以能够根据安全模式122(1)-(N)中的 一个或多个安全模式来配置安全代理120。

附加地或者备选地,网络设备206可以包括能够执行与在线通 信会话有关的某些服务和/或任务的一个或多个应用程序208(1)- (N)。应用程序208(1)-(N)的示例包括但不限于:应用程序 标识软件、计算机安全应用程序、反病毒应用程序、入侵检测与防 御(IDP)应用程序、统一威胁管理(UTM)应用程序、防火墙应用 程序、统一访问控制(UAC)应用程序、安全套接层(SSL)代理, 传输层安全(TLS)代理、应用层网关(ALG),上述的一个或多个 的组合或者任何其他合适的应用程序。

在一个实施例中,当来自图1中模块102中的一个或多个模块 由网络设备206的至少一个处理器执行时,可以使得网络设备206 能够经由多态安全代理来检查在线通信会话。例如,以及如下面将 更详细地描述地那样,模块102中的一个或多个模块可以使得网络 设备206:(1)检测在计算设备202(1)与计算设备202(N)之 间建立的在线通信会话,(2)将应用程序208(1)标识为被涉及在 计算设备202(1)与计算设备202(N)之间建立的在线通信会话, (3)至少部分地基于在线通信会话所涉及的应用程序208(1)来确 定用于安全代理120的安全模式,以及然后(4)根据所确定的安全 模式,配置安全代理120以检查在线通信会话。

计算设备202(1)-(N)通常表示能够读取计算机可执行指令 的任何类型或者形式的计算设备。计算设备202(1)-(N)的示例 包括但不限于:膝上型计算机、平板计算机、台式计算机、客户端、 服务器、蜂窝电话、现场可编程门阵列(FPGA)、个人数字助理 (PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能 手表、智能眼镜等)、游戏控制台、上述的一个或者多个的部分、 上述的一个或者多个的组合、图6中的示例性装置600或者任何其 他合适的计算设备。

网络设备206通常表示能够促进、代理和/或检查在线通信会话 的任何类型或者形式的计算设备。网络设备206的示例包括但不限 于:路由器、交换机、网络集线器、网关、服务递送网关、应用程 序服务器、数据库服务器、防火墙、下一代防火墙(NGFW)、深 度分组检查(DPI)系统、节点、桥接器、台式计算机、多媒体播放 器、客户端、嵌入式系统、游戏控制台、图6中的示例性装置600、 上述的一个或者多个的部分、上述的一个或者多个的组合或者任何 其他合适的计算设备。

网络204通常表示能够促进通信或者数据传送的任何类型或者 形式的介质和/或架构。在一个实施例中,网络204可以包括无线的 和/或有线的连接。网络204可以包括在图2中未图示的一个或者多 个附加的网络设备。网络204的示例包括但不限于:内联网、广域 网(WAN)、局域网(LAN)、个人区域网(PAN)、因特网、因 特网服务提供商(ISP)网络、电力线通信(PLC)网络、蜂窝网络 (例如,用于移动通信(GSM)网络的全球系统)、无线网络、上 述的一个或者多个的部分、上述的一个或者多个的变型、上述的一 个或者多个的组合或者任何其他合适的网络。

图3是用于经由多态安全代理来检查在线通信会话的示例性计 算机实现的方法300的流程图。图3中所示出的步骤可以由任何合 适的计算机可执行代码、计算系统和/或装置来执行。在一些实施例 中,图3中所示出的步骤可以由图1中的系统100、图2中的系统 200和/或图6中的装置600的一个或多个组件来执行。

如在图3中所图示的,在步骤302处,本文所描述的系统中的 一个或多个系统可以检测在多个计算设备之间建立的在线通信会 话。例如作为图2中的网络设备206的一部分的检测模块104经由 网络204检测在计算设备202(1)与计算设备202(N)之间建立的 在线通信会话。如本文所使用的术语“在线通信会话”通常是指在 其期间计算设备经由网络彼此交换通信的任何类型或者形式的会 话、实例和/或时期。在一个示例中,该在线通信会话可以表示和/ 或包括TCP会话。

本文所描述的系统可以以各种方式执行步骤302。在一个示例 中,检测模块104可以在通信会话在计算设备202(1)与计算设备 202(N)之间被建立的时间点处,检测在线通信会话。例如,计算 设备202(1)和计算设备202(N)可以经由网络设备206建立彼此 间的在线通信会话。随着计算设备202(1)和计算设备202(N)建 立在线通信会话,检测模块104可以检测在线通信会话。

在一个示例中,检测模块104可以至少部分地基于发起在线通 信会话的请求来检测在线通信会话。例如,计算设备202(1)可以 经由在线通信会话来创建发起来自计算设备202(N)中的文件下载 和/或服务的请求。计算设备202(1)可以然后经由网络204、在到 计算设备202(N)的道路上向网络设备206发送请求。在请求到达 网络设备206时,确定模块104可以检测请求,并且然后至少部分 地基于该请求来确定计算设备202(1)和计算设备202(N)正在建 立彼此间的在线通信会话。

在一个示例中,检测模块104可以通过监视在计算设备202(1) 与计算设备202(N)之间传送的网络流量来检测在线通信会话。例 如,检测模块104可以监视行经网络设备206传输的网络流量。如 本文所使用的术语“网络流量”通常是指在网络内发生的任何类型 或者形式的数据传送。当监视该网络流量时,检测模块104可以标 识在计算设备202(1)与计算设备202(N)之间传送的分组。检测 模块104然后可以至少部分地基于所标识的分组来确定在线通信会 话已经在计算设备202(1)与计算设备202(N)之间被建立。

附加地或者备选地,检测模块104可以至少部分地基于由计算 设备202(1)和计算设备202(N)执行的三次握手序列来检测在线 通信会话。例如当监视通过网络设备206传输的网络流量时,检测 模块104可以检测由计算设备202(1)向计算设备202(N)发送的 同步(SYN)请求。检测模块104然后可以检测由计算设备202(N) 向计算设备202(1)发送回的同步-确认(SYN-ACK)响应。最后, 检测模块104可以检测由计算设备202(1)再一次向计算设备202 (N)发送的确认(ACK)响应。检测模块104然后可以至少部分地 基于在该三次握手序列中传输的SYN请求、SYN-ACK响应以及 ACK响应,确定在线通信会话以及在计算设备202(1)与计算设备 202(N)之间被建立。

如图3中所图示的,在步骤304,本文所描述的系统中的一个或 多个系统可以标识在多个计算设备之间建立的在线通信会话中涉及 的至少一个应用程序。例如,作为图2中网络设备206的一部分的 标识模块106可以将应用程序208(1)标识为在计算设备202(1) 与计算设备202(N)之间建立的在线通信会话中涉及。在该示例中, 应用程序208(1)可以负责执行与在线通信会话有关的某些服务和/ 或任务。

本文所描述的系统可以以各种方式执行步骤304。在一个示例 中,标识模块106可以至少部分地基于服务请求来将应用程序208 (1)标识为在在线通信会话中涉及。例如,检测模块104可以检测 与在线通信会话有关的服务请求。在该示例中,服务请求可以提示 应用程序208(1)以执行与在线通信会话有关的某些服务和/或任务。 在检测到服务请求时,标识模块106可以通过分析服务请求来将应 用程序208(1)标识为在在线通信会话中涉及。

作为具体的示例,检测模块104可以检测用于UTM应用程序的 请求以在在线通信会话中涉及的通信流上执行某些服务和/或任务。 在检测到服务请求时,标识模块106可以通过分析服务请求来将 UTM应用程序标识为在在线通信会话中涉及。

在一些示例中,标识模块106可以至少部分地基于在线通信会 话的行为来推断在在线通信会话中涉及应用程序208(1)。在一个 示例中,检测模块104可以监视在线通信会话的行为。例如,检测 模块104可以监视在线通信会话中涉及的通信流是否被重新装配、 被缓冲和/或被修改。标识模块106然后可以至少部分地基于通信流 是否被重新装配、被缓冲和/或被修改,来将应用程序208(1)标识 为在在线通信会话中涉及。

作为具体的示例,当监视在线通信会话时,检测模块104可以 在网络设备206处检测在线通信会话中涉及的通信流的重新装配。 然而,检测模块104可以在网络设备206处检测没有通信流的缓冲 或者基于内容的修改的证据。由于通信流在网络设备206处被重新 装配但是既不被缓冲又不被修改,标识模块106可以推断应用程序 标识程序、IDP应用程序和/或UTM应用程序在网络206处的通信流 上正在执行某些任务和/或服务。

在一个示例中,检测模块104可以监视应用程序208(1)-(N) 中的一个或多个应用程序的行为。例如,检测模块104可以监视应 用程序208(1)以努力检测缓冲和/或修改通信流的任何请求。当以 这种方式监视应用程序208(1)时,检测模块104可以检测由应用 程序208(1)发出来缓冲和/或修改通信流的请求。该请求可以被指 向安全代理120。

在一个示例中,标识模块106可以将应用程序208(1)-(N) 标识为在计算设备202(1)与计算设备202(N)之间建立的在线通 信会话中涉及。例如,标识模块106可以至少部分地基于多个服务 请求来将应用程序208(1)-(N)标识为在在线通信会话中涉及。 附加地或者备选地,标识模块可以至少部分地基于在线通信会话的 行为,来推断应用程序208(1)-(N)在在线通信会话中涉及。

如图3所图示的,在步骤306处,本文所描述的系统中的一个 或多个系统可以至少部分地基于在线通信会话中涉及的应用程序, 来确定检查在线通信会话的用于安全代理的安全模式。例如,作为 图2中网络设备206的一部分的确定模块108可以确定与在线通信 会话中涉及的应用程序208(1)对应的安全模式122(1)。在该示 例中,安全模式122(1)可以定义在在线通信会话中所执行的安全 检查期间施加到安全代理120的侵袭性和/或彻底性的水平。

本文所描述的系统可以以各种方式执行步骤306。在一个示例 中,确定模块108可以至少部分地基于安全模式122(1)-(N)的 效率,来确定安全模式122(1)-(N)中的哪一个安全模式对应于 应用程序208(1)的行为。例如,标识模块106可以标识在网络设 备206上的安全模式122(1)-(N)的集合。在该示例中,当在安 全检查期间安全模式122(1)-(N)被施加到安全代理120时,可 能引起不同水平的资源消耗。附加地或者备选地,当在安全检查期 间安全模式122(1)-(N)被施加到安全代理120时,安全模式122 (1)-(N)可能涉及不同水平的侵袭性和/或彻底性。

在一个示例中,确定模块108可以从安全模式122(1)-(N) 中选择满足应用程序208(1)的需要的最有效的安全模式。例如, 确定模块108可以确定安全模式122(1)-(N)中的哪一个安全模 式满足应用程序208(1)的需要。在该示例中,确定模块108还可 以确定满足应用程序208(1)的需要的安全模式中的哪一个安全模 式是最有效的。确定模块108可以然后从安全模式122(1)-(N) 中选择该最有效的安全模式。如本文所使用的,术语“最有效的安 全模式”通常是指当满足在线通信会话中涉及的特定应用程序的需 要时,引起最低水平的资源消耗的安全模式的集合内的安全模式。

在一个示例中,安全代理120可以保存某些通信选项(例如TCP 选项)和/或在计算设备202(1)-(N)之间协商的窗口大小。当安 全代理120从一个安全模式切换到另一个安全模式时,可以依赖和/ 或参考这样的通信选项和/或所协商的窗口大小。

图4和图5是描述了示例性安全模式122(1)、122(2)、122 (3)以及122(4)(本文统称为安全模式122(1)-(N))的图 示。如图4中所图示的,安全模式122(1)可以表示通过模式(在 该示例中,“通过模式,其促使和/或使得安全代理120能够在不缓 冲通信流或者修改通信流的内容的情况下在计算设备202(1)-(N) 之间传送通信流”)。附加地或者备选地,由图4中的安全模式122 (1)所表示的通过模式可以促使和/或使得安全代理120能够在在线 通信会话期间重新装配在网络设备206处遇到的分组。换句话说, 由图4中的安全模式122(1)所表示的通过模式可以促使和/或使得 安全代理120能够在在线通信会话期间产生重新装配的通信流。

在一个示例中,在某些上下文中,安全模式122(1)可以表示 用于应用程序标识软件、IDP应用程序和/或UTM应用程序的最有效 的安全模式。例如,在应用程序208(1)表示和/或包括简单地需要 被重新装配(但是既不被缓冲又不被修改)的用于安全检查的通信 流的应用程序标识软件、IDP应用程序和/或UTM应用程序的情况 下,确定模块108可以确定安全模式122(1)是满足应用程序208 (1)的需要的最有效的安全模式。在该示例中,安全模式122(1) 指导安全代理120保存无序分组的本地副本,而不在传输之前缓冲 和/或保持这样的分组。通过以这种方式指导安全代理120保存本地 副本,安全模式122(1)可以促进通信流的重新装配。

如图4中所图示的,安全模式122(2)可以表示缓冲模式(在 该示例中,“缓冲模式,其促使和/或使得安全代理120能够在不修 改通信流的内容的情况下缓冲在计算设备202(1)-(N)之间用于 安全检查的通信流”)。附加地或者备选地,由图4中的安全模式 122(2)表示的缓冲模式可以促使和/或使得安全代理120能够结合 在线通信会话来缓冲和/或保持在网络设备206处遇到的某些分组, 直到完全检查完成。该缓冲模式还可以促使和/或使得安全代理120 能够重新装配某些分组以促进安全检查。该缓冲模式可以进一步促 使和/或使得安全代理120能够在安全检查完成时传输分组。

为了促进用于安全检查的缓冲,安全代理120可以向提供被检 查的通信流的计算设备发送确认。例如,安全代理120可以向计算 设备202(N)发送确认。在该示例中,该确认可以提示计算设备202 (N)经由通信流向安全代理120发送附加的数据。附加地或者备选 地,安全代理120可以发起促进安全检查所必要的一个或多个其他 功能。

在一个示例中,在某些上下文中,安全模式122(2)可以表示 用于UTM应用程序和/或反病毒应用程序的最有效的安全模式。例 如,在应用程序208(1)表示和/或包括需要被缓冲的(但是不被修 改的)用于安全检查的通信流的UTM应用程序和/或反病毒应用程 序的情况下,确定模块108可以确定安全模式122(2)是满足应用 程序208(1)的需要的最有效的安全模式。在该示例中,安全模式 122(2)可以促使和/或使得安全代理120能够完全地缓冲用于安全 检查的一定数量的分组。

安全模式122(2)还可以促使和/或使得安全代理120能够在已 检查的分组传输之后恢复到安全模式122(1)(例如,通过模式)。 因此,安全模式122(2)可以为临时模式。

如图4中所图示的,安全模式122(3)可以表示重写模式(在 该示例中,“重写模式,其促使和/或使得安全代理120能够临时地 修改在计算设备202(1)-(N)之间传送的通信流的内容”)。在 一个示例中,由图5中的安全模式122(3)表示的重写模式可以促 使和/或使得安全代理120能够修改通信流的内容,并且然后在修改 完成时关闭在线通信会话。附加地或者备选地,即使在修改完成之 后,该重写模式可以促使和/或使得安全代理120能够修改通信流的 内容,并且然后继续促进在线通信会话。该重写模式可以进一步地 促使和/或使得安全代理120能够重写分组数序列、在重写期间更新 校验和、和/或改变内容。

在一个示例中,在某些上下文中,安全模式122(3)可以表示 用于UTM应用程序和/或反病毒应用程序的最有效的安全模式。例 如,在应用程序208(1)表示和/或包括在被缓冲的用于安全检查的 通信流中检测恶意的有效载荷的UTM应用程序和/或反病毒应用程 序的情况下,确定模块108可以确定安全模式122(3)是满足应用 程序208(1)的需要的最有效的安全模式。在该示例中,安全模式 122(3)可以促使和/或使得安全代理120能够通过移除和/或阻止在 通信流中检测到的恶意的有效载荷的递送来修改通信流的内容。安 全模式122(3)可以进一步地促使和/或使得安全代理120能够在移 除和/或阻止恶意的有效载荷的递送时,关闭在线通信会话。

在另一个示例中,在某些上下文中,安全模式122(3)可以表 示用于ALG的最有效的安全模式。例如,在应用程序208(1)表示 和/或包括需要在安全检查期间被修改的通信流中所标识的报头的内 容和/或有效载荷的ALG的情况下,确定模块108可以确定安全模式 122(3)是满足应用程序208(1)的需要的最有效的安全模式。在 该示例中,安全模式122(3)可以促使和/或使得安全代理120能够 修改在通信流中所标识的缓冲区、校验和、和/或分组数序列。安全 模式122(3)可以进一步地促使和/或使得安全代理120能够在修改 完成时传输分组。

安全模式122(3)还可以促使和/或使得安全代理120能够在经 修改的分组传输之后恢复到安全模式122(1)(例如,通过模式) 和/或安全模式122(2)(例如,缓冲模式)。因此,安全模式122 (3)可以为临时模式。

如图4中所图示的,安全模式122(4)可以表示完全代理模式 (在该示例中,“完全代理模式,其促使和/或使得安全代理120能 够基本上连续地修改在计算设备202(1)-(N)之间传送的通信流 的内容”)。在该具体示例中,由图5中的安全模式122(4)表示 的完全代理模式可以促使和/或使得安全代理120能够在安全检查期 间,结合在线通信会话来修改在网络设备206处遇到的所有的分组。

在一个示例中,在某些上下文中,安全模式122(4)可以表示 用于SSL代理的最有效的安全模式。例如,在应用程序208(1)表 示和/或包括SSL转发代理的情况下,确定模块108可以确定安全模 式122(4)是满足应用程序208(1)的需要的最有效的(以及潜在 地唯一的)安全模式。在该示例中,安全模式122(4)可以促使和/ 或使得安全代理120能够修改在通信流中所标识的缓冲区、校验和、 和/或分组数序列。安全模式122(4)可以进一步地促使和/或使得安 全代理120能够在修改完成时传输分组。然而,不同于安全模式122 (3),安全模式122(4)可以促使和/或使得安全代理120能够坚 持安全模式122(4),而不在经修改的分组传输之后恢复到安全模 式122(1)(例如,通过模式)。因此,安全模式122(4)可以表 示和/或包括完全的TCP代理。

在一些示例中,确定模块108可以至少部分地基于多个应用程 序208(1)-(N)和/或通过监视通信流来确定用于安全代理120的 安全模式。例如,在所有的应用程序208(1)-(N)在在线通信会 话中涉及的情况下,确定模块108可以确定安全模式122(1)-(N) 中的哪一个安全模式是满足所有的应用程序208(1)-(N)的需要 的最有效的安全模式。在该示例中,确定模块108可以确定安全模 式122(1)是满足所有的应用程序208(1)-(N)的需要的最有效 的安全模式。

如图3中所图示的,在步骤308处,本文所描述的系统中的一 个或多个系统可以根据所确定的安全模式来配置安全代理以检查在 线通信会话。例如,作为图2中的网络设备206的一部分的配置模 块110可以根据安全模式122(1)来配置安全代理120以检查在线 通信会话。换句话说,配置模块110可以将安全模式122(1)施加 到安全代理120,以使得安全模式122(1)控制由安全代理120在 在线通信会话上执行的安全检查。

本文所描述的系统可以以各种方式执行步骤308。在一个示例 中,在正在进行的在线通信会话期间,配置模块可以配置安全代理 120。例如,配置模块110可以配置安全代理120,以在当前正在由 与在线通信会话有关的应用程序208(1)处理的通信流上执行安全 检查。附加地或者备选地,配置模块110可以修改安全代理120的 配置,以调整和/或优化在由与在线通信会话有关的应用程序208(1) 处理的通信流上所执行的安全检查。

在一个示例中,配置模块110可以在新建立的在线通信会话的 开始处配置安全代理120。例如,配置模块110可以配置安全代理 120,以在要由与在线通信会话有关的应用程序208(1)处理的新的 和/或即将发生的通信流上执行安全检查。附加地或者备选地,配置 模块110可以修改安全代理120的配置,以调整和/或优化要在由与 在线通信会话有关的应用程序208(1)处理的通信流上执行的即将 发生的安全检查。

在该配置完成时,网络设备206可以根据安全模式122来使用 安全代理120,以在在线通信会话所涉及的通信流上执行安全检查。 例如,安全代理120可以根据图4中的安全模式122(2)来检查在 网络设备206处遇到的、与在线通信会话有关的某些分组。附加地 或者备选地,安全代理120可以根据图5中的安全模式122(3)来 检查在网络设备206处遇到的、与在线通信会话有关的某些分组。

在某些示例中,在计算设备202(1)与计算设备202(N)之间 建立的在线通信会话的寿命期间,安全代理120可以一次或者多次 选择和/或改变安全模式。换句话说,在在线通信会话的整个寿命中, 安全代理120可以继续确定和/或重新配置最有效的安全模式,这取 决于在线通信会话所涉及的一个或者多个应用程序208(1)-(N) 的行为。这个过程可以继续直到在线通信会话的终止和/或直到安全 代理120不再需要容纳应用程序208(1)-(N)中的任何一个应用 程序。

如上面结合图3中的方法300所解释的,多态安全代理可以根 据最有效的安全模式来检查在线通信会话。例如,多台安全代理可 以标识在服务器与客户端之间建立的TCP会话上执行安全检查的反 病毒应用程序。在该示例中,多态安全代理可以至少部分地基于反 病毒应用程序来确定缓冲模式是针对TCP会话的最有效的安全模 式。换句话说,由于缓冲模式在满足反病毒应用程序的需要的同时 引起最低水平的资源消耗,所以多态安全代理可以选择缓冲模式。

多态安全代理然后可以将缓冲模式施加到TCP会话中。通过以 这种方式将缓冲模式施加到TCP会话中,多态安全代理可以导致与 安全检查有关的消耗的时间和/或网络资源的数量上的减少。例如, 所选的安全模式可以促使和/或使得多态安全代理能够在TCP会话上 执行安全检查,以使得服务器和/或客户端仿真器既不需要保存某些 分组、定时器和/或确认,也不需要执行某些重传以促进安全检查。

图6是能够实现本文所描述和/或所图示的一个或多个实施例、 和/或用于结合本文所描述和/或所图示实施例中的一个或多个实施 例的示例性计算装置600的框图。在一些实施例中,装置600的所 有或者一部分可以单独地或者与其他元件结合地执行结合图3所描 述的步骤中的一个或多个步骤,和/或可以是用于单独地或者与其他 元件结合地执行结合图3所描述的步骤中的一个或多个步骤的装置。 装置600的所有或者一部分还可以执行本文所描述的和/或所图示的 任何其他步骤、方法或者过程,和/或还可以是用于执行和/或实现本 文所描述的和/或所图示的任何其他步骤、方法或者过程的装置。

装置600广泛地表示任何类型或者形式的电力负载,包括能够 执行计算机可读指令的单处理器或者多处理器计算设备或者系统。 装置600的示例包括但不限于:网络交换机、网络路由器(例如, 骨干路由器、边缘路由器、核心路由器、移动服务路由器、宽带路 由器等)、网络设备(例如,网络安全设备、网络控制设备、网络 定时设备、SSLVPN(安全套接层虚拟专用网)设备等)、网络控 制器、网关(例如,服务网关、移动分组网关、多路接入网关、安 全网关等)、工作站、膝上型计算机、客户端侧终端、服务器、分 布式计算系统、移动设备、相同的一个或者多个的组合或者任何其 他类型或者形式的设备或者装置。

装置600可以被编程为、被配置为和/或另外被设计为遵守一个 或多个网络协议。根据某些实施例,装置600可以被设计为与OSI 参考模型的一个或多个层的协议配合工作,诸如物理层协议、链路 层协议、物理层协议、传输层协议、会话层协议、表示层协议和/或 应用层协议。例如,装置600可以包括网络设备,其被配置为按照 通用串行总线(USB)协议、电气与电子工程师协会(IEEE)1394 协议、以太网协议、T1协议、同步光学网络(SONET)协议、同步 数字体系(SDH)协议、综合服务数字网(ISDN)协议、异步传输 模式(ATM)协议、点对点协议(PPP)、以太网上的点对点协议 (PPPoE)、ATM上的点对点协议(PPPoA)、蓝牙协议、IEEE802.XX 协议、帧中继协议、令牌环协议、生成树协议和/或任何其他合适的 协议。

装置600可以包括各种网络和/或计算组件。例如,装置600可 以包括至少一个处理器614和系统存储器616。在该示例中,系统存 储器616可以被编程为具有安全代理120。处理器614通常表示能够 处理数据或者解释并且执行指令的任何类型或者形式的处理单元。 例如,处理器614可以表示专用集成电路(ASIC)、片上系统(例 如,网络处理器)、硬件计算器、通用处理器和/或任何其他合适的 处理元素。

处理器614可以根据上面所讨论的网络协议中的一个或者多个 协议来处理数据。例如,处理器614可以执行或者实现一部分协议 栈、可以处理分组、可以执行存储器操作(例如,排列分组以供后 续处理)、可以执行终端用户应用程序和/或可以执行任何其他处理 任务。

系统存储器616通常表示能够存储数据和/或其他计算机可读指 令的任何类型或者形式的易失性存储设备或者非易失性存储设备或 者介质。系统存储器616的示例包括但不限于:随机访问存储器 (RAM)、只读存储器(ROM)、闪速存储器或任何其他合适的存 储器设备。尽管不是必要的,在某些实施例中,装置600可以既包 括易失性存储单元(诸如举例而言,系统存储器616)又包括非易失 性存储设备(诸如举例而言,如下面将详细描述的主存储设备632)。 系统存储器616可以在网络设备中被实现为共享的存储器和/或分布 式存储器。进一步地,系统存储器616可以存储分组和/或联网操作 中所使用的其他信息。

在某些实施例中,示例性装置600还可以包括除了处理器614 和系统存储器616之外的一个或多个组件或者元素。例如,如图6 中所图示的,装置600可以包括存储器控制器618、输入/输出(I/O) 控制器620以及通信接口622,存储器控制器618、输入/输出(I/O) 控制器620以及通信接口622中的每个可以经由通信基础设施612 互联。通信基础设施612通常表示任何类型或者形式的能够促进计 算设备的一个或多个组件之间通信的基础设施。通信基础设施612 的示例包括但不限于:通信总线(诸如,串行ATA(SATA)、工业 标准架构(ISA)、外围组件互联(PCI)、PCIExpress(PCIe)和/ 或任何其他合适的总线)以及网络。

存储器控制器618通常表示能够处理存储器或者数据或者控制 在装置600的一个或者多个组件之间的通信的任何类型或者形式的 设备。例如,在某些实施例中,存储器控制器618可以经由通信基 础设施来控制在处理器614、系统存储器616与I/O控制器620之间 的通信。在一些实施例中,存储器控制器618可以包括可以向链路 适配器或者从链路适配器传送数据(例如,分组)的直接存储器访 问(DMA)单元。

I/O控制器620通常表示能够协调和/或控制计算设备的输入和 输出功能的任何类型或者形式的模块。例如,在某些实施例中,I/O 控制器620可以控制或者促进在装置600的一个或者多个元素(诸 如,处理器614、系统存储器616、通信接口622以及存储接口630) 之间的数据的传送。

通信接口622广泛地表示能够促进示例性装置600与一个或多 个附加的装置之间的通信的任何类型或者形式的通信设备或者适配 器。例如,在某些实施例中,通信接口622促进装置600与包括附 加装置的专用网络或者公共网络之间的通信。通信接口622的示例 包括但不限于:链路适配器、有线网络接口(诸如网络接口卡)、 无线网络接口(诸如无线网络接口卡)以及任何其他合适的接口。 在至少一个实施例中,通信接口622可以经由到网络(诸如因特网) 的直接链路来提供到远程服务器的直接连接。通信接口622还可以 通过例如局域网(诸如以太网)、个人区域网络、广域网、专用网 络(例如,虚拟专用网络)、电话或者电缆网络、蜂窝电话连接、 卫星数据连接或者任何其他合适的连接来间接地提供这样的连接。

在某些实施例中,通信接口622还可以表示被配置为经由外部 总线或者通信通道来促进装置600与一个或多个附加的网络或者存 储设备之间的通信的主机适配器。主机适配器的示例包括但不限于: 小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB) 主机适配器、IEEE1394主机适配器、高级技术附件(ATA)、并行 ATA(PATA)、串行ATA(SATA)以及外部SATA(eSATA)主 机适配器、光纤通道接口适配器、以太网适配器等。通信接口622 还可以使得装置600能够从事于分布式或者远程计算。例如,通信 接口622可以从远程设备接收用于执行的指令或者向远程设备发送 用于执行的指令。

如图6中所图示的,示例性装置600还可以包括耦合到通信基 础设施612的存储设备634。存储设备634通常表示能够存储数据和 /或其他计算机可读指令的任何类型或者形式的存储设备或者介质。 例如,存储设备634可以表示磁盘驱动器(例如,被称为硬盘驱动 器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存 驱动器等。

在某些实施例中,存储设备634可以被配置为从可移动存储单 元读取和/或向可移动存储单元写入,该可移动存储单元被配置为存 储计算机软件、数据或者其他计算机可读信息。合适的可移动存储 单元的示例包括但不限于:软盘、磁带、光盘、闪速存储器设备等。 存储设备634还可以包括用于允许计算机软件、数据或者其他计算 机可读指令被载入装置600的其他类似的结构或者设备。例如,存 储设备634可以被配置为读取和写入软件、数据或者其他计算机可 读信息。存储设备634可以为装置600的一部分或者可以为通过其 他接口系统访问的单独的设备。

许多其他的设备或者子系统也可以被连接到装置600。相反地, 图6中所图示的组件和设备不需要全部被呈现以实践本文所描述的 和/或所图示的实施例。上面所引用的设备和子系统还可以以不同于 图6中所示出的那些方式进行互联。装置600还可以采用任何数量 的软件、固件和/或硬件配置。例如,本文所公开的示例性实施例的 一个或多个示例性实施例可以被编码为在计算机可读介质中的计算 机程序(还被称为计算机软件、计算机应用程序、计算机可读指令 或者计算机控制逻辑)。如本文所使用的术语“计算机可读介质” 通常是指能够存储或者承载计算机可读指令的任何形式的设备、载 体或者介质。计算机可读介质的示例包括但不限于:传输型介质(诸 如载波)以及非瞬态型介质(诸如磁存储介质(例如,硬盘驱动器 和软盘)、光存储介质(例如,紧密型磁盘(CD)和数字视频磁盘 (DVD))、电子存储介质(例如,固态驱动器和闪存介质))以 及其他分布式系统。

虽然前述公开内容使用具体的框图、流程图以及示例来阐述了 各种实施例,但是本文所描述的和/或所图示的每个框图组件、流程 图步骤、操作和/或组件可以使用大范围的硬件、软件或者固件(或 者其任何组合)配置来单独地和/或共同地被实现。此外,由于许多 其他架构可以被实现以获得相同的功能,因此其他组件内所包含的 组件的任何公开应该被认为本质上是示例性的。

在一些实施例中,图1中的系统100的所有或者一部分可以表 示云计算或者基于网络的环境的部分。云计算和基于网络的环境可 以经由因特网提供各种服务和应用程序。这些云计算和基于网络的 服务(例如,软件即服务、平台即服务、基础设施即服务等)可以 通过浏览器或者其他远程接口被访问。本文所描述的各种功能还可 以提供网络交换能力、网关访问能力、网络安全能力、内容高速缓 存和用于网络的递送服务、网络控制服务和/或其他联网功能。

此外,本文所描述的模块中的一个或多个模块可以将数据、物 理设备和/或物理设备的表示从一个形式转换到另一个形式。例如, 本文所列举的模块中的一个或多个模块可以转换安全代理的配置, 输出并且使用转换的结果以检查在线通信会话,以及存储转换的结 果以在将来促进附加的检查。附加地或者备选地,本文所列举的模 块中的一个或多个模块通过在计算设备上执行、在计算设备上存储 数据和/或另外与计算设备进行交互,可以将处理器、易失性存储器、 非易失性存储器和/或物理计算设备的任何其他部分从一个形式转换 到另一个形式。

本文所描述的和/或所图示的过程参数和步骤的序列仅以示例的 方式被给出并且可以按照需要而改变。例如,虽然可以以特定的顺 序示出或者讨论本文所图示的和/或所描述的步骤,但是未必需要以 所示出的或者所讨论的顺序来执行这些步骤。本文所描述的和/或所 图示各种示例性方法也可以省略本文所描述的和/或所图示的步骤中 的一个或多个步骤或者包括除了那些公开的步骤之外的附加的步 骤。

已经提供前面的描述以使得本领域的技术人员能够最好地利用 本文所公开的示例性实施例的各个方面。该示例性描述并不旨在穷 举或限于所公开的任何精确形式。在不背离本公开内容的精神和范 围的情况下,可以进行许多修改和变化。本文所公开的实施例在所 有方面都应当被认为是图示性的而不是限制性的。在确定本公开内 容的范围方面应当参考所附的权利要求以及它们的等效物。

除非另有注释,如在说明书和权利要求中所使用的术语“连接 到”和“耦合到”(以及它们的衍生物)可以被解释为允许直接连 接和间接(即,经由其他元素或者组件)连接二者。此外,如在说 明书和权利要求中所使用的术语“一个”或者“一”可以被解释为 意为“至少一个”。最后,为了便于使用,如在说明书和权利要求 中所使用的术语“包括”和“具有”(以及它们的衍生物)可与词 语“包含”互换并且具有与词语“包含”相同的含义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号