国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

加密HTTP/2流中網(wǎng)頁對(duì)象的識(shí)別研究

2018-11-15 01:33石健馬子揚(yáng)唐屹
電腦知識(shí)與技術(shù) 2018年20期
關(guān)鍵詞:數(shù)據(jù)包網(wǎng)頁加密

石健 馬子揚(yáng) 唐屹

摘要:伴隨著HTTP/2協(xié)議的到來,加密網(wǎng)頁也越來越廣泛地應(yīng)用于互聯(lián)網(wǎng)。對(duì)加密網(wǎng)頁的流量分析,有助于幫助網(wǎng)絡(luò)安全管理人員實(shí)現(xiàn)特定網(wǎng)頁的訪問識(shí)定位,網(wǎng)頁識(shí)別基于網(wǎng)頁對(duì)象大小的識(shí)別,現(xiàn)有的網(wǎng)頁對(duì)象識(shí)別基于網(wǎng)絡(luò)包的頭部信息字段,這種特征抽取模式并不適用于利用HTTP/2協(xié)議的數(shù)據(jù)包。該文基于TLS協(xié)議,設(shè)計(jì)實(shí)現(xiàn)一個(gè)識(shí)別HTTP/2傳輸?shù)木W(wǎng)頁對(duì)象的方法,有助于進(jìn)一步設(shè)計(jì)針對(duì)HTTP/2的流量分析方法。

關(guān)鍵詞:流量分析;網(wǎng)頁識(shí)別;網(wǎng)頁對(duì)象;HTTP/2;TLS

中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)20-0190-02

On Identifying Web Objects in Encrypted HTTP/2 Traffic

SHI Jian,MA Zi-yang,TANG Yi

(School of Mathematics and Information Science, Guangdong Provincial Key Laboratory Co-sponsored by province and City of Information Security Technology,Guangzhou University, Guangzhou 510006, China)

Abstract:With the advent of HTTP/2 protocol, encrypted web pages are more and more widely used in Internet. Traffic analysis to encrypted web pages helps network security administrator to identify specific web pages. The traditional web page identification techniques are based on the sizes extracted from captured TCP headers. This feature cannot apply to HTTP/2 traffics. Based on the TLS protocol, a method to identify HTTP/2 transmitted web objects is proposed. With this object identification method, an efficient analysis method for HTTP/2 traffic could be proposed.

Key words: traffic analysis; web page recognition; web page object; HTTP/2; TLS

1 HTTP/2簡介

HTTP/2是2015年正式標(biāo)準(zhǔn)化的新一代的超文本傳輸協(xié)議[1],這個(gè)協(xié)議綜合應(yīng)用了多種技術(shù),實(shí)現(xiàn)網(wǎng)頁的快速傳輸?,F(xiàn)有的主流瀏覽器均支持HTTP/2的解析,而網(wǎng)站方面,依據(jù)W3Techs的統(tǒng)計(jì),截至2018年3月, 至少有24% 的網(wǎng)站支持 HTTP/2的傳輸[2]。

HTTP/2引入了多路復(fù)用、二進(jìn)制分幀、服務(wù)端推送等技術(shù)。多路復(fù)用技術(shù)允許同時(shí)通過單一的 HTTP/2 連接發(fā)起多重的請(qǐng)求/響應(yīng)消息,實(shí)現(xiàn)多流并行而不用依賴建立多個(gè) TCP 連接;HTTP/2在應(yīng)用層和傳輸層之間引入二進(jìn)制分幀,將所有傳輸?shù)男畔⒎指顬楦〉牟捎枚M(jìn)制編碼的消息和幀,例如原HTTP1.x 的頭部信息被HPACK壓縮并封裝到 HEADER 幀,請(qǐng)求體則封裝到 DATA幀等;服務(wù)端推送是實(shí)現(xiàn)在客戶端請(qǐng)求之前發(fā)送數(shù)據(jù)的機(jī)制。在 HTTP/2 中,服務(wù)器可以對(duì)客戶端的一個(gè)請(qǐng)求發(fā)送多個(gè)響應(yīng)。這樣,一方面,HTTP/2利用多路復(fù)用,采用單連接多資源的方式,減少服務(wù)端的鏈接壓力,使得連接吞吐量更大,另一方面,通過頭部壓縮和服務(wù)器端推送,雙向減少冗余的數(shù)據(jù)傳輸。

