美国伦理〈欲女春潮〉|美国伦理〈欲奴3〉|美国伦理巜交换做爰|宝贝腿开大点我添添你下边美国|美国色情巜春药2|美国A片巜禁忌5

鑒源實驗室

Jianyuan Lab

汽車網(wǎng)絡安全攻擊實例解析(二)

發(fā)布時間:2023-08-18 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點擊次數(shù):

作者 | 田錚 上??匕部尚跑浖?chuàng)新研究院項目經(jīng)理

來源 | 鑒源實驗室

社群 | 添加微信號“TICPShanghai”加入“上??匕?1fusa安全社區(qū)”



引言:汽車信息安全事件頻發(fā)使得汽車行業(yè)安全態(tài)勢愈發(fā)緊張。這些汽車網(wǎng)絡安全攻擊事件,輕則給企業(yè)產(chǎn)品發(fā)布及產(chǎn)品口碑造成影響,重則導致大范圍的汽車召回或股價受損,造成的經(jīng)濟損失和安全代價不可估量。本文則選取典型的智能網(wǎng)聯(lián)汽車網(wǎng)絡安全攻擊實例展開詳細介紹。



01

汽車信息安全威脅


隨著汽車不斷向智能化、網(wǎng)聯(lián)化、電動化、自動化的發(fā)展,軟件定義汽車的趨勢日益顯著。目前智能網(wǎng)聯(lián)汽車關鍵代碼規(guī)模提升了10-100倍,代碼漏洞呈指數(shù)級增長,同時汽車電子控制單元(ECU)的數(shù)量和車內(nèi)連通性不斷增長,導致汽車受到信息安全攻擊的風險大大增加。

近年來頻發(fā)的汽車信息安全事件加劇了社會各界對于智能汽車發(fā)展前景的擔憂。比如2015年美國黑帽大會,研究人員通過車載娛樂系統(tǒng)發(fā)動偽裝攻擊,成功入侵Jeep Cherokee遠程獲取汽車的關鍵功能操作權限 [1]。這次事件直接導致克萊斯勒公司在全球召回140萬輛汽車,也促使汽車工業(yè)界更加嚴肅看待智能汽車面臨的信息安全風險。

在此之后,汽車行業(yè)積極應對信息安全挑戰(zhàn),但搭載了先進信息通信技術的新款智能網(wǎng)聯(lián)汽車同樣無法完全回避網(wǎng)絡攻擊的威脅。例如,騰訊科恩實驗室分別在2016年[2]、2017年[3]兩次攻擊特斯拉實現(xiàn)對車輛的無物理接觸遠程攻擊,利用內(nèi)核、瀏覽器、MCU固件、UDS協(xié)議及OTA更新過程中的多個高危安全漏洞,攻入到特斯拉汽車的CID、IC、網(wǎng)關以及自動駕駛模塊,隨后將其發(fā)現(xiàn)的安全漏洞交與特斯拉。2019年[4-5],騰訊科恩實驗室在多款寶馬自動駕駛汽車上展示了利用車載信息娛樂系統(tǒng)和車載信息通信終端的漏洞遠程無線入侵汽車,并進一步利用中央網(wǎng)關的安全缺陷實現(xiàn)向內(nèi)部核心CAN總線注入惡意消息,獲取了底層安全關鍵車內(nèi)網(wǎng)絡的控制權。2020年[6],360 Sky-Go團隊針對梅賽德斯奔馳的車載娛樂主機、車載通訊模塊、車聯(lián)網(wǎng)通信協(xié)議及后端服務等聯(lián)網(wǎng)模塊,發(fā)現(xiàn)19個安全漏洞并利用漏洞形成攻擊鏈路,預計影響200余萬輛梅賽德斯奔馳汽車。類似這樣的“白帽黑客”式策略一直在汽車安全業(yè)內(nèi)上演,以尋找、提交汽車的安全漏洞甚至修復漏洞。


02

攻擊案例分析


2.1 攻擊安利介紹

