AIR 073 | 专访QNX张人杰:解决好安全问题才是实现智能驾驶的关键
在很多人的印象中,仅仅是一个手机公司,但事实上,在很早前,他们就开始涉足领域。
QNX是黑莓Blackberry旗下全资子公司,作为黑莓核心技术部门BTS(Blackberry Technology Solutions)的最重要组成部分,承担了黑莓业务中操作系统、汽车电子软件、M2M、及云计算等重要业务内容。QNX大中华区总经理张人杰先生日前参加了CCF-GAIR大会,在圆桌论坛上与众嘉宾讨论了驾驶的现状和未来,圆桌论坛结束后,张人杰与雷锋网(公众号:雷锋网)讨论了关于智能汽车安全的问题。
安全问题不能解决,智能汽车只是空谈
张人杰说,对于智能汽车来讲,安全这一部分分为两块:一块叫做功能性安全,一块是数据安全。
功能性安全相对比较容易解释,说白了就是,一辆汽车出厂的时候,自带一些功能,当这些功能失效了、出错了,解决这个问题就是功能性安全的范畴。
而系统安全、通讯安全则属于数据安全的领域。
所谓数据安全,就是在一辆汽车正常行驶的过程中,可能被黑客入侵或一些模拟出来的数据干扰,这样就会对车辆的安全造成极大的隐患。这是在功能性安全之外的另一个层次的安全问题。
这两种安全问题,对智能汽车来讲都至关重要,任何一个错误都可能导致汽车发生事故,从而对乘客产生巨大威胁,所以,安全问题不解决,无人驾驶对人们来说都是空谈。
张人杰在CCF-GAIR大会上
功能性安全还存在问题
提到功能性安全,张人杰说,按照我们现在的智能汽车发展状况来看,目前在功能性安全问题上,都还有很多问题没有解决。
目前,在汽车行业有一个规范,所有的功能性安全都需要通过一个ISO 26262汽车功能安全标准的认证,这个认证要求整个车辆从软件到硬件的整个系统都符合标准,但是纵观目前智能驾驶所用到的芯片,这些需要跟硬件结合的芯片本身能不能通过这个认证还是个问题,因为目前通过ISO 26262 认证的芯片只是很少的一部分。
目前智能驾驶所用到的每个芯片都会有一张勘误表,勘误表上会明确的列出bug1、bug2等多个可能出现的错误状况,但是当这些bug在做了多轮之后还没有被解决的,有些厂商就会选择一个办法——绕过bug,这种绕过去的东西,本身就可能会存在其他的风险,从这个层面就可以说明,现在很多制造智能驾驶里所用的硬件芯片本身就很难达到ISO 26262的安全等级。
除了芯片之外,软件系统还有很多问题要解决。
现在行业通常都说,一辆车的软件非常的复杂,要有一亿行代码,但是实际上,现在智能汽车的代码量远不止一亿,光车载娱乐集成系统这一块的代码量就已经达到了2亿以上,如果在这个基础上再加上自动驾驶,把所有的感知处理算法全部都加进去,这个数据量应该说是非常非常巨大的,目前很少有一个系统会有这么大软件量的软件。
但是大家都知道,只要是软件就都会出错,世界上那么多优秀的软件公司,他们研发的软件已经十分成熟,但是还有那么多优秀的工程师,每天都在解决软件出现的各种问题。何况,智能汽车还是在一个刚刚起步的阶段,所以,这上亿行的代码中,可能会存在多少风险是无法预估的,而且任何一个小的风险就有可能让开车的人陷入万劫不复的境地。所以,综上所述,功能性安全本身就是一个问题。
数据安全问题及解决方法
说完功能性安全问题,我们回到另一个层面——数据安全。
对于数据安全问题的漏洞,张人杰表示,现在车上的各种数据接口就很不安全。他举了个例子:
任何一个对技术稍微有些了解的人,只要接上一辆车的OBD2(the Second On—Board Diagnostics,汽车诊断第二代系统)那个小盒子,就可以解析其中的东西,如果恰恰这个车场又比较大方,把车辆系统中的数据接口全都公开了,那么就很容易能够知道这个车辆的系统数据,车辆如何刹车、如何制动等数据在他人面前暴露无遗,随便一个黑客都可以用手机黑进车辆系统,并且设置时间节点和任务(比如设定规定的时间让车辆在高速公路上紧急制动),如果在驾驶员无预知的情况下被人设定了这种程序,那么危害就不言自明了。
如何去解决数据安全问题呢?之前有人提出在车上装上黑匣子,但张人杰认为,这明显是一个亡羊补牢的举动,并不能解决实质性的问题,改变不了系统安全性的脆弱。他说,想解决这个问题,就要从源头上入手,比如,想办法把所有跟车身控制的东西隔离开来,从安全角度来讲自动驾驶系统可分成安全域和不安全域,如何做好这两个域的隔离是非常重要的。想解决数据安全,我们需要想办法吧安全域和不安全域进行严格划分,并且对安全域的操作也要做用户权限的细分。
以前做Linux系统的时候我们发现,root用户一拿到这个系统基本什么都可以做,但是现在我们不能这么做了,现在智能汽车的系统我们一定要对安全层级做出划分,比如它可能分为几级,每级用户可以达到一个怎么样的访问,这样才能从源头上降低这个系统被黑的可能性。
但张人杰同时强调,即使这样,这种分级也不能完全避免数据安全发生问题,黑客也有可能通过域之间的通信来破坏系统。
所以说,本质上来讲,目前的自动驾驶只能处于一个很初级的阶段。想要实现智能/无人驾驶,在安全问题上还有很多的工作亟待解决。