几个月前,一张图片迅速在朋友圈中流传,正常开车途中,车内操作系统被锁,智能显示屏中出现红色字体:您的车辆已被锁定,想要解锁请上交比特币。
“我们都知道这张图片是P的,但不妨碍为此担忧,智能汽车恐怕很快会成为勒索病毒下一个攻击对象。”梆梆安全研究院院长卢佐华对雷锋网宅客频道(微信公众号:letshome)说道。
“It's zombie time!(僵尸时间到)”
无论是电影中被黑客一手操控脱离了驾驶者控制,启动“自杀式”袭击的僵尸车,还是现实中屡屡被黑的特斯拉、奔驰等豪车,无不反映出在某种程度上,与已经发展多年的电脑系统相比,车载系统的安全系数难以望其项背。
因此,在智能网联时代到来后,车内网、车际网、车载移动互联网这三网的安全问题,成为横亘在各大车企面前的又一道难关。
综合近年安全情报可以发现,黑客正在针对物联网智能终端、物联网控制程序(包含各类物联网产品操控App)发起越来越多的攻击,而其攻击的焦点就正是包含在这些智能终端、控制程序内部的代码,保护程序安全、代码安全是当今最为重要的安全任务。
作为早期的移动应用安全服务提供商梆梆安全开始考虑将原本面向移动应用的安全防护能力向物联网领域延伸。基于此,2016 年 1 月梆梆安全研究院成立,研究物联网及车联网安全。
然而,任何开始都不会一帆风顺。
前些时间有个段子说,如何才能保证一道门的安全。最理想的方式是上两道锁,一道智能门锁一道传统门锁。如此一来遇到小偷虽然可以打开传统门锁却破解不了智能门锁,遇上黑客即使破解了智能门锁却打不开传统门锁。
殊不知依然存在的传统门锁,封闭了通向智能化的道路;而只使用智能门锁的话,虽然可享受便捷多功能的服务,但也象打开潘多拉魔盒引入了灾难。
车联网上需要保护的门更加繁多,如何实现安全?一方面,安全研究人员对网络上的安全风险了如指掌,往往拿出整套防护方案告诉车厂:hi,你的车处处漏风。但却不能够结合车内部网络结构分解阐述。
另一方面,车厂相当于传统开锁师傅,熟悉车内结构,提供功能安全。可当这台车连上了网,一切都会变得不可控制。但车厂自认为车子很安全:why?为什么要做这些无用的防护。
为了让他们知道真正存在的安全问题,我们要从渗透破解做起,而在此之前更为重要的是系统地学习车内控制系统及其模块功能。
汽车被黑客破解已经有诸多案例,包括特斯拉、奔驰等豪车都难逃“黑手”。对于看客来说,种种破解神秘强大。
而对于安全公司而言,研究破解一辆汽车需要哪些必要条件??
必要条件之一,车!买车?
一辆 Model S 100万,一辆宝马 50 万,嘤嘤嘤,太贵了。
那怎么办?处个“对象”吧,通俗地说就是合作,大家因着共同目标走到了一起,你有车出车,我有技术出力,一起找问题打造安全门。
两方一拍即合,北汽福田,比亚迪、宇通客车等小伙伴的车,在梆梆安全的“操刀”下进行实车测试。
必要条件之二,拿到固件程序,破解智能设备时要从其固件入手,在固件中提取程序。安全公司的破解原理与手段可能是相似的,其中有多种方式和方法,车辆可能会有不同程度的保护,如固件中加入保护机制防止外部读取,或者固件内部进行了加密,防止读取数据。但的确也有不少直接暴露某一个接口且并未进行密码保护的现象,这样很容易就能提取出固件程序。
必要条件之三,还原拿到的程序,进行各种分析,查找 BUG。但破解的确需要一定的思路和灵感,这也是破解人员烧脑之处。这就是各路研究人员大PK的时候了。
记在小本本上的报告最后都要交给车厂,破解只是前期工作,真正要划重点的是发现漏洞后的防御。
端管云防护 VS 车载网关
羊圈破了不可怕,还能亡羊补牢不是?汽车有漏洞也得补,关键是怎么补。
“补洞”之前先来了解一下车联网架构。
典型的物联网基础架构就是“端管云”三层,智能网联汽车要想很好的实现安全运行,也必须从“端管云”的体系架构来实现安全保障。也就是说,安全防护要从多个层面进行考虑,除了汽车的自身安全,通讯以及云端安全也尤为重要。
“端”即是做端点的安全,包括认证等,主要针对车端以及App端。
卢佐华举了一个例子,某次他们针对汽车整机的安全扫描,发现了IVI系统中存在一个缺乏安全校验的升级接口,工作人员设计通过此接口将一款远程木马植入到该终端中,实现了通过App 远程控制终端的效果,甚至进一步能够通过这一App控制另一台车。
事实上不少App端都存在漏洞,缺乏验证,这在设计之初,甚少有人注意。只有通过各方面检测,之后根据检测结果进行不同解决方案的推荐,比如App的加固、App的验证加强、App的密钥保护措施加强,除此之外对车端也是如此,需要做相应的控制程序加固、操控代码混淆。
“云”即做安全存储、安全过滤。
卢佐华告诉雷锋网宅客频道(微信公众号:letshome),在某次针对车厂数据库进行检验时他们发现其云端访问授权校验薄弱,攻击者可以进入数据库完全下载购买某款车型所有的用户信息,包括姓名、电话、地址等。要知道购车人士大多具有一定经济能力,这些对于黑产而言颇具含金量的信息数据往往会被非法高价买卖。
“管”即连接云与端之间的通讯管道的安全,让信息能够顺利传输。
这里有个黑科技——白盒密钥,往往加之以认证技术保证通讯双方进行身份认证。
白盒密钥最早被用在移动支付领域。大概在2015年下半年,移动支付迅速发展,VISA 推动HCE支付系统,白盒密钥被写在标准里用于保护密钥和关键的数据。白盒密钥系统适用于在没有硬件安全芯片的时候,提供对密钥的保护,防止针对密钥的提取攻击。
在目前阶段,物联网和车联网系统往往缺乏安全芯片的集成,密钥缺乏强壮的保护,而一点密钥被破解的后果,往往就可能导致整个安全防御系统的失效。既然这个黑科技那么好用,能不能把它“乾坤大挪移”移到智能设备中去?
当然不能简单挪用,要知道为了适应银行安全性需要,这一密钥大小约在 2M 以内,但在车联网保护系统中,若要实现“一车一密”,需对密钥白盒进行优化升级。
困难的是,车载系统总空间往往很小,有的才512K,上面还要跑业务系统,留给安全机制、留给白盒密钥的空间非常小。
“我们的目标是把白盒密钥压缩至100k以内!,经过科研人员的长期攻关,这个目标现在已经达成了!”
100K大概有多大呢?以下这张动图大小为600K……
压缩密钥是否会降低安全性?这是个略带尖锐的问题。
事实上,安全性与便利性总处于博弈,寻找安全措施与反应速度之间的平衡点变得至关重要。
汽车系统中的总线连接各ECU,其通讯既无认证也无加密,很容易受到黑客攻击。但若在通讯中加上某些认证及加密技术,就会降低车的敏感度,产生不可控的延迟,反而增加了车辆的危险度。
是否可以在网关层面采取措施?卢佐华开始思考。
还记得 2016 年在美国拉斯维加斯召开的黑帽大会上,黑客 Charlie Miller和Chris Valasek 攻击了 2014 款的 Jeep 吉普切诺基的电子控制单元,通过将其中一个单元设置为维护模式并使用另一个单元发送假命令从而禁用电子控制单元。同时还能设置巡航控制速度,但司机能通过踩刹车控制车辆。
一个接口连接两个 CAN 总线,对其攻击就能跨越,在车内传播。但如果有车载网关,起码可以做到最初的隔离,使得针对总线间的攻击、传播变得困难。
另一个例子是黑客曾针对特斯拉攻击其内部网关某一固件漏洞,进而实现对汽车操控。这说明网关自身安全性没有得到保证,所以在做车载网关时有两方面要考虑。
其一,从针对车整体攻击来看,车载网关需要集成包括用户信息认证管理、ECU 升级以及协议转换等众多安全过滤功能。
其二,车载网关作为汽车部件,也会受到直接攻击,如物件提取、侧信道攻击、密钥提取等。它应该如何保护自身?卢佐华提出了微边界多重防御体系。
“智能汽车也是一个完整的网络系统,从网关、网络到系统,再到它的应用程序、密码及数据,每一层都会有一个微小边界,我们需要建立微边界防护体系,也就是进行更细力度的保护。这就类似于互联网的防护模式,从防火墙、服务器防御,以及针对 PC 端防御等层层递进。同样,在车联网内,需要做边界防护、系统防护、程序防护、数据和密钥的防护。”
这是一场拉锯战,无论是安全公司还是黑客们先行一步结果都可能不同。
“对于安全公司而言,研究的技术一定是超前的,甚至要学会换位思考,大开脑洞。但结果必然是早期投入了大量精力以及花销却很难盈利,但我们不得不做。”
卢佐华也向雷锋网表示,“目前我们正联合北航交通与管理学院研究入侵检测系统,其针对车辆运行过程中进行入侵检测,实时发现攻击。”
入侵检测系统的实用性如何?即使是专业的信息安全人士,对此也各持意见。而梆梆安全在这方面研究是起步较早的。
卢佐华也提出了一个问题,汽车等保属于几级?谁也说不清楚。而今年屡屡爆发的勒索软件,让安全人员开始思考,如果勒索软件被用到车联网,会造成什么后果?车辆是个人财产,但如果被有心人利用,可能会变成杀伤性工具。
尽管对于安全公司而言,投入大量人力物力研究的确在早期很难盈利,但这也是一种使命感,兵无常势,水无常形,安全公司与黑客谁先一步占据高地就在博弈时多一份胜意。