- 智能汽車網絡安全權威指南(下冊)
- 李程等
- 3318字
- 2024-04-12 19:36:58
11.2 OEM視角下的汽車攻防之道
隨著越來越多的黑客開始針對汽車行業展開攻擊,全球對汽車安全越來越重視。著名的Pwn2Own黑客大賽也計劃于2024年在東京舉辦汽車專場比賽。以往只有特斯拉參加此類比賽,但今后將有越來越多的車企參與其中。在這種情況下,任何一家車企都無法獨善其身。
作為一名有多年漏洞安全研究經驗的人,筆者站在OEM的角度逐漸感受到,僅依靠挖掘漏洞和修補漏洞很難全面保障安全。這是因為軟件不斷迭代更新,漏洞不斷出現,例如在A車型上發現的漏洞可能在B車型上再次出現。此外,供應鏈也可能引入漏洞,而這些漏洞可能來不及修補。
如何改變這種現狀,以及如何從技術層面保障汽車安全?本節將以保障汽車安全為主題,從OEM的角度探討汽車攻防之道。在這一過程中,筆者研究了世界頂尖科技公司的安全實踐。
1.世界頂尖科技公司的安全實踐
(1)微軟
微軟可以說是從“蠻荒時代”過來的。大家都還記得Windows XP時期電腦病毒滿天飛、各種木馬病毒防不勝防的場景嗎?360公司就是在那時崛起的。到如今的Windows 11,微軟的安全保障工作已經有了質的變化,用戶連殺毒軟件都不需要安裝了。那么,微軟是如何達到現在的水平的呢?
微軟提出了Zero Trust(零信任)的概念,其中包括如下3項主要內容。
?明確驗證:對所有的數據點進行身份校驗和授權。
?采用最低權限訪問機制:基于風險和數據保護,限制用戶訪問權限。
?假設突破:假設攻擊者可以獲取某一權限,則需要阻止攻擊者獲取更大的訪問權限。
基于以上的Zero Trust概念,微軟從硬件層、系統層、應用層、隱私保護、云端、合規這幾個方面制定了一系列的安全防護措施。想要了解更多內容,請訪問https://learn.microsoft.com/en-us/windows/security/。
(2)谷歌
谷歌的典型產品包括Android系統和Chrome瀏覽器。在早期,盡管相較于Windows系統,其安全性更強,但也暴露了很多問題。然而經過十幾年的發展,如今的Android系統和Chrome瀏覽器可被稱為“銅墻鐵壁”。
谷歌定義了Android系統的三大安全宗旨。
?平臺開放性:作為開放平臺,Android系統為上層應用程序提供了可靠的環境,保護用戶、數據、應用程序、設備和網絡的機密性、完整性、可用性。
?開發者友好:Android系統通過一系列安全控制減輕了安全專家和開發人員的負擔。安全專家可以靈活運用安全控制,而不太熟悉安全知識的開發人員也可以受到安全默認值的保護。
?用戶可控:用戶可以查看每個應用程序請求的權限,并控制這些權限。
谷歌從平臺的角度對Android系統的安全做了很多的技術改進。Android系統雖然基于Linux系統,但對傳統Linux的安全特性進行了大量的改進,以滿足移動平臺的需求。這方面的具體內容包括系統/內核安全、應用程序安全和安全實踐建議。想要了解更多信息,請參閱https://source.android.com/docs/security/overview。
(3)特斯拉
對于特斯拉,我們雖然沒有公開的資料,但是可以通過Pwn2Own大賽的規則以及安全研究員公開的資料來了解其安全思路。特斯拉主要關注以下漏洞類別,這表明特斯拉在這些安全方面做了大量的工作。
?通過收音機、Wi-Fi、藍牙、Modem的無線通道來攻擊車輛。
?通過車機應用來獲取車機權限。
?在獲取車機應用權限后,提權到root。
?利用車機權限獲取自動駕駛、網關等權限。
?通過USB獲取車機權限。
?通過OBD獲取車機權限。
?車機的虛擬機逃逸。
更多資料可以查看https://www.zerodayinitiative.com/blog/2023/1/11/announcing-pwn2own-vancouver-for-2023。
2.初創OEM
像微軟、谷歌這樣的公司和車廠還是有區別的。現在汽車軟件逐步走向了手機化的方向,它的各個威脅場景和手機的很相似,同時它又比手機更復雜,涉及多個系統的交互。因此,如何保障汽車軟件的安全是一個綜合性的問題。
一個產品的安全成熟度與其資源投入成正比。很顯然,在初創階段,安全并不是OEM重點投入的方向。因此,如何把有限的資源用在“刀刃”上以解決最迫在眉睫的問題,是一個需要思考的問題。
為了解決這一問題,首先要弄清楚什么是“刀刃”,即最重要的任務是什么?對于汽車安全來說,目前推動其發展的動力主要有兩個:一個是法規,另一個是安全事件。而法規頒布的初衷就是避免安全事件,因此以應對各種安全事件為出發點來解決上述問題,可以說是雙贏之舉。
明確了方向,那我們繼續深入探討。安全事件必然有對應的時間、地點、人物、作案方法、工具等,我們統稱為攻擊場景。接下來,筆者會從攻擊場景出發,剖析整個汽車安全體系所面臨的問題,并提出相應的改進思路。對于汽車來說,攻擊場景可以大體分為從車外入侵(打開車門、獲取各種模塊權限)和從車內入侵(啟動車輛、獲取各種模塊權限)兩種類型。
(1)從車外入侵
在不考慮云端被攻破的情況下,汽車的車外入侵點包括藍牙鑰匙、車機藍牙、UWB、NFC、Wi-Fi、4G、收音機,其中在車輛關閉的情況下只有藍牙鑰匙、UWB、4G、NFC是可以使用的。
這幾個攻擊入口對應的ECU如下。
?Wi-Fi、4G:車載網絡通信模塊。
?藍牙鑰匙、NFC、UWB:車載數字鑰匙模塊。
?車機藍牙、收音機:娛樂模塊。
(2)從車內入侵
車內入侵可分為暴露接口入侵和物理接口入侵。具體來說,暴露接口入侵指通過USB、OBD等接口發送指令攻擊車輛,物理接口入侵則是指通過破線等手段直接攻擊車輛CAN總線。
這些入侵手段對應的ECU如下。
?USB:娛樂模塊。
?OBD:網關模塊。
?破線:所有ECU。
通過對攻擊場景的分析,我們可以將這些攻擊場景與R155及ISO 21434的信息安全要求進行對比。作為OEM的安全工程師,我們不但需要考慮如何抵御上述攻擊場景的發生,而且要滿足法規的要求。
3.進攻性研究
安全的本質是攻防對抗,如果想要做好防御,就必須了解攻擊方式。在進攻性研究領域,通常分為法規測試和PWN攻擊。
(1)法規測試
法規測試主要是針對基線的測試,可以按照成熟測試用例完成。這類測試可以保障車輛沒有明顯的漏洞,并且無須進行深入的代碼分析,主要使用各類工具完成掃描式的測試。
(2)PWN攻擊
PWN攻擊是從黑客的角度進行真正的攻擊,包括攻擊面分析、漏洞挖掘、漏洞利用等一系列動作。采用這種方式需要較高的研究成本,目的是發現產品的嚴重漏洞。每年一屆的Pwn2Own賽事就是這種攻擊方式的成果展示。
對于OEM來說,法規測試是必備的,是強制性要求。而PWN攻擊需要投入大量資源,因此OEM在初創階段不宜將所有資源都用于此,而應采用精兵戰略,讓少量高手專攻特定的幾個方向,給予他們耐心和時間,最終必將取得成果。
以下是一些適合采用PWN攻擊方式的方向。
?不容易進行防御的攻擊面,主要與RTOS、協議棧相關,例如藍牙基帶、Wi-Fi基帶等。對于這些攻擊面,我們無法進行有效保護,只能盡量避免漏洞的出現。
?危害性最高的攻擊面,例如藍牙鑰匙、NFC等。在沒有云端保護的情況下,這些攻擊面會導致中程控制攻擊,因此需要重點研究。
?針對防盜機制的攻擊,例如在沒有車鑰匙的情況下無法開走車。如果能夠攻破這個方向,則該攻擊將具有很大的殺傷力。
4.反進攻研究
上面講了進攻性研究的主要方向,但對于初創的OEM來說,更好的做法是進行反進攻研究,因為依賴PWN攻擊的方式是無法消滅所有漏洞的。與傳統的防火墻不同,反進攻的主要作用是針對性地阻斷漏洞攻擊,這樣即使存在漏洞,攻擊者也難以成功利用。
此外,反進攻研究還可以完全覆蓋法規測試中的常見攻擊方式,從而提高法規測試的通過率,降低為通過法規測試而修復、整改的成本。
在反進攻研究中,主要的攻擊目標是智能座艙模塊和智能網聯模塊,這兩個模塊覆蓋了進攻性研究以外的大多數攻擊場景。
首先,筆者認為該項研究的宗旨是獨立自主研發,不依賴ECU供應商,以避免合作上的困難。
然后,以下是筆者的做法。
1)攻擊面減少:通過安裝在ECU上的掃描程序,識別車內存在的攻擊風險點,并形成報告。該操作可用于業務整改,包括解決車機應用、服務的權限問題,以及車內橫向滲透的問題。
2)系統加固:主要針對車機進行保護。通過在IVI上安裝加固程序,處理應用權限、服務權限、網絡權限控制不嚴的問題,以增強車機應用、USB、車機藍牙、多媒體解析等模塊的防御能力。因此攻擊者即使攻破這些模塊,也難以進一步獲取系統權限。該過程涉及系統層面的加固,不可避免地需要對系統代碼進行修改,包括應用沙箱加強、進程間通信權限加強、文件權限加強、進程隔離加強、SELinux加強等。
3)網絡防護:主要是在T-BOX上安裝防火墻,以對Wi-Fi攻擊進行阻攔,從而盡可能地降低Wi-Fi成為攻擊入口的風險。
4)內存漏洞利用緩解措施:該做法主要用于瀏覽器、內核、協議棧、多媒體庫等大模塊的保護。因為這些模塊的漏洞很難修復,所以我們采取漏洞利用緩解措施,以提高攻擊者利用這些漏洞的難度。
5)其他:解決其他影響合規的問題。
下面從黑客攻擊的視角進行介紹。