一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于网络安全应用的高效加密SNI过滤的方法和系统与流程

2022-02-25 20:25:32 来源:中国专利 TAG:

用于网络安全应用的高效加密sni过滤的方法和系统
技术领域
1.本文描述的方面总体涉及计算机硬件和软件以及网络安全性。具体地,本公开的一个或更多个方面总体涉及用于传输层安全(tls)握手消息的高效分组过滤(packet filtering)的计算机硬件和软件,该tls握手消息包含密文,该密文对应于与网络安全应用有关并且更一般地与网络通信策略执行应用有关的服务器名称指示(sni)(例如,加密的sni(esni))值。


背景技术:

2.随着信息时代的不断发展,网络安全变得越来越重要。网络威胁/攻击可能采取多种形式(例如,未经授权的请求或数据传输、病毒、恶意软件、旨在淹没资源(例如,ddos)的大量流量等)。许多这些威胁使用互联网访问和攻击企业计算机资源和/或资产。例如,企业主机,诸如台式计算机、移动设备、预置或云企业应用服务器、面向公众的网络服务器(web server)等,可能被直接连接(例如,附接)到由企业(诸如商业企业、政府、民族国家等)拥有和/或运营和管理的专用网络(例如,tcp/ip网络)。这些企业网络又直接连接到互联网,使得企业的主机可以例如访问其他公开寻址的互联网附接主机(例如,面向公众的网络服务器、应用服务器等)。然而,在一些情况下,企业主机可能正在访问恶意性的互联网附接主机或互联网主机,例如,当企业主机的操作员/用户已在社交引擎上点击了与恶意互联网主机通信的网络钓鱼电子邮件链接时。在其他情况下,企业主机可能会违反企业的网络通信策略与互联网主机进行通信。
3.企业可能会尝试保护其网络免受恶意主体的侵害,或以其他方式执行网络通信策略,例如,通过在企业网络和互联网之间的边界(例如,在一个或更多个互联网访问链接处或附近)安装网络分组过滤设备,该设备可以检查跨边界的主机到主机通信(以传输中l2/l3分组的形式)。这些分组过滤设备可以确定通信本质上是否是恶意的,或者是否在其他方面违反了企业通信策略。如果是,则执行保护企业网络免受威胁或扰乱的策略(例如,通过丢弃相关联的ip分组来阻止通信)。企业还可以使用此类网络设备,例如,通过控制和/或监视对某些互联网主机的访问来执行企业的通信策略。执行此类策略的一种方法可以是让网络分组过滤设备检查或过滤通信的与策略中的分组过滤规则相关联的传输中分组(in-transit packets),该传输中分组用于域名(例如,完全合格域名(fqdn))实例,诸如恶意广告软件站点网。如果发现分组和规则之间匹配,则网络分组过滤设备可以丢弃该分组。用于传输和调解许多网络、电子商务、社交媒体等通信的流行的http协议通常在http消息中包含这样的互联网主机域名。过滤针对包含在http消息中的域名的传输中分组是一种策略执行技术。类似地,其他应用层协议(例如,dns、smtp、sip等)可包括可在策略执行期间使用的域名。企业通信策略还可以包括隐私保护和保持(privacy protection&preservation,p3)策略,这些策略可以由企业自己定义,或者由例如对企业拥有监管或合规权限的外部实体(例如,hipaa、pci dss等)定义。企业通信策略还可以包括对执法(le)应用的支持,例如合法拦截。
4.传输中网络流量可以通过加密来保护,例如,使用传输层安全(tls)协议。可以首先使用tls握手协议在通过网络(例如,tcp/ip网络)连接的两个主机之间建立安全的加密连接或隧道(tunnel)。tls记录协议可用于安全地传输应用层数据,包括通过隧道的通信。当http会话由tls保护时,该组合被标记为“https”,通常被认为是http的扩展。传输中https分组的应用层包含加密的http消息(其被封装在tls记录协议分组中)。观察者无法读取传输中https分组中所包含的明文http消息以及任何域名。这可以保护http会话免受可能正在窃听的恶意主体的攻击,但也可能妨碍非恶意/合法的分组过滤设备和相关的应用读取http消息中所包含的任何域名。这可能会妨碍企业执行其通信策略和保护其网络。
5.然而,tls握手协议clienthello消息可能包含与clienthello消息的服务器名称指示(sni)扩展(rfc 6066)中要保护/加密的应用(例如,http)会话相关的(明文)域名或主机名。企业分组过滤设备和相关联的应用以及窃听者可以通过检查传输中分组中所包含的clienthello消息的明文sni字段,继续读取与tls安全会话(tls-secured session)相关联的域名并可能对其采取行动。然而,为了进一步保护tls,正在开发对tls的一种或多种扩展,以支持在传输过程中对sni值进行加密。技术人员通常会将这种扩展和相关技术理解为“esni”。esni的主要目的是降低恶意主体窃听域名的风险。但是,当使用esni时,通过读取传输中分组的sni扩展中所包含的明文域名并可能对其采取行动来保护其网络并执行其通信策略的企业便无法再这样做,因为域名是加密的。
6.因此,当企业主机在建立tls安全通信时使用esni时,企业需要一种使用明文(cleartext/plaintext)域名来保护其网络并执行通信策略的方法。


技术实现要素:

