ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(1)

ofo小黄车智能锁被破解

9月6号,在极智未来XPwn上,上演了一场好戏,共享单车最大的锁厂截至5月共有515万把投放量的Nokelock的智能马蹄锁被百度安全的安全研究员黄正和小灰灰强势破解!

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(2)

说起来,这也不是小黄车第一次被破解了,遥想当年,大风起兮云飞扬,锤子起兮砸车锁,boom!

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(3)

又能健身又能有车骑,岂不壮哉!

现在车锁公司也算知耻后勇,对低估民众智慧的行为掩面而泣,洗心革面,奋发图强,于是最新的一款马蹄锁诞生了,没错,就是下面这款:

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(4)

但是,9月6号,不妙的事情发生了,在一场名为“Xpwn未来安全盛会”的黑客大会上,百度安全实验室的研究员小哥高鹏树(业内成为“小灰灰”)和黄正展示了是如何破解上面这块“马蹄铁”的。

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(5)

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(6)

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(7)

破解过程分析

那么对于这个事,咱们来细细分析下,是怎么发生的,又该怎么防范呢:

SIM卡

首先,ofo电子车的加密锁内部其实有一块SIM卡,这块SIM卡作为智能锁的控制器和云服务器端进行通信,ofo电子锁没发电装置,这种情况下,为了省电(PS:为了节省成本),ofo大部分时间其实是不与服务器连通的,只有当用户还车上锁时,这个时候会进行一次通信,云服务器端会将下一次的开锁密码发送给车锁“预存”,等下次用户扫码时,电子锁其实并没有和云服务器连接,而是手机从云服务器取得开锁密码,用户将密码输入到车锁,与预存的密码比对来实现开锁(PS:意不意外,惊不惊喜)

破解密钥

百度安全实验室采用了一台小型网络信号嗅探设备,截获了电子锁和云服务器之间的通信信息,但是ofo云服务器端和密码锁之间的通信已经做了强加密,所以他们不能直接读出来,结果变成了看天书,但是显然百度实验室的猛男们并未放弃娇滴滴的小黄车,他们通过逆向工程技术,破解了密钥、加密的数据和通讯协议,获得了云服务器与密码锁之间的敏感数据(包括开锁密码等)

方案晋级

破解了加解密和通信协议之后,百度的猛人们马上想出了四种攻占ofo的方式:

(1)代替密码锁向云服务器发送还车信号,告诉云服务器用户已经还车,这样用户只要不锁车就可以随便骑啦

(2)因为ofo每次还车上锁时,云服务器都会向密码锁发送下一次的开锁密码,只要监听并破解密码就可以任意解锁啦

(3)模拟服务器向小黄车发送下一次的解锁密码,这样就可以把所有的解锁密码替换为自己的密码了

(4)通过电子锁的OTA功能可以对其ROM固件进行更新,就可以将固件代码替换为自己的代码,从而实现了完全控制电子锁啦(开公司啦)

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(8)

解决方案

看看百度安全大佬们提出来的可行计划简直如夜见猛鬼,头皮爆炸,要是被有心的犯罪分子提前知道了,那ofo还不比夜见猛鬼哭的还惨?那我们该从哪些方面解决这些问题呢,让我们逐一看看:

实时联网

首先,ofo电子锁与云服务器并不是时时相连的,这才给了其他人可乘之机,所以进行实时联网,云服务器与电子锁SIM卡互通是一个方式,不过太费电了,成本大,为了省电,而且实时联网并不能阻止破解,先不考虑

不预存密码

ofo云服务器在每次上锁时会提前预存一个密码给电子锁,这样减少了通信次数,提高效率,但是对于已经破解了通信协议的人,是否预存密码并不是关键点,并没有意义

使密钥更安全

百度安全人员通过逆向工程破解了密码锁与云服务器的通信协议,获取了其密钥,而且看后续的他们提出的开公司方案可以了解到,很显然,ofo的车电子锁都是一个密钥!破解了一个就等于破解了所有的!所以密钥的安全是核心问题,我们一会继续延伸

OTA签名校验

ofo电子锁更新固件竟然不需要签名校验,这么大一个OTA漏洞......加上签名校验,但是这样是减少损失,还是不能阻止破解

最安全的方式

其实无论是ofo电子锁与云服务器是否实时连接还是是否预存密码,这都不是核心问题,关键在于ofo电子锁的密钥被人破解,而只要将密钥保护好,这些问题都不会发生,通过上文发现,ofo电子锁采用的方式都是软件加密的方式,而软件加密的方式相对而言容易破解,所以才给了百度安全实验室可乘之机,成功拿下ofo小黄车的DOUBLE KILL,那么什么样的加密方式才是最安全的呢?硬件加密才是王道!

为什么硬件加密最安全呢?

硬件加密将密钥存放在安全模块中,而正规公司的安全模块都是通过国家安全机构认证的。而且硬件加密可以实现会话密钥,即实现密钥的动态变化,每一次使用完后下一次使用密钥都会变化,以上述小黄车为例,即便ofo小黄车单次被破解(当然被破解概率几乎不存在)获得的密钥下次无法使用

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(9)

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(10)

例如,Pancos嵌入式安全模块是典型的硬件加密模块除了具有防检测、抗攻击、自毁等硬件特性外,还具有安全的文件密钥管理,完善的安全机制、标准的加解密运算功能等特性,最主要的应用模式是嵌入到例如智能锁或其他设备中,除了可作为设备的唯一标识(每个模块具有全球唯一的序列号码),提供安全的硬件平台以存储密钥和重要数据外,还可以利用内置算法完成数据的加密解密、双向身份认证、访问权限控制、通信线路保护、临时过程密钥导出等多种功能。可广泛应用于需要加密或身份认证功能的智能设备中,如:车载OBU单元,采集器、IC卡、水、电、气、热表、金融机具、移动支付等终端

ofo小黄车怎么使用(ofo小黄车最新款锁被破解)(11)

如何解决ofo小黄车的问题

ofo电子锁中插入安全模块

对ofo小黄车的电子锁中加入Pancos嵌入式安全模块,对其进行安全的硬件加密,将密钥存放在Pancos嵌入式安全模块的安全芯片中,且Pancos嵌入式安全模块通过了国密算法认证,安全系数非常之高

设置动态密码

在ofo云服务器端设置母密钥,每次ofo云服务器与电子锁通信采用子密钥,子密钥由母密钥每次通信时通过加密算法临时随机给出,使得其他人每次费劲九牛二虎之力聘请超高端国际人才竟然成功了破了子密钥但是发现下次再用居然完全不能用了,还要在花费极其巨大精力重新破解,则投入和收益完全不成比例,破解行为没有任何意义

有了Pancos嵌入式安全模块这样的“神器”,泛辰信安为ofo小黄车的安全问题竖起了一道巨大而坚固的屏障,为ofo小黄车的长远发展安全护航,后方稳定,前方才能一往直前,勇于开拓而没有后顾之忧!

,