如何看待腾讯玄武实验室曝出「快充安全问题」?

1
回复
140
查看
[复制链接]

微信扫一扫 分享朋友圈

4

主题

11

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2023-1-12 10:29:06 | 显示全部楼层 |阅读模式
近期腾讯安全玄武实验室披露了市面上的快充产品普遍存在重大安全问题“BadPower”,受影响的设备可能以亿计。
有没有懂行的人科普一下这个安全问题是怎么造成的,是快充协议本身有问题?iPhone在充电技术方面表现得并不激进,和这次暴露的这个安全问题有关系吗?



来源:知乎    作者:李橙
链接:
https://www.zhihu.com/question/407265524/answer/1343052434


我是李橙,玩过十几年的二次电池和充电器,也科班学过计算机硬件,我来详细回答这个问题。
<hr/>【关键字】:快充   单片机   可编程


@腾讯安全联合实验室
的一篇“BadPower”报告,一石激起了千层浪,不仅有质疑声,还有的演变成了对某些品牌的营销或者攻击,纷纷偏离讨论问题的主航道,确实有点问题。



那么,究竟有没有问题呢?
说起充电器,本质上没多大技术含量。那么我们就从最没技术含量的「傻瓜充电器」说起。

何为充电?其实就是给被充电设备一个输出一个电压和电流。如果说一个充电器,只能输出一个恒定的电压和电流,这样的充电器就是「傻瓜充电器」,电路实现也极其的简单。

如果这台充电器,能够感知到被充设备电池的蓄电情况,能够感知到电池内阻的变化,能够调整输出电流,并且在充满之后自动停止充电。那么,这样的充电器就可以说「智能充电器」了。当然,二十多年前的手机充电器,就都是智能充电器。这时候,电路实现就比较复杂了。

如果更进一步,充电器和被充设备之间有「对话」,彼此告知我能提供什么样的电压电流组合,我能接受什么样的电压电流组合,双方「商定」用什么样的电压电流组合。其实,这就是最近几年大家都熟悉的充电协议,并且在手机产品中已经有了普遍性的运用,就把这类充电器称为「智慧充电器」吧(不仅仅是充电头,也包括充电宝,下文不再指出)。

那么,这类智慧充电器,目前主流的是怎么实现的呢?
我们知道,很多厂商都有自己的快充协议,有OPPO的VOOC,华为的SC,小米的CT,vivo的FC;处理器厂家也有自己的快充协议,高通有QC,联发科有PE;还有USB的通用协议PD。其实各个门派是非常复杂的,而且自身的协议也都在不断的迭代。

此外,还有一些更加复杂的充电器:它同时兼容以上多种协议。
那么,它们的充电器是怎么实现的呢?其实现在看,是普遍使用了单片机

其实很多年前,一些高端的电池充电器,就是使用单片机来控制的。
何为单片机?

简单的说就是一个简单的计算机系统,有自己的CPU,有RAM和ROM,并且运行编写的程序。只是你拆解的时候往往看不到单个的CPU、RAM、ROM,基本都集成在一块芯片上了,都SoC化了。甚至行业普遍性的把这个单片机单元(有的也称MCU单元)也同样集成到一个功能更强大的芯片里面去。

看到一些网友在质疑对充电头固件重写的可能性,认为这么简单的一个充电头,怎么难道还能给它写程序运行?其实是可以的,因为里面用到了单片机,其实就是一个超小型的计算机系统。
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:





而且一般的单片机IC都有自己的USB接口,就是用来编写程序和调试的,而恰好充电头都有自己的USB接口,这样就导致了不少厂家直接把充电USB接口和调试接口二合一了!并且还不涉密!这就是问题所在。
腾讯联合安全实验室就是这么说的:
不同的快充协议本身没有安全性高低的差别,风险主要取决于是否允许通过USB口改写固件,以及是否对改写固件操作进行了安全校验等。
如果采用的是单片机方案(大部分都是),如果供电和调试端口二合一(很多都是),并且还不加密(看来很多也是),这就为腾讯联安实验室说的BadPower事件成为了可能。

<hr/>关于具体如何实现的问题,其实腾讯说的很隐晦,毕竟现在看这是一个比较普遍存在的安全漏洞,过多的细说具体实现方案,毕竟世界这么大,不能保证没有这种想做坏事好奇心的人。

也可以看出,联安实验室是非常的谨慎的,其实他们早就发现了这里边的问题,并且早在3月27日就上报给国家主管机构了。显然,也早就通知了这些充电产品的厂商。鉴于腾讯联安实验室已经公布了这一安全漏洞,势必也和厂家一起做好了防御,所以我也不妨对具体实现方式(猜测和推到)具体说一说。(如有不合适,请联系我删除。)

其实,就具体实现方面,可以通过专用的设备,包括PC等,连接充电器,对充电器进行编程刷固件。比如联安实验室说的“等一会电压从5V增加到20V”(一般支持PD协议的就能提供20V的输出),都是可以通过对单片机的再编程实现。



图片转自腾讯联合安全实验室文章

