2003年的夏天,午后蝉鸣阵阵。老李家的客人把车停在院子里面,进门和朋友叙旧。宾主寒暄,尚未落座,耳听得院子里引擎轰鸣。说时迟那时快,此车已然冲出大门,如一头野兽狂奔消失在街角。客人一脸懵X,摸摸后腰,本该挂钥匙的裤带上空空如也。
这是当时只有15岁的李均第一次“黑”掉一辆车。什么,你问驾照?呵呵。
【李均】
野生“CTO”
汽车填满了李均的年少时光。
开车对于我来说,是一种几乎不用学就会的技术。
在到达法定驾驶年龄之前,李均就是一名不折不扣的“老司机”了。没有特别的学习,只是坐在车上看过几次家人开车,就顺理成章地掌握了技巧。
说他生在汽车之家并不过分,因为他哥哥开了一家汽车修理厂。初中毕业的他就成功进入自家的汽修厂。在汽车的“海洋里”,李均体验到了如鱼得水的感觉——不仅可以每天开不同的车,还可以拆不同的车。对于那些复杂的齿轮和皮带传动,他都可以过目不忘。乐此不疲地泡在各种汽车中间,让他对汽车了如指掌,靠耳朵听声音就可以诊断大部分的机械故障。
如果修理厂有“CTO”,那么这个职位非李均莫属。
有一次,有一辆自动挡索纳塔的“自动换挡”电控系统出现了问题。李均竟然自己组装了一套加减挡的按钮,让司机根据驾驶情况手动加减档。而改装汽车的警报器等等更是不在他的话下。种种异想天开的修车方式,让李均闪耀出与众不同的光芒。在他的世界里,自己搞不定的车也许还没造出来。
直到那辆宝马出现在他的生命中。
“皈依”名门
有一天,修理厂开来了一辆宝马车,它的防盗器钥匙丢了,要重新配。有个4S店的师傅过来帮车主配钥匙。由于配这种钥匙需要解码,所以他使用了一个专业的诊断设备。我站在师傅的身后,津津有味地看着他调试。但也许是我盯得太紧,为了防止机密泄露,他居然把语言界面切换到了英文。我瞬间就傻眼了。
仿佛有什么东西重重地打到了李均的胸口。在自以为再熟悉不过的汽车世界里,李均第一次觉得这么无助。
汽车的齿轮和皮带,我可以一眼就看出其中的规律;但是这些程序却是在芯片里,我根本搞不懂,而且这种搭载电子系统的汽车显然越来越多。
“受了刺激”的李均做出一个重大的决定——上大学。和其他浑浑噩噩的大学生不同,他有着非常明确的目的:
1、学习英文;
2、学习电子系统的工作原理——计算机。
这个学一上就刹不住车。在获得了成都电子科技大学汽车电子专业和电子工程专业双料学位之后,他又考取了成都信息工程大学信息安全学院的研究生。当然,考虑到他无人能出其右的实操技巧,涉及汽车专业的实操课程,老师都默认给李均满分。
仅仅几年时间,经过专业训练的李均已经再也不是那个野生的 CTO ,他已经可以毫无障碍地阅读海外的英语论文,并且完整掌握了汽车电子系统的工作原理,成为了信息安全方面的行家——一个真正意义上的黑客。
【汽车黑客简史】
2010年,李均看到了华盛顿大学的一篇论文,在这篇论文里,研究者提出了远程控制汽车的可能性。但是处于自身的考虑,研究者并没有在论文中公布细节。然而事实证明,这篇论文深刻地改变了世界汽车黑客的发展脉络。
站在六年以后的今天回望,它启发了美国著名黑客查理和克里斯攻破汽车,启发了大牛马克罗杰斯爆掉特斯拉,也让还是学生的李均发现了“汽车破解”这个炫酷的新天地。
2014年,成绩优异的李均受中国计算机大会的邀请,赴郑州参会。在那里,这个野生“CTO”遇到了一位正牌CTO——360公司的 CTO 谭晓生。正是这次“历史性”的见面,让李均得以成为这家顶级安全公司的一员。
玩坏汽车的N种方法
加入360的“独角兽实验室”之后,李均的团队获得了组织上赞助的两辆汽车:一辆国内知名品牌的汽车,还有一辆特斯拉电动汽车。
这时候,他终于放开手脚,“玩一票大的”。
这似乎是一个真理:你懂得越多,越发现这个世界不美好。经过一段时间研究,李均和其他团队成员发现:目前的绝大部分汽车,都存在着各种各样的安全漏洞。他脱口而出,向雷锋网细数了“玩坏”汽车的N种方法。
【一辆汽车上汽车上可能被攻击的入口】
远程操控
目前的主流汽车,发动机、变速器、车载多媒体等等每个部件上都配有一个控制电脑,而他们之间的协同工作通过一个名为“CAN协议”的方式进行。一旦黑客攻破其中任何一个设备,就可以侵入“CAN 总线”,向其他设备发送指令。
例如:如果通过 Wi-Fi 攻击,拿到车载多媒体系统的控制权,就可以直接向发动机、变速器、转向器发送指令,从而造成汽车异常加减速、异常转向,从而引发严重的事故。
这种攻击可以直接对汽车进行物理操纵,也是目前对智能汽车最大的威胁。
【李均提出的一种安全防御模型】
知识产权窃取
对于一辆车,尤其是像特斯拉一样的智能汽车来说,其搭载的系统固件就如同 iOS 之于 iPhone 一样重要,其中包含了非常多的科技成本和专利价值。如果通过逆向分析,可以得到控制软件的源代码。而这些源代码对于黑客来说显然价值不菲,他们会采用一切可能的手段截获这些代码。
在系统推送更新安装的时候,会有一个解密的过程,这个过程正是黑客们破解固件的关键。
在2015年的时候,就有一个600M的特斯拉固件包被黑客马克罗杰斯获得。虽然他没有公布这些代码的细节,但是却证明了破解特斯拉固件的可能性。
这就意味着,其他汽车厂商可以轻易剽窃特斯拉的技术。而第三方也可以通过改动固件的技术参数,修改掉系统的重要参数,例如限速,甚至植入木马。
李均说。
隐私暴露
在一辆车上,存在着诸多传感器。这些传感器可以随时捕捉车主的隐私信息。例如:
电话系统的麦克风,可以收集车内的对话;
车载GPS系统,则可以暴露汽车的实时位置。
如果这些重要的隐私信息被攻击者拿到,则可能暴露车主的身份,隐私信息或者实时位置。这些都为敲诈、抢劫等犯罪提供重要的数据。
【V2X 车联网 和 ITS 智能交通系统】
车联网鬼魅
智能交通中有一个重要的领域,名为V2X。大概说来就是汽车之间、汽车和道路之间采用专用短距离无线通信,使得整个城市的交通得以被统一调度。
V2X 可以让汽车感受到周边的环境,如果前方有汽车并道,或者后方有汽车超车。系统都会根据两辆车的实时运动状态进行安全测算,从而提示驾驶员或者改变自动驾驶的速度。
虽然在我们身边,V2X 的体系还没有被大规模部署,但可以设想,在一个所有汽车都依靠V2X进行自动驾驶/半自动驾驶的世界,如果攻破了这个体系,将会造成多大的混乱。
例如:
在倒车的过程中,黑客让你的倒车雷达“失明”,你就会很有可能撞到障碍物。
公路上正常行驶的车辆,如果被黑客干扰,可能会“感知”到面前的障碍物,从而被电脑下令急刹车。
黑客同样可以通过V2X信号追踪车辆。
李均介绍说,不久前澳大利亚就爆出智能交通系统存在漏洞,黑客可以攻击城市的信号灯系统。这些攻击都说明:汽车安全的范围正在变得越来越广。
在这些攻击的可能性里,有些只是理论推演,而更多的已经可以真实地作用于我们身边的汽车上。例如黑客对 CAN 总线的攻击,在这两年已经逐步成为“显学”。李均说:“这两年在国际黑客大会上,一直有破解汽车 CAN 总线的议题,有很多黑客还专门制作了 CAN 总线固件的分析工具。这些工具让黑客研究智能汽车的门槛越来越低,甚至一个“脚本小子”也可以加入到“黑车”的行列。”
从小就修车的李均觉得,比起机械故障,显然这种“电子攻击”更加危险。所以他为自己制定了的明确的研究方向:识别这种危险的攻击。
车中的上帝
李均告诉雷锋网,攻击一辆汽车,要迈过两道重要的“关卡”:
1、攻破 Wi-Fi 或蜂窝网络进入汽车系统内部;
2、绕过系统内部的验证机制,对重要设备的发送指令。
如何由外网攻入内网,并不算是李均的长项。不过,一旦进入汽车的铁甲范围内,他就成为了这片领土当之无愧的“上帝”。
作为上帝,首先要做到的就是“全知全能”。要想做到全知全能,就要知道系统在什么情况下会被黑客“蒙蔽”。
美国黑客查理和克里斯对克莱斯勒旗下的 Jeep 汽车进行攻击,可以实现远程控制刹车和转向。但是,他们的攻击有一个非常苛刻的条件,那就是汽车的速度要在5英里以下。在高速行驶的汽车中,系统的自我保护机制会自动忽略转向的信号。
【查理和克瑞斯远程控制Jeep“入沟”】
如此一来,黑客想要造成巨大的破坏——例如高速行驶中突然控制汽车转向——就必须让转向器误以为汽车的速度在5英里以下。这个时候,黑客就需要伪造虚假的速度数据来欺骗转向器。
而李均的任务,就是要用慧眼识别出这种类型的欺骗。他的出发点,是摸清楚一台汽车的“性格”。
如果我知道你是一个性格非常温和的人,而突然有一天,你发短信来对我大发雷霆,那么我就会怀疑这条信息不是你发来的。
他举例说。
李均研究了国内外很多的异常检测方法,最终决定用机器学习的方法来解决这个问题。在请教了360天眼的王占一博士和人工智能研究院的颜水成等大牛之后,他认定,这个 idea 是可以实现的。最终,他利用机器学习的方法,为汽车不同数据之间的相关性建立了一个模型,这个模型包含了诸多有趣的规则:
如果发动机的转速是5000转,车速会稳定在50迈左右,那么我就把这种相关性定义为一个正常的行为规则。如果有一天发动机的转速还是5000转,但是系统给出了120迈的速度数据,这条规则就会被触碰,从而模型会给出报警。
此外,速度的变化应该是一个连续的量。如果上一个瞬间车速是40,而这一个瞬间车速就变成了80,那么规则系统就应该认为这台车出现了异常。
再有,汽车的加速度也有一个合理的区间值,如果系统显示加速过于迅速,那么这个模型同样应该报告出现了异常行为。
事实上,这种依靠行为模式和数据相关性对黑客入侵的检测方法目前在国际上还没有人提出来。李均在这个领域,“不小心”做到了世界第一。
如果没有大学这几年对汽车理论的系统学习,我对于这种研究方法的可行性根本没办法确定,更不会想到使用机器学习的方法建立这些识别模型。如果没有大学期间建立的英语基础,我不可能看这么多的英文材料,进而得知国际上其他的研究方法和我的不同之处。
就在这个月,李均将会带着这个议题远赴荷兰,在世界著名黑客大会HITB(Hack in the box)上发表主题演讲。
“这是我第一次在世界级的黑客大会上讲汽车安全的议题。”
李均不无骄傲。
尾声
李均告诉雷锋网(公众号:雷锋网),安全研究工作,并不像人们想象的那样酷,这其实是有一定“工作量”的。如果把黑客的工作拆解开来,就可以看到大量枯燥的数据比对,逆向分析,还要查看无止尽的图表。“和著名的汽车黑客查理和克里斯交流之后,我知道他们在破解 Jeep 汽车的时候,也做了大量枯燥的工作,例如审计代码,研究参数。从这一点上来看,大家可能都差不多。”他说。
【汽车黑客李均和同行查理、克里斯】
不过,这些枯燥和与汽车在一起的乐趣相比,变得不值一提。李均特地告诉雷锋网,他最近正在写一本书,名为《汽车攻防技术大揭秘》。写书的理由很简单:
很多汽车的研发人员都只关注气囊、ABS,对汽车网络安全的关注却不足。而我,恰恰可以连接汽车和信息安全。
十年前那个趴在汽车底盘下不断试错的毛头小子,和十年后这个用代码做武器保护汽车安全的黑客,至此合二为一。
雷锋网原创文章,未经授权禁止转载。详情见转载须知。