




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 加密http/2流中网页对象的识别研究 石健 马子扬 唐屹摘要:伴随着http/2协议的到来,加密网页也越来越广泛地应用于互联网。对加密网页的流量分析,有助于帮助网络安全管理人员实现特定网页的访问识定位,网页识别基于网页对象大小的识别,现有的网页对象识别基于网络包的头部信息字段,这种特征抽取模式并不适用于利用http/2协议的数据包。该文基于tls协议,设计实现一个识别http/2传输的网页对象的方法,有助于进一步设计针对http/2的流量分析方法。关键词:流量分析;网页识别;网页对象;http/2;tls:tp393.08 :a :100
2、9-3044(2018)20-0190-02on identifying web objects in encrypted http/2 trafficshi 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, chin
3、a)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 extract
4、ed 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 analysi
5、s; web page recognition; web page object; http/2; tls1 http/2简介http/2是2015年正式标准化的新一代的超文本傳输协议1,这个协议综合应用了多种技术,实现网页的快速传输。现有的主流浏览器均支持http/2的解析,而网站方面,依据w3techs的统计,截至2018年3月, 至少有24% 的网站支持 http/2的传输2。http/2引入了多路复用、二进制分帧、服务端推送等技术。多路复用技术允许同时通过单一的 http/2 连接发起多重的请求/响应消息,实现多流并行而不用依赖建立多个 tcp 连接;http/2在应用层和传输层之间引
6、入二进制分帧,将所有传输的信息分割为更小的采用二进制编码的消息和帧,例如原http1.x 的头部信息被hpack压缩并封装到 header 帧,请求体则封装到 data帧等;服务端推送是实现在客户端请求之前发送数据的机制。在 http/2 中,服务器可以对客户端的一个请求发送多个响应。这样,一方面,http/2利用多路复用,采用单连接多资源的方式,减少服务端的链接压力,使得连接吞吐量更大,另一方面,通过头部压缩和服务器端推送,双向减少冗余的数据传输。相比于 http 1.x的两个版本 ,http/2重新组织了网页对象的传输模式,进一步减少了网络延迟 ,能够有效提升网页访问效率。尽管http/2
7、 协议本身并没有要求必须基于传输层安全(tls) 部署,但由于所有浏览器均只支持 tls上的http/2访问,这使得http/2变为事实上新的https传输标准。我们注意到http/2所采用的技术虽然提高了网页传输的效率,在另一方面,单连接多路复用的特性模糊化了网页对象边界,给原有的http流量特征抽取方法带来挑战。2 加密web访问的流量分析web访问流的生成与http协议密切相关。一般而言,依据浏览器的http实现,当用户访问网页时,首先将网页对应的html文本下载,然后,开始顺序解析这个文本,如果遇到对象资源,则依据对象资源对应的uri,发出http请求以下载这个对象,一旦下载完毕就开始
8、渲染显示,如此类推,直到所有对象资源下载完毕,整个网页也就呈现于用户的浏览器面前了。流量分析技术是进行网络测量的重要基础,对加密web网页访问的流量分析,有助于识别恶意或非法的网页访问,增强系统的安全防护能力。然而,加密并不能改变请求响应的方向,同时加密也不能显著网页中对象的数量甚至大小,因此通过http传输的网页对象,只需要简单的网页头部信息的分析,可以区分网页对象边界从而高效率地识别网页。在已有的加密web流量识别的研究中,sun等人3提出了一个基于jaccard系数相似矩阵的分类器,通过该分类器能够以75%的命中率将某个网页从10000个网页的集合中识别出来,并且误判率仅仅是15%。文章
9、选取网页中对象的大小和数量作为流量的特征,bissias4等人以数据包的长度与数据包到达间隔作为特征,使用交叉关联算法来确定web网页与已知页面的相似性,liberator5等人利用包的长度和方向作为流量特征,通过朴素贝叶斯分类器对网页进行识别。我们注意到,上述的研究均基于tcp包的访问长度,确定网页对象的传输特征,这是因为基于http 1.x的网页访问,是逐对象的访问获取,即在单个网页对象传输的数据分组中,没有掺入其他的网页对象数据,这使得网页对象可以与tcp包的长度相关联。然而,这种情况在http/2的传输下,会发生显著变化,由于http/2的特性,使得请求/访问也不会成对出现,更重要的并
10、行传输的特性,使得一个网络包中可以包含多个不同的网络对象的数据,破坏了tcp包的长度与原始网页对象的关联。因此需要设计新的策略,实现http/2下的网页对象识别。我们将考虑基于底层的tls协议的来实现网页对象的识别。3 基于tls的网页对象识别tls协议是进行http/2传输的基础,目前常见的版本是tls1.23。tls协议由两层构成:tls 记录协议和tls握手协议,其中,握手协议用于客户端与服务器端的相互认证,在应用程序通信前,协商加密套件和加密密钥,记录协议用于封装多种高层协议,其基本封装格式如下:(1)内容类型(8位): 如 握手协议 22,应用数据 23。(2)版本号(16位): t
11、ls 1.2 为 0x0303。(3)数据包长度(16位):表示的是数据包以字节为单位的长度。(4)记录数据:这个部分搭载数据包中的数据。图1显示了一个tcp分组中包含了一个完整的http/2数据。tcp分组的长度为75字节,tls数据长度为70字节,这种场景与tls上的http 1.x,即传统意义下的https,的传输形式一致,意味着这个tcp分组的长度直接与tls分组相关,因此,在tls上的http 1.x的流量分析是可以简单地使用tcp分组的长度来作为流量特征之一,因为这个tcp分组的长度与单个的网页对象密切相关。然而,这种分析方法对http/2是存在缺陷的,由于http/2的多路复用,
12、使得一个tcp分组中,可能包含多个传输的tls单元。如图2所示,图2显示了一个组合的http/2分组数据,这个分组包含了三个tls对象,简单地使用tcp分组的长度抽取,实际上只对应单个对象,因此对传输的数据对象的数量和大小都存在着误差。因此,為准确实现对http/2的流量分析,我们需要对tcp数据分组进行深度分析,抽取其中的tls对象的长度作为流量特征而不是简单地采用tcp分组长度。如图1所示,我们抽取的对象就不是tcp分组的长度,而是在tcp载荷中,使用方框框住的对应tls记录中的数据对象长度。4 原型设计与实现为实现基于tls记录长度的网页对象识别,我们采用python语言设计实现了一个原
13、型,实时抽取http/2流的中tls数据对象长度的程序。简单起见,假定http/2通信是基于tls 1.2 协议,我们利用python的socket模块,嗅探http/2流量,特别的,着重分析tcp分组头部字段后面的三个字节,例如,如果这三个字节为x17x03x03,这意味着这个tls分组为tls1.2应用数据类型,包含所需要的http/2数据包,由tls记录层的结构,之后的两个字节即为tls分组的长度;接着,需要考虑,是否在一个tcp分组中包含多个不同的tls记录或tls记录部分,为此,扫描所捕获的tcp载荷是否包含x17x03x03串,如果包含,就抽取并记录后继的两个字节作为候选的tls记
14、录长度,为避免由于加密而导致偶然出现的x17x03x03串,可以进一步地验证候选的tls记录长度是否合法。为验证我们的对象长度抽取方法的有效性,我们以对维基百科网站的访问为例加以说明。维基百科网站 已经采用了支持http/2的web服务器软件,可以通过http/2协议进行访问,我们利用所设计的长度抽取程序对访问该网站的http/2流量进行了长度抽取测试,结合后台的wireshark工具的网络包捕获。图3是我们的一次测试的结果,左图为对维基百科的浏览器控制台的分析截图,右图为我们的程序抽取网页对象边界的抽取情况,对比所捕获的踪迹数据,结果表明,所设计实现的算法能
15、够实时获取tls记录的长度。5 结束语通过对http/2数据包的深度分析,我们设计并实现了基于tls记录层结构的http/2实时数据包的长度抽取方法,能够有效区分http/2传输的网页对象的数量和大小,利用所抽取的长度作为流量识别的特征,我们将可以进一步地实现http/2网页的识别,增强网页浏览的安全性。未来,我们将进一步地优化改进算法,提高效率和识别准确度,并用于http/2网站的识别中。参考文献:1 rfc 7540 hypertext transfer protocol version 2 (http/2)eb/ol.http://rfc/rfc7540.txt2
16、 usage of http/2 for websites. world wide web technology surveyseb/ol. w3techs. https:/3 q. sun, d. simon, y. wang, w. russell, v. padmanabhan, and l. qiu. statistical identification of encrypted web browsing trafficr. in: proceedings of ieee s&p;,2005.4 g. bissias, m. liberatore, d. jensen, and b. levine. privacy vulnerabilities in encrypted http streamsr. in: proceeding
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园数学表现评估题及答案
- 人体生物学试题及答案
- 办公基础知识试题及答案
- 五线谱的构成与阅读试题及答案
- 施工现场安全责任追究解析试题及答案
- 施工现场安全指导手册试题及答案
- 前沿2025年土木工程师考试试题及答案
- 护理编辑面试题及答案
- 幼儿园算数能力试题及答案
- 农业电商市场拓展考题及答案
- 优化医患沟通提高肿瘤治疗效果的途径
- 2025北京九年级(上)期末语文汇编:文言文阅读
- 越出站界调车RAILWAY课件
- 河北武安招聘警务辅助人员笔试真题2024
- 2025年高级插花花艺师(三级)理论考试题(附答案)
- 脊柱损伤搬运操作
- 医院医用耗材培训
- 2025年古董拍卖收藏品买卖协议书
- 【托比网】2024中国工业品数字化发展报告
- 砌石截水墙施工方案
- 海岸工程学设计计算书
评论
0/150
提交评论