1、利用包长特征的浏览器被动识别方法 刘长江 万坚 韩杰思 魏强 盲信号处理国家重点实验室 摘 要: 浏览器作为用户使用最为频繁的网络应用软件, 是黑客们的重要攻击目标.对于网络管理员而言, 掌握网络中用户所使用的浏览器, 可以及时发现用户主机可能存在的漏洞, 便于采取防御措施.文中提出了一种利用请求数据包长度特征的浏览器被动识别方法, 即利用不同浏览器在请求网页内容时发送的请求数据包长度的差异, 通过聚类算法实现对浏览器的识别.实验表明, 该方法对五类常用浏览器的识别率能达 90%以上, 并且所提特征指纹具有时间的稳定性.该方法不增加网络流量, 不干扰网络正常运行, 能够在非加密和加密情况下对网
2、络中的浏览器进行识别.关键词: 浏览器; 被动识别; 包长特征; 分类算法; 特征稳定性; 作者简介:刘长江 (1991-) , 女, 盲信号处理国家重点实验室硕士研究生, E-mail:.收稿日期:2016-09-22基金:国家自然科学基金资助项目 (61072067) Passive browser identification based on the packet lengthLIU Changjiang WAN Jian HAN Jiesi WEI Qiang National Key Lab.of Science and Technology on Blind Signal Pro
3、cessing; Abstract: The browser, as the most frequently used network application software, is an important target of hackers.For network administrators, mastering the browsers used by network users can help them to discover the possible vulnerabilities in the host computers and take defensive measure
4、s expediently.In this paper, we propose a passive browser identification method by requesting the packet length.We make use of the difference in requesting the packet length when using different browsers to request the web content, and then achieve the browser identification by the clustering algori
5、thm.The experiment shows that the recognition rate of the five most common browsers can reach more than 90% in this way, and the time stability of the fingerprinting is also confirmed.This method does not increase the network traffic or interfere with the normal operation of the network, and it can
6、identify web browsers under the condition of both non-encryption and encryption.Keyword: browser; passive identification; packet length; classification; feature stability; Received: 2016-09-22随着网络的发展, 浏览器作为访问网站的主要工具, 其种类也越发多样.根据Net Market Share1公司 2015 年的统计结果, 全球常用的浏览器有 5 类, 分别为 IE, 市场占有率为 50.3%;Chr
7、ome, 市场占有率为 31.41%;Firefox, 市场占有率为 12.24%;Safari, 市场占有率为 4.43%;Opera, 市场占有率为 1.52%.这 5 类浏览器占据了全球 99.9%的市场.Stat Counter2公司同一年的统计结果同样显示这 5 类浏览器以总和超过 95%的市场占有率远超其他类型的浏览器.与 Net Market Share 公司统计结果有出入的是, Stat Counter 公司统计的结果中 Chrome 以 54.37%的市场占有率排名第一.浏览器由于其实现的内核不同, 各自的特征会存在差异, 而这种差异会体现在其访问网络的交互数据上.通过对不同
8、浏览器的上网数据进行分析, 可以从中提取出表征浏览器特性的指纹特征, 从而实现对浏览器的识别.浏览器识别最初主要针对未加密的流量, 通过提取数据包中的特征字段进行识别.随着浏览器的发展进步, 人们开始采用加密协议安全超文本传输协议 (Hyper Text Transfer Protocol Secure, HTTPS) 来传输浏览器数据, 即在应用层和传输层之间增加一个加密套接字协议层 (Security Socket Layer, SSL) 进行应用层数据的加密.2014 年 8 月 Google 工程师 Matt Cutts 宣布 Google 将调整算法, 让那些使用 HTTPS/SSL
9、 的网站排名靠前.随着 HTTPS 网络协议的使用越来越广泛, 浏览器数据包字段特征的提取变得困难, 于是有研究者提出了基于流量特征的浏览器识别.1 相关工作对于浏览器使用非加密协议情况下的识别, 文献3-4利用浏览器非加密数据包特征来对用户进行惟一识别, 所用的特征包括 User Agent 字段、HTTP 头信息、Cookies 设置、时区信息及浏览器插件等, 并指出浏览器的指纹会随着时间变化.文献4中还提出了一种基于字符串相似度匹配的升级浏览器识别方法, 该方法能够在一定程度上对变化后的指纹进行识别.文献5借鉴利用数据包长度以及发送接收的属性实现了对访问网页的浏览器的识别.但是其只在局域
10、网中简单的网页上进行了实验, 没有考虑到实际网页内容的复杂性与多变性.对于加密协议下的浏览器识别, 由于无法对浏览器数据包内容进行解析, 目前的相关研究还比较少.对于浏览器所访问的加密目标网页识别如今已有不少研究6-10.文献6利用统计学的方法来识别加密后的网页浏览数据, 利用浏览器发送和接收到的数据包长度和数量来对浏览器所访问的页面进行识别.这种方法在实验的条件下能够达到较高的识别准确率, 但它需要同时采集浏览器发送和接受的数据包.文献7利用待识别数据流 SSL 握手阶段交互的算法信息来模拟待识别数据的 SSL 加密系统, 再将已知的原始数据经过该加密系统生成加密数据作为匹配模板.然而 SS
11、L 握手阶段的加密信息很难准确得到, 在实际应用中无法直接还原加密系统.在加密网页识别研究基础上, 文献10将浏览器发送和接收数据包间隔以及时间间隔内所有发送和接收数据包的长度总和作为特征, 利用机器学习的方法实现了对加密流量的浏览器识别.该方法对实验对象Chrome、IE、Firefox 和 Tor Bundle 四类浏览器能够得到近 80%的平均识别准确率, 但是其同样需采集双向流量, 并且没有考虑到网络内容变化对特征带来的影响.笔者基于以上研究, 实现了一种利用请求数据包长度特征的浏览器被动识别算法, 支持对非加密和加密情况下的浏览器识别.2 原理分析2.1 识别原理当用户利用浏览器访问
12、网页时, 浏览器将发送一系列的超文本传输协议 (Hyper Text Transfer Protocol, HTTP) 请求数据包来请求网页信息.这类请求数据包的内容包括请求信息 Info 和请求头部 Headers, 因此, HTTP 请求数据包长度可以表示为请求信息表示了数据包所请求的网页内容, 因此, 当请求内容相同时, L (Info) 的值相同.不同的浏览器由于其对网络协议实现方式的不同, 在请求头部具有一定的差异, 这导致了不同浏览器在请求网页中相同内容时发送的请求数据包长度具有差异.HTTPS 协议是在 HTTP 协议的基础上利用 SSL/TLS 协议进行数据加密.HTTPS 协
13、议进行数据传输前, 浏览器和网页服务器之间需要交互加密信息建立加密通道, 这个阶段称为握手阶段, 发送的数据包称为握手数据包.不同浏览器支持的加密算法不同, 因此, 握手数据包包含的加密算法信息和数量不同, 表现在数据包外部即为包长的不同.假设浏览器发送的握手数据包含有 i 个加密算法信息:Algorithm1, Algorithm2, , Algorithmi, 那么握手数据包的长度可以表示为其中, F (*) 表示数据包包长与加密算法的关系, 它与加密信息的长度和数量成正比.2.2 特征提取文中对于加密和非加密的数据流分别采用不同的处理方法来提取数据包长度特征.首先对于非加密数据流, 为了
14、避免请求内容不同给数据包长度带来的影响, 提取具有相同请求信息的数据包长度作为浏览器特征.对第 1 天采集的 n 份数据, 利用直接匹配的方法找出这 n 份数据中具有共同请求内容的数据包, 将这些数据包的包长作为浏览器特征.对间隔 t 时间后的数据, 以第 1 天的共同请求内容为参照进行数据包提取, 若没有对应的请求包, 则长度序列中该请求包对应的值置为 0.长度特征提取流程如图 1 所示.图 1 国内非加密网站长度特征提取流程 下载原图图 2 国内加密网站长度特征提取流程 下载原图加密流量分两种, 一种是访问国内 HTTPS 加密网站产生的流量.对于这类流量无法解析数据包, 不能提取相同请求
15、内容的数据包.握手数据包传输的加密算法信息由浏览器决定, 与网站的内容无关.因此, 文中对能够直接访问的加密网页, 提取握手数据包的长度作为浏览器特征.由于网络中存在包丢失的情况, 提取的包长序列存在重复的包长值, 因此, 首先需要进行去重处理.同时为了便于后期利用机器学习方法进行识别, 对同一网站不同浏览器的请求包长序列进行截断处理.特征提取过程如图 2 所示.另一种是利用虚拟专用网 (Virtual Private Network, VPN) 访问国外网页产生的加密流量.由于 VPN 对数据的二次加密, 使得中间截获方不仅看不到数据包的请求内容, 也无法区分握手阶段和请求阶段的数据包.对于
16、这类流量, 在特征提取时, 首先同样对流量的长度序列进行去重和截断, 消除网络时延对数据采集带来的影响.然后通过对包长序列进行排序尽可能地使请求相同内容的数据包在序列中相近的位置.经实验验证, 排序后的长度序列对浏览器的识别准确率远高于未经排序的长度序列.经过以上的特征提取后, 利用不同的机器学习方法来对浏览器进行识别11-12.对于同一天的包长特征, 采用十则交叉验证法来对识别准确率进行分析.对于不同天的包长特征, 以第 1 天的数据为训练集, 间隔 t 时间后的数据作为测试集, 分析随着时间变化包长特征对浏览器识别准确率的改变.文中设置的时间间隔t=7d, 采用了常用的 BayesNet1
17、3、RandomForest14和 LogitBoost15算法进行测试.3 算法验证根据 Alexa16统计中网站的全球访问量排行来选择实验网站.为了分析特征在不同类型网站上的适用性, 选择国内非加密、加密和国外的门户网站、搜索网站和购物网站各一个进行分析.国内非加密的 3 类网站分别为 Sina、Bing 和京东, 国内加密的 3 类网站分别为 360 网站、Baidu 和 Taobao, 国外网站为Yahoo 门户、Google 搜索和 Amazon 购物.所选的网站均为该分类下访问量最大的网站.文中的实验平台为 Windows 7 操作系统, 验证对象为 Internet Explor
18、er (IE) 、Chrome、Firefox、Safari 和 Opera 这 5 类使用最广泛的浏览器.考虑到实际用户在访问大多数网站主页时并不会浏览网页全部内容, 因此, 实验中只采集打开网页时的请求流量, 该流量不一定请求了网页的全部内容.编写 Python 脚本实现网页自动访问, 并利用 Wireshark 截获浏览器发送的数据流量.对于每个网站, 在同一天分别用不同的浏览器访问 10 次并采集数据, 每次间隔约半小时, 10 次数据采集的时间跨度超过半天.为了研究网站内容随时间改变后对特征的影响, 间隔一周后用同样方法再次采集数据作为测试样本, 实验中总共进行了900 次数据采集.
19、对于同一天的数据, 以非加密、国内加密和国外网站为例, 采用十则交叉验证的方法进行测试.识别结果如表 1表 3 所示.表中, 为假阳性率, 也称虚警率, 指真实的阴性样本中被错误判断为阳性的比例; 为假阴性率, 也称漏报率, 指真实的阳性样本中被错误判断为阴性的比例.acc 代表识别准确率, 它为 5 类浏览器所有样本识别正确的概率.表 1 Sina 同一天数据识别结果 下载原表 表 2 360 同一天数据识别结果 下载原表 从表 1 可以看出, 利用非加密 Sina 门户网站的流量进行识别, Opera 的虚警率和漏报率最高, 即对 Opera 正样本的识别准确率高, 但同时其他浏览器也容易
20、被识别为 Opera.表 2 的识别结果显示, 利用握手阶段的包长特征对浏览器进行识别同样能得到很高的识别准确率.但与表 1 相反的是, 此时对 Opera 正样本识别的准确率最低, 其他浏览器也没有被误判为 Opera.这可能是由于 Opera 浏览器握手阶段与网页服务器交互的加密信息比较多样, 且有的与其他浏览器比较相近.从表 3 可以看出, 利用借助 VPN 访问 Youtube 的加密流量进行浏览器识别的准确率比前两种流量低, 但利用 RandomForest 算法仍然能够得到 90%的识别准确率.从总体结果来看, 3 种分类算法的识别准确率是不同的.BayesNet 由于受训练样本分
21、布的影响较大, 识别的准确度最低.LogitBoost 和 RandomForest 都是整合多个弱分类器形成的强分类器, 对样本分布的依赖性低, 对高维数据的识别效果好, 因此, 这两种算法的识别准确率都比较高.表 3 Yahoo 同一天数据识别结果 下载原表 为了分析门户网站、搜索网站和购物网站这种不同类型的网站对浏览器识别准确率的影响, 对选取的 9 类网站进行了测试, 图 3 给出了各网站利用同一天数据进行浏览器识别的准确率.图 3 的 9 类网站中, Sina、360、Yahoo 为门户网站, Baidu、Bing、Google 为搜索网站, Taobao、JD、Amazon 为购物
22、网站.实验结果表明, 即使是门户网站和购物网站这类内容变化快的网站, 利用同一天数据文中提取的特征仍然能够得到超过 95%的最高识别准确率.图 3 不同类型网站同一天数据识别结果 下载原图图 4 不同类型网络间隔一周数据识别结果 下载原图为了研究网页内容随时间变化对特征识别准确率的影响, 利用第 1 次采集的数据作为训练集, 间隔 t=7d 后采集的数据作为测试集, 采用 RandomForest 算法进行特征识别, 得到的结果如图 4 所示.图中每个网站的第 1 条柱状图为第 1天识别的准确率, 第 2 条柱状图为以第 1 天数据作为训练集一周后数据作为测试集得到的识别准确率.从结果来看,
23、虽然利用一周后的数据进行测试准确率有所下降, 但是 Google、Baidu 和 Sina 这 3 个网站仍然能够达到超过 85%的识别准确率.这说明网站中稳定的内容越多, 其包长特征的稳定性越好.在实际应用中, 对这类网站可以适当降低其包长指纹的更新频率, 在保证识别准确率的同时降低特征库的维护成本.4 结束语利用浏览器对网站访问流量的包长特征实现了对浏览器的识别, 并且分别用不同类型的国外网站和国内加密、非加密网站进行了测试, 验证了文中提取包长特征的适用性.实验结果表明, 利用同一天的数据进行识别, 即使是门户网站这类内容变化较快的网站也能够得到较高的准确率, 而利用间隔一周的数据进行测
24、试, 部分网站的识别准确率下降.与已有研究相比, 文中研究的特点主要体现在如下几方面:(1) 只需要浏览器发送的数据流量, 在一定程度上降低了对流量采集的要求;(2) 结合所能获得的数据包信息, 对加密和非加密的数据流提取不同的包长序列作为浏览器特征, 提高了识别的准确率, 并降低了部分网页内容变化对特征的影响;(3) 考虑了网站内容变化对浏览器识别的影响, 采集了浏览器不同时间对网页的访问流量进行分析;(4) 考虑到实际的网络环境, 对加密网页的实验验证分别从可直接访问的加密网站和需借助 VPN 进行访问的国外网站两类网站进行分析, 增加了实用性;(5) 针对门户网站、搜索网站和购物网站 3
25、 种类型的网站进行测试, 分析了特征在不同类型网站中的识别准确率.浏览器识别对于网络安全维护具有十分重要的意义, Alexa 网站统计结果表明, 少量的网站就能够覆盖全球大部分的上网用户.在实际应用中, 对这些访问量大的网站建立特征库, 就能够对全球大部分上网用户使用的浏览器进行监测, 有助于网络安全维护者采取积极的防御措施, 保障网络环境的安全.参考文献1MALWARETIPS.Desk Top Browser Share TrendEB/OL.2016-04-15.https:/ 2STATCOUNTER.Top 5Desktop Browsers from Jan to Dec 2015
26、EB/OL.2016-04-15.http:/ 3ECKERSLEY P.How Unique Is Your Web Browser?C/Lecture Notes in Computer Science:6205.Heidelberg:Springer Verlag, 2010:1-18. 4NIKIFORAKIS N, KAPRAVELOS A, JOOSEN W, et al.Cookieless Monster:Exploring the Ecosystem of Web-based Device FingerprintingC/Proceedings of the IEEE Sym
27、posium on Security and Privacy.Piscataway:IEEE, 2013:541-555. 5王维, 王伟平, 王建新.一种基于升级浏览器指纹的用户识别方法C/第七届信息安全漏洞分析与风险评估大会论文集, 2014:189-197. 6SUN Q, SIMON D R, WANG Y M, et al.Statistical Identification of Encrypted Web Browsing TrafficC/Proceedings of the IEEE Symposium on Security and Privacy.Piscataway:I
28、EEE, 2002:19-30. 7SHI Y, BISWAS S.Website Fingerprinting Using Traffic Analysis of Dynamic WebpagesC/Proceedings of the 2014IEEE Global Communications Conference.Piscataway:IEEE, 2015:557-563. 8YUAN Z L, XUE Y B, XIA W.PPI:towards Precise Page Identification for Encrypted Web-browsing TrafficC/Proce
29、edings of the 9th ACM/IEEE Symposium on Architectures for Networking and Communications Systems.Piscataway:IEEE, 2013:109-110. 9GONG X, BORISOV N, KIYAVASH N, et al.Website Detection Using Remote Traffic AnalysisC/Lecture Notes in Computer Science:7384.Heidelberg:Springer Verlag, 2012:58-78. 10YU J,
30、 CHAN-TIN E.Identifying Webbrowsers in Encrypted CommunicationsC/Proceedings of the ACM Conference on Computer and Communications Security.New York:ACM, 2014:135-138. 11柏骏, 夏靖波, 钟赟, 等.网络运行态势感知技术及其模型J.解放军理工大学学报:自然科学版, 2015, 16 (1) :16-22.BAI Jun, XIA jingbo, ZHONG Yun, et al.Network Runing Situation
31、Awareness Technology and Its ModelJ.Journal of PLA University of Science and Technology:Natural Science Edition, 2015, 16 (1) :16-22 12杨洁, 刘聪锋.模式匹配与校验和相结合的 IP 协议识别方法J.西安电子科技大学学报, 2012, 39 (3) :149-153.YANG Jie, LIU Congfeng.IP Protocol Identification Method Using the Pattern Match and Check SumJ.Jou
32、rnal of Xidian University, 2012, 39 (3) :149-153. 13HECKERMAN D.A Tutorial on Learning with Bayesian NetworksC/Learning in Graphical Models.Cambridge:MIT Press, 1999:301-354. 14BREIMAN L.Random ForestsJ.Machine Learning, 2001, 45 (1) :5-32. 15CHAU M, CHEN H C.A Maching Learning Approach to Web Page Filtering Using Content and Structure AnalysisJ.Decision Support System, 2008, 44 (2) :482-494. 16ALEXA.The Top 500Sites on the WebEB/OL.2016-04-20.http:/