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