ChargePoint Home Flex是一款二級電動汽車充電站,專為終端用戶在家中使用而設計。該設備在其硬件中有一個最小的用戶界面,該設備採用移動應用程序進行安裝,並滿足消費者對設備的常規操作。
通常來講,該設備的攻擊面可以分為三類。
1.ChargePoint移動應用程序安裝人員在安裝ChargePoint Home Flex裝置時使用的ServicePro應用程序提供了一種攻擊途徑。
終端用戶在配置和使用ChargePoint Home Flex時使用的ChargePoint應用程序也提供了一個攻擊面。
2.ChargePoint Home Flex硬件該設備包括一個嵌入式Linux主機,通過Wi-Fi與互聯網上的主機進行通信,該單元還包含一個基於德州儀器MSP430微控制器的PCB。無線通信PCB基於Atmel CPU。最後,JTAG接口可以通過無線通信PCB訪問。
3.網絡攻擊面設備的軟件補丁是通過基於互聯網的空中傳送(OTA)更新提供的。移動應用程序用於本地通信的藍牙低能耗(BLE)終端可能會提供攻擊機會,與本地接入點的任何Wi-Fi通信都為攔截和操縱打開了機會。最後,該設備實現了開放式充電樁協議(OCPP)。該協議中的任何漏洞都將在充電器中暴露出來。
安全性研究卡巴斯基實驗室的研究員Dmitry Skylar對ChargePoint Home Flex進行了安全評估。
ChargePoint Home Flex移動應用程序ChargePoint提供兩種應用程序,可與Home Flex充電器一起使用,這兩個應用程序都通過藍牙低能耗(BLE)與ChargePoint Home Flex進行交互。
ChargePoint ServicePro應用程序會在終端用戶安裝設備時使用。此應用程序是使用React Native應用程序開發框架編寫的。這是一個基於JavaScript的開發框架,用於跨平台移動應用程序開發。
以消費者為中心的ChargePoint移動應用程序旨在供最終用戶使用,以管理他們的充電偏好。
雖然我們沒有徹底調查這些應用程序的漏洞或其他漏洞,但移動應用程序中的漏洞是一個重要的攻擊表面。
ChargePoint Home Flex藍牙低能耗ChargePoint Home Flex使用藍牙低能耗與移動應用程序進行通信。趨勢科技的研究人員使用自定義BLE掃描工具找到了充電器提供的終端。
BLE規範中定義了以下服務:
1.BLE服務設備信息:
1.1系統ID;
1.2 型號字符串:CPH50;
1.3序列號字符串;
1.4 程序修訂字符串:5.5.2.5;
研究人員在掃描被測設備(DUT)時觀察到以下BLE服務和功能:
2.設備詳細信息服務:274BC3A3-1A52-4D30-99C0-4DE08FFF2358:
Get/Set PowerSourceType:8D4D6AF5-E562-DC7-85AD-842FBF321C87特點;
Get/Set PowerSourceAmps:F24F7C35-A5FD-4B98-BCA5-50BB5DC8E7CD特點;
Get/Set Apply Settings Status:5597DD46-7EDD-40CC-9904-B693DC05E19特點;
Get/Set UserId:E79C86D4-8106-4908-B602-5B61266B2116特點;
Get/Set Latitude:85F296FC-3152-4EF0-84CB-FAB8D05432E4特點;
Get/Set Longitude:9253A155-701A-4582-A0CF-5E517E553586特點;
Get/Set NOSStatus:C31D51E5-BD61-4D09-95E2-C0E34ED1224C特點;
Get/Set Power Source:C1972E92-0D07-4464-B312-E60BA5F284FC特點;
3.無線上網服務DFAF46E7-04F9-471C-8438-A72612619BE9
Get/Set NextWIFIAccessPoint:E5DEB4B-4DAC-4609-A533-B628E5797E91特點;
Get/Set CurrentSSID:EB61F605-DED9-4975-9235-0A5F4941F32特點;
Get/Set WIFISecurityType:733ED10A-CD1B-43CA-A0C2-6864C8DCF7C1特點;
Get/Set WiFi Configuration:25A03F00-1AF2-44F0-80F2-D6F771458BB9特點;
Get/Set ApplyStatusCode:3BE83845-93E461E-8A49-737F790EBC4特點;
Get/Set Always Empty Response Characteristic:CED647D7-E261-41E2-8F0D-35C360AAE269特點;
3.未知服務B67CB923-50E4-41E8-BECC-9ACD24776887:Get/Set Always NULL Byte Characteristic,7AC61302-58AB-47BA-B8AA-0094DB0B9A1特點;
趨勢科技的研究人員使用自定義的BLE掃描儀對這些BLE終端進行了有限的探測。此外,趨勢科技的研究人員對最終用戶ChargePoint應用程序進行了逆向工程。上表中確定的名稱是根據對Android應用程序代碼的理解推斷出來的。
ChargePoint Home Flex硬件詳細信息ChargePoint Home Flex包括位於設備shell內的兩塊電路板,分別是計量板和CPU板。
計量板包含一個MSP430微控制器。它終止了與電源的電源連接,還終止了最終用戶連接到電動汽車的充電電纜。計量板還通過堆疊在計量板右上方的PCB連接器為CPU板供電。計量板在PCB絲網標記上標記有Panda AC 50標識符,它擁有一個MSP430微控制器。
CPU板承載ATMEL Arm CPU、Wi-Fi無線電和藍牙LE無線電,CPU板在PCB絲網標記上標記為CPH-50 CPU。
以下是一些詳細介紹ChargePoint家用Flex計量板和CPU板的圖片:
CPH-50 CPU板正面
CPH-50 CPU板背面
ChargePoint Home Flex計量板正面
ChargePoint Home Flex計量板背面
ChargePoint Home Flex嵌入式Linux卡巴斯基實驗室先前的研究表明,該充電器使用Linux操作系統。充電器硬件有一個確定為“Panda CPU”板,它實現了充電器上所有可訪問的攻擊面。硬件包括一個ARM CPU,該設備提供一個JTAG調試接頭。先前的研究表明,這種JTAG接頭可以用來獲得shell對充電器的訪問權限。
在對充電器的初步評估中,趨勢科技的研究人員使用了一個捕獲測試網絡來詢問ChargePoint Home Flex。測試網絡有一個運行的Wi-Fi接入點,該接入點連接到運行一組服務的網絡,該服務被配置為模擬充電器所需的服務。該網絡具有一個DNS服務器,該網絡有一個DNS服務器,它被配置為使用測試網絡中的IP地址響應所有DNS A-record查詢。
在測試過程中,研究人員觀察了DUT進行的DNS查詢,並用其試圖連接的所有觀察到的主機名配置了DNS服務器。此外,測試網絡還包括一個web服務器,該服務器被配置為響應DUT提出的網絡請求。 DUT已向以下域發出DNS請求:ba79k2rx5jru.chargepoint.com;
homecharger.chargepoint.com;
publish.chargepoint.com;
研究人員指出,由於TLS證書頒發機構不匹配,向web服務器發起的TLS連接無法建立。強制執行TLS證書頒發機構匹配是一種安全優勢。
ChargePoint Home Flex通過SSH連接到TCP端口343上的服務器ba79k2rx5jru.ChargePoint.com。該研究網絡包括一個允許對任何用戶進行身份驗證的SSH服務器。當充電器啟動與測試網絡中允許的SSH服務器的連接時,研究人員注意到DUT的SSH客戶端啟動了從SSH服務器轉發到充電器上的TCP端口23的TCP端口。這與卡巴斯基研究報告中提到的結果相吻合。
ba79k2rx5jru.chargepoint.com
homecharger.chargepoint.com
publish.chargepoint.com
研究人員指出,由於TLS證書頒發機構不匹配,向web服務器發起的TLS連接無法建立。強制執行TLS證書頒發機構匹配是一種安全優勢。
ChargePoint Home Flex在TCP端口343上通過SSH連接到服務器ba79k2rx5jru.chargepoint.com。研究網絡包括一個允許對任何用戶進行身份驗證的授權SSH服務器。當充電器啟動連接到測試網絡中的許可SSH服務器時,研究人員注意到來自DUT的SSH客戶端啟動了一個TCP端口,從SSH服務器返回到充電器上的TCP端口23,這與卡巴斯基研究報告中提到的結果相符。
總結雖然這些可能不是ChargePoint Home Flex設備上唯一可用的攻擊面,但它們代表了攻擊者可能用來利用該設備的最可能途徑。