大众”柴油门”事件始末

最近在汉堡举行的混沌通信大会上,两名IT专家Felix Domke和Daniel Lange(BMW前TI战略部主管)专门就大众”尾气检测造假”事件始末做了专题演讲。

最近在汉堡举行的混沌通信大会上,两名IT专家Felix Domke和Daniel Lange(BMW前TI战略部主管)专门就大众”尾气检测造假”事件始末做了专题演讲。

在过去几个月里,各大媒体对大众”柴油门”事件进行了铺天盖地的报道。即便如此,却少有媒体对其中的作弊原理及谁该真正为此事件负责进行过详细的探究。因此当有独立安全专家试图通过自己的调查研究找出事件背后真相时,这无疑引起了许多人的兴趣。

大众决定在尾气检测上造假的初衷?

尾气检测的最大问题在于:每次检测均需用到一些类似于NEDC(欧洲新循环工况)的标准模型。这一模型由一些相当较短的加速-制动循环和一个更高速的长循环组成,分别模拟在市内和高速公路上行驶。但在现实生活中,没有人会像这样开车,或者说车在现实中的行驶情况不可能和测试中的一模一样。

但将这一模型用于排放检测时,汽车公司的工程师们完全可以在其中做些手脚从而提升测量成绩。他们为什么这样做呢?答案很简单:相比真正在车辆上做改进要便宜得多。任何公司一旦找到一种能将降低成本的方法,可以断定都会选择这种方法,原因在于利润永远是公司业绩的重要体现。

“在检测上动手脚的现象在业内非常普遍。”Lange说道。”至于如何才能在检测中降低尾气排放呢?例如,他们给轮胎的充气加压要比现实中在马路上行驶高出3巴。轮胎的底部看上去就像这样,这意味着检测时只有轮胎的一小部分接触地面,因此阻力得以减少。”

“他们还会将柴油混入汽油中,因为柴油比汽油更轻,因此摩擦力也更小。还可以将副驾驶一侧的反光镜拆除,因为并未有明文规定检测时必须安装反光镜。如此阻力就变得更小了。并且,他们还将车辆的所有通风处用胶带粘得严严实实。显然密不透风的汽车在遇到风力时,能行驶得更加平稳。如果这些手段还不足以让车辆达标的话,他们就需要寻求灰色地带,也就是对测试软件动手脚。整个’检测过程’基本就是如此。”

如此检测出的结果毫无用处,因为这对现实中车辆真实行驶参数没有任何参照意义。整个汽车行业早已心知肚明,但却都心照不宣。很可能每家汽车制造商都是像大众集团那样对检测软件做手脚。事实上,早在15年前,宝马公司就曾被发现对摩托车检测软件做了类似的手脚。

但这些汽车厂商到底是如何对检测软件做手脚的呢?要想解答这个问题,我们首先需要了解汽车电子系统的工作原理。

车里面到底有什么?

电子系统直接负责车内发动机的整个运转,包括:负责尾气排放的发动机控制单元(ECU)。但汽车厂商并不是自行研发这些装置,而是从专门生产汽车电子系统公司处直接购买。这样的公司并不多,至少德国市场的行业领导者-博世就是其中一家。

ECU的固件代码由同一家厂商编写;由于固件对汽车发动机和车辆本身至关重要,因此需要经过全面彻底检查才能最终写入。

正如Lange提到的:”ECU固件代码需要经过无数次的反复模拟和测试。因为这实在是太重要了。比如你的发动机拥有200马力,而一旦ECU控制错误就会引起非常猛烈的爆炸。因此针对该控制软件的测试次数是所有其它软件所不能比拟的。”

http://twitter.com/WSJ/status/645924511297220608/photo/1

另一个事实是汽车厂商无权对ECU固件进行更改。同时,每一种特定ECU型号可用于多家汽车厂商生产的各款车型和发动机。因此,为了能与多款车型兼容,ECU固件必须达到足够的灵活性。为此,ECU制造商使用了许多变量,允许汽车厂商根据特定汽车/发动机型号的特殊要求进行调整。

