CN106209775B - 一种ssl加密网络流的应用类型识别方法与装置 - Google Patents

一种ssl加密网络流的应用类型识别方法与装置 Download PDF

Info

Publication number
CN106209775B
CN106209775B CN201610473992.9A CN201610473992A CN106209775B CN 106209775 B CN106209775 B CN 106209775B CN 201610473992 A CN201610473992 A CN 201610473992A CN 106209775 B CN106209775 B CN 106209775B
Authority
CN
China
Prior art keywords
data packet
type
application type
conversation applications
data
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
CN201610473992.9A
Other languages
English (en)
Other versions
CN106209775A (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.)
Chongqing Aodun Intelligent Technology Co.,Ltd.
Original Assignee
Shenzhen Institute of Information Technology
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 Shenzhen Institute of Information Technology filed Critical Shenzhen Institute of Information Technology
Priority to CN201610473992.9A priority Critical patent/CN106209775B/zh
Publication of CN106209775A publication Critical patent/CN106209775A/zh
Application granted granted Critical
Publication of CN106209775B publication Critical patent/CN106209775B/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
    • 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
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

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

Abstract

SSL加密网络流的应用类型识别方法与装置,方法为:获取数据包的应用类型的同会话应用标识号并以此为索引查询第一缓存哈希表中是否存在与之匹配的第一映射关系:若是,则该第一映射关系中的Type为数据包应用类型;若否,获取数据包的跨会话应用标识号并以此为索引查询第二缓存哈希表中是否存在与之匹配的第二映射关系:是,且该数据包与上一已识别数据包的时间间隔小于预设阈值,则该第二映射关系中的Type为数据包应用类型;否,则筛选SSL类型数据包中的预定数据包提取指纹信息与特征库中的特征信息进行比对以判断预定数据包应用类型;将预定数据包应用类型及其同会话、跨会话应用标识号形成新的第一、第二映射关系以更新至第一、第二缓存哈希表。

Description

