陶 敏, 關勝利, 崔鵬飛
(1.中國南方電網超高壓輸電公司廣州局,廣州510003;2.廣州高瀾節能技術股份有限公司,廣州510663)
作為現代社會最重要的基礎設施,交通系統的效率影響了居民生活質量。隨著交通流量的增加以及道路車輛數的激增,交通事故頻繁發生[1-2]。如何有效地提高道路安全是交通系統亟待解決的問題。
車聯網(Vehicular Ad hoc Networks,VANET)已成為智能交通系統(Intelligent Transportation System,ITS)的重要組成部分[3]。VANET利用車輛間(Vehicle-to-Vehicle,V2 V)和車輛與路邊設施(Road Side Unit,RSU)通信,提高道路行駛安全。
多數VANET應用均涉及到行駛安全。在VANET內實施相應的安全機制顯得尤為重要。由于車輛的快速移動及無線通信的特性,相比于傳統網絡,VANETs容易遭受各類攻擊。為確保VANET的安全,研究人員提出各類安全機制。多數安全機制來自IEEE或ETSI推薦的標準。
IEEE 1609.2標準[4]為車載環境(Vehicular Environment,VE)設備的無線接入定義了安全消息格式。與IEEE標準不同,ETSI標準并沒有將安全設備定義成管理平臺[5]的子函數。ETSI TS 102 941標準[6]定義了信任管理和隱私管理機制,利用這些機制支持或者實現ITS系統的安全。
通常,這些安全機制可基于3種模式構建:加密算法、公鑰基礎設施和安全認證。這些安全機制能夠實現車載通信環境中消息的認證和完整性。車載網絡容易遭受Sybil攻擊[7]。一個惡意節點同時使用不同的假名,就容易發生Sybil攻擊。每個假名偽裝成一個虛擬節點(Virtual Node,VN)。
在車載網絡中,Sybil攻擊對網絡層和應用層均有影響。由于網絡層采用了CSMA/CA機制,多個虛擬節點間的連接,過多地占用信道資源。在應用層,虛擬節點也參以與其他ITS設備的通信。在這種環境下,當惡意節點同時使用多個假名時,這些假名產生的虛擬節點通過向良性節點廣播虛假安全消息,發起攻擊。一些安全機制采用了投票機制[8]。惡意節點利用產生多個虛擬節點進行惡意投票。
基于車輛行駛模型的Sybil攻擊檢測(Driving Pattern based Sybil AttackDetection,VDP-SAD)算法??紤]到虛擬節點不得不避開良性節點捕獲的位置,這些虛擬節點的行駛模型可能是雜亂的,不穩定的。尤其是在動態的車載環境,它們的行駛模型極不穩定、不成形的。因此,VDP-SAD算法通過評估車輛行駛模型的相似性,檢測Sybil攻擊。
車聯網主要由車輛、路邊單位(Road-Side Units,RSU)構建,如圖1所示。每輛車上安裝一個車載診斷系統(On-Boart Diagnostic,OBD)[9]。利用OBD,車輛能夠與其他車輛、RSU進行通信。每輛車中的OBD具有防攻擊設備(Tamper Proof Device,TPD),存儲相關的數據。在VANET中,車輛通過交互Beacon包與其鄰居節點交互信息,獲取鄰居車輛的信息。車輛在一跳通信范圍內以周期T=100 ms廣播Beacon包,其主要包含車輛的身份,位置,速度和加速度。