相比于 HTTP 1.x的兩個(gè)版本 ,HTTP/2重新組織了網(wǎng)頁對(duì)象的傳輸模式,進(jìn)一步減少了網(wǎng)絡(luò)延遲 ,能夠有效提升網(wǎng)頁訪問效率。盡管HTTP/2 協(xié)議本身并沒有要求必須基于傳輸層安全(TLS) 部署,但由于所有瀏覽器均只支持 TLS上的HTTP/2訪問,這使得HTTP/2變?yōu)槭聦?shí)上新的HTTPS傳輸標(biāo)準(zhǔn)。

我們注意到HTTP/2所采用的技術(shù)雖然提高了網(wǎng)頁傳輸?shù)男?,在另一方面,單連接多路復(fù)用的特性模糊化了網(wǎng)頁對(duì)象邊界,給原有的HTTP流量特征抽取方法帶來挑戰(zhàn)。

2 加密Web訪問的流量分析

Web訪問流的生成與HTTP協(xié)議密切相關(guān)。一般而言,依據(jù)瀏覽器的HTTP實(shí)現(xiàn),當(dāng)用戶訪問網(wǎng)頁時(shí),首先將網(wǎng)頁對(duì)應(yīng)的HTML文本下載,然后,開始順序解析這個(gè)文本,如果遇到對(duì)象資源,則依據(jù)對(duì)象資源對(duì)應(yīng)的URI,發(fā)出HTTP請(qǐng)求以下載這個(gè)對(duì)象,一旦下載完畢就開始渲染顯示,如此類推,直到所有對(duì)象資源下載完畢,整個(gè)網(wǎng)頁也就呈現(xiàn)于用戶的瀏覽器面前了。

流量分析技術(shù)是進(jìn)行網(wǎng)絡(luò)測量的重要基礎(chǔ),對(duì)加密Web網(wǎng)頁訪問的流量分析,有助于識(shí)別惡意或非法的網(wǎng)頁訪問,增強(qiáng)系統(tǒng)的安全防護(hù)能力。然而,加密并不能改變請(qǐng)求響應(yīng)的方向,同時(shí)加密也不能顯著網(wǎng)頁中對(duì)象的數(shù)量甚至大小,因此通過HTTP傳輸?shù)木W(wǎng)頁對(duì)象,只需要簡單的網(wǎng)頁頭部信息的分析,可以區(qū)分網(wǎng)頁對(duì)象邊界從而高效率地識(shí)別網(wǎng)頁。

在已有的加密Web流量識(shí)別的研究中,Sun等人[3]提出了一個(gè)基于Jaccard系數(shù)相似矩陣的分類器,通過該分類器能夠以75%的命中率將某個(gè)網(wǎng)頁從10000個(gè)網(wǎng)頁的集合中識(shí)別出來,并且誤判率僅僅是15%。文章選取網(wǎng)頁中對(duì)象的大小和數(shù)量作為流量的特征,Bissias[4]等人以數(shù)據(jù)包的長度與數(shù)據(jù)包到達(dá)間隔作為特征,使用交叉關(guān)聯(lián)算法來確定Web網(wǎng)頁與已知頁面的相似性,Liberator[5]等人利用包的長度和方向作為流量特征,通過樸素貝葉斯分類器對(duì)網(wǎng)頁進(jìn)行識(shí)別。

我們注意到,上述的研究均基于TCP包的訪問長度,確定網(wǎng)頁對(duì)象的傳輸特征,這是因?yàn)榛贖TTP 1.x的網(wǎng)頁訪問,是逐對(duì)象的訪問獲取,即在單個(gè)網(wǎng)頁對(duì)象傳輸?shù)臄?shù)據(jù)分組中,沒有摻入其他的網(wǎng)頁對(duì)象數(shù)據(jù),這使得網(wǎng)頁對(duì)象可以與TCP包的長度相關(guān)聯(lián)。然而,這種情況在HTTP/2的傳輸下,會(huì)發(fā)生顯著變化,由于HTTP/2的特性,使得請(qǐng)求/訪問也不會(huì)成對(duì)出現(xiàn),更重要的并行傳輸?shù)奶匦裕沟靡粋€(gè)網(wǎng)絡(luò)包中可以包含多個(gè)不同的網(wǎng)絡(luò)對(duì)象的數(shù)據(jù),破壞了TCP包的長度與原始網(wǎng)頁對(duì)象的關(guān)聯(lián)。