一种SSL加密网络流的应用类型识别方法与装置
技术领域
本发明涉及一种SSL加密网络流的应用类型识别方法与装置。
背景技术
为了提高网络数据在传输过程中的安全性和隐私性,SSL(Secure SocketsLayer,安全套接层)协议被广泛地应用在各个领域(例如网上银行、邮箱服务、VPN等)的信息加密传输过程中。正是由于SSL的加密功能,使得基于SSL建立的会话通道上所传输的数据并不可见,从而加大了系统(网络审计以及流量控制系统)识别网络流应用类型的难度。
传统基于端口的检测方法仅仅能够识别出SSL协议,并不能识别出SSL加密网络流所属的应用类型。而目前企业最常用的深度包检测(Deep Packet Inspection,DPI)方法对于不可见的应用层载荷信息也较难识别,并且解密的方法有可能会涉及到侵犯隐私的问题。
发明内容
本发明的主要目的在于提出一种SSL加密网络流的应用类型识别方法,能够在不侵犯隐私的前提下,快速有效地识别出SSL加密网络流的应用类型。
本发明为达上述目的所提出的技术方案如下:
一种SSL加密网络流的应用类型识别方法,包括以下步骤:
S1、对一数据包进行第一预处理,以得到该数据包所属应用类型的同会话应用标识号,并以所述同会话应用标识号为索引值,查询预先建立的第一缓存哈希表中是否存在与所述数据包的同会话应用标识号相匹配的第一映射关系:若是,则执行步骤S2;若否,则执行步骤S3;
其中所述第一缓存哈希表中存储有多对所述第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型对应的同会话应用标识号;
S2、将与所述数据包的同会话应用标识号相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;对下一数据包返回步骤S1;
S3、对所述数据包进行第二预处理以获取所述数据包所属应用类型的跨会话应用标识号,并以所述跨会话应用标识号为索引值,查询预先建立的第二缓存哈希表中是否存在与所述数据包的跨会话应用标识号相匹配的第二映射关系:若是,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值,则执行步骤S4;若否,则执行步骤S5;
其中所述第二缓存哈希表中存储有多对所述第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型对应的跨会话应用标识号;
S4、将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;对下一数据包返回步骤S1;
S5、筛选SSL类型数据包;
S6、从SSL类型数据包中的一预定数据包提取指纹信息,并与特征库中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型;对所述预定数据包的下一数据包返回步骤S1;
S7、将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一映射关系和新的第二映射关系,以分别更新所述第一缓存哈希表、所述第二缓存哈希表。
网络流是由很多个数据包组成的,尤其是对于SSL加密网络流来说,通常是在握手阶段建立了加密通道之后,才开始在通道上传输加密数据,所以同一网络流中(同一会话)握手阶段的数据包载荷是透明的,且处于网络流的早期阶段。而传输通道上相同应用类型的同一网络流的数据包一定具有相同APP-ID-1(同会话应用标识号);传输通道上在短时间内(数据包时间间隔小于预设阈值)相同应用类型不同网络流的数据包的五元组信息中仅是源端口号不同,则具有相同APP-ID-2(跨会话应用标识号)。因此,采用本发明提供的上述识别方法,能够快速有效地识别出SSL加密网络流的应用类型,具体分析如下:当获取到一数据包的APP-ID-1后,如果在第一缓存哈希表中能够查询得到匹配的第一映射关系,则说明该数据包的同类(应用类型和网络流均相同)数据包在此之前已被识别出应用类型,使得该数据包的识别非常之快速(仅需要计算APP-ID-1并作哈希表查询);而如果第一缓存哈希表中不存在与该数据包的APP-ID-1匹配的第一映射关系,说明该数据包是其所属网络流中的第1个数据包,该类网络流的数据包此前并未被识别过,此时获取该数据包的APP-ID-2,若在第二缓存哈希表中能够查询得到匹配的第二映射关系,则说明该类网络流的数据包虽未被识别过但与该类网络流具有相同应用类型的网络流已被识别,使得本次的该数据包的识别也能够较为快速(仅需查询两次哈希表)。而如果在查询了第二缓存哈希表后仍未查询到匹配结果,则需先判断该数据包是否为SSL类型的数据包,如果不是,则在本识别方法中可以不予处理,如果是,才执行进一步的应用类型识别(即步骤S6),而在步骤S6中,仅需对所述预定数据包进行进一步的应用类型识别,得到该预定数据包的应用类型后,将其更新到缓存哈希表,如此一来,本次通信会话中,该预定数据包之后的数据包识别,只需计算这些数据包的APP-ID-1、APP-ID-2并进行哈希表查询即可确定应用类型,从而达到快速、有效识别的效果,解决审计系统、流量控制系统、网络管理系统等加密流的过滤和控制问题。同时也可看出,本发明的识别方法克服了识别加密数据的困难性,同时也不会涉及侵犯数据隐私的问题。
更进一步地,步骤S1中的第一预处理具体包括:提取所述数据包的五元组信息并进行哈希运算;步骤S3中的第二预处理具体包括:提取所述数据包的四元组信息并进行哈希运算;其中,五元组信息包括源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议,四元组信息包括源IP地址、目的IP地址、目的端口号以及传输层协议。
更进一步地,步骤S5具体包括:提取所述数据包的目的端口号以及应用层载荷首部特征,采用过滤规则筛选SSL类型数据包。
更进一步地,所述过滤规则如下:
filterRule={dir=0,count=1,dstport=443}&&{dir=0,count=3,off_set=0,feature=0x16}
其中:dir表示数据包的传输方向,所述传输方向包括从客户端到服务器端以及从服务器端到客户端,count表示数据包属于同一网络流的第几个数据包,dstport表示数据包的目的端口号,off_set表示应用层载荷偏移量,feature表示在某一偏移量的指纹信息;
在所述过滤规则中:{dir=0,count=1,dstport=443}表示从客户端到服务器端的第1个数据包的目的端口号为443;{dir=0,count=3,off_set=0,feature=0x16}表示从客户端到服务器端的第3个数据包的应用层载荷偏移量为0,且该第3个数据包从第一个字节开始,填充有指纹信息0X16。
更进一步地,步骤S6中,所述预定数据包是指SSL握手阶段从服务器端到客户端、且用于交换证书的证书数据包;所述证书数据包的指纹信息包含可用于识别应用类型的记录。
更进一步地,步骤S6中进行所述比对的过程具体包括:将所述指纹信息中的所述记录以及所述指纹信息在应用层载荷的位置以二进制形式表示为链表,并分别计算所述链表与特征库中的各条特征信息之间的相似度。
更进一步地,所述相似度的计算基于汉明距离,相似度Sim(F,Fk)的计算如下:
其中:F为所述链表,Fk为特征库中的第k条特征信息,fj表示链表F的第j位,fkj表示第k条特征信息的第j位,链表F的长度以及特征库中每条特征信息的长度同为n;
当Sim(F,Fk)=0时,将第k条特征信息所对应的应用类型识别为所述预定数据包所属的应用类型。
本发明另还提出一种SSL加密网络流的应用类型识别装置,包括:
第一缓存哈希表,存储有多对第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型的同会话应用标识号;
第二缓存哈希表,存储有多对第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型的跨会话应用标识号;
特征库,存储有多条特征信息,每条特征信息表示一种应用类型;
第一数据包预处理模块,用于对一数据包进行第一预处理以得到该数据包所属应用类型的同会话应用标识号;
第二数据包预处理模块,用于对一数据包进行第二预处理以得到该数据包所属应用类型的跨会话应用标识号;
第一查询匹配模块,连接于第一数据包预处理模块,用于:以所述同会话应用标识号为索引值查询第一缓存哈希表中是否存在与所述数据包的同会话应用标识号相匹配的第一映射关系并输出查询结果,查询结果包括:存在和不存在;
第二查询匹配模块,连接于第一查询匹配模块和第二数据包预处理模块,用于:当第一查询匹配模块输出的查询结果为不存在时,以所述跨会话应用标识号为索引值查询第二缓存哈希表中是否存在与所述数据包的跨会话应用标识号相匹配的第二映射关系并输出查询结果,查询结果包括:存在和不存在;
应用类型确定模块,连接于第一查询匹配模块和第二查询匹配模块,用于:当第一查询匹配模块的查询结果为存在时,将与所述数据包的同会话应用标识号相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;以及当第二查询匹配模块的查询结果为存在,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值时,将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;
筛选模块,连接于第二查询匹配模块,用于:当第二查询匹配模块的查询结果为不存在时,筛选属于SSL加密网络流的数据包;
比对识别模块,连接于筛选模块,用于:从属于SSL加密网络流的一预定数据包中提取指纹信息,并与特征库中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型;
更新模块,连接于比对识别模块和第一、第二缓存哈希表,用于:将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一映射关系和新的第二映射关系,并分别更新至所述第一缓存哈希表、所述第二缓存哈希表。
更进一步地,所述第一数据包预处理模块包括:五元组信息提取单元,提取所述数据包的五元组信息;其中,五元组信息包括源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议;以及,第一哈希运算单元,对提取的五元组信息进行哈希运算,以得到所述数据包所属应用类型的同会话应用标识号;
所述第二数据包预处理模块包括:四元组信息提取单元,提取所述数据包的四元组信息;其中,四元组信息包括源IP地址、目的IP地址、目的端口号以及传输层协议;以及,第二哈希运算单元,对提取的四元组信息进行哈希运算,以得到所述数据包所属应用类型的跨会话应用标识号。
本发明提供的前述识别装置,能够快速有效地识别SSL加密网络流的应用类型,可应用于例如防火墙处,解决审计系统、流量控制系统、网络管理系统等加密流的过滤和控制问题。
附图说明
图1是本发明具体实施方式提供的SSL加密网络流的应用类型识别方法的流程图。
具体实施方式
下面结合附图和优选的实施方式对本发明作进一步说明。
本发明的具体实施方式提供一种SSL加密网络流的应用类型识别方法,可用于例如审计系统、流量控制系统或网络管理系统中识别SSL加密网络流所属的应用类型。参考图1,该识别方法包括以下步骤一至七:
步骤一、对一数据包进行第一预处理,以得到该数据包所属应用类型的同会话应用标识号(APP-ID-1),并以APP-ID-1为索引值,查询预先建立的第一缓存哈希表中是否存在与所述数据包的APP-ID-1相匹配的第一映射关系:若是,则执行步骤二;若否,则执行步骤三。此处的数据包可以是通信会话(即网络流)中的任一数据包。其中所述第一缓存哈希表中存储有多对所述第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型对应的同会话应用标识号。具体地,某一种应用类型的APP-ID-1可通过如下方法获得:同种应用类型且属于同一网络流(同一会话)的数据包具有相同的五元组信息(即源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议),通过对五元组信息进行哈希计算可得到APP-ID-1。第一缓存哈希表中存储的内容例如可以包括:<0001,Type1>,<0010,Type1>,<0011,Type1>,<0100,Type2>,<0101,Type3>,……,其中的<0001,Type1>、<0010,Type1>以及<0011,Type1>表示应用类型Type1的三种映射关系,其APP-ID-1分别为0001、0010、0011,表示了同属于应用类型Type1的三种不同网络流。
步骤二、将与所述数据包的同会话应用标识号APP-ID-1相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;然后对下一数据包进行识别,即返回步骤一;
步骤三、对所述数据包进行第二预处理以获取所述数据包所属应用类型的跨会话应用标识号APP-ID-2,并以APP-ID-2为索引值,查询预先建立的第二缓存哈希表中是否存在与APP-ID-2相匹配的第二映射关系:若是,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值,则执行步骤四;若否,则执行步骤五。其中,所述第二缓存哈希表中存储有多对所述第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型对应的跨会话应用标识号。具体地,某一种应用类型的APP-ID-2可通过如下方法获得:不同网络流但属于同种应用类型的数据包具有相同的四元组信息(即源IP地址、目的IP地址、目的端口号以及传输层协议),通过对四元组信息进行哈希计算可得到APP-ID-2。
步骤四、将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;然后识别下一数据包,即返回步骤一。
步骤五、筛选SSL类型数据包。如果经前述步骤仍未确定数据包类型,则有可能该数据包及其网络流并非SSL网络流,需先进行筛选识别是否为SSL类型数据包。筛选的方法具体是:提取所述数据包的目的端口号以及应用层载荷首部特征,采用过滤规则筛选出SSL类型数据包。所述过滤规则如下:filterRule={dir=0,count=1,dstport=443}&&{dir=0,count=3,off_set=0,feature=0x16}其中:dir表示数据包的传输方向,所述传输方向包括dir=0(从客户端到服务器端)以及dir=1(从服务器端到客户端),count表示数据包属于同一网络流的第几个数据包,dstport表示数据包的目的端口号,off_set表示应用层载荷偏移量,
feature表示在某一偏移量的指纹信息;
在所述过滤规则中:{dir=0,count=1,dstport=443}表示从客户端到服务器端的第1个数据包的目的端口号为443;{dir=0,count=3,off_set=0,feature=0x16}表示从客户端到服务器端的第3个数据包的应用层载荷偏移量为0,且该第3个数据包从第一个字节开始,填充有指纹信息0X16。
当该网络流的所述第1个数据包及第3个数据包满足所述过滤规则所设定的条件时,即可认为后续具有相同五元组信息的数据包(即该网络流的后续数据包)都是SSL类型的。
步骤六、从SSL类型数据包中的一预定数据包提取指纹信息(或称识别名信息,Distinguished Name,DN),并与特征库(也是预先建立的)中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型,然后返回步骤一对该预定数据包之后的数据包进行识别;同时将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一、第二映射关系,分别更新至所述第一、第二缓存哈希表。所述预定数据包是指SSL握手阶段从服务器端到客户端、且用于交换证书的证书数据包,一般而言在第5个数据包(即dir=1,count=5)交换证书X.509;所述证书数据包的指纹信息包含可用于识别应用类型的记录,这些记录至少包括commonName(CN)、organizationalUnitName(OU)以及organizationName(O),这些记录能够唯一识别证书签发的对象实体(即证书的使用者),也能够用来识别应用类型。例如,163邮箱:CN=*.163.com,OU=MAIL Dept.,O=NetEase(Hangzhou)Network Co.;支付宝应用:CN=*.alipay.com,OU=Operations Department,O=Alipay.com Co.,Ltd。
因此,一般而言,只需对用于交换证书的数据包进行步骤六,将其指纹信息中的所述记录以及所述指纹信息在应用层载荷的位置(应用层载荷偏移量)以二进制形式表示为链表,并分别计算所述链表与特征库中的各条特征信息之间的相似度。基于汉明距离的相似度计算如下:
上式中,F为所述链表(实质上是一个包含n个元素的向量),Fk为特征库中的第k条特征信息(同样为包含n个元素的向量),fj表示链表F的第j位,fkj表示第k条特征信息的第j位,链表F的总长度为n,同时特征库中的每条特征信息的长度也为n;
当Sim(F,Fk)=0时,即表示链表与特征库中的第k条特征信息相比,对应位全部相同,则将第k条特征信息所对应的应用类型识别为所述预定数据包(即通常的第5个数据包)所属的应用类型。确定应用类型后,将新增的应用类型及其对应的APP-ID-1、APP-ID-2分别形成新的第一映射关系、第二映射关系,分别更新至第一、第二缓存哈希表,为后续数据包的快速识别奠定基础。一般而言,证书数据包的后续数据包(只要数据包之间的时间间隔小于一预设阈值,该预设阈值根据具体的通信类型来确定)的应用类型与证书数据包相同(即它们至少具有相同的四元组信息),因此这些后续数据包的识别只需计算相应的APP-ID-1、APP-ID-2即可识别,使得整个识别过程加快。
本发明的具体实施方式另提供了一种SSL加密网络流的应用类型识别装置,包括:
第一缓存哈希表,存储有多对第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型的同会话应用标识号;
第二缓存哈希表,存储有多对第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型的跨会话应用标识号;
特征库,存储有多条特征信息,每条特征信息表示一种应用类型;
第一数据包预处理模块,用于对一数据包进行第一预处理以得到该数据包所属应用类型的同会话应用标识号;
第二数据包预处理模块,用于对一数据包进行第二预处理以得到该数据包所属应用类型的跨会话应用标识号;
第一查询匹配模块,连接于第一数据包预处理模块,用于:以所述同会话应用标识号为索引值查询第一缓存哈希表中是否存在与所述数据包的同会话应用标识号相匹配的第一映射关系并输出查询结果,查询结果包括:存在和不存在;
第二查询匹配模块,连接于第一查询匹配模块和第二数据包预处理模块,用于:当第一查询匹配模块输出的查询结果为不存在时,以所述跨会话应用标识号为索引值查询第二缓存哈希表中是否存在与所述数据包的跨会话应用标识号相匹配的第二映射关系并输出查询结果,查询结果包括:存在和不存在;
应用类型确定模块,连接于第一查询匹配模块和第二查询匹配模块,用于:当第一查询匹配模块的查询结果为存在时,将与所述数据包的同会话应用标识号相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;以及当第二查询匹配模块的查询结果为存在,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值时,将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;
筛选模块,连接于第二查询匹配模块,用于:当第二查询匹配模块的查询结果为不存在时,筛选属于SSL加密网络流的数据包;
比对识别模块,连接于筛选模块,用于:从属于SSL加密网络流的一预定数据包中提取指纹信息,并与特征库中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型;
更新模块,连接于比对识别模块和第一、第二缓存哈希表,用于:将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一映射关系和新的第二映射关系,并分别更新至所述第一缓存哈希表、所述第二缓存哈希表。
在一种具体实施例中,所述第一数据包预处理模块包括:
五元组信息提取单元,提取所述数据包的五元组信息;其中,五元组信息包括源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议;以及
第一哈希运算单元,对提取的五元组信息进行哈希运算,以得到所述数据包所属应用类型的同会话应用标识号;
所述第二数据包预处理模块包括:
四元组信息提取单元,提取所述数据包的四元组信息;其中,四元组信息包括源IP地址、目的IP地址、目的端口号以及传输层协议;以及
第二哈希运算单元,对提取的四元组信息进行哈希运算,以得到所述数据包所属应用类型的跨会话应用标识号。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

