![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5COjRGZjNWMlNjZxIDOhhTYzczY0cjZlN2Y5AjM3MjNl9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.jpg)
在此之前,已經有不少人做了相關的研究,但他們的研究大都是基于純淨的實驗室環境,很難移植到複雜的現實環境中。作者通過分析真實世界中的 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/.作者介紹:蘆新峰,吉林大學在讀碩士,主要研究方向為目标檢測。
本文為機器之心原創,轉載請聯系本公衆号獲得授權。