在上一期我们讲了针对车载以太网DOIP协议详细阐释在实际过程的漏洞发掘过程,本期我们将继续延展,探讨电动车充电系统的安全漏洞。开源网安在基于 GB/T 27930-2015通信标准的电动汽车充电桩中,采用渗透测试、模糊测试和数据流分析等多种安全漏洞挖掘方法,成功发现了三个主要的安全漏洞,本期我们就对此三大安全漏洞进行深入阐述。
欺骗放电漏洞
电动汽车成为汽车消费的趋势,许多车辆尤其是越野SUV会配备车辆对外放电功能,以便于在野外使用家用电器,如风扇、照明、手机充电器等。也有很多车辆未配备对外放电功能,通过深入研究,我们发现充电系统其实存在着可以被利用伪造来自充电机的通信内容的漏洞。攻击者可以通过这种方式欺骗汽车进入充电状态,使得电池包直接对外暴露。这样可能会导致电池包被恶意利用,甚至在极端情况下发生火灾。
01
所需设备
放电插座、24V锂电池、放电装置
02
利用过程
-
12V稳压电源接在A+/A-作为辅助电源供电,将CC2使用1kΩ电阻下拉至设备地,CC1使用1kΩ电阻上拉至6V,激活BMS进入充电就绪状态。
-
按照正常充电流程,根据BMS的应答模拟充电机发送消息,诱使BMS打开电池包的继电器。
-
保持与BMS的正常通讯而不中断,放电插座处直接对外输出电池包的电压,可逆向对外放电。
03
测试结果
汽车进入充电状态并打开BMS继电器开关,电池包直接对外暴露。
04
修复建议
-
对通讯消息进行加密
-
完善BMS与充电机的身份认证机制
中间人攻击漏洞
电动汽车充电依据的标准《GB/T 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议》并未考虑信息安全问题,我们注意到现有的通讯总线存在被破坏的风险。攻击者可以在中间插入装置,解析、向外发送、篡改来自电池管理系统和充电机的全部信息。这样的行为可能导致信息泄漏、过压过流、异常停止充电等重大问题,严重威胁车辆和使用者的安全。
01
所需设备
12V转3.3V 降压器、CAN中继通讯设备、上位机设备(手机、PC)。
02
利用过程
-
利用充电枪上的A+/A-提供的12V辅助供电为中继通讯设备供电
-
利用CAN中继通讯设备截获来自BMS和充电机的全部CAN数据帧,经过缓存后转发至对端
-
通过ID判断当前数据帧的PGN,根据攻击者的篡改需求对数据部分进行修改
-
设备在获取完整的消息后使用Wi-Fi、串口等途径发送给攻击者
03
测试结果
造成信息泄露、过压过流、异常停止充电等问题。
修改充电电流前:191A
修改充电电流后:4A
04
修复建议
-
对通讯消息进行加密
-
完善BMS与充电机的身份认证机制
-
去除12V辅助供电的支持,使得BMS能够独立工作
-
优化充电枪接口的形状,杜绝恶意电路的插入
侧信道监听漏洞
电动汽车充电过程种的通信采用CAN总线通信协议,CAN总线作为差分信号线,在传输数据的时候会泄露电磁信号。我们发现充电接口处的CAN线缆由于分开较大距离且屏蔽不佳,存在被攻击者利用电磁探头侦测总线电平变化的风险,进而逆向推断当前总线的电平,获取当前传输的信息。这种方式可能导致关键信息的泄露,给车主造成极大的不便和风险。
01
所需设备
电磁探头、12V稳压电源、自研解析设备、上位机设备(手机、PC等)。
02
利用过程
-
在充电枪处放置电磁探头,探头圆环所在平面平行于CAN差分总线对所在的平面
-
激活充电过程,探头会侦测到CAN总线电平跳变瞬间产生的的电磁脉冲
-
经放大器放大后传入ADC转换为数字信号
-
经过阈值处理等操作还原真实的CAN总线 电平
-
通过进一步的帧解析,以CAN数据帧的格式传入MCU
-
MCU基于GB/T 27930-2015 将CAN数据帧组装为消息并进行进一步的解析,发送至攻击者
03
测试结果
采集到的电磁信号特征,通过非物理接触改造充电线的方式获取通信数据。
04
修复建议
-
对通讯消息进行加密
-
强化充电接口处的电磁屏蔽性能
-
设计差分总线的连接,减小信号线对的间距
解决方案
面对这些挑战,我们积极行动并提出解决方案。针对第一个漏洞,我们正在研究加强加密和身份验证的措施,以防止攻击者篡改通信内容或伪造通信协议。用户也可以通过对系统进行模糊测试,发现更多的潜在漏洞,如输入验证错误、缺乏身份验证等,以及评估系统在面对各种攻击场景时的安全性,以确保通信内容的完整性和准确性。
对于第二个漏洞,我们正在研究如何改进物理层的防护措施,如增强CAN线缆的屏蔽,减少电磁脉冲和其他外部信号的干扰。用户亦可以通过模糊测试向系统中输入异常信号或干扰信号验证系统的物理层防护能力,并发现潜在的漏洞。并根据结果针对性改进以提高系统对外部干扰的抵御能力。
总之,通过模糊测试的应用,我们能够更全面地评估和提高系统的安全性,发现可能存在的漏洞,并提供相应的改进措施。模糊测试可以模拟各种攻击场景,帮助用户检测和验证加密和身份验证漏洞,以及物理层防护漏洞。通过及时发现和解决这些漏洞,可以确保电动汽车充电系统在面对各种安全威胁时能够保持安全可靠。
总结
在车联网安全中,模糊测试是一种重要的技术手段,它能够帮助我们发现潜在的安全漏洞并评估系统的抵御能力。通过向系统中输入异常或无效的数据,模糊测试可以模拟攻击场景,发现系统可能存在的漏洞。在智能网联汽车领域,模糊测试可以帮助我们发现和修复各种安全漏洞,如缓冲区溢出、输入验证错误等。通过模拟各种攻击情景,评估系统的安全性,并提供有效的修复措施。除了发现漏洞,模糊测试还可以帮助我们评估系统对各种攻击的抵御能力。通过模拟真实的攻击场景,包括网络攻击和物理层攻击,模糊测试可以测试系统的抗攻击能力,以确保智能网联汽车在面对各种安全威胁时能够保持安全可靠。
随着智能网联汽车的发展,模糊测试将成为车联网安全领域不可或缺的工具之一。开源网安将继续深入研究和应用模糊测试技术,以保护智能网联汽车的安全性,并为智能网联汽车的发展贡献力量。通过长期进行安全测试和改进,确保人们能够安心享受智能网联汽车带来的便利,构建一个更安全可靠的车联网生态系统。
推荐阅读:
模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享
模糊测试面面观 | 揭示真实世界中的漏洞发现过程