CN112839055B - 面向tls加密流量的网络应用识别方法、装置及电子设备 - Google Patents

面向tls加密流量的网络应用识别方法、装置及电子设备 Download PDF

Info

Publication number
CN112839055B
CN112839055B CN202110157499.7A CN202110157499A CN112839055B CN 112839055 B CN112839055 B CN 112839055B CN 202110157499 A CN202110157499 A CN 202110157499A CN 112839055 B CN112839055 B CN 112839055B
Authority
CN
China
Prior art keywords
message
clienthello message
network application
clienthello
feature
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
CN202110157499.7A
Other languages
English (en)
Other versions
CN112839055A (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.)
Beijing 6Cloud Technology Co Ltd
Beijing 6Cloud Information Technology Co Ltd
Original Assignee
Beijing 6Cloud Technology Co Ltd
Beijing 6Cloud Information Technology 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 Beijing 6Cloud Technology Co Ltd, Beijing 6Cloud Information Technology Co Ltd filed Critical Beijing 6Cloud Technology Co Ltd
Priority to CN202110157499.7A priority Critical patent/CN112839055B/zh
Publication of CN112839055A publication Critical patent/CN112839055A/zh
Application granted granted Critical
Publication of CN112839055B publication Critical patent/CN112839055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施方式提供一种面向TLS加密流量的网络应用识别方法及装置,其中一种面向TLS加密流量的网络应用识别方法,所述识别方法包括:获取网络应用采用TLS协议建立连接的ClientHello报文;检测所述ClientHello报文与N个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;根据所述ClientHello报文对应的N维布尔向量和所述ClientHello报文的报文属性,得到特征向量;将所述特征向量输入训练好的分类模型,基于所述分类模型对所述特征向量的分类结果,确定所述网络应用的类型。同时还提供了对应的TLS加密流量的网络应用识别方法装置及电子设备。本发明提供的实施方式无需对对TLS加密流量进行数据解密就能快速对TLS加密流量的应用进行识别。

Description

