作者:R.Colin Johnson
目前嵌入式系统设计师优化工作的主要目标是性能和外形尺寸,但随着支持互联网的设备的不断普及,安全已经成为嵌入式设计过程中的“第三条腿”。有鉴于此,嵌入式设计机构正在设法增加安全专业部门,希望通过他们对实现最优方法以满足安全要求作出架构方面的设计和指导。对嵌入式系统设计中安全性关注度的提升有望成为即将举行的波士顿嵌入式系统大会(ESC Boston)上的主要议题之一。
举例来说,实时操作系统(RTOS)专业企业风河系统公司正在与电脑空间安全专业公司McAfee开展合作,试图重新定义实际上对黑客免疫的嵌入式系统的设计方法。风河公司和McAfee现都归属于Intel公司旗下。
“在过去30年中,嵌入式系统设计师只专注于性能和外形尺寸。”风河公司工具与营销业务副总裁Marc Brown指出,“然而到了今天,安全因素必须从任何嵌入式设计过程的一开始就要加以考虑,目前已经确立了许多安全性方面的最优方法。”
具有互联网功能的设备已经让一些坏人严重破坏了工业自动化控制器之间的机到机交互、石油和煤气处理控制计算机以及环境传感器网络,而所有这些系统目前都可以用包括智能手机、智能电表、联网汽车甚至医疗植入器材在内的各种设备进行访问。
风河公司推荐4层安全机制,从应用程序编程接口防止绕过安全性、到检测冲突的认证系统、到不执行恶意软件的白名单应用程序再到用于保护数据的加密与用户认证。
许多报道过的这些设备的黑客已经进入并破坏了工业控制系统,包括去年在伊朗Natanz核电站发现的震网(Stuxnet)蠕虫,这种震网蠕虫对离心分享浓缩铀造成了破坏。震网蠕虫获得的数据采集与监视控制系统(SCADA)系统访问权限在伊朗只影响离心机。但SCADA系统同样控制着全球的公用事业,如果他们的安全性不够牢固,有可能对譬如电源造成难以言表的破坏。
震网蠕虫是由专业人士编写的,据McAfee公司介绍。但风河公司认为,即使是业余爱好者也可能获得嵌入式系统的访问权限,并引证一位波兰的青少年最近通过修改电视遥控器来控制铁路调度,致使至少一列火车出轨,数十人受伤。同样,有位心存不满的德州汽车中心雇员据说入侵了一个网络系统,通过远程关闭了启动机制,使100台联网的汽车同时鸣响喇叭。而一台受感染的笔记本电脑最近侵入了一家位于美国宾夕法尼亚州哈里斯堡的水处理厂,允许间谍软件绕过那里的安全系统。
加固平台的每个组件
为了防止这些入侵以及其它新的嵌入式系统入侵事件,需要对平台的每个组件进行评估和加固,风河公司表示——从基础硬件到操作系统、中间件一直到在上面运行的应用程序。
“控制关键基础设施的嵌入式设备正变得越来越智能——从简单的独立设备演变成了可以提供自动连接控制和监视的复杂装置。”Brown表示,“因此,最佳方法应该是全面的——考虑到每个层面的安全性——从使用的硅片和虚拟化技术,到操作系统、网络和通信堆栈,直到应用层。”
由于虚假的系统升级或最终用户动作引起的安全威胁——如病毒、蠕虫、特洛伊木马和其它恶意软件——可以用区分技术加以控制,这种技术将输入-输出任务划分成隔离的自检模块,当这些模块受到感染时,可以对它们进行复位和清除,从而防止入侵者访问基础性的控制系统。
芯片固件可以通过使用受信任的启动过程支持认证过的操作系统。虚拟化技术可以实现划分,允许人机界面独立于基础控制系统而运行,从而建立对入侵者来说难于渗透的屏障。在应用层面,像McAfee等专业电脑公司已经从传统的已知恶意软件黑名单转向前摄性方法,如白名单认证的代码和来自信任源的灰名单代码。
“为了向嵌入式设备提供更加强大的安全性,我们正在与McAfee合作研究同时采用经过认证的白名单代码和威胁评估依赖于名誉的灰名单。”Brown表示。
通过认证的运行时组件(如通过认证的Linux内核)、通过认证的系统管理程序和通过认证的RTOS(如风河自己的VxWorks)以及白名单和灰名单中间件和应用程序有助于确保运行中的代码不会与恶意软件发生冲突。根据预算考虑,在嵌入式系统中也可以部署额外的保护,如用于加密和认证IP数据包的IPsec,用于建立安全连接的互联网密钥交换(IKE)。网络堆栈也可以获得联邦信息处理标准(FIPS 140-2)的确认,也可以由信息技术安全通用评估标准(ISO/IEC 15408)的安全确认套件或Wurldtech公司的“Achilles”电脑安全与鲁棒性认证标准进行确认。
原文:
图1:风河公司推荐的四层安全机制。
图2:安全已成为嵌入式设计过程中的重要方面。
本文来自《电子工程专辑》2011年11月刊,版权所有,谢绝转载。