摘要
片上系統(SoC)集成了所有的計算部件,為當今的物聯網(IoT)提供動力,包括車聯網和自動駕駛汽車(CAVs)。它們的全球連接性和計算資源使它們容易受到通過各種載體的網絡攻擊,包括有線(如CAN、LIN)和無線(如藍牙、Wi-Fi)通信。因此,CAVs代表了一個重大的網絡安全挑戰。雖然目前的軟件監控解決方案無法檢測到網絡攻擊,但卻沒有基于硬件的解決方案來實時監控整個SoC的運行情況。在本文中,提出了一個包含SoC現場可編程門陣列(FPGA),部署了一個獨特的硅知識產權(IP),包括專用的分析CPU(中央處理器),不僅可以智能地監測SoC本身,還可以平行地實時監測汽車內部網絡。該解決方案已經針對三個汽車相關的侵權案例進行了測試,突出了控制器區域網絡(CAN)和高級可擴展接口(AXI)總線網絡的漏洞。結果表明,所提出的解決方案有能力成功地檢測和阻止汽車領域的網絡攻擊。
I.簡介
現代汽車由多個聯網的計算機組成,被稱為電子控制單元(ECU),以實現一系列的功能和特性,包括駕駛和動力系統控制、連接、傳感和車身模塊。這些ECU通過包括CAN在內的車載網絡相互連接。因此,現代汽車是網絡物理系統(CPS)的一個實例。由于連接性(通過各種接口)和復雜性(設計和功能)的結合,現代汽車也受到了網絡攻擊。隨著傳感器、執行器和設備的相互連接的趨勢,現代汽車往往具備能夠與外界進行有線(如通用串行總線(USB))或無線(如藍牙、WiFi、蜂窩)通信的接口。因此,現代汽車中嵌入的各種計算系統不能再被視為一個封閉的網絡,針對嵌入式汽車網絡的網絡攻擊的機會已經成為現實。已經有事實表明,一些網絡攻擊如果被破壞,會嚴重影響車輛的安全。
在過去的十年中,針對汽車的網絡攻擊數量明顯增加。
攻擊包括入侵車輛的各種安全關鍵系統,如剎車失靈,停止引擎和關掉前燈,所有這些都使人的生命受到嚴重威脅。因此,有必要加強CAVs的操作彈性,以盡量減少其對安全關鍵的物聯網系統的影響。然而,現有的軟件監控解決方案受到一些限制。首先,它們通常需要數百毫秒的時間來處理來自傳感器的數據。這對于可能對避免事故至關重要的安全關鍵型應用來說太慢了。第二,它們非常明顯更容易受到黑客攻擊。第三,它們的實施是侵入性的,干擾了CAV的正常運行。最后,由于其數據訪問量有限,它們無法監控整個系統。
另一方面,基于硬件的SoC監控方法可以提供適當的解決方案以克服這些限制,因為它們具有非侵入性和運行時可配置性。例如,西門子已經開發了一套獨特的硅IP,可以實現基于硬件的SoC監測。在強大的機器學習模式的支持下,它們支持系統行為學習、快速異常識別、檢測警報和故障原因的排查跟蹤。
在本文中,提議將基于硬件的SoC監控應用于汽車領域,以加強其網絡安全標準。這種方法將確保安全關鍵型物聯網系統,如CAVs,按照設計發揮功能,智能地保護乘員和數字基礎設施系統。此外,這也提供了線速的異常檢測,以避免潛在的致命災難,如車禍和重大社會經濟破壞。為了證明基于硬件的SoC監控的有效性,我們在嵌入西門子IP的SoC FPGA上實現了三個汽車網絡安全侵權案例。侵權案例包括里程篡改、未經授權訪問信息娛樂系統和汽車門鎖單元內存。為此,我們將展示如何對它們進行檢測、警告和減輕。
本文的結構如下:在第二節中,回顧了汽車網絡攻擊的現狀及其現有的基于軟件的解決方案。接下來是幾個基于硬件的示范性解決方案之一。然后,在第三節中規定了SoC FPGA的結構及其西門子分析IP。
第四節介紹了三個侵權案例的實施。然后,在第五節中展示了基于硬件的監控解決方案的有效性。最后,第六節總結。
II.相關工作
在本節中,我首先回顧了文獻中的汽車網絡攻擊及其現有的基于軟件的解決方案。然后,介紹了一個基于硬件的解決方案的例子。最后,重新審視了可以支持驗證這些解決方案的現有汽車測試平臺。
A.汽車網絡安全攻擊和檢測方法
對CAN網絡的攻擊需要攻擊者改變數據包廣播。攻擊可能會破壞數據包廣播率,例如,通過用捏造的數據包充斥網絡來進行拒絕服務(DoS),從而使車輛或某些功能喪失能力。雖然是立即破壞性的,但這種粗糙的攻擊被認為是相對容易檢測的。試圖控制汽車的某些功能或有意義地改變信息表述的攻擊可能更難檢測。例如,通過廣播編造的帶有誤導性的有效載荷數據包。這種攻擊可能會迫使汽車陷入危險境地,系統地改變汽車的性能或效率,或者為了經濟利益或不滿而進行操縱。這些小伎倆可能需要從偽裝成合法控制單元的攻擊系統中編造看似合法的數據包。
對一輛吉普切諾基的攻擊廣為人知,它要求攻擊者廣播編造的數據包,其中包含似是而非的速度數據,從而欺騙汽車系統,使其認為汽車行駛速度更慢--這反過來又允許激活其他功能,如停車輔助。 檢測這種攻擊的一個問題是,被操縱的數據值仍然在合法范圍內,所以可能看起來沒有明顯的惡意。
檢測包括CAN在內的任何計算機網絡的攻擊的兩種常見方法是簽名法和異常法。簽名方法將流量模式與基于規則的方式進行比較。盡管這些方法可能是準確的,假定它們能夠確定、編碼和分發演化的攻擊模型。但這對汽車CAN系統來說是有問題的,因為:i)數據推導通常對制造商是保密的;ii)汽車有不同的位置、使用模式和生命周期,這使得維護和更新簽名數據庫很困難;以及,iii)攻擊場景仍在出現。因此,用于檢測CAN攻擊的簽名法通常被認為是不太有利的。
異常方法試圖識別網絡流量中的異常情況。其假設是,異常情況可能是由攻擊造成的。因此,可應用于網絡安全領域的主要機器學習算法都集中在檢測異常或異常值。根據定義,這些數據點在所收集的數據集中是稀缺的,并且具有挑戰性,甚至不可能被標記為異常點。
出于這個原因,無監督模型通常比有監督分類或回歸模型更受青睞,因為不需要標記數據。另一方面,雖然異常方法更容易出現檢測不準確的情況,如假陽性,但它們不依賴已知的攻擊特征,使它們對汽車CAN攻擊檢測具有吸引力。常見的檢測方法包括密度技術,如K-近鄰,支持向量數學,局部離群因子模型,統計方法,更復雜的深度學習神經網絡方法,如變異自動編碼器,等等。這些方法中許多都有一個共同的特點,即試圖在沒有異常的情況下學習數據的統計屬性,或學習所述數據的一些維度映射,并針對可能包含異常的傳入實時數據測量這些屬性。然而,這些方法往往仍然假定可以訪問CAN字典(以便可以設計一個特定的統計模型),或者依賴有代表性的攻擊樣本來訓練和制定模型。
除了CAN總線漏洞,作為目前汽車安全的主要關注點,網絡攻擊還可以直接或間接地針對汽車SoCs,如ADAS。汽車SoC與一些非安全硬件和至少一種類型的網絡或服務相連。它們存儲和交換大量的用戶數據,包括敏感信息,如手機銀行的詳細信息或私人信息。隨著世界的數字化,這種數據云,包括與安全有關的數據和私人信息使物聯(IoT)成為對攻擊者有吸引力的領域,這提高了對安全的需求。如今,用于物聯網的汽車片上系統(SoC)的安全問題并不是一個簡單的話題。事實上,SoCs正變得越來越復雜,它們包括許多復雜的應用,如硬件加速,使這些應用和整個SoC安全是對半導體行業的巨大挑戰,特別是如果他們的設計者想減少面積成本和功耗;因此,審查和了解SoC的AXI互連漏洞開發是至關重要的。
B.一個基于汽車硬件的解決方案
現代汽車系統正在變得越來越復雜。這些由通常連接到一個或多個車內網絡的ECU集群組成。許多單個ECU在本質上是簡單的,但其他ECU則不是。片上系統(SoC)發展最迅速的領域之一是用于自適應巡航控制、駕駛員監控、車道偏離警告和避免碰撞的ADAS子系統。這些設備采用了一系列的攝像頭、LiDAR、雷達和超聲波傳感器。此外,它們本身包含復雜的系統,可以處理來自傳感器的數據,以及控制車輛的機電執行器來執行自動轉向和制動的系統。
圖1.SoC FPGA框圖
隨著ECU在自動駕駛汽車領域的不斷發展,人們迫切需要確保ECU的性能得到控制。ECU中部署的硅芯片將具有特殊的、非侵入式的監測基礎設施,不僅可以用于了解ECU的工作情況,還可以用于了解整個車輛的工作情況。
例如,ADAS系統有許多功能同時發生,其中許多可能是相互依賴的。需要滿足嚴格的時間期限,否則整個系統可能會崩潰。在實驗室里識別和診斷這些問題是非常困難的,在某些情況下是不可能的。這種情況更加復雜,因為像這樣的系統經常無線更新:行業標準正在迅速發展,固件也必須如此。
西門子的嵌入式分析IP自省監測器(顯示為淺綠色)被用來評估ADAS SoC的運行情況。這些監控器可以在運行時配置,并提供豐富的數據,分析工具可以使用這些數據來深入了解可能觀察到的問題。例如,AXI總線監控器是協議感知和事務感知的。它們可以在運行時進行配置,以提供許多項目信息--例如,事務的延遲;事務的最小/最大/平均延遲;帶寬;事務的持續時間;計數和計時。這些數據被在專用CPU上執行的分析軟件使用,以確定性能、安全和保障方面的問題。
III.基于硬件的Soc實時監測解決方案
本節提供了一個可演示的基于硬件的SoC FPGA監控平臺,它能夠模擬一系列ECU。圖1給出了這個FPGA的框圖,它包含了幾個西門子監測IP,也被稱為嵌入式分析IP,以及一些硬件的和軟件的CPU。分析IP以藍綠色顯示。這些IP模塊與分析軟件一起用于檢測和緩解一些安全威脅,這些威脅被聯盟成員和汽車制造商認定為是重要的。
簡而言之,以下IP塊被部署在FPGA中:
?一個分析型CPU:可用于配置和分析監測基礎設施的數據。
?系統CPU(兩個RISC-V,四個ARM A53,兩個ARM R5):可用于執行系統功能,如信息娛樂系統、中央門鎖和其他ECU等。
?CAN總線:一個CAN收發器可用于集成其他CAN節點。與分析型CPU一起,它可以作為CAN總線哨兵的原型。此外,還有兩個增強的CAN-HGTM、總線控制器。CAN-HGTM處理了高速和受保護的總線。這被用來在CAN幀中攜帶額外的信息,以克服限制和漏洞。它們也與標準CAN完全兼容。
?JPAM(x3):提供在RISC-V內核上輕松停止/恢復/重新啟動代碼的能力。
?靜態儀表:用于實現基于軟件的監測。
?虛擬控制臺:用于實現在CPU上運行的代碼與調試主機之間的通信。
?直接內存訪問(DMA):用于提供對整個空間的訪問。
?總線監控器(x8):用于提供對所有感興趣的AXI接口的觀察。在相關的網絡安全背景下,它們還可以監控、檢測和刪除錯誤的互連事務。
最重要的是,這些模塊與西門子的信息傳遞結構相連--被注釋為信息引擎。這使得監測IP收集和產生的數據可以在整個SoC(在這種情況下是FPGA)上傳輸。數據可以從芯片外獲取,例如,通過USB 2.0通信器;提供沒有片上軟件開銷的通信-- 也就是說,USB通信完全是在硬件中完成的。
然而,在本文中,來自監視器的數據被分析的CPU消耗和處理,這意味著沒有數據離開芯片。分析IP通過AXI通信器訪問監測基礎設施的數據。AXI互連是ARM在2003年推出的第三代AMBA總線協議,在SoC的子系統之間提供良好的電源效率以及高效可靠的數據傳輸。它被廣泛用于智能手機、筆記本電腦和各種嵌入式系統。它針對的是高性能和高時鐘頻率的系統設計。它廣泛用于ARM Cortex A處理器,如Cortex A9, Cortex A53處理器。由AXI總線監視器觀察和產生的數據被分析IP用來確定在FPGA的系統上CPU上模擬的ECU的正確行為。這些數據可用于基于規則的分析或基于ML的分析。
IV.汽車網絡安全侵權案件
在本節中,介紹了三個汽車網絡安全侵權案例,以及在第三節中描述的SoC FPGA中實施的檢測和緩解。第一個侵權案例是里程篡改,與監控CAN總線通信有關。第二個和第三個侵權案例是未經授權對信息娛樂系統和汽車門鎖裝置的內存訪問。這兩個案例都與監控AXI通信有關。
A.CAN-BUS監控 - 篡改里程數
在對針對CAN總線的多種汽車潛在系統攻擊威脅進行審查后,創建了一份可以調查的短名單。在與汽車行業成員的討論中,里程篡改被選為要調查的最初威脅。
篡改里程的攻擊試圖破壞車輛的里程表值,使其不再與車輛的真實行駛距離直接相關。這樣做的結果是,里程表增加的速度可能被改變,或者里程表根本就不再增加。這種攻擊是利用CAN過濾器實現的。它對一些CAN幀進行修改,以減少里程表的增量。本研究中使用的商用濾波器具有兩個CAN接口,一個與CAN總線連接,另一個與FPGA連接。它有四種操作模式。
?在模型2中,遞增率降低了10%,即每行駛10英里,里程表只增加1英里。
?在模型3中,增量率降低了20%,即每行駛10英里,里程表只增加2英里。
?在模型4中,增量率降低了30%,即每行駛10英里,里程表只增加3英里。
隨著機器學習技術的應用,可以學習這兩個變量之間的映射關系,從而進行預測。這樣一來,與這一預測的偏差可以作為系統內發生里程篡改攻擊的證據提出來。
CAN總線實時監測與車輛速度和里程表有關的CAN幀。車輛的速度是從與速度有關的CAN幀的有效載荷中提取的。這些CAN幀的時間戳也被記錄下來。
計算里程表數值之間的時間差,?T,在這兩個距離CAN幀之間取速度CAN幀收集的數值,vi的平均值,以找到車輛在時間間隔?T內的平均速度。
將平均速度值 v輸入一個線性轉換模型,該模型預測距離CAN幀的時間差,?T,對于未改變里程數據的CAN數據,應該在該速度下觀察到。
線性模型將速度值乘以一個學習到的常數α,并與另外一個學習到的常數β相加,這個常數將速度映射到時間差值Δt,該值應在給定速度下觀察到。這個模型由下面的方程表示:
?t = αv + β(1)
然后可以將報告的時間差值ΔT和預測的時間差值Δt進行比較,如果差值在不確定的水平之外,就可以提出對異常情況的檢測,表明里程數被以某種方式篡改了。分析IP通過修復被操縱的信息來減輕威脅。
B.AXI監測
在汽車方面的威脅檢測和緩解并不僅僅是監測CAN總線流量。雖然監控CAN是汽車安全的一個重要部分,但除了CAN之外,還可以通過監控其他接口來檢測更多的威脅。
這種接口的一個例子是AXI,一個用于訪問多個系統的SoC互連的接口。目前的FPGA系統也支持使用西門子嵌入式分析IP監測AXI。為了驗證解決方案的有效性,選擇了信息娛樂系統和門鎖單元篡改作為侵權案例。這兩種情況是通過監測AXI讀/寫來實現的,如IV-B1和IV-B2節所述。
為了實現攻擊場景,并與FPGA和模擬ECU進行通信,我們開發了一個python主機會話,首先初始化FPGA CPU和IP,其次將與侵權情況有關的惡意攻擊注入FPGA,在現場測試期間觸發檢測和緩解。
這意味著,它們復制了網絡攻擊的場景。這些功能也是高度可定制的,可以根據攻擊的性質來修改。
1)損壞的信息娛樂系統:在這種情況下,攻擊者破壞了汽車信息娛樂系統,惡意軟件在信息娛樂系統的CPU上運行。它試圖訪問系統模塊(外圍設備/存儲器),這些系統模塊存在于SoC互連上,并且從架構上可以被CPU訪問,但CPU通常不應該訪問它們。這方面的例子包括:
?通常不被信息娛樂系統軟件使用的內存區域
?閃存控制器
?內存控制器
?CAN總線控制器
事實上,它可以是任何攻擊者用來惡意觸發行動或從中獲取信息的外圍設備。不可能從結構上永久地阻止對所有潛在敏感外設的訪問,因為信息娛樂系統將需要在適當授權的情況下訪問這些外設。當然,對未經授權使用這些資源會有多層保護(例如適當地設置MMU或MPU),但使用西門子嵌入式分析IP提供了獨立于信息娛樂系統軟件的硬件監控,即使攻擊者設法對MMU表進行重新編程,仍然可以正常工作。
在FPGA中,信息娛樂系統由一個ARM53 CPU模擬,它運行一個代表信息娛樂軟件的應用程序。請注意,這個應用程序實際上并不會模擬實際信息娛樂系統的全部功能,它只是能夠在AXI總線上進行意外訪問。它根據控制FPGA的主機Python會話的請求執行這些訪問。這個請求代表攻擊者試圖惡意訪問被禁止的AXI地址。
分析IP(APCU,系統中的RISC-V CPU之一)負責:
?在啟動時,配置AXI總線監視器,當信息娛樂CPU的訪問以禁止的AXI地址范圍為目標時,通知APCU。
?在正常運行期間,當它看到禁止訪問時,接收從總線監控器發出的通知。
2)未經授權的汽車門鎖裝置篡改:在這種情況下,攻擊者獲得了對AXI總線啟動器的訪問,以執行未經授權的汽車解鎖。
在FPGA上,一個AXI總線哨兵尋找對汽車門鎖控制器的地址范圍的訪問,這些訪問來自一個指定的AXI總線啟動器(一個DMA),模擬一個受損的啟動器。
與之前的情況類似,在啟動時,APCU配置西門子嵌入式分析IP來監控從DMA到汽車門鎖控制器的禁止訪問。這一次,使用的IP塊不是總線監視器,而是總線哨兵。
總線哨兵與總線監控器不同,除了監控AXI訪問外,還能夠阻斷AXI訪問。
圖2.用于驗證的試驗臺配置
V.驗證
在本節描述了一組步驟,以驗證西門子在SoC FPGA上實現的基于硬件的解決方案,以應對第四節中介紹的三個侵權案例。為了測試和驗證這些侵權情況,FPGA已經通過其CAN收發器連接到[31]中描述的汽車網絡安全測試平臺(如圖2所示)。它代表了一個車載網絡,并將被用來建立和驗證基于硬件的解決方案的安全措施。它包括一個汽車模擬器,一個車載網絡模擬器,一個物理網絡,一個欺騙硬件和擬議的SoC FPGA。
A.篡改里程數
為了驗證由分析軟件和硬件執行的檢測和緩解模型,演示器在每種模式下都要運行10分鐘。在每次運行中,模擬的儀表盤將實際的和修正的里程表值都記錄下來。將它們的比率與CAN過濾器手冊中給出的額定過濾百分比進行比較。表一報告了在測試平臺上對每個CAN過濾模式和分析IP實時監測的結果。
從報告的過濾模式百分比和第四節中定義的過濾模式的比較中可以看出這一點。因此,分析IP及其外圍設備成功地檢測到并緩解了里程篡改的威脅。
B.未經授權對信息娛樂系統和汽車門鎖的內存訪問
為了驗證每個模擬的侵權案例,通過Python主機會話向FPGA注入一個函數。
這個函數觸發了一個模擬惡意攻擊的動作,使用上面提到的DMA作為AXI啟動器。AXI總線監控器/哨兵(分別用于信息娛樂系統和門鎖侵權情況)發現該訪問并阻止它(阻止只在使用總線哨兵的情況下),這樣它就不會到達目的地,也就是模擬的ECU。除此以外,ACCPU會被通知惡意訪問,并向模擬儀表盤發送命令,出現閃爍警告標志并向用戶報告。在演示中沒有做進一步的緩解行動,但是在真實的系統中,ACPU可以觸發其他的行動,如重置信息娛樂系統,從已知的良好來源刷新其軟件和/或通知外部各個模塊。
VI.結論
本文提出了一種新穎的片上硅片IP (SIP)包括總線濾波器、總線監護器、鎖步監視器和專門為汽車安全和安全應用定制的專用分析IP已被引入并在SoC FPGA上實現。它還由ML提供支持,授權檢測并實時報告SoC的異常情況,使汽車SoC高度安全并能抵御網絡攻擊。解決方案的評估是通過將SoC FPGA集成到[31]中介紹的多組件汽車測試平臺中進行的。三個選定的與CAN和AXI總線監控有關的侵權案例,已經在實時條件下實施測試。侵權案例的驗證證明了西門子硬件解決方案實時檢測、阻止和緩解網絡攻擊的能力。這也顯示了在汽車網絡安全中應用基于硬件的監控的前景。我們計劃針對更多的汽車網絡攻擊來測試這項技術。
審核編輯 :李倩
評論
查看更多