面向TLS加密流量的网络应用识别方法、装置及电子设备
技术领域
本发明涉及网络安全技术领域,具体地涉及一种面向TLS加密流量的网络应用识别方法、一种面向TLS加密流量的网络应用识别装置以及一种电子设备。
背景技术
TLS(Transport Layer Security)协议具备良好的兼容性和易用性,因此网络应用大多使用TLS加密协议来保证信息在网络中安全的传输。如何有效识别TLS协议下的网络应用已成为当前网络管理面临的挑战,TLS加密流量网络应用的识别已经成为网络管理、网络安全以及网络攻击防范等领域中一种具有重要意义的技术手段。
当前技术问题存在需要选取多个数据包的特征、而且需要缓存完整的协议数据流组合不同的数据包特征,同时采用多层神经网路的深度学习算法计算量大,实际应用中CPU和内存消耗性能较大,在对于性能要求比较高的防火墙设备中应用困难,很难实现对网络流量在线实时识别。如何在保证准确率不下降情况下,不依赖完整网络数据流,在网络流结束之前就实现对网络应用的识别,成为了当前的主要技术难点。
发明内容
本发明实施例的目的是提供一种一种面向TLS加密流量的网络应用识别方法、一种面向TLS加密流量的网络应用识别装置,以及一种电子设备。
为了实现上述目的,本发明第一方面提供一种面向TLS加密流量的网络应用识别方法,所述识别方法包括:
获取网络应用采用TLS协议建立连接的ClientHello报文;检测所述 ClientHello报文与N个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;根据所述ClientHello报文对应的N维布尔向量和所述 ClientHello报文的报文属性,得到特征向量;将所述特征向量输入训练好的分类模型,基于所述分类模型对所述特征向量的分类结果,确定所述网络应用的类型。
优选的,获取网络应用采用TLS协议建立连接的ClientHello报文,包括:确定获取的报文为TCP报文且满足ClientHello报文的特征,则所述获取的报文为ClientHello报文。
优选的,所述N个检测特征包括:存在预设的加密套件,和\或存在预设的签名算法,和\或存在预设的支持扩展组。
优选的,根据所述N维布尔向量和所述ClientHello报文的报文属性,得到特征向量,包括:从所述N维布尔向量中选择若干特征元素,从所述报文属性中选择报文长度,组合得到所述特征向量。
优选的,从所述N维布尔向量中选择若干特征元素,包括:采用随机森林算法判断每个检测特征在随机森林中的每棵决策树上的基尼指数;基于所述检测特征对应的基尼指数,得到所述检测特征的重要性评分;基于所述重要性评分选择若干检测特征对应的特征元素。
优选的,所述训练好的分类模型采用以下步骤得到:选择或构建随机森林分类器;确定对所述随机森林分类器进行优化的训练集和验证集;采用所述训练集和所述验证集优化所述随机森林分类器中的决策树数量和决策树的每个节点随机选择的最大特征数;将优化后的所述随机森林分类器作为所述训练好的分类模型。
优选的,确定对所述随机森林分类器进行优化的训练集和验证集,包括:从基于TLS协议的网络流量提取出ClientHello报文;采用所述ClientHello 报文所属的网络应用对所述ClientHello报文进行标注后,得到网络流量数据集;确认所述网络流量数据集中的ClientHello报文与网络应用的对应关系;将所述网络流量数据集分为所述训练集和所述验证集。
本发明第二方面提供了一种面向TLS加密流量的网络应用识别装置,所述识别装置包括:报文获取模块,用于获取网络应用采用TLS协议建立连接的ClientHello报文;特征适配模块,用于检测所述ClientHello报文与N 个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;向量构建模块,用于根据所述ClientHello报文对应的N维布尔向量和所述 ClientHello报文的报文属性,得到特征向量;以及分类确定模块,用于将所述特征向量输出训练好的分类模型,基于所述分类模型对所述特征向量的分类结果,确定所述网络应用的类型。
本发明第三方面提供了一种电子设备,包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的面向TLS加密流量的网络应用识别方法。
优选的,所述电子设备为防火墙或服务器。
本发明第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的面向 TLS加密流量的网络应用识别方法。
本发明第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的面向TLS加密流量的网络应用识别方法。
上述技术方案提供的方法和装置,具有以下有益效果:
无需对TLS加密流量进行数据解密,就可以较短时间内快速对TLS加密流量的应用进行识别。也不需要缓存完整的网络数据流,仅依赖ClientHello 报文。因此具有识别速度快和降低处理负荷的优点,适合在对性能要求比较高的防火墙等设备中使用。
后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别方法的步骤示意图;
图2示意性示出了根据本发明实施方式中的ClientHello报文的确定流程示意图;
图3示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别方法的流程示意图;
图4示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别装置的结构框图;
图5示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别装置的应用场景示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别方法的步骤示意图。如图1所示,一种面向TLS加密流量的网络应用识别方法,包括:
S01,获取网络应用采用TLS协议建立连接的ClientHello报文;当网络应用采用TLS协议进行通信时,需要首先建立TLS连接。因此TLS协议中的第一个ClientHello报文中包括了建立连接的各种参数,通过对以上参数进行解析,能够从ClientHello报文识别出网络应用的类型。
S02,检测所述ClientHello报文与N个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;通过设置N个检测特征,通过该 ClientHello报文与检测特征的适配结果为“真”时,对应的位置为“1”,否则为“0”,由此得到N个布尔值(1或0)所构成的N维布尔向量。
S03,根据所述N维布尔向量和所述ClientHello报文的属性,构建特征向量;通过以上的N维布尔向量能够获得该ClientHello报文的属性特征,但是该N维布尔向量具有一定的稀疏性,对报文特征的反映较差。本步骤对 N维布尔向量进行一定的筛选,以及结合ClientHello报文的属性构建能够全面准确反映ClientHello报文特征的特征向量。此处的ClientHello报文的属性优选为报文的长度。
S04,将所述特征向量输入训练好的分类模型,基于所述分类模型对所述特征向量的分类结果,确定所述网络应用的类型。对前述特征向量进行识别,基于识别的结果能够确定ClientHello报文对应的网络应用的类型。此处的分类模型可以为决策树、随机森林以及其它机器学习分类算法。
通过以上实施方式,提取TLS协议中的第一个ClientHello报文,深度挖掘ClientHello报文中提供的重要信息以区分不同的应用程序,由于网络应用开发者通常会修改TLS库的默认参数以优化应用程序,所以这些应用程序通常有独特唯一的TLS指纹。通过辨识这些TLS指纹就对应用程序的类型进行识别,同时避免了对TLS加密流量的解密过程。
图2示意性示出了根据本发明实施方式中的ClientHello报文的确定流程示意图,如图2所示。在该实施方式中,获取网络应用采用TLS协议建立连接的ClientHello报文,包括:确定获取的报文为TCP报文且满足ClientHello 报文的特征,则所述获取的报文为ClientHello报文。具体的,当处理接收一条网络数据流时,首先去掉IP报文头,判断是否为TCP报文。如果是,则进行进一步的特征判断。由于TLS协议中的ClientHello第1、2、6、10字节内容固定不变,因此将这些特征组成特征向量c=[c1,c2,c6,c10]作为识别 TCP报文是否为TLS协议中的ClientHello报文的固定规则,进一步筛选出待识别的ClientHello网络数据流。
在本发明提供的一种实施方式中,所述N个检测特征包括:存在预设的加密套件,和\或存在预设的签名算法,和\或存在预设的支持扩展组。首先在初始化时生成N维的零向量,向量的每个位置依次表示是否存在对应的加密套件或签名算法或支持扩展组,0表示不存在,1表示存在。其中N为加密套件,签名算法,支持扩展组的种类之总和。例如如果ClientHello报文含有对应的加密套件,签名算法或者支持扩展组,就在二进制零向量上找到对应的位置进行标置为1,表示该网络流存在其对应的加密套件,签名算法或支持扩展组,反之如果没有则在其对应的位置保持为0,最终生成维度为N 且只含0,1的二进制向量。例如某网络流有加密套件0x03,0x04,0x09, 0x91,则对应的位置编码如下:
0x01 0x02 0x03 0x04 0x5 0x06…0x89 0x90 0x91
0 0 1 1 0 0…0 0 1
同理,签名算法和支持扩展组也按照此方法进行位置编码,0表示不存在,1表示存在。
在本发明提供的一种实施方式中,根据所述N维布尔向量和所述 ClientHello报文的报文属性,得到特征向量,包括:从所述N维布尔向量中选择若干特征元素,从所述报文属性中选择报文长度,组合得到所述特征向量。此处根据检测特征重要性排序筛选出独特的密码套件,独特的签名算法和独特的扩展,再加上server_name长度和TLSrecord长度2个检测特征共同构建特征向量(即网络应用指纹)。
在本发明提供的一种可选实施方式中,检测特征重要性可以通过以下方式确定:采用随机森林算法判断每个检测特征在随机森林中的每棵决策树上的基尼指数;基于所述检测特征对应的基尼指数,得到所述检测特征的重要性评分;基于所述重要性评分选择若干检测特征对应的特征元素。具体的,分析TLS的ClientHello报文中所提供的密码套件列表,签名算法列表和扩展列表。利用随机森林算法判断每个检测特征在随机森林中的每棵决策树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。此处的贡献大小使用基尼指数(Gini index)作为评估指标来衡量。检测特征的重要性评分用VIM来表示,N个检测特征为X1,X2,X3,…Xn,现在要计算出每个特征Xj的Gini指数评分为VIMj (Gini),即第j个特征在随机森林中所有决策树中节点分裂不纯度的平均改变量。通过计算出的VIM,选择排名靠前的若干个检测特征为独特的检测特征,并选择出该独特的检测特征对应位置上的特征元素。
在本发明提供的一种实施方式中,所述训练好的分类模型,包括:选择或构建随机森林分类器;确定对所述随机森林分类器进行优化的训练集和验证集;采用所述训练集和所述验证集优化所述随机森林分类器中的决策树数量和决策树的每个节点随机选择的最大特征数;将优化后的所述随机森林分类器作为所述训练好的分类模型。利用opencvml、sklearn或其它机器学习框架下的随机森林算法进行模型训练,首先将网络流量数据集的80%作为训练集,20%作为验证集,采用贝叶斯优化算法选取最佳的随机森林数的树的数量(n_estimators)和决策树的每个节点随机选择的最大特征数 (max_features)。优化后的随机森林分类器进行训练,并将训练好的模型导出文件保存。
在本发明提供的一种实施方式中,前述的网络流量数据集采用以下方式获取:将收集到流量过滤只保留TLS协议的流量,并进一步提取网络应用流量中TLS协议中的ClientHello报文,针对ClientHello报文并标注所属网络应用名称组成网络流量数据集,为保证标注的准确性,利用域名和目的IP 地址进行二次确认所属的网络应用类别,并将网络流量数据集的80%作为训练集,20%作为验证集,以上比例可根据需要调整。
图3示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别方法的流程示意图,如图3所示。当处理接收一条网络数据流时,先确定该网络数据流为TLS数据流,提取ClientHello报文,并映射得到对应的特征向量。将特征向量输出加载模型,输出对于网络应用的类型的预测结果。其中加载模型通过以下方式得到:收集网络流量,过滤并标注数据,特征向量化,特征筛选,模型训练以及生成模型文件。具体实施的细节如前所述,此处不再重复。
图4示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别装置的结构框图,如图4所示。在该实施方式中,一种面向TLS 加密流量的网络应用识别装置,所述识别装置包括:报文获取模块,用于获取网络应用采用TLS协议建立连接的ClientHello报文;特征适配模块,用于检测所述ClientHello报文与N个检测特征的适配结果,得到所述 ClientHello报文对应的N维布尔向量;向量构建模块,用于根据所述N维布尔向量和所述ClientHello报文的报文属性,得到特征向量;以及分类确定模块,用于将所述特征向量输出训练好的分类模型,基于所述分类模型对所述特征向量的分类结果,确定所述网络应用的类型。
上述的面向TLS加密流量的网络应用识别装置中的各个功能模块的具体限定可以参见上文中对于面向TLS加密流量的网络应用识别方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本发明提供的一种实施方式中,还提供了一种电子设备,包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的面向TLS加密流量的网络应用识别方法。此处的控制模块或处理器具有数值计算和逻辑运算的功能,其至少具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统等。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现前述的方法。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
在本发明提供的一种实施方式中,所述电子设备为防火墙或服务器。前述的面向TLS加密流量的网络应用识别方法作为应用程序或系统的一部分运行于防火墙或服务器中。当防火墙或服务器中运行有前述的面向TLS加密流量的网络应用识别方法时,能够对输入或者经过该设备的TLS加密流量进行快速识别,得到TLS加密流量的应用类型,为下一步的处理提供基础。实现了无需对数据加密,快速对TLS加密流量的应用进行识别的技术效果,适合在对性能要求比较高的应用场合。
图5示意性示出了根据本发明实施方式中的面向TLS加密流量的网络应用识别装置的应用场景示意图,如图5所示。防火墙或服务器接收来自于用户终端的TLS数据流,此处的终端包括台式PC、笔记本电脑、智能手机、平板电脑等,经识别后得到对应的网络应用。该防火墙或服务器中部署有前述的面向TLS加密流量的网络应用识别装置。
在本发明提供的一种实施方式中,提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的面向TLS加密流量的网络应用识别方法。
在本发明提供的一种实施方式中,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的面向TLS加密流量的网络应用识别方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/ 输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种面向TLS加密流量的网络应用识别方法,其特征在于,所述识别方法包括:
获取网络应用采用TLS协议建立连接的ClientHello报文;
检测所述ClientHello报文与N个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;
根据所述ClientHello报文对应的N维布尔向量和所述ClientHello报文的报文属性,得到特征向量;
将所述特征向量输入训练好的分类模型,基于所述分类模型对所述特征向量的分类结果确定所述网络应用的类型;
根据所述ClientHello报文对应的N维布尔向量和所述ClientHello报文的报文属性,得到特征向量,包括:
从所述ClientHello报文对应的N维布尔向量中选择若干特征元素,从所述ClientHello报文的报文属性中选择报文长度,组合得到所述特征向量;
从所述ClientHello报文的N维布尔向量中选择若干特征元素,包括:
采用随机森林算法判断每个检测特征在随机森林中的每棵决策树上的基尼指数;
基于所述检测特征对应的基尼指数,得到所述检测特征的重要性评分;
基于所述重要性评分选择若干检测特征对应的特征元素。
2.根据权利要求1所述的识别方法,其特征在于,获取网络应用采用TLS协议建立连接的ClientHello报文,包括:
确定报文为TCP报文且满足ClientHello报文的特征,则所述报文为ClientHello报文。
3.根据权利要求1所述的识别方法,其特征在于,所述N个检测特征包括:存在预设的加密套件,和\或存在预设的签名算法,和\或存在预设的支持扩展组。
4.根据权利要求1所述的识别方法,其特征在于,所述训练好的分类模型采用以下步骤得到:
选择或构建随机森林分类器;
确定对所述随机森林分类器进行优化的训练集和验证集;
采用所述训练集和所述验证集优化所述随机森林分类器中的决策树数量和决策树的每个节点随机选择的最大特征数;
将优化后的所述随机森林分类器作为所述训练好的分类模型。
5.根据权利要求4所述的识别方法,其特征在于,确定对所述随机森林分类器进行优化的训练集和验证集,包括:
从基于TLS协议的网络流量提取出ClientHello报文;
采用所述ClientHello报文所属的网络应用对所述ClientHello报文进行标注后,得到网络流量数据集;
确认所述网络流量数据集中的ClientHello报文与网络应用的对应关系;
将所述网络流量数据集分为所述训练集和所述验证集。
6.一种面向TLS加密流量的网络应用识别装置,其特征在于,所述识别装置包括:
报文获取模块,用于获取网络应用采用TLS协议建立连接的ClientHello报文;
特征适配模块,用于检测所述ClientHello报文与N个检测特征的适配结果,得到所述ClientHello报文对应的N维布尔向量;
向量构建模块,用于根据所述ClientHello报文的N维布尔向量和所述ClientHello报文的报文属性,得到特征向量;以及
分类确定模块,用于将所述特征向量输出训练好的分类模型,基于所述分类模型对所述特征向量的分类结果确定所述网络应用的类型;
根据所述ClientHello报文对应的N维布尔向量和所述ClientHello报文的报文属性,得到特征向量,包括:
从所述ClientHello报文对应的N维布尔向量中选择若干特征元素,从所述ClientHello报文的报文属性中选择报文长度,组合得到所述特征向量;
从所述ClientHello报文的N维布尔向量中选择若干特征元素,包括:
采用随机森林算法判断每个检测特征在随机森林中的每棵决策树上的基尼指数;
基于所述检测特征对应的基尼指数,得到所述检测特征的重要性评分;
基于所述重要性评分选择若干检测特征对应的特征元素。
7.一种电子设备,其特征在于,包括:至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1至5中任一项权利要求所述的面向TLS加密流量的网络应用识别方法。
8.根据权利要求7所述的电子设备,其特征在于,所述电子设备为防火墙或服务器。
CN202110157499.7A 2021-02-04 2021-02-04 面向tls加密流量的网络应用识别方法、装置及电子设备 Active CN112839055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110157499.7A CN112839055B (zh) 2021-02-04 2021-02-04 面向tls加密流量的网络应用识别方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110157499.7A CN112839055B (zh) 2021-02-04 2021-02-04 面向tls加密流量的网络应用识别方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112839055A CN112839055A (zh) 2021-05-25
CN112839055B true CN112839055B (zh) 2022-08-23

