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设备上唯一可用的攻击面,但它们代表了攻击者可能用来利用该设备的最可能途径。
文章翻译自:https://www.zerodayinitiative.com/blog/2023/9/7/looking-at-the-chargepoint-home-flex-threat-landscape如若转载,请注明原文地址