柴艷娜,李坤倫,宋煥生
(長安大學 信息與網絡管理處,陜西 西安 710064)
在信息世界里,入侵檢測系統(Intrusion Detection Systems,IDS)的經典定義便是監控流量進出網絡的安全系統[1]。但是隨著系統變得越來越復雜和越來越連通,越來越多復雜巧妙的入侵行為被發現,并且已不僅僅局限于信息世界。信息物理系統(Cyber Physical Systems,CPS)便是信息世界和物理世界相遇的地方,它們通常是IT系統或網絡與電子機械部件的混合物,典型的例子有各種車聯網系統[2]、遠程手術機器人[3-4]和智能電網[5-6]。
信息物理系統的攻擊可以損害到真實世界,將成為未來世界的一個重大安全隱患,且隨著工業4.0的逐步實現而威脅日益變大。信息物理系統的簡單網絡攻擊都可能在復雜互聯互通的系統里產生一連串故障。
包括計算機網絡[7]在內的所有已知攻擊手段,都可能被用于攻擊網絡控制類型的信息物理系統,生活中有諸多這類系統的例子,如新車包括智能汽車,都使用控制器局域網絡(Controller Area Network,CAN)總線來連接不同的微控制器以管控汽車的物理零部件。隨著車聯網(Internet of Vehicles,IoV)和汽車自組網[8](Vehicular Ad-hoc NETworks,VANET)的出現,汽車與外界的連接愈發普遍,如OTA(Over The Air)軟件更新和信息收集,這種安全挑戰就變得更有壓力[9]。2015年7月,兩名黑客演示了如何遠程侵入和控制一輛2014款Jeep自由光,利用連接移動數據網絡的車載娛樂系統Uconnect的漏洞[10-11],他們成功給汽車刷入帶病毒的固件,并向控制器局域網絡總線發送指令控制汽車,最終迫使菲亞特克萊斯勒集團之后宣布召回140萬輛汽車返廠升級系統。此類事件提醒研究人員要多關注車聯網的安全性[12]。
越來越多的汽車正在依賴于網絡化控制系統,當其總線或沖突域(Collision Domains)與連接到互聯網的部件共享或者有路由進行連通時,安全隱患便隨之而來。通過一些軟件定義網絡(Software Defined Network,SDN)進行隔離是最佳的手段,但是也擴大了遭受攻擊的范圍,任何錯誤的配置信息都可以打開進入智能汽車內部的渠道。
傳統的入侵檢測系統用于發現計算機網絡的異常行為,但是在信息物理系統中,單純分析流量而不清楚每個數據包作用于物理系統的實際效果,是不能判別其惡意的。
文獻[13]將信息物理系統安全風險進行分類,并定義了隱蔽攻擊(Covert Attacks)這一新類型。隱蔽攻擊是欺騙攻擊(Deception Attacks)的子集,攻擊者獲取信息物理系統部分組件的控制權,同時試圖讓攻擊影響足夠小,從而讓人無法觀察到異常。隱蔽攻擊分為兩種:一種是試圖讓物理部件產生持續平穩的錯誤輸出,隨著時間來逐步消耗系統的服務性能;另一種則是短暫的影響系統輸出,間隔一段時間重復發生以達到相同的效果。
假定自適應巡航控制(Adaptive Cruise Control,ACC)系統是易于遭受攻擊的,筆者提出兩種針對A自適應巡航控制系統的隱蔽攻擊:第1種攻擊里,當實驗汽車降低車速時,攻擊者立刻操作巡航控制器使汽車產生突然加速,試圖產生事故或者增大事故概率;第2種攻擊則是攻擊者接管控制權,讓巡航控制器不斷產生控制信號,降低實驗汽車與前車的安全車距,從而增大事故風險。然后,設計一套盡可能準確模擬巡航控制系統響應的觀察方法,利用其所訓練的參考模型,提出針對這兩種隱蔽攻擊的入侵檢測機制。當檢測到與預期行為偏差巨大的情況時,入侵檢測系統便觸發警告,并切換到內置于補償系統的故障安全控制器(Fail-safe Controller)。
為了評估檢測和補償機制的效果,筆者在MATLAB Simulink平臺上進行了廣泛的模擬實驗。結果表明,檢測機制可以成功地發現對自適應巡航控制系統的隱蔽攻擊,而相較于沒有采用任何保護機制,由P控制器(P-controller)所構成的補償器也很明顯地降低了對系統攻擊所造成的影響。
自適應巡航控制根據控制目標不同,其相應的模型也不同,分別如圖1(a)和圖1(b)所示。假設有汽車1和汽車2行駛于同一車道,汽車1安裝有自適應巡航控制系統,同時也安裝有雷達可以測量與前車汽車2的距離。另外,兩車相對速度也可以由傳感器和雷達測量所得。自適應巡航控制系統的控制目標便是讓車輛以駕駛者設定的速度行駛且與前車保持安全車距。