因此需要設(shè)計(jì)新的策略,實(shí)現(xiàn)HTTP/2下的網(wǎng)頁對(duì)象識(shí)別。我們將考慮基于底層的TLS協(xié)議的來實(shí)現(xiàn)網(wǎng)頁對(duì)象的識(shí)別。

3 基于TLS的網(wǎng)頁對(duì)象識(shí)別

TLS協(xié)議是進(jìn)行HTTP/2傳輸?shù)幕A(chǔ),目前常見的版本是TLS1.2[3]。TLS協(xié)議由兩層構(gòu)成:TLS 記錄協(xié)議和TLS握手協(xié)議,其中,握手協(xié)議用于客戶端與服務(wù)器端的相互認(rèn)證,在應(yīng)用程序通信前,協(xié)商加密套件和加密密鑰,記錄協(xié)議用于封裝多種高層協(xié)議,其基本封裝格式如下:

(1)內(nèi)容類型(8位): 如 握手協(xié)議 22,應(yīng)用數(shù)據(jù) 23。

(2)版本號(hào)(16位): TLS 1.2 為 0x0303。

(3)數(shù)據(jù)包長度(16位):表示的是數(shù)據(jù)包以字節(jié)為單位的長度。

(4)記錄數(shù)據(jù):這個(gè)部分搭載數(shù)據(jù)包中的數(shù)據(jù)。

圖1顯示了一個(gè)TCP分組中包含了一個(gè)完整的HTTP/2數(shù)據(jù)。TCP分組的長度為75字節(jié),TLS數(shù)據(jù)長度為70字節(jié),這種場景與TLS上的HTTP 1.x,即傳統(tǒng)意義下的HTTPS,的傳輸形式一致,意味著這個(gè)TCP分組的長度直接與TLS分組相關(guān),因此,在TLS上的HTTP 1.x的流量分析是可以簡單地使用TCP分組的長度來作為流量特征之一,因?yàn)檫@個(gè)TCP分組的長度與單個(gè)的網(wǎng)頁對(duì)象密切相關(guān)。

然而,這種分析方法對(duì)HTTP/2是存在缺陷的,由于HTTP/2的多路復(fù)用,使得一個(gè)TCP分組中,可能包含多個(gè)傳輸?shù)腡LS單元。如圖2所示,圖2顯示了一個(gè)組合的HTTP/2分組數(shù)據(jù),這個(gè)分組包含了三個(gè)TLS對(duì)象,簡單地使用TCP分組的長度抽取,實(shí)際上只對(duì)應(yīng)單個(gè)對(duì)象,因此對(duì)傳輸?shù)臄?shù)據(jù)對(duì)象的數(shù)量和大小都存在著誤差。

因此,為準(zhǔn)確實(shí)現(xiàn)對(duì)HTTP/2的流量分析,我們需要對(duì)TCP數(shù)據(jù)分組進(jìn)行深度分析,抽取其中的TLS對(duì)象的長度作為流量特征而不是簡單地采用TCP分組長度。如圖1所示,我們抽取的對(duì)象就不是TCP分組的長度,而是在TCP載荷中,使用方框框住的對(duì)應(yīng)TLS記錄中的數(shù)據(jù)對(duì)象長度。

4 原型設(shè)計(jì)與實(shí)現(xiàn)

為實(shí)現(xiàn)基于TLS記錄長度的網(wǎng)頁對(duì)象識(shí)別,我們采用python語言設(shè)計(jì)實(shí)現(xiàn)了一個(gè)原型,實(shí)時(shí)抽取HTTP/2流的中TLS數(shù)據(jù)對(duì)象長度的程序。簡單起見,假定HTTP/2通信是基于TLS 1.2 協(xié)議,我們利用python的socket模塊,嗅探HTTP/2流量,特別的,著重分析TCP分組頭部字段后面的三個(gè)字節(jié),例如,如果這三個(gè)字節(jié)為\x17\x03\x03,這意味著這個(gè)TLS分組為TLS1.2應(yīng)用數(shù)據(jù)類型,包含所需要的HTTP/2數(shù)據(jù)包,由TLS記錄層的結(jié)構(gòu),之后的兩個(gè)字節(jié)即為TLS分組的長度;