7.以下给出了简要概述,以便提供对本公开的一些方面的基本理解。其既不旨在确认本公开的关键或重要要素,也不旨在划定本公开的范围。以下概述仅以简化形式给出本公开的一些构思,作为以下描述的序言。
8.本文公开的方法、设备、系统和/或计算机可读介质描述了例如在传输中分组中所包含的域名被加密的一些情况下(例如,tls握手协议消息中的加密服务器名称指示(esni)扩展、加密的tls协议消息等),保护企业网络免受威胁(例如,互联网威胁)并执行企业通信策略。网络安全应用可以检测在一个或更多个分组中的加密主机名。基于检测到加密主机名(例如,域名),网络安全应用可以解析与加密主机名对应的明文主机名(例如,域名)。网络安全应用可以使用明文主机名(plaintext hostname)来确定明文主机名是否与任何通信策略相关联。例如,保护网络免受报告(例如,网络威胁情报报告)中识别的威胁的网络安全应用可以使用明文主机名来确定明文主机名是否与一个或更多个威胁指标(indicator)相关联。当明文主机名与一个或更多个威胁指标相关联时,网络安全应用可以对一个或更多个分组应用一个或更多个分组过滤规则。通过从加密主机名解析明文主机名,网络安全应用可以例如保护企业网络免受威胁(例如,互联网威胁)和隐私泄露(诸如恶意窃听),执行企业通信策略和/或协助执法。
9.上述过程有许多可能的变体,其中一些在下面的具体实施方式部分中详细说明。
附图说明
10.本公开以示例的方式进行描述并且不受附图的限制,在附图中相同的附图标记表示相似的元件,并且其中:
11.图1示出了根据本公开的一个或更多个方面的用于tls安全通信和相关联的企业网络的威胁防护和策略执行系统的例示性环境。
12.图2示出了根据本公开的一个或更多个方面的用于执行网络安全应用的例示性高效esni分组过滤网关。
13.图3示出了网络安全应用用来确定esni密文和明文域名之间的对应关系的代表性esni域名对应关系列表(esni domain name correspondence list,edcl)。
14.图4a和图4b示出了用于创建、分发和维护edcl的示例性过程的流程图。
15.图5示出了用于创建、分发和维护由源自cti数据库的分组过滤规则构成的策略的示例性过程的流程图。
16.图6示出了用于创建、分发和维护dns-esni集合数据结构的示例性过程的流程图,该dns-esni集合数据结构包含作为支持esni的dns注册域名的元素。
17.图7示出了用于创建、分发和维护edcl、cti衍生策略和dns-esni集合数据结构的示例性过程的流程图。
18.图8a和图8b示出了根据本文所述的一个或更多个示例的用于配置和操作高效esni网关的方法。
19.图9示出了根据本文所述的一个或更多个方面的用于配置和操作高效esni网关的方法。
20.图10示出了根据本文所述的一个或更多个示例的用于配置和操作高效esni网关的方法。
21.图11示出了用于确定加密网络流量是否与一个或更多个威胁相关联的过程的示例。
22.图12示出了根据本文所述的一个或更多个示例的用于执行使用加密主机名的策略的过程的示例。
23.图13示出了根据本文所述的一个或更多个示例的用于存储分组的方法的示例。
具体实施方式
24.在各种例示性实施例的以下描述中,参考了附图,这些附图形成了本说明书的一部分,并且在附图中通过例示说明的方式示出了可以实践本公开各方面的各种实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例,并且可以进行结构和功能上的修改。此外,参考了其中可以实践本公开各方面的特定应用、协议和实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他应用、协议和实施例,并且可以进行结构和功能上的修改。
25.在以下描述中讨论了元件之间的各种连接。这些连接是一般性的,并且除非另外指明,否则其可以是直接或间接的、有线或无线的、物理或逻辑的(虚拟/软件定义)。类似地,网络元件,诸如主机和设备,可以是物理的或虚拟的。就这一点而言,本说明书并非旨在进行限制。
26.本公开描述了用于网络安全应用的技术,该技术在构成tls安全通信的传输中分组中包含的域名可以被加密时作用于该域名。一些网络的网络安全应用执行由分组过滤规则组成的tcp/ip通信策略,这些规则包括作为规则匹配标准的明文域名。如果传输中分组中包含的域名被加密,例如,tls clienthello消息中加密的服务器名称指示(sni)扩展字段值,则无法执行这些策略。附加地或替代地,网络安全应用可以选择性地执行加密的sni使用,例如,以阻止与明文域名相关联的窃听。
27.在整个本说明书中,术语“域名”可以与由域名标识的网络域互换使用。上下文决定“域名”是指域的实际名称或身份,还是“域名”是指域本身。本领域技术人员将理解该术语的可互换性。而且,“域名”可以与主机名、完全合格域名(fqdn)等互换使用,其确切含义由上下文定义。例如,在传输中l2/l3分组的结构化字段中观察到的域名可以是fqdn。类似地,作为cti指标的域名也可以是fqdn。
28.如本文所使用的,加密的服务器名称指示(“esni”)通常可以指与加密的sni相关联的技术和逻辑,而不是指特定的协议、具体实施或标准。进一步地,“esni密文”通常可以指与在两方或更多方之间建立安全通信信道相关联的消息(例如,tls clienthello消息)的一个或更多个加密部分(例如,字段、值等)。一个或更多个加密部分可以包括sni值以及消息(例如,clienthello消息)的其他部分,包括例如整个消息(例如,clienthello消息)。申请人认识到esni协议目前正在由互联网工程任务组(ietf)开发,消息的哪些部分将被加密尚未最终确定和/或被归类为标准的一部分。本领域普通技术人员将认识到,本文所述的过程、方法、技术、设备、装置和/或系统可应用于在包含加密服务器名称指示(esni)的通信中检测威胁(例如,互联网威胁)、保护企业网络、减轻隐私泄露、执行企业通信策略,和/或协助执法,无论此类通信的哪些部分是加密的。
29.本公开的各方面涉及用于例如在通信的传输中分组中包含的域名被加密的情况下,保护企业网络免受互联网威胁并执行企业通信策略的方法、设备、系统和/或计算机可读介质。在线操作(operating in-line)的应用(诸如网络安全应用)和/或传输中分组过滤设备可以检测何时使用esni来加密域名。基于检测到esni的使用,应用和/或传输中分组过滤设备可以确定与esni密文对应的明文域名并执行与明文域名相关联的通信策略。
30.本公开的各方面还可以描述用于例如在通信中所包含的域名未被加密的情况下,保护企业网络免受威胁(诸如恶意窃听)和执行企业通信策略的方法、设备、系统和/或计算机可读介质。在线操作的网络安全应用和/或传输中分组过滤设备可以检测何时未使用esni来加密域名。网络安全应用和/或传输中分组过滤设备可以确定相关域是否支持esni。如果支持esni,则在线操作的网络安全应用和/或传输中分组过滤设备可以执行与传输明文域名相关联的通信策略,例如,通过使通信使用esni(如果可用)来执行。
31.与互联网威胁相关联的通信的识别可以利用可从许多网络威胁情报(cti)提供方组织获得的cti报告的数据库。这些cti报告可以包括指标或威胁指标或损害指标(indicators-of-compromise,ioc),它们是与恶意活动相关联的互联网主机或互联网主机资源(例如,服务、应用实例等)的唯一标识符。cti指标可以包括资源的互联网网络地址——采用ip地址、5元组(指定l3主机ip地址、l4端口和/或相关的l3协议类型的主机/资源标识符)、主机名/域名、uri等等形式——该资源可能被威胁主体控制和/或操作,或者可能以其他方式与恶意活动相关联。cti指标还可以包括用于保护某些tcp/ip通信的证书和
相关证书认证机构的标识符(例如,tls协议用来保护http中介会话安全的x.509证书)。除了威胁指标之外,cti报告还可以包括与威胁相关的附加信息,诸如威胁类型、威胁归因和威胁主体、特征行为、攻击目标、地理和地缘政治信息等。
32.本公开可以描述用于从在cti中接收到的域名指标导出分组过滤规则的方法、设备、系统和/或计算机可读介质。本公开还可以描述用于对包括tls安全通信(例如,https通信)的分组执行导出的分组过滤规则的方法、设备、系统和/或计算机可读介质。就这一点而言,企业可以通过订阅网络威胁情报提供方(ctip)来接收cti指标。企业可以创建由cti指标导出的分组过滤规则构成的策略,使用这些策略配置分组过滤设备,以及通过对跨越网络边界的传输中分组执行策略来保护其企业网络免受互联网威胁。
33.在tls安全通信中使用esni加密域名可以通过通信主机和互联网域名系统(dns)的共同参与来实现。也就是说,第一主机(例如,http客户端,诸如在企业主机上执行的web浏览器应用)和第二主机(例如,互联网附接的http服务器,诸如托管名为www.web-domain-x.com的域的web应用服务器)可以支持esni以在两个主机之间建立tls安全通信。第二主机(例如,网络服务器)可以在其相关联的dns条目(例如,www.web-domain-x.com)中发布公钥。客户端可以使用公钥对例如sni扩展中所包含的域名(例如,www.web-domain-x.com)和其他信息(例如,clienthello消息、clienthello消息中的数据和/信息等)进行加密。在与第二主机(例如,www.web-domain-x.com)通信之前,第一主机(例如,http客户端)可以向dns发出查询以获取(例如,检索、解析)ip地址(例如,www.web-domain-x.com的12.34.56.78)和第二主机的esni公钥。第一主机(例如,http客户端)可以建立到12.34.56.78的公知端口(例如,端口443(https))的tcp连接。第一主机可以使用公钥来加密sni扩展中所包含的fqdn(例如,www.web-domain-x.com)。在一些示例中,除了fqdn之外,公钥还可以用于加密其他数据,诸如clienthello消息和/或其中所包含的数据和信息。在使用公钥对fqdn和任何附加数据进行加密后,第一主机可以将所得esni密文插入到通信中,诸如clienthello消息中。通信(例如,clienthello消息)可以封装在目的地端口为443的tcp分组中。tcp分组可以封装在目的地ip地址为12.34.56.78的ip分组中。ip分组可以经由连接(例如,tcp连接)发送(例如,传送)到第二主机(例如,网络服务器)。在接收到clienthello消息后,第二主机(例如,网络服务器)可以使用与公钥相关联的私钥(例如,密钥)来解密密文,以获得(例如,确定)第一主机(例如,网络浏览器(web browser))想要与之通信的第二主机(例如,域)的明文域(例如,www.web-domain-x.com)。
34.操作分组过滤设备的应用可以通过将传输中分组(例如,包含clienthello消息)的l3目的地ip地址与esni相关信息相关联,从esni密文中导出(例如,确定)明文域名。例如,操作分组过滤设备的网络安全应用可以将域名指标的网络威胁情报(cti)数据库与tcp/ip通信相关联,以识别潜在威胁通信和/或决定如何处理识别出的潜在威胁通信(例如,阻止/丢弃或允许/转发通信)。cti数据库可以包含多个(a plurality of)域名,并且cti数据库的内容可以是动态的。也就是说,可以将新条目(例如,域名和任何相关信息)添加到cti数据库,并且可以从cti数据库中不断地删除现有条目。本公开描述了在计算上可以是高效的分组过滤技术,使得传输中分组不会因为缓冲区溢出而被丢弃并且网络安全不会因滞后而受到损害。本文所述的应用和/或在线分组过滤设备可以在逐个分组的基础上过滤传输中l2/l3分组。也就是说,l2/l3透明设备按到达顺序(例如,fifo排队)对每个传输
中分组进行过滤或应用分组过滤规则,并确定每个分组的处置/操作(例如,阻止/丢弃、允许/转发等),然后再过滤下一个分组。应当理解,诸如clienthello消息之类的通信可以跨多个分组分段。如本文所述,逐个分组的处理可以应用于诸如clienthello消息之类的在多个分组上分段的通信。
35.esni域名对应关系列表(edcl)可以由域名的cti数据库生成。edcl可以是数据结构。数据结构可以是实现高效访问和/或修改的数据组织、管理和/或存储格式。数据结构可以是数据值、它们之间的关系和/或可以应用于数据的功能或操作的集合。在一些示例中,数据结构可以是包括标记为{ip-address,cti-esni-domain-names-list}的至少两(2)列的二维表,该表由ip地址唯一地索引。在其他示例中,数据结构可以是数据库。为了生成edcl,可以针对cti数据库中的每个域名(例如,完全合格域名(fqdn))查询dns。dns查询可以确定以下中的至少一项:域名的ip地址和关联域是否支持esni。确定域是否支持esni可以包括查询包括用于加密的esni公钥的资源记录。如果关联域支持esni,则可以通过将ip地址放在ip地址列中并将域名放在cti-esni-domain-names-list列中来创建和/或更新edcl中的条目(例如,行)。由于虚拟域技术,多个域名可能解析为同一个ip地址,因此可能有多个域名或域名列表与edcl中的每个ip地址相关联。出于示例性目的,对于这个概要示例,假设在cti-esni-domain-names-list中只有一个域名与edcl中的(唯一)ip地址相关联。为了快速处理传输中分组以避免缓冲区溢出和分组丢失并最小化分组传输延迟,可以将edcl组织为有效的数据结构,诸如哈希表,以支持由ip地址索引的快速搜索,用以检查edcl条目的存在,并返回与ip地址相关联的域名列表。
36.当(在线)分组过滤设备检查包含带有esni密文的clienthello消息的传输中分组时,分组过滤设备可以通过从l3分组中提取目的地ip地址并在edcl中搜索目的地ip地址来确定esni密文对应的明文域名。如果在edcl中找不到目的地ip地址,则网络安全应用逻辑可以决定允许(例如,转发)分组到其目的地,因为没有与该分组相关联的基于cti的威胁。如果在edcl中找到目的地ip地址,则相关联的域名可以是esni密文对应的明文域名。为了确定如何处理分组,网络安全应用可以搜索一个或更多个网络安全策略以获得具有对应于明文域名的分组匹配标准的规则,这些网络安全策略包括多个传输中分组过滤规则(其从cti数据库导出)。匹配规则可以指示分组处置(例如,允许/转发/传递或阻止/丢弃/拒绝)。匹配规则还可以指示对于分组的附加(网络保护)动作或分组转换功能(ptf),诸如记录、捕获、镜像/重定向、转发到代理、spoof-tcp-rst等。
37.多个域名可以与edcl中的单个ip地址相关联。例如,域托管服务通常在单个ip地址上托管多个域。这些许多域中的一些可以位于cti数据库或其他与网络安全相关的数据库中,诸如隐私保护数据库、执法数据库、公司使用策略数据库等。另外,这些域中的一些可以支持esni。esni密文对应的明文域名可能无法由edcl中相关联的ip地址明确确定。网络安全应用可以在若干不同的动作中进行选择,以消除明文域名的歧义和/或以其他方式减轻潜在威胁。这些动作可以基于增强的edcl信息、附加的高效数据结构、tls消息等。例如,网络安全应用可以:向客户端发送tcp rst,其断开tcp连接并终止tls握手会话;向客户端发送tls消息(例如,带有“握手失败”(代码40)警报的tls警报协议消息),其终止tls握手会话;向客户端发送tls消息,其使客户端使用不支持esni的tls版本(例如,tls v.1.2);向客户端发送tls消息,其使客户端发送明文sni而不是加密的sni;等等。
38.操作分组过滤设备的应用可以检查包含clienthello消息的传输中分组,确定正在使用esni,以及确定分组的l3目的地ip地址在edcl中。esni密文可以对应于感兴趣的(明文)域名,诸如包含在cti数据库中的域名。存在应用可以采取的若干动作来消除明文域名的歧义和/或以其他方式减轻威胁。例如,应用可以丢弃包含clienthello消息的分组和欺骗(透明地)代理clienthello消息的预期主机。
39.附加地或替代地,安全应用可以将clienthello消息转发到(透明的)中间tls中间人(mitm)代理功能。mitm代理功能可以解密tls安全应用会话,检查未加密形式(in the clear)的该会话,重新加密该会话,以及将该tls安全会话转发到其目的地。虽然mitm代理功能可能无法解密esni密文,但mitm代理功能可以检查(例如,调查)解密的应用会话并从会话内容中提取与esni密文对应的明文域名。例如,https会话可以由mitm代理功能解密以暴露明文http会话。就这一点而言,http方法请求,诸如get、post、put等,可以包含域名。安全应用可以从明文中提取明文域名,并通过分组过滤设备执行的任何策略来过滤明文域名。
40.在另一个示例中,安全应用可以操作或以其他方式访问系统dns-query-tracker,该系统dns-query-tracker可以用于消除与esni值对应的明文域名的歧义。dns-query-tracker系统可以监视源自企业主机的dns查询,这些企业主机也可以发起通过分组过滤设备的tls会话。dns-query-tracker系统可以将与支持esni的域名的任何dns查询相关联的数据记录存储在例如表(例如,哈希表)和/或数据库中。每个记录可以包括发起dns查询的主机的ip地址、域名、域名解析的ip地址和/或查询时间。dns-query-tracker系统可以提供到表和/或数据库的接口,该表和/或数据库通过函数调用来存储记录,该函数调用接受ip地址作为输入并返回对应于输入的ip地址的一个或更多个记录。在一些示例中,dns-query-tracker可以被配置为考虑使用加密的dns协议,诸如基于https的dns查询(doh)(例如,rfc 8484)和/或基于传输层安全的dns(dot)(例如,rfc 7858)。这些协议可以加密dns通信,诸如dns查询请求和/或回复。也就是说,配置可以使得dns-query-tracker系统可以访问doh和dot通信的明文(plaintext和/或cleartext)。
41.在启动与域名相关联的tls安全会话(例如,https通信)之前,企业主机可以发出dns查询以将域名解析为ip地址并获得(例如,检索、获取)域的公钥(例如,esni公钥)。如上所述,公钥可用于加密包含在clienthello消息中的域名和其他数据和/或信息。如果存在公钥(例如,esni公钥),则dns-query-tracker系统可以在其表和/或数据库中插入公钥(例如,esni公钥)的记录。分组过滤设备可以接收包括带有esni密文的clienthello消息的l3分组。在分组过滤设备上执行的安全应用可以从分组中提取目的地ip地址,并查询dns-query-tracker以获得由目的地ip地址索引的一个或更多个记录。查询可能是有时间限制的。也就是说,记录可能已经在接收l3分组的预定时间内被创建和/或更新。与clienthello消息时间相关和/或将原始主机ip地址与l3分组的源ip地址进行匹配的记录可包含与esni密文相关联的明文域名。安全应用可以通过分组过滤设备执行的任何策略来过滤明文域名。上述dns-query-tracking系统和方法可以与用于估计对应于esni密文的明文域名的基于edcl的系统和方法结合使用或作为其替代。
42.在一些情况下,edcl可以从可能与应用相关的域名数据库中生成。例如,数据库可以是域名的集合,执法部门(le)有权对该域名进行拦截、解密和存储相关通信会话(例如,
https会话)的明文以供合法拦截应用。由于执法部门可能无权拦截、解密和/或存储与该域名不相关联的会话,因此可以从合法拦截域名数据库生成edcl,以确定会话是否可能与合法拦截数据库中的明文域名相关联。如果会话与合法拦截数据库中的域名相关联,则应用可以采取适当的动作(例如,拦截、解密和存储相关通信的明文)。
43.在隐私保护和保持(p3)应用中,数据库可能是与加密通信会话(例如,https会话)相关联的域名集合,该加密通信会话不应被解密和存储以保护和保持隐私。当tls安全会话使用esni时,可以从域名的p3数据库生成edcl,以确定会话是否与p3数据库中的明文域名相关联。如果域名与p3数据库中的域名相关联,则应用可以采取适当的动作来确保会话不被解密和/或存储。
44.在一些示例中,企业可以寻求执行esni使用策略(usage policy),以减轻和/或防止恶意主体的窃听。esni使用策略执行可以与上述基于edcl的esni安全功能和/或基于dns-query-tracker的安全功能结合使用。除了访问edcl之外,应用还可以访问例如名为dns-esni的数据结构,该数据结构包括在dns中注册的、关联域支持esni的域名的一个或更多个元素。例如,操作分组过滤设备的应用可以检测具有不在cti数据库中但具有在dns-esni数据结构中的条目的sni值(例如(明文)域名)的clienthello消息。当域名可以作为密文发送时,它会以未加密形式发送。附加地或替代地,应用可以查询dns以解析域名并确定域是否支持esni。基于对查询的响应,应用可以确定域名是否是抽象或实际dns-esni数据结构的元素或成员。如果应用确定域支持esni,则应用可以丢弃包含clienthello消息(带有明文域名)的分组,欺骗/透明地代理clienthello消息正在发送到的主机,和/或向客户端发送tls消息以使客户端使用加密的sni而不是明文sni。
45.在一些示例中,企业可以寻求执行为tls会话实施esni的esni使用策略。也就是说,企业主机只能访问支持esni的域。操作分组过滤设备的应用可以通过以下方式执行这样的策略,例如,通过检测具有sni值(例如,明文域名,其不是dns-esni的元素)的clienthello消息并向客户端发送终止tls握手会话的tls消息和/或向客户端发送终止相关联的tcp会话的tcp rst消息。本文所述的过滤规则和/或执行策略可以应用在执行基于规则的网络威胁检测的系统中,例如,使用申请人在题为“用于加密通信的基于规则的网络威胁检测(rule-based network-threat detection for encrypted communications)”并于2015年12月23日提交的美国序列号14/757,638(现为美国专利号9,917,856)中公开的技术的系统,该专利申请的全部内容通过引用并入本文。
46.图1示出了用于网络安全应用的esni过滤的系统100。系统100可以包括网络a 102和网络b 104,它们可以通过一个或更多个提供互联网接入和/或互连的网络链路106连接。系统100还可包括一个或更多个主机。如本文所使用的,“主机”(或“多个主机”)是指连接到网络的任何类型的网络设备或节点或计算设备,具有分配给它们的网络接口的l3网络地址。一个或更多个主机可以是计算设备和/或网络设备,诸如服务器、台式计算机、膝上型计算机、平板计算机、移动设备、智能手机、路由器、网关、代理、防火墙、交换机、接入点等。在一些示例中,一些计算设备可能具有没有网络地址的网络接口,诸如psg/esni g/w 120。没有网络地址的计算设备可能不被视为主机。没有分配网络地址的网络接口可以被视为相对于网络级别(例如,l3和/或l2)是“透明的”。
47.网络a 102可以包括与一个或更多个个体和/或实体(例如,政府、公司、服务提供
方等)相关联的一个或更多个网络(例如,局域网(lan)、广域网(wan)、虚拟专用网网络(vpn)、软件定义网络(sdn)或其组合)。网络b 104可以包括使网络a 102与一个或更多个其他网络(未示出)连接和/或互连的一个或更多个网络(例如,lan、wan、vpn、sdn或其组合)。例如,网络b 104可以包括互联网或类似的网络和/或其部分。
48.如图1所示,网络a 102可以包括主机110、112和/或114以及一个或更多个分组过滤网络网关设备,诸如分组安全网关(psg)。主机110、112和/或114可以被配置为用作tls客户端和/或tls隧道终端。psg可以包括esni-网关(esni-g/w)120功能,用于处理与可以使用esni的tls安全通信相关联的传输中分组。在一些实施例中,esni-网关网络设备(例如,esni-g/w 120或它们结合的psg)可能没有分配给它们的使esni-网关作用于的传输中分组进入和/或离开的网络接口的l3网络地址和/或l2网络地址。esni网关(和结合的psg)可以是l3透明的。
49.类似地,网络b 104可以包括或提供对主机130、131和/或139的网络访问。主机130、131和/或139可以被配置为用作tls服务器和/或tls隧道终端。主机130、131和/或139可以托管一个或更多个域,并且可以向dns(例如,dns 160)注册相关联的域名。主机130、131和/或139还可以将esni支持关联到互联网dns上的域(例如,为包括用于加密的esni公钥的域创建资源记录)。网络b 104还可以包括或提供对系统140、142和/或144的网络访问。系统140、142和/或144可以是被配置为提供各种服务的联网主机的集合。例如,ctip 140可以是一个或更多个cti提供方(ctip),其向订阅者(诸如spms 150)提供包括网络威胁指标(例如,域名)的cti报告。类似地,执法情报提供方(leip)142以及保护和保持情报提供方(p3ip)144可以向订阅者(诸如安全策略管理服务器(spms))150)提供包括网络指标(例如,域名)的情报报告。除了cti、le和p3应用之外,用于其他应用的情报提供方(未示出)也可以向订阅者提供包括域名形式的网络指标的情报报告。
50.安全策略管理服务器(spms)150可以是创建和分发包括一个或更多个分组过滤规则的策略的系统。一个或更多个分组过滤规则可以从ctip 140提供的cti、从leip 142提供的lei、从p3ip 144提供的p3i等导出。这些策略可以分发给订阅者,诸如esni-g/w 120。spms 150还可以是创建数据并将数据分发给支持esni-网关功能的订阅esni-网关(例如,esni-g/w 120)的系统。例如,edcl-sys 152可以表示spms 150的模块、设备、系统或子系统,其创建从包含在cti、lei、p3i等中的域名指标中导出的edcl并将其分发给订阅esni-网关esni-g/w 120。在另一示例中,cti-policy-sys 154可以是spms 150的模块、设备、系统或子系统,其创建包括从cti指标(包括域名指标)导出的一个或更多个分组过滤规则的策略。在又另一示例中,dns-esni-sys 156可以表示spms 150的模块、设备、系统或子系统,其创建和分发包含支持esni的域的dns注册域名的集合数据结构(例如,表、数据库等和相关联的功能)。例如,与执法应用相关联的执法策略创建系统(例如,lei-policy-sys(未示出))、与p3应用相关联的隐私策略创建系统(例如,p3i-policy-sys(未示出))以及其他策略创建系统可以与cti-policy-sys(cti-策略-sys)154类似,但在情报来源和/或类型方面有所不同,其中可以包括域名指标。
51.域名服务器(dns)160可以是包括互联网域名系统(dns)的一个或更多个计算机。各种主机可以使用dns 160将域名解析为ip地址。附加地或替代地,dns 160可以用于获得(例如,检索、获取)加密密钥(例如,公共加密密钥)以用于创建包含在tls clienthello消
息中的esni密文。
52.esni-g/w 120可以位于第一网络(例如,网络a 102)和第二网络(例如,网络b 104)之间交界的网络边界处或附近。例如,esni-g/w 120可以将网络102或位于其中的一个或更多个主机与网络104或位于其中的一个或更多个主机连接(交接)。如上所述,网络b 104可以包括主机130、131和/或139。主机130、131和/或139可以托管一个或更多个联网应用服务器和/或相关联的域。一个或更多个应用服务器和/或相关联的域可以被配置为支持tls安全通信。网络a 102可以包括主机110、112和/或114。主机110、112和/或114可以托管网络应用客户端(例如,网络浏览器)并且可以被配置为支持tls安全通信。esni-g/w 120可以在线插入到网络链路106上并且可以过滤传输中分组以执行与tls安全通信相关联的域名所关联的策略。在一些实施例中,esni-g/w 120可以是更通用的分组过滤网关系统(诸如,分组安全网关(psg))的子组件或子功能,以用于对与网络a 102相关联的主机和与网络b 104相关联的主机之间的所有tcp/ip分组通信执行策略。psg可以是受保护网络(诸如网络a 102)与连接到受保护网络的未受保护网络(诸如网络b 104)之间的接口。一个或更多个psg可位于受保护网络的一个或更多个边界处,并过滤(例如,将包含分组过滤规则的策略应用于)沿任一方向穿过一个或更多个边界的传输中分组。如图1所示,psg可以结合esni-g/w 120。psg的esni-g/w 120功能可应用于与使用esni的tls安全通信相关联的一个或更多个分组。
53.尽管未示出,但应当理解,图1中可以存在附加网络组件。这些网络组件可以包括位于或靠近网络边界的设备,诸如网络防火墙和相关联的网络地址转换(nat)功能、代理等,这些设备可以改变分组报头信息。改变分组报头信息可能影响本文所述的方法、设备、系统和/或计算机可读介质。如下文将更详细地描述的,关于基于cti的应用描述的系统、组件、功能、数据等可以应用于其他应用,诸如执法(le)应用、隐私保护和保持(p3)应用等。这些应用(例如,le应用、p3应用等)可以替代基于cti的网络保护应用和/或与基于cti的网络保护应用同时运行。本文所述的方法、设备、系统和/或计算机可读介质可以在任何合适的系统中实现,该系统可以确定传输中tls clienthello消息/分组中所包含的esni密文和与应用和通信相关联的明文域名之间的对应关系。基于对esni密文与明文域名的对应关系的确定,系统可以根据分组过滤规则对分组进行处理。
54.图2示出了用于对网络a 102和网络b 104之间的通信执行策略的esni-g/w 120的示例。通信可以是具有加密主机名(例如,可以包含在esni密文中的加密sni值)的tls安全通信。esni-g/w 120可以包括处理器和主存储器(cpu-w/mem)121,其可以执行用于配置和操作esni-g/w 120、网络接口ntwk-i/f 127、管理接口mgmt-i/f 129的逻辑。cpu-w/mem 121可以根据一个或更多个通信策略执行应用来执行用于配置和操作esni-g/w 120的逻辑。这些应用可以同时和协作/合作地执行。附加地或替代地,处理器和主存储器(cpu-w/mem)121可以执行用于配置和操作系统和服务集合(诸如pkt-filter(pkt-过滤)122、edcl-svc 123、dns-esni-svc 124、dns-query-tracker(dns-查询-跟踪者)125和/或tls-mitm-proxy(tls-mitm-代理)126)的逻辑,其可支持esni-g/w 120及其相关应用的操作。这些组件可以使用总线(bus)128进行通信。总线128可用于在esni-g/w 120的组件之间传输数据,包括分组。总线128可以在esni-g/w 120的组件之间提供数据通信信道。在一些示例中,总线128可以是连接处理器逻辑(例如,处理器和主存储器(cpu-w/mem)121)与片上高速缓存
存储器的片上硅,这提供了快速且紧凑的处理。附加地或替代地,总线128可以是网络连接(例如,tcp/ip网络),诸如网络a 102或网络b 104。在进一步的示例中,总线128可以包括印刷电路板(pcb)上的集成/嵌入式数据总线、连接计算机和/或外围设备的并行数据线缆、连接网络交换机和路由器的端口和/或接口的串行光缆、l2/l3交换网络、l3路由网络等,以及它们的任意组合。总线128可以是硅、有线、无线、物理、逻辑、虚拟、软件定义的等。
55.esni-g/w 120可以与网络链路106一致定位,其可以经由网络接口端口ntwk-i/f 127将网络a 102和网络b 104互连。在一些实施例中,网络接口端口ntwk-i/f 127在l3和/或l2可以是透明的。也就是说,网络接口端口ntwk-i/f 127可能没有分配给它们的ip地址和/或mac地址。根据这些示例,传输中l2/l3分组可以通过esni-g/w 120而无需修改l2/l3分组报头。esni-g/w 120传输中分组处理逻辑可以提供时间高效和内存高效的分组处理,其允许以链路106的峰值分组传输速率进行分组过滤而不丢弃分组,例如,由于延迟造成内部缓冲区溢出而引起的丢弃分组。在一些示例中,管理接口mgmt-i/f 129可以被分配l3/ip地址。管理接口mgmt-i/f 129可以允许esni-g/w 120与提供服务的主机诸如spms 150和/或dns 160进行通信。
56.pkt-filter 122系统可以将包括一个或更多个分组过滤规则的策略应用到穿过esni-g/w 120的传输中分组。策略可由服务器和/或服务提供,诸如spms 150。策略的分组过滤规则可以从包含在各种类型的情报报告(例如,cti报告、lei报告、p3i报告等)中的指标导出。pkt-filter 122可以被配置为同时支持一个或更多个不同的网络安全应用,诸如基于cti的网络保护、合法拦截、隐私保护和保持等。
57.edcl-svc 123服务可以管理对与一个或更多个edcl相关联的信息的查询。edcl可以由edcl-sys 152(通过mgmt-i/f 129)提供。edcl-sys 152可以是spms 150的一部分。edcl-svc 123可以为来自esni-g/w 120的查询提供服务。edcl-svc 123可以从在esni-g/w 120上执行的一个或更多个应用接收一个或更多个查询请求。该一个或更多个查询请求可以经由总线128接收。查询请求可以包括ip地址。edcl-svc 123可以向应用发送查询响应。查询响应可以包括与存储在由edcl-svc 123管理的一个或更多个edcl中的ip地址相关联的esni相关信息。
58.dns-esni-svc 124服务可以管理对esni支持信息的查询,该esni支持信息与可以在互联网dns 160中注册的域名相关联。edcl-svc 123可以从在esni-g/w 120上执行的一个或更多个应用接收一个或更多个查询请求。查询请求可以经由总线128接收。查询请求可以包括域名。edcl-svc 123可以向一个或更多个应用发送查询响应。查询响应可以包括指示与域名相关联的域是否支持esni的信息。dns-esni-svc 124可以通过确定域名是否是由dns-esni-svc管理的dns-esni集合的成员来确定域名是否支持esni。例如,dns-esni集合可以由dns-esni-sys 156经由mgmt-i/f 129提供。dns-esni-sys 156可以是spms 150的组件。附加地或替代地,dns-esni-svc 124可以通过查询dns 160以确定域名是否与用于esni支持的任何资源记录相关联来确定域名是否支持esni。
59.dns-query-tracker 125系统可以管理与可能已经由连接到网络a 102的主机发出的dns查询相关联的信息。附加地或替代地,dns-query-tracker 125系统可以服务于对与以下dns查询相关联的信息的查询:该dns查询可能已经由连接到网络a 102的主机发出。dns-query-tracker 125可以观察用于将域名解析为ip地址的dns查询请求和响应。对于每
个dns查询,dns-query-tracker 125可以以有效的数据结构,诸如表(例如,哈希表)或数据库,存储查询的记录。记录可以包括:(1)发起dns查询的主机的ip地址;(2)域名;(3)域名解析出的ip地址;(4)查询次数;和/或(5)用于管理和/或改进系统和/或服务的附加信息。例如,附加信息可以包括与域名相关联的esni支持信息。dns-query-tracker 125可以帮助消除可能对应于esni密文的明文域名的歧义。例如,esni-gateway应用可以处理传输中分组,该分组包含有包括esni密文的clienthello消息。应用可以查询edcl-svc 123并确定多个域名可能对应于该esni密文。为了消除多个域名中的哪个可能对应于esni密文的歧义,应用可以查询dns-query-tracker 125以获取对应于分组的l3源ip地址和/或l3目标ip地址的记录。为了服务于查询,dns-query-tracker 125可以在其数据结构(例如,表和/或数据库)中搜索一个或更多个记录,这些记录将分组的源ip地址与记录的源主机ip地址匹配和/或将分组的目的地ip地址与记录的解析ip地址匹配。任何此类记录都可以包含在发送给应用的查询响应中。然后,应用可以从最近的记录确定与esni密文对应的明文域名。基于所确定的明文域名,应用可以将分组和域名发送到pkt-filter 122以进行过滤和处理。
60.esni-网关应用可以使用tls-mitm-proxy 126(透明)代理系统来对分组和/或相关联的通信进行更深入的检查。例如,tls-mitm-proxy 126可以解密tls安全通信、检查tls安全通信的明文,以及重新加密tls安全通信。应用可以使用这种中间人方法确定与tls安全通信相关联的esni密文对应的明文域名。例如,应用可以接收包含加密主机名的传输中分组(例如,包含esni密文的clienthello消息)。为了确定与应用相关联的明文域名和esni密文之间是否存在对应关系,应用可以调用edcl-svc 123和/或dns-query-tracker 125。然而,edcl-svc 123和/或dns-query-tracker 125可能无法确定与加密主机名(例如,域名)对应的明文域名。在一些示例中,edcl-svc 123和/或dns-query-tracker 125可能无法在一定程度的确定性内确定明文域名。然后,应用可以将tls安全通信转发到tls-mitm-proxy 126。tls-mitm-proxy 126可以对tls安全通信进行解密以获得(例如,确定)对应于esni密文的明文域名。如以下将更详细讨论的,一个或更多个esni-g/w应用,诸如le和p3应用,可以使用tls-mitm-proxy 126来获取tls安全通信会话的明文。
61.图3示出了esni域名对应关系列表(edcl)300的代表性示例。edcl数据结构可以表示为二维表。esni网关(例如,esni-g/w 120)可以使用edcl 300来确定加密主机名(例如,esni密文)是否对应于与网络安全应用相关联的域名数据库中的明文域名,网络安全应用例如是基于cti的网络保护、执法(le)、隐私保护和保持(p3)等。确定加密主机名(例如,加密域名)是否对应于数据库中的一个或更多个明文域名可能是esni网关(例如,esni-g/w 120)如何处理包含加密域名的传输中分组(例如,带有esni密文的clienthello消息)的因素。如本文所讨论的,edcl 300可以与一个或更多个与基于cti的网络保护相关联的网络安全应用以及如执法(le)应用和/或隐私保护和保持(p3)应用之类的一个或更多个应用一起使用。
62.edcl 300可以包括多个列。标记为“ip-address(ip地址)”的第一列301可以包含一个或更多个唯一ip地址,其索引表的每一行和/或条目。第一列301中的每个ip地址可以对应于cti数据库中与支持esni的域相关联的一个或更多个域名的dns记录(例如,互联网dns a(ipv4)或aaaa(ipv6))。标记为“cti-esni-domains(cti-esni-域)”的第二列302可以包含cti数据库中支持esni的域名。第二列302中的元素是托管在第一列301中的对应ip地
址处的域的名称。例如,edcl 300的(311,302)元素位置中的域{pgorlzex.cn,x-advice.onln,bmb27.com}可以托管在ip地址40.07.25.13,如(311,301)元素位置所示。例如,如果esni-g/w 120检测到加密主机名(例如,clienthello消息中的esni密文)并且相关联分组的l3目的地ip地址是40.07.25.13,则edcl 300可以指示明文域名{pgorlzex.cn,x-advice.onln,bmb27.com}中的一个可以对应加密后主机名(例如,esni密文)。可以有其他域托管在同一ip地址40.07.25.13上,其域名可以对应于esni密文。然而,这些域名可能未在元素(311,302)处列出,因为这些域名要么不在cti数据库中,要么不支持esni。
63.edcl 300中的其余列是例示性的,并且可以由esni-g/w 120用来进行关于如何处理包含加密主机名的分组(例如,具有esni密文的clienthello消息)的决策支持。标记为“#cti-esni-domains(#cti-esni-域)”的第三列303可以包括第二列302“cti-esni-domains”中域名的计数。例如,在元素(311,302)中表示的三(3)个域名可以将元素(311,303)定义为3。标记为“#cti-domains(#cti-域)”的第四列304可以包括cti数据库中在第一列301中的对应ip地址处托管的域名的计数。例如,元素(313,304)可以是15,这意味着cti数据库中的15个域名托管在ip地址6203:7400:3340::8618:46ef(例如,元素(313,301))处。虽然15个域名可以托管在ip地址6203:7400:3340::8618:46ef处,但cti数据库中有六(6)个托管在ip地址6203:7400:3340::8618:46ef处的域不支持esni。这可以在元素(313,303)处指示,其可以指示在给定ip地址支持esni的域名的数量。标记为“#reverse-ip-lookup-domains(#反向-ip-查找-域)”的第五列305可以包括根据反向ip查找服务由ip地址托管的所有域的计数。在一些实施例中,edcl 300中可以存在esni-g/w 120可用来进行决策支持的附加列。
64.如行314中所例示的示例所示,esni-g/w 120可以接收具有加密主机名的通信(例如,具有esni密文的clienthello消息)。esni-g/w 120可以使用网络地址(例如,源ip地址、目的地ip地址等)以高概率确定与所接收的esni密文对应的明文域名。如图所示,esni-g/w 120可以确定与所接收的esni密文相关联的明文域是toplipts.com。就这一点而言,esni-g/w 120可以使用ip地址22.74.02.18查询edcl 300以确定对应于esni密文的明文域名。esni-g/w 120逻辑可以决定,因为#cti-esni-domains(314,303)=1且#cti-domains(314,304)=1且#reverse-ip-lookup-domains(314,305)=1,则(314,302)=toplipts.com,所接收的加密主机名(例如,esni密文)对应于toplipts.com。
65.在另一示例中,esni-g/w 120可以接收具有加密主机名的通信(例如,具有esni密文的clienthello消息)。esni-g/w 120可以使用网络地址(例如,源ip地址、目的地ip地址等)来确定可能需要附加方法来确定与加密主机名对应的明文域名。如行312所例示的示例所示,esni-g/w 120可以使用ip地址14.99.65.22查询edcl 300以确定对应于加密主机名(例如,esni密文)的一个或更多个明文域名。esni-g/w120逻辑可以决定,因为#cti-esni-domains(312,303)=5且#cti-domains(312,304)=5且#reverse-ip-lookup-domains(312,305)=20,则esni-g/w 120可以确定托管在ip地址14.99.65.22处的域支持esni。另外,esni-g/w 120可以确定对应于esni密文的明文域名很可能不在cti数据库中。就这一点而言,esni-g/w 120可以决定使用附加的方法来确定对应于加密主机名(例如,esni密文)的明文域名。
66.如行310中所例示的示例所示,esni-g/w 120可以接收具有加密主机名的通信(例
如,具有esni密文的clienthello消息)。esni-g/w 120可以使用网络地址(例如,源ip地址、目的地ip地址等)来确定通信可能是恶意的。esni-g/w 120可以使用ip地址102.2.18.81查询edcl 300以确定与加密主机名(例如,esni密文)相关联的一个或更多个明文域名。esni-g/w 120逻辑可以决定,因为#cti-esni-domains(310,303)=8且#cti-domains(310,304)=8且#reverse-ip-lookup-domains(310,305)=0,则esni-g/w 120可以确定ip地址已分配给采取措施和动作来混淆其互联网存在的恶意主体。基于这一确定,esni-g/w 120可以确定该通信很可能是恶意的。
67.如行311中所例示的示例所示,esni-g/w 120可以接收具有加密主机名的通信(例如,具有esni密文的clienthello消息)。esni-g/w 120可以使用网络地址(例如,源ip地址、目的地ip地址等)来确定通信可能是恶意的。esni-g/w 120可以使用ip地址40.07.25.13查询edcl 300以确定与加密主机名(例如,esni密文)相关联的一个或更多个明文域名。esni-g/w 120逻辑可以决定,因为#cti-esni-domains(311,303)=3且#cti-domains(311,304)=3且#reverse-ip-lookup-domains(311,305)=3,则esni-g/w 120可以确定该通信指向已分配给不积极审查或监视其客户的内容投放和/或广告软件服务运营商的ip地址。esni-g/w 120可以确定该通信很可能是恶意的。
68.图4a和图4b示出了创建、分发和维护edcl的系统(例如,edcl-sys 152)的过程400的示例。在一些实施例中,系统(例如,edcl-sys 152)可以与创建、分发和维护从cti数据库和/或其他情报数据库导出的分组过滤规则的策略的spms150集成或系统可以包括spms 150的子系统。cti数据库可以包括多个威胁指标,包括多个域名形式的威胁指标。此外,cti数据库可以持续更新,例如,通过网络威胁情报提供方(例如,ctip 140)产生新的威胁情报报告和/或相关联的网络威胁指标。cti导出的策略和edcl可以由各个esni网关创建和/或管理。附加地或替代地,edcl和/或cti导出的安全策略可以由诸如ctip之类的中央服务器创建和/或管理。
69.在步骤405中,系统(例如,edcl-sys 152)通过访问spms 150的当前cti指标数据库(例如,cti-indicator-db(cti-指标-db))、从当前cti指标数据库(例如,cti-indicator-db)提取完全合格域名(fqdn)以及将fqdn插入到数据库(例如,cti-fqdn-db)中,来创建数据库(例如,cti-fqdn-db)。在步骤410中,系统可以初始化edcl,edcl可以与元数据相关联,元数据包括创建时间、spms身份、cti-indicator-db和cti-fqdn-db可识别信息等。一旦edcl被初始化,系统就可以通过cti-fqdn-db中的每个fqdn发起循环或迭代过程,以填充edcl。
70.在步骤415中,系统可以查询dns(例如,互联网dns 160)以确定当前fqdn是否具有与esni相关联的资源记录(rr)。在步骤420中,系统可以确定资源记录是否指示关联域是否支持esni。如果资源记录指示关联域不支持esni,则过程400返回到步骤415以在dns中查询cti-fqdn-db中的下一个条目。然而,如果资源记录指示关联域支持esni,则过程400前进到步骤425,在此期间系统可以查询dns以获得fqdn的域记录(例如,对应的a和aaaa记录)。系统可以接收响应。响应可以包括与fqdn相关联的ipv4 ip地址和/或ipv6 ip地址。在一些示例中,如果对于fqdn同时存在a(ipv4)和aaaa(ipv6)记录,那么如果域名同时具有ipv4ip地址和ipv6 ip地址,则可以重复步骤425。
71.在步骤430中,系统可以确定该ip地址是否存在于edcl中。例如,系统可以搜索由
ip地址索引的记录/行/条目。如果条目不存在,则系统在步骤435中在edcl中创建新记录。该条目可以由该ip地址索引。
72.在为ip地址创建新条目或发现条目已经存在之后,系统可以在步骤440中将fqdn附加到cti-esni-domains 302字段中的fqdn列表。在步骤445中,系统可以增加#cti-esni-domains 303字段以指示与条目相关联的新ip地址。在步骤450中,系统可以确定在cti-fqdn-db中是否有更多的fqdn要处理。如果有更多的fqdn要处理,则过程400返回到步骤415以对cti-fqdn-db中的下一个fqdn重复该过程。如果没有更多的fqdn,则过程400前进到步骤455。
73.在步骤455中,系统可以填充edcl中的附加字段和/或列。附加字段和/或列可以是ip地址301、cti-esni-domains 302和#cti-esni-domains 303的补充。继续以上关于图3所讨论的示例,行313可以由元素(313,301)中的ip地址6203:7400:3340::8618:46ef索引。行313可以具有九(9)个域名(元素(313,303)的值),它们在cti数据库中并且与支持esni的域相关联。根据某些反向ip查找服务,元素(313,305)=15是托管在ip地址6203:7400:3340::8618:46ef的域的数量。在步骤460中,系统(例如,spms 150)可以将edcl分发到一个或更多个esni-g/w(例如,esni-g/w 120)。在一些示例中,esni-g/w可能订阅了接收edcl。可以重复过程400以改变、修改、更改或以其他方式更新edcl。
74.过程400可以按照与上述不同的顺序和/或不同的组合来执行。cti、esni支持和/或域名到ip地址的映射的动态性表明可以经常或甚至连续地执行过程400,以便最小化滞后和/或同步问题。就这一点而言,过程400可以使用连续动态更新模型。附加地或替代地,过程400可以使用批处理来更新edcl。虽然过程400是根据用于基于cti的网络保护的网络安全应用来描述的,但应当理解,其他应用(诸如合法拦截以及隐私保护和保持应用)可以使用过程400来更新edcl或其等效物。
75.图5示出了系统(例如,cti-policy-sys 154)的过程500的示例,该系统创建、分发和维护包括从cti数据库导出的一个或更多个分组过滤规则的策略。基于cti的策略可以被分发到分组安全网关(psg),其位于网络边界并将这些策略应用于沿任一方向跨越边界的一个或更多个分组。当psg配置有cti导出的策略(诸如由cti-policy-sys 156创建的策略)时,psg可以被识别为威胁情报网关(tig)。esni-g/w 120可以是tig的子系统、子组件或子功能,其任务是仅过滤与tls安全通信或使用esni的tls安全通信相关联的分组。pkt-filter 122(可以由esni-g/w 120用来针对对应于esni密文的明文域名过滤分组)可以由tig或psg用来基于一个或更多个cti导出的指标(例如,ip地址、5元组、域名、uri等)来过滤分组。由cti-policy-sys 154创建的策略可由esni-g/w 120和集成esni-g/w 120的系统(诸如tig和/或psg)直接、共同和同时使用。在一些示例中,系统(例如,cti-policy-sys 154)可以与创建、分发和/或维护从cti数据库导出的策略的spms 150集成或包括其子系统。
76.在步骤510中,系统可以通过访问spms 150的当前cti指标数据库cti-indicator-db来启动cti-policy创建过程。应当理解,系统可以适用于其他应用(例如,执法、隐私保护和保持等)以及与其相关联的数据库。一旦cti-policy被初始化,系统就可以通过cti-indicator-db中的每个指标发起循环或迭代过程以创建cti-policy。
77.在步骤520中,系统可以创建以当前指标作为匹配标准的分组过滤规则。在步骤
530中,系统可以将规则插入到cti-policy中。就典型的分组过滤规则语法而言,诸如openbsd pf语法,该规则可以指定至少一个动作和至少一个分组匹配标准。动作或处置可以包括允许(例如,传递、转发等)分组(例如,传输中l2/l3分组)到其预期目的地。替代地,动作可以包括阻止(例如,拒绝、丢弃等)分组(例如,传输中l2/l3分组)到达其预期目的地。分组匹配标准可以包括与cti指标(例如,ip地址、5元组、主机名/fqdn、uri等)对应的l3、l4和/或应用层分组字段值。根据目标分组过滤设备(例如,psg、tig和esni-g/w)的能力和目的(例如,网络安全),可以指定附加的规则组件。这些规则组件可以包括诸如:分组转换功能(ptf)和元数据。ptf可以包括记录、捕获、镜像、重定向、隧道技术等。附加地或替代地,ptf可以包括代理功能。例如,ptf“tcp-rst”可以通过创建tcp rst分组并将其转发到源主机而使源主机丢弃tcp连接,从而透明地欺骗tcp分组的目的地主机。元数据可用于向分组过滤设备和/或网关的应用逻辑通知无法直接从分组的内容导出的与分组相关联的属性。元数据可以包括,例如,从针对指标的相关cti报告中导出的信息、提供指标的cti提供方、与指标相关的攻击类型、归因等。
78.在步骤540中,系统可以确定cti-indicator-db中是否有更多的指标。如果cti-indicator-db中有更多的指标,则过程返回到步骤520以处理cti-indicator-db中的附加的指标。如果cti-indicator-db中没有附加的指标,则过程500前进到步骤550,其中系统可以管理cti-policy中的规则。附加地或替代地,系统可以对cti-policy中的规则进行编码,以满足约束和/或提高将cti-policy应用于传输中分组的(由psg/tig/esni-g/w执行的)分组过滤应用的性能。例如,可以移除重复的规则,可以合并规则,和/或可以识别顺序相关性。此外,可以对规则进行重新排序和/或分组和排序以支持分组过滤应用的快速搜索。步骤550可以由目标分组过滤设备/网关执行。在一些示例中,可以组合步骤550和步骤530。在步骤560中,系统(例如,spms 150)可以将cti-policy分发给一个或更多个订阅esni-g/w 120。可以重复过程500以改变、修改、更改或以其他方式更新cti-policy。
79.过程500可以按照与上述不同的顺序和/或不同的组合来执行。cti的动态性表明过程500经常或甚至连续地执行,以便最小化滞后和/或同步问题。就这一点而言,过程500可以使用连续动态更新模型。附加地或替代地,过程500可以使用批处理来更新cti-policy。虽然过程500是根据用于基于cti的网络保护的网络安全应用来描述的,但应当理解,其他应用(诸如合法拦截以及隐私保护和保持应用)可以使用过程500来更新cti-policy或其等效物。
80.图6示出了创建、分发和维护dns-esni集合数据结构的系统(例如,dns-esni-sys 156)的过程600的示例。在一些示例中,dns-esni-sys 156系统可以与创建、分发和/或维护从cti数据库导出的分组过滤规则的策略的spms 150集成或可以包括spms 150的子系统。dns-esni集合数据结构可以包括针对支持esni的dns注册域名的条目。dns-esni数据结构可以确定在互联网dns中注册的域名是否与支持esni的域相关联。dns-esni集合可以从包含互联网dns中注册域名的动态数据库导出,也可以由动态esni支持信息导出,该动态esni支持信息从查询dns以获取注册域名的esni支持状态导出。esni-g/w可以创建和/或维护dns-esni。附加地或替代地,可以采用例如经由spms(例如,spms 150)的集中式方法来创建和/或管理dns-esni。
81.dns-esni集合数据结构可以是布隆过滤器(bloom filter,b/f)、cuckoo过滤器
(c/f)和/或任何合适的集合数据结构。这些类型的过滤器可以有效地存储数据集的元素,将元素插入到数据集中,并确定元素是否是集合的成员。特别地,cuckoo过滤器可以支持从集合中时效性地删除或移除元素。应当理解,可以使用具有类似于布隆过滤器或cuckoo过滤器的属性的类似集合数据结构。
82.在步骤610中,系统(例如,dns-esni-sys 156)可以通过收集和/或聚合在dns中注册的域名的列表来生成数据库(例如,dns-reg-db)。例如,这些列表的来源包括dns注册管理机构运营商组织和/或相关代表和/或授权名称服务器(authoritative name server)发现的区域文件(zone file)、域列表聚合服务、发现国家代码域(ccd)的第三方服务、icann,等等。一旦获得(例如,确定)dns注册域名,系统就可以启动循环或迭代过程以生成dns-esni。
83.在步骤620中,系统可以向dns(例如,互联网dns 160)查询数据库dns-reg-db中每个域的esni资源记录(rr)的存在。rr可以指示相关联的域支持esni。在步骤630中,系统可以确定当前域名是否存在与esni相关联的rr。如果系统确定该域不支持esni,则过程600返回到步骤620,其中针对数据库dns-reg-db中的下一个域名条目查询dns。如果系统确定该域支持esni,则在步骤640中,系统可以将域名插入到设置的dns-esni中。在步骤650中,系统可以确定dns-reg-db中是否有更多的域名要处理。如果存在,则过程600返回到步骤620以处理dns-reg-db中的下一个条目。如果没有更多域名,则系统前进到步骤660,其中系统(例如,spms 150)可以将dns-esni分发给一个或更多个订阅esni-g/w 120。可以重复过程600以改变、修改、更改或以其他方式更新dns-esni。
84.过程600可以按照与上述不同的顺序和/或不同的组合来执行。dns和esni的动态性表明过程600可以经常或甚至连续地执行,以便最小化滞后和/或同步问题。就这一点而言,过程600可以使用连续动态更新模型。在一些示例中,esni-g/w(例如,esni-g/w 120)可以根据需要通过在其观察到传输中分组中所包含的明文sni时直接查询dns以获取esni支持状态来确定包含在dns-esni中的信息。
85.图7示出了创建、分发和维护edcl、cti导出的策略和/或dns-esni集合数据结构的系统(例如,spms 150)的过程700的示例。尽管以下所述的示例与基于cti的网络保护应用有关,但是应当理解,以下所述的系统和方法可以结合到spms 150操作和/或相关联的esni-g/w操作中。
86.在步骤710中,系统(例如,spms 150)可以从多个cti提供方140收集cti报告并且创建这些报告的数据库(例如,cti-report-db(cti-报告-db))。cti报告可以包含采用一个或更多个ip地址、5元组、域名、uri等形式的网络威胁指标。威胁指标可以识别与威胁相关联的网络主机和/或资源,以及与威胁相关联的附加信息,诸如威胁攻击类型、归因等。cti报告可以包括指示可能成为威胁的域名的网络威胁指标。
87.在步骤720中,系统(例如,spms 150)可以从cti-report-db中的报告中提取网络威胁指标以创建数据库cti-indicator-db。cti-indicator-db可以是例如以上在步骤405和510中所述的输入。cti提供方可以创建新的和/或更新现有的cti报告。就这一点而言,系统(例如,spms 150)可以在完成步骤720之后返回到步骤710。
88.在步骤725中,系统(例如,spms 150)可以操作edcl-sys 152。在步骤730中,系统(例如,spms 150)可以操作cti-policy-sys 154。在步骤735中,系统(例如,spms 150)可以
操作dns-esni-sys 156。步骤725、730和/或735可以同时操作。在步骤725中,系统可以经由mgmt-i/f 129将edcl-sys 152分发给一个或更多个订阅esni-g/w 120。在步骤730中,系统可以经由mgmt-i/f 129将cti-policy分发给一个或更多个订阅esni-g/w 120。在步骤735中,系统可以经由mgmt-i/f 129将dns-esni分发给一个或更多个订阅esni-g/w 120。一个或更多个订阅esni-g/w中的每一个可以接收edcl、cti-policy和dns-esni并将数据(例如,经由总线128)分别传输到edcl-svc 123、pkt-filter 122和dns-esni-svc 124。
89.图8a和图8b示出了用于使用一个或更多个分组过滤策略和edcl配置esni-g/w 120以及基于从一个或更多个cti指标导出的一个或更多个分组过滤策略和edcl来执行网络威胁防护应用的过程的示例。
90.在步骤805中,spms 150可以向esni-g/w 120分发cti导出的分组过滤策略(例如,cti-policy)和相关联的cti导出的edcl中的至少一者。spms 150还可以将dns-esni分发给esni-g/w 120。基于cti导出的分组过滤策略(例如,cti-policy)、相关联的cti导出的edcl和/或dns-esni中的至少一者,esni-g/w120可以配置其pkt-filter 122,edcl-svc 123和/或dns-esni-svc 124。
91.在步骤810中,在host-1 110上执行的网络浏览器的用户可能尝试访问站点srvr-0 130。srvr-0 130可以托管支持esni的域(例如,www.legitimate-non-cti-site.net)。也就是说,该域的dns条目可以包括公共加密密钥。用户可以在浏览器窗口中输入域作为uri的一部分(例如,https://www.legitimate-non-cti-site.net/)。浏览器可以向dns 160查询域(例如,www.legitimate-non-cti-site.net)的ip地址。作为对查询的响应,浏览器可以接收ip地址(例如,87.65.43.21)和公共加密密钥(例如,site-0-key)。在一些示例中,dns查询可以由dns-query-tracker 125实例(未示出)捕获。浏览器接收到ip地址和公共加密密钥后,可以与87.65.43.21的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用site-0-key密钥加密域名和/或消息的其他部分,将消息封装在(l3/ip)目的地ip地址字段设置为87.65.43.21的tcp分组和ip分组pkt-0中,以及将分组pkt-0转发到srvr-0 130。
92.在步骤815中,esni-g/w 120可以拦截分组pkt-0。esni-g/w 120可以检查clienthello消息并确定该消息包括加密主机名(例如,esni密文)。响应于检测到加密主机名(例如,加密域名),esni-g/w 120可以从pkt-0中提取(l3/ip)目的地ip地址(例如,87.65.43.21)并通过查询edcl-svc 123在edcl搜索由87.65.43.21索引的条目。如果搜索没有返回结果,则esni-g/w 120可以确定明文域名(例如,www.legitimate-non-cti-site.net)不与相关策略cti-policy中的任何域名威胁指标相关联。即使esni-g/w 120不知道对应于加密主机名(例如,加密域名)的明文域名,它也可以做出这一确定。在步骤815结束时,esni-g/w 120可以允许pkt-0前往其目的地87.65.43.21(srvr-0 130)。在步骤820中,可以在host-1 110和srvr-0 130之间建立tls隧道,并且进行(tls安全)http会话(例如,https)。在http会话完成后,tls隧道和tcp连接可以被拆除。
93.在步骤825中,在host-1 110上执行的网络浏览器的用户可能尝试访问站点srvr-1 131。srvr-1 131可以托管支持esni的第二域(例如,toplipts.com)。如上所述,第二域的dns条目可以包括用于第二域名的第二公共加密密钥。用户可以在浏览器窗口中输入第二域作为uri(例如,https://toplipts.com/)的一部分。浏览器可以向dns 160查询第二域
(例如,toplipts.com)的ip地址。作为对查询的响应,浏览器可以接收第二ip地址(例如,22.74.02.18)和第二公共加密密钥(例如,site-1-key)。类似于上面的第一查询,dns查询可以由dns-query-tracker 125实例(未示出)捕获。浏览器接收到第二ip地址和第二公共加密密钥后,可以与第二ip地址(例如,22.74.02.18)的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用第二公共加密密钥(例如,site-1-key)加密第二域名(例如,toplipts.com)和/或消息的一个或更多个部分,将消息封装在(l3/ip)目的地ip地址字段设置为第二ip地址(例如,22.74.02.18)的tcp分组和ip分组pkt-1中,以及将分组pkt-1转发到srvr-1 131。
94.在步骤830中,esni-g/w 120可以拦截分组pkt-1。esni-g/w 120可以检查clienthello消息并确定该消息包含esni密文。esni-g/w 120可以提取(l3/ip)目的地ip地址(例如,22.74.02.18)并通过查询edcl-svc 123在edcl中搜索由22.74.02.18索引的条目。搜索可以返回来自edcl的条目。例如,搜索可以返回来自上面关于图3讨论的edcl 300的行314。在检查条目的内容之后,esni-g/w 120可以确定esni密文对应于明文域名toplipts.com。esni-g/w 120可以调用pkt-filter 122系统。如上所讨论,在步骤805中pkt-filter 122可以配置有cti-policy。esni-g/w 120可以在cti-policy中搜索匹配标准“toplipts.com”的分组过滤规则。根据这一示例,可以找到匹配规则,该匹配规则具有用于处理匹配分组(pkt-1)的(网络保护)“阻止”动作。附加地或替代地,匹配规则可以包括分组转换功能(ptf)“tcp-rst”。esni-g/w 120可以欺骗或透明地代理srvr-1 131,并且可以向host-1 110发送具有(致命)警报代码(例如,代码40“握手失败”)的tls警报协议消息,其使host-1 110关闭tls会话。tcp rst可以使host-1 110拆除tcp连接。替代地,esni-g/w 120可以发送tcp rst,其在没有信令的情况下关闭tls会话。就这一点而言,esni-g/w 120可能不想向可能已受到损害的host-1110提供任何数据和/或信息。
95.在步骤835中,在host-1 110上执行的网络浏览器的用户可能尝试访问站点srvr-2 132。srvr-2 132可以托管支持esni的第三域名(例如,kottoqui.ga)。也就是说,第三域名的dns条目可以包括公共加密密钥。用户可以在浏览器窗口中输入第三域名作为uri的一部分(例如,https://kottoqui.ga/)。host-1 110上的浏览器可以向dns 160查询第三域名(例如,kottoqui.ga)的第三ip地址(例如,102.2.18.81)和第三公共加密密钥(例如,site-2-key)。如上所述,dns查询可以由dns-query-tracker 125(未示出)捕获。浏览器接收到第三ip地址和第三公共加密密钥后,可以与102.2.18.81的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用第三公共加密密钥(例如,site-2-key)对第三域名(例如,kottoqui.ga)和/或消息的一个或更多个其他部分进行加密,将消息封装在(l3/ip)目的地ip地址字段设置为102.2.18.81的tcp分组和ip分组pkt-2中,以及将分组pkt-2转发到srvr-2 132。
96.在步骤840中,esni-g/w 120可以拦截分组pkt-2。esni-g/w 120可以检查clienthello消息并确定该消息包括加密的主机名(例如,esni密文)。esni-g/w 120可以提取(l3/ip)目的地ip地址(例如,102.2.18.81)并通过查询edcl-svc 123在edcl中搜索由102.2.18.81索引的条目。搜索可以返回来自edcl的条目。例如,搜索可以返回来自上面关于图3讨论的edcl 300的行310。在检查条目的内容之后,esni-g/w 120可以确定无法从edcl确定与esni密文对应的明文域名。esni-g/w 120可以确定在ip地址102.2.18.81处托
管的所有域都具有在cti指标数据库和相关联的cti-policy中并且支持esni的域名。edcl 300的元素{行310,列302}中的八(8)个域名中的任何一个都可以是对应于esni密文的明文域名。esni-g/w 120可以选择八个域名中的任何一个作为可能的通信方,然后继续。附加地或替代地,esni-g/w 120可以检查dns-query-tracker 125是否具有可以确定通信方的任何条目。在这一示例中,esni-g/w 120可以检查dns-query-tracker 125以确定第三域名(例如,kottoqui.ga)很可能是通信方。esni-g/w 120可以调用在步骤805中配置有cti-policy的pkt-filter 122系统,以在cti-policy中搜索具有匹配标准“kottoqui.ga”的分组过滤规则。可以找到具有用于处理匹配分组(pkt-2)的(网络保护)“阻止”动作和分组转换功能(ptf)“tcp-rst”的匹配规则。esni-g/w 120可以欺骗或透明地代理srvr-2 132。附加地或替代地,esni-g/w 120可以向host-1 110发送带有(致命)警报代码(例如,代码40“握手失败”)的tls警报协议消息。tls警报协议消息可以使host-1 110关闭tls会话。附加地或替代地,esni-g/w 120可以发送使host-1 110拆除tcp连接的tcp rst。
97.转向图8b,在步骤845中,在host-1 110上执行的网络浏览器的用户可能尝试访问站点srvr-3 133。srvr-3 133可以托管支持esni的第四域名(例如,cakbacon.cn)。与上述示例一样,第四域名的dns条目可以包括公共加密密钥。用户可以在浏览器窗口中输入第四域名作为uri的一部分(例如,https://cakbacon.cn/)。浏览器可以向dns 160查询第四ip地址(例如,14.99.65.22)和第四公共加密密钥(例如,site-3-key)。dns查询可以由dns-query-tracker 125实例(未示出)捕获。浏览器可以与14.99.65.22的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用第四公共加密密钥(例如,site-3-key密钥)加密第四域名(例如,cakbacon.cn)和/或消息的一个或更多个部分,将消息封装在(l3/ip)目的地ip地址字段设置为14.99.65.22的tcp分组和ip分组pkt-3中,以及将分组pkt-3转发到srvr-3 133。
98.在步骤850中,esni-g/w 120可以拦截分组pkt-3并检查clienthello消息。esni-g/w 120可以确定该消息包括加密主机名(例如,esni密文)。esni-g/w 120可以提取(l3/ip)目的地ip地址14.99.65.22并通过查询edcl-svc 123在edcl中搜索由14.99.65.22索引的条目。搜索可以返回条目,例如以上图3中所述的edcl 300中的行312。在检查了行312的内容之后,esni-g/w 120可以确定无法从edcl确定对应于加密主机名(例如,esni密文)的明文域名。esni-g/w 120可以确定在14.99.65.22上托管的一个或更多个域不在cti中。附加地或替代地,esni-g/w 120可以确定对应于加密主机名(例如,esni密文)的明文域名应当被解析以正确地执行与通信相关联的策略。esni-g/w 120可以欺骗或透明地代理srvr-3 133。esni-g/w 120可以向host-1 110发送tls消息。tls消息可以使host-1 110发出不加密sni的clienthello。tls消息可以包括具有(致命)警报代码(例如,代码70“协议版本”)的tls警报协议消息。tls警报协议消息还可以使host-1 110使用不支持加密sni的tls版本,诸如tls 1.2。附加地或替代地,esni-g/w 120可以发送使host-1 110不使用加密sni选项的tls消息。
99.在步骤860中,host-1 110上的浏览器可以生成sni扩展字段设置为(明文)cakbacon.cn的clienthello消息,将该消息封装在(l3/ip)目的地ip地址字段设置为14.99.65.22的tcp分组和ip分组pkt-3.1中,以及将分组pkt-3.1转发到srvr-3 133。在步骤865中,esni-g/w 120可以拦截分组pkt-3.1并检查clienthello消息。esni-g/w 120可以
确定该消息包括明文sni值cakbacon.cn。esni-g/w 120可以调用在步骤805中配置有cti-policy的pkt-filter 122系统,以在cti-policy中搜索具有匹配标准“cakbacon.cn”的分组过滤规则。根据这一示例,可以找到具有用于处理匹配分组(pkt-3.1)的(网络保护)“阻止”动作和分组转换功能(ptf)“tcp-rst”的匹配规则。esni-g/w 120可以欺骗或透明地代理srvr-3 133,并向host-1 110发送带有(致命)警报代码(例如,代码40“握手失败”)的tls警报协议消息。tls警报协议消息可以使host-1 110关闭tls会话。附加地或替代地,esni-g/w 120可以向host-1 110发送tcp rst,其使host-1 110拆除tcp连接。
100.在步骤870中,在host-1 110上执行的网络浏览器的用户可能尝试访问站点srvr-4 134。srvr-4 134可以托管支持esni的第五域名(例如,not-a-cti-threat-site.net)。与前面的讨论一样,dns条目可以包括第五公共加密密钥。第五域名可能未在cti数据库和/或相关联的cti-policy中列出。用户可以在浏览器窗口中输入第五域名作为uri的一部分(例如,https://not-a-cti-threat-site.net/)。host-1 110上的浏览器可以向dns 160查询第五域名(例如,not-a-cti-threat-site.net)的ip地址(例如,14.99.65.22)和第五公共加密密钥(例如,site-4-key)。dns 160可以返回条目,诸如来自图3所示的edcl 300的行312。dns查询可以由dns-query-tracker 125实例(未示出)捕获。在接收到对dns查询的响应后,host-1 110上的浏览器可以与14.99.65.22的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用第五公共加密密钥(例如,site-4-key)对域名(例如,not-a-cti-threat-site.net)和/或消息的一个或更多个附加字段进行加密,将消息封装在(l3/ip)目的地ip地址字段设置为14.99.65.22的tcp分组和ip分组pkt-4中,以及将分组pkt-4转发到srvr-4 134。
101.在步骤875中,esni-g/w 120可以拦截分组pkt-4。esni-g/w 120可以检查clienthello消息并确定该消息包括加密的主机名(例如,esni密文)。esni-g/w 120可以提取(l3/ip)目的地ip地址14.99.65.22并在edcl中搜索由14.99.65.22索引的条目。搜索edcl可以包括使用ip地址14.99.65.22查询edcl-svc 123。搜索可以返回来自edcl的条目。条目可以是以上关于图3所讨论的edcl 300的行312。在检查了行312的内容之后,esni-g/w 120可以确定无法从edcl确定对应于esni密文的明文域名。附加地或替代地,esni-g/w 120可以确定在14.99.65.22上托管的多个域不在cti中。esni-g/w 120还可确定对应于加密主机名(例如,esni密文)的明文域名应被解析以正确执行与通信相关联的一个或更多个策略。esni-g/w 120可以欺骗或透明地代理srvr-4 134并向host-1 110发送可以使host-1 110发出不加密sni的clienthello的tls消息。例如,esni-g/w 120可以向host-1 110发送带有(致命)警报代码(例如,代码70“协议版本”)的tls警报协议消息。tls警报消息可以使host-1 110使用不支持加密sni的tls版本(例如,tls 1.2)。附加地或替代地,esni-g/w 120可以向host-1 110发送使host-1 110不使用加密sni选项的tls消息。
102.在步骤880中,host-1 110上的浏览器可以生成sni扩展字段设置为(明文)not-a-cti-threat-site.net的clienthello消息,将该消息封装在(l3/ip)目的地ip地址字段设置为14.99.65.22的tcp分组和ip分组pkt-4.1中,以及将分组pkt-4.1转发到srvr-4 134。在步骤885中,esni-g/w 120可以拦截分组pkt-4.1并检查clienthello消息。基于检查clienthello消息,esni-g/w 120可以确定该消息包括明文sni值not-a-cti-threat-site.net。esni-g/w 120可以调用在步骤805中配置有cti-policy的pkt-filter 122系统,
以在cti-policy中搜索具有匹配标准“not-a-cti-threat-site.net”的分组过滤规则。搜索可能不会返回任何结果。esni-g/w 120可以允许pkt-4.1前往其目的地14.99.65.22(srvr-4 134)。在步骤890中,可以在host-1 110和srvr-4 134之间建立tls隧道,并且可以进行(tls安全)http会话。在http会话完成后,tls隧道和tcp连接可以被拆除。
103.在一些示例中,组织机构可能具有不允许使用esni技术的策略,因为组织结构想要跟踪和监管其内部用户访问和/或尝试访问的外部站点。在这一示例中,策略可由执行与上述步骤870至890中描述的过程类似的过程的esni-g/w应用执行,但不使用edcl和/或具有不同于cti-policy的策略。例如,在步骤875中,当esni-g/w应用确定clienthello消息包括esni密文时,应用可以跳过通过edcl的搜索并且在步骤875中使esni-g/w 120欺骗srvr-4 134。如上所述,esni-g/w可以向host-1 110发送tls消息,其可以使host-1 110发出不包括加密sni的clienthello。步骤880可以不加修改地执行,而步骤885可以应用与cti-policy不同的策略。如果在步骤885中应用的策略允许通信会话继续进行,则步骤890可以不加修改地执行。
104.图9示出了使用支持一个或更多个应用的分组过滤操作来配置esni-g/w 120的过程的示例。一个或更多个应用可以包括例如执法(le)应用,诸如合法拦截,或(2)隐私保护和保持(p3)应用。对于le应用,分组过滤策略和/或edcl可以从lei指标中导出。类似地,分组过滤策略和/或edcl可以从用于p3应用的p3指标(p3i)导出。这种le和p3应用可以包括依赖于观察与通信相关联的域名的逻辑。如果通信与某个lei数据库和/或p3i数据库中包含的域名相关联,则应用可以对通信采取动作。
105.图9的这种描述在形式和功能上类似于图8a和图8b中所述的cti应用。例如,图8a和图8b的cti和/或相关联的cti-policy和edcl可以类似于图9的lei和/或相关联的lei-policy和lei-edcl。tls-mitm-proxy 126在图9中的使用方式可以不同于以上讨论的示例中的使用方式。cti和p3以及其他应用可以出于与lei应用类似的原因使用tls-mitm-proxy 126组件,包括例如(1)将通信密文解密为明文,以便应用可以进一步检查通信以确定对应于esni密文的域名并随后进行相应处理(例如,调用相关联的明文分组上的pkt-filter 122);以及(2)解密通信并进一步检查明文除域名之外的其他信息,诸如用户id,以便做出通信处理决策(例如,是否捕获/存储明文通信)。
106.在步骤910中,spms 150可以向esni-g/w 120分发lei导出的分组过滤策略(例如,lei-policy)和相关联的lei导出的lei-edcl。附加地或替代地,spms 150可以分发dns-esni。esni-g/w 120可以配置其pkt-filter 122、edcl-svc 123和/或dns-esni-svc 124,例如,基于lei导出的分组过滤策略(例如,lei-policy)、相关联的lei导出的lei-edcl和/或dns-esni进行配置。在一些示例中,spms 150可以分发附加的lei数据,包括例如用户id的一个或更多个列表。
107.在步骤920中,在host-2 112上执行的网络浏览器的用户可能尝试访问站点srvr-6 136。srvr-6 136可以托管支持esni的第七域名(例如,lei-watchlist-site.net)。也就是说,第七域的dns条目可以包括第七公共加密密钥。用户可以在浏览器窗口中输入第七域名作为uri的一部分(例如,https://lei-watchlist-site.net/)。浏览器可以向dns 160查询lei-watchlist-site.net的第七ip地址(例如,21.43.65.87)和第七公共加密密钥(例如,site-6-key)。dns查询可以由dns-query-tracker 125实例(未示出)捕获。在接收到来
自dns 160的响应后,host-2 112上的浏览器可以与21.43.65.87的端口443(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成clienthello消息,使用第七公共加密密钥(例如,site-6-key)加密域名和/或消息的一个或更多个部分,将消息封装在(l3/ip)目的地ip地址字段设置为21.43.65.87的tcp分组和ip分组pkt-6中,以及将分组pkt-6转发到srvr-6 136。
108.在步骤930中,esni-g/w 120可以拦截分组pkt-6并检查其中所包含的clienthello消息。esni-g/w 120可以确定该消息包括加密主机名(例如,esni密文)。esni-g/w 120可以提取(l3/ip)目的地ip地址21.43.65.87并通过查询edcl-svc 123在lei-edcl中搜索由21.43.65.87索引的条目。搜索可以返回lei-edcl的条目(由21.43.65.87索引)。基于搜索结果,esni-g/w 120可以确定(解析)(明文)域名为“lei-watchlist-site.net”。esni-g/w 120可以调用在步骤910中配置有lei-policy的pkt-filter 122,以在lei-policy中搜索具有匹配标准“lei-watchlist-site.net”的分组过滤规则。可以找到匹配规则,该匹配规则指示用于处理匹配分组(pkt-6)的“允许”动作和分组转换功能(ptf)“tls-mitm-proxy”。ptf“tls-mitm-proxy”可以发信号通知esni-g/w 120将pkt-6和与pkt-6相同的流/通信所关联的后续分组转发到tls-mitm-proxy 126。在通过tls-mitm-proxy 126之后,pkt-6可以由esni-g/w 120转发到srvr-6 136。在一些示例中,pkt-6的代理版本可以被转发到srvr-6 136。
109.在步骤940中,可以在host-2 112和srvr-6 136之间建立tls隧道,并且可以进行(tls保护的)http会话。包含会话的分组通过tls-mitm-proxy 126,并且应用可以捕获并存储解密的明文消息/分组。应用还可以检查明文的附加信息,例如用户id,以确定其是否允许捕获和存储明文。如果不允许,则可以终止捕获和存储功能并且擦除任何存储的数据和/或以其他方式使其不可访问。在http会话完成后,tls隧道和tcp连接可以被拆除。
110.图10示出了通过esni-g/w 120最小化窃听的分组过滤的示例。只要esni可用,第一应用就可以执行使用esin。第二应用可以执行对所有tls安全通信使用esni。也就是说,第二应用可能只允许支持esni的tls安全通信,并且esni可用于访问这些站点。
111.在步骤1005中,spms 150可以将dns-esni分发到esni-g/w 120。dns-esni可以是dns-esni的更新版本。esni-g/w 120可以用dns-esni配置dns-esni-svc 124。esni-g/w 120可能正在执行第一应用(例如,只要esni可用,就执行使用esni)。
112.在步骤1010中,在host-4 114上执行的网络浏览器的用户可能尝试访问站点srvr-7 137。srvr-7 137可能托管不支持esni的第八域名(例如,non-esni-site.net)。用户可以在浏览器窗口中输入第八域名作为uri的一部分(例如,https://non-esni-site.net/)。响应于接收到第八域名,浏览器可以向dns 160查询第八域名(例如,non-esni-site.net)的ip地址(例如,78.56.34.12)。浏览器接收到ip地址后,可以与78.56.34.12的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成sni字段设置为明文“non-esni-site.net”的clienthello消息,将该消息封装在(l3/ip)目的地ip地址字段设置为78.56.34.12的tcp分组和ip分组pkt-7中,以及将分组pkt-7转发到srvr-7 137。
113.在步骤1015中,esni-g/w 120可以拦截分组pkt-7并检查其中所包含的clienthello消息。esni-g/w 120可以确定该消息包括明文sni值“non-esni-site.net”。
esni-g/w 120可以查询dns-esni-svc 124以确定域“non-esni-site.net”并不支持esni。esni-g/w 120可以允许pkt-7前往其目的地78.56.34.12(srvr-7 137)。在步骤1020中,可以在host-4 114和srvr-7 137之间建立tls隧道,并且可以进行(tls安全)http会话。在http会话完成后,tls隧道和tcp连接可以被拆除。
114.在步骤1025中,在host-4 114上执行的网络浏览器的用户可能尝试访问站点srvr-8 138。srvr-8138可以托管支持esni的第九域名(例如,supports-esni-site.net)。用户可以在浏览器窗口中输入第九域名作为uri的一部分(例如,https://supports-esni-site.net/)。接下来,浏览器可以向dns 160查询第九域(例如,supports-esni-site.net)的ip地址(例如,12.34.43.21)。浏览器接收到ip地址后,可以与12.34.43.21的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以生成sni字段设置为明文“supports-esni-site.net”的clienthello消息,将该消息封装在(l3/ip)目的地ip地址字段设置为12.34.43.21的tcp分组和ip分组pkt-8中,以及将分组pkt-8转发到srvr-8 138。
115.在步骤1030中,esni-g/w 120可以拦截分组pkt-8并检查其中所包含的clienthello消息。esni-g/w 120可以确定该消息包括明文sni值“supports-esni-site.net”。esni-g/w 120可以查询dns-esni-svc 124以确定域“supports-esni-site.net”支持esni。因为第一应用需要在esni可用时使用它,所以esni-g/w 120可以欺骗或透明地代理srvr-8 138。esni-g/w 120可以向host-4 114发送tls消息,该消息可以使host-4 114发出使用esni的clienthello。tls消息可以包括发信号通知host-4 114需要esni的tls警报协议消息。
116.在步骤1035中,在host-4 114上执行的浏览器可以向dns 160查询域“supports-esni-site.net”的公共加密密钥(例如,site-8-key)。浏览器可以生成clienthello消息,使用公共加密密钥(例如,site-8-key)对域名“supports-esni-site.net”和/或消息的一个或更多个其他部分进行加密,将该消息封装在(l3/ip)目的地ip地址字段设置为12.34.43.21的tcp分组和ip分组pkt-8.1中,以及将分组pkt-8.1转发到srvr-8 138。
117.在步骤1040中,esni-g/w 120可以拦截分组pkt-8.1并检查其中所包含的clienthello消息。esni-g/w 120可以确定该消息包括esni密文。esni-g/w 120可以通过将pkt-8.1转发到其目的地12.34.43.21(srvr-8 138)来允许pkt-8.1继续进行。
118.在步骤1045中,可以在host-4 114和srvr-8 138之间建立tls隧道,并且可以进行(tls安全)http会话。在https会话完成后,tls隧道和tcp连接可以被拆除。
119.在步骤1050和1055期间,esni-g/w 120可能正在操作仅允许访问支持esni并需要使用esni的站点的第二应用。
120.在步骤1050中,在host-4 114上执行的网络浏览器的用户可能尝试访问站点srvr-7 137。srvr-7137可以托管不支持esni的第十域名(例如,non-esni-site.net)。用户可以在浏览器窗口中输入域名作为uri的一部分(例如,https://non-esni-site.net/)。浏览器可以向dns 160查询non-esni-site.net的ip地址(例如78.56.34.12)。浏览器接收到ip地址后,可以与78.56.34.12的443端口(https)建立tcp连接。为了建立tls安全会话,浏览器可以创建sni字段设置为明文“non-esni-site.net”的clienthello消息,将该消息封装在(l3/ip)目的地ip地址字段设置为78.56.34.12的tcp分组和ip分组pkt-9中,以及将分组pkt-9转发到srvr-7 137。
121.在步骤1055,esni-g/w 120可以拦截分组pkt-9并检查其中所包含的clienthello消息。esni-g/w 120可以确定该消息包括明文sni值“non-esni-site.net”。esni-g/w 120可以查询dns-esni-svc 124以确定域“non-esni-site.net”并不支持esni。由于第二应用可能只允许访问支持esni的站点,因此esni-g/w 120可以欺骗或透明地代理srvr-7 137。当访问支持esni的站点时,第二应用可以与上述第一应用相类似地执行。esni-g/w 120可以向host-4 114发送带有(致命)警报代码(例如,代码40“握手失败”)的tls警报协议消息。tls警报协议消息可以使host-4114关闭tls会话。附加地或替代地,esni-g/w 120可以向host-4 114发送tcp rst。tcp rst可以使host-4 114拆除tcp连接。
122.如上所述,分组过滤系统可以接收包括密文的分组,该密文包括加密服务器名称指示(sni)值。分组过滤系统可以确定与加密主机名相关联的明文主机名,以确定明文主机名是否与一个或更多个威胁相关联。图11示出了用于确定加密网络流量是否与一个或更多个威胁相关联的过程1100的示例。过程1100的一些或所有步骤可以使用一个或更多个计算设备来执行,诸如分组安全网关120。
123.在步骤1110中,分组过滤设备可以接收一个或更多个威胁指标。例如,分组过滤设备可以直接从一个或更多个网络威胁情报提供方(ctip)接收威胁指标(例如,原始威胁指标)并创建一个或更多个分组过滤规则。分组过滤规则可以从安全策略管理服务器(spms)接收。附加地或替代地,一个或更多个威胁指标可以作为分组过滤规则中的匹配标准被间接接收。在进一步的示例中,分组过滤设备可以接收由从威胁指标导出的分组过滤规则构成的一个或更多个策略。一个或更多个策略可以包括企业通信策略;隐私保护和保持策略;执法策略;或它们的等效物。分组过滤设备可以驻留在第一网络和第二网络之间交界的边界处。就这一点而言,分组过滤设备可以是网关、防火墙、路由器或任何其他类型的边缘设备。附加地或替代地,分组过滤设备可以是位于一个或更多个网段上的直通设备。如上所述,一个或更多个威胁指标可以包括与一个或更多个威胁相关联的多个域名(例如,主机名)。附加地或替代地,一个或更多个威胁指标可以包括与一个或更多个威胁相关联的多个网络地址(例如,ip地址)。
124.在步骤1120中,分组过滤设备可以接收包括密文的多个分组,该密文包括加密服务器名称指示(sni)值。多个分组可以与单个通信和/或消息(诸如clienthello消息)相关联。如上所述,多个分组可以包括密文,该密文包括加密服务器名称指示(sni)值。
125.在步骤1130中,分组过滤设备可以确定是否可以从加密主机名(例如,加密sni(esni))中解析明文主机名。分组过滤设备可以使用以上关于图8a和8b所述的一种或多种技术。例如,分组过滤设备可以确定与多个分组相关联的目的地网络地址(例如,ip地址)。分组过滤设备可以查询由目的地网络地址索引的数据结构以确定与加密主机名相关联或对应的明文主机名。基于查询,分组过滤设备可以接收包括与加密主机名相关联的明文主机名的响应。如上所述,被查询的数据结构可以是esni域名对应关系列表(edcl)。在一些示例中,响应可以包括可以对应于加密主机名的多个明文主机名。也就是说,多个主机名可以与目的地网络地址相关联。分组过滤设备可以指示加密主机名对应于与目的地网络地址相关联的多个主机名之一。此外,目的地网络地址中可以托管其他域名,其域名可以与密文对应;然而,这些域名可能并不在edcl中列出,因为这些域名要么不在cti数据库中,要么不支持esni。
126.在另一示例中,分组过滤设备可以从第一设备接收dns查询请求,并且可以从dns接收相应的dns查询回复。可以在接收多个分组之前接收dns查询请求和/或回复。dns查询请求和/或回复可以被存储在数据结构中。响应于接收到多个分组,分组过滤设备可以基于从第一设备接收到具有加密主机名的多个分组来查询数据结构以确定明文主机名。就这一点而言,分组过滤设备可以确定加密主机名对应于作为dns查询对象的明文主机名。
127.在一些示例中,分组过滤设备可以确定与多个分组相关联的目的地网络地址。对于以上示例,分组过滤设备可以使用目的地网络地址查询数据结构以确定与加密主机名相关联的明文主机名。响应于该查询,分组过滤设备可能接收到无法在数据结构中定位目的地网络地址的响应。分组过滤设备可以向第一设备传送响应。响应可以请求重传具有明文主机名(例如,未加密的服务器名称指示(sni))的多个分组。分组过滤设备可以接收具有明文主机名(例如,sni)的多个分组的重传。
128.在步骤1140中,分组过滤设备可以确定明文主机名是否匹配一个或更多个威胁指标。该确定可以基于以下中的至少一项:从加密服务器名称指示(esni)值解析的明文主机名、与目的地网络地址相关联的明文主机名、dns查询等。如上所讨论,多个明文主机名可以与一个或更多个威胁指标相关联。如上所讨论,例如,如果多个域托管在网络目的地地址上,则可以从包括加密服务器名称指示(esni)值的密文确定多个明文主机名。就这一点而言,分组过滤设备可以将多个主机名中的每一个与一个或更多个威胁指标进行比较。如果多个明文主机名中的一个与一个或更多个威胁指标相关联,则分组过滤设备可以确定多个分组与一个或更多个威胁指标相关联。如果明文主机名并不与一个或更多个威胁指标中的至少一个匹配,则分组过滤设备可以在步骤1150中将多个分组转发到其目的地。在一些示例中,允许通信朝着它们的目的地前进可以允许在第一设备和主机名之间建立安全通信通道(例如,tls)。当明文主机名匹配一个或更多个威胁指标时,分组过滤设备可以对多个分组应用分组过滤操作。分组过滤操作可以包括阻止多个分组继续朝向其预期目的地。附加地或替代地,分组过滤设备可以允许多个分组继续到其预期目的地,同时将多个分组的副本转发到第一代理系统以进行监视。附加地或替代地,分组过滤设备可以将多个分组转发到第二代理以进行进一步处理和/或分析。
129.在一些情况下,企业主机在与支持包含加密服务器名称指示(sni)值的密文的目的地进行通信时可能需要使用加密主机名。图12示出了根据本文所述的一个或更多个示例的用于执行使用加密主机名的策略的过程1200的示例。过程1200的一些或所有步骤可以使用一个或更多个计算设备来执行,诸如分组安全网关120。
130.在步骤1210中,分组过滤设备可以接收一个或更多个策略,如以上关于图9所述。分组过滤设备可以配置有多个分组过滤规则。
131.在步骤1220中,分组过滤设备可以从第一设备接收打算到目的地的第一多个分组。第一多个分组可以与通信或消息(诸如clienthello消息)相关联。第一多个分组可以包括明文主机名。
132.在步骤1230中,分组过滤设备可以确定目的地是否支持esni。例如,分组过滤设备可以查询域名服务以确定针对目的地的条目是否包括公钥。如果条目包括公钥,则分组过滤设备可以确定目的地支持esni。附加地或替代地,分组过滤设备可以查询数据结构(例如,表、数据库等)以确定目的地是否支持esni。当数据结构中存在针对目的地的条目时,分
组过滤设备可以确定目的地支持esni。如果目的地不支持esni,则分组过滤设备可以在步骤1235中将多个分组转发到目的地。多个分组可以包括与在第一设备和目的地之间创建安全通信信道(例如,tls)相关联的一个或更多个通信。如果目的地不支持esni,则在步骤1240,分组过滤设备可以传送包括第一设备使用esni的指示的消息。
133.在步骤1250中,分组过滤设备可以从第一设备接收打算到目的地的第二多个分组。第二多个分组可以包括密文,该密文包括加密服务器名称指示(sni)值(例如,esni密文)。在一些示例中,分组过滤设备可以执行以上关于图11所讨论的分析以确定明文主机名以及明文主机名是否与一个或更多个威胁指标相关联。策略执行方面和过滤方面可以同时或连续执行。在一些示例中,分组过滤设备可以存储来自第一多个分组的明文主机名并且将明文主机名与第二多个分组中的esni密文相关联。如上所述,如果目的地不与一个或更多个威胁指标相关联,则在步骤1260中,分组过滤设备可以向目的地转发第二多个分组。附加地或替代地,可以响应于确定第二多个分组包括加密的sni(例如,esni密文)来转发第二多个分组。第二多个分组可以包括与在第一设备和目的地之间创建安全通信信道(例如,tls)相关联的一个或更多个通信。
134.分组过滤设备可以根据诸如企业策略(例如,数据保留策略、合规性策略等)、执法策略或隐私保护和保持策略(p3)之类的策略来存储一个或更多个分组。图13示出了用于存储分组的过程1300的示例。过程1300的一些或所有步骤可以使用一个或更多个计算设备来执行,诸如分组安全网关120。
135.在步骤1310中,分组过滤设备可以接收一个或更多个策略。分组过滤设备可以配置有多个分组过滤规则。一个或更多个策略可以包括企业通信策略;隐私保护和保持策略;执法策略;或它们的等效物。在步骤1320中,分组过滤设备可以接收多个加密分组。多个加密分组可以包括加密主机名(例如,esni密文)。如上所述,分组过滤设备可以执行以上关于图11所讨论的分析以确定明文主机名以及明文主机名是否与一个或更多个威胁指标相关联。
136.在步骤1330中,分组过滤设备可以解密多个加密分组以获得多个明文分组。分组过滤设备可以将多个加密分组转发到(透明的)中间tls中间人(mitm)代理功能。mitm代理功能可以解密tls安全应用会话,检查未加密形式的该会话,重新加密该会话,以及将该tls安全会话转发到其目的地。在步骤1340中,分组过滤设备(例如,mitm代理功能)可以检查(例如,调查)明文分组。在一些示例中,分组过滤设备可以在会话内容中提取与esni密文对应的明文域名。在一些情况下,分组过滤设备可以使用提取的明文域名来执行以上关于图11所讨论的分析。
137.在步骤1350中,分组过滤设备可以确定是否允许捕获和存储多个分组。该确定可以基于以下策略,诸如企业通信策略;隐私保护和保持策略;执法策略;或它们的等效物。就这一点而言,企业通信策略可能要求记录和/或归档通信以符合监管方案(即hipaa、sarbanes-oxley等)。在另一示例中,执法策略可以基于执法部门是否被授权存储通信。如果存在存储多个分组的逻辑依据,则在步骤1360中,分组过滤设备可以存储多个解密分组的副本。在存储解密分组之后,过程1300可以进行到步骤1370。如果不允许存储多个解密分组或者在存储解密分组之后,分组过滤设备可以将多个加密分组转发到其目的地。如上所述,多个加密分组可以允许第一设备和目的地之间的安全通信信道(例如,tls)。
138.本文所述的技术允许分组过滤设备从加密主机名解析明文主机名。明文主机名可用于确定网络流量本质上是否是恶意的。这允许分组过滤设备在尝试与恶意主机通信时防止恶意软件使用安全通信通道绕过分组过滤设备。进一步地,本文所述的技术允许分组过滤设备针对已知威胁监视加密的网络流量。这提供了改进的网络监视并减少了恶意软件的传播。另外,在目的地支持时执行esni可以减少诸如通过恶意窃听造成的隐私泄露的威胁。此外,本文所述的技术可以执行通信以遵守隐私法律和/或法规。最后,本文所述的技术可以帮助执法部门监视加密的网络流量。
139.本文所讨论的一个或更多个特征可以体现在由本文所述的一个或更多个计算机或其他设备执行的计算机可用或可读数据和/或计算机可执行指令中,诸如在一个或更多个程序模块中。程序模块可以包括例程、程序、对象、组件、数据结构等,它们在由计算机或其他设备中的处理器执行时执行特定任务或实现特定抽象数据类型。可以用源代码编程语言编写模块,随后将其编译以供执行,或者可以用脚本语言编写模块,脚本语言诸如(但不限于)html或xml。计算机可执行指令可以存储在诸如硬盘、光盘、可移动存储介质、固态存储器、ram等的计算机可读介质上。程序模块的功能可以根据需要组合或分配。另外,功能可以全部或部分地体现在固件或硬件等效物中,诸如集成电路、现场可编程门阵列(fpga)等。特定的数据结构可以用于更有效地实现本文所述的一个或更多个特征,并且此类数据结构被认为在本文所述的计算机可执行指令和计算机可用数据的范围内。本文所述的各种特征可以体现为方法、计算设备、系统和/或计算机程序产品。
140.尽管已经根据各种示例描述了本公开,但是对于本领域技术人员而言,许多附加修改和变化将是显而易见的。特别地,以上所述的各种过程中的任何过程可以以替代顺序和/或并行(在不同的计算设备上)执行,以便以更适合特定应用的要求的方式实现类似的结果。因此应当理解,在不脱离本公开的范围和精神的情况下,可以以不同于具体描述的方式来实践本公开。尽管以上描述了示例,但是可以以任何期望的方式组合、划分、省略、重新排列、修改和/或增加那些示例的特征和/或步骤。因此,本公开在所有方面都应被视为说明性的而非限制性的。因此,本公开的范围不应由示例来确定,而应由所附权利要求书及其等效物来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献