厨房烤箱制造商所选择的RTOS,居然之前曾被用在核轰炸机的飞行导航系统中?!这听起来似乎有点耸人听闻,但事实确是如此,而这一现象的发生,主要归咎于联网时代日益严重的网络安全问题。
在近日于美国举行的嵌入式系统会议(ESC)上,对更多RTOS安全性能的要求成为一个主要议题。LynuxWorks公司在会议期间召开的嵌入式技术座谈会就专门针对这个问题;而QNX软件系统公司也在会议中发布了针对多核系统的安全存储和CPU分割功能。目前许多实时操作系统采用了分割技术,该技术将不同的软件部分放在受保护的地址空间,因此程序某个部分出错或受侵害时不会影响到整个系统。
原本为军事/航空而开发的诸多技术现在正在大踏步进军商业应用,某些人士指出。多个独立安全等级(MILS)就是其中之一,它提供一种“分离型内核架构”,该架构所具有的分割功能可以确保数据隔离、信息流控制,并限制破坏。LynuxWorks公司首席执行官Gurjot Singh预测,MILS将从国防应用领域走向工业自动化、医疗设备、银行和汽车等领域。
“所有这些领域最终都会采用MILS架构及其内部的子系统组件。”Singh指出,“我们已经多次发现这样的事实,即投资国防所产生的技术成果,正被广泛用于商业领域。”MILS甚至将用于移动设备,比如PDA,因为2005年就曾有过关于PDA安全弱点的报导,当时有人窃取了明星Paris Hilton的手机地址簿,Singh表示。
“在需要保证CPU时间和内存的许多应用场合,对分割功能的需求非常显著。”QNX公司产品经理Kerry Johnson指出,“然而,这些一般都是围绕在单处理器环境下设计实现的。”QNX提供的新功能可以让分割信息映射到多个内核。
“目前,业界正处于从智能设备到智能互连设备转型的过渡期。”微软Windows Embedded营销总监Ilya Bukshteyn指出,“在下一个阶段,个性化、身份确认和安全将成为关键因素。”
图:LynxSecure支持MILS架构
Green Hills Software公司的Integrity RTOS采用分离型内核概念已经有10年了,该公司首席执行官Dan O'Dowd透露。他还指出,Integrity-178B是首个在美国国家安全局(NSA)做ISO/IEC通用标准评估与保证级别(EAL)6测试的RTOS,该测试要求通过官方方法进行验证。最先部署于B-1轰炸机的Integrity是一种基于MILS技术的RTOS,目前已被广泛用于工业、汽车和医疗设备,O'Dowd表示。
Integrity甚至被一家厨房烤箱制造商采纳,这家制造商生产的烤箱可通过互联网远程启动,如果心存不轨的人闯进这样的系统将是极其危险的事情。这也进一步验证了O'Dowd的主张——“任何连接设备”都需要分割型内核架构。“这是设计软件的正确方法,也是目前人们认可的唯一方法,除非你要做的事非常细小或微不足道,而且没有任何安全性能要求。”他指出。
安全性能发展没有这么快,也有人如此认为。“现在,还不能马上说下一代设计如果没有安全性能就没有价值。”MontaVista软件公司创始人兼首席执行官Jim Ready表示,“这一时刻的到来还早着呢。”不过据他透露,MontaVista作为一家Linux操作系统供应商,正在与几个大型客户合作开发一种“安全架构”。
检查连接
从LynuxWorks举行的讨论会上可以明显看出,LynuxWorks正在寻求传统军事/航空以外的发展领域。“对移动设备、医疗、以及金融应用来说,安全保护非常重要。”LynuxWorks公司产品管理总监Joe Wlad表示,“每次系统连接时,你就会下载移动代码,而你不知道下载的具体内容,只能寄希望不会有什么差错。”
Green Hills公司的市场开发总监Dan Mender认为下一代互联网IPv6会使问题进一步变糟。因为IPv6有能力给地球上的每个人分配数十亿个IP地址,从而会出现“地球上每个设备都有可能向其它设备发送消息”的局面。像SSL和IPsec等传统的数据安全和加密方案已经不够用了,他指出,因为它们只能保护发送中的数据,不能保护通信“终端”上的数据。
LynuxWorks公司正在针对以安全为重的系统开发新的RTOS。LynxSecure是在MILS基础上,从头开始开发出符合最高保证等级EAL 7的产品,该公司表示。除了采用分割型内核外,它还包含一个可以运行多个OS的虚拟机监视器。LynxSecure有望在今年秋季交货。
SRI International公司项目总监、LynuxWorks论坛演讲者John Rushby表示,虽然MILS的历史可以追溯到1981年,但它在2000年左右被美国NSA“重新发掘”。他认为,有了MILS后内核唯一要做的工作就是分割:内核创建分割信息,并在所分割的各区域之间实现受严格控制的连接。MILS系统还定义了“系统级属性”,用来确定程序组件如何交互,他指出。
不过商业应用真的需要完整的MILS RTOS吗?许多商业领域的供应商都不这样认为,并质疑官方认证(包括通用标准EAL等级或针对航空系统的DO-178B安全认证)的必要性。
QNX的Neutrino RTOS采用时间和空间分割,不过没有正式证明,QNX公司媒体与分析关系总监Darrin Shewchuk表示,而且该RTOS采用的“自适应分割”方案比静态分割的MILS方法更灵活。有了自适应分割,Neutrino可以用来重新分配空闲的CPU时间,从而更有效地使用系统资源。
“采用一种硬性的、Padded Cell方法进行分割最多是种笨办法,”Shewchuk认为,“它假设你有大量可用的资源,并能忍受为了安全原因而不对它们进行充分利用。”
风河系统公司提供的新版VxWorks RTOS在时间和系统分割上兼容Arinc 653规范和DO-178B。该公司首席技术官Tomas Evensen表示,VxWorks RTOS主要被军事/航空市场中的少数用户采纳,还没有商业应用。“虽然人们正在向商业应用前进,但大多数应用还没有这个需要。”他说道。
安全是有成本的,Evensen指出。独立分割通常会造成性能损失和对额外内存的需求,因此会使系统的外形尺寸变大。VxWorks的plain-vanilla版具有内存保护功能,可以确保应用及其线程不会覆盖内存管理单元(MMU)表,他补充道,VxWorks还提供错误检测和恢复功能。
从Windows角度看问题
微软公司在Windows CE 6.0版本中增加了新的安全特性,高级技术产品经理Mike Hall透露。“我们修改了内核架构,因此可以明显区分内核空间和用户空间。”他表示。
“在用户空间中运行的应用程序不会接触内核空间。”Hall表示,而且每个进程都唯一的2GB大小地址空间,发生故障的设备驱动程序只会影响该设备驱动程序的管理器。
Mentor Graphics公司的Nucleus RTOS根据MMU划分每个程序,并包括用户模式和受保护的监控模式,该公司嵌入式系统事业部总经理Neil Henderson表示。他指出,Mentor提供的是在内存特定区域内执行程序的空间分割法,而不是严格控制进程时序的时间分割法。
Henderson还指出,当需要安全认证时,不仅是RTOS,连软件程序也要一起被认证。然而,Mentor公司计划先提供能简化RTOS认证的文档“利器”。“一般来说,我们会把认证留给用户去做。”Henderson表示,“认证过的内核价格相当昂贵。”
|