安全漏洞和攻擊使汽車及其車主處於危險之中
當我們將汽車稱為大型脂肪資料生成計算機中心時,我們並不是在開玩笑。
如果你繼續去特斯拉麵試,甚至還有一個面試問題,“特斯拉有多少行程式碼?”
我不完全確定,但即使在十年前,高檔汽車也包含 100 個基於微處理器的電子控制單元 (ECU),它們共同執行超過 1 億行程式碼。然後是遠端資訊處理、駕駛員輔助軟體和資訊娛樂系統,僅舉幾例需要程式碼的其他元件。
隨著汽車的數字化和自動駕駛能力的提高,程式碼的完整性將變得更加重要——尤其是它的安全性。
每輛車都有許多元件,每個元件都可能有不同的程式碼庫,如果測試或保護不當,很容易受到錯誤、錯誤或惡意程式碼的攻擊。所以必須能夠在汽車離開工廠車間之前保護好它們。
國外友人最近與Finite State的創始人兼執行長 Matt Wyckhouse 進行了交談,以瞭解這些汽車製造商如何保護所有這些程式碼。他還擁有一輛特斯拉,因此他想親自投資了汽車安全,覺得這是個大商機。
有限狀態將安全“儘可能向右推”,這確保了最終構建的程式碼是安全的,以確保在測試和汽車交付客戶之間沒有任何變化,在整個開發生命週期中構建安全性是很常見的。
最常見的安全漏洞有哪些?
編寫不佳的程式碼容易受到安全風險或惡意活動的影響。汽車微處理器中的那幾百萬行程式碼都有自己的起源。例如,嵌入式系統韌體,包括用於聯網車輛的韌體,由 80-95% 的第三方和開源元件組成。
而且,一旦您開始使用可能無法分享您的安全警惕性的其他方的軟體,風險就會增加。一些常見的例子:
Log4J 漏洞
最近出現的Log4j 漏洞示例— Apache Log4j 基於 Java 的日誌庫中的零日漏洞。
主要開發人員可能已將 Log4j 軟體作為其開發實踐的一部分。或者,它可能被封裝在以 Java 構建的第三方、第四方或第五方元件中,這些元件最終會出現在最終軟體中。
這會危及使用該庫的任何自動伺服器的安全性。隨著時間的推移,這些資料被收集並存儲在不同的地方。這增加了影響車輛軟體的風險。
![]()
當你可以破解 25 輛特斯拉時,為什麼還要破解一輛特斯拉?圖片:特斯拉
1 月,由於特斯拉司機使用的第三方軟體中發現了一個安全漏洞,網路安全研究員 David Columbo遠端訪問了超過 25 輛特斯拉。
這並沒有使他能夠“駕駛”汽車。但他可以鎖定和解鎖門窗,禁用汽車的安全系統,按喇叭,開啟和關閉汽車的收音機。
所以,我現在可以完全遠端控制 10 個國家的 20 多輛特斯拉,而且似乎沒有辦法找到車主並向他們報告……
——大衛科倫坡 (@david_colombo_) 2022 年 1 月 10 日
硬編碼憑證的安全問題
另一個例子是硬編碼憑證,這是在原始碼中放置純文字密碼和秘密資料的地方,它為產品測試和除錯提供了後門。
在最終程式碼中,攻擊者可以讀取和修改配置檔案並更改使用者訪問許可權,如果在多個裝置上使用相同的密碼作為預設密碼,那麼您將遇到更大的問題。
2019 年,MyCar 移動應用程式中留下的硬編碼憑證使攻擊者有可能訪問消費者資料並獲得對目標車輛的未經授權的物理訪問。
那麼,該如何保護軟體免受漏洞和攻擊?
Finite State 與客戶的安全團隊分享了一些資訊,工作從測試階段開始,專注於最終的二進位制副本和構建,他們逆向工作,自動執行程式碼逆向工程、反彙編、反編譯和測試弱點和漏洞。
Wyckhouse 解釋說,最終測試使他們能夠看到軟體工件隨著時間的推移是如何變化的:
如果有一個無法追溯到開發團隊的行動的意外更改,那就是進一步調查的理由。
當我們真正想到網路安全和移動性時,我們才剛剛開始。
但根據 Wyckhouse 的說法,汽車製造商不斷投資於安全性,不僅是為了遵守行業標準 ,而且是為了獲得聲譽和競爭優勢,以戰勝屢次遭受安全漏洞之苦的競爭對手。
儘管如此,一週內都沒有一個白帽研究人員發現攻擊或漏洞的一份報告。
隨著汽車自動化程度的提高,風險只會越來越大。
5G時代,機遇越來越多,風險也隨著絆來,希望新能源汽車行業及AI人工智慧的安全能越做越好;
