安全路透社
当前位置:安全路透社 > 网络转载 > 正文

频繁“被破解”,从“背锅侠”特斯拉看IoT安全

前言

11月24日左右,大量媒体发文说特斯拉APP存在漏洞,导致特斯拉汽车可被他人盗取。最近FB编辑也刚好有时间,于是就对这个事件做了一个详细的调查——某些不负责任媒体及号称安全媒体的“炒作”、“故事会”背后,真相往往并不是你“看到”的那样。

5.png

我们先看一下特斯拉APP的功能。根据特斯拉官网的描述,该APP有着以下功能。

无钥匙驾驶:忘记携带车钥匙时也可以解锁并驾驶 Tesla。

里程状态:检查当前里程数、充电状态并接收充电完成提醒。

温度控制:远程启动天窗通风或温度控制系统。

GPS 定位 :再也不会忘记您停车的位置。

注:在使用移动应用程序之前,请确保您的 Tesla 已经交付,并且在中央触摸屏的设置菜单中启动了“远程访问”功能。

攻击过程

可以说这个特斯拉APP基本上可以完美替代车钥匙。但是这个APP的漏洞在哪里?先让我们观看一下Promon团队针对特斯拉APP的安全检测过程,视频已经做过汉化处理。

观看完视频后,可以总结出他们的测试过程如下:

Promon一名安全人员搭建了一个Wi-Fi钓鱼网络。

特斯拉的车主使用的是Android手机,连接钓鱼网络后下载了恶意APP。

恶意APP重新打包了特斯拉的APP,植入了恶意代码,并且完成静默安装。

当该用户再次登陆伪造的特斯拉APP时,他的登陆账号和密码就被发向了Promon安全研究人员。

安全研究人员利用这个登陆凭证登陆了正常的特斯拉APP对车辆进行定位。

最后找到汽车所在位置,再利用APP进行解锁,然后开车走人。

这个锅真该特斯拉背?

Promon是位于挪威Oslo城市的一个研究所,由SINTEF和Oslo大学资助和组织,主要是致力于APP安全的研究领域,并且号称已经保护了数百万的APP应用。虽然如此,但是这次针对特斯拉的实验非常的不严谨。

如果要满足Promon视频中的攻击结果,那么需要满足以下条件。

1. 用户必须连接到钓鱼热点

2. 用户必须安装Promon制作的钓鱼APP

3. 用户的Android系统必须是Android 6以下的版本

4. 用户必须开启特斯拉远程访问功能

实际上,这个按理来说不应该是特斯拉APP的漏洞,主要是由于Android 6以下的版本存在漏洞,所以说攻击者主要是利用Android老版本的漏洞。利用钓鱼热点将Google商店定向到了一个虚假的地址。所以当用户以为自己是在Google Play下载的APP,实际上他们下载的是一个恶意软件。而且因为Android低版本所存在的漏洞,将导致恶意APP可以提升自己的权限,从而跨目录访问和修改其它APP的文件。估计伊隆·马斯克看完这个视频后是十分蒙B的,莫名其妙的躺枪了。然后特斯拉立刻发表声明称这个不是特斯拉的漏洞,这个锅我们不背!

2.png

或许迫于媒体压力和公关压力,Promon官方主页在11月25日发表了一篇文章,说明这个并不是特斯拉的漏洞,这个攻击方法可以针对所有的Android APP。

1.png

同时特斯拉官方也对这个视频做出了回应:

这份安全报告和视频并未指出特斯拉APP存在任何漏洞。视频只不过演示了一个再明白不过的道理,如果手机本身已经被黑掉了,那么这部手机上的App就不可能再是安全的。这些研究人员只是想告诉大家请更新自己的安卓系统,不然一旦安装恶意APP,就会危及所有安卓系统内的APP,当然也包括特斯拉的APP。

至始至终,感觉这个实验完全就是一场乌龙闹剧。 不过这次实验也反应了特斯拉APP在设计中的一些缺陷。