接著,需要考慮,是否在一個(gè)TCP分組中包含多個(gè)不同的TLS記錄或TLS記錄部分,為此,掃描所捕獲的TCP載荷是否包含\x17\x03\x03串,如果包含,就抽取并記錄后繼的兩個(gè)字節(jié)作為候選的TLS記錄長度,為避免由于加密而導(dǎo)致偶然出現(xiàn)的\x17\x03\x03串,可以進(jìn)一步地驗(yàn)證候選的TLS記錄長度是否合法。

為驗(yàn)證我們的對(duì)象長度抽取方法的有效性,我們以對(duì)維基百科網(wǎng)站的訪問為例加以說明。維基百科網(wǎng)站www.wikipedia.org 已經(jīng)采用了支持HTTP/2的Web服務(wù)器軟件,可以通過HTTP/2協(xié)議進(jìn)行訪問,我們利用所設(shè)計(jì)的長度抽取程序?qū)υL問該網(wǎng)站的HTTP/2流量進(jìn)行了長度抽取測試,結(jié)合后臺(tái)的wireshark工具的網(wǎng)絡(luò)包捕獲。

圖3是我們的一次測試的結(jié)果,左圖為對(duì)維基百科的瀏覽器控制臺(tái)的分析截圖,右圖為我們的程序抽取網(wǎng)頁對(duì)象邊界的抽取情況,對(duì)比所捕獲的蹤跡數(shù)據(jù),結(jié)果表明,所設(shè)計(jì)實(shí)現(xiàn)的算法能夠?qū)崟r(shí)獲取TLS記錄的長度。

5 結(jié)束語

通過對(duì)HTTP/2數(shù)據(jù)包的深度分析,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了基于TLS記錄層結(jié)構(gòu)的HTTP/2實(shí)時(shí)數(shù)據(jù)包的長度抽取方法,能夠有效區(qū)分HTTP/2傳輸?shù)木W(wǎng)頁對(duì)象的數(shù)量和大小,利用所抽取的長度作為流量識(shí)別的特征,我們將可以進(jìn)一步地實(shí)現(xiàn)HTTP/2網(wǎng)頁的識(shí)別,增強(qiáng)網(wǎng)頁瀏覽的安全性。未來,我們將進(jìn)一步地優(yōu)化改進(jìn)算法,提高效率和識(shí)別準(zhǔn)確度,并用于HTTP/2網(wǎng)站的識(shí)別中。

參考文獻(xiàn):

[1] RFC 7540 Hypertext Transfer Protocol Version 2 (HTTP/2)[EB/OL].http://www.ietf.org/rfc/rfc7540.txt

[2] Usage of HTTP/2 for websites. World Wide Web Technology Surveys[EB/OL]. W3Techs. https://w3techs.com/technologies/dtails/ce-http2/all/all

[3] Q. Sun, D. Simon, Y. Wang, W. Russell, V. Padmanabhan, and L. Qiu. Statistical identification of encrypted Web browsing traffic[R]. In: Proceedings of IEEE S&P;,2005.

[4] G. Bissias, M. Liberatore, D. Jensen, and B. Levine. Privacy vulnerabilities in encrypted HTTP streams[R]. In: Proceedings of PET,2005.

[5] Liberatore, M., Levine, B. Inferring the Source of Encrypted HTTP connections[R]. In: Proceedings of ACM CCS,2006:255-263.

[6] RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2[EB/OL]. http://www.ietf.org/rfc/rfc5246.txt.

猜你喜歡
數(shù)據(jù)包網(wǎng)頁加密
一種基于熵的混沌加密小波變換水印算法
SmartSniff
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
認(rèn)證加密的研究進(jìn)展
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
基于ECC加密的電子商務(wù)系統(tǒng)
基于格的公鑰加密與證書基加密
10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語
視覺注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
连云港市| 庆安县| 城市| 定远县| 莱西市| 宿松县| 车致| 桂东县| 龙井市| 亚东县| 灌阳县| 凤城市| 堆龙德庆县| 福海县| 十堰市| 云梦县| 高台县| 崇仁县| 京山县| 枝江市| 建德市| 尚志市| 行唐县| 阳城县| 黔西| 定结县| 嘉禾县| 樟树市| 东城区| 淅川县| 磐石市| 天津市| 上犹县| 什邡市| 廊坊市| 庆元县| 玉门市| 新疆| 禹城市| 望江县| 定襄县|