楊建喜 張媛利 蔣 華 朱曉辰
1(北京電子科技學院 北京 100070) 2(西安電子科技大學 陜西 西安 710071)
物聯(lián)網(wǎng)(Internet of Things, IoT)通過信息傳感設備,根據(jù)商定好的協(xié)議將日常生活中的物品和網(wǎng)絡連接起來,交換和共享彼此的信息數(shù)據(jù)。隨著接入網(wǎng)絡的IoT設備越來越多,數(shù)據(jù)量也越來越大。在數(shù)據(jù)傳輸過程中,可能會遭受各種網(wǎng)絡攻擊,如假冒攻擊、拒絕服務攻擊、黑洞攻擊等。因此,IoT通信安全威脅一直備受關注。假冒攻擊作為一種物理層常見攻擊技術,表現(xiàn)為攻擊者發(fā)送假冒信息擾亂合法用戶的正常通信,而簡單的加密算法不足以抵抗各種新型假冒攻擊。
In等[1]提出一種雙認證(Double Authentication, DA)方案對鏈路狀態(tài)路由數(shù)據(jù)包攜帶的路由信息數(shù)據(jù)進行身份驗證以檢測假冒攻擊,但該方法空間復雜度高,對內(nèi)存需求大,不適用于資源受限的網(wǎng)絡環(huán)境。王登第等[2]基于身份簽名技術,結(jié)合節(jié)點報警規(guī)則,構(gòu)造基于鄰居節(jié)點相互認證的單個試圖假冒攻擊源測定算法,但該方法隨著網(wǎng)絡密度增加而導致簽名次數(shù)急劇增加,所以不適用于數(shù)據(jù)流量大的網(wǎng)絡。Pu等[3]提出一種基于偽裝的主動檢測方案,每個節(jié)點將自己偽裝成能量收集節(jié)點,監(jiān)視其相鄰節(jié)點以檢測潛伏的惡意節(jié)點。上述方法可以在網(wǎng)絡數(shù)據(jù)流量不大、節(jié)點數(shù)量少的情況下高效監(jiān)測假冒攻擊行為,但是對于網(wǎng)絡中存在海量感知節(jié)點,終端數(shù)目多,數(shù)據(jù)流量巨大的資源受限IoT網(wǎng)絡來說,上述方法明顯不適用。
針對上述研究中存在的不足,本文提出一種基于自編碼器(Autoencoder, AE)的假冒攻擊防御機制。文獻[4-5]首次提出將通信系統(tǒng)解釋為AE來學習端到端通信系統(tǒng)的概念。Meidan等[6]提出利用深度AE學習IoT的正常行為,并通過是否能重建IoT流量的快照來進行異常檢測。郭旭東等[7]在傳統(tǒng)稀疏去噪AE網(wǎng)絡的基礎上加入約束項以提高網(wǎng)絡的局部近似性學習能力和網(wǎng)絡解碼能力,進而提高模型的入侵檢測性能。基于上述AE的應用研究,本文將AE引入到IoT物理層安全通信中,將IoT節(jié)點之間通信過程簡化為用戶間通信,構(gòu)建基于AE的端到端通信模型,根據(jù)不同用戶的信道特征不同分別建模,對于合法用戶和假冒攻擊用戶分別以高斯信道和瑞利衰落信道模型建模,使得構(gòu)建的AE模型可以準確學習不同用戶的信號特征,在接收端結(jié)合K均值聚類算法(K-means)根據(jù)信號星座圖和誤碼率(Bit Error Rate, BER)判斷通信用戶是否合法,當信號星座圖聚類中心與標準星座圖坐標基本吻合,且誤碼率低時,判斷發(fā)送方合法,否則即為假冒攻擊者,從而保障合法用戶的安全通信。
圖1所示為只考慮一對合法用戶和攻擊用戶的典型通信場景。假設用戶都在彼此的廣播范圍之內(nèi),Alice和Bob是合法用戶,Eve是攻擊用戶。Alice和Bob之間的通信屬于正常通信,Eve嘗試偽裝成Alice發(fā)送消息給Bob,屬于非法通信。Bob需要在接收端準確監(jiān)測并識別信號是否來自合法用戶Alice[8]。
圖1 基于假冒攻擊的典型通信場景
由于Alice、Bob和Eve所處位置不同則信道也不同。實際中,攻擊用戶比合法用戶的信道條件差,受到的干擾大[9-10],合法用戶之間的正常通信是建立在已認證的通信鏈路基礎上的,假設源端發(fā)送的信息通過直射路徑經(jīng)過一定的衰減到達接收端。攻擊用戶偽裝成合法用戶通過不同于合法通信信道的路徑傳輸信息給接收端時,會途經(jīng)一系列障礙物的反射、散射、衍射合成,強度發(fā)生隨機變化造成衰落才能到達目的端[11]。從而導致合法用戶和攻擊用戶經(jīng)過不同信道傳輸?shù)竭_接收端的信號特征存在差異。
為了準確監(jiān)測識別假冒攻擊用戶,本文結(jié)合K-means聚類算法在接收端根據(jù)信號星座圖標準程度和誤碼率大小來判斷發(fā)送方是否合法。
(1) 信號星座圖可以形象地說明某種調(diào)制信號的幅度-相位關系,從而可以定性地表明與抗干擾能力相關的最小信號距離。星座圖中一個信號用一個點來表示,因此可以通過在接收端觀察接收信號的星座圖標準程度來識別是否為攻擊用戶。常見PSK信號的標準星座圖坐標如表1所示。
表1 標準星座圖坐標
(2) 式(1)所示的誤碼率(Bit Error Rate, BER)作為最常用的數(shù)據(jù)通信傳輸質(zhì)量指標,研究特定條件下的BER對增強無線通信系統(tǒng)性能、改善數(shù)據(jù)傳輸質(zhì)量意義重大。因此,可以通過BER大小來判斷通信質(zhì)量,從而識別是否為攻擊用戶。
(1)
信道作為通信雙方收發(fā)端之間的物理媒介,其特性決定了無線通信系統(tǒng)的各種性能,如誤碼率、相關性等。而物理層安全技術就是利用物理信道的唯一性和互易性,利用加密等安全技術在無線傳輸過程中對原始發(fā)送信息進行保護,實現(xiàn)對信息及無線傳輸過程的保護[12]。因此,通過在物理層利用無線信道的差異設計與位置強關聯(lián)的信號傳輸和處理機制,搭建基于AE的端到端通信模型,對合法用戶和攻擊用戶以不同通信信道建模,通過AE訓練學習不同信號特征,識別假冒攻擊用戶。
根據(jù)合法用戶和攻擊用戶通信信道不同,合法用戶通過直射路徑經(jīng)一定衰減到達接收端,假設合法用戶通信時信道會受到加性高斯白噪聲(Additive White Gaussian Noise,AWGN)影響[13-14]。攻擊用戶傳輸信號時經(jīng)過多種衰落路徑,且各條路徑具有時變衰耗和時變傳輸時延,假設攻擊用戶通信信道會受到瑞利衰落的影響[15-16]。高斯分布和瑞利分布的概率密度函數(shù)可分別用式(2)和式(3)表示。高斯分布服從均值為μ、方差為σ2的正態(tài)分布。瑞利分布的均值為1.253μ,方差為0.429σ2。
(2)
(3)
AE屬于無監(jiān)督學習,但是存在從輸入數(shù)據(jù)中產(chǎn)生的標簽,其生成目標就是未經(jīng)修改的輸入,讓神經(jīng)網(wǎng)絡的輸出能和原始輸入保持一致。AE的輸入節(jié)點和輸出節(jié)點的數(shù)量是一致的,通常希望在接收端使用少量稀疏的高階特征來重構(gòu)輸入[17]。在保持輸入輸出盡可能一致(通過信息損失來判定)的情形下,實現(xiàn)無監(jiān)督方式下的隱層特征提取與參數(shù)學習。利用AE在輸出端重構(gòu)自我的特性,搭建基于AE的端到端通信模型就可以保證發(fā)射機端和接收機端的信號一致性,實現(xiàn)信號在收發(fā)端的傳輸。
圖2所示為基于AE的端到端通信系統(tǒng)模型,包括發(fā)射機、信道和接收機。其中發(fā)射機(編碼器)部分包含全連接層和正則化層,接收機(解碼器)部分包含全連接層和歸一化指數(shù)函數(shù)(Softmax)層。
圖2 基于AE的端到端通信系統(tǒng)模型
圖3 AE的訓練過程
X=σa(Wa·x+ba)∈Rv
(4)
(5)
式中:Wa∈Rv×u、ba∈Rv和Ws∈Ru×v、bs∈Ru分別為編、解碼階段的權(quán)重和偏置參數(shù),激活函數(shù)分別表示為σa(·)和σs(·),具體分別為ReLU、ReLU和ReLU、Softmax。接收端通過Softmax層將輸出映射為概率向量,最大的概率輸出值所對應的類別即為識別出的傳輸信號類型。理論上,概率向量中最大元素值對應索引應和獨熱向量中元素為1的索引值一樣,此時誤碼率為0。
(6)
該損失函數(shù)屬于凸優(yōu)化問題,采用基于隨機梯度下降(Stochastic Gradient Descent, SGD)方式的優(yōu)化迭代算法求解。編碼階段,目標函數(shù)關于參數(shù)的偏導數(shù)見式(7)。引入式(8)的誤差傳播項(即每個樣本的誤差項關于隱層輸出的導數(shù)),根據(jù)鏈式法則則有式(9)。
(7)
(8)
(9)
解碼階段,目標函數(shù)關于參數(shù)的偏導數(shù)為式(10),其中每個信號樣本的誤差(預測輸出與期望輸出的差)所對應的偏導可通過式(11)求解。
(10)
(11)
正則項關于參數(shù)的偏導數(shù)用式(12)表示,從而得到優(yōu)化更新參數(shù)的公式,即式(13)。
(12)
(13)
本文所提出的基于AE的假冒攻擊防御機制主要是通過構(gòu)建基于AE的端到端通信模型,并針對合法用戶和攻擊用戶以不同信道模型建模,通過訓練學習各自的信號特征,在接收端結(jié)合K-means聚類算法進行仿真,根據(jù)得到的信號星座圖和BER進行對比分析,識別攻擊用戶從而保障合法用戶的正常通信。
圖4是在基于AE的模型上合法用戶和攻擊用戶經(jīng)過高斯信道和瑞利衰落信道傳輸后結(jié)合K-means聚類算法得到的不同信號星座圖,其中“*”和“·”分別代表合法用戶和攻擊用戶星座圖。表2是K-means聚類算法得到的具體的BPSK、QPSK、8PSK和16PSK聚類坐標中心。
(a) BPSK
(b) QPSK
(c) 8PSK
(d) 16PSK圖4 AE學習到的星座圖
表2 合法用戶和非法用戶聚類中心
續(xù)表2
目前,IoT場景主要采取BPSK和QPSK方式,圖4(a)、(b)為相應的星座圖,結(jié)合表1的標準星座圖坐標和表2所給出的用戶星座圖聚類中心,當傳輸BPSK時,攻擊用戶整體聚類效果不錯但是聚類中心偏離標準星座圖中心太遠,而合法用戶的星座圖整體聚類效果雖不如攻擊用戶,但是聚類中心基本與標準星座圖中心完全重合。同樣地,當傳輸QPSK時,攻擊用戶的聚類中心較傳輸BPSK時與標準星座圖中心偏差減小,而合法用戶的聚類中心基本與標準星座圖完全吻合。當IoT系統(tǒng)采用8PSK和16PSK等多相位調(diào)制模式傳輸信號[18]時,仿真證明該方法也同樣適用,如圖4(c)、(d)所示,合法用戶的星座圖聚類中心基本與標準星座圖中心完全吻合,而攻擊用戶的與標準星座圖中心偏差較大。所以,根據(jù)接收端信號星座圖聚類中心可以準確方便地識別出攻擊用戶,而不被攻擊用戶的表面聚類效果混淆。因此,當IoT物理層通信受到假冒攻擊時,接收端可以利用星座圖的聚類中心標準程度準確識別出企圖占用合法用戶資源進行通信的攻擊用戶,保護合法用戶的正常通信。
圖5分別為AE模型訓練過程中模型訓練損失和準確率曲線,其中“★”和“?”分別代表攻擊用戶和合法用戶??梢钥闯?,訓練損失從第二輪開始就接近0,訓練精度從第二輪開始基本接近1,說明網(wǎng)絡模型性能良好。
(a) 損失曲線
(b) 準確率曲線圖5 模型訓練損失和精度
圖6為基于高斯信道和瑞利衰落信道在不同信噪比下傳輸不同信號時的誤碼率曲線對比圖。其中“□”和“*”線分別代表攻擊用戶和合法用戶??梢钥闯?,由于攻擊用戶偽裝成合法用戶傳輸信號時會受到嚴重的瑞利衰落影響,當SNR小于3 dB時,向接收端發(fā)送BPSK時,合法用戶的BER較攻擊用戶低了約15%,在傳輸QPSK時,攻擊用戶的BER也明顯高于合法用戶,在SNR為-2 dB時,攻擊用戶的BER高了25%。當傳輸8PSK和16PSK信號時,合法用戶在低SNR下的BER也明顯低于攻擊用戶,分別約為10%和6%,在高SNR下攻擊用戶的BER略低于合法用戶,四種信號在低SNR下攻擊用戶的BER明顯高于合法用戶。因此,基于接收到的不同信號類型,接收端可以通過信號在不同SNR的BER準確識別出攻擊用戶,保證合法用戶通信。
(a) BPSK
(b) QPSK
(c) 8PSK
(d) 16PSK圖6 不同信噪比下的BER
通過與現(xiàn)有研究中基于支持向量機(Support Vector Machine, SVM)、卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)、卷積神經(jīng)網(wǎng)絡—長短期記憶網(wǎng)絡(Long Short-Term Memory network, CNN-LSTM)[19]在文中所用同一數(shù)據(jù)集RML2016.10的性能結(jié)果比較,發(fā)現(xiàn)當SNR∈[-20 dB, 20 dB]時,基于SVM的BER約為49.4%,基于CNN網(wǎng)絡的BER約為35.6%,基于CNN-LSTM的BER約為30.56%,而文中基于AE的整體BER為15%,明顯低于其他幾種方法。圖7為SNR∈[-2 dB, 10 dB]時,各種算法的BER對比曲線。
圖7 不同算法的誤碼率比較
可以發(fā)現(xiàn),SVM的BER在90%左右,說明SVM無法在這種復雜的數(shù)據(jù)集下進行正確識別。基于CNN-LSTM和基于AE的BER明顯低于CNN和SVM,而基于AE的網(wǎng)絡在SNR大于4 dB時,相比于基于CNN-LSTM的網(wǎng)絡有著明顯優(yōu)勢,且SNR越高,AE的優(yōu)勢越明顯。當SNR為10 dB時,基于AE的BER接近0.05%,說明了本文提出的基于AE的假冒攻擊識別機制可以做到準確識別用戶數(shù)據(jù),以區(qū)分攻擊用戶和合法用戶,從而保證合法用戶的正常通信。
圖8為傳統(tǒng)通信系統(tǒng)和基于AE的端到端通信系統(tǒng)在不同信噪比下接收端識別攻擊用戶和合法用戶傳輸不同信號時的誤碼率對比曲線。傳統(tǒng)通信系統(tǒng)采用的是調(diào)制信號加高斯噪聲或瑞利衰落噪聲之后接收端得到的信號。其中“---”“—”“-*-”“□”線分別表示經(jīng)傳統(tǒng)加性高斯白噪聲信道、傳統(tǒng)瑞利衰落噪聲信道、自編碼器高斯白噪聲信道、自編碼器瑞利衰落信道的BER曲線。對于傳統(tǒng)加性高斯白噪聲信道通過MATLAB仿真得到的BER接近實際情況中的理想BER??梢钥闯?,對于四種信號,任何SNR情況下,基于AE的假冒攻擊識別機制中合法用戶的BER曲線近似逼近傳統(tǒng)通信系統(tǒng),說明基于AE的假冒攻擊識別機制可以保證合法用戶的通信質(zhì)量。當SNR小于4 dB時,攻擊用戶的BER比傳統(tǒng)通信系統(tǒng)高,即該方法可以惡化攻擊用戶的通信質(zhì)量。對于BPSK,當SNR小于6 dB時,攻擊用戶的BER明顯高于傳統(tǒng)通信系統(tǒng),而合法用戶的BER與傳統(tǒng)通信系統(tǒng)相近。對于QPSK,當SNR小于6 dB時,攻擊用戶的BER也明顯高于傳統(tǒng)通信系統(tǒng)。對于8PSK和16PSK,該方法的性能受信噪比影響較大,當SNR大于6 dB時,合法用戶傳輸16PSK時,BER略高于傳統(tǒng)通信系統(tǒng),而攻擊用戶略低于傳統(tǒng)通信系統(tǒng)。因此,在低SNR的情況下,本文提出的基于AE的假冒攻擊識別機制可以在優(yōu)化合法用戶通信質(zhì)量的同時惡化攻擊用戶的通信質(zhì)量,從而有效保護物理層合法用戶的安全通信。
(a) BPSK
(b) QPSK
(c) 8PSK
(d) 16PSK圖8 與傳統(tǒng)通信系統(tǒng)的BER對比
本文針對IoT物理層雙方通信時受到的假冒攻擊提出一種基于自編碼器的假冒攻擊識別機制。當攻擊用戶偽裝成合法用戶向接收端用戶持續(xù)發(fā)送信號阻礙合法用戶之間的正常通信時,接收端需要及時監(jiān)測并識別攻擊用戶信號,以保證正常用戶之間的通信。文中基于Tensorflow和Keras構(gòu)建基于自編碼器的端到端通信系統(tǒng)來模擬IoT物理層的典型通信場景進行仿真??紤]實際通信信道特征,對合法用戶和發(fā)動假冒攻擊的攻擊用戶分別以加性高斯白噪聲信道和瑞利衰落信道進行建模。在接收端,結(jié)合K-means聚類算法得到信號星座圖和誤碼率曲線。仿真分析可知,當發(fā)動假冒攻擊的攻擊用戶與合法用戶向接收端發(fā)送同種類型的信號時,攻擊用戶的信號在接收端聚類重建的星座圖較標準星座圖偏差較大,易于被識別出來,且因為K-means聚類算法的低復雜度特性,提高了識別速度和識別精度。在接收端,攻擊用戶傳輸信號的誤碼率比合法用戶高了大約10%,文中基于自編碼器的端到端通信系統(tǒng)較傳統(tǒng)通信系統(tǒng)可以在優(yōu)化合法用戶的通信質(zhì)量的同時惡化非法用戶的通信質(zhì)量。所以本文提出的基于自編碼器的假冒攻擊識別機制可有效保證IoT物理層的安全通信,且適用于資源受限,數(shù)據(jù)流量大的IoT場景。窄帶物聯(lián)網(wǎng)(NB-IoT)作為專為萬物互聯(lián)打造的蜂窩網(wǎng)絡技術,具有廣覆蓋、大連接、低功耗、低成本等特點。其上行鏈路采用單載波頻分多址(SC-FDMA)制式,調(diào)制方式為BPSK、QPSK,其下行采用正交頻分復用(OFDM)制式[20],調(diào)制方式為QPSK,所以可進一步研究將本文提出的假冒攻擊識別機制應用到NB-IoT物理層通信中。