汪卓越,王春東*
(天津理工大學a.天津市智能計算及軟件新技術重點實驗室,b.計算機視覺與系統省部共建教育部重點實驗室,c.計算機科學與工程學院,天津300384)
如今,無線局域網廣泛應用于許多公共場所。公共場所提供免費的熱點(access point,AP)服務,用戶可以使用其移動設備或便攜式計算機連接到Internet[1]。但是,無線通信具有開放性,很容易受到嚴重的網絡攻擊[2]。無線局域網中最突出的問題之一就是惡意雙胞胎攻擊。惡意雙胞胎AP通過欺騙服務集標識符(service set identifier,SSID)的方式來創建,很容易在網絡中發動攻擊[3]。大多數攻擊者將惡意雙胞胎AP放置在目標用戶群附近,當用戶通過惡意AP連接到Internet時,惡意AP的創建者可以嗅探用戶發送的數據,使用戶的財產安全受到威脅[4]。
本文以惡意雙胞胎攻擊檢測為目標,先簡要介紹惡意雙胞胎攻擊的相關知識以及惡意雙胞胎攻擊所造成的危害,然后介紹惡意雙胞胎攻擊檢測方法,最后分別使用K近鄰(K-nearest neighbor,KNN)、支持向量機(support vector machine,SVM)、邏輯回歸(logistic regression,LR)、樸素貝葉斯(naive Bayes,NB)4種算法實現分類,將其結果進行對比分析。
惡意雙胞胎AP,也可以稱為流氓AP。與通常由內部人員為方便起見而安裝并直接連接到內部有線網絡的傳統惡意AP有所不同,惡意雙胞胎通常是由外部人員出于惡意目的安裝的,并通過附近現有的合法AP連接到Internet[5]。惡意雙胞胎攻擊模型如圖1所示。通過一些現成的軟件,攻擊者可以將筆記本電腦轉變為惡意雙胞胎AP。然后,攻擊者將惡意雙胞胎AP的SSID設置為他打算偽造的合法AP的SSID。惡意雙胞胎AP可以利用高接收信號強度指示(received signal strength indication,RSSI)吸引普通的WiFi(wireless fidelity)用戶進行連接。根據802.11標準,即使用戶周圍存在很多AP,WiFi用戶始終會選擇性能最強的AP與RSSI關聯[6]。此外,攻擊者可以發起取消身份驗證攻擊,以迫使正常的WiFi用戶與合法AP解除關聯并連接到惡意雙胞胎AP[7]。最后,惡意雙胞胎AP通過合法AP將WiFi用戶數據轉發到Internet。通過惡意雙胞胎AP將用戶數據發送到Internet時,惡意雙胞胎AP可以嗅探數據以竊取敏感信息[8]。

圖1 惡意雙胞胎攻擊模型Fig.1 Evil twin attack model
惡意雙胞胎攻擊很容易發動,并且惡意雙胞胎攻擊也很容易成功[3]。當用戶接入惡意雙胞胎AP時,攻擊者就能夠竊取用戶的流量,并發起一些攻擊,比如攔截、重播、流量操縱。
攻擊者可以向用戶發動中間人攻擊[9],即使用戶在設備中使用類似SSL(secure socket layer)的加密方式,也可能遭到攻擊并造成財產損失。攻擊者使用惡意雙胞胎AP充當中間人,使用類似SSLstrip2的工具來解密流量,之后使用burpproxy來生成假證書,獲取用戶的信任。最后,攻擊者就能夠解密流量,修改流量,并劫持會話。
攻擊者還可以向用戶發動DNS(domain name system)欺騙攻擊。當用戶請求某個域時會接收到錯誤的IP(internet protocol)地址,這導致用戶訪問惡意網址,而不是實際的網址。攻擊者可以通過惡意網站獲取用戶個人敏感信息,并通過這些信息假冒用戶進行欺詐性金融交易。目前惡意網站形式多種多樣,主要有兩種詐騙形式:第1種是冒充官方中獎網站,誘騙用戶填寫個人信息;第2種則是高仿在線支付網頁,導致用戶誤操作。
此外,移動操作系統,如IOS(iPhone OS)或Android,也都可以用來搭建惡意雙胞胎AP。當攻擊者使用智能手機發動這種攻擊時,用戶很不容易防備。惡意雙胞胎AP幾乎復制了合法AP的所有特征,使得這種攻擊更難被發現。導致用戶在毫無防備的情況下被攻擊者攻擊并被竊取敏感信息,例如密碼、Web會話、信用卡信息等。
1)KNN。K近鄰算法中的k是一個正整數,通常很小。在分類或回歸中,輸入將由空間內最近的k個訓練示例組成。鄰居的數量k通常通過交叉驗證來選擇,通過距離或不相似度量找到最近鄰居。這通常通過將對象視為多維特征空間中的點或位置向量來計算。
2)SVM。對于支持向量機算法,給定一組標記的訓練數據,SVM模型將實例映射到屬于x或y類別的數據點,并在它們之間創建一個超平面,充當決策邊界[10]。然后,通過新的數據屬于超平面的哪部分,對新數據進行標記。該算法在處理小型數據集時特別有效。處理較大的數據集時,可能需要一些時間來處理結果。最大化邊際可以表述為下面的優化問題,如公式(1)所示:

