汽車系統如何變得更安全?QNX 說要做到這七點
我們不得不承認一個事實,當汽車越來越智慧的時候,隨之而來的風險也越來越大。
這不是一個聳人聽聞的說法。早在前幾年,菲亞特克萊斯勒就由於車機被黑客入侵後遠端遙控而進行了大規模召回,更不用說因為「網紅效應」而被各種破解的特斯拉,以及系統不穩定經常出現「宕機」的新晉網紅蔚來 ES8。總之,一旦汽車軟體出現問題,那麼就會對駕駛安全帶來很大的隱患。
特別是當自動駕駛、網聯化離我們越來越近的時候,車輛結構也變的更復雜。目前汽車電子架構可能是由 60~100 個 ECU 以及 6~8 個獨立的系統組成。但隨著智慧化加快,未來汽車會由 6~10 個高效能運算平臺(HPC)組成,軟體系統也會實現整合,並且具有 OTA 的能力。
資料能夠很直觀的告訴我們可能存在的風險。卡耐基梅隆大學軟體工程學院的一份報告指出,在美國開發的程式碼平均每個功能點會有 0.75 個缺陷,每一百萬行程式碼就會有大約 6000 個缺陷。
而達到「很好」級別的程式碼,則要求每一百萬行程式碼的缺陷數量為 600~1000 個;「優異」級別的程式碼要求是少與 600 個。(缺陷中大約有 1~5%的部分會成為漏洞)
換句話說,即使所有程式碼都達到了「很好」的級別,按照目前汽車平均 1 億行程式碼來計算,每輛車裡都可能有 10 萬個缺陷以及 1000~5000 個漏洞。
這些缺陷以及漏洞可能會造成什麼樣的風險?沒有人可以預測。
「安全白皮書」
當然,這篇文章並不是想危言聳聽。既然有風險,肯定就有應對的辦法。
在汽車軟體以及安全領域,Blackberry QNX 是繞不開的一個參與者。 在前兩天,GeekCar 有機會和 Blackberry 技術解決方案部(BTS)銷售與營銷高階副總裁 Kaivan Karimi 聊了聊關於智慧化程序中,他們對於汽車安全的看法。
關於 Blackberry QNX,其實行業內的小夥伴都不會陌生。2010 年,Blackberry 宣佈收購 QNX。Blackberry 本身在安全領域就有超過 30 年的經驗,曾經很熱門的手機業務就是以安全和商務為最大賣點。QNX 作為汽車領域最大的作業系統供應商,為安全認證軟體提供支援已經超過 35 年。
Kaivan Karimi 告訴 GeekCar,對於汽車領域可能存在的風險,QNX 運用多年的行業經驗,總結出了一套「指導方針」。無論是主機廠還是供應商,只要遵循這份保護汽車免受網路安全威脅的建議框架,就能預防絕大多數的風險。即使出現可能影響駕駛的漏洞,也能很快進行修復。
這份《汽車網路安全——BlackBerry 的七大關鍵標準建議》概括了以下 7 個要點:
保障供應鏈安全:
通過確保汽車中的每一個晶片和電子控制單元 (ECU) 能夠正確地進行身份驗證並裝載受信任的軟體,而不受到供應商或製造商的影響,從而建立信任的根源。掃描部署的所有軟體以符合標準和所需的安全狀況。從漏洞和滲透測試的角度對供應鏈進行定期評估,以確保他們得到認證並批准交付。
使用值得信賴的元件:
使用安全的硬體、軟體和應用程式,在深度體系結構中深度分層,建立一個安全體系結構。
採用隔離手法與受信通訊:
使用電子系統架構來隔離安全關鍵和非安全關鍵的 ECU,並且在檢測到異常時也可以保障安全執行。另外,這種方法也可以確保汽車中的電子裝置和外部世界之間的通訊都是安全可靠的。更為重要的是,ECU 之間相互的通訊需要值得信賴和安全。
現場安全檢查:
確保所有 ECU 都集成了分析和診斷軟體,可以記錄所發生的事件,並將結果傳送至雲端以進一步分析並啟動預防性操作。此外,汽車製造商應該確認一系列指標定期自動掃描檢測,當汽車在事件發生現場時,也能夠通過安全的無線網路 (OTA) 軟體更新來解決問題。
構建事件快速響應網路:
在參與的企業網路中共享常見的漏洞和風險,這樣專家團隊就可以相互學習,並在較短的時間內提供建議和修復方法。
使用生命週期管理系統:
一旦發現問題,自動利用安全的 OTA 更新軟體。積極採取證書管理來管理安全憑證,並部署統一的端點策略管理來管理在汽車生命週期內下載的應用程式。
組織內建立安全文化:
確保汽車電子供應鏈中的每一個企業都接受功能安全以及安全保障最佳案例的培訓,並在企業中形成安全文化。
「未來 5 年內只剩 2~3 種系統」
對於很多人來說,我們在車裡最直觀能接觸到的軟體就是 IVI(車載資訊娛樂)系統。 事實上,目前國內主機廠或者供應商在開發 IVI 系統的時候,大多數都以 Android 系統作為基礎。
這麼做的好處很明顯,首先是開發難度。國內具有 Android 系統開發能力的工程師數量多,團隊建設更容易。其次,Android 的第三方應用生態成熟。無論是通過接入 API 或者是 SDK 的方式,都能迅速把移動網際網路的服務能力移植到車裡。
除了 Android,還有以 Tesla 為代表的的 Linux 陣營。這兩種系統本質上都是開源的系統,主機廠能夠有更大的話語權來進行系統層面的定製,得到更個性化的產品。
Kaivan Karimi 告訴我,基於開源軟體開發雖然在初期會有一些優勢,但是在最關鍵的安全層面卻容易出現風險。畢竟開源的背後,也代表有更多可能被入侵的風險。雖然開源軟體在初期開發上費用會比 QNX 更低,但後續的維護成本會更高。
另外,我們之前在討論自主品牌開發 Android 系統車機時就提到過,這樣的策略也容易受限於 Google 的開發節奏。畢竟車機硬體沒辦法做到很快的迭代,對系統的持續維護也會有更高要求。
Kaivan Karimi 表示:「Linux 系統 5 年內會在汽車內消失,未來只會存在 2~3 種作業系統。」雖然這樣的說法有些絕對,但也說明從安全廠商的角度看,系統數量越多就意味著越大的風險。
在去年,QNX 釋出了 Hypervisor 2.0 系統。通過這套系統的虛擬化技術,能夠將液晶儀表、IVI 系統、ADAS 系統等多個作業系統合併到單一晶片系統上。並且系統能夠將各個模組分隔,這樣即使有某個部分發現風險,也能避免影響到其餘的功能。比如當 IVI 系統發生錯誤宕機,也不會影響到車輛底層和駕駛安全相關的系統功能。特別是當自動駕駛技術的應用開始普及,這樣的功能就顯得更有必要了。
Hypervisor 2.0 系統能夠支援類似執行 Android 系統軟體。Kaivan Karimi 告訴我,無論是 Android 或者是百度的產品,都能夠在 QNX 的 IVI 系統中執行。這樣也彌補了 QNX 在第三方生態方面的不足。據 GeekCar 的瞭解,國內座艙領域目前比較主流的一種開發方式就是「QNX 儀表+QNX Hypervisor+Android」。
關於汽車的系統安全,無論多麼重視都不為過,畢竟誰都不想坐在一輛不可控的車裡。從這個角度看,類似 Blackberry QNX 這樣的安全服務商雖然對普通使用者沒有明顯的存在感,但扮演的角色至關重要。
原創宣告: 本文為 GeekCar 原創作品,歡迎轉載。轉載時請在文章開頭註明作者和「來源自 GeekCar」,並附上原文連結,不得修改原文內容,謝謝合作!
歡迎關注 GeekCar 微信公眾號: GeekCar 極客汽車(微訊號:GeekCar)& 極市(微訊號:geeket)。