圖1 系統模型示意圖
在道路邊上部署RSU。這些RSU為車輛提供服務。每個RSU采用短程無線通信技術(Dedicated Short Range Communications,DSRC)協議[10]與其覆蓋范圍內的車輛通信。
若一輛車在一段時間內使用幾個假名,從OBD和RSU角度,每一個假名都是一輛車。原因在于:每個有效的假名都擁有它自己的密鑰對。因此,一輛車輛利用它的不同假名虛構多個身份(虛擬節點),進而發起Sybil攻擊。
通常,車聯網中的Sybil攻擊有兩個過程:虛擬節點產生過程和攻擊發起過程。依據ETSI的標準,在虛擬節點產生過程中,虛擬節點利用協作感知消息(Cooperative Awareness Messages,CAM)使OBD和RSU[11-12]知曉自己;在攻擊發起過程中,虛擬節點利用集中環境認知消息(Decentralized Environmental Notification Message,DENM)向RSU報告虛假的道路信息。
如圖2所示,Vm是惡意節點,Vb為良心節點,Vυ是由Vm利用它的假名產生的虛擬節點。依據ETSI標準,Vυ通過傳輸CAM使系統內的其他車輛和RSU知曉自己,再通過傳輸DENM向RSU報告虛假的道路消息。

圖2 Sybil節點的攻擊模型
VDP-SAD算法就是聚集于虛擬節點產生過程,其先檢測虛擬節點,再排除這些虛擬節點。
當車密度很高時,車輛行駛模型存在很明顯的相似性。VDP-SAD算法利用行駛模型的特征值表述車輛行駛模型,構建行駛模型矩陣,計算每個行駛模型矩陣的特征值,檢測Sybil攻擊節點。
VDP-SAD算法引用行駛模型矩陣(Driving Pattern Matrix,DPM)表述車輛在一段時間內的行駛模型,并利用DPM的特征值估計相似性。
因此,車輛?i在時間段( t1,tn)區間的DPM可表示為:

若矩陣Mi滿足式(2),則矩陣Mi有一個特征矢量x和相應的特征值λ:

在時間段( t1,tn)內,對于任意車輛?i的DPM的Mi,先構建矩陣·Mi,其滿足式(3):


遵循特征值快速下降的事實。VDP-SAD算法以降序對特征值進行排序[13]。取排序后的前5個值,并利用這5個特征值表述分類器內的原始DPM的特性。
從5個特征值中選擇2個最大的特征值,這2個特征值分別表示:

將車輛?i在一段時間內的行駛模型表述成二維平面上一個點,這2個特征值是這個點的坐標。
用兩個矢量νi、νj分別表述車輛?i、?j的行駛模型,其中這2個矢量的明氏距離(Minkowski Distance,MD)為:

在測量明氏距離過程中,常將q取1或2。若q=1,則MD為曼哈頓距離;若q=2,則MD就為歐式距離。
矩陣的特征值是一組非負的實數??烧J為矩陣相似性與特征值相似性之間存在正相關性。利用曼哈頓距離評估特征值間的相似性,檢測Sybil攻擊。
系統內存在N輛車,便可形成N個矢量νi,且i=1,2,…,N。用這N個矢量νi構成N行2列矩陣:

計算矩陣S第1行的矢量νi與中值矩陣e=的MD距離。令νi表示矩陣S的i行,其表示車輛?i的行駛模型。如果νi與MD距離d νi,( )e大于預定的閾值dth,則車輛?i被判定為惡意節點。
算法1給出檢測Sybil攻擊的流程。
收集N輛車的Beacon消息,并構建在( t1,tn)時間內每輛車的DPM。計算車輛?i的DPM Mi的特征值,如算法1 step2所示。依據式(5)計算2個最大的特征值,并構建矢量νi。
在Windows 7操作系統、8 GB內存,core i7 CPU的PC上進行實驗仿真。采用交通仿真軟件SUMO(Simulation of Urban Mobility)1.2.0進行仿真。SUMO是一個開源、微觀、多模態交通仿真模擬軟件,集成了車輛行駛規律,車輛駕駛行為、駕駛習慣、路徑選擇等內容,可以產生逼真的交通仿真場景。
采用都市交通場景,仿真場景為Manhatan Grid4×4。道路長為1 km,每條道路為雙向2車道,具體的仿真參數見表1。