Family

ID=75932266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110157499.7A Active CN112839055B (zh) 2021-02-04 2021-02-04 面向tls加密流量的网络应用识别方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112839055B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709182B (zh) * 2021-09-13 2023-03-10 支付宝(杭州)信息技术有限公司 一种接口的识别方法、装置及设备
CN114449064B (zh) * 2022-01-26 2023-12-29 普联技术有限公司 Tls加密流量的应用识别方法、装置和应用识别设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871832A (zh) * 2016-03-29 2016-08-17 北京理工大学 一种基于协议属性的网络应用加密流量识别方法及其装置
CN110768933A (zh) * 2018-07-27 2020-02-07 深信服科技股份有限公司 一种网络流量应用识别方法、系统及设备和存储介质
WO2020062390A1 (zh) * 2018-09-25 2020-04-02 深圳先进技术研究院 一种网络流量分类方法、系统及电子设备
CN111711545A (zh) * 2020-05-29 2020-09-25 福州大学 一种软件定义网络中基于深度包检测技术的加密流量智能识别方法
CN112019500A (zh) * 2020-07-15 2020-12-01 中国科学院信息工程研究所 一种基于深度学习的加密流量识别方法及电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871832A (zh) * 2016-03-29 2016-08-17 北京理工大学 一种基于协议属性的网络应用加密流量识别方法及其装置
CN110768933A (zh) * 2018-07-27 2020-02-07 深信服科技股份有限公司 一种网络流量应用识别方法、系统及设备和存储介质
WO2020062390A1 (zh) * 2018-09-25 2020-04-02 深圳先进技术研究院 一种网络流量分类方法、系统及电子设备
CN111711545A (zh) * 2020-05-29 2020-09-25 福州大学 一种软件定义网络中基于深度包检测技术的加密流量智能识别方法
CN112019500A (zh) * 2020-07-15 2020-12-01 中国科学院信息工程研究所 一种基于深度学习的加密流量识别方法及电子装置

