<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    解讀trifinite.group對特斯拉的安全研究

    VSole2022-09-14 14:12:39

    一. 概述

    trifinite.group 是由Martin Herfurt和Collin Mulliner于2004 年 8 月成立的計算機專家小組,他們將空閑時間用于無線通信和相關領域的研究。在對特斯拉的研究方向上,他們專注于被動進入系統。

    本文是對他們研究成果梳理后的匯總,從2019年的iBeacon隱私泄露開始,依次介紹Key Drop攻擊、授權提取并重放、授權定時器攻擊、P2D繞過以及加密計數器混淆。其中還將穿插介紹他們開源的工具——能夠模擬 Tesla 汽車 BLE 接口的Temparary以及充當 VCSEC 客戶端連接汽車的Tempara。

    二. 特斯拉解鎖的方式

    1、NFC 鑰匙卡(NFC Card)

    車主隨車就可獲得已加入白名單的NFC鑰匙卡。解鎖或鎖定車輛時,需將卡片鑰匙貼近駕駛座側B柱中部;啟動車輛或進行授權時,需將卡片鑰匙放置于杯托后側的中控臺感應區。卡片鑰匙無法實現“被動進入(passive entry)”。

    2、手機鑰匙(PhoneKey)

    手機鑰匙是特斯拉官方iOS/Android APP中的一項功能,該功能基于Bluetooth LE (BLE)/NFC,允許“被動進入(passive entry)”。把手機設置為車鑰匙之后,手機可以通過藍牙與車輛進行通信,當手機靠近車輛時,車輛會檢測到手機的藍牙信號,并在按下門把手時自動解鎖車門。

    3、鑰匙扣(KeyFob)

    這是個實體小設備,基于Bluetooth LE (BLE),從V.P60開始允許“被動進入”。開鎖時無需手動操作鑰匙扣,將鑰匙扣放在口袋中,拉動門把手即可開鎖。在進行授權的時候,通過輕觸中控臺感應區即可。

    特斯拉一直在汽車行業實施新技術。其中一項創新就是藍牙接口,用于鎖定和解鎖車輛,并可用于唯一識別汽車。特斯拉將此前僅在model 3和model Y上使用藍牙被動進入系統,后引入到特斯拉2021年model S/X改款等產品線中,表明了這項技術在未來幾年對特斯拉的戰略重要性。

    三. iBeacon隱私泄露

    Martin Herfurt 于 2019年發現他的Tesla Model 3會通過BLE不斷對外明文廣播一組特殊的ID號。Tesla將這組ID號作為實現手機APP開鎖的重要參數。

    這組特殊的ID號碼其實和 iBeacon 有關,iBeacon是蘋果公司于2013年9月發布的一種基于低功耗藍牙的通信協議。其工作方式是,配備有iBeacon協議的低功耗藍牙設備向周圍廣播發送自己特有的ID,接收到該ID的應用軟件會根據該ID采取一些行動。蘋果公司還定義了iBeacon廣播的數據格式,其中包含了UUID, Major, Minor, TX Power這幾個重要參數。

    UUID是一串16字節的字符串,這組字符串主要是用來區分各個不同的廠家,比如特斯拉的UUID 為 74278bda-b644-4520-8f0c-720eaf059935;Major和Minor都是2字節的字符串, 它們都是隨機值,可能發生碰撞,但實際上不太可能;TX Power則是通過信號強弱來識別與車主的距離。

    廠家可以根據實際需求重新定義具體用途,Tesla Model3 的廣播數據實例如下圖所示:

    首先車輛藍牙名稱為S7120a62f34cd8018C,名稱的結構遵循:S<8字節十六進制>C(D,P,R)。即以“S”開頭,以“C/D/P/R”結尾,猜測結尾各項分別為:C(center,中間)、D(driver side, 駕駛室一側)、P(passenger side,副駕駛一側)、R(rear,后方)。中間的8字節十六進制是隨機的,并且每輛車都不一樣。

    安裝有Tesla App 的智能手機(Andoid/iOS)在連接車輛時,手機會根據車輛藍牙名稱來識別車輛(未采用藍牙設備地址來識別是因為iOS設備為了隱私混淆了該信息)。

    但是這里存在一個問題,就是用戶并沒有權限改變或者關閉該ID, 那么通過掃描捕捉這組ID號, 有心人就可能實現對車主的跟蹤, 甚至對車主的個人隱私造成困擾。Martin為此還特意寫了一個APP (teslaradar,特斯拉雷達),安裝有此應用程序的手機能夠檢測到在其附近的特斯拉車輛,teslaradar收集到的數據共享后還形成了全球特斯拉監測平臺(https://www.teslaradar.com/)。

    特斯拉在2019年對此風險的回應表示藍牙追蹤是他們內部已經考慮到的問題,他們對此的評估是即便隨機化該ID,還會有其他方法可以跟蹤汽車,該風險可接受。

    四. Key Drop攻擊

    Tesla Key Drop 攻擊通過使用開源的Temparary工具模擬車輛來進行。一旦車主手機上的應用程序開始與模擬汽車的仿真 BLE 接口通信,Temparary將向手機請求授權。當Temparary從手機接收到 VCSEC AuthorizationResponse 后,Temparary會響應用于簽署 AutorizationResponse 的密鑰是未知的。在應用程序嘗試驗證這種異常的情況后,手機應用程序中的車鑰匙將被停用,手機與車輛會斷開連接。

    由于手機中的鑰匙不會被此攻擊刪除,并且鑰匙對真車仍然有效,因此當車主下次要使用車輛時,需要啟動鑰匙恢復過程。該過程需要用卡片鑰匙輕觸B 柱或中控臺上的 NFC 傳感器。

    上文中提到的 VCSEC (Vehicle Control Secondary),用于定義設備和車輛之間的交互,通過它能做很多事情,例如:解鎖和鎖定汽車、打開和關閉充電口、打開和關閉大多數車型后備箱、遠程啟動等。

    此攻擊在 App 版本 4.11.0(2022 年 7 月 15 日)上成功測試。下面展示Temparary實施Key Drop的過程。

    temparary.py 是一個基于 pybleno 的 python 腳本,能夠模擬 Tesla 汽車的 BLE 接口。從APP 上看的話,Temparary模擬了隨機汽車。不過目前該工具只是實驗性的,只實現了基本的交互。https://github.com/trifinite/temparary

    使用方法:

    • 使用 bluez-tool bdaddr將藍牙接口設置為實驗車輛的地址。Android 應用程序能夠判斷車輛的 MAC 地址,只有在地址正確的情況下才會產生連接。
    • 確保停止并禁用系統的藍牙進程,因為它會干擾temparary的 BLE 通知。
    • 復制exapmle_vehicle.json文件并將里面的值調整為被模擬的實驗車輛正在使用的值。exapmle_vehicle.json 中的示例內容如下:

    eir指Bluetooth EIR(Extended Inquiry Response,擴展搜索響應),其結構如下:

    綠色:長度、藍色:iBeacon UUID、橘色:iBeacon major、紫色:iBeacon minor。

    ScanResponse示例:

    綠色:長度、藍色:汽車VIN。

    視頻 https://github.com/trifinite/temparary/blob/main/images/KeyDrop.mp4中展示了Key Drop 實施的主要過程:

    1. 運行./temparary.py 腳本并等待智能手機應用程序連接到temparary會話。

    藍色的是從手機 APP 發出的消息,綠色的是Temparary 發出的消息。

    手機APP 首先發來了 KeyId, KeyID 代表白名單中的密鑰,KeyID = SHA1(public key)的前四字節。

    2. 輸入“e”并回車來切換evil bit。

    3. 輸入“a”并回車請求授權。

    Temparary響應SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST

    Temparary返回白名單中的密鑰。

    4. Temparary與手機斷開連接;

    5. 輸入“q”回車退出應用程序。

    五. Tesla授權提取/重放

    特斯拉授權重放攻擊中也使用到了Temparary工具,它用來收集手機應用發送的VCSEC AuthorizationResponses。

    AuthorizationRequests主要用于被動進入功能,被動進入系統依賴于挑戰-響應模式,大致過程是這樣的:車輛發送一個challenge token,手機應用程序必須對此token用AuthorizationResponse來應答,AuthorizationResponse嵌入在一個VCSEC SignedMessage對象中,該對象的簽名類型是SIGNATURE_TYPE_AES_GCM_TOKEN。

    攻擊者從目標汽車中獲取到challenge token,然后前往車主附近,假裝是汽車發送challenge token以收集手機發送的有效AutorizationResponses。一旦攻擊者收集到足夠數量的有效AuthorizationRequests,就可以在車輛請求授權時進行響應。手機響應車輛的過程可以通過像tempara這樣的工具來實現,tempara.py 是一個基于 Bleak 的 Python 腳本,能夠充當 VCSEC 客戶端對車輛的VCSEC接口進行未經身份驗證的調用。

    而且研究人員在測試中發現,token在幾天內都沒有變化,也就是說用于挑戰VCSEC AuthorizationResponse的token不會經常更改。

    PIN2Drive功能提供了針對這種攻擊的保護。

    六. 特斯拉授權定時器攻擊

    2021年8月特斯拉發布了一項更新。從前,車主使用卡片鑰匙打開車門坐在駕駛座上后,系統會提示將卡片鑰匙放在中控臺上才能啟動車輛,更新后車主在使用卡片鑰匙解鎖車輛后,無需將其放在中控臺上就能直接啟動。

    但是這項功能有一個奇怪之處,即它不僅讓汽車在使用 NFC 卡解鎖后130 秒內自動啟動,而且還使汽車處于能接受全新鑰匙的狀態——不僅不會對添加鑰匙使用者的身份進行任何確認,車載顯示屏上也不會顯示任何告警。

    在正常情況下,添加新的卡片鑰匙或遙控鑰匙時,都需要在中控臺上掃描已認證(即已經有車輛訪問權限)的卡片或實體鑰匙。但是在車主用 NFC 鑰匙卡解鎖車輛后的 130s 內,無需將NFC 鑰匙卡放在中控臺上也能將新鑰匙添加到車鎖白名單中。

    特斯拉引入這一計時器的原本目的是使使用者可以通過 NFC卡更方便的操控汽車,但問題在于這130秒內,使用者不僅獲得了啟動車輛的權限,而且還獲得了注冊新鑰匙的權限。

    當然,特斯拉官方的APP確保了只有車主才能添加鑰匙,它要求必須登錄車輛的Tesla賬戶,否則APP 不允許注冊新鑰匙,但問題是汽車仍然會與附近的 BLE設備交換數據。

    為了保存鑰匙,研究人員需要一個VCSEC客戶端或一個可以處理鑰匙協議的應用程序,為此他開發了一款名為 Teslakee 的 App,用來驗證可以在這130秒內注冊新鑰匙。Teslakee的非武器化版本有助于防止中繼攻擊,可通過https://www.teslakee.com/訪問。

    利用 Teslakee 秘密注冊鑰匙對黑客的唯一要求是:在車主使用 NFC鑰匙卡打開車門后130秒內與車輛的距離必須保持在 BLE 信號傳輸范圍內,如果車主使用手機App 打開車門,則可以通過干擾信號迫使車主使用 NFC卡,并趁機注冊自己的鑰匙。具體實現步驟如下:

    1. 車主用鑰匙卡打開車門,與此同時,中控屏亮起,車主坐入駕駛室并關門。

    2. 攻擊者在車輛附近,手機上裝著 TeslaKee,TeslaKee 看起來識別到了車輛的 MAC 地址,并且也能和車載中控屏一樣顯示車輛的狀態。

    下圖中TeslaKee 界面中的車身周圍亮起,應該表示TeslaKee和汽車成功通信了。

    3.  添加鑰匙時,可以看到TeslaKee界面中確實有認證提示:請刷NFC 卡片以允許當前操作。

    4.  車內用戶并未將 NFC 卡片放置于中控臺上。不久后,TeslaKee界面提示操作已成功。

    5. 保存了被列入白名單鑰匙的TeslaKee APP通過BLE響應 VCSEC 的授權請求。

    如果汽車沒有開啟 PIN2Drive 功能,那么車輛馬上可以被開走。

    所以,將 NFC 卡片交予他人使用時需要注意安全風險。況且,有不少車主習慣將 NFC 卡片總是放置于中控臺上,這也是一個容易帶來風險的習慣。

    值得注意的是,一旦攻擊者在汽車中注冊了有效鑰匙,攻擊者還可以通過發送 VCSEC 命令“REMOTE_DRIVE”繞過 PIN2Drive。https://www.youtube.com/watch?v=vWM98f3-vvc&feature=youtu.be&ab_channel=trifinite.

    七. PinToDrive(P2D)繞過

    trifinite.group 對于P2D繞過只提供了一個演示視頻,并未有更多說明,不過另一位獨立研究員Lex Nastin在其博客中提供了P2D繞過的更多內容(https://www.lexnastin.com/?action=view&url=is-pin-to-drive-really-securing-your-vehicle)。

    P2D功能允許車主設置一個安全的四位數驗證碼,必須正確輸入后才能啟動汽車。但結合VCSEC的部分功能和授權定時器攻擊后,P2D也存在被繞過的風險。

    之前提到特斯拉的VCSEC(Vehicle Control Secondary)能做很多事情,其中一個特別突出的作用,就是遠程啟動。但存在的問題是遠程啟動時并不要求提供P2D碼或任何其他東西。那么在成功執行授權定時器攻擊,擁有一個被列入白名單的鑰匙后,再向汽車發送一條帶有RKE_ACTION_REMOTE_DRIVE RKE動作請求的信息就能夠繞過PIN碼輸入,直接啟動汽車。

    Lex Nastin出于教育目的創建了一個安卓應用程序,名為P2DB(Pin To Drive Bypass)。在自己開啟了P2D功能的車輛上實驗,首先選擇車輛,按下 "Hack",用鑰匙卡輕觸感應區,然后直接啟動。https://github.com/ArchGryphon9362/p2db

    特斯拉2022 年 7 月 22 日對此問題的回復是已在 2022.16.1.2 及更高版本中修復。

    八. 特斯拉加密計數器混淆攻擊

    特斯拉加密計數器混淆攻擊(Tesla Crypto Counter Confusion Attack)的工作原理是用Temparary工具模擬車輛,一旦手機上的應用程序開始與被模擬汽車的仿真BLE接口通信,Temparary工具就將向手機請求授權。

    在從手機接收到VCSEC AuthorizationResponse后,Temparary工具做出響應,表示AuthorizationResponse中加密計數器的值為SMALLER_THAN_EXPECTED。然后,手機應用程序將向車輛詢問實際的會話信息,會話信息中包括實際的加密計數器值和challenge token。

    上述步驟可以用于在手機應用程序中設置一個新的計數器值,該值將用于下一次與真實車輛的通信。將該值設置為最大可能的UINT32值4294967295 (iOS)/2147483647 (Android的INT32),這將打破加密計數器邏輯。而且由于加密計數器不能再繼續增加,該密鑰也將不能再被使用。

    這種情況下通常需要車主重新安裝官方手機應用程序,并生成一個新的密鑰,而且該密鑰必須加入車鎖白名單中。但是來自同一臺智能手機的新密鑰加入白名單將導致車輛中存在兩個名稱相同的不同密鑰。這種情況似乎觸發了一種安全機制,即要求用戶在B柱上輕觸NFC 鑰匙卡。而且這種情況將一直持續到具有相同名稱的第二個密鑰被刪除。

    由于在此期間需要不斷使用NFC 鑰匙卡輕觸B柱,這也為攻擊者實施密鑰注冊提供了機會。

    藍牙功能特斯拉
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    來自柏林工業大學(Technische Universit?t Berlin/TU Berlin)的三名網絡安全研究人員成功入侵了特斯拉的自動駕駛系統。他們的利用相對便宜的設備實現,允許訪問內部硬件,甚至解鎖具有增強功能的隱藏“Elon模式”。
    據報道,NCC集團研究人員發現了一個廣泛存在的藍牙低功耗(BLE)漏洞,可能被用來解鎖特斯拉汽車、住宅智能門鎖、樓宇門禁系統、手機、筆記本電腦和許多其他設備。
    如今,很多特斯拉車主都已習慣不帶鑰匙用手機解鎖車輛,但最近一位網絡安全研究人員已經展示了「無鑰匙進入」把電動汽車開走的技術,新的漏洞為人們敲響了警鐘。
    據Bleeping Computer消息,NCC集團的安全研究人員近日已成功攻破特斯拉無鑰匙系統,在中繼通道建立起來后,整個攻擊過程只需要不到10秒鐘即可打開車門,并且可以無限重復攻擊。
    來自十個國家的道德黑客云集溫哥華Pwn2Own黑客大賽,兩天內披露多種技術中存在的超過22個零日漏洞。
    Tesla服務器錯誤致全球車主無法通過app解鎖車輛。從美國東部時間19日下午4時起,有多個Tesla車主在社交平臺發文稱,Tesla app在與車輛通信時返回500服務器錯誤消息。
    解鎖或鎖定車輛時,需將卡片鑰匙貼近駕駛座側B柱中部;啟動車輛或進行授權時,需將卡片鑰匙放置于杯托后側的中控臺感應區。中間的8字節十六進制是隨機的,并且每輛車都不一樣。一旦車主手機上的應用程序開始與模擬汽車的仿真 BLE 接口通信,Temparary將向手機請求授權。在應用程序嘗試驗證這種異常的情況后,手機應用程序中的車鑰匙將被停用,手機與車輛會斷開連接。確保停止并禁用系統的藍牙進程,因為它會干擾temparary的 BLE 通知。
    最近一次的大規模召回涉及356309輛Model 3和119009輛Model S ,原因是車輛的后視攝像頭和前引擎蓋存在潛在的故障風險。當用戶開關后備箱時,Model 3車輛上的后視攝像頭可能會受損,導致顯示屏不顯示,增加撞車風險。而且,與之前只通過無線更新就能修復的車輛不同,此次召回的部分車輛必須在車廠進行實體維修。
    接下來,代駕司機可以通過平臺分配的時時數字鑰匙,駕駛車輛并送達指定保養地點。保養結束后,另一個代駕訂單也隨之而來,同樣是通過實時數字鑰匙將車輛再送回用戶指定的地點。銀基推出了全鏈路監控系統諸如此類產品。據悉,銀基從2018年開始,以智能汽車網聯化領域作為核心方向,自主研發車聯網安全產品“汽車數字鑰匙”,至今已與國內外50余家主機廠達成戰略合作,60余款車實現兩場,100多款車型定點。
    本研究是針對特斯拉 Model X 無鑰匙系統的實用安全評估。所分析的無鑰匙系統采用了由通用標準認證的安全元件實現的安全對稱密鑰和公鑰密碼原語。本文記錄了該系統的內部工作原理,包括遙控鑰匙、車身控制模塊和配對協議。此外,還介紹了相關逆向工程技術和幾個安全問題。其中,遙控鑰匙固件更新機制和遙控鑰匙配對協議中發現的問題導致繞過了所有已實施的加密安全措施。此研究還開發了一種完全遠程的概念驗證攻擊(PoC
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类