新思科技 (Synopsys) 軟體安全測試解決方案

強化車聯網軟體安全防禦

(台北訊)  近年來網路專家透過車用通訊軟體漏洞及利用網絡瑕疵的攻擊程式,駭入知名車款的音響介面,甚至破解新上市吉普車的車用軟體等事件迭有所聞,獲得業界的高度重視。而就在不久前,美國史上第一起因駭客入侵及車聯網系統相關問題,讓知名車廠大規模召回了140萬輛車,甚至爆出多家知名車廠的眾多車款,皆有可能透過網路被入侵,讓車聯網引發的網路安全議題,正式被搬上檯面。

其實,車用電子軟體應用已經有近半個世紀的歷史,從初階的安全氣囊配備,到車內通訊娛樂系統(Infotainment)等,早成為汽車不可或缺的設備之一。為了滿足消費者的廣泛需求,隨著車用電子的複雜性增加,以及車聯網的快速發展,還有自動駕駛的問世等發展,讓車用軟體的安全議題,成為大眾關注的焦點。

圖一: 新思科技提供全方位的車用電子解決方案

圖一:新思科技提供全方位的車用電子解決方案

開發軟體監測與安全防禦測試功能,是車用電子的趨勢
目前汽車工業執行的車輛性能測試,已涵蓋非常廣泛的測試項目,包括排放物與能源油耗(省油性)、車燈、電磁相容性、實車碰撞、車輛噪音、環保性、疲勞壽命與耐用性、車輛規格、安全性、零件以及校準測試。然而唯獨在汽車軟體的網路安全防禦性測試,仍有許多尚待發展的空間。現今每輛車平均有近100個電子控制元件 (Electronic Computation Units, ECUs),再加上超過1億行的程式碼(lines of code),幾乎是微軟Office 2013的兩倍數量,同時,越是高端的車款,擁有的計算能力越強大。相關單位更預估至2025年,將有超過一億台車輛配備車聯網系統,無論是應用於與車廠通訊、網路或V2V (Vehicle-to-Vehicle)。儘管車用電子結構如此精密,數量如此龐大,然而目前僅仰賴一系列的CAN BUS通訊協定,將零件連結到不同的產品。

美國加州聖地牙哥大學 (UCSD) 與華盛頓大學 (UW) 等相關學者也實驗證實,包含像是行車監控電腦 (Onboard Diagnostic Port, OBD-II),或是連接智慧型手機的車載系統等車用聯網軟體,可能都存在漏洞而讓駭客有機可趁,入侵系統控制車輛解開門鎖、打開車窗,甚至遠端遙控,惡意干擾汽車行駛。因此開發更強大的軟體監測與安全防禦測試功能,是車用電子勢在必行的趨勢。

圖二: 每輛車平均有近100個電子控制元件

圖二:每輛車平均有近100個電子控制元件

新思科技提供完整的軟體安全測試工具(soft testing tools)
新思科技針對車用軟體的安全防禦機制提供完整的測試軟體。 包含透過靜態編碼分析、異常輸入測試、軟體開發分析以及測試與認證套件等多面向的軟體工具,讓汽車研發工程師能從多樣化的測試組合中,選擇最適當的測試項目,發揮全方位的防禦功效。

  • 靜態編碼分析(Static Code Analysis): 靜態分析能辨識靜態編碼誤差,或是開發人員可能未正確執行功能的其他異常跡象。即使產品仍在開發中,靜態編碼分析即可從原始碼的編排,分析特定類型的程式錯誤(Bugs)與弱點。 與其他動態測試工具,例如認證套件與模糊測試,最大的差異在於,靜態分析在測試時並不是真的啟動產品,而是分析程式結構與邏輯後,找出可能運作不良的跡象。
  • 異常輸入測試 (模糊測試) Malformed Input Testing (Fuzz Testing): 模糊測試是一種能找出各種可能會影響安全與可信賴性問題的動態測試工具。模糊測試工具是透過外部介面輸入設計資料,驗證產品在隨意或意外輸入的情況下,能否維持正確運作。 簡易的模糊工具會輸入亂碼,而複雜的模糊工具則會輸入智慧型結構數據,提供隨機與惡意測試場景。
  • 軟體開發組件分析(Software Composition Analysis):軟體開發組件分析(SCA) 能為特定產品,產生一份準確的材料清單,確定是否符合授權義務,所有適合的組件都經過測試以及安全漏洞檢測,同時為了配合即時訊息更新的需求,產品在各種環境之下也能保持連線追蹤,或是升級軟體更新版本。 SCA能指引開發決策,例如如何選擇組件、何時釋放軟體更新與修復,以及建議何時該升級產品中所使用的零組件。
  • 測試與認證套件(Testing and Validation Suites):協助確認所有的協議都正確執行,且產品在有效輸入的情況下如預期運作, 認證套件透過標準定義的協議呈現一致性。 認證通常包含測試,例如單元與整合測試、開發中後期的功能性與探索性測試。 透過測試與認證套件,使用者能動態測試產品,同時也代表著每測試一項功能,就得需要運作一次測試套件。
圖三: 新思科技提供完整的車用軟體簽核平台

圖三:新思科技提供完整的車用軟體簽核平台

推動軟體簽核(signoff)
車用軟體需要標準的車聯網安全防禦系統,和網路安全標準化程序。因應這些需求,美國汽車工程協會 (SAE) 於2015年公布 J3061標準,提供了最佳的車輛網路安全實施方法與初步的準則框架。同時汽車軟體可靠性協會(MISRA),也開始制訂確認全球通用的C和C++編寫方式標準則。

另外,還有ISO 26262 「道路汽車 – 功能性安全(“Road vehicles - Functional safety”, Part 6)」,具體的列出軟體元件測試規範,可謂替車聯網的安全防禦踏出了第一步。同時,美國參議員也於2015年發起汽車安全與隱私法案(或稱做2015年SPY汽車法案),要求國家高速公路交通安全管理局(NHTSA)與聯邦交易委員會 (FTC)共同建立聯邦標準,規範當前互聯網汽車的安全性。即使如此,法律的修改制定,目前仍尚未跟上科技發展的速度,完善的法規與車用電子安全規範,仍是迫切需要研議的議題。

為達到標準化規範,下一個階段便是推動軟體簽核(signoff),提供從上游到下游完整的規範,以便讓軟體研發的初期,即可依照規範設計軟體,讓品質控管有標準可依循,企業也可依照政策與標準進行測試。

完善的安全防禦規範,也有助OEM廠商更確實掌握他們產品的安全性。以國家標準技術研究所 (NIST) 為例, 有國家資料庫分析軟體安全性弱點,以及常見弱點與漏洞 (CVEs)。CVE是以1-10分作為關鍵性評分 ,透過這些資料,汽車OEM廠商若認為有些關鍵性弱點,並不直接影響整體網路安全防禦性、汽車的安全度與可信賴度時,則可表明能接受在特定範圍中有5個或5個以上的CVE。完善的車聯網安全規範,能避免因使用者經驗不足以及責任、風險、甚至是損失相關的高額成本。 類似目前汽車業硬體製造的核准過程,軟體簽核能提供我們對今後所有出貨的產品進行品質控管、安全防禦性、安全度與隱私的標準規範。