3)LR。邏輯回歸算法易于解釋且用途廣泛,非常適合于可解釋性和推理至關重要的應用程序,例如欺詐檢測。如公式(2)所示:

4)NB。樸素貝葉斯算法是一種預測建模算法。樸素貝葉斯模型假設每個輸入變量都與其他變量無關。它將具有屬性值A1=v1,A2=v2,…,Am=vm的實例x分配給具有最大后驗概率P(Ci(Ci|(v1,v2,…,vm)))的所有i,如公式(3)(4)所示。

為了更加直觀地描述4種分類器的檢測性能,構建了混淆矩陣[11]。如表1所示,如果一條數據是惡意的,并且它被預測為惡意的,則將此事件記為真陽性(TP);然而,如果一條數據是惡意的,卻被預測為良性的,則將此事件記為假陰性(FN)。同理可知,假陽性(FP)和真陰性(TN)。

表1 混淆矩陣Tab.1 Confusion matrix
本文使用了true positive rate(TPR)、false positive rate(FPR)、F-measure(FM)、accuracy(ACC)、recall(REC)、precision(PRE)、area under curve(AUC)7種性能指標來評估分類器的檢測性能[12],如公式(5)~(10)所示:

其中,receiver operating characteristic(ROC)曲線下的面積和與AUC的值相等[13],如公式(11)所示:

首先通過連接合法AP獲得正常的接入設備信息,之后通過連接惡意雙胞胎AP獲取異常的接入設備信息。通過對管理幀中的信標幀主體進行解析提取,得到特征指紋信息,結合機器學習,實現對惡意雙胞胎攻擊的檢測。
惡意雙胞胎攻擊檢測模型主要由4個模塊構成:數據收集模塊,預處理模塊,訓練模塊,分類器驗證模塊。簡要流程如圖2所示。

圖2 攻擊檢測流程Fig.2 Attack detection process
本文選擇的惡意雙胞胎攻擊檢測方法是基于機器學習模型,主要的技術難度在于數據幀的收集、解析和處理。本次實驗所需要的特征指紋主要提取自802.11協議中的管理幀中的信標幀[12]。對于不同的設備,在其配置信息上會有一些不同,例如MAC地址或者無線網卡驅動等,正是由于這些區別,可以通過提取特征字段的方式來區分是否為惡意雙胞胎AP。下面介紹特征指紋。
1)管理幀結構。一般來說,管理幀的格式不會發生變化,只是特定字段的內容有所不同[13]。其中,管理幀頭主要由一些固定的字段構成,如序列控制、BSSID等。管理幀結構如圖3所示。

圖3 管理幀結構Fig.3 Manage frame structure
2)信標幀主體。無線AP定期發出信標幀(beacon幀),通告其他設備此AP是可用的,并且包含連接到網絡所需的所有必需信息[14]。正是由于信標幀的這些特點,可以從中提取很多關于AP的特征信息。信標幀主體信息如表2所示。

