我坚信,周五晚上喝着一杯红酒,腿上放着手机,观看六个小时无聊的侦探节目是我的基本人权。我也认为我有权私下做这件可耻的事情,而不向除了 Netflix 之外的任何人透露我浪费了周末的秘密。
Netflix 似乎会同意我的观点。自 2016 年夏天以来,该公司一直在使用 HTTPS 加密来保护视频流。但新的研究表明,这种策略并不能阻止第三方服务提供商和入侵者偷看我正在查看的内容。
最近的两篇文章提供了通过对加密数据流进行简单流量分析来识别视频的方法。一名来自西点军校,另一名来自特拉维夫大学和康奈尔大学新技术校区。其中一种方法使任何一方(例如 ISP 或 VPN 提供商)都可以直接访问用户正在观看视频的网络。任何能够将恶意 Javascript 代码传递到用户浏览器的入侵者都可以使用另一种方法。但这两种方法都会监视通过用户网络传输的数据突发的大小,并将其与已知数据库进行比较。
许多商业视频流服务(Netflix 不是唯一)使用一套方法使这种视频比较识别成为可能。第一个协议是 MPEG-DASH 流协议,它将视频内容分为几个较小的部分。当您观看直播时,您实际上是在观看一个很长的播放列表,各个部分的质量会根据您的网络速度而变化。动态自适应流式传输 (DASH) 指定您的浏览器可以看到哪些部分。
第二个协议称为加密可变比特率,它是一种消除连续数据突发中的冗余的方法,从而缩小发送给您的文件的大小。当视频出现时,VBR 协议会将视频的每一帧与前一帧进行比较,消除未更改的内容。这意味着传输混乱、快速变化的动作场景需要一系列比几乎所有东西都是黑色的片尾字幕序列更大的数据突发。
网络流量的这两个特征非常独特,可以用作单个视频比较的轨迹。
“一个视频中的两分钟与任何其他视频中的任何其他两分钟完全不同吗?”西点军校电气工程副教授、其中一篇论文的合著者安德鲁·里德问道。 “事实证明它们非常不同。 ”
因此,仅仅通过编译数据爆发的时间和大小,里德和他的同事就能够编译超过 300,000 个 Netflix 视频的现场比较数据库。该信息来自直播流发送的前 100kb 数据。
要在入侵中使用此信息,团队需要直接访问提供实时流的网络,这使他们能够在服务器每次请求新的数据突发时进行观察。利用这项技术,他们仅经过八分钟的观察就能够将未知视频与已知位置进行匹配,准确率高达 90%。
在另一篇文章中,研究人员还演示了入侵者如何通过在用户浏览器中运行恶意 JavaScript 代码来从流视频中收集可变比特率信息。这样的JavaScript代码可以由用户访问的任何网站或在线广告公司发送,并且只需要与用户运行在同一网络上。这意味着当我们在智能电视上观看流媒体电视时,JavaScript代码正在连接到同一网络的手机上运行,也可能受到攻击。本文来自哥伦比亚大学研究人员 Eran Tromer、特拉维夫大学实验信息安全实验室主任、康奈尔大学 Vitaly Shmatikov 以及他们的学生 Roei Schuster。
当代码运行时,它会用不相关的流量阻塞用户的网络。每当电视再次卡顿时,对方的流量就会延迟,从而可以推断出突发时间和大小。
通过这些方法收集的信号比里德和他的团队进行的直接测量的噪声更大。不过,通过深度学习算法,Tromer团队已经证明视频识别的准确率可以达到90%以上。
鉴于 FCC(联邦通信委员会)隐私规则最近发生的变化,这些发现非常有用。隐私规则允许互联网服务提供商自由地将其客户的浏览习惯商品化。但这个问题缺乏简单的解决方案。虽然两个研究团队已经找到了阻止信息泄露的方法,但每种方法都会降低流媒体视频的传输效率。
“所有这些效率损失的成本将由流媒体提供商和用户承担。目前,很难看到流媒体服务提供商有动力支付这些成本来保护用户,”特罗默说,“我们希望当人们意识到这些隐私风险以及他们面临的监视时,对保护隐私的流媒体服务的需求将会增加。”