Claims (9)

1.一种SSL加密网络流的应用类型识别方法,其特征在于:包括以下步骤:
S1、对一数据包进行第一预处理,以得到该数据包所属应用类型的同会话应用标识号,并以所述同会话应用标识号为索引值,查询预先建立的第一缓存哈希表中是否存在与所述数据包的同会话应用标识号相匹配的第一映射关系:若是,则执行步骤S2;若否,则执行步骤S3;
其中所述第一缓存哈希表中存储有多对所述第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型对应的同会话应用标识号;
S2、将与所述数据包的同会话应用标识号相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;对下一数据包返回步骤S1;
S3、对所述数据包进行第二预处理以获取所述数据包所属应用类型的跨会话应用标识号,并以所述跨会话应用标识号为索引值,查询预先建立的第二缓存哈希表中是否存在与所述数据包的跨会话应用标识号相匹配的第二映射关系:若是,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值,则执行步骤S4;若否,则执行步骤S5;
其中所述第二缓存哈希表中存储有多对所述第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型对应的跨会话应用标识号;
S4、将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;对下一数据包返回步骤S1;
S5、筛选SSL类型数据包;
S6、从SSL类型数据包中的一预定数据包提取指纹信息,并与特征库中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型;将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一映射关系和新的第二映射关系,以分别更新所述第一缓存哈希表、所述第二缓存哈希表;对所述预定数据包的下一数据包返回步骤S1。
2.如权利要求1所述的识别方法,其特征在于:步骤S1中的第一预处理具体包括:提取所述数据包的五元组信息并进行哈希运算;步骤S3中的第二预处理具体包括:提取所述数据包的四元组信息并进行哈希运算;其中,五元组信息包括源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议,四元组信息包括源IP地址、目的IP地址、目的端口号以及传输层协议。
3.如权利要求1所述的识别方法,其特征在于:步骤S5具体包括:提取所述数据包的目的端口号以及应用层载荷首部特征,采用过滤规则筛选出SSL类型数据包。
4.如权利要求3所述的识别方法,其特征在于:所述过滤规则如下:
filterRule={dir=0,count=1,dstport=443}&&{dir=0,count=3,off_set=0,feature=0x16}
其中:dir表示数据包的传输方向,所述传输方向包括从客户端到服务器端以及从服务器端到客户端,count表示数据包属于同一网络流的第几个数据包,dstport表示数据包的目的端口号,off_set表示应用层载荷偏移量,feature表示在某一偏移量的指纹信息;
在所述过滤规则中:{dir=0,count=1,dstport=443}表示从客户端到服务器端的第1个数据包的目的端口号为443;{dir=0,count=3,off_set=0,feature=0x16}表示从客户端到服务器端的第3个数据包的应用层载荷偏移量为0,且该第3个数据包从第一个字节开始,填充有指纹信息0X16。
5.如权利要求4所述的识别方法,其特征在于:步骤S6中,所述预定数据包是指SSL握手阶段从服务器端到客户端、且用于交换证书的证书数据包;所述证书数据包的指纹信息包含可用于识别应用类型的记录。
6.如权利要求5所述的识别方法,其特征在于:步骤S6中进行所述比对的过程具体包括:将所述指纹信息中的所述记录以及所述指纹信息在应用层载荷的位置以二进制形式表示为链表,并分别计算所述链表与特征库中的各条特征信息之间的相似度。
7.如权利要求6所述的识别方法,其特征在于:所述相似度的计算基于汉明距离,相似度Sim(F,Fk)的计算如下:
其中:F为所述链表,Fk为特征库中的第k条特征信息,fj表示链表F的第j位,fkj表示第k条特征信息的第j位,链表F的长度以及特征库中每条特征信息的长度同为n;
当Sim(F,Fk)=0时,将第k条特征信息所对应的应用类型识别为所述预定数据包所属的应用类型。
8.一种SSL加密网络流的应用类型识别装置,其特征在于:包括:
第一缓存哈希表,存储有多对第一映射关系<APP-ID-1,Type>,Type为某一应用类型,APP-ID-1为所述某一应用类型的同会话应用标识号;
第二缓存哈希表,存储有多对第二映射关系<APP-ID-2,Type>,Type为所述某一应用类型,APP-ID-2为所述某一应用类型的跨会话应用标识号;
特征库,存储有多条特征信息,每条特征信息表示一种应用类型;
第一数据包预处理模块,用于对一数据包进行第一预处理以得到该数据包所属应用类型的同会话应用标识号;
第二数据包预处理模块,用于对一数据包进行第二预处理以得到该数据包所属应用类型的跨会话应用标识号;
第一查询匹配模块,连接于第一数据包预处理模块,用于:以所述同会话应用标识号为索引值查询第一缓存哈希表中是否存在与所述数据包的同会话应用标识号相匹配的第一映射关系并输出查询结果,查询结果包括:存在和不存在;
第二查询匹配模块,连接于第一查询匹配模块和第二数据包预处理模块,用于:当第一查询匹配模块输出的查询结果为不存在时,以所述跨会话应用标识号为索引值查询第二缓存哈希表中是否存在与所述数据包的跨会话应用标识号相匹配的第二映射关系并输出查询结果,查询结果包括:存在和不存在;
应用类型确定模块,连接于第一查询匹配模块和第二查询匹配模块,用于:当第一查询匹配模块的查询结果为存在时,将与所述数据包的同会话应用标识号相匹配的第一映射关系中的Type识别为所述数据包所属的应用类型;以及当第二查询匹配模块的查询结果为存在,且所述数据包与上一已识别数据包的时间间隔小于一预设阈值时,将与所述数据包的跨会话应用标识号相匹配的第二映射关系中的Type识别为所述数据包所属的应用类型;
筛选模块,连接于第二查询匹配模块,用于:当第二查询匹配模块的查询结果为不存在时,筛选属于SSL加密网络流的数据包;
比对识别模块,连接于筛选模块,用于:从属于SSL加密网络流的一预定数据包中提取指纹信息,并与特征库中的特征信息进行比对,根据比对结果判断所述预定数据包所属的应用类型;
更新模块,连接于比对识别模块和第一、第二缓存哈希表,用于:将所述预定数据包所属的应用类型及对应的同会话应用标识号、跨会话应用标识号分别形成新的第一映射关系和新的第二映射关系,并分别更新至所述第一缓存哈希表、所述第二缓存哈希表。
9.如权利要求8所述的识别装置,其特征在于:
所述第一数据包预处理模块包括:
五元组信息提取单元,提取所述数据包的五元组信息;其中,五元组信息包括源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议;以及
第一哈希运算单元,对提取的五元组信息进行哈希运算,以得到所述数据包所属应用类型的同会话应用标识号;
所述第二数据包预处理模块包括:
四元组信息提取单元,提取所述数据包的四元组信息;其中,四元组信息包括源IP地址、目的IP地址、目的端口号以及传输层协议;以及
第二哈希运算单元,对提取的四元组信息进行哈希运算,以得到所述数据包所属应用类型的跨会话应用标识号。
CN201610473992.9A 2016-06-24 2016-06-24 一种ssl加密网络流的应用类型识别方法与装置 Active CN106209775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610473992.9A CN106209775B (zh) 2016-06-24 2016-06-24 一种ssl加密网络流的应用类型识别方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610473992.9A CN106209775B (zh) 2016-06-24 2016-06-24 一种ssl加密网络流的应用类型识别方法与装置

