相比之下,即使是入门级汽车现在也至少集成了十几个微处理器;高端汽车则拥有超过一百个。图 1 展示了现代汽车中嵌入式计算机的一些示例。由于信息娱乐系统运行着诸如 Microsoft Windows 和各种 Linux 版本等复杂的操作系统,嵌入式软件的总量很容易超过 1 亿行代码。.
对更高性能的持续追求、手动和机械功能的数字化以及当今世界的互联互通,都加剧了复杂性。电子内容的增长固然造福了社会,但也引发了我们对可靠性、安全性、成本和上市时间的担忧。下一代信息娱乐系统的架构必须帮助开发人员应对这种复杂性。.
汽车电子元件的整合
汽车行业的另一个重要趋势是发动机控制单元 (ECU) 的整合。随着汽车不断向电子系统转型,电子元件的数量不断增加,相关的线束数量也随之急剧增长。电子元件的这种增长给汽车制造商带来了巨大的挑战,包括生产成本、尺寸和上市时间等方面。解决方案在于扭转这种增长趋势,将分散的功能集成到更少的电子元件中。
处理器整合与混合关键性系统的发展趋势密切相关,在这种系统中,对保护、安全或实时运行至关重要的组件必须与不太重要的组件共存。例如,如图 2 所示,将主信息娱乐单元与对安全至关重要的实时后视摄像头和/或驾驶员信息面板组件集成在一起,就构成了一个混合关键性系统。.
下一代信息娱乐系统的架构必须确保各个组件不会以不可预见的方式相互作用,否则将使关键系统的可靠性受到质疑。.
汽车电子安全:
2010年,两所研究现代汽车安全的大学的研究人员通过入侵车载诊断端口,使一辆行驶中的车辆的发动机和刹车系统失效。这令人警醒地表明,在确保汽车安全方面,我们仍面临着巨大的挑战,包括现有部件并非为安全而设计,以及供应链可能已达到其规模极限。
同样在2010年,美国汽车制造商推出了一项功能,允许车主使用智能手机从世界任何地方远程控制车门锁和启动发动机。这种连接依赖于汽车的远程信息处理系统,该系统是许多车型的标准配置。
将汽车连接到广域网(WAN)是造成复杂攻击威胁的关键因素。一次故障就可能导致远程攻击破坏整个车队。这些通信包括汽车与服务中心或其他原始设备制造商(OEM)基础设施之间的通信、汽车与多媒体提供商之间的通信、汽车与汽车之间的通信、汽车与电网(电动汽车)之间的通信、汽车与智能手机之间的通信,甚至汽车与银行之间的通信。图3展示了下一代汽车中一些远程无线电连接的示例。
与高端数据中心不同,汽车无需配备全套入侵检测系统 (IDS)、入侵防御系统 (IPS)、防火墙和统一威胁管理 (UTM) 设备。然而,索尼、花旗集团、亚马逊、谷歌和 RSA 近期遭受的入侵事件清楚地表明,这些防御机制无法抵御复杂的攻击。2010
年 Stuxnet 攻击事件曝光后,美国国防部网络司令部司令基思·亚历山大将军建议,应将美国关键基础设施隔离在独立的安全网络中,使其与互联网完全分离。虽然这看似激进,但却是必要的措施。关键的汽车系统必须与非关键的电子控制单元 (ECU) 和网络严格隔离,以确保其安全运行。
虽然物理网络隔离是理想的,但某些连接点不可避免地存在。例如,在某些市场,车辆行驶过程中必须断开其导航系统,这涉及到安全级别截然不同的系统之间的通信。这些连接增加了软件相关威胁的风险,例如操作系统漏洞导致的权限级别问题、针对加密技术的横向攻击或服务故障。
下一代信息娱乐系统的架构必须从一开始就克服这些重大的新兴安全威胁。关键系统和非关键系统及网络之间的交互必须在最高管理层进行充分论证,并辅以严格的实时监控、无漏洞分析以及最高级别的安全认证。
解决方案:安全环境。MeeGo
或 Ubuntu 等开源操作系统由于符合主流多媒体标准且拥有丰富的第三方应用程序,因此非常适合。然而,我们不能仅仅依靠多媒体操作系统来控制下一代组合式信息娱乐系统的所有方面。通用操作系统启动速度不够快,无法保证 CAN 等协议的实时响应,并且对于倒车影像和仪表盘等安全关键功能而言,其可靠性和安全性也不足。因此,我们需要一种系统架构,使多媒体操作系统及其应用程序能够与由专用实时操作系统管理的、高度可靠的实时应用程序和谐共存,而该专用实时操作系统本身就是一个安全防护系统。
一种潜在的解决方案是使用多个处理器分别处理不同的任务。然而,这会导致与目前使用的多个 ECU 相同的问题:它会降低应用程序之间的通信速度,并增加边缘系统的复杂性。
将这些功能集成到单个处理器中的需求非常迫切,因为这有助于优化成本、处理周期、数据可用性和复杂性。我们需要为这些混合关键性工作负载提供安全的执行环境(沙箱)。我们可以使用隔离配置文件来标识每个安全环境。
以下四种多配置文件技术已以某种形式实现商业化:
• 多重启动
• Webtop
• 2 型虚拟机管理程序
• 1 型虚拟机管理程序
多重
启动的概念已在一些笔记本电脑和联网计算机上应用多年。在双启动笔记本电脑中,可以激活一个辅助操作系统(通常是简化版的 Linux),而不是平台的主操作系统。这个简化的系统通常仅用于网页浏览,其主要目的是让用户在启动后几秒钟内即可浏览网页。辅助操作系统单独存储,并且永远不会与平台的主操作系统同时运行。在某些情况下,这个轻量级环境运行在辅助微处理器(例如,独立于计算机主 Intel 处理器的 ARM SoC)上。
辅助操作系统在安全方面具有良好的隔离性;然而,其重启机制以及无法在不同配置文件之间切换的缺点严重限制了它的普及。此外,在集成信息娱乐环境中,多系统启动选项也不切实际,因为该环境需要同时运行多个配置文件,例如多媒体信息娱乐系统、仪表盘和实时通信系统。.
Webtop
(集成网络功能的Web桌面)概念提供了一个独立于主操作系统的有限浏览环境。然而,与双启动不同,Webtop作为应用程序运行在主操作系统之上。只要Webtop运行的是非安全关键型系统组件,并且主操作系统能够独立处理关键应用程序,这种方案就能满足所有需求。但是,基于浏览器的环境可能无法满足现代车载信息娱乐系统对功能的苛刻要求。
类似的方案是使用连接到扩展坞的智能手机运行网页或播放界面。这种方法也能满足要求(智能手机的处理器用于多媒体应用,而不是车载信息娱乐系统的处理器)。这种远程智能手机技术已在一些车型上应用,并且仍然是一个很有前景的选择。其挑战之一在于如何确保智能手机能够提供与车辆环境相匹配的体验。.
第二类虚拟机管理程序
:第二类虚拟机管理程序与 Web 桌面类似,都是在主操作系统之上运行一个辅助配置文件来运行应用程序。然而,与 Web 桌面简单的浏览器集成不同,第二类配置文件是一个功能齐全的客户操作系统,运行在由虚拟机管理程序创建的虚拟机中(图 4)。该客户操作系统可以是实时操作系统,适用于托管关键应用程序,例如后视摄像头或仪表盘。虚拟机管理程序使用主操作系统来处理 I/O。这种基于虚拟化的技术满足了为关键和非关键配置文件提供完整功能环境的需求。
然而,第二类模型无法提供可靠的隔离。主操作系统中的安全缺陷或漏洞会影响虚拟机中运行的关键实时功能。此外,还发现公司环境中安装的第二类虚拟机管理程序应用程序也存在漏洞,可能危及安全执行环境。.
1 型虚拟机管理程序:
1 型虚拟机管理程序也提供完整的功能,并支持多个配置文件的并发执行。然而,由于虚拟机管理程序运行在开放环境中,配置文件操作系统的漏洞不会破坏配置文件之间的隔离。因此,从功能和安全角度来看,1 型虚拟机管理程序都是一个很有前景的解决方案。尽管如此,虚拟机管理程序漏洞的威胁依然存在,并非所有 1 型虚拟机管理程序都旨在实现高水平的保护和安全性。
其中一种版本,即基于微内核的1型虚拟机管理程序,专为满足现代信息娱乐环境对实时性、快速启动和安全性的严苛要求而设计。与Linux、MeeGo、Android和Windows等大型通用操作系统相比,微内核提供了更卓越的保护和安全架构。微内核仅在管理模式下运行最少数量的系统关键服务,例如进程管理、异常处理和进程间通信。它提供了一种架构,允许软件在复杂系统上以用户模式运行,并且仅被授予访问系统设计者认为合适的资源的权限。一个组件中的漏洞或缺陷不会损害关键组件,因为受感染的子系统根本无法访问该资源。由于微内核相对简单,因此可以由独立监管机构进行正式验证和认证,达到最高级别的保护和安全标准。.
在采用微内核的 1 型虚拟机管理程序中,系统虚拟化作为一项服务集成到微内核内部。因此,除了隔离的虚拟机之外,微内核还为轻量级、任务关键型应用程序(例如驱动程序信息、加密子系统和 CAN 总线控制器)提供了一个开放的标准接口,这些应用程序无法委托给通用主机。图 5 展示了 1 型微内核架构。.
一个基于微内核的1型虚拟机管理程序示例是Green Hills Software公司的INTEGRITY Multivisor,它基于
INTEGRITY微内核,该微内核广泛应用于汽车信息娱乐系统和其他关键实时保护应用。
将这种基于微内核的1型虚拟机管理程序架构应用于上述混合关键性信息娱乐系统(该系统包含主信息娱乐操作系统以及用于后视摄像头和驾驶员信息的关键保护应用),即可得到如图6所示的架构。
即安全网络事务
。采用微内核的 1 型架构的另一个实用应用是托管微内核原生的安全远程通信子系统。信息娱乐系统中安全的下一代网络事务示例包括受保护的媒体内容和数字版权传输,以及技术人员和原始设备制造商 (OEM) 进行的远程系统管理(例如,固件更新和远程诊断指令)。
就此而言,关键在于该解决方案创建了一个安全连接,该连接在逻辑上位于主机系统之外。由于加密密钥、服务器证书和协议软件均由原生进程管理,因此无论是否存在恶意软件入侵,这些关键数据都不会被主机操作系统窃取或篡改。此外,如果存在,原生安全子系统可以利用其 TPM(或等效设备)的功能,实现基于硬件的密钥存储和平台身份验证。该安全连接能够抵御中间人攻击和试图窃取用于安全通信的加密密钥的恶意软件攻击。.
GENIVI
GENIVI 是一个行业联盟,致力于推广车载信息娱乐系统的参考平台,旨在缩短产品上市时间并降低开发成本。这些参考平台集成了任何系统都必不可少的先行功能,使企业能够专注于打造具有竞争优势的创新功能。实现这些目标的关键原则是采用开放标准及其相关的符合性认证。鉴于传统信息娱乐系统依赖于功能强大的通用操作系统,GENIVI 的首批参考平台基于符合 GENIVI 符合性声明要求的 Linux 发行版也就不足为奇了。.
展望未来,包括汽车制造商及其供应商、政府监管机构和乘客在内的汽车信息娱乐行业利益相关者,必须超越多媒体系统本身,考虑一个融合多种关键性需求的新世界。为了确保未来信息娱乐系统(其特点是复杂性和众多功能)能够满足汽车行业和消费者对可靠性、安全性、实时性和可控尺寸的要求,我们需要下一代系统软件架构。未来汽车中嵌入的系统将融合关键安全功能、传统车载信息服务和数字娱乐应用。在单一计算平台上实现这些功能对于最大限度地减少电子设备的尺寸、重量、功耗、生产成本和复杂性至关重要。然而,要安全地实现这一点,需要一种全新的系统架构方法。.
对于安全执行环境而言,Type 1 系统虚拟化是一种极具前景的选择。它能够隔离和管理安全关键型应用程序,实现实时保护,并支持功能强大的开源多媒体操作系统。此外,虚拟化技术可应用于多种计算平台,为开发人员和技术人员提供了一个极致的开放平台:能够以任意组合运行任何类型的操作系统,从而带来前所未有的安装和使用灵活性。这种灵活性在汽车应用、台式电脑和服务器等领域都备受欢迎。.
作者:David Kleidermacher,Green Hills Software首席技术官
GENIVI联盟副总裁马特·琼斯