1. 特斯拉APP没有针对低版本安卓提供任何形式的防护措施

根据Promon的官方统计,从2015年至今,全球大约只有24%的安卓设备是Android 6的版本,而75%的安卓设备用的是Android 6以下的版本。视频中演示的手机型号为三星Galaxy A5,并且未对设备进行root。

2. 特斯拉APP的OAuth授权文件是以明文存储的

据悉特斯拉APP在用户登录成功后会生成一个OAuth令牌,之后全部的请求都会带入这个令牌,也就是说拥有OAuth令牌你可以实时定位,解锁和驾驶特斯拉等。据悉特斯拉APP的OAuth令牌是有效的为90天。90天时间已经足够干很多事情了。

谁来背这个“锅”?

了解入侵步骤后,大部分读者都认为这个安全问题不在于特斯拉,而是在于用户本身。但是正如Promon报告中所述,全球大约有百分之75的安卓设备还存在安全问题,主要原因是制造商并未针对这些设备制定相关的更新ROM,如果用户要对这些设备进行更新,需要自己去刷相关ROM。关于IoT安全防控方面,大部分厂商都采取主动式安全策略,比如设置防火墙,威胁预警建模等等。但是可否换一个思路将主动式安全和被动式安全结合起来?在这里iOS做的就很不错。使用iOS设备的朋友都清楚,在下载APP的时候,有些APP对系统版本有特定的要求,如果你的系统版本过低,需要自己对系统进行升级才可以使用。但是Android系统却一直没有引用iOS系统这种安全机制。

3.png

换个思维来看,在IoT控制端启动的时候,可否在Secure booting(安全启动机制)上下功夫。首先是主动式安全策略,当控制端启动的时候会检查系统的相关环境,在满足特定的情况下才可以顺利启动控制端。实际上,针对IoT的安全策略也有很多,主要是分为以下五个大类。

1. 安全启动:启动时使用密码生成的数字签名来验证设备上的软件的真实性和完整性。

2. 访问控制:对每个访问的请求进行控制,比如权限划分,资产划分,IP段划分等。

3. 设备认证:对登陆的设备进行相关信息验证,比如Mac地址,IP地址等,可以参考Steam的Mac地址信任策略。

4. 防火墙和IPS:通过防火墙和IPS对IoT设备进行保护,阻止含有威胁的流量请求。

5. 更新策略:一旦IoT相关设备运行起来后,应该有一个或者多个更新策略以预防突发的安全预警。

4.png

总结来看,这个锅不应该特斯拉单独来背。安全是一个木桶理论,只有多个方面做到安全,才能保证一定程度的安全。所以安全,不单纯是企业方面需要努力,用户及使用者也需要下功夫。正如上文所述,关于IoT安全,除了主动式安全策略,还应该有相对应的被动式安全策略。

总结

很多安全会议都会讲到IoT安全,那么为什么IoT安全如此重要?IoT的全称是Internet of Things,中文也叫做物联网,其目的是把物品和网络关联起来。在早些年,互联网安全事件只能发送在网络世界里。但是现在,网络安全已经可以直接的影响到我们现实中的生活。在IoT日益发展的今天,安全情况却不容乐观。最为引人关注的就是mirai僵尸网络事件了。部分黑客利用mirai脚本入侵了全球绝大部分物联网摄像头,并且利用这些僵尸网络进行大规模的DDOS攻击,造成美国和德国的网络一度瘫痪,而相对于IoT的安全研究还有很长一段路要走,可谓是任重道远。

Reference

http://www.windriver.com/whitepapers/security-in-the-internet-of-things/wr_security-in-the-internet-of-things.pdf

https://promon.co/blog/tesla-cars-can-be-stolen-by-hacking-the-app/

https://promon.co/blog/updates-precisions-tesla-hack/

*文章原创作者: ArthurKiller(窃.格瓦拉驻FB办事处主任)

未经允许不得转载:安全路透社 » 频繁“被破解”,从“背锅侠”特斯拉看IoT安全

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册