CN104394164A - 基于会话和协议识别https端口数据的方法 - Google Patents

基于会话和协议识别https端口数据的方法 Download PDF

Info

Publication number
CN104394164A
CN104394164A CN201410731779.4A CN201410731779A CN104394164A CN 104394164 A CN104394164 A CN 104394164A CN 201410731779 A CN201410731779 A CN 201410731779A CN 104394164 A CN104394164 A CN 104394164A
Authority
CN
China
Prior art keywords
ssl
session
https
protocol
tls
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.)
Pending
Application number
CN201410731779.4A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201410731779.4A priority Critical patent/CN104394164A/zh
Publication of CN104394164A publication Critical patent/CN104394164A/zh
Pending legal-status Critical Current

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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

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

基于会话和协议识别HTTPS端口数据的方法。系统捕获HTTPS端口的数据包,并根据IP地址和端口建立会话连接表。当数据包到达检测系统时:1、系统检查维护会话连接表,如果没有记录,则增加记录;如果是RST、FIN数据包或者连接超时则从会话连接表中删除记录。2、系统检查数据包内容并判断会话连接是否符合标准SSL/TLS协议(是否为SSL/TLSRecordProtocol格式,是否通过SSL/TLSHandshakeProtocol建立连接);如果符合则标记该会话为HTTPS协议数据,否则标记为非HTTPS协议数据。使用本发明可以识别HTTPS协议数据和非HTTPS协议数据并对其实行差别服务,或阻止非HTTPS协议数据穿透HTTPS端口。

Description