2016 年[2],科恩實驗室成功利用多個高危安全漏洞對特斯拉實施了無物理接觸遠程攻擊,實現(xiàn)了對特斯拉駐車狀態(tài)下汽車天窗、轉(zhuǎn)向燈、座椅、顯示器、門鎖系統(tǒng)的遠程控制,以及行駛狀態(tài)下對雨刷、后備箱、剎車系統(tǒng)的遠程控制??贫鲗嶒炇沂峭ㄟ^無線(Wi-Fi/蜂窩)進入,破壞許多車載系統(tǒng),如 CID(Center Information Display,中控顯示系統(tǒng))、IC(Instrument Cluster,儀表組) 、Parrot(無線及藍牙模塊)和網(wǎng)關等,然后將惡意 CAN 消息注入 CAN 總線。這是全球范圍內(nèi)第一次通過安全漏洞成功無物理接觸遠程攻入特斯拉并實現(xiàn)任意車身和行車控制。

2.2 案例分析

2.2.1 研究對象

科恩實驗室成功在特斯拉Model S P85 和 P75 上完成了測試,對應的車型及版本信息如下圖1和表1所示。

8421.png

圖1 研究對象—Tesla Model S

8422.png

表1 測試車輛版本信息

2.2.2 攻擊步驟解析

1)攻擊瀏覽器

在攻擊開始前,首先需要確定攻擊面。每輛特斯拉汽車中都有車輛提供的Wi-Fi熱點,很多用戶會將SSID的信息保存在車上以便用于自動連接。如果偽造這個Wi-Fi熱點,并將QtCarBrowser的流量重定向到攻擊者的域名,即可實現(xiàn)遠程攻擊特斯拉汽車。此外,當在蜂窩模式下,通過建立精心設計的域名,網(wǎng)絡釣魚和用戶輸入錯誤也會導致遠程觸發(fā)瀏覽器漏洞,實現(xiàn)在沒有物理訪問的情況下遠程交付漏洞利用。

通過特斯拉瀏覽器的用戶代理可推斷出QtWebkit的版本在2.2.x,該版本的QtWebkit存在許多漏洞。研究者獲取特斯拉CID的QtCarBrowser二進制文件后,通過利用瀏覽器的這兩個漏洞來獲得特斯拉CID的shell,從而實現(xiàn)任意代碼執(zhí)行。

第一個漏洞存在于函數(shù)JSArray::sort()中。這個函數(shù)將在JavaScript代碼中調(diào)用數(shù)組的sort()方法函數(shù)時被調(diào)用。存在漏洞的函數(shù)代碼片段如圖2所示,如果compareFunction為JSArray::shiftCount(),則m_vector的長度將被改變,并且整個m_vector結構將被轉(zhuǎn)移到另一個地方。然而,局部變量指針存儲仍然指向舊位置,導致內(nèi)存損壞。當非移位數(shù)組調(diào)用 sort() 觸發(fā)此問題時,本地指針存儲引用的變量映射始終與新存儲結構的變量 m_length 重疊,導致崩潰。通過利用JSArray::sort()中的漏洞,可獲取JSCell地址。

8423.png

圖2 易受攻擊的函數(shù)代碼片段

第二個漏洞則是由科恩實驗室發(fā)現(xiàn)的CVE-2011-3928,可用于內(nèi)存泄漏。如圖3所示,若分配多個 Element 結構,在static_cast后,HTMLInputElement的成員m_data將與Element的指針m_next重疊。此外,將第二個和第三個Element結構作為子元素插入到同一標簽中,m_next和m_data都指向第三個Element結構。由于m_data指向StringImpl結構,且該StringImpl結構與 Element結構重疊。StringImpl結構體的成員m_data始終是固定值1,StringImpl結構體的m_length始終是一個足夠大的指針,足以讀取整個內(nèi)存。

8424.png

圖3 CVE-2011-3928中的漏洞

2)本地權限升級

