CN114401097B - 一种基于ssl证书指纹的https业务流量识别的方法 - Google Patents
一种基于ssl证书指纹的https业务流量识别的方法 Download PDFInfo
- Publication number
- CN114401097B CN114401097B CN202210085326.3A CN202210085326A CN114401097B CN 114401097 B CN114401097 B CN 114401097B CN 202210085326 A CN202210085326 A CN 202210085326A CN 114401097 B CN114401097 B CN 114401097B
- Authority
- CN
- China
- Prior art keywords
- information
- certificate
- session
- message
- https
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000005215 recombination Methods 0.000 claims abstract description 5
- 230000006798 recombination Effects 0.000 claims abstract description 5
- 238000013507 mapping Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000270322 Lepidosauria Species 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明提供一种基于SSL证书指纹的HTTPS业务流量识别的方法,包括读取HTTPS会话的流量报文数据包并解析获得原始报文信息;对原始报文信息进行报文重组得到拼接报文信息;依照拼接报文信息采用session回填算法生成标记报文信息;组建证书指纹库;根据标记报文信息的证书序列号与证书指纹库进行匹配,对HTTPS会话进行业务识别,输出业务名称信息。本发明通过OpenSSL、爬虫、证书还原构建证书指纹库,然后解析未知HTTPS流量证书的有效信息,最后将流量证书中的有效信息与证书指纹库高效匹配,完成精准识别HTTPS业务。
Description
技术领域
本发明涉及互联网通信技术领域,具体涉及一种基于SSL证书指纹的HTTPS业务流量识别的方法。
背景技术
近年来,随着 IT 技术的飞速发展,互联网应用数量剧增,网络用户的数量也逐渐增长,互联网已经成为人们生活中的重要组成部分。然而互联网的普及除了给广大用户带来便捷服务之余,也逐渐引发了一系列的网络安全问题。HTTPS协议在一定程度上保护了用户的隐私,但是一些不法分子也利用了HTTPS协议的特性,频频发起网络攻击,很大程度上威胁了社会的稳定性。因此对于HTTPS加密流量的业务识别对于网络安全、网络治理、网络运营意义重大,目前对HTTPS识别技术主要有以下几种:
(1)基于端口识别:这种方式是最原始和最早采用的流量识别方式,通过解析数据流量包的端口信息,再与端口业务映射关系对比输出识别业务信息;这种识别方式仅仅适用于端口相对固定的业务,目前很多主流业务经常用随机端口通讯,这就使这种基于端口的识别方式变得捉襟见肘;
(2)基于负载特征识别:这种方式首先分析已知业务的HTTPS流量特征串,然后将特征串与未知流量的数据包内容相比较,完成业务识别。这种识别方法较基于端口识别要精准很多,但是缺点在于它无法识别出先前未发现的流量,当一种新的流量出现时必须要重新提取特征串,尤其对于HTTPS加密流量来说提取特征串并校验其唯一性非常复杂,耗时巨大;
(3)基于SNI域名识别:这种方式比较直接,从HTTPS加密传输前的SSL握手阶段(明文)提取出server name,然后将已有累计的域名业务识别库对server name进行匹配,完成业务识别,但这种方式有两个缺点:一并不是每一次SSL握手都携带server name,二是这种方式需要自身累计域名业务识别库,如果域名业务库收录不全或者错误,就会造成漏识别或者误识别。
(4)中间人方式攻击截获HTTPS流量识别:中间人的方式有两种SSL劫持攻击和SSL剥离攻击,这种方式简单的说就是为了获取HTTPS传输明文数据,需要将自己接入到客户端和目标网站之间;在传输过程中伪造服务器证书等信息,这种方式为一种网络攻击的方式,对于客户来说是有网络质量感知的,也有可能透露用户隐私信息,带来严重的网络安全问题。
发明内容
有鉴于此,本发明要解决的问题是提供一种基于SSL证书指纹的HTTPS业务流量识别方法,首先通过OpenSSL、爬虫、证书还原等方式构建证书指纹库,然后解析未知HTTPS流量证书的有效信息,最后将流量证书中的有效信息与证书指纹库高效匹配,完成精准识别HTTPS业务。
为解决上述技术问题,本发明采用的技术方案是:一种基于SSL证书指纹的HTTPS业务流量识别的方法,包括以下步骤:
S1:读取HTTPS会话的流量报文数据包并解析获得原始报文信息;
S2:对所述原始报文信息进行报文重组得到拼接报文信息;
S3:依照所述拼接报文信息采用session回填算法生成标记报文信息;
S4:组建证书指纹库;
S5:根据所述标记报文信息的证书序列号与所述证书指纹库进行匹配,对HTTPS会话进行业务识别,输出业务名称信息。
在本发明中,优选地,所述S4的组建证书指纹库具体包括如下步骤:
S41:采集得到原始域名信息;
S42:将所述原始域名信息进行过滤预处理得到分类域名信息,将所述分类域名信息存储到PostgreSQL数据库;
S43:通过分布式OpenSSL方式对所述分类域名信息进行模拟请求访问,下载所述分类域名信息的证书;
S44:对所述分类域名信息的证书进行属性解析得到证书的属性信息,根据证书的Authority Key Identifier信息构建完整的证书链;
S45:在所述证书链打上业务标识,建立所述分类域名信息、业务标识和证书链的映射关系。
在本发明中,优选地,所述S3的session回填算法具体包括如下步骤:
S31:从TCP协议数据包提取ServerName信息和证书链关键信息;
S32:通过解析所述原始报文信息获取session信息、首次SSL握手的证书信息以及ServerName信息;
S33:建立反映所述session信息与标记信息映射关系的映射表;
S34:将携带session信息的HTTPS会话在所述映射表中进行关联匹配,将证书的所述业务标记信息回填到当前HTTPS会话中。
在本发明中,优选地,所述S2的报文重组具体包括如下步骤:
S21:根据所述原始报文信息获取TCP协议数据包;
S22:按四元组对所述原始报文信息进行汇聚;
S23:在ACK相同的情况下按SEQ排序,拼接所述TCP协议数据包以得到所述拼接报文信息。
在本发明中,优选地,所述四元组设置为源IP、目的IP、源端口和目的端口。
在本发明中,优选地,所述TCP协议数据包包括Client hello、Server hello、Certificate和New Session Ticket。
在本发明中,优选地,所述S5具体包括如下步骤:
S51:将证书指纹库加载至Map集合,所述Map集合的key为证书序列号,所述Map集合的value为业务名称;
S52:通过标记报文信息的证书序列号与所述Map集合进行匹配;
S53:域名库资源匹配模块的输入信息为ServerName信息以及CommonName信息,通过匹配host域名资源表,输出业务名称信息。
在本发明中,优选地,所述session信息包括clientSessionId、serverSessionId、clientSessionTicket和serverSessionTicket。
在本发明中,优选地,所述S31的证书链关键信息根据Certificate的报文分布规则得出,所述证书链关键信息包括证书序列号和CommonName信息。
在本发明中,优选地,所述原始域名信息通过DPI大流量域名统计、应用商店APP域名提取、爬虫门户网站域名采集三种方式采集获得。
本发明具有的优点和积极效果是:本发明以实际的HTTPS流量报文作为输入,使用多种计算机语言对报文数据过滤、提取、汇聚、排序和解析,提取到的主要关键信息包括但不局限于源IP、目的IP、源端口、目的端口、SessionID、Session Ticket和Certificate证书信息,主要识别因素为Certificate证书中的有效信息,在这个过程中通过session跨会话关联,将快速进行SSL握手的部分以Certificate证书的有效信息匹配已有的证书指纹库,生成业务识别信息。这种基于SSL证书指纹识别方式的相较于端口、特征字符串等方式来说操作简单、识别全面、识别精准,真正做到了用户无感知,且不仅仅局限于识别某人手机流量,它可以识别人们使用手机、电脑、iPad等各类终端产生的HTTPS流量,可以说只要有HTTPS流量报文产生,便可以进行HTTPS业务流量识别,开辟新思路,摒弃“中间人”的做法,完全不影响用户在线网络感知。该方法可以识别95%以上的HTTPS流量的业务细分,可以广泛地用在DPI等流量识别专用设备和其他业务识别系统内,可以解决HTTPS流量业务可视化问题,支撑网络安全检测溯源、网络精细化业务运营等。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的流程示意图;
图2是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的组建证书指纹库的流程示意图;
图3是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的session回填算法的流程示意图;
图4是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的报文重组的流程示意图;
图5是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的匹配的流程示意图;
图6是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的session回填算法的session信息示意图;
图7是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的组建证书指纹库的原理框图;
图8是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的匹配的原理图;
图9是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的根据原始报文信息获取TCP协议数据包的示意图;
图10是本发明的一种基于SSL证书指纹的HTTPS业务流量识别的方法的实施例中的组建证书指纹库的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、 “ 水平的”、“ 左”、“ 右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,本发明提供一种基于SSL证书指纹的HTTPS业务流量识别的方法,包括以下步骤:
S1:读取HTTPS会话的流量报文数据包并解析获得原始报文信息;
S2:对所述原始报文信息进行报文重组得到拼接报文信息;
S3:依照所述拼接报文信息采用session回填算法生成标记报文信息;
S4:组建证书指纹库;
S5:根据所述标记报文信息的证书序列号与所述证书指纹库进行匹配,对HTTPS会话进行业务识别,输出业务名称信息。
如图2所示,在本实施例中,进一步地,所述S4的组建证书指纹库具体包括如下步骤:
S41:采集得到原始域名信息;
S42:将所述原始域名信息进行过滤预处理得到分类域名信息,将所述分类域名信息存储到PostgreSQL数据库;
S43:通过分布式OpenSSL方式对所述分类域名信息进行模拟请求访问,下载所述分类域名信息的证书;
S44:对所述分类域名信息的证书进行属性解析得到证书的属性信息,根据证书的Authority Key Identifier信息构建完整的证书链;
S45:在所述证书链打上业务标识,建立所述分类域名信息、业务标识和证书链的映射关系。
结合图7和10可见,首先通过DPI大流量域名统计、应用商店APP域名提取、爬虫门户网站域名采集三种方式不间断采集各个应用、网站、APP原始域名信息在内的有效信息,其中,爬虫门户网站域名采用分布式scrapy爬虫方式,scrapy基于一个快速的高级web抓取和web抓取框架,用户抓取网站并从其页面中提取结构化数据。然后将原始域名信息进行去重清洗等预处置操作得到分类域名信息,将分类域名信息存储到PostgreSQL数据库,判断证书是否下载,是则返回采集原始域名信息步骤,否则通过分布式OpenSSL方式对分类域名信息进行模拟请求访问,判断Socket是否创建成功,是则继续判断SSL建立连接是否成功,否则返回到采集原始域名信息步骤;若SSL建立连接成功则判断SSL握手是否成功,是则下载分类域名信息的证书,否则返回到采集原始域名信息步骤,接下来对分类域名信息的证书进行属性解析得到证书的属性信息,具体包括其版本号、序列号、发行者、服务者、扩展属性等在内的37个属性信息,根据证书Authority Key Identifier信息构建完整的证书链并打上业务识别标记信息,最终建立起域名、业务标识、证书链的映射关系,判断证书是否存在,是则返回到采集原始域名信息步骤,否则生成证书指纹库,至此SSL证书指纹库就构建完成了。
如图3所示,在本实施例中,进一步地,所述S3的session回填算法具体包括如下步骤:
S31:从TCP协议数据包提取ServerName信息和证书链关键信息;
S32:通过解析所述原始报文信息获取session信息、首次SSL握手的证书信息以及ServerName信息;
S33:建立反映所述session信息与标记信息映射关系的映射表;
S34:将携带session信息的HTTPS会话在所述映射表中进行关联匹配,将证书的所述业务标记信息回填到当前HTTPS会话中。
如图4所示,在本实施例中,进一步地,所述S2的报文重组具体包括如下步骤:
S21:根据所述原始报文信息获取TCP协议数据包;具体如图9所示,判断原始报文信息是否为TLS/SSL协议,是则判断是否为Client hello,是则提取Client hello相关字段,否则判断是否为Server hello,是则提取Server hello相关字段,否则判断是否为Certificate,是则提取Certificate相关字段,否则判断是否为New Session Ticket,是则提取New Session Ticket相关字段,否则得到TCP协议数据包。当客户端与服务器端建立连接时,客户端首先会发送Client Hello问候报文,Server hello为服务器端对客户端的响应报文,New Session Ticket为服务器端发送给客户端的session票证信息。
S22:按四元组对所述原始报文信息进行汇聚;
S23:在ACK相同的情况下按SEQ排序,拼接所述TCP协议数据包以得到所述拼接报文信息。
在本实施例中,进一步地,所述四元组设置为源IP、目的IP、源端口和目的端口。
在本实施例中,进一步地,所述TCP协议数据包包括Client hello、Server hello、Certificate和New Session Ticket。
如图5所示,在本实施例中,进一步地,所述S5具体包括如下步骤:
S51:将证书指纹库加载至Map集合,所述Map集合的key为证书序列号,所述Map集合的value为业务名称;
S52:通过标记报文信息的证书序列号与所述Map集合进行匹配;
S53:域名库资源匹配模块的输入信息为ServerName信息(表示域名信息)以及CommonName信息,通过匹配host域名资源表,输出业务名称信息。
在本实施例中,进一步地,所述session信息包括clientSessionId、serverSessionId、clientSessionTicket和serverSessionTicket。clientSessionId:client hello报文中携带的sessionID信息。serverSessionId表示server hello报文中携带的sessionID信息,clientSessionTicket表示 client hello报文中携带的sessionticket信息,serverSessionTicket表示server hello报文中携带的sessionticket信息。
在本实施例中,进一步地,所述S31的证书链关键信息根据Certificate的报文分布规则得出,所述证书链关键信息包括证书序列号和CommonName信息。
本发明的工作原理和工作过程如下:首先,将需要识别业务类型未知的HTTPS报文信息作为输入,HTTPS会话存储于流量报文数据包,流量报文数据包的文件格式为pcap文件,从pcap文件中逐条解析出文长度、源IP、目的IP、源端口、目的端口、ACK、SEQ、TLS版本等原始报文信息,并根据原始报文信息获取TCP协议数据包,TCP协议数据包包括Clienthello、Server hello、New Session Ticket 三种TLS报文,这一步为基础的解析工作。
将源IP、目的IP、源端口和目的端口作为四元组,对pcap格式文件解析读取出的原始报文信息以四元组进行汇聚,在ACK相同的情况下,按照SEQ进行排序,ACK为报文的序列号,SEQ为报文的确认号,拼接TCP协议数据包的内容,得到拼接报文信息,这一个过程实际上做了报文重组,以此解决数据报文抓包过程中分帧的情况,从而保证了证书报文的完整性。从TCP协议数据包的Client hello中提取ServerName信息(ServerName代表所请求的服务器名),按照Certificate在报文中分布的规则采用ASN.1编码提取得到证书链关键信息,证书链关键信息包括证书序列号和CommonName信息。
当客户端和服务器端初次建立TLS握手时(例如浏览器访问HTTPS网站),需要双方建立一个完整的TLS连接,该过程为了保证数据的传输具有完整性和机密性要做很多事情,密钥协商出会话密钥,数字签名身份验证,消息验证码MAC等,整个握手阶段比较耗时的地方是密钥协商,需要密集的CPU处理。当客户端和服务器完成一次完整的握手过程后,它们之间发送的数据就会一直有TLS保护,当某一时刻客户端和服务器断开了本次会话连接,那么它们之前连接时协商好的会话密钥(动态密钥)就没用了,消失了,因为要保证前向安全性,客户端和服务器端都不会去保存加密参数。在下一次客户端访问同一个HTTPS网站,也就是再次访问该服务器时,便要进行一次新的完整的握手阶段,但是当一个网站用户量越来越大后,某一时间段里大量的请求提交占用服务器资源,会导致很大的网络延迟。
由于HTTPS协议为了提升用户访问感知和减少资源开销,在获取证书序列号的过程中session信息关联回填算法,因此并不是每一次HTTPS的SSL过程都有证书信息,HTTPS会通过session存储首次握手的信息包括但不仅限于证书、加密算法等信息,这个过程叫做快速握手;在这种情况下,本发明通过解析原始报文信息得到其session信息(clientSessionId、serverSessionId、clientSessionTicket和serverSessionTicket)、首次SSL握手过程中证书和ServerName等信息,具体如图6所示,然后建立session与证书等任何业务标记信息的映射关系,当遇到未知不含任何证书或者ServerName等信息的HTTPS会话流量时,即可通过其携带的seesion信息在上述累积的映射表中做关联匹配,将证书等业务标记信息回填到当前的会话中来,得到证书的序列号CertificateNum,从而解决了未携带业务标记信息的业务识别问题,为后续进一步识别做准备,具体可参见图8,接下来根据报文信息处理得到的信息字段进行证书指纹库的匹配,域名资源库匹配,最终输出识别后的业务名称。具体而言,先将证书指纹库加载到Map集合,集合以证书序列号为key,以业务名称为value,通过输入报文中的证书序列号匹配业务信息。域名库资源匹配模块的输入信息为报文中的ServerName以及提取到的Certificate证书中的CommonName等信息,匹配host域名资源表,输出结果为业务名称信息,至此完成了对未知HTTPS流量的业务识别过程。
本发明通过OpenSSL、爬虫、证书还原等方式构建证书指纹库,然后解析未知HTTPS流量证书的有效信息,最后将流量证书中的有效信息与证书指纹库高效匹配,完成精准识别HTTPS业务。该方法以实际的HTTPS流量报文作为输入,使用多种计算机语言对报文数据过滤、提取、汇聚、排序和解析,提取到的主要关键信息包括但不局限于源IP、目的IP、源端口、目的端口、SessionID、Session Ticket和Certificate证书信息。该方法的主要识别因素为Certificate证书中的有效信息,在这个过程中通过session跨会话关联,将快速进行SSL握手的部分以Certificate证书的有效信息匹配已有的证书指纹库,生成业务识别信息。这种基于SSL证书指纹识别方式的相较于端口、特征字符串等方式来说操作简单、识别全面、识别精准,真正做到了用户无感知,且不仅仅局限于识别某人手机流量,它可以识别人们使用手机、电脑、iPad等各类终端产生的HTTPS流量,可以说只要有HTTPS流量报文产生,便可以进行HTTPS业务流量识别,开辟新思路,摒弃“中间人”的做法,完全不影响用户在线网络感知。该方法可以识别95%以上的HTTPS流量的业务细分,可以广泛地用在DPI等流量识别专用设备和其他业务识别系统内,可以解决HTTPS流量业务可视化问题,支撑网络安全检测溯源、网络精细化业务运营等。
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。
Claims (6)
1.一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,包括以下步骤:
S1:读取HTTPS会话的流量报文数据包并解析获得原始报文信息;
S2:对所述原始报文信息进行报文重组得到拼接报文信息;
S3:依照所述拼接报文信息采用session回填算法生成标记报文信息;
S4:组建证书指纹库;
S5:根据所述标记报文信息的证书序列号与所述证书指纹库进行匹配,对HTTPS会话进行业务识别,输出业务名称信息;
所述S3的session回填算法具体包括如下步骤:
S31:从TCP协议数据包提取ServerName信息和证书链关键信息;
S32:通过解析所述原始报文信息获取session信息、首次SSL握手的证书信息以及ServerName信息;
S33:建立反映所述session信息与业务标记信息映射关系的映射表;
S34:将携带session信息的HTTPS会话在所述映射表中进行关联匹配,将证书的所述业务标记信息回填到当前HTTPS会话中;
所述S31的证书链关键信息根据Certificate的报文分布规则得出,所述证书链关键信息包括证书序列号和CommonName信息;
所述S4的组建证书指纹库具体包括如下步骤:
S41:采集得到原始域名信息;
S42:将所述原始域名信息进行过滤预处理得到分类域名信息,将所述分类域名信息存储到PostgreSQL数据库;
S43:通过分布式OpenSSL方式对所述分类域名信息进行模拟请求访问,下载所述分类域名信息的证书;
S44:对所述分类域名信息的证书进行属性解析得到证书的属性信息,根据证书的Authority Key Identifier信息构建完整的证书链,Authority Key Identifier表示颁发机构密钥标识符扩展,颁发机构密钥标识符扩展提供了对用于证书签名的私钥对应的公钥进行鉴定的方法;
S45:在所述证书链打上业务标识,建立所述分类域名信息、业务标识和证书链的映射关系;
所述S5具体包括如下步骤:
S51:将证书指纹库加载至Map集合,所述Map集合的key为证书序列号,所述Map集合的value为业务名称;
S52:通过标记报文信息的证书序列号与所述Map集合进行匹配;
S53:域名库资源匹配模块的输入信息为ServerName信息以及CommonName信息,所述ServerName信息表示请求的服务器名,所述CommonName信息表示证书的公用名,通过匹配host域名资源表,输出业务名称信息。
2.根据权利要求1所述的一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,所述S2的报文重组具体包括如下步骤:
S21:根据所述原始报文信息获取TCP协议数据包;
S22:按四元组对所述原始报文信息进行汇聚;
S23:在ACK相同的情况下按SEQ排序,拼接所述TCP协议数据包以得到所述拼接报文信息。
3.根据权利要求2所述的一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,所述四元组设置为源IP、目的IP、源端口和目的端口。
4.根据权利要求1所述的一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,所述TCP协议数据包包括Client hello、Server hello、Certificate和New SessionTicket。
5.根据权利要求4所述的一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,所述session信息包括clientSessionId、serverSessionId、clientSessionTicket和serverSessionTicket,clientSessionId表示client hello报文中携带的sessionID信息,serverSessionId表示server hello报文中携带的sessionID信息,clientSessionTicket表示 client hello报文中携带的sessionticket信息,serverSessionTicket表示serverhello报文中携带的sessionticket信息。
6.根据权利要求1所述的一种基于SSL证书指纹的HTTPS业务流量识别的方法,其特征在于,所述原始域名信息通过DPI大流量域名统计、应用商店APP域名提取、爬虫门户网站域名采集三种方式采集获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085326.3A CN114401097B (zh) | 2022-01-25 | 2022-01-25 | 一种基于ssl证书指纹的https业务流量识别的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085326.3A CN114401097B (zh) | 2022-01-25 | 2022-01-25 | 一种基于ssl证书指纹的https业务流量识别的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114401097A CN114401097A (zh) | 2022-04-26 |
CN114401097B true CN114401097B (zh) | 2023-10-20 |
Family
ID=81233626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210085326.3A Active CN114401097B (zh) | 2022-01-25 | 2022-01-25 | 一种基于ssl证书指纹的https业务流量识别的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114401097B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103000B (zh) * | 2022-06-20 | 2023-09-26 | 北京鼎兴达信息科技股份有限公司 | 基于NetStream对铁路数据网进行业务会话还原和分析方法 |
CN115567503B (zh) * | 2022-12-07 | 2023-03-21 | 华信咨询设计研究院有限公司 | 一种基于流量分析的https协议分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778194B1 (en) * | 2004-08-13 | 2010-08-17 | Packeteer, Inc. | Examination of connection handshake to enhance classification of encrypted network traffic |
CN102594565A (zh) * | 2012-02-23 | 2012-07-18 | 汉柏科技有限公司 | 利用数字证书识别加密协议的识别方法及系统 |
CN105871832A (zh) * | 2016-03-29 | 2016-08-17 | 北京理工大学 | 一种基于协议属性的网络应用加密流量识别方法及其装置 |
CN107707508A (zh) * | 2016-08-09 | 2018-02-16 | 中兴通讯股份有限公司 | 应用业务识别方法和装置 |
CN109792433A (zh) * | 2016-09-28 | 2019-05-21 | 瑞典爱立信有限公司 | 用于将设备应用绑定到网络服务的方法和装置 |
CN112769713A (zh) * | 2020-12-31 | 2021-05-07 | 北京赛思信安技术股份有限公司 | 一种基于多个匹配引擎的结果加权的https流量应用分类方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10708233B2 (en) * | 2017-03-30 | 2020-07-07 | Zscaler, Inc. | Identification of certificate pinned mobile applications in cloud based security systems |
-
2022
- 2022-01-25 CN CN202210085326.3A patent/CN114401097B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778194B1 (en) * | 2004-08-13 | 2010-08-17 | Packeteer, Inc. | Examination of connection handshake to enhance classification of encrypted network traffic |
CN102594565A (zh) * | 2012-02-23 | 2012-07-18 | 汉柏科技有限公司 | 利用数字证书识别加密协议的识别方法及系统 |
WO2013123799A1 (zh) * | 2012-02-23 | 2013-08-29 | 汉柏科技有限公司 | 利用数字证书识别加密协议的识别方法及系统 |
CN105871832A (zh) * | 2016-03-29 | 2016-08-17 | 北京理工大学 | 一种基于协议属性的网络应用加密流量识别方法及其装置 |
CN107707508A (zh) * | 2016-08-09 | 2018-02-16 | 中兴通讯股份有限公司 | 应用业务识别方法和装置 |
CN109792433A (zh) * | 2016-09-28 | 2019-05-21 | 瑞典爱立信有限公司 | 用于将设备应用绑定到网络服务的方法和装置 |
CN112769713A (zh) * | 2020-12-31 | 2021-05-07 | 北京赛思信安技术股份有限公司 | 一种基于多个匹配引擎的结果加权的https流量应用分类方法 |
Non-Patent Citations (3)
Title |
---|
Nokia, Nokia Shanghai Bell.S3-194524 "SBA Network Function TLS certificate profile".3GPP tsg_sa\wg3_security.2019,(第tsgs3_97_reno期),全文. * |
Tor匿名通信流量在线识别方法;何高峰;杨明;罗军舟;张璐;;软件学报(第03期);全文 * |
基于SSL流量的指纹识别;苏昕;施勇;薛质;;信息安全与技术(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114401097A (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708170B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN114401097B (zh) | 一种基于ssl证书指纹的https业务流量识别的方法 | |
EP3641265A1 (en) | Method, apparatus, and network system for identifying website | |
CN105554009B (zh) | 一种通过网络数据获取设备操作系统信息的方法 | |
CN113676348B (zh) | 一种网络通道破解方法、装置、服务器及存储介质 | |
CN112788064B (zh) | 基于知识图谱的加密网络异常流量检测方法 | |
CN103905399A (zh) | 一种帐号登录管理的方法和装置 | |
CN106815511A (zh) | 信息处理装置和方法 | |
CN110599142A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111478892A (zh) | 基于浏览器指纹的攻击者画像多维度分析方法 | |
CN112437100A (zh) | 漏洞扫描方法及相关设备 | |
Wang et al. | A smart automated signature extraction scheme for mobile phone number in human-centered smart home systems | |
Shi et al. | The penetration testing framework for large-scale network based on network fingerprint | |
CN106790073B (zh) | 一种Web服务器恶意攻击的阻断方法、装置及防火墙 | |
CN116489166A (zh) | 一种基于区块链技术实现的安全数据交换方法和系统 | |
CN112671796B (zh) | Google Driver云服务的认证获取方法、装置、设备及存储介质 | |
CN113342892A (zh) | 基于区块链节点集群的云安全数据处理方法及区块链系统 | |
CN111343008B (zh) | 一种用于发现IPv6加速部署状态的综合性测量方法和系统 | |
CN111835720B (zh) | 基于特征增强的vpn流量web指纹识别方法 | |
US20230037602A1 (en) | Information processing method and apparatus, node device, server and storage medium | |
Castiglione et al. | Device tracking in private networks via napt log analysis | |
KR101703880B1 (ko) | 시큐어로깅을 위한 포워드시큐어 압축 서명 장치 및 방법 | |
CN113949653A (zh) | 一种基于深度学习的加密协议识别方法及系统 | |
CN108881484A (zh) | 一种检测终端是否能访问互联网的方法 | |
CN109088876A (zh) | 一种互联网加密网站(https)流量的审核方法 |
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 |