汽車網路安全滲透測試

創提科技
2022/02/14

分享到

“轉載自維克多汽車技術(上海)有限公司,作者Vector China”
 

產品和企業IT的融合引發了新的網路安全風險,從功能安全到資料隱私都面臨潛在威脅。汽車行業正在使用各種方法進行安全檢測和驗證,但傳統的安全測試中漏洞檢測低效且不完整。Vector帶來一種使用更少測試案例的增強型灰盒滲透測試,能夠在提高覆蓋率的同時降低誤報。


汽車是車輪上的電腦,安全對其至關重要。這也對其他IT系統提出了挑戰:確保所有操作模式下的功能安全。產品IT和企業IT的不斷融合對網路安全提出了較高要求。當前,ISO 21434國際標準和UNECE R.155(CSMS)以及R.156(SUMS)兩個法規,要求在汽車整個生命週期中強制執行系統性的風險緩解措施[1,2,3,4,5],並且對於安全測試部分,法規和標準要求實施傳統測試疊加專屬安全測試的解決方案。
 
滲透測試特別有助於識別和降低在開發設計過程中未被考慮的網路安全攻擊。作為白帽駭客常用技術,滲透測試通常在與安全相關的V模型開發流程中的驗證階段進行。為了有效地使用滲透測試,本文會介紹如何將其與V模型左側連接起來。涉及的相關步驟為:範圍界定、資訊收集和監測、威脅建模、漏洞分析、發掘和報告。滲透測試人員需要像黑帽駭客一樣思考,以白帽駭客的角度滲透到系統中,去發掘和排除漏洞,以消除或降低其所帶來的潛在威脅。
 
滲透測試主要有三種類型,即白盒、傳統黑盒和創新的灰盒滲透測試(GBPT)。白盒滲透測試方法是一種純粹的知識型測試,系統的所有原始程式碼和內部資料都可供測試人員使用。雖然這種方法相對來說帶來最多的測試結果,但耗費大量的時間和精力。黑盒滲透測試(BBPT)也被稱為傳統滲透測試,是一種非知識型測試,測試者只瞭解公開的檔和標準。通常在這種測試中會採用暴力破解法,由於需要覆蓋大量信號和場景的排列組合,同樣需要投入相對較多的時間和精力。
 
由於駭客掌握大量的架構知識、軟體和漏洞資訊,他們會通過各種途徑攻擊系統。GBPT有助於提高系統在網路安全方面的魯棒性。在GBPT中,基本的高層架構資訊和來自網路安全需求分析階段的TARA分析結果,共同被作為GBPT的輸入。這種方法花費的時間和精力相對較少,在當前階段比傳統的BBPT更具優勢。而傳統的BBPT既沒有一個良好的功能需求跟蹤機制,也沒有考慮高層架構資訊以確保涵蓋所有的漏洞和攻擊路徑,缺點在於不能首先解決風險最高的漏洞。這種傳統的BBPT機制需要大量的時間和精力,因此需要修改測試方案,使之既有效又高效。


灰盒滲透測試
 
基於TARA的增強型灰盒滲透測試(GBPT)方法包括10個步驟,已被證明在效率和覆蓋率方面比傳統的BBPT更具優勢。該測試方法以風險為導向且具有良好的可追溯性機制,以確保用最少的時間和精力來覆蓋所有的漏洞。GBPT基於傳統的滲透測試,通過引入資產、威脅和架構等理念來增強測試效率和效果。具體來說,GBPT採用三峰模型來建立和維護基礎的可追溯性[6]。為了避免像單純的白盒方法那樣產生盲點,測試中保留了外部黑盒的視角,因此稱之為 "灰盒"。


汽车网络安全渗透测试-2.png
 
圖 1| 貫穿整個生命週期的灰盒滲透測試十步法則

 
為了便於實施,GBPT可以分為10個步驟[6],圖1。
 
1. 提取系統資訊。這涉及到基本特性、用戶體驗,也包括負面需求(誤用、濫用和混淆的情況)。特性被推導出來的過程是專業級可追溯性模型的起點。
 
2. 模型化基本架構和介面。確定產品的元件,這些元件應該能夠縱向追蹤到電路級元件,以進行自上而下的遞迴滲透測試。
 
3. 識別相關資產。從安全、操作性能、隱私和立法等四方面追蹤各資產的特徵,以確保詳盡的覆蓋。
 
4. 分析硬體和軟體需求。許多與硬體、協定、IP堆疊等相關的規範都可以在網上找到,駭客也會使用這些規範。使用公共漏洞資料庫,如CVE漏洞庫來鎖定弱點。
 
5. 進行威脅分析和風險評估(TARA)。基於面向攻擊向量的前向追蹤鏈路,借助與需求相關的失敗系統測試用例,進而推導出危害場景。
 
6. 創建一個最小可行的滲透測試案例庫。通過攻擊向量的ID對其進行追蹤,以確保良好的測試案例覆蓋率,並產生一個最小的、非冗餘的滲透測試案例庫。
 
7. 實施滲透測試。使用上一步驟中產生的最少可行測試案例,並報告有效和無效的漏洞。
 
8. 用KPI來衡量性能。有效漏洞的數量和最少可行的測試案例數量被用來計算衡量GBPT有效性和效率的KPI。
 
9. 進一步提煉出功能性網路安全要求。使用三峰模型法來系統地識別必要的安全保護[6]。
 
10.實施回歸測試。每一次變化都需要進行回歸測試,使用GBPT開始階段創建的可追溯模型,可以使該測試效率最大化。


案例研究:資訊娛樂系統和乙太網
 
