CN114449064B - Tls加密流量的应用识别方法、装置和应用识别设备 - Google Patents

Tls加密流量的应用识别方法、装置和应用识别设备 Download PDF

Info

Publication number
CN114449064B
CN114449064B CN202210096585.6A CN202210096585A CN114449064B CN 114449064 B CN114449064 B CN 114449064B CN 202210096585 A CN202210096585 A CN 202210096585A CN 114449064 B CN114449064 B CN 114449064B
Authority
CN
China
Prior art keywords
tls
application
target
message
encrypted traffic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210096585.6A
Other languages
English (en)
Other versions
CN114449064A (zh
Inventor
张炎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TP Link Technologies Co Ltd
Original Assignee
TP Link Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TP Link Technologies Co Ltd filed Critical TP Link Technologies Co Ltd
Priority to CN202210096585.6A priority Critical patent/CN114449064B/zh
Publication of CN114449064A publication Critical patent/CN114449064A/zh
Application granted granted Critical
Publication of CN114449064B publication Critical patent/CN114449064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及网络通信技术领域,尤其涉及一种TLS加密流量的应用识别方法、装置和应用识别设备。该应用识别方法包括:跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;对建立所述连接的报文进行解析;若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。采用该应用识别方法,不仅对CPU性能损耗不高,同时可准确有效识别TLS协议下流量所属的应用。

Description

TLS加密流量的应用识别方法、装置和应用识别设备
技术领域
本申请涉及网络通信技术领域,尤其涉及一种TLS加密流量的应用识别方法、装置和应用识别设备。
背景技术
随着网络安全法的逐步完善、用户信息安全隐私保护的加强,越来越多的网站、应用开始使用TLS协议(Transport Layer Security,安全传输层协议)对传输的网络流量进行加密,以保证数据的安全传输,这给流量识别工作带量了严峻的挑战。目前,如行为管理、路由器、防火墙等网络产品或***一般都采用DPI技术(Deep Packet Inspection,深度包检测技术)对应用的流量进行识别。然而,当网络应用的流量使用TLS加密后,可以提取的特征字段将大大减少,无法准确有效的识别流量所属的应用。
当前还有一种解决方案是通过在网关设备(行为管理、路由器、防火墙等)中添加TLS解密模块,通过TLS中间人的解密方法获取解密后的流量,从而实现流量所属应用的识别。但该方案需要对全部的流量进行TLS解密,对设备的CPU性能损耗严重。
综上所述,如何有效识别TLS协议下流量所属应用已成为当前网络管理面临的挑战。
发明内容
有鉴于此,本申请实施例提供了一种TLS加密流量的应用识别方法、装置和应用识别设备,可在对CPU性能损耗不高的情形下,准确有效识别TLS协议下流量所属的应用。
本申请实施例的第一方面提供了一种TLS加密流量的应用识别方法,所述应用识别方法包括:
跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;
对建立所述连接的报文进行解析;
若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
在第一方面的一种可能的实现方式中,所述通信信息包括所述目标服务器对应的目标IP和目标端口,所述与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用,包括:
根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接;
基于所述TCP连接,发送TLS握手请求至所述目标服务器;
接收所述目标服务器基于所述TLS握手请求反馈的响应信息;
根据所述响应信息,确定所述TLS加密流量所属的应用。
在第一方面的一种可能的实现方式中,所述根据所述响应信息,确定所述TLS加密流量所属的应用,包括:
从所述响应信息中提取TLS证书,并获取所述TLS证书中目标字段的信息;
将所述目标字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
在第一方面的一种可能的实现方式中,所述TLS握手请求携带支持的TLS版本,所述从所述响应信息中提取TLS证书,包括:
若所述目标服务器协商的TLS版本为第一版本,则从所述响应信息中提取所述目标服务器以明文形式发送的TLS证书;
若所述目标服务器协商的TLS版本为第二版本,则从所述响应信息中获取所述目标服务器加密发送的TLS证书;
根据所述响应信息中所述目标服务器选择的加密算法及其对应密钥,解密所述TLS证书。
在第一方面的一种可能的实现方式中,所述应用识别方法还包括:
若解析确定所述报文为第二目标报文,则提取所述第二目标报文中指定字段的信息;
将所述指定字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
在第一方面的一种可能的实现方式中,所述报文包括请求报文,所述对建立所述连接的报文进行解析,包括:
获取所述客户端发送至所述目标服务器的请求报文,所述请求报文用于所述客户端与所述目标服务器建立连接;
若所述请求报文中不包含SNI字段,则确定所述请求报文为第一目标报文;
若所述请求报文中包含SNI字段,则确定所述请求报文为第二目标报文。
在第一方面的一种可能的实现方式中,所述应用识别方法还包括:
缓存所述TLS加密流量所属应用的识别结果,以及所述目标服务器对应的目标IP和目标端口;
在预设时长内,若检测到第一目标报文,则根据缓存的内容,对跟踪的客户端的TLS加密流量所属的应用进行识别。
在第一方面的一种可能的实现方式中,所述应用识别方法还包括:
在预设名单中查找所述TLS加密流量所属的应用,所述预设名单包括黑名单和白名单;
若所述应用在所述黑名单中,限制所述客户端访问所述应用;
若所述应用在所述白名单中,允许所述客户端访问所述应用;
或者,统计预设时间段内所述客户端对应的TLS加密流量,获得所述客户端在所述预设时间段内使用所述TLS加密流量所属应用的已耗费流量;
根据所述已耗费流量,对所述客户端访问所述应用进行限制。
本申请实施例的第二方面提供了一种TLS加密流量的应用识别装置,所述应用识别装置包括:
识别监测单元,用于跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;
报文解析单元,用于对建立所述连接的报文进行解析;
应用识别单元,用于若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
本申请实施例的第三方面提供了一种应用识别设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的TLS加密流量的应用识别方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的TLS加密流量的应用识别方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行本申请实施例的第一方面所述的TLS加密流量的应用识别方法的步骤。
本申请实施例中,通过跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量,对建立所述连接的报文进行解析,若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。本申请方案不需要对连接产生的全部TLS加密流量解密,对应用识别设备的CPU损耗不高,同时,可准确有效的识别TLS加密流量所属的应用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的TLS加密流量的应用识别方法的实现流程图;
图2是本申请实施例提供的根据通信信息识别所述TLS加密流量所属的应用的具体实现流程图;
图3是本申请实施例提供的根据所述响应信息,确定所述TLS加密流量所属的应用的具体实现流程的具体实现流程图;
图4是本申请实施例提供的一种TLS加密流量的应用识别方法中根据缓存内容进行流量应用识别的具体实现流程图;
图5是本申请另一实施例提供的TLS加密流量的应用识别方法的实现流程图;
图6是本申请实施例提供的一种TLS加密流量的应用识别方法中对识别的流量进行统计和应用限制的一种具体实现流程图;
图7是本申请实施例提供的一种TLS加密流量的应用识别装置的结构框图;
图8是本申请实施例提供的一种应用识别设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应当理解,本申请各个方法实施例提供了一种TLS加密流量的应用识别方法,适用于需要执行流量识别的各种类型应用识别设备,具体可以为使用DPI技术的DPI设备。本实施例中,应用上述TLS加密流量的应用识别方法的可以为独立于DIP设备的装置,也可以是内置于DPI设备中的装置。
下面结合具体实施例对本申请提供的TLS加密流量的应用识别方法进行示例性的说明。
图1示出了本申请实施例提供的TLS加密流量的应用识别方法的实现流程,本申请实施例的执行端为应用识别设备,所述应用识别设备具体可以为DPI设备(防火墙、行为管理、路由器或使用DPI技术的软件***等)。该方法流程可以包括如下步骤S101至S103。
S101:跟踪客户端采用TLS协议与目标服务器建立连接,并监测所述连接产生的TLS加密流量。
本申请实施例中,内网用户通过客户端发起对目标服务器的访问,客户端采用TLS协议与目标服务器建立连接,产生TLS加密流量,DPI设备对客户端与目标服务器的连接进行识别与跟踪,并监测所述客户端与所述目标服务器连接通信阶段所产生的TLS加密流量。
上述TLS加密流量具体指客户端与目标服务器进行TLS握手时产生的流量。
上述目标服务器具体为上述内网用户要访问的网络应用对应的服务器,例如,网络应用“爱奇艺”对应的服务器。
在一种可能的实施方式中,应用设备先对内网用户进行识别,根据识别结果确定是否跟踪该内网用户的客户端。具体地,获取用户标识,例如用户账号,根据所述用户标识,确定该用户是否为需跟踪的内网用户,若是内网用户,则跟踪该内网用户通过客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;若不是,则忽视该用户。
S102:对建立所述连接的报文进行解析。
在本申请实施例中,通过对建立所述连接的报文进行解析,确定所述请求报文中是否包含指定字段。若不包含所述指定字段,则确定该请求报文为第一报文,若包含所述指定字段,则确定所述请求报文为第二目标报文。
本申请实施例中,所述报文包括请求报文,所述指定字段具体为SNI字段。获取所述客户端发送至所述目标服务器的请求报文,所述请求报文用于所述客户端与所述目标服务器建立连接。若所述请求报文中不包含SNI字段,则确定所述请求报文为第一目标报文。具体地,所述第一目标报文具体为未携带SNI字段的客户端问候Client Hello报文。若所述请求报文中包含SNI字段,则确定所述请求报文为第二目标报文。具体地,所述第二目标报文具体为携带SNI字段的客户端问候Client Hello报文。
一般地,所述客户端与所述目标服务器连接通信阶段的通信信息包括但不限于:IP地址、服务器名称标识SNI和/或者TLS握手信息;所述TLS握手信息包括:服务器端握手信息和/或者客户端握手信息;所述IP地址,包括:客户端IP地址和目标服务器IP地址。在一些实施方式中,所述通信信息还包括域名DNS以及证书信息。
S103:若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
随着TLS技术的发展以及版本更新,在TLS1.3协议(RFC 8446)中已经将TLSCertificate进行加密,这导致该DPI技术识别TLS流量只能根据SNI进行识别,而SNI本身就是TLS的扩展字段,部分应用的TLS流量中可能并不携带该字段(根据实际测试,京东、淘宝、爱奇艺、新浪新闻等应用的部分TLS1.3流量已隐藏了SNI字段),而且,TLS1.3还引入了ESNI(Encrypt Server Name Indication,加密SNI)技术,该草案已拟定发布讨论,使用ESNI后,中间设备将无法获取到SNI字段,本申请实施例中,对客户端采用TLS协议与目标服务器建立连接的报文进行解析,解析得到的报文中可能包含SNI字段,也可能不包含SNI字段。
本实施例中,在解析确定请求报文是不包含SNI字段的第一目标报文时,应用识别设备与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
作为本申请一种可能的实施方式,上述通信信息包括所述目标服务器对应的目标IP和目标端口,图2示出了本申请实施例提供的应用识别方法中应用识别设备与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用的具体实现流程,详述如下:
A1:根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接。TCP连接过程参照现有技术,此处不赘述。
A2:基于所述TCP连接,发送TLS握手请求至所述目标服务器。所述TLS握手请求携带支持的TLS版本字段。
在本申请实施例中,应用识别设备根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接,并基于所述TCP连接,发送TLS握手请求至所述目标服务器,请求与所述目标服务器的TLS连接。
具体地,应用识别设备发送Client Hello请求报文至所述目标服务器。其中,所述Client Hello请求报文需携带支持的TLS版本字段。
A3:接收所述目标服务器基于所述TLS握手请求反馈的响应信息。
目标服务器在接收到上述TLS握手请求后,会进行响应上述TLS握手请求,反馈的响应信息。
具体地,上述目标服务器回复的响应信息包括Server Hello报文和TLS证书(TLSCertificate)信息。
A4:根据所述响应信息,确定所述TLS加密流量所属的应用。
上述应用识别设备内置监测模块,用于监测所述客户端与所述目标服务器连接通信阶段所产生的TLS加密流量,并检查Client Hello中的SNI字段,当侦测到未携带SNI字段的TLS流量时,收集该流量的目标IP和目标端口。
在本申请实施例中,当检测到内网用户发起的TLS请求Client Hello报文中未携带SNI字段时,记录该TLS请求的目标服务器对应的目标IP和目标端口,应用识别设备根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接,并基于所述TCP连接,发送TLS握手请求至所述目标服务器,请求与所述目标服务器的TLS连接,目标服务器接收该握手请求,并基于该握手请求进行响应,反馈响应信息,应用识别设备根据所述响应信息,确定所述TLS加密流量所属的应用,即使客户端问候Client Hello报文未携带SNI字段,也可有效识别TLS加密流量所属的应用。
作为本申请一种可能的实施方式,图3示出了本申请实施例提供的应用识别方法实施例中,根据所述响应信息,确定所述TLS加密流量所属的应用的具体实现流程,详述如下:
B1:从所述响应信息中提取TLS证书,并获取所述TLS证书中目标字段的信息。上述TLS证书中目标字段具体为CN(Common Name,通用名称)、SAN(Subject Alternative Name,证书备选名称)字段。
B2:将所述目标字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
上述应用识别设备包括预设特征库,所述预设特征库用于存储主流应用的相关域名信息,例如,爱奇艺应用在预设特征库包含了如下域名:*.iqiyi.com、*.iqiyipic.com、*.qy.net、*.71edge.com、*.qiyi.com等,其中*号代表任意前缀。本申请实施例中,应用识别设备将获取的TLS证书中CN、SNA字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果即可快速准确的确定所述TLS加密流量所属的应用,无需对所有的TLS加密流量进行解密,对CPU性能损耗较小。
在一种可能的实施方式中,所述TLS握手请求携带支持的TLS版本,声明支持的TLS版本至少有:TLS1.0、TLS1.1、TLS1.2、TLS1.3,同时,也需要携带各TLS版本协商所需的相关字段,如Cipher Suites、Extension:supported groups等。所述从所述响应信息中提取TLS证书,包括:
B11:若所述目标服务器协商的TLS版本为第一版本,则从所述响应信息中提取所述目标服务器以明文形式发送的TLS证书。所述第一版本具体为TLS1.0、TLS1.1或者TLS1.2中的一种。
当应用识别设备与目标服务器协商的TLS版本为TLS1.0、TLS1.1或者TLS1.2中的一种,则目标服务器会以明文的形式将TLS证书发送给应用识别设备,应用识别设备可以直接从所述响应信息中提取TLS证书。
B12:若所述目标服务器协商的TLS版本为第二版本,则从所述响应信息中获取所述目标服务器加密发送的TLS证书。所述第二版本具体为TLS1.3版本。
B13:根据所述响应信息中所述目标服务器选择的加密算法及其对应密钥,解密所述TLS证书。
当应用识别设备与目标服务器协商的TLS版本为TLS1.3版本,则目标服务器会对TLS证书进行加密后发送,应用识别设备可以根据所述响应信息中所述目标服务器选择的加密算法及其对应密钥,解密所述TLS证书。
示例性地,若目标服务器协商到TLS1.3版本,则会对TLS证书进行加密发送,应用识别设备可以根据目标服务器反馈的响应信息中的Server Hello中的加密算法和对应的秘钥信息对TLS证书进行解密,例如,根据目标服务器选择的ECDHE算法及其对应的key-share来解密TLS证书。
作为本申请一种可能的实施方式,如图4所示,所述应用识别方法还包括:
C1:缓存所述TLS加密流量所属应用的识别结果,以及所述目标服务器对应的目标IP和目标端口。
C2:在预设时长内,若检测到第一目标报文,则根据缓存的内容,对跟踪的客户端的TLS加密流量所属的应用进行识别。其中,所述预设时长可由应用识别设备用户自定义。
在一种可能的实施方式中,为节省缓存空间,缓存所述目标IP、所述目标端口与所述目标服务器反馈的响应信息中TLS证书的目标字段的对应关系。
在预设时长内,当应用识别设备再次收到内网用户通过客户端发送的对该目标IP和目标端口的无SNI字段的TLS请求时,可以直接使用缓存的内容识别该内网用户的TLS加密流量所属的应用,从而提高应用识别的效率。
在一种可能的实施方式中,当预设时长结束,清除缓存的内容,释放缓存,避免缓存过多影响处理效率。
在本申请实施例中,应用识别设备通过跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量,对建立所述连接的报文进行解析,若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。本申请方案不需要对全部的流量进行TLS解密,对应用识别设备的CPU损耗不高,同时,可准确有效的识别TLS加密流量所属的应用。
作为本申请一种可能的实施方式,图5示出了本申请实施例提供的另一种的TLS加密流量的应用识别方法,详述如下:
S201:跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量。
S202:对建立所述连接的报文进行解析。
S203:若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
本实施例中,步骤S201至步骤S203的具体步骤参见上述实施例步骤S101至步骤S103,在此不再赘述。
S204:若解析确定所述报文为第二目标报文,则提取所述第二目标报文中指定字段的信息。
本申请实施例中,对建立所述连接的报文进行解析确定所述报文是携带指定字段,即确定所述报文为第二目标报文,例如客户端问候Client Hello报文,提取所述第二目标报文中的指定字段的信息,例如,提取客户端问候Client Hello报文中的SNI字段的信息。
S205:将所述指定字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
本申请实施例中,提取所述第二目标报文中指定字段的信息,将所述指定字段的信息与预设特征库中预存的字段信息进行匹配,并根据匹配结果确定所述TLS加密流量所属的应用。
示例性地,对于Client Hello中携带了SNI字段的情况则可以直接提取SNI字段同预设特征库进行匹配,如SNI为“iface2.iqiyi.com”,则可以匹配到预设特征库中的“*.iqiyi.com”规则,从而确认为爱奇艺的流量。
作为本申请一种可能的实施方式,图6示出了本申请实施例提供的另一种的TLS加密流量的应用识别方法,详述如下:
D1:统计预设时间段内所述客户端对应的TLS加密流量,获得所述客户端在所述预设时间段内使用所述TLS加密流量所属应用的已耗费流量。所述预设时间段可自定义。例如,早上9点至12点,下午2点至6点。
D2:根据所述已耗费流量,对所述客户端访问所述应用进行限制。
本实施例中,当所述已耗费流量达到预设流量阈值时,对所述内网用户通过客户端访问所述应用进行限制。
本申请实施例中,通过对内网用户对网络应用的访问情况进行统计,并根据所述已耗费流量,对所述内网用户访问所述应用进行限制,从而对内网用户使用网络应用进行约束。例如,统计用户在上班时段访问爱奇艺所耗费的流量,当统计得到的已耗费流量达到预设流量阈值时,限制该内网用户访问爱奇艺。
作为本申请一种可能的实施方式,在预设名单中查找所述TLS加密流量所属的应用,所述预设名单包括黑名单和白名单。若所述应用在所述黑名单中,限制所述客户端访问所述应用,所述黑名单中列明了禁止客户端访问的应用,对客户端访问该应用产生的流量进行限制RST;若所述应用在所述白名单中,允许所述客户端访问所述应用,所述白名单中列明了允许访问的应用,对客户端访问白名单中应用产生的流量放行。
在一些实施方式中,应用识别设备还对识别的应用选路。具体地,根据识别的应用所属的应用类型,确定相应的选路策略。选路策略不同,交换网络的阻塞率也就不同。
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的TLS加密流量的应用识别方法,图7示出了本申请实施例提供的TLS加密流量的应用识别装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该应用识别装置包括:识别监测单元71,报文解析单元72,应用识别单元73,其中:
识别监测单元71,用于跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;
报文解析单元72,用于对建立所述连接的报文进行解析;
应用识别单元73,用于若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
作为本申请一种可能的实施方式,所述通信信息包括所述目标服务器对应的目标IP和目标端口,上述应用识别单元73包括:
TCP连接模块,用于根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接;
TLS连接模块,用于基于所述TCP连接,发送TLS握手请求至所述目标服务器;
响应信息接收模块,用于接收所述目标服务器基于所述TLS握手请求反馈的响应信息;
应用识别模块,用于根据所述响应信息,确定所述TLS加密流量所属的应用。
作为本申请一种可能的实施方式,所述应用识别模块具体用于:
从所述响应信息中提取TLS证书,并获取所述TLS证书中目标字段的信息;
将所述目标字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
作为本申请一种可能的实施方式,所述TLS握手请求携带支持的TLS版本,所述从所述响应信息中提取TLS证书,包括:
若所述目标服务器协商的TLS版本为第一版本,则从所述响应信息中提取所述目标服务器以明文形式发送的TLS证书;
若所述目标服务器协商的TLS版本为第二版本,则从所述响应信息中获取所述目标服务器加密发送的TLS证书;
根据所述响应信息中所述目标服务器选择的加密算法及其对应密钥,解密所述TLS证书。
作为本申请一种可能的实施方式,上述应用识别单元73还用于:
若解析确定所述报文为第二目标报文,则提取所述第二目标报文中指定字段的信息;
将所述指定字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
作为本申请一种可能的实施方式,所述报文包括请求报文,上述报文解析单元72包括:
请求报文获取模块,用于获取所述客户端发送至所述目标服务器的请求报文,所述请求报文用于所述客户端与所述目标服务器建立连接;
目标报文确定模块,用于若所述请求报文中不包含SNI字段,则确定所述请求报文为第一目标报文;若所述请求报文中包含SNI字段,则确定所述请求报文为第二目标报文。
作为本申请一种可能的实施方式,上述应用识别装置还包括:
缓存单元,用于缓存所述TLS加密流量所属应用的识别结果,以及所述目标服务器对应的目标IP和目标端口;
所述应用识别单元73,还用于在预设时长内,若检测到第一目标报文,则根据缓存的内容,对跟踪的客户端的TLS加密流量所属的应用进行识别。
作为本申请一种可能的实施方式,上述应用识别装置还包括:
第一访问限制单元,用于在预设名单中查找所述TLS加密流量所属的应用,所述预设名单包括黑名单和白名单;若所述应用在所述黑名单中,限制所述客户端访问所述应用;若所述应用在所述白名单中,允许所述客户端访问所述应用;
流量统计单元,用于统计预设时间段内所述客户端对应的TLS加密流量,获得所述客户端在所述预设时间段内使用所述TLS加密流量所属应用的已耗费流量;
应用使用限制单元,用于根据所述已耗费流量,对所述客户端访问所述应用进行限制。
由上可见,本申请实施例中,通过跟踪客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量,对建立所述连接的报文进行解析,若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。本申请方案不需要对连接产生的全部TLS加密流量解密,对应用识别设备的CPU损耗不高,同时,可准确有效的识别TLS加密流量所属的应用。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图1至图6表示的任意一种TLS加密流量的应用识别方法的步骤。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行实现如图1至图6表示的任意一种TLS加密流量的应用识别方法的步骤。
图8是本申请一实施例提供的应用识别设备的示意图。如图8所示,该实施例的应用识别设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个TLS加密流量的应用识别方法的实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示单元71至73的功能。
所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述应用识别设备8中的执行过程。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述应用识别设备8的内部存储单元,例如应用识别设备8的硬盘或内存。所述存储器81也可以是所述应用识别设备8的外部存储设备,例如所述应用识别设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述应用识别设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述应用识别设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种TLS加密流量的应用识别方法,其特征在于,所述应用识别方法应用于应用识别设备,所述应用识别方法包括:
跟踪内网用户的客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;
对建立所述连接的报文进行解析,所述报文包括请求报文,所述请求报文用于所述客户端与所述目标服务器建立连接;获取所述客户端发送至所述目标服务器的请求报文,确定所述请求报文中是否包含指定字段,若不包含所述指定字段,则确定该请求报文为第一目标报文;
若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
2.如权利要求1所述的应用识别方法,其特征在于,所述通信信息包括所述目标服务器对应的目标IP和目标端口,所述与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用,包括:
根据所述目标IP和所述目标端口,向所述目标服务器发起TCP连接请求,请求建立TCP连接;
基于所述TCP连接,发送TLS握手请求至所述目标服务器;
接收所述目标服务器基于所述TLS握手请求反馈的响应信息;
根据所述响应信息,确定所述TLS加密流量所属的应用。
3.如权利要求2所述的应用识别方法,其特征在于,所述根据所述响应信息,确定所述TLS加密流量所属的应用,包括:
从所述响应信息中提取TLS证书,并获取所述TLS证书中目标字段的信息;
将所述目标字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
4.如权利要求3所述的应用识别方法,其特征在于,所述TLS握手请求携带支持的TLS版本,所述从所述响应信息中提取TLS证书,包括:
若所述目标服务器协商的TLS版本为第一版本,则从所述响应信息中提取所述目标服务器以明文形式发送的TLS证书;
若所述目标服务器协商的TLS版本为第二版本,则从所述响应信息中获取所述目标服务器加密发送的TLS证书;
根据所述响应信息中所述目标服务器选择的加密算法及其对应密钥,解密所述TLS证书。
5.如权利要求1所述的应用识别方法,其特征在于,所述应用识别方法还包括:
若解析确定所述报文为第二目标报文,则提取所述第二目标报文中指定字段的信息;
将所述指定字段的信息与预设特征库中预存的字段信息进行匹配,根据匹配结果确定所述TLS加密流量所属的应用。
6.如权利要求1所述的应用识别方法,其特征在于,所述对建立所述连接的报文进行解析,包括:
若所述请求报文中不包含SNI字段,则确定所述请求报文为第一目标报文;
若所述请求报文中包含SNI字段,则确定所述请求报文为第二目标报文。
7.如权利要求1至6任一项所述的应用识别方法,其特征在于,所述应用识别方法还包括:
缓存所述TLS加密流量所属应用的识别结果,以及所述目标服务器对应的目标IP和目标端口;
在预设时长内,若检测到第一目标报文,则根据缓存的内容,对跟踪的客户端的TLS加密流量所属的应用进行识别。
8.如权利要求1至6任一项所述的应用识别方法,其特征在于,所述应用识别方法还包括:
在预设名单中查找所述TLS加密流量所属的应用,所述预设名单包括黑名单和白名单;
若所述应用在所述黑名单中,限制所述客户端访问所述应用;
若所述应用在所述白名单中,允许所述客户端访问所述应用;
或者,统计预设时间段内所述客户端对应的TLS加密流量,获得所述客户端在所述预设时间段内使用所述TLS加密流量所属应用的已耗费流量;
根据所述已耗费流量,对所述客户端访问所述应用进行限制。
9.一种TLS加密流量的应用识别装置,其特征在于,所述应用识别装置应用于应用识别设备,所述应用识别装置包括:
识别监测单元,用于跟踪内网用户的客户端采用TLS协议与目标服务器建立连接,并监测通过所述连接产生的TLS加密流量;
报文解析单元,用于对建立所述连接的报文进行解析,所述报文包括请求报文,所述请求报文用于所述客户端与所述目标服务器建立连接;获取所述客户端发送至所述目标服务器的请求报文,确定所述请求报文中是否包含指定字段,若不包含所述指定字段,则确定该请求报文为第一目标报文;
应用识别单元,用于若解析确定所述报文为第一目标报文,则与所述目标服务器建立通信,并根据通信信息识别所述TLS加密流量所属的应用。
10.一种应用识别设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的TLS加密流量的应用识别方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的TLS加密流量的应用识别方法的步骤。
CN202210096585.6A 2022-01-26 2022-01-26 Tls加密流量的应用识别方法、装置和应用识别设备 Active CN114449064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210096585.6A CN114449064B (zh) 2022-01-26 2022-01-26 Tls加密流量的应用识别方法、装置和应用识别设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210096585.6A CN114449064B (zh) 2022-01-26 2022-01-26 Tls加密流量的应用识别方法、装置和应用识别设备

Publications (2)

Publication Number Publication Date
CN114449064A CN114449064A (zh) 2022-05-06
CN114449064B true CN114449064B (zh) 2023-12-29

Family

ID=81369626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210096585.6A Active CN114449064B (zh) 2022-01-26 2022-01-26 Tls加密流量的应用识别方法、装置和应用识别设备

Country Status (1)

Country Link
CN (1) CN114449064B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116032545B (zh) * 2022-12-06 2024-03-22 北京中睿天下信息技术有限公司 一种ssl或tls流量多级过滤方法和***
CN117240735B (zh) * 2023-11-09 2024-01-19 湖南戎腾网络科技有限公司 一种音视频流的过滤方法、***、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802924A (zh) * 2017-11-17 2019-05-24 华为技术有限公司 一种识别加密数据流的方法及装置
CN110198297A (zh) * 2018-10-08 2019-09-03 腾讯科技(深圳)有限公司 流量数据监控方法、装置、电子设备及计算机可读介质
CN110868409A (zh) * 2019-11-08 2020-03-06 中国科学院信息工程研究所 一种基于tcp/ip协议栈指纹的操作***被动识别方法及***
CN111917694A (zh) * 2019-05-09 2020-11-10 中兴通讯股份有限公司 一种tls加密流量识别方法及装置
CN112839055A (zh) * 2021-02-04 2021-05-25 北京六方云信息技术有限公司 面向tls加密流量的网络应用识别方法及装置
CN113518080A (zh) * 2021-06-23 2021-10-19 北京观成科技有限公司 一种tls加密流量检测方法、装置和电子设备
CN113595967A (zh) * 2020-04-30 2021-11-02 深信服科技股份有限公司 数据识别方法、设备、存储介质及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419942B1 (en) * 2013-06-05 2016-08-16 Palo Alto Networks, Inc. Destination domain extraction for secure protocols

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802924A (zh) * 2017-11-17 2019-05-24 华为技术有限公司 一种识别加密数据流的方法及装置
CN110198297A (zh) * 2018-10-08 2019-09-03 腾讯科技(深圳)有限公司 流量数据监控方法、装置、电子设备及计算机可读介质
CN111917694A (zh) * 2019-05-09 2020-11-10 中兴通讯股份有限公司 一种tls加密流量识别方法及装置
CN110868409A (zh) * 2019-11-08 2020-03-06 中国科学院信息工程研究所 一种基于tcp/ip协议栈指纹的操作***被动识别方法及***
CN113595967A (zh) * 2020-04-30 2021-11-02 深信服科技股份有限公司 数据识别方法、设备、存储介质及装置
CN112839055A (zh) * 2021-02-04 2021-05-25 北京六方云信息技术有限公司 面向tls加密流量的网络应用识别方法及装置
CN113518080A (zh) * 2021-06-23 2021-10-19 北京观成科技有限公司 一种tls加密流量检测方法、装置和电子设备

Also Published As

Publication number Publication date
CN114449064A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN111034150B (zh) 选择性地解密ssl/tls通信的方法和装置
US10003616B2 (en) Destination domain extraction for secure protocols
CN107666383B (zh) 基于https协议的报文处理方法以及装置
EP3752947B1 (en) Protecting a message transmitted between core network domains
US9461975B2 (en) Method and system for traffic engineering in secured networks
Patsakis et al. Encrypted and covert DNS queries for botnets: Challenges and countermeasures
CN114449064B (zh) Tls加密流量的应用识别方法、装置和应用识别设备
US20130312054A1 (en) Transport Layer Security Traffic Control Using Service Name Identification
US20140283083A1 (en) System and method for correlating log data to discover network vulnerabilities and assets
US11108803B2 (en) Determining security vulnerabilities in application programming interfaces
WO2016120604A1 (en) Data retention probes and related methods
US10263975B2 (en) Information processing device, method, and medium
US11552925B1 (en) Systems and methods of controlling internet access using encrypted DNS
US11233777B2 (en) Efficient SSL/TLS proxy
CN110581836B (zh) 一种数据处理方法、装置及设备
WO2023078106A1 (zh) 加密流量的访问控制方法、装置及***
US20160112488A1 (en) Providing Information of Data Streams
Zink et al. BitTorrent traffic obfuscation: A chase towards semantic traffic identification
US20220124120A1 (en) Cellular internet of things battery drain prevention in mobile networks
Jawi et al. Rules and results for SSL/TLS nonintrusive proxy based on JSON data
KR102179538B1 (ko) 통신 패킷 처리 방법 및 통신 패킷을 처리하는 ssl 가시성 장치
US20230422040A1 (en) 5g lan security
CN117879932A (zh) 加密流量检测方法及装置、存储介质、终端
Erlacher Efficient intrusion detection in high-speed networks.
CN118355631A (zh) 使用加密dns控制互联网访问的***及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant