CN104394164A - 基于会话和协议识别https端口数据的方法 - Google Patents
基于会话和协议识别https端口数据的方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup 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协议是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)。
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)
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)
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 | 汉柏科技有限公司 | 利用数字证书识别加密协议的识别方法及系统 |
-
2014
- 2014-12-06 CN CN201410731779.4A patent/CN104394164A/zh active Pending
Patent Citations (4)
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)
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 |