基于会话和协议识别HTTPS端口数据的方法
技术领域
本发明属计算机网络技术领域,是一种区分HTTPS协议数据和非HTTPS协议数据的方法。
背景技术
随着互联网技术的发展,如何控制内网用户访问互联网已经成了网络管理的重点。传统的网络管理以端口来区分各种网络服务,通过开放或关闭某些端口来实现外网访问的控制。HTTPS协议是HTTP协议和SSL/TLS协议的组合,用以提供加密通讯及对网络服务器身份的鉴定。HTTPS协议经常被用于网上的交易支付和敏感信息的传输,很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。HTTPS协议默认端口为TCP 443。鉴于HTTPS端口一般是开放的,各类软件纷纷借用HTTPS端口与外部建立连接。传统防火墙使用的端口控制方法已经无法应对HTTPS端口穿透技术,未经授权的外网访问严重威胁着内部网络的安全。
发明内容
本发明的目的在于提出一种区分HTTPS协议数据和非HTTPS协议数据的方法,使用本发明可以识别HTTPS协议数据和非HTTPS协议数据并对其实行差别服务,或阻止非HTTPS协议数据穿透HTTPS端口。
为了方便叙述,首先将本发明涉及的常用术语和标记介绍如下:
1.  SrcIP、SrcPort、DstIP、DstPort:分别表示源IP、源端口、目标IP、目标端口;
2.  会话(Session):客户端与服务器一次连接过程中的所有信息数据;
3.  会话连接表(Session Table):用于保存多个会话的数据表,通常可采用哈希表。
HTTPS端口数据检测原理:
HTTPS(Hypertext Transfer Protocol Secure)是超文本传输协议(HTTP)和SSL/TLS的组合。根据RFC 2818(HTTP Over TLS)的描述,HTTPS协议是建立在SSL/TLS之上的安全版HTTP协议。SSL/TLS协议分为两层。SSL/TLS记录协议(SSL/TLS Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL/TLS握手协议(SSL/TLS Handshake Protocol):它建立在SSL/TLS记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
由于HTTPS是加密协议,我们无法解密其中传输的数据内容。但HTTPS是SSL/TLS对HTTP协议的封装,它必须遵守SSL/TLS协议标准。因此我们可以用一种简单的方法来判断经过HTTPS端口的数据是否为HTTPS协议数据:符合SSL/TLS协议标准的为HTTPS协议数据,不符合SSL/TLS协议标准的为非HTTPS协议数据。
如果是标准HTTPS协议数据,其遵从SSL/TLS协议标准。客户端和服务端的通信数据均采用SSL/TLS记录协议格式,双方在数据传输开始前必须通过SSL/TLS握手协议建立连接。
非HTTPS协议数据则采用私有协议,其不遵从SSL/TLS协议标准。客户端和服务端的通信数据不是SSL/TLS记录协议格式,双方在数据传输开始前也没有通过SSL/TLS握手协议建立连接。
根据这些差别,我们可以通过检查一条会话连接是否为SSL/TLS Record Protocol格式、是否通过SSL/TLS Handshake Protocol建立连接,来判断该会话是HTTPS协议会话还是非HTTPS协议会话。
附图说明
图1为本发明系统网络部署方式图。
图2为本发明系统会话连接表维护处理流程图。
图3为SSL/TLS Record Protocol格式。
图4为SSL/TLS Handshake Protocol连接过程。
图5为本发明系统对客户端数据包检测流程图。
图6为本发明系统对服务端数据包检测流程图。
具体实施方式
下面结合附图对本发明做进一步的详细介绍。
系统网络部署方式:
参见图1,本发明系统通常部署在局域网连接互联网的出口网关处,从网络中捕获指定端口的数据包。该端口一般为TCP 443,必要时也可以指定或者增加其他端口。
会话连接表的维护:
参见图2,系统从网络中捕获到指定端口数据包,从数据包中提取SrcIP、DstIP、SrcPort、DstPort等信息,与会话连接表中已有的项目进行对比。如果会话连接表中不存在该会话记录,则新增本次会话信息到会话连接表中。如果已经存在该会话连接记录,则更新会话最后活动时间。当收到会话结束数据包(TCP RST、TCP FIN)或者会话超时则从会话连接表中删除本次会话信息。
会话协议检测方法:
检测的标准在于判断会话数据格式是否符合SSL/TLS Record Protocol格式,客户端与服务端会话是否通过SSL/TLS Handshake Protocol建立连接。如果符合即可判断该会话为HTTPS协议会话,否则为非HTTPS协议会话。
参见图3,SSL/TLS Record Protocol格式如图,其结构定义如下:
struct {
    ContentType type;
    ProtocolVersion version;
    uint16 length;
    opaque fragment[SSLTLSRecord.length];
} SSLTLSRecord。
type:第1字节,表示记录类型。当前可能的类型有change_cipher_spec(0x14),alert(0x15),handshake(0x16),application_data(0x17)。
version:第2至3字节,表示SSL/TLS协议版本。当前可能的版本有SSL 3.0(3.0),TLS 1.0(3.1),TLS 1.1(3.2),TLS 1.2(3.3)。
length:第4至5字节,表示内容长度。
fragment:第6至(length+6)字节,表示数据内容,长度为length。fragment根据记录类型type的不同表示不同的内容。当记录类型type为handshake(0x16)时,表示握手协议。此时数据内容fragment的首字节为handshake type:0x01表示client hello,0x02表示server hello。
SSL/TLS协议格式的详细描述可参见RFC 6101、RFC 2246、RFC 4346、RFC 5246。
参见图4,SSL/TLS Handshake Protocol建立连接过程如图。客户端与服务端开始建立SSL/TLS连接时,首先由客户端发送client hello,服务端回应server hello开始握手协议。接着双方交换证书、密钥等信息。然后客户端发送client finished,服务端发送server finished结束握手协议。完成握手协议后客户端与服务端才开始加密数据的传输。
标准HTTPS协议会话都是以客户端发送client hello、服务端回应server hello开始通信。客户端发送的数据第1字节是handshake(0x16),第2、3字节是SSL/TLS版本,第6字节是client hello(0x01);服务端发送的数据第1字节是handshake(0x16),第2、3字节是SSL/TLS版本,第6字节是server hello(0x02)。
典型的client hello数据内容头部格式如下:
0x16 0x03 0x01 0x01
典型的server hello数据内容头部格式如下:
0x16 0x03 0x03 0x02
如果不是以客户端发送client hello、服务端回应server hello开始通信,则可以判定为非HTTPS协议会话。
这里选择以一种高效的检测方式为例:通过检测会话数据前6个字节,来判断是否为HTTPS协议。但并不意味着本发明只能以此作为唯一检测方法。
1、客户端数据检测
参见图5,系统捕获到客户端发给服务端的会话数据,首先进行组包排序等操作。然后提取客户端数据内容第1字节(type)。如果type不是0x16,则判定该会话为非HTTPS协议会话。然后提取数据包内容第2-3字节(version)。如果version不是[0x03,0x00]、[0x03,0x01] 、[0x03,0x02] 或[0x03,0x03],则判定该会话为非HTTPS协议会话。接着提取数据包内容第6字节(handshake type)。如果handshake type不为0x01(client hello),则判定该会话为非HTTPS协议会话,否则为HTTPS协议会话。
2、服务端数据检测
参见图6,系统捕获到服务端发给客户端的会话数据,首先进行组包排序等操作。然后提取服务端数据内容第1字节(type)。如果type不是0x16,则判定该会话为非HTTPS协议会话。然后提取数据包内容第2-3字节(version)。如果version不是[0x03,0x00]、[0x03,0x01] 、[0x03,0x02] 或[0x03,0x03],则判定该会话为非HTTPS协议会话。接着提取数据包内容第6字节(handshake type)。如果handshake type不为0x02(server hello),则判定该会话为非HTTPS协议会话,否则为HTTPS协议会话。
在一次会话连接里,客户端数据和服务端数据是双向的。因此可选择只检测客户端数据,也可选择只检测服务端数据,还可以选择同时检测客户端数据和服务端数据。
以上实施例仅用于说明本发明而非限制。本领域的普通技术人员应当理解,对本发明修改变形或者等同替换,而不脱离本发明精神范围的,其均应涵盖在本发明的权利要求当中。

Claims (8)

1.基于会话和协议识别HTTPS端口数据的方法,其包含以下步骤:
(1)初始化会话连接表;
(2)捕获HTTPS端口的数据包;
(3)分析数据包中的IP地址和端口信息,维护会话连接表中的会话状态;
(4)分析会话的数据内容,判断数据内容是否符合SSL/TLS Record Protocol格式,如果符合则标记该会话为HTTPS协议数据,否则标记为非HTTPS协议数据。
2.根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol格式,其特征在于:检查客户端发给服务端的数据流第1个字节是否为handshake(0x16)。
3.根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol格式,其特征在于:检查服务端发给客户端的数据流第1个字节是否为handshake(0x16)。
4.根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol格式,其特征在于:检查客户端发给服务端的数据流第2至3字节是否为SSL/TLS协议已知版本。
5.根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol格式,其特征在于:检查服务端发给客户端的数据流第2至3字节是否为SSL/TLS协议已知版本。
6.根据权利要求1的方法,所述步骤(4)判断会话是否符合SSL/TLS Record Protocol格式,其特征在于:检查会话是否通过SSL/TLS Handshake Protocol建立连接。
7.根据权利要求6的方法,所述检查会话是否通过SSL/TLS Handshake Protocol建立连接,其特征在于:检查客户端发给服务端的数据流第6字节是否为client hello(0x01)。
8.根据权利要求6的方法,所述检查会话是否通过SSL/TLS Handshake Protocol建立连接,其特征在于:检查服务端发给客户端的数据流第6字节是否为server hello(0x02)。
CN201410731779.4A 2014-12-06 2014-12-06 基于会话和协议识别https端口数据的方法 Pending CN104394164A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410731779.4A CN104394164A (zh) 2014-12-06 2014-12-06 基于会话和协议识别https端口数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410731779.4A CN104394164A (zh) 2014-12-06 2014-12-06 基于会话和协议识别https端口数据的方法

Publications (1)

Publication Number Publication Date
CN104394164A true CN104394164A (zh) 2015-03-04

Family

ID=52611999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410731779.4A Pending CN104394164A (zh) 2014-12-06 2014-12-06 基于会话和协议识别https端口数据的方法

Country Status (1)

Country Link
CN (1) CN104394164A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101056A (zh) * 2016-05-12 2016-11-09 山东渔翁信息技术股份有限公司 一种软件架构及让ie浏览器基于国密ssl协议通信的方法
CN108429724A (zh) * 2017-02-15 2018-08-21 贵州白山云科技有限公司 一种握手处理过程中加密套件的选择方法及装置
CN108810163A (zh) * 2018-06-27 2018-11-13 北京奇安信科技有限公司 自签名ssl证书处理系统及方法
CN111405007A (zh) * 2020-03-06 2020-07-10 Oppo广东移动通信有限公司 Tcp会话管理方法、装置、存储介质及电子设备
CN112019500A (zh) * 2020-07-15 2020-12-01 中国科学院信息工程研究所 一种基于深度学习的加密流量识别方法及电子装置
CN113935430A (zh) * 2021-10-28 2022-01-14 北京永信至诚科技股份有限公司 一种多样化识别私有加密数据的方法及系统
WO2022042137A1 (zh) * 2020-08-31 2022-03-03 Oppo广东移动通信有限公司 一种数据传输方法、装置、设备及存储介质
CN114697273A (zh) * 2022-03-29 2022-07-01 杭州安恒信息技术股份有限公司 流量识别方法、装置、计算机设备和存储介质
CN115150376A (zh) * 2022-07-01 2022-10-04 北京天融信网络安全技术有限公司 一种重定向方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138471A1 (en) * 2006-11-24 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for identifying data content
CN101741644A (zh) * 2009-12-16 2010-06-16 成都市华为赛门铁克科技有限公司 流量检测方法及装置
CN103166996A (zh) * 2011-12-14 2013-06-19 华为技术有限公司 Http连接和https连接自适应方法、装置及系统
WO2013123799A1 (zh) * 2012-02-23 2013-08-29 汉柏科技有限公司 利用数字证书识别加密协议的识别方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138471A1 (en) * 2006-11-24 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Method and apparatus for identifying data content
CN101741644A (zh) * 2009-12-16 2010-06-16 成都市华为赛门铁克科技有限公司 流量检测方法及装置
CN103166996A (zh) * 2011-12-14 2013-06-19 华为技术有限公司 Http连接和https连接自适应方法、装置及系统
WO2013123799A1 (zh) * 2012-02-23 2013-08-29 汉柏科技有限公司 利用数字证书识别加密协议的识别方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101056A (zh) * 2016-05-12 2016-11-09 山东渔翁信息技术股份有限公司 一种软件架构及让ie浏览器基于国密ssl协议通信的方法
CN106101056B (zh) * 2016-05-12 2018-10-26 山东渔翁信息技术股份有限公司 一种代理软件软件架构中数据处理方法及让ie浏览器基于国密ssl协议通信的方法
CN108429724A (zh) * 2017-02-15 2018-08-21 贵州白山云科技有限公司 一种握手处理过程中加密套件的选择方法及装置
CN108810163B (zh) * 2018-06-27 2021-08-17 奇安信科技集团股份有限公司 自签名ssl证书处理系统及方法
CN108810163A (zh) * 2018-06-27 2018-11-13 北京奇安信科技有限公司 自签名ssl证书处理系统及方法
CN111405007A (zh) * 2020-03-06 2020-07-10 Oppo广东移动通信有限公司 Tcp会话管理方法、装置、存储介质及电子设备
CN111405007B (zh) * 2020-03-06 2022-10-21 Oppo广东移动通信有限公司 Tcp会话管理方法、装置、存储介质及电子设备
CN112019500A (zh) * 2020-07-15 2020-12-01 中国科学院信息工程研究所 一种基于深度学习的加密流量识别方法及电子装置
CN112019500B (zh) * 2020-07-15 2021-11-23 中国科学院信息工程研究所 一种基于深度学习的加密流量识别方法及电子装置
WO2022042137A1 (zh) * 2020-08-31 2022-03-03 Oppo广东移动通信有限公司 一种数据传输方法、装置、设备及存储介质
US11949781B2 (en) 2020-08-31 2024-04-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data transmission method, device, apparatus and storage medium
CN113935430A (zh) * 2021-10-28 2022-01-14 北京永信至诚科技股份有限公司 一种多样化识别私有加密数据的方法及系统
CN113935430B (zh) * 2021-10-28 2022-04-12 北京永信至诚科技股份有限公司 一种多样化识别私有加密数据的方法及系统
CN114697273A (zh) * 2022-03-29 2022-07-01 杭州安恒信息技术股份有限公司 流量识别方法、装置、计算机设备和存储介质
CN115150376A (zh) * 2022-07-01 2022-10-04 北京天融信网络安全技术有限公司 一种重定向方法、装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104394164A (zh) 基于会话和协议识别https端口数据的方法
US10735511B2 (en) Device and related method for dynamic traffic mirroring
CN101286896B (zh) 基于流的IPSec VPN协议深度检测方法
CN101296227B (zh) 基于报文偏移量匹配的IPSec VPN协议深度检测方法
US9813447B2 (en) Device and related method for establishing network policy based on applications
EP3691217B1 (en) Web traffic logging system and method for detecting web hacking in real time
US9130826B2 (en) System and related method for network monitoring and control based on applications
US9584393B2 (en) Device and related method for dynamic traffic mirroring policy
CN102055674B (zh) Ip报文及基于该ip报文的信息处理方法及装置
US20140279768A1 (en) Device and related method for scoring applications running on a network
EP3157195B1 (en) Communication protocol testing method, and tested device and testing platform thereof
EP3499908B1 (en) A device and method for the determination of applications running on a network
CN103618726A (zh) 一种基于https协议实现移动数据业务识别的方法
CN106815511B (zh) 信息处理装置和方法
WO2023173790A1 (zh) 一种基于数据包的加密流量分类系统
CN109474485A (zh) 基于网络流量信息检测僵尸网络的方法、系统及存储介质
CN107453861B (zh) 一种基于ssh2协议的数据采集方法
CN111935212A (zh) 安全路由器及基于安全路由器的物联网安全联网方法
CN103905415A (zh) 一种防范远控类木马病毒的方法及系统
CN109450895A (zh) 一种流量识别方法、装置、服务器及存储介质
CN113872956A (zh) 一种审查ipsec vpn传输内容的方法及系统
CN113315678A (zh) 加密tcp流量采集方法与装置
CN104660584A (zh) 基于网络会话的木马病毒分析技术
CN106685896B (zh) 一种ssh协议多层通道内的明文数据采集方法及系统
CN105530098B (zh) 一种协议指纹自动提取方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150304