今年 8 月份,香港中文大學張克環教授研究組在 arxiv 上公佈了一篇文章,展示了他們組對於智慧家居隱私性的研究。文章作者嘗試使用 LSTM 模型對智慧家居里的活躍裝置進行預測。該預測可以使服務提供商(ISP)猜測使用者正在家裡使用什麼型別的裝置,從而有可能對擁有不同裝置的使用者有不同的商業推廣手段。
論文地址:https://arxiv.org/pdf/1909.00104.pdf
在此之前,已經有不少人做了相關的研究,但他們的研究大都是基於純淨的實驗室環境,很難移植到複雜的現實環境中。作者通過分析真實世界中的 IoT 裝置以及公開資料集,發現物聯網裝置的流量與桌面流量和移動流量相比有以下區別:
同一類別的裝置有相似的流量模式(下圖為兩種語音助手識別語音命令時的流量變化情況)
裝置都有「心跳」傳輸來保證網路和裝置的聯通,不同裝置的「心跳」模式不同
不同裝置傳輸協議比例不同(下圖展示了 IoT 裝置和非 IoT 裝置的協議使用情況)
作者認為,這些特徵表明即使是在複雜場景下,而且具有一定的安全裝置(NAPT 和 VPN)也能鑑別不同的 IoT 裝置。由於現有的資料集不滿足作者的要求,因此作者團隊自己搭建了一個資料採集的系統。
實驗資料收集
該系統包含 10 個 IoT 裝置和 4 個非 IoT 裝置,系統內裝置如下圖所示。
作者準備在三個環境下收集流量資訊:單一裝置環境、多裝置嘈雜環境 (使用 NAPT 技術) 以及 VPN 環境。
首先介紹一下 NAPT 技術和 VPN 技術。NAPT 是一種網路地址轉換技術,與 NAT 不同,NAPT 支援埠的對映。NAT 實現的是本地 IP 和 NAT 的公共 IP 之間的轉換,因此本地區域網中同時與公網進行通訊的主機數量就受到 NAT 的公網 IP 地址數量的限制。而 NAPT 克服了這種缺陷——NAPT 技術在進行 IP 地址轉換的同時還對埠進行轉換,因此只要 NAT 中的埠不衝突,就允許本地區域網的多臺主機利用一個 NAT 公共 IP 就可以同時和公網進行通訊。
VPN 通常用於互連不同的網路,以形成具有更大容量的新網路。它是基於 IP 隧道機制,不同子網中的主機可以相互通訊,並且可以通過認證和加密保密傳送的資訊。
在生成流量的過程中,作者採用了兩種觸發方式:手動觸發和自動觸發,手動觸發可以模擬真實環境下的人機互動,自動觸發可以減輕實驗者的負擔。在自動觸發模式下,作者使用 Monkey Runner 對需要用 APP 進行互動的 IoT 裝置進行觸發;對於語音助手等 IoT 裝置,作者通過重複播放口令來進行觸發。
手動觸發模式只在多裝置場景下使用,在該模式下,作者通過隨機進出房間來對房間內的試驗裝置進行觸發。該種方式與自動觸發相比,更具有隨機隨機性,從而有助於模型的泛化。
整個流量收集過程持續 49.4 個小時,共收集 4.05GB 的資料,共包含 7223282 條有效通訊包。
資料預處理
在進行實驗評估之前,作者先對資料進行了預處理——將初始資料轉換為模型能夠處理的數值向量。
資料預處理過程可分為兩部分,特徵提取和製作資料包的標籤。在特徵提取過程中,共提取了五個特徵,分別是埠 (dport)、協議 (protocol)、方向 (direction)、幀長 (frame length)、時間間隔 (time interval),並將這五個特徵組成一維向量,如下圖所示。
在給資料包製作標籤的過程中,針對在 VPN 環境下較難打標的問題,作者發現瞭如下規律,從而能夠較精確地給資料包打標籤:
經過 VPN 處理後,資料包的體積會變大
不同體積的資料包經過 VPN 加密後體積相同
VPN 會引起資料包傳輸延遲,這個延遲通常短於 0.02 秒
模型選擇
在模型選擇上,作者共選取了三個模型:隨機森林(基線模型)、LSTM 模型以及 BLSTM(雙向 LSTM)模型。由於隨機森林無法直接學習離散值,作者對埠的特徵值進行了獨熱編碼處理。
對於 LSTM 模型,作者也對輸入模型的資料進行了處理,他將多個連續向量進行了分組並組成流量窗,如下圖所示。
作者使用的 LSTM 模型如下圖所示。該模型由多個基礎模組組成,每個基礎模組又包含有 Embedding 層、LSTM 層、全連線層以及 Softmax 層。
由於 LSTM 模型在學習上下文資訊時只能檢視資料包的「過去」,因此作者又使用了 BLSTM 模型。BLSTM(雙向 LSTM)是 LSTM 的擴充套件,它通過組合從序列末尾移動到其開頭的另一個 LSTM 層來利用來自「未來」的資訊。作者使用的 BLSTM 模型見下圖。
模型評估
資料集
共有兩種資料集,Dataset-Ind 以及 Dataset-Noise。每種資料集又有兩個版本:NAPT 版本和 VPN 版本。Dataset-Ind 資料集包含來自 10 個單獨 IoT 裝置的流量資料,這些資料被組成流量窗。Dataset-Ind 資料集共有 32760 個流量窗。
Dataset-Noise 資料集中的資料也是以流量窗的形式存在,與 Dataset-Ind 資料集不同的是,該資料集中的每個流量窗都是由多個裝置的資料包組成。Dataset-Noise 資料集包含 114989 個流量窗。
評估指標
總精度(overall accuracy) 和分類精度(category accuracy)
評估結果
在 Datatset-Ind 資料集下的評估結果如下表所示。從表中可以看出,LSTM 模型的精度普遍高於隨機森林模型。
隨後,作者又在 Dataset-Ind 資料集下研究了流量窗大小對實驗精度的影響,結果顯示,流量窗越大,實驗精度越高。因此,在接下來的實驗中,流量窗的大小預設為 100。
在 Dataset-Noise 資料集下的評估結果如下圖所示。由圖中可以看出,隨機森林模型在該資料集下的總精度下降明顯,在 NAPT 環境下總精度為 84.5%,在 VPN 環境下的總精度為 67.6%。而 LSTM 模型在 NAPT 環境下表現較好,在 VPN 環境下表現較差。
作者對隨機森林模型和 LSTM 模型精度降低的現象進行了分析,認為隨機森林模型精度降低的原因是多個 IoT 裝置和非 IoT 裝置同時使用一個埠進行通訊,使得該模型分類失敗;而 LSTM 模型精度下降的原因,作者認為是由稀疏流量造成的:因此在 VPN 協議的極端情況下,智慧插頭(圖中 orvibo, tplink)產生的流量包可以在流量視窗中被稀釋到不到 3%。令這兩款智慧插頭不能被識別出。(PS 根據這原理,我們上網用這個產生「噪聲」的小程式也可以保障我們的隱私:https://github.com/1tayH/noisy)
結論
根據實驗結果,作者認為即使是在加密和流量融合的情況下,物聯網裝置的網路通訊也會產生嚴重的隱私影響。人們應該進行更多該方面的研究,以更好地瞭解智慧家居網路中地隱私問題並緩解此類問題。
相關資料:
1. Accessed: September 2019. "Can a MAC address be traced?". Available online at https://askleo.com/can_a_mac_address_be_traced/.
2. Acar A, Fereidooni H, Abera T, et al. "Peek-a-Boo: I see your smart home activities, even encrypted!". arXiv preprint arXiv:1808.02741, 2018. Available online at https://arxiv.org/pdf/1808.02741.
3. Bezawada B, Bachani M, Peterson J, et al. "Iotsense: Behavioral fingerprinting of iot devices". arXiv preprint arXiv:1804.03852, 2018. Available online at https://arxiv.org/abs/1804.03852.
4. Apthorpe N, Reisman D, Feamster N. "A smart home is no castle: Privacy vulnerabilities of encrypted iot traffic". arXiv preprint arXiv:1705.06805, 2017. Available online at http://arxiv.org/abs/1705.06805.
5. Apthorpe N, Reisman D, Sundaresan S, et al. "Spying on the smart home: Privacy attacks and defenses on encrypted iot traffic". arXiv preprint arXiv:1708.05044, 2017. Available online at http://arxiv.org/abs/1708.05044.
6. Accessed: September 2019.「Smart home blog」. Available online at https://blog.smarthome.com/.
作者介紹:蘆新峰,吉林大學在讀碩士,主要研究方向為目標檢測。