Also Published As

Publication number Publication date
CN112839055A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
US9253208B1 (en) System and method for automated phishing detection rule evolution
US10218716B2 (en) Technologies for analyzing uniform resource locators
CN113469366B (zh) 一种加密流量的识别方法、装置及设备
CN110855648B (zh) 一种网络攻击的预警控制方法及装置
CN112839055B (zh) 面向tls加密流量的网络应用识别方法、装置及电子设备
KR101930293B1 (ko) 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
CN112673386A (zh) 用于高效标签传播的基于集成的数据管理管道
CN112005532A (zh) 通过卷积网络的可执行文件的恶意软件分类
CN111368289B (zh) 一种恶意软件检测方法和装置
WO2021169239A1 (zh) 一种爬虫数据的识别方法、系统及设备
CN111953665B (zh) 服务器攻击访问识别方法及系统、计算机设备、存储介质
CN115314268B (zh) 基于流量指纹和行为的恶意加密流量检测方法和系统
CN108768934A (zh) 恶意程序发布检测方法、装置以及介质
CN114584522B (zh) 一种物联网设备的识别方法、系统、介质及终端
CN114024761B (zh) 网络威胁数据的检测方法、装置、存储介质及电子设备
Tang et al. HSLF: HTTP header sequence based lsh fingerprints for application traffic classification
CN110532773B (zh) 恶意访问行为识别方法、数据处理方法、装置和设备
CN114697066A (zh) 网络威胁检测方法和装置
CN114285587A (zh) 域名鉴别方法和装置、域名分类模型的获取方法和装置
CN115208938B (zh) 用户行为管控方法及装置、计算机可读存储介质
CN107995167B (zh) 一种设备识别方法及服务器
JP6602799B2 (ja) セキュリティ監視サーバ、セキュリティ監視方法、プログラム
CN113810342B (zh) 一种入侵检测方法、装置、设备、介质
Panja et al. Anomaly detection in iot using extended isolation forest
CN115392238A (zh) 一种设备识别方法、装置、设备及可读存储介质

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