算法1 檢測Sybil攻擊輸入:Beacons from vehicles輸出:ID of malicious nodes Step1:for i=1 to N do for t=1 to n do Construct the DPM for each vehicle within n seconds Get Mi end for Step2:Calculate the eigenvalues of Mi Step3:Calculate the vector of→νi Step4:Construct matrix S and compute→e end for Step5:for i=1 to N do Calculate the MD d(vi,ei)between vi and ei if d(vi,ei)>dth Output the IDs of maliciousnodes end if end for

表1 仿真參數
分析VDP-SAD算法在不同的車流量密度環境下,檢測Sybil攻擊的準確率,簡稱為檢測準確率,等于檢測的Sybil攻擊節點數與總的Sybil節點數之比。引用變量ρ,其表示Sybil攻擊節點的百分比。
圖3給出了ρ=1%、5%,10%、15%和20%環境下的VDP-SAD算法的檢測準確率。由圖3可知,Sybil攻擊節點的百分率ρ的增加,使檢測攻擊節點的準確性下降。原因在于:百分率ρ越大,網絡內存在的Sybil攻擊節點數越多,這就加大了檢測Sybil攻擊節點的難度。

圖3 檢測率隨ρ的變化情況
車流量密度的增加不利于提高對Sybil攻擊節點檢測的準確率。例如,當ρ=15%時,車輛數N=400的檢測準確率為99.7%,當車輛數增加至N=800,檢測準確率降低至94.71%。
圖4給出了ρ=10%時的接受者操作特征(Receiver Operating Characteristic,ROC)。ROC也反映了檢測Sybil攻擊節點的準確性。ROC曲線上的每個點反映了2個指標:真陽性率(True Positive Rate,TPR)和虛警率(False Positive Rate,FPR)。FPR表示將良性節點誤判為惡意節點的概率。

圖4 ROC曲線
由圖4可知,VDP-SAD算法具有低的FPR和高的TPR。在所有情況上,VDP-SAD算法能夠檢測90%以上的Sybil攻擊節點。此外,車流量密度對ROC曲線存在一定影響。原因在于:車流量密度越大,降低了車與車之間的距離,使車與車之間的行駛模型更相似,這也有利于檢測Sybil攻擊節點。
選擇文獻[14]中提出的SRSUIM算法和文獻[15]中的GSF算法作為參照,對比SRSUIM算法、GSF算法和VDP-SAD算法的檢測性能。采用攻擊檢測率、誤檢率和漏檢率3個指標評估檢測Sybil攻擊節點的性能[16]。其中檢測率等于檢測的Sybil攻擊節點數與總的Sybil攻擊節點數;誤檢率等于將Sybil攻擊節點數誤判為良性節點數與總的良性節點數之比;漏檢率等未能識別的Sybil攻擊節點數與總的Sybil攻擊節點數之比。圖5所示為SRSUIM、GSF和VDP-SAD算法的檢測率、誤檢率和漏檢率性能。

圖5 SRSUIM、GSF和VDP-SAD算法的性能
由圖5可知,相比于SRSUIM算法和GSF算法,VDP-SAD算法在檢測率、誤檢率和漏檢率性能存在優勢。SRSUIM算法是通過節點影響力分析檢測Sybil攻擊節點;GSF算法是引用社交關系檢測Sybil攻擊節點。給合檢測率、誤檢率和漏檢率3個指標可得到結論,本文提出的VDP-SAD算法具有較好的檢測性能。
針對車聯網中的Sybil攻擊問題,提出了基于車輛行駛模型的Sybil攻擊檢測VDP-SAD算法。VDP-SAD算法利用車輛行駛模型的相似性,檢測車聯網中Sybil攻擊節點。利用車輛的移動信息構建車輛行駛矩陣,計算這些矩陣的特征值,然后利用特征值表述車輛行駛模型的相似性。仿真結果表明,VDP-SAD算法檢測Sybil攻擊節點的準確率保持在90%。
考慮智能的攻擊節點,提高檢測算法的有效性和拓展性。這些智能攻擊節點通過偽裝合理行為,進而逃避檢測。