很多人在质疑说,手机基本都会有过载保护电路的呀,你这个20V是伤不到手机的!
但是,手机的充电头永远只给手机充电吗?比如充电宝、手环、摄像头等多种设备充电或者供电,这些设备都能承受得了20V的冲击吗?

甚至说,目前已经有手机厂商发布了120W级别的快充,能保证所有的USB充电、供电的设备,都可以抵御的了120W的冲击吗?即便设备承受的了的话,你手里的充电线能够承受得了吗?

我前几天就有某品牌线(注意,是品牌线,不是山寨线,品牌就不说了),用的是手机原装充电器,快充的时候直接把线的C口和手机充电口给“烧”了!(确切的说是冒烟、产生焦味、触片处的塑料热熔,但并未见到火花。)

除了直接用PC等设备连接充电头的方式,也可以在手机中植入程序(可以是手机的升级包,也可以自己特意编写一个,还可以是病毒……),在充电的时候,对充电头的单片机进行编程、刷固件。

本质上,这个问题可以通过手机厂商的升级固件来解决,可以对充电头单片机的编程设定权限或者添加秘钥。

我作为电池老李,其实类似的手机充电安全漏洞也玩过,就是「快充诱骗」
这个怎么说呢?

比如某某手机不支持快充,或者还是嫌快充的功率不够强悍,那么可以通过在充电头和手机之间,加入一个设备,原本充电头和手机之间的「对话」被这个设备截获,这个设备对充电头说:我可以接收你最大的输出功率,而充电头还以为是手机跟它说的。然后充电头给手机一个比参数要大得多的充电功率。



问题是,不少手机还完全接受这个功率!神奇吧?

但建议大家千万不要尝试,因为一般手机厂商给不接受大功率充电的手机(往往是中低端产品)所配备的电池,都不是高价的真正能够快充的电池,而是性能都很一般的要便宜得多的电池。

这类电池用过高的功率充电,除了明显更加剧烈的发热,也会大大影响使用寿命,甚至有燃爆的风险。

其实对于这类快充诱骗,手机厂家也要做好防御,真正把快充协议做精了,而不是一味的把本不是很难的技术吹得多么牛X。

甚至,如果把充电器和诱骗器合并,组成一个山寨的「Bad快充头」,就可以给不支持快充的手机进行快充,是不是又能把自己宣传成黑科技了?

<hr/>这个腾讯联合安全实验室,从往期揭露的各个问题来看,确实是有几把刷子的,这个必须值得肯定。

但作为手机厂家来说,或者说作为各家的粉丝来说,这个时候真没必要去攻击其他品牌,毕竟联安实验室都没有爆品牌,从出现问题的比例来看,可能真的是普遍存在的。所以,话不要说的太满。

充电器的话,哪怕手机厂家自己吹得多牛叉,其实哪怕是小尺寸的65W充电头,早就多年之前就有大量的第三方公司可以提供方案了,真的没啥,ODM都能做。

对于手机厂家来说,不少型号直接可以诱骗快充,真的太不应该了,因为你不能完全保证充电器端,毕竟用户可能用任何型号的充电器给你充电,甚至不少还是山寨充电器,但你必须要保证手机端的安全啊!

<hr/>再对其他答友说到的小米65W氮化镓充电头、华为快充电头的情况进行说明。
小米65W氮化镓充电头,一度下架,坊间传闻存在安全问题。

其实现在任何一家主流手机厂家的充电头,网络上都有拆解帖,其中任何一块芯片都是可以看到的。

李橙引用充电头网的拆解图片:



内部使用了赛普拉斯的CYPD3174这枚芯片。
官网对这枚芯片的详解是:



看红框里:集成32位MCU子系统,拥有ARM的CPU核心,有64K的闪存、8K的运存。其实这就是一个单片机。

再看看华为现在已经铺开了的40W快充头,图片同样来自充电头网。



使用的是一枚台湾立锜的芯片,官网的技术详解有:



同样重点关注红框里面,芯片同样集成MCU、ROM(其中OPT-ROM可以一次编程,Mask-ROM不可编程)和RAM,也是一个单片机系统。

其实不仅仅是华为和小米的快充电头使用了单片机来控制,实际上是目前整个行业基本都是用单片机来控制,其他手机品牌、副厂充电头,都是一样的,大家都可以去看拆解帖。我也不是特别针对谁。这事,大家千万不要去站队,说谁有问题、谁没问题,其实这是个行业性的问题。

其实正如腾讯联安实验室说的那样,关键在于充电头是否能够刷固件,而不在于有没有使用可写的芯片,其实开了的口子,也是可以通过后续升级固件去封堵。
作为关注二次电池和充电器十多年的我,确实觉得现在的部分手机厂商在快充方面太过于浮躁了。

这次,我真的站腾讯联安实验室。
原文链接:如何看待腾讯玄武实验室曝出「快充安全问题」?
转载自:单片机爱好者
原文链接:https://mp.weixin.qq.com/s/3by3PabYQCkgv_OY3EfooA
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系
我进行删除
回复

使用道具 举报

4

主题

13

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2025-6-30 15:52:26 | 显示全部楼层
为保住菊花,这个一定得回复!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表