表2 信標幀信息Tab.2 Beacon frame information
3)特征指紋分析。通過對信標幀主體的分析,選擇以下特征指紋信息:MAC(mandatory access control),RSSI,Supplier,Country,Dns_delay。
MAC:每個無線設備的唯一標識符[15]。一般而言,如果攻擊者不特意偽造和合法AP相同的MAC地址,則惡意雙胞胎AP和合法AP的MAC地址不同。因此,可將此字段作為特征信息。
RSSI:網絡的信號質量以RSSI來衡量,通常以分貝(dB)或類似的dBm(dB/mW)表示,其中較小的負數表示最高信號量[16]。因此,可將此字段作為特征信息。
Supplier:這一字段表示供應商信息。一般來說,合法AP和惡意雙胞胎AP的供應商信息不一定相同。因此,可將此字段作為特征信息。
Country:這一字段表示當前AP無線路由器所在的國家信息。不是所有AP發送的信標幀都包含此信息。一般來說,大型商場、企業、校園WiFi中的Country字段是存在的,因此,可以將有無此字段作為特征信息。
Dns_delay:這一字段表示用戶設備連接AP的DNS時延,由于惡意雙胞胎AP在合法AP和無線網絡間中繼流量,所以連接惡意雙胞胎AP的DNS時延會高于連接合法AP的DNS時延。因此,可將此字段作為特征信息。
最后是分類器的訓練與分類效果的驗證階段,對70%的數據進行訓練,選取剩余30%的數據作為測試集,驗證分類效果。
本實驗通過分別連接合法AP和惡意雙胞胎AP,利用數據收集模塊和預處理模塊將合法AP的特征指紋和惡意雙胞胎AP的特征指紋存入文件中,并對每條數據打上標簽。總共收集了超過3 000條數據,作為本實驗的數據集。
實驗環境如下:硬件環境為DELL靈越7559筆記本電腦,8 GB內存,500 GB硬盤,1 T服務器硬盤,WA102155無線網卡。軟件環境為Windows 7操縱系統,Python語言。
在實驗中,選取70%的數據作為訓練集,選擇MAC、RSSI、Supplier、Country、DNS_Delay作為特征屬性,使用4種機器學習算法進行訓練,得到分類器,剩下的數據用來對分類效果進行驗證。為了使各個分類器的分類效果達到最優,具體的實驗參數設置如下,對于KNN分類器,超參數k設置為3,明可夫斯基距離對應的參數P為2;對于SVM分類器,核函數kernel設置為rbf,懲罰系數C設置為1,核函數系數gamma設置為0.01;對于LR分類器,優化算法選擇參數solver設置為liblinear,正則化強度C設置為0.8;對于NB分類器,拉普拉斯平滑參數alpha設置為1,布爾型可選參數fit_piror設置為默認值True。
實驗得到不同分類器的分類性能指標,如表3所示。

表3 不同分類器的分類性能指標Tab.3 Classification performance index of different classifiers
下面在圖4給出檢測率對比。
從實驗中可以看出,4種分類器的異常檢測率都有所不同,其中KNN分類器的檢測率為0.905,SVM分類器的檢測率為0.964,LR分類器的檢測率為0.942,NB分類器的檢測率為0.925。4種分類器的檢測率都高于0.900,檢測效果良好,誤報率低。可以得出,選擇MAC、RSSI、Supplier、Country、DNS_Delay 5種特征屬性結合常見的機器學習算法來檢測惡意雙胞胎攻擊的方法是可行的。此外,實驗不需要額外的設備,成本低,適用于各種場所,且不受環境影響,具有高普適性。
對第2組實驗,使用不同數目的特征,分別使用上述4種分類器進行分類,得到各個分類器的檢測率。如圖5所示,隨著特征維度的增高,分類器的FPR逐漸降低,各個分類器的準確度逐漸增高。

圖5 特征數量和FPR的關系Fig.5 The relationship between characteristic number and FPR
隨著無線技術的發展,如今人們已離不開無線網絡。因此,無線網絡安全性的保證是必須要解決的問題。本文詳細介紹了惡意雙胞胎攻擊的原理及危害,然后提出了基于數據特征的檢測方法,通過對802.11協議中的管理幀中的信標幀進行解析,提取得到特征指紋MAC、RSSI、Supplier、Country、Dns_delay。分別使用KNN、SVM、LR、NB 4種算法實現分類,將其結果進行對比。實驗結果表明,4種分類算法均達到90.0%以上的準確率,其中SVM分類算法更是達到96.4%,該檢測方法在檢測惡意雙胞胎攻擊方面有較高的準確性。