百度安全实验室把ofo破解了!

继 ofo 第一代机械锁被曝存在“记住密码就能免费骑”漏洞后,最新一代ofo电子锁也被破解了。

早在去年一个名为 “Xpwn 未来安全盛会”的黑客大会上,百度安全实验室的研究员小哥高树鹏(业内花名:小灰灰)和黄正展示了破解ofo小黄车最新一代电子锁的技术。

呃不不不不,放错图了不好意思,这是第一代机械锁,我们要说的是第二代电子锁。

一人,一台电脑,一个简单的设备,不到1分钟,咔哒一声响,破解完成。

以下将让你看懂破解ofo小黄车背后的技术原理和故事。

Let's Rock !

ofo 和摩拜等共享单车的电子锁里都有SIM模块(类似于我们手机里装的SIM卡),用于和云服务器通信。

但是 ofo 和摩拜的通信原理不一样:

摩拜有发电装置,所以电子锁可以一直和服务器保持连通; ofo的没有发电花鼓,为了省电,它在正常情况下不和服务端通信,只有在上锁的一瞬间和服务器发生短暂通信。

大致场景是这样子滴 ↓

我们(百度安全实验室)利用一台小型网络信号嗅探设备,截获了车辆和云服务器之间的通信,发现通信做了强加密。

加密后,云服务器变成了不知所云 ▼

于是我们利用逆向工程技术,分析出了加密协议的弱点,从而解密了经通信协议加密的数据(通俗解释就是:他们从万能的某宝买到了一个小黄车的电路板模块,皮鞭滴蜡严刑拷打,终于逼问出了它和服务器的接头暗号和交流方式)。

成功破解了通信协议之后,就有了4种破解 ofo 单车的方法:

第一式:佯装还车术

既然已经搞懂了单车和服务器的通信协议,那么只要模拟小黄车发出一段锁车信号,就能欺骗ofo服务器,让它误以为用户已经还车。

接下来你只要不锁车,就可以随便骑啦!

不过这种攻击手法还是需要花一块钱来解锁,不够高级。

第二式:密码拦截术

我们知道,最新的小黄车电子锁每一次还车都会自动更换密码。它的实现原理是这样的:

每一次锁车,单车都向服务器发起请求,询问下一次密码是多少,服务器会返回单车下一次的密码,比如2134。当有用户想解锁该辆单车,服务器再把密码2134通过手机APP下发给用户。

按照这个思路,只要我站在一个正在还车的用户旁边,利用通信嗅探设备截获这段通信数据,就能直接拿到下一次解锁密码。

这种方法可以不花一分钱解锁小黄车,但需要等别人还车才能用,还是不够高级。

所以还有第三招:

第三式:误导小黄车大法

既然小黄车的密码由服务器下发,那也可以伪装成ofo的服务器,给单车下发一个特定的密码,比如:1111,然后用1111去解锁车辆了。

同样,我也可以把设备放在地铁口,不断发出指令,就能把附近所有的小黄车密码都变成1111,让ofo公司失去对小黄车的控制权。

这还不是最绝的。

第四终极奥义:强制更新,完全控制小黄车

小黄车的电子锁里有一个ROM固件,相当于手机的系统。

我们通过分析找到了一个办法,可以伪装成服务器给小黄车下发一个固件版本更新,然后把我们自己做的ROM固件包刷进去,这样就能获得电子锁的完整控制权。(相当于给电子锁重装了一套系统)

正常情况下更新固件需要做服务端签名校验,不允许随意刷入其他非官方固件。然而,我们还发现ofo存在一个OTA漏洞,并没有做校验,所以……

刷完固件之后,这辆车除了印着ofo的 logo,长得是黄色之外,就再也和 ofo 公司无关了。——它再也不受ofo的控制了。

如果我愿意,完全可以控制一大堆ofo小黄车,把它们刷成绿色,然后自己搭建一个服务器,写一个APP,然后零成本运营一家共享单车公司来。

现场演讲PPT ↓

看了是不是很心动,然而技术细节是不会放出来的,直到ofo的工程师们修复此漏洞或者全被祭了天为止。

看完此文的网友:还是一锤子来的实在,不要跟我讲加解密,神经病才做加密,老夫做信息安全都是一把梭哈,哐的一声解锁完毕。

转自:浅黑科技

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();