在乙太網的説明下,軟體和配置的更新可以更快地部署。與CAN等匯流排技術相比,乙太網可以通過VLAN和網路交換機等技術實現更徹底的功能解綁(即獨立的功能域,一個功能域內的獨立功能)。結合使用交換機、與IEEE 802.1Q標準相關的VLAN規範、服務品質(QoS)以及防火牆等概念,可以限制網路內部的通信路徑並兼顧資料包的優先順序。
 

汽车网络安全渗透测试-3.png

圖 2| 基本網路拓撲的簡化架構


在此基礎上,我們將應用TARA分析。Vector Security Check和既有的基本網路安全工程方法,已經完成了對目標的安全評估並對相關建議措施進行了實踐。TARA分析汲取了Vector全球範圍內網路安全專案的寶貴經驗,並參考行業內如EVITA,HEAVENS等汽車開發中關於安全風險評估方法的最佳實踐[1, 2]。在此基礎上,簡化後的用例場景包括汽車的常規使用、汽車診斷和售後優化改進。
 
首先,對資產進行分析。所需的資產存在於給定的架構中,他們是開關的開關功能和過濾功能,篩檢程式,防火牆的前向功能,以及通過交換機和防火牆的跨域通信,域的正常運行,與隱私有關的資料和智慧財產權(IP)。
 
可識別到的乙太網交換機和連接區域的具體威脅為檢測到ECU性能下降,訪問個人資料(如連絡人),資料丟失和向駕駛員顯示錯誤警告。此外,通過使用有效的元件號克隆和引進假冒元件,竊取製造商的智慧財產權或安裝非授權軟體來威脅車輛的安全,干擾和分散駕駛員的注意力,以上這些也都屬於被識別到的威脅。
 
由此可以得出乙太網交換機和連接區域的具體攻擊向量,例如抑制通信的DoS攻擊、漏洞利用、CAN匯流排上的報文欺騙和個人資料的竊聽,以及功能的遠端控制,操縱中央閘道模組(CGM)的路由表和改變過濾策略。其它衍生的攻擊向量比如重放舊的清單和報文,破壞或刪除日誌,以及破壞從資訊娛樂系統發送到其他ECU的關鍵資訊。COMPASS工具被用來歸檔威脅和攻擊向量,從而實現對滲透測試的追蹤、優先順序處理和歸檔(圖3)。


汽车网络安全渗透测试-4.png

 
圖 3| 完成資產和攻擊向量定義後的威脅場景示例


鑒於攻擊向量和參考架構,GBPT的先決條件可以用最常見的預期攻擊來完成,如DoS、MAC欺騙、竊聽、VLAN跳轉和注入惡意軟體。在重複GBPT的基礎上,採用適當的安全機制以降低重大安全風險,例如防火牆、VLAN和網路隔離、IDS和安全啟動以及安全記錄、安全通信(MACs、MACSec)和加密。
 
所提出的安全目標被進一步分解為安全要求,以便於實施和測試。應選擇合適的安全機制來實現安全目標。為了將可行的回歸策略制度化,每一個增量都要執行GBPT的子集,每次交付時Security Check都是更新Safety Case的一部分,而該Security Check是基於一組給定的設計規則而進行的剩餘風險分析。圖4提供了案例研究中的一個例子。


汽车网络安全渗透测试-5 小.png汽车网络安全渗透测试-6 小.png

 
圖 4| 案例研究中的剩餘風險分析


灰盒滲透測試(GBPT)的好處
 
GBPT有助於創建一個更準確的攻擊樹,包括所有可能的攻擊向量並且涵蓋全部場景。不像傳統的BBPT,攻擊樹可能包括失敗的威脅路徑,並可能錯過一些重要的威脅路徑,因為測試人員沒有完全瞭解系統的原理圖。黑盒滲透測試員可能會漏掉不同的架構配置。這些不同的配置和路徑對滲透測試者來說是至關重要的,因為它們有助於排除破壞系統的所有可能性。與GBPT方法相比,黑盒滲透測試者只知道現有檔的資訊,沒有系統的內部架構知識。通常在這樣的測試策略中會使用暴力強迫法,這導致需要執行很多步驟去發掘系統,耗費了更多的時間和精力。此外,攻擊向量不會根據風險等級被優先排序,因此可能導致由於可用資源有限或由於測試案例失敗而錯過最關鍵的攻擊向量。所以,一個傳統的BBPT會產生許多測試案例,而測試案例數量的增加會導致額外的工作量、時間、資源投入和成本。
 
有效漏洞的發現數量和測試案例的數量被用來作為衡量測試有效性和效率的KPI。以效率和效益為指標對兩種策略進行比較,結果表明GBPT使用較少的測試案例數量,從而降低了測試成本,提高了效率。與傳統的滲透測試相比,GBPT的缺陷檢測率也更高,也因此提高了有效性或覆蓋率。通過直觀的對比,我們能夠用GBPT識別更有效的威脅,耗時大約是BBPT的一半。實際案例研究的分析表明,基於TARA的GBPT測試,案例數量更少,命中率更高。因此,以風險為導向的GBPT是更有效和更高效的測試策略。
 
有效的網路安全要求在汽車自身及其元件的生命週期中採用系統化的流程,尤其是在後期由於法律的緣由而必須證明這一有效性時,在前期確保流程的系統化就更加至關重要。本文努力為具體的誤用案例以及如何進行相應的驗證提供指導。事實證明,GBPT比傳統的驗證方案更有效率和效果。此外,工程師的心態也必須改變,除了要關注安全功能,更要關注安全設計和驗證。企業IT部門多年前就意識到採取一些隔離機制,比如將功能分佈在專屬子系統中、元件級的保護、元件間的閘道和防火牆、關鍵功能的驗證等是不夠的,以攻擊者的視角進行智慧測試同樣不可或缺。