車聯(lián)網(wǎng)安全車端威脅入侵檢測系統(tǒng)的實現(xiàn)與思考
作為車聯(lián)網(wǎng)領(lǐng)域的信息安全工作者,筆者在近兩年的實際工作中,能夠明顯感受到汽車智能化和互聯(lián)化程度不斷提高,這使得智能網(wǎng)聯(lián)車輛面臨著日益增多的網(wǎng)絡(luò)安全威脅。同時,全球多個國家和地區(qū)均已制定了各自的監(jiān)管法規(guī)和標準,這也對我國汽車品牌在海外市場的發(fā)展提出了一些硬性安全條件。在基于安全威脅和法規(guī)遵從要求的基礎(chǔ)上,筆者希望通過本文,循序漸進地探討一下汽車端側(cè)入侵對抗防護的新思路及可行性。
一、車端NIDS應(yīng)用概覽
目前,我們看到市面上大多數(shù)車端IDPS產(chǎn)品,多數(shù)基于主機安全模式下的HIDS與NIDS進行移植實施。但由于車端本身的算力性能限制,直接進行全量由主機端向車端的策略平移,落地性不僅非常差,而且實際防護效果也非常不理想,主要體現(xiàn)在車端特有場景難以匹配,容易造成實際硬件性能與算力浪費。因此,識別車端與原有主機的差異化攻擊場景及部署方式是量化車端IDPS策略使其真正有效可用的前提。
車端 NIDS作為IDPS系統(tǒng)的重要組成部分,它的主要職責只有一個:實時監(jiān)測車載網(wǎng)絡(luò)流量,及時發(fā)現(xiàn)并應(yīng)對潛在的安全威脅。NIDS探針在車端可通過利用多種檢測策略對流量包進行深度分析和協(xié)議識別檢測網(wǎng)絡(luò)威脅。目前,車端NIDS探針主要集中于對識別已知攻擊模式的識別與防御,相信隨著技術(shù)發(fā)展,后續(xù)亦可通過行為分析等手段持續(xù)提升能力,主動發(fā)現(xiàn)未知威脅,從而提供更為全面的網(wǎng)絡(luò)安全防護。
1.部署架構(gòu)
圖片
NIDS主要包含CAN網(wǎng)絡(luò)(控制器局域網(wǎng))的檢測分析,如CAN DLC 檢測、周期檢測、上下文檢測、UDS 協(xié)議檢測等;以太網(wǎng)絡(luò)的檢測分析,如 DDoS 攻擊、SOME/IP 檢測、DoIP 檢測、掃描檢測、深度包檢測等。這些特點和傳統(tǒng)的IDS系統(tǒng)非常相似。
在當前跨域融合的電子電器架構(gòu)中,一般情況下從上到下分為鏈接傳輸層(TBOX)、跨域融合層(IVI、ADAS、GW)、區(qū)域控制層(VIU)、傳感執(zhí)行層,其中NIDS往往需要部署在TBOX、IVI、ADAS這幾個主要控制器上,從而更好地抓取網(wǎng)絡(luò)流量(均可以定義為網(wǎng)絡(luò)邊界),在一些ECU、VID層面反而不適合部署NIDS。在此,我們想強調(diào)的核心差異點在于:
1)車載NIDS的部署網(wǎng)絡(luò)邊界差異
傳統(tǒng)的NIDS部署模式通常在網(wǎng)絡(luò)邊界POP點或網(wǎng)絡(luò)核心進行流量鏡像,以此實現(xiàn)對網(wǎng)絡(luò)流量的監(jiān)控和分析。然而,車載網(wǎng)絡(luò)具有其特殊性,車載NIDS的部署模式需充分考慮近端組網(wǎng)的場景,且涉及多個零部件的協(xié)同工作。在這種場景下,以零部件為單網(wǎng)絡(luò)部署節(jié)點成為了一種現(xiàn)有的較為普遍的方案。這種部署模式將NIDS直接部署在車載網(wǎng)絡(luò)的各個節(jié)點上,實現(xiàn)對每個節(jié)點的實時監(jiān)控和分析。
2)部署節(jié)點的判定標準差異
車載NIDS的部署點也并非可以以網(wǎng)關(guān)、ADAS、IVI、TBOX一概而論。首先,我們需要考慮車端電子電器架構(gòu)的組網(wǎng)特點。車載網(wǎng)絡(luò)通常由多個零部件組成,這些零部件在網(wǎng)絡(luò)上的對外暴露面各不相同。因此,我們需要根據(jù)零部件的暴露面進行標準評估,以確定哪些節(jié)點需要部署NIDS,可參照如下判斷標準:
?在通信架構(gòu)中的位置(目前ECU在第幾層網(wǎng)絡(luò))
?訪問點(是否有CAN、以太或其他網(wǎng)絡(luò)訪問點)
?承載的功能在網(wǎng)絡(luò)安全層面的分級
2.常見網(wǎng)絡(luò)威脅檢測的方法
NIDS探針基于網(wǎng)絡(luò)流量的特征,一般可以基于以下幾種方式來進行威脅檢測:
?基于簽名的檢測:基于已知攻擊模式的特征簽名進行匹配檢測,適用于已知威脅的快速識別。
?基于行為的檢測:通過分析網(wǎng)絡(luò)流量的行為模式,識別異?;蚩梢苫顒樱m用于未知威脅的檢測。
?基于統(tǒng)計的檢測:利用統(tǒng)計學方法分析流量特征,發(fā)現(xiàn)偏離正常模式的異常流量。
每種類型的檢測策略都有其獨特的實施方式和特點,每種檢測策略亦都有其優(yōu)勢和局限性,因此在實際應(yīng)用中,NIDS通常會采用多種策略相結(jié)合的方式,以提高檢測的準確性和全面性。
二、 車載以太網(wǎng)絡(luò)威脅檢測分析
網(wǎng)絡(luò)威脅檢測需要包括以下內(nèi)容:
1. 源地址與目標地址:通過分析流量包的源地址和目標地址,可以判斷流量是否來自可信的設(shè)備或網(wǎng)絡(luò)。
2. 端口號:端口號用于標識不同的服務(wù)或應(yīng)用。通過檢查端口號,可以判斷流量是否與目標服務(wù)或應(yīng)用相關(guān)。
3. 協(xié)議類型:不同的協(xié)議類型具有不同的結(jié)構(gòu)和特點。通過識別協(xié)議類型,可以進一步分析流量包的具體內(nèi)容。
4. 數(shù)據(jù)包內(nèi)容:數(shù)據(jù)包的內(nèi)容是判斷是否存在惡意攻擊的關(guān)鍵。通過分析數(shù)據(jù)包的內(nèi)容,可以檢測是否存在異常行為或攻擊模式。通過分析流量包的源地址和目標地址,可以判斷流量是否來自可信的設(shè)備或網(wǎng)絡(luò)。
在實際應(yīng)用中,網(wǎng)絡(luò)威脅檢測的實現(xiàn)包括四層檢測和七層檢測兩種方式。四層檢測主要關(guān)注網(wǎng)絡(luò)層和傳輸層的協(xié)議信息,一般會提取出5元組(協(xié)議,源IP, 源端口, 目的ip, 目的端口)。nids會檢查通過車載網(wǎng)絡(luò)的每個數(shù)據(jù)包,確保只有符合安全策略的連接能夠通過。例如,對于白名單的流量,nids會允許其通過;而對于黑名單或者異常連接發(fā)出警告。在實施過程中,nids通過維護一份白名單或黑名單,來定義哪些連接是合法的,哪些是需要告警的。同時,nids利用流量模式分析技術(shù),對流量包的頻率、大小、持續(xù)時間等特征進行分析,以識別可能的異常行為。
而七層檢測則更深入地關(guān)注應(yīng)用層協(xié)議的內(nèi)容,能夠?qū)鬏數(shù)臄?shù)據(jù)包進行更細致的分析。通過深度包檢測(DPI)技術(shù),nids能夠解析數(shù)據(jù)包中的應(yīng)用層協(xié)議,如DNS、MQTT、SSH、SOME/IP、DoIP、TLS等,并檢查其內(nèi)容是否包含惡意代碼、廣告、非法網(wǎng)站等威脅。
我們認為,在車載網(wǎng)絡(luò)系統(tǒng)中,采用七層網(wǎng)絡(luò)威脅檢測方式尤為重要,因為許多車載應(yīng)用和服務(wù)都依賴于應(yīng)用層協(xié)議進行通信。通過七層檢測,nids能夠?qū)崿F(xiàn)對這些應(yīng)用的實時監(jiān)控和威脅識別,從而保護車輛免受網(wǎng)絡(luò)攻擊。其中:
1.鏈路層
圖片
在鏈路層,我們主要監(jiān)測的是mac地址。MAC地址用于標識網(wǎng)絡(luò)中的設(shè)備,通過分析MAC地址,可以判斷流量是否來自可信的設(shè)備。后續(xù)用于識別mac地址是否被偽造,因為在車端場景下車內(nèi)零部件mac地址大概率不會頻繁變更,因此,如果發(fā)現(xiàn)某個MAC地址頻繁變或與其他設(shè)備的MAC地址沖突,那么可能意味著該MAC地址被偽造了。另外,如果某個MAC地址突然出現(xiàn)在不應(yīng)該出現(xiàn)的網(wǎng)絡(luò)位置,或者其流量模式與正常行為不符,那么這可能意味著存在潛在的安全風險。
2.網(wǎng)絡(luò)層
圖片
在網(wǎng)絡(luò)層,我們主要關(guān)注的是Ip地址,包含源ip、目的ip、端口,以及此處可以檢測到是當前數(shù)據(jù)包是基于tcp還是udp協(xié)議。IP地址就像是每個設(shè)備的“身份證”,源IP還是目的IP,是所有數(shù)據(jù)包傳輸?shù)钠瘘c和終點。通過解析IP地址,我們可以跟蹤數(shù)據(jù)的來去。而端口則像是設(shè)備上的“門牌號”,因為不同的應(yīng)用程序或服務(wù)會使用不同的端口進行通信。
3.傳輸層
圖片
在傳輸層中,我們主要解析出端口數(shù)據(jù)包含源端口和目的端口,源端口指的是數(shù)據(jù)發(fā)送方所使用的端口號,而目的端口則是數(shù)據(jù)接收方所監(jiān)聽的端口號。通過對端口進行惡意掃描是常見的攻擊手段,攻擊者通過掃描目標主機的端口,嘗試發(fā)現(xiàn)其開放的服務(wù)并進而實施攻擊,往往端口的探測與掃描也是攻擊的開端。因此監(jiān)控控制源端口和目的端口的使用情況尤為必要。
4.應(yīng)用層
我們認為依據(jù)歐盟R155法規(guī)與《汽車整車信息安全技術(shù)要求》,車載nids所需關(guān)注的攻擊場景主要聚焦于車端側(cè)攻擊,基于車端實際可能實施的攻擊場景,車載nids目前有效的檢測策略其實需要在原有傳統(tǒng)主機安全上做大量的減法,而且完全可以被量化出一個基礎(chǔ)的策略集。在此,我們總結(jié)了以下車載常用協(xié)議及我們認為實際在車端需要關(guān)注的攻擊類型與原因:
圖片
圖片
三、部分車端入侵威脅的典型檢測場景
我們在此總結(jié)了一些常見車端nids的檢測實例供參考,這些場景均參照了R155標準的相關(guān)解讀。
場景1、非法端口探測掃描
在掃描行為中,數(shù)據(jù)包被用來探測目標系統(tǒng)的開放端口、服務(wù)狀態(tài)等敏感信息,從而為后續(xù)的攻擊行為提供情報。在感知非法的端口探測掃描時,車載NIDS探針主要關(guān)注以下幾個特征值:
1. 數(shù)據(jù)包數(shù)量與頻率:非法掃描行為通常會在短時間內(nèi)發(fā)送大量的數(shù)據(jù)包。
2. 數(shù)據(jù)包類型與內(nèi)容:掃描行為通常包含特定類型的數(shù)據(jù)包,如SYN掃描、ACK掃描等。
3. 源IP地址與端口:攻擊者通常會使用特定的IP地址和端口進行掃描。
常見掃描類型及其數(shù)據(jù)包特征
圖片
圖片
場景2、 TCP-DDoS攻擊
DDOS攻擊的策略庫已經(jīng)非常成熟了,覆蓋了從傳輸層到應(yīng)用層各種場景。我們認為,車載NIDS在檢測TCP DDoS攻擊時,主要關(guān)注以下字段和特征:
圖片
場景3、惡意軟件檢測-車端木馬后門
攻擊者通常會利用網(wǎng)絡(luò)流量來發(fā)起攻擊,因此分析網(wǎng)絡(luò)流量中的特征可以幫助我們發(fā)現(xiàn)攻擊行為。常見的攻擊特征包括:
?通信特征:攻擊者會與特定的域名和IP地址進行通信,例如C2服務(wù)器、僵尸網(wǎng)絡(luò)控制中心等。
?協(xié)議特征:攻擊者會使用特定的協(xié)議進行通信,例如HTTP、TCP、UDP等。
?數(shù)據(jù)特征:攻擊者會發(fā)送特定的數(shù)據(jù),例如惡意代碼等。
?行為特征:攻擊者會表現(xiàn)出特定的行為,例如網(wǎng)絡(luò)掃描等。
以Metasploit生成的木馬TLS證書特征分析為例,Metasploit是一款常用的滲透測試工具,可以生成各種類型的木馬。這些木馬通常會使用TLS(Transport Layer Security)協(xié)議進行加密,以隱藏網(wǎng)絡(luò)流量。我們可以通過分析木馬的TLS證書來識別其惡意行為。
Metasploit生成的木馬TLS證書通常具有以下特征:
?自簽名證書:大多數(shù)Metasploit生成的木馬都使用自簽名證書。這意味著證書是由木馬本身簽名的,而不是由受信任的證書頒發(fā)機構(gòu)(CA)簽名的。
?無效的證書:Metasploit生成的木馬證書通常包含無效的信息,例如不正確的域名或組織名稱。
?可疑的證書指紋:Metasploit生成的木馬證書的指紋通常與已知的惡意證書指紋相似。我們分析代碼可以發(fā)現(xiàn)證書的字段生成使用的是faker庫、由于faker庫每個字段都是有限的,我們可以根據(jù)這個生成特征庫來識別木馬。
結(jié)語
除以太網(wǎng)外,CAN網(wǎng)絡(luò)在車載通信中扮演著至關(guān)重要的角色,然而卻存在著多種安全問題。目前,CAN總線缺乏足夠的安全保護措施,導(dǎo)致信息的保密性、完整性、可用性、真實性和不可抵賴性受到威脅。消息在總線上可以被任意節(jié)點讀取,且缺乏消息認證碼或數(shù)字簽名保護,增加了信息泄露和篡改的風險。此外,對ECU進行固件修改時使用口令等弱認證技術(shù),容易受到攻擊。CAN協(xié)議的濫用也存在,攻擊者可以利用總線仲裁機制進行拒絕服務(wù)攻擊,或發(fā)送惡意錯誤幀消息使ECU失效。常見的攻擊方式包括丟棄、修改、讀取、欺騙、洪泛和重放攻擊,以上都對車載CAN總線網(wǎng)絡(luò)構(gòu)成潛在威脅,后續(xù)我們也希望在車端HIDS上繼續(xù)研究更新,并于期待下次與大家再次探討。