Publications (2)

Publication Number Publication Date
CN106209775A CN106209775A (zh) 2016-12-07
CN106209775B true CN106209775B (zh) 2019-05-24

Family

ID=57461026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610473992.9A Active CN106209775B (zh) 2016-06-24 2016-06-24 一种ssl加密网络流的应用类型识别方法与装置

Country Status (1)

Country Link
CN (1) CN106209775B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257327B (zh) * 2017-05-25 2020-12-29 中央民族大学 一种高并发ssl会话管理方法
CN110741613B (zh) 2017-10-16 2021-01-12 Oppo广东移动通信有限公司 一种加密数据流的识别方法、设备、存储介质及系统
CN109802924B (zh) 2017-11-17 2022-05-17 华为技术有限公司 一种识别加密数据流的方法及装置
CN109218127B (zh) * 2018-07-06 2021-05-07 Oppo(重庆)智能科技有限公司 数据处理方法、装置以及移动终端
CN109194657B (zh) * 2018-09-11 2020-05-12 北京理工大学 一种基于累积数据包长度的网页加密流量特征提取方法
EP3903209A4 (en) * 2018-12-28 2022-08-31 Plaid Inc. SYSTEM AND METHOD FOR FILTERING INTERNET TRAFFIC VIA A CUSTOMER FINGERPRINT
CN112751802B (zh) * 2019-10-30 2023-04-18 北京观成科技有限公司 一种加密流量的应用识别方法、系统和设备
CN114554256A (zh) * 2020-11-25 2022-05-27 阿里巴巴集团控股有限公司 媒体流播放、媒体流处理方法、装置、设备和存储介质
CN113596098B (zh) * 2021-07-01 2023-04-25 杭州迪普科技股份有限公司 会话检索方法、装置、设备及计算机可读存储介质
CN113904767A (zh) * 2021-09-29 2022-01-07 深圳市惠尔顿信息技术有限公司 一种基于ssl建立通信的系统
CN114584623B (zh) * 2022-03-10 2024-03-29 广州方硅信息技术有限公司 流量请求清理方法、装置、存储介质以及计算机设备
CN118158166A (zh) * 2022-12-05 2024-06-07 华为技术有限公司 一种应用识别方法以及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010056843A1 (en) * 2008-11-12 2010-05-20 Citrix Systems, Inc Systems and methods for application fluency policies
CN101873259A (zh) * 2010-06-01 2010-10-27 华为技术有限公司 Sctp报文识别方法和装置
CN102984243A (zh) * 2012-11-20 2013-03-20 杭州迪普科技有限公司 一种ssl协议中应用的自动识别方法和装置
CN105516173A (zh) * 2015-12-25 2016-04-20 北京中安智达科技有限公司 一种网络应用层协议识别的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010056843A1 (en) * 2008-11-12 2010-05-20 Citrix Systems, Inc Systems and methods for application fluency policies
CN101873259A (zh) * 2010-06-01 2010-10-27 华为技术有限公司 Sctp报文识别方法和装置
CN102984243A (zh) * 2012-11-20 2013-03-20 杭州迪普科技有限公司 一种ssl协议中应用的自动识别方法和装置
CN105516173A (zh) * 2015-12-25 2016-04-20 北京中安智达科技有限公司 一种网络应用层协议识别的方法和系统