在基于瀏覽器攻擊獲得遠程shell后,仍無法獲得任意權限,這就需要另一個漏洞來從AppArmor中逃脫,并獲得比瀏覽器進程上下文更高的權限。研究者發(fā)現(xiàn),特斯拉上仍存在著名的ARM Linux漏洞CVE-2013-6282(即:內(nèi)核API中缺少訪問檢查)。研究者利用該漏洞,首先修補了setresuid()系統(tǒng)調(diào)用以獲得root權限,然后調(diào)用reset_security_ops()來禁用AppArmor,實現(xiàn)了在內(nèi)核上下文中獲得任意讀/寫權限。

3)未經(jīng)授權訪問嵌入式系統(tǒng)

在特斯拉Model S上除了CID還有三個更重要的獨立嵌入式系統(tǒng),即IC, Parrot和Gateway,如圖4所示。由于網(wǎng)絡設計上的缺陷和缺乏強大的密碼保護,研究者可通過遠程攻擊獲得這三個系統(tǒng)的root訪問權限。

8425.png

圖4 車載網(wǎng)絡的重要設備

· IC

在 CID 中獲得 root 權限后,研究者可在沒有任何密碼的情況下通過“ssh root@ic”的命令獲取 IC 上的 root 訪問權限,并通過SSH登錄IC。

此外可實現(xiàn) CID 和 IC 間的相互訪問。CID包含一個密鑰輪換方案,每24小時從母艦接收用戶的隨機新令牌。CID 會以明文形式在 IC 的文件系統(tǒng)中設置密鑰,這意味著即使只能訪問 IC,也可以SSH到CID 并獲得root權限。

· Parrot

Parrot模塊是一個第三方模塊,型號是FC6050W,它集成了無線及藍牙功能,可通過USB協(xié)議與CID相連。通過掃描Parrot上的開放端口,研究者發(fā)現(xiàn)端口23為Telnet打開。一個重要漏洞在于Telnet是匿名的,研究者可通過“nc parrot 23”的簡單命令來訪問和控制Parrot模塊。

· Gateway

Gateway看起來比IC和Parot安全得多。研究者首先利用二進制文件gw-diag在端口23上喚醒Gateway的后門,找到Gateway的shell 入口。然后,研究者通過逆向固件來獲得其中的token,獲得Gateway的訪問權限。

4)ECU編程

通過拆卸CID單元,研究者發(fā)現(xiàn)了與網(wǎng)關ECU 相連的SD卡中存在一些調(diào)試和升級相關的日志文件。這些文件中描述了整個升級的詳細過程,包括將十六進制文件發(fā)送到ECU,配置繼電器開關和其他重要步驟,可通過拆解文件查看到重要的內(nèi)部信息。

對于更新軟件來說,整個更新由在內(nèi)存地址0x40006AE4位置的函數(shù)控制。它將首先對文件進行安全檢查并設置其工作模式,以確保整個汽車在更新過程中保持物理安全。然后繞過完整性檢查,并將固件刷寫到網(wǎng)關,成功將定制的代碼編程到ECU中,具體操作步驟如下:

①  解壓縮release.tgz文件,確保校驗和值滿足要求。

②  檢查壓縮文件中是否存在manifest文件,并從中獲得該固件包中的版本信息。

③  處理程序中每個“.Hex”文件。將十六進制文件轉(zhuǎn)換為二進制流,并使用UDS協(xié)議發(fā)送固件。目標芯片上的引導加載程序需要將十六進制文件寫入flash,并在每次啟動時檢查應用程序是否有效。最后檢查固件是否已發(fā)送并編程到目標ECU。

  處理完所有這些文件后,創(chuàng)建一個日志,并重新啟動。

5)網(wǎng)關逆向工程和攻擊

在網(wǎng)關上運行的許多重要任務存在漏洞,這些任務幾乎可與CAN總線上的ECU進行任何類型的通信。研究者可隨時注入任何 CAN 消息,并使用補丁來阻止一些必要的 CAN 信號,實現(xiàn)車輛的車身控制,具體攻擊過程包括:

①  網(wǎng)關將20100和20101端口的UDP廣播傳輸?shù)紺AN總線上,研究者可通過偽造UDP信號來實現(xiàn)門鎖系統(tǒng)的控制。

②  研究者可通過將診斷功能0x01替換為診斷功能0x04,并注入CAN消息,將其發(fā)送到ID為0x45的PT-CAN總線,實現(xiàn)在汽車運行或停止時打開燈的操作。

③  研究者定位到固件中存儲的結構體后,通過更改固件中的目標ID來阻止一些重要消息(例如BDY CAN上0x218的ID),實現(xiàn)在汽車行駛狀態(tài)時打開后備箱或禁用自動鎖定功能。

6)攻擊UDS/CAN總線

統(tǒng)一診斷服務 (UDS) 已編入 ISO-14229 中,并允許診斷控制車載電子控制單元 (ECU) 上的功能。研究者通過將電子穩(wěn)定程序(ESP)設置為低速診斷編程會話,利用Bash shell 腳本通過網(wǎng)關注入 UDS 數(shù)據(jù)幀并低速禁用 ESP ECU,最終導致CAN-CH 總線上沒有任何車速相關的CAN消息,并且汽車高速行駛時IC的實時速度值無法更新。此外,車輛會顯示有關防抱死制動系統(tǒng) (ABS) 的警報信息,引發(fā)轉(zhuǎn)向和制動失靈的安全問題。

8426.png

圖5 科恩實驗室制作的CAN控制器


03

總 結


本文介紹了科恩實驗室在實現(xiàn)特斯拉Model S遠程控制的研究中所涉及的漏洞和相關技術細節(jié)。此次安全攻擊事件,是首例利用CAN總線進行遠程攻擊,從而對特斯拉汽車停車和駕駛模式下進行遠程控制的典型案例。最終,科恩實驗室將研究報告及漏洞交予特斯拉,特斯拉在10天內(nèi)做出回應,并利用其OTA 機制進行了瀏覽器、內(nèi)核和ECU固件等方面的漏洞修復和安全更新,將代碼簽名保護引入了特斯拉汽車以保護車載系統(tǒng)。


參考文獻

[1] Charlie Miller,Chris Valasek.Remote exploitation of an unaltered passenger vehicle[C]. Black Hat USA,2015.

[2] Keen Security Lab of Tencent. Free-fall:hacking Tesla from wireless to CAN bus [C]. Black Hat USA,2016.

[3] Keen Security Lab of Tencent. Over-the-air: how we remotely compromised the gateway,BCM,and autopilot ECUs of Tesla cars[C]. Black Hat USA,2017.

[4]Cai Zhiqiang , Wang Aohui , Zhang Wenkai , Gruffke M ,Schweppe H . 0-days & Mitigations: Roadways to Exploit and Secure Connected BMW Cars[C]. Black Hat USA,2019.

[5] Keen Security Lab of Tencent. Experimental Security Assessment of BMW Cars: A Summary Report[EB/OL]. https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Assessment_of_BMW_Cars_by_KeenLab.pdf,2018.

[6] 360 Sky-Go group. Security Research Report on Mercedes-Benz Cars [EB/OL]. https://skygo.360.net/archive/Security-Research-Report-on-Mercedes-Benz-Cars-en.pdf,2020.



閱讀原文


莲花县| 凤山市| 自治县| 左权县| 岑巩县| 福鼎市| 东方市| 阿合奇县| 南京市| 东乌珠穆沁旗| 潢川县| 新津县| 黑水县| 炉霍县| 汉川市| 湘潭市| 襄樊市| 大名县| 富顺县| 专栏| 寿光市| 定南县| 弥勒县| 定结县| 青田县| 凤翔县| 丹阳市| 天等县| 河曲县| 普宁市| 大姚县| 山阳县| 措勤县| 咸阳市| 安多县| 麦盖提县| 哈密市| 浦江县| 翁牛特旗| 武夷山市| 永济市|