例如,在大众”柴油门”事件中所涉车型使用的ECU型号- Bosch EDC17C46,就拥有超过2万个这样的变量。如果这样的虚拟控制盘能以某种方式在现实世界中呈现的话,那绝对是有史以来体积最庞大且构造最复杂的控制面板。

快速总结:汽车厂商无法自行对固件代码动手脚,而是由ECU厂商应前者的要求对代码进行更改。鉴于每次修改都需要留下书面记录,因此ECU厂商很可能会告知汽车厂商这样做是违法行为。而最终的决定权依然在汽车厂商手上—要想做手脚汽车公司必须对上述提到的变量进行调整。但这些变量到底是如何起作用的呢?

真相就在代码里面

为了继续展开调查,Felix Domke在eBay上购买了一台备用ECU,并用自己的大众夏朗车(受大众召回影响)对其进行逆向工程。他利用了ECU芯片内的硬件零日漏洞从其闪存内获取了2 MB大小的固件,并检验了其中的代码。整个研究过程让他对汽车电子系统的复杂处理过程有了清楚的了解。

举个例子,研究证明:比如你在汽车仪表盘上看到的转速表并非直接代表发动机的真实转速。转速表上显示的数值由12 KB代码处理的20个其它信号决定(可能你会奇怪:为什么有那么多代码)。

“此时你可能已经意识到汽车电子系统上被做了太多的手脚,但知道的人却寥寥无几。”Domke说道。”你可能不会再相信车速表显示的是实际车速。它显示的只是和车速有关的信息。”


而固件的尾气排放控制部分则更加复杂和灵活。但实现氮氧化物减排的核心概念非常简单。要想除去氮氧化物,需要在尾气中加入一些车用尿素溶液(比如大众的AdBlue品牌)。在高温下,该溶液会变成氨气并与氮氧化物产生反应,再加上无害和有害水以及氮气,最终产生一些合成物质。

但如果你加入太多尿素溶液,过量的氨气则会进入尾气。无论对车本身性能还是车内人员都有危害。这也是为什么一般情况下宁愿少加入些尿素溶液也不要多加(但最好能加入准确的溶液剂量,即使这很难控制)。但不幸的是,剂量不够则无法让你在尾气检测中得到高分。这就是汽车公司在这上面做手脚的根本原因。

大众”柴油门”事件中采用了两种添加尿素溶液的模式。一种被称为’常规模式’,即加大尿素溶液的使用剂量;另一种则称为’替代模式’,即大量减少使用的剂量。Domke透露在大约75%的时间里,大众汽车的排气系统都以’替代模式’运行,而剩下的时间里则完全不添加尿素溶液。

在对固件代码分析后显示,切换至’常规模式’(时常发生)除了需达到规定的发动机简单条件及燃油温度和大气压力标准外,还需达到另一个有趣的条件。简而言之,再打开’常规模式’后,车辆的行驶距离-时间图表处于几对最小-最大临界曲线中任意一对的范围内。

有趣的是,这些曲线中任意一对均以十分准确的方式设计,精确包含了按照上述欧洲新循环工况行驶车辆的行驶距离-时间图表。在此次事件中,通过加大尿素溶液剂量使氮氧化物减排,足以满足严苛的欧洲法规要求。而这正是此次大众对检测软件做手脚的核心内容。

尽管此次在混沌通信大会上所作的报告的信息量巨大,但有一点内容依然引起了广泛关注。使用相关黑客或作弊方法能够影响公司的利润,但需要有IT背景的专业人员操作才能完成。往大方向说,数字技术已变得越来越重要,那些通晓数字技术的专业人才将对公司整体运营起到更大的影响,因此对公司的重要性也与日俱增。他们将不得不面临艰难的抉择:帮助公司隐藏产品的缺陷漏洞;或者,像上述两名研究专家对大众”柴油门”事件调查那样将作弊和欺诈手段公诸于众。

 

 

 

 

 

2015年十大安全事件:打破常规的榜单

整个2015年发生的互联网安全事件可谓数不胜数。要从所有这些中挑选出10个当年最热门的话题可以说是一项极其艰巨的任务。照旧如果你对榜单有异议或认为还有哪些事件应该入围的话,请在下面的评论栏留下您宝贵的意见。闲话少说,下面就开始逐一揭晓2015年十大安全事件榜单。

提示