圖1 自適應巡航控制系統的不同工作模式
自適應巡航控制系統有兩種模式控制汽車1。第1種模式是速度控制模式,汽車1的速度被設置為駕駛者預設值,同時與前車保持系統認定的最小距離;第2種模式是距離控制模式,自適應巡航控制會動態調整汽車1的速度以控制兩車之間的距離,確保車距不小于安全值。根據實時測試,自適應巡航控制系統可以根據條件自行激活某一模式,如果相對車距明顯減少,則自適應巡航控制系統會從模式1切換到模式2;反之,如果相對車距大于某個閾值,自適應巡航控制系統便從模式2切換為模式1。所以自適應巡航控制系統會根據下述規則設定其執行模式:
(1) 如果Dr≥Ds,速度控制模式被激活,則保持巡航設定速度Vc是其控制目標。
(2)如果Dr (1) Dr(t)=x2(t)-x1(t), (2) 其中,Fv是后車的速度函數,表示其如何行駛,其距離前車的距離是Dr。式(1)可以從汽車上路的傳感器數據學習得到,或者從駕駛行為中推理可得。此一階模型主要的缺點是,沒有考慮汽車慣性對速度的影響。所以根據牛頓力學原理改進而來的二階模型如下: (3) 其中,vr是兩車相對車速。式(3)將后車的加速度抽象為相對車距,相對車速和后車速度的非線性函數,其中實際上暗含了兩個模型,即跟車模型和最優速度模型。跟車模型可以表示為 (4) 最優速度模型可以表示為 (5) 其中,α和β是常量。可以看出,跟車模型中需要考慮與前車的相對速度,最優速度模型表明最優速度要與給定車間距x2-x1相符合。將兩個模型組合起來便是式(3)所示模型,即 (6) 前后兩車的模型動力學是相同的,則汽車加速度與本身速度之間的動態關系在拉普拉斯空間中都可表示為 (7) 上述公式實際上近似描述了節氣門和車輛慣性之間的動態性。 自適應巡航控制系統的輸入是駕駛者設定的巡航速度Vc,兩車之間的時間差為Tgap,車輛本身速度為V,與前車的相對距離為Dr,以及與前車的相對速度為Vr。輸出則是車輛的加速度。ACC系統判定所需的前后兩車之間的安全距離[14]可表示為 Ds=Ddefault+TgapV, (8) 其中,Ddefault是默認停頓距離。自適應巡航控制系統的輸入、輸出構成了用于系統訓練和識別的車輛動力數據。 文中將研究兩種針對自適應巡航控制系統的攻擊場景,對其兩種模式不同的控制目標所造成的影響。根據定義,這些攻擊都會是隱蔽的。攻擊會擾亂自適應巡航控制系統并更改其輸出,即攻擊者可以擾亂車輛的加速度,改變車輛的正常運行。 (1) 攻擊場景1。第1種隱秘攻擊從破壞自適應巡航控制單元開始。攻擊者保持靜默等候,讓自適應巡航控制系統正常工作,并密切監控車輛與前車的距離。當該距離達到最低點(大約接近最小安全距離)時,攻擊者控制自適應巡航控制單元在控制信號中產生一個波峰,使車輛突然加速,試圖通過臨時將車距降低至低于標準,或將車速提升到超過上限,使得事故發生的可能性增加。當前車突然剎車,且受損的自適應巡航控制拒絕降低車速時,也可能發生類似的事故。 (2) 攻擊場景2。跟第1種攻擊類似,攻擊者一樣會破壞自適應巡航控制單元,不同的是攻擊者不會像第1種場景里伺機而動打伏擊,而是細微地降低自適應巡航控制的參考距離即安全車距Ds。因此,在自適應巡航控制處于模式2,并試圖保持安全距離時,它實際上是在遵循一個錯誤的參考,使得車輛事實上更接近前車。然而,這種差異對于駕駛者是難以發現的,因此攻擊仍然是隱蔽的;不過,所導致的結果卻并非微不足道。從統計上講,還得取決于路況(濕的或干的路面),前后車輛的制動力以及駕駛者的反應時間,無論如何,這種攻擊都讓事故發生的機會大大增加。 圖2 智能識別器工作模型 檢測和反應時間的準確性是CPS安全性中的重要問題。反應時間對于防止程序失敗至關重要。早期檢測增加了讓補償器保持CPS性能的機會,因此文中提出用于發現上述隱蔽攻擊的新型入侵檢測系統。 假設有一個初始安全期,在此期間,識別器可以學習整個車輛系統的動力模型,這可以是簡單的線性系統傳遞函數識別。初始安全期的假設并非是不合理的,因為車輛在出廠的時候并不會被黑客攻陷或者蠕蟲病毒感染。因此可以假設如果有任何攻擊,則均發生在Tattack之后。并且可以在安全期內運行智能識別器,用于構建系統模型。文中使用人工神經網絡作為智能識別器,分為訓練階段和識別階段,如圖2所示。 2.2.1 特征提取 特征是自適應巡航控制運行狀態的一個抽象表示,特征的設計要顧及計算的效率和可行性。特征是從大量的車輛運行動力數據提取出自適應巡航控制有關部分,從這些數據中再直接提煉出特征。不論是車輛本身的速度還是自適應巡航控制的加速度輸出,都是時域連續的模擬信號量,需要以時間為維度將其量化成一組組離散數據,用微小的時間段進行切分。在某一時間t,巡航預設速度為Vc,并假定自身車速V和兩車時間差Tgap、車間距Dr及相對車速Vr等確定的情況下,自適應巡航控制輸出的加速度必然落在一個可預測的小范圍Oacc內;這個范圍的大小可以用統計數據進行確定。因而特征問題便是自適應巡航控制輸出加速信息的概率分布問題,即 pt=P(t,Vc,V,Tgap,Dr,Vr,Oacc),pt∈R7, (9) 其中,P(v)表示車輛行駛中向量v出現的概率,且有 p=L(pt), (10) 其中,L是邏輯函數。如果P(v)大于一半,則概率被映射為1;否則,概率被映射為0。 設pv是向量v經式(10)簡化后的數據向量,則在時間t的特征向量V可以表示為 V(t)=pv(t)⊕pv(t-1), (11) 其中,⊕是對向量中每個維度進行異或操作。 2.2.2 模型訓練 訓練階段需要大量數據和時間,所以需要在初始安全期內離線運行。訓練時,首先自適應巡航控制的動力數據從生產車間收集,處理并提取出特征,代表自適應巡航控制運行狀態的統計學行為;然后以監督學習的方式,每組用于訓練的動力數據都有一標簽信息表示車輛是否正常,特征與標簽之間一一對應;最后使用深度神經網絡(Deep Neural Network,DNN)模型訓練特征,獲取可用的參考模型的權重系數W作為識別比對的依據,權重系數W是個包含誤差概率的數組,如圖3所示。 圖3 改進的DBN模型 學習模型為監督學習模型,使用反向傳播算法的神經網絡在進行梯度下降優化時,由于梯度消失問題的存在會變得低效[15],而深度置信網絡(Deep Belief Network,DBN)作為一個概率生成模型,其在底層數據之上增加了幾層隨機隱藏單元,可以有效解決梯度消失問題[16-17]。DBN是一個無監督學習模型,其典型結構如圖3(a)所示。因此,將包括標簽信息在內的最終分類層添加到DBN模型的頂層,構建判別型(Discriminative)深度學習模型,圖3(b)是文中改進的模型,它是擁有一個輸入層,多個隱藏層和一個輸出層的多層網絡,其中的每個節點都以ReLU(Rectified Linear Unit)函數為激活函數。由于標簽信息Y的存在,改進后的模型便成為了一個從底向上監督學習方式訓練的深度前饋模型。需要強調的是,深度前饋模型中DBN結構部分中的隱藏節點權重Wi來自于原始DBN的無監督預訓練,這些參數只用于初始化權重,并在隨后模型訓練中用梯度下降方法對這些參數進行優化調整。 設訓練數據集有K個采樣{(v1,y1),(v2,y2),…,(vK,yK)},v是特征向量,y是其對應的標簽信息。特征向量v從底部的可見層節點輸入神經網絡,并且初始的權重已經通過原始DBN學習得到,然后權重便會被逐漸優化,所以可以簡單地將預測值與輸出值的均方誤差作為學習成本,即成本函數C: (12) 其中,w是所訓練網絡的權重集合,y是標簽信息,hw(v)是產生預期輸出的假說函數。所以整個數據集的訓練總成本為 (13) (14) 在反向傳播算法中,神經網絡從上層到下層通過隨機梯度方法更新權重向量,即 (15) 其中,ξ是自適應參數。 圖4 模型訓練結果矩陣 利用OCTANE(Open Car Testbed And Network Experiments)[18]生成200 000個測試數據對模型進行測試訓練和驗證,在Nvidia GTX 1080 TI GPU上訓練該網絡200 epochs大約需要6 h。最后的模型輸出結果矩陣如圖4所示。 驗證結果顯示,該模型檢測性能優異,總體準確率約為97.8%,假陽性錯誤率約為1.6%,假陰性錯誤率約為2.8%。 2.2.3 異常識別 圖5 用于ACC系統的入侵檢測和補償機制 本研究以模型預測控制(Model Predictive Control,MPC)系統[19]為主要的ACC核心,MPC系統以正常模式控制車輛,使用系統線性模型、擾動和噪聲模型來估計控制系統的狀態,并預測系統未來的輸出。通過使用預測的輸出,MPC解決了二次規劃的優化問題,為變量提供了最佳調整。MPC系統結構如圖6所示。 圖6 模型預測控制系統 IDS持續監測著ACC系統的行為,如果檢測到異常,則意味著已發生攻擊。因此,IDS從主控制系統切換到補償器,以減輕攻擊對車輛的影響。補償器是PID控制系統,因為該控制器家族在工業中應用普遍,而且將其內嵌入系統的成本很低。在類似工業案例研究中[20-21],由于P控制器響應快,無震蕩,因此本文使用P控制器補償前述隱蔽攻擊場景的影響。 在MATLAP Simulink搭建文中所提出的入侵檢測機制和補償策略,模擬平臺上使用以下參數初始化運行環境:后車汽車1和前車汽車2的初始位置分別為x0,1=10 m和x0,2=50 m;兩車的初始速度為v0,1=20 m/s和v0,2=25 m/s;另外,假定Tgap=1.4 s,Ddefault=10 m,vc=30 m/s,a1,min=-3 m/s2,a1,max=2 m/s2。 智能入侵檢測系統運行結果如圖7所示。在兩種場景下,攻擊都是在t=40 s發起的。觀察實驗結果可發現,IDS警報標記幾乎立即發出。因此,補償系統也在檢測到攻擊后旋即激活。 (a1) 控制信號 (b1) 控制信號 (a2) IDS標記 (b2) IDS標記 如前所述,第1種隱蔽攻擊與ACC的速度控制目標有關。剛好在t=40 s時,前車減速且車間距變小,攻擊者發動攻擊給后車加速,如圖7(a)和圖8(a)所示,因而兩車之間的距離暫時小于安全距離。攻擊可以重復發起,圖中只展示了一個攻擊行為。在40 s之后速度的增加和車距的減少都不夠大,不足以引起駕駛者的察覺,因此該攻擊是隱蔽的。然而事故幾率卻增加了,特別是在攻擊發生的短時間內。由于IDS的存在,自適應巡航控制系統在攻擊被發現時由內置的P控制器接管,攻擊大約在200 ms后很快被檢測到。從圖8(b)可以看出,車輛在t=40.2 s之后設法恢復正常運行,因為IDS已經把受感染的控制器從系統環路中隔離,并激活內置補償器,讓其接管控制權。 在第2種隱蔽攻擊中,攻擊者試圖擾亂自適應巡航控制系統的參考體系(如作為系統參照對比的安全距離),尤其是自適應巡航控制工作于模式2,以便讓車間距離保持低于安全距離。IDS對此攻擊的反應如圖7(b)所示。由于是隱蔽攻擊,所以如圖9(a)所示,駕駛者很難察覺到加速度的細微波動,然而兩車之間的相對距離卻逐漸變小,大約60 s后車間距縮小了近5 m。與50 m相較,這個變化對駕駛者不明顯,但明顯增加了事故幾率,特別是前車急剎車時。與之前場景類似,如果補償器在收到IDS信號后激活介入控制,便能設法克服攻擊帶來的惡劣影響。如圖9(b)所示,攻擊在不到200 ms內再次被檢測到,在一小瞬間的擾動后,車輛恢復良好的運行狀態,系統控制目標得以實現。 仿真模擬結果表明,入侵檢測和補償策略快速有效,它可以確保兩車之間的相對距離不會小于安全距離。 圖8 第1種隱蔽攻擊場景下的系統表現 筆者對智能汽車自適應巡航控制系統中隱蔽攻擊的檢測方法和補償機制進行了研究,介紹了兩種攻擊場景下導致的巡航系統無法正常工作,不能滿足智能汽車對速度和車距控制的要求。提出了人工神經網絡識別器用于學習自適應巡航控制系統并預測其輸出。文中提出的新型IDS將會對比實際自適應巡航控制的輸出和識別器的預測輸出,進而判斷自適應巡航控制行為是否異常。異常由統計度量捕獲,IDS對此產生警告,并切換MPC系統至內置PID控制器。仿真模擬結果證實了文中方法的有效性,它不僅實現了隱蔽攻擊的探測識別,而且也能減輕攻擊對測試車輛性能的影響。 車聯網是多行業深度融合的新型產業形態,是全球創新的熱點和未來發展的制高點,可以預見到其具有未來的廣闊應用空間。隨著汽車電子化水平越來越高和5G的推廣應用,越來越多的汽車子系統將會接入網絡,都可能遭受入侵威脅,安全挑戰壓力巨大,未來研究重點將會放在提升入侵檢測和補償機制的普適性,使其可以應用到更多的汽車組成系統和場景。同時,性能更優秀的神經網絡識別器模型也是研究一大方向。1.1 ACC的數學模型
2 入侵檢測和補償
2.1 隱蔽攻擊場景
2.2 智能入侵檢測






2.3 控制系統和補償策略

3 實驗結果與分析
3.1 智能入侵檢測系統




3.2 隱蔽攻擊的補償——攻擊場景1
3.3 隱蔽攻擊的補償——攻擊場景2

4 結束語