
我堅定地認為,在星期五晚上,拿著一杯紅酒,把手機放在腿上安靜地刷六小時無聊的偵探節目,是我的基本人權。我也會認為,私底下做這丟臉的事,不把我浪費周末的秘密泄露給除了Netflix以外的其他人,是我的權利。
Netflix似乎會同意我的觀點。2016年夏天以來,該公司一直在使用HTTPS加密來保護視頻流。但新的研究表明,這一策略無法阻止第三方服務提供商和入侵者偷看我在看什么。
最近有兩篇文章提供了通過對加密數據流進行簡單流量分析,識別視頻的方法。一篇來自西點軍校,另一篇來自特拉維夫大學和康奈爾大學新科技校區。其中一種方法使任何一方(如ISP或VPN提供商)能夠直接訪問用戶正在觀看視頻的網絡。另一種方法可以被任何入侵者使用,只要他們能夠向用戶瀏覽器傳遞惡意Javascript代碼。但是兩種方法都會監控用戶網絡傳輸數據突發的大小,以便將其與已知數據庫進行比較。
許多商業視頻流服務(Netflix并不是唯一)使用了一套使這種視頻比對識別成為可能的方法。第一種協議為MPEG-DASH流媒體協議,它將視頻內容分成數個較小的部分。當你看直播時,你實際上在看一長串播放列表,各部分的質量因網絡速度而異。動態自適應流(DASH)指定你的瀏覽器能看到哪些部分。
第二個協議稱為加密可變碼率,它是一種消除連續數據突發中冗余的方法,由此縮小發送給你的文件大小。當影像出現時,VBR協議將視頻每幀與之前的進行比較,消除不變的內容。這意味著,與幾乎所有內容都是黑色的片尾相比,傳輸一個混亂的、瞬息萬變的動作場景需要一系列更大的數據突發。
網絡流量的這兩個特征足夠獨特,可以將其用作單個視頻比對的位點。
“一個視頻里的兩分鐘與任何其他視頻的任意其他兩分鐘完全不同嗎?”西點軍校的電氣工程副教授,其中一篇論文的合作者Andrew Reed問道,“事實證明它們是非常不同的。”
因此,僅通過編制數據突發的時間和大小,Reed和他的同事們就能夠編寫超過30萬個Netflix視頻的位點比對數據庫。這些信息來自實時流發送的前100kb數據。
為了在入侵中使用這些信息,該團隊需要直接訪問提供實況流的網絡,這讓他們能夠在每次服務器請求新的數據突發時進行觀察。使用這種技術使得他們在觀察八分鐘后就能將未知視頻與已知位點匹配,準確度達90%。
在另一篇文章中,研究人員也展示了入侵者如何通過在用戶瀏覽器中運行惡意JavaScript代碼,收集流式視頻可變碼率信息。這樣的JavaScript代碼可以由用戶訪問的任何網站或網絡廣告公司發送,且僅需要在與用戶相同的網絡上運行。這意味著當我們在智能電視上觀看流媒體電視節目時,JavaScript代碼正在連接同一網絡的手機上運行,同樣可以進行攻擊。這篇文章來自哥倫比亞大學研究員,特拉維夫大學實驗信息安全實驗室主任Eran Tromer,康奈爾大學的Vitaly Shmatikov,以及他們的學生Roei Schuster。
代碼在運行時,會以無關緊要的流量堵住用戶網絡。每當電視機再次卡頓時,對方流量就會延遲,從而可以推斷突發時間和大小。
與Reed和他的團隊的直接測量相比,通過這些方法收集的信號干擾程度更高。但是,通過深入學習算法,Tromer團隊已經表明,視頻識別的準確度可達90%以上。
考慮到最近FCC(美國聯邦通訊委員會)隱私規則的變化,這些發現很有用處。該隱私規則免費授權互聯網服務提供商將其顧客的瀏覽習慣商品化。但這一問題缺少一個簡單的解決方案。雖然兩個研究團隊已經找到了阻止信息泄漏的方法,但每個方法都將使傳輸流視頻的效率降低。
“所有這些效率降低產生的成本都將由流媒體提供商和用戶承擔。目前,很難看到有激勵流媒體服務提供商支付這些成本以保護用戶的因素,”Tromer說,“我們希望當人們意識到這些隱私風險以及他們面臨對方監控時,將會增加對隱私保護流媒體服務的需求。”