Also Published As

Publication number Publication date
CN106209775A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106209775B (zh) 一种ssl加密网络流的应用类型识别方法与装置
CN106464577B (zh) 网络系统、控制装置、通信装置以及通信控制方法
US7779255B2 (en) Multi-level security systems
CN105591973B (zh) 应用识别方法及装置
KR101409563B1 (ko) 애플리케이션 프로토콜 식별 방법 및 장치
Novak et al. Near-pri: Private, proximity based location sharing
Grimaudo et al. Select: Self-learning classifier for internet traffic
US10187299B2 (en) Method for using authenticated requests to select network routes
CN107276978B (zh) 一种基于主机指纹的匿名网络隐藏服务溯源方法
US10375118B2 (en) Method for attribution security system
CN111953552B (zh) 数据流的分类方法和报文转发设备
CN107196967B (zh) 一种物流大数据信息安全访问控制系统
CN109309644B (zh) 一种基于双正交载体的网络水印标记方法及系统
CN103944788B (zh) 基于网络通信行为的未知木马检测方法
CN113676348B (zh) 一种网络通道破解方法、装置、服务器及存储介质
Shim et al. Application traffic classification using payload size sequence signature
Mazhar Rathore et al. Exploiting encrypted and tunneled multimedia calls in high-speed big data environment
CN107707508A (zh) 应用业务识别方法和装置
US8046490B1 (en) System and method for enhancing network security
CN101854366B (zh) 一种对等网络流量识别的方法及装置
An et al. Traffic Identification Based on Applications using Statistical Signature Free from Abnormal TCP Behavior.
CN107864126A (zh) 一种云平台虚拟网络行为检测方法
CN105099930B (zh) 加密数据流流量控制方法及装置
CN105024862B (zh) 一种基于自主学习的网络业务识别方法
Hejun et al. Online and automatic identification of encryption network behaviors in big data environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230726

Address after: No. 3, Huangjueping Main Street, Jiulongpo District, Chongqing 400053

Patentee after: Chongqing Aodun Security Technology Co.,Ltd.

Address before: 518000 1502a, science and technology building, Shenzhen Institute of information technology, Longgang District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN INSTITUTE OF INFORMATION TECHNOLOGY

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: No. H6-6, 1st Floor, No.1 Qianjin Road, Jiulongpo District, Chongqing, 400050 (self committed)

Patentee after: Chongqing Aodun Intelligent Technology Co.,Ltd.

Address before: No. 3, Huangjueping Main Street, Jiulongpo District, Chongqing 400053

Patentee before: Chongqing Aodun Security Technology Co.,Ltd.

CP03 Change of name, title or address