本發(fā)明涉及異常檢測,特別是指一種基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法及裝置。
背景技術(shù):
1、隨著時(shí)代的發(fā)展,汽車的網(wǎng)聯(lián)化、信息化成為車聯(lián)網(wǎng)主要發(fā)展方向,這極大的豐富了汽車的功能,提升了汽車的使用體驗(yàn)?,F(xiàn)代汽車已經(jīng)成為由大量互聯(lián)的嵌入式子系統(tǒng)組成的移動(dòng)信息平臺(tái)。在每個(gè)子系統(tǒng)中,ecu(electronic?control?unit,電子控制單元)控制相應(yīng)的機(jī)械部件,與車身網(wǎng)絡(luò)can(controller?area?network,如控制器區(qū)域網(wǎng)絡(luò))、lin(local?interconnect?network,本地互聯(lián)網(wǎng)絡(luò))等)互連。隨著汽車越來越智能化、網(wǎng)絡(luò)化,使得汽車內(nèi)部的電子控制單元數(shù)量越來越多,電控系統(tǒng)日益復(fù)雜,這些車載電子設(shè)備、電控單元與外界的信息交互也越來越多,而這些車載設(shè)備、電控單元絕大部分都連接到汽車內(nèi)部的總線網(wǎng)絡(luò),使得汽車本身成為一個(gè)復(fù)雜的網(wǎng)絡(luò)系統(tǒng)。車載總線網(wǎng)絡(luò)承擔(dān)了汽車內(nèi)部電控單元間的信息交互,車內(nèi)控制系統(tǒng)的電控單元通過不同的總線網(wǎng)絡(luò)進(jìn)行通信,各個(gè)總線網(wǎng)絡(luò)通過網(wǎng)關(guān)連接,構(gòu)成了車載總線網(wǎng)絡(luò)系統(tǒng)。由bosh公司開發(fā)的can總線因其具有實(shí)時(shí)性強(qiáng)、傳輸距離較遠(yuǎn)、抗電磁干擾能力強(qiáng)、成本低等優(yōu)點(diǎn)成為目前使用最廣泛的車載總線網(wǎng)絡(luò)技術(shù)。
2、can總線設(shè)計(jì)之初,并未考慮信息安全相關(guān)問題,所以僅具備基本的完整性檢查,缺乏信息安全防護(hù)技術(shù)和手段。攻擊者可以通過接入物理接口(例如obd-ii(on-boarddiagnostics–ii,車載診斷系統(tǒng))、媒體播放器等)或者無線接入接口(例如wifi,藍(lán)牙)滲透到連接關(guān)鍵控制單元的車載can總線網(wǎng)絡(luò),通過車載can總線網(wǎng)絡(luò)發(fā)送惡意的攻擊報(bào)文,干預(yù)汽車工況,嚴(yán)重危害車輛駕駛員、乘客及交通參與者的人生、財(cái)產(chǎn)和信息安全。因此,車載can總線網(wǎng)絡(luò)的信息安全問題是網(wǎng)聯(lián)汽車信息安全的關(guān)鍵問題。
3、究其原因,can總線的設(shè)計(jì)具有以下漏洞:首先,can總線缺少信息身份認(rèn)證,即can總線數(shù)據(jù)幀無地址字段,任意惡意節(jié)點(diǎn)都可以偽裝成正常節(jié)點(diǎn)在總線上發(fā)送報(bào)文,接收節(jié)點(diǎn)無法識(shí)別發(fā)送方是否為真實(shí)節(jié)點(diǎn)。其次,節(jié)點(diǎn)發(fā)送數(shù)據(jù)不具備加密功能,很容易地對其進(jìn)行嗅探、欺騙、修改和重放等攻擊。然后,can總線是基于id的仲裁機(jī)制,惡意攻擊者可以利用該機(jī)制,構(gòu)造較高優(yōu)先級(jí)的數(shù)據(jù)幀不斷發(fā)送到總線上,造成dos服務(wù)攻擊。最后,can總線上的帶寬有限,高速can總線的數(shù)據(jù)傳輸速率僅為500kbit/s,數(shù)據(jù)載荷長度最高只有64bit,限制了can總線協(xié)議提供較強(qiáng)的訪問控制功能,為攻擊者攻擊ecu降低了難度。
4、針對上述問題,國內(nèi)外的研究者已經(jīng)對其進(jìn)行了深入的研究。目前的車載網(wǎng)絡(luò)安全解決方案大致可以分為三種方法:消息認(rèn)證、消息加密和入侵檢測。消息認(rèn)證和加密被證明對互聯(lián)網(wǎng)安全是有效的,并提供了一定程度的車內(nèi)安全,但他們在車載網(wǎng)絡(luò)的應(yīng)用中受到ecu計(jì)算性能和實(shí)時(shí)性要求的限制,從而無法有效的保護(hù)總線安全。相比之下,入侵檢測方法是在車內(nèi)進(jìn)行對抗,工作方式被動(dòng),與一些認(rèn)證和加密方法相比,不需要改變現(xiàn)有的網(wǎng)絡(luò)和協(xié)議規(guī)范,是汽車總線入侵檢測主要的研究方向。
5、入侵檢測的兩個(gè)主要研究方向是:基于簽名的方法和基于異常的方法,下面將分別介紹并總結(jié)其不足之處。
6、基于簽名的異常檢測方式是利用已知的攻擊行為從數(shù)據(jù)集中提取特征,并設(shè)計(jì)入侵檢測模型。jin等人【shiyi?jin,jin-gyun?chung,and?yinan?xu,signature-basedintrusion?detection?system(ids)for?in-vehicle?can?bus?network.in?2021ieeeinternational?symposium?on?circuits?and?systems(iscas),22-28may?2021,daegu,korea.】提出一種輕量級(jí)的基于簽名的入侵檢測系統(tǒng),分析了丟棄攻擊(drop?attack)、重放攻擊(replay?attack)和篡改攻擊(tampering?attack)對can總線的影響。為了檢測以上攻擊,文章選擇了五種簽名:id、時(shí)間間隔、相關(guān)性、上下文變化幅度和值范圍。對于id簽名,使用白名單機(jī)制;對于上下文變化幅度和值范圍簽名,使用閾值統(tǒng)計(jì)分析;對于時(shí)間間隔簽名,計(jì)算消息到達(dá)的時(shí)間間隔。通過使用canoe軟件模擬真實(shí)的車輛can總線網(wǎng)絡(luò),并使用重放塊模擬不同的攻擊模式,實(shí)驗(yàn)結(jié)果顯示所提出的ids可以有效檢測丟棄和重放攻擊,檢測率分別為100%和98.2%。但對于篡改攻擊,檢測率只有66.2%。
7、基于異常的檢測機(jī)制是根據(jù)總線上的正常流量的特征進(jìn)行建模,將偏離正常流量的特征的定義為異常流量。在當(dāng)前存在各種類型攻擊的車載網(wǎng)絡(luò)環(huán)境中,基于異常的方法由于其穩(wěn)定的基線特征,比基于簽名的方法更適合于攻擊檢測。song等人【hyun?min?song,jiyoung?woo,h.k.kim,“in-vehicle?network?intrusion?detection?using?deepconvolutional?neural?network”,vehicular?communications,vol.21,pp.100-198,2020.】提出了一種基于dcnn(deep?convolutional?neural?network,深度卷積神經(jīng)網(wǎng)絡(luò))的ids(intrusion?detection?system,入侵檢測系統(tǒng)),dcnn學(xué)習(xí)網(wǎng)絡(luò)流量模式并檢測惡意流量,而無需手動(dòng)設(shè)計(jì)特征。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的機(jī)器學(xué)習(xí)算法相比,該ids具有較低的假陰性率和錯(cuò)誤率。han等人【m.l.han,b.i.kwak,and?h.k.kim,“event-triggeredinterval-based?anomaly?detection?and?attack?identification?methods?for?an?in-vehicle?network,”ieee?trans.inf.forensics?security,vol.16,pp.2941–2956,2021.】通過can消息的周期性事件觸發(fā)間隔來檢測和識(shí)別車輛網(wǎng)絡(luò)異,通過考慮不同的攻擊場景和三種類型的機(jī)器學(xué)習(xí)模型。結(jié)果表明,當(dāng)使用基于樹的機(jī)器學(xué)習(xí)模型作為分類器時(shí),所提出的攻擊識(shí)別方法可以達(dá)到94%以上的準(zhǔn)確率。但是該方法只適用于周期性事件,對于非周期性事件或者周期性事件但是在總線上傳輸速率取決于多個(gè)變量的事件該方法還是存在一定的局限性。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)存在的局限性,表現(xiàn)為:1)基于簽名的異常檢測方式不能檢測未知的或新的攻擊,需要不斷更新被視為攻擊項(xiàng)的簽名列表。此外,在移動(dòng)車輛上實(shí)時(shí)提取攻擊特征存在較高的延遲。2)基于異常的檢測機(jī)制通常具有較高的誤警率。的技術(shù)問題,本發(fā)明實(shí)施例提供了一種基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法及裝置。所述技術(shù)方案如下:
2、一方面,提供了一種基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法,該方法由車內(nèi)can總線異常檢測設(shè)備實(shí)現(xiàn),該方法包括:
3、s1、根據(jù)can總線的消息流序列和消息內(nèi)容,構(gòu)造無向時(shí)間動(dòng)態(tài)圖。
4、s2、通過時(shí)間編碼器將無向時(shí)間動(dòng)態(tài)圖中的時(shí)間戳轉(zhuǎn)換為時(shí)間嵌入向量,并通過圖嵌入模塊學(xué)習(xí)無向時(shí)間動(dòng)態(tài)圖中節(jié)點(diǎn)和邊的低維表示,得到無向時(shí)間動(dòng)態(tài)圖中每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入。
5、s3、根據(jù)每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入以及異常檢測網(wǎng)絡(luò),預(yù)測每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù),通過時(shí)間記憶庫記錄每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及異常分?jǐn)?shù)對應(yīng)的時(shí)間,并計(jì)算正常節(jié)點(diǎn)的統(tǒng)計(jì)分布。
6、s4、根據(jù)每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及正常節(jié)點(diǎn)的統(tǒng)計(jì)分布計(jì)算參考分布,根據(jù)參考分布計(jì)算偏差得分,根據(jù)偏差得分計(jì)算偏差損失。
7、s5、根據(jù)偏差得分為每個(gè)節(jié)點(diǎn)生成一個(gè)偽標(biāo)簽,根據(jù)偏差損失以及節(jié)點(diǎn)的偽標(biāo)簽訓(xùn)練異常檢測模型,得到訓(xùn)練好的異常檢測模型。
8、s6、獲取待檢測的can總線的消息流序列和消息內(nèi)容,輸入到訓(xùn)練好的異常檢測模型,得到can總線異常檢測結(jié)果。
9、可選地,s1中的無向時(shí)間動(dòng)態(tài)圖,如下式(1)所示:
10、g=(v,e)????(1)
11、其中,g表示無向時(shí)間動(dòng)態(tài)圖,v=vi表示所有can消息流所涉及的節(jié)點(diǎn)集合,i表示節(jié)點(diǎn)數(shù),e={δ(t1),δ(t2),...,δ(tm))表示消息流序列,m表示觀測到的消息數(shù),事件δ(t)=(vi,vj,t,xii)表示在時(shí)刻t從源節(jié)點(diǎn)vi到目標(biāo)節(jié)點(diǎn)vj發(fā)生了消息交互并伴有邊特征xij。
12、可選地,s2中的每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入,如下式(2)所示:
13、zi(t)=h(k)i(t)???(2)
14、其中,
15、
16、式中,zi(t)表示節(jié)點(diǎn)vi的節(jié)點(diǎn)嵌入,i表示節(jié)點(diǎn)數(shù),t表示時(shí)刻,k表示神經(jīng)網(wǎng)絡(luò)中的層數(shù),h(k)i(t)表示節(jié)點(diǎn)vi在第k層gnn層的時(shí)刻t處的中間表示,combine(·)表示用于組合來自鄰居的表示及其前一層表示的函數(shù),ni表示節(jié)點(diǎn)vi在時(shí)刻t的鄰居節(jié)點(diǎn)集合,表示在時(shí)刻t第k層聚合過程中,節(jié)點(diǎn)vi的鄰居節(jié)點(diǎn)集合ni的表示,agg(·)表示聚合函數(shù),hj(k-1)(t)表示節(jié)點(diǎn)vj在第k-1層的時(shí)刻t的表示,xij表示節(jié)點(diǎn)vi與節(jié)點(diǎn)vj之間的關(guān)聯(lián)邊特征,φ(·)表示基于余弦變換的相對時(shí)間編碼器,δt表示兩個(gè)時(shí)間戳的相對時(shí)間跨度,vj∈n(vi,t)表示節(jié)點(diǎn)vi在t之前發(fā)生的一階相鄰節(jié)點(diǎn)的集合。
17、可選地,s3中的根據(jù)每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入以及異常檢測網(wǎng)絡(luò),預(yù)測每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù),包括:
18、采用前饋神經(jīng)網(wǎng)絡(luò)作為異常檢測器,將每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入映射到異常評分空間,預(yù)測每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù),如下式(5)所示:
19、
20、式中,si(t)表示一維異常分?jǐn)?shù),t表示時(shí)刻,i表示節(jié)點(diǎn)數(shù),表示前饋神經(jīng)網(wǎng)絡(luò),θa表示異常檢測器的參數(shù)集合,zi(t)表示節(jié)點(diǎn)vi的節(jié)點(diǎn)嵌入表示,relu(·)表示激活函數(shù),w1、w2、b1、b2表示異常檢測器的可學(xué)習(xí)參數(shù)。
21、可選地,s3中的時(shí)間記憶庫,如下式(6)所示:
22、m=(si(t),t),ifyi(t)=0?or-1?or?1????(6)
23、式中,m表示存儲(chǔ)在時(shí)間記憶庫中的信息,si(t)表示一維異常分?jǐn)?shù),t表示時(shí)刻,i表示節(jié)點(diǎn)數(shù),yi(t)表示節(jié)點(diǎn)vi在時(shí)刻t的標(biāo)簽信息。
24、可選地,s4中的根據(jù)每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及正常節(jié)點(diǎn)的統(tǒng)計(jì)分布計(jì)算參考分布,如下式(7)-(8)所示:
25、
26、式中,μr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的平均值,k′表示從記憶庫中隨機(jī)抽取的樣本數(shù)量,表示每個(gè)統(tǒng)計(jì)樣本的加權(quán)項(xiàng),ti表示異常評分存儲(chǔ)時(shí)間,ri表示第i個(gè)異常分?jǐn)?shù),σr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的標(biāo)準(zhǔn)差。
27、根據(jù)參考分布計(jì)算偏差得分,如下式(9)所示:
28、
29、式中,dev(vi,t)表示偏差得分,si(t)表示一維異常分?jǐn)?shù),μr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的平均值,σr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的標(biāo)準(zhǔn)差。
30、根據(jù)偏差得分計(jì)算偏差損失,如下式(10)所示:
31、ldev=(1-yi(t))·|dev(vi,t)|+yi(t)·max(0,m′-|dev(vi,t)|)??(10)
32、式中,ldev表示偏差損失,yi(t)表示節(jié)點(diǎn)vi在時(shí)刻t的標(biāo)簽信息,dev(vi,t)表示偏差得分,m′表示閾值參數(shù)。
33、可選地,s5中的根據(jù)偏差得分為每個(gè)節(jié)點(diǎn)生成一個(gè)偽標(biāo)簽,包括:
34、根據(jù)偏差得分計(jì)算節(jié)點(diǎn)與節(jié)點(diǎn)之間的偏差分?jǐn)?shù)距離,根據(jù)偏差分?jǐn)?shù)距離對節(jié)點(diǎn)進(jìn)行分組,根據(jù)分組結(jié)果為每個(gè)節(jié)點(diǎn)生成一個(gè)偽標(biāo)簽。
35、其中,對于節(jié)點(diǎn)的監(jiān)督對比學(xué)習(xí)損失,如下式(11)所示:
36、
37、式中,表示監(jiān)督對比學(xué)習(xí)損失,n表示批量訓(xùn)練樣本的批量大小,j表示節(jié)點(diǎn)數(shù),δdij表示偏差分?jǐn)?shù)距離,zi(ti)表示節(jié)點(diǎn)vi在時(shí)間ti的嵌入表示,zj(tj)表示節(jié)點(diǎn)vj在時(shí)間tj的嵌入表示,τ表示標(biāo)量溫度參數(shù),k表示節(jié)點(diǎn)數(shù),zk(tk)表示節(jié)點(diǎn)vk在時(shí)間tk的嵌入表示。
38、另一方面,提供了一種基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測裝置,該裝置應(yīng)用于基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法,該裝置包括:
39、動(dòng)態(tài)圖構(gòu)建模塊,用于根據(jù)can總線的消息流序列和消息內(nèi)容,構(gòu)造無向時(shí)間動(dòng)態(tài)圖。
40、時(shí)間圖注意力網(wǎng)絡(luò)模塊,用于通過時(shí)間編碼器將無向時(shí)間動(dòng)態(tài)圖中的時(shí)間戳轉(zhuǎn)換為時(shí)間嵌入向量,并通過圖嵌入模塊學(xué)習(xí)無向時(shí)間動(dòng)態(tài)圖中節(jié)點(diǎn)和邊的低維表示,得到無向時(shí)間動(dòng)態(tài)圖中每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入。
41、異常檢測與時(shí)間記憶庫模塊,用于根據(jù)每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入以及異常檢測網(wǎng)絡(luò),預(yù)測每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù),通過時(shí)間記憶庫記錄每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及異常分?jǐn)?shù)對應(yīng)的時(shí)間,并計(jì)算正常節(jié)點(diǎn)的統(tǒng)計(jì)分布。
42、偏差損失網(wǎng)絡(luò)模塊,用于根據(jù)每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及正常節(jié)點(diǎn)的統(tǒng)計(jì)分布計(jì)算參考分布,根據(jù)參考分布計(jì)算偏差得分,根據(jù)偏差得分計(jì)算偏差損失。
43、監(jiān)督對比學(xué)習(xí)模塊,用于根據(jù)偏差得分為每個(gè)節(jié)點(diǎn)生成一個(gè)偽標(biāo)簽,根據(jù)偏差損失以及節(jié)點(diǎn)的偽標(biāo)簽訓(xùn)練異常檢測模型,得到訓(xùn)練好的異常檢測模型。
44、輸出模塊,用于獲取待檢測的can總線的消息流序列和消息內(nèi)容,輸入到訓(xùn)練好的異常檢測模型,得到can總線異常檢測結(jié)果。
45、可選地,無向時(shí)間動(dòng)態(tài)圖,如下式(1)所示:
46、g=(v,e)????(1)
47、其中,g表示無向時(shí)間動(dòng)態(tài)圖,v=vi表示所有can消息流所涉及的節(jié)點(diǎn)集合,i表示節(jié)點(diǎn)數(shù),e={δ(t1),δ(t2),...,δ(tm))表示消息流序列,m表示觀測到的消息數(shù),事件δ(t)=(vi,vj,t,xij)表示在時(shí)刻t從源節(jié)點(diǎn)vi到目標(biāo)節(jié)點(diǎn)vj發(fā)生了消息交互并伴有邊特征xij。
48、可選地,每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入,如下式(2)所示:
49、zi(t)=h(k)i(t)???(2)
50、其中,
51、
52、式中,zi(t)表示節(jié)點(diǎn)vi的節(jié)點(diǎn)嵌入,i表示節(jié)點(diǎn)數(shù),t表示時(shí)刻,k表示神經(jīng)網(wǎng)絡(luò)中的層數(shù),h(k)i(t)表示節(jié)點(diǎn)vi在第k層gnn層的時(shí)刻t處的中間表示,combine(·)表示用于組合來自鄰居的表示及其前一層表示的函數(shù),ni表示節(jié)點(diǎn)vi在時(shí)刻t的鄰居節(jié)點(diǎn)集合,表示在時(shí)刻t第k層聚合過程中,節(jié)點(diǎn)vi的鄰居節(jié)點(diǎn)集合ni的表示,agg(·)表示聚合函數(shù),hj(k-1)(t)表示節(jié)點(diǎn)vj在第k-1層的時(shí)刻t的表示,xij表示節(jié)點(diǎn)vi與節(jié)點(diǎn)vj之間的關(guān)聯(lián)邊特征,φ(·)表示基于余弦變換的相對時(shí)間編碼器,δt表示兩個(gè)時(shí)間戳的相對時(shí)間跨度,vj∈n(vi,t)表示節(jié)點(diǎn)vi在t之前發(fā)生的一階相鄰節(jié)點(diǎn)的集合。
53、可選地,異常檢測與時(shí)間記憶庫模塊,進(jìn)一步用于:
54、采用前饋神經(jīng)網(wǎng)絡(luò)作為異常檢測器,將每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)嵌入映射到異常評分空間,預(yù)測每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù),如下式(5)所示:
55、
56、式中,si(t)表示一維異常分?jǐn)?shù),t表示時(shí)刻,i表示節(jié)點(diǎn)數(shù),表示前饋神經(jīng)網(wǎng)絡(luò),θa表示異常檢測器的參數(shù)集合,zi(t)表示節(jié)點(diǎn)vi的節(jié)點(diǎn)嵌入表示,relu(·)表示激活函數(shù),w1、w2、b1、b2表示異常檢測器的可學(xué)習(xí)參數(shù)。
57、可選地,時(shí)間記憶庫,如下式(6)所示:
58、m=(si(t),t),ifyi(t)=0?or-1?or?1????(6)
59、式中,m表示存儲(chǔ)在時(shí)間記憶庫中的信息,si(t)表示一維異常分?jǐn)?shù),t表示時(shí)刻,i表示節(jié)點(diǎn)數(shù),yi(t)表示節(jié)點(diǎn)vi在時(shí)刻t的標(biāo)簽信息。
60、可選地,根據(jù)每個(gè)節(jié)點(diǎn)的異常分?jǐn)?shù)以及正常節(jié)點(diǎn)的統(tǒng)計(jì)分布計(jì)算參考分布,如下式(7)-(8)所示:
61、
62、式中,μr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的平均值,k′表示從記憶庫中隨機(jī)抽取的樣本數(shù)量,表示每個(gè)統(tǒng)計(jì)樣本的加權(quán)項(xiàng),ti表示異常評分存儲(chǔ)時(shí)間,ri表示第i個(gè)異常分?jǐn)?shù),σr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的標(biāo)準(zhǔn)差。
63、根據(jù)參考分布計(jì)算偏差得分,如下式(9)所示:
64、
65、式中,dev(vi,t)表示偏差得分,si(t)表示一維異常分?jǐn)?shù),μr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的平均值,σr(t)表示正常節(jié)點(diǎn)的統(tǒng)計(jì)分布在時(shí)刻t的參考分?jǐn)?shù)的標(biāo)準(zhǔn)差。
66、根據(jù)偏差得分計(jì)算偏差損失,如下式(10)所示:
67、ldev=(1-yi(t))·|dev(vi,t)|+yi(t)·max(0,m′-|dev(vi,t)|)???(10)
68、式中,ldev表示偏差損失,yi(t)表示節(jié)點(diǎn)vi在時(shí)刻t的標(biāo)簽信息,dev(vi,t)表示偏差得分,m′表示閾值參數(shù)。
69、可選地,監(jiān)督對比學(xué)習(xí)模塊,進(jìn)一步用于:
70、根據(jù)偏差得分計(jì)算節(jié)點(diǎn)與節(jié)點(diǎn)之間的偏差分?jǐn)?shù)距離,根據(jù)偏差分?jǐn)?shù)距離對節(jié)點(diǎn)進(jìn)行分組,根據(jù)分組結(jié)果為每個(gè)節(jié)點(diǎn)生成一個(gè)偽標(biāo)簽。
71、其中,對于節(jié)點(diǎn)的監(jiān)督對比學(xué)習(xí)損失,如下式(11)所示:
72、
73、式中,表示監(jiān)督對比學(xué)習(xí)損失,n表示批量訓(xùn)練樣本的批量大小,j表示節(jié)點(diǎn)數(shù),δdij表示偏差分?jǐn)?shù)距離,zi(ti)表示節(jié)點(diǎn)vi在時(shí)間ti的嵌入表示,zj(tj)表示節(jié)點(diǎn)vj在時(shí)間tj的嵌入表示,τ表示標(biāo)量溫度參數(shù),k表示節(jié)點(diǎn)數(shù),zk(tk)表示節(jié)點(diǎn)vk在時(shí)間tk的嵌入表示。
74、另一方面,提供一種車內(nèi)can總線異常檢測設(shè)備,所述車內(nèi)can總線異常檢測設(shè)備包括:處理器;存儲(chǔ)器,所述存儲(chǔ)器上存儲(chǔ)有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時(shí),實(shí)現(xiàn)如上述基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法中的任一項(xiàng)方法。
75、另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令,所述至少一條指令由處理器加載并執(zhí)行以實(shí)現(xiàn)上述基于動(dòng)態(tài)圖的半監(jiān)督車內(nèi)can總線異常檢測方法中的任一項(xiàng)方法。
76、本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果至少包括:
77、本發(fā)明中,提出基于can消息流的時(shí)間動(dòng)態(tài)圖,通過時(shí)間圖注意力網(wǎng)絡(luò)將時(shí)間戳轉(zhuǎn)換為時(shí)間嵌入向量。隨著圖嵌入模塊不斷學(xué)習(xí)圖中節(jié)點(diǎn)和邊的低維表示,捕捉圖的結(jié)構(gòu)特征和節(jié)點(diǎn)狀態(tài)的變化,在不需要知道車輛can?ids的情況下可以檢測到真實(shí)車輛上的can網(wǎng)絡(luò)攻擊,有效地解決車內(nèi)can網(wǎng)絡(luò)異常檢測依賴于can?ids的問題。
78、由于在現(xiàn)實(shí)場景中,異常樣本往往較為稀少以及很難獲取,這將會(huì)導(dǎo)致數(shù)據(jù)集極度不平衡。本發(fā)明使用未標(biāo)記樣本的統(tǒng)計(jì)分布作為損失計(jì)算的參考分布,并生成相應(yīng)的偽標(biāo)簽來參與監(jiān)督學(xué)習(xí),從而充分利用未標(biāo)記樣本的潛力,有效地解決被攻擊的數(shù)據(jù)在現(xiàn)實(shí)世界中很難獲取、可能會(huì)導(dǎo)致的訓(xùn)練集高度不平衡的問題。