摘 要: 阐述了网络互联背景下的嵌入式系统的安全问题,给出二种分析安全问题的方法在嵌入式系统中的应用,分析了影响系统安全的三种因素并介绍了几种有效的防御方法。
关键词: 嵌入式系统 网络安全 防御技术
随着嵌入式技术的发展,许多嵌入式系统提供了网络接口。随之带来的是广泛使用的嵌入式系统的安全问题。如果能在系统设计之初考虑安全问题,可减少系统的安全维护工作。本文先通过实例讲述一些不引人注意的嵌入式系统的安全问题,然后给出一套综合解决方案。
1 综合实例
以带有网络控制功能的家用空调系统为例来综合说明嵌入式系统引起的安全事故。当你下班前,从办公室电脑可以启动家中空调,设定其达到的温度。然而,这种接入因特网的空调也可能遭受潜在的攻击。入侵者可以控制家中的空调。冬天让室内温度持续下降使水管冻裂,夏天让室内温度持续升高使宠物中暑而死。再把问题扩大一步,假如城市里每家的空调都联网并和电力调度公司的调度程序发生关联,用电高峰时,电力公司可以强制设定空调上调或下调温度,这样可以避免高峰拉闸。这是空调上网的好处,但被人恶意利用就会变成坏事。如电力公司为赢利,在用电非高峰时集体调节一点空调的设定温度,使电力消费增加,用户就增加了开销。再看隐私方面,如果入侵者设法从网上查到你家的室内温度,就可以判断家里有没有人。
2 原因分析
下面的因素是导致嵌入系统安全问题的根本原因。
(1)价格因素。结构简单好用,价格便宜也是嵌入式设计追求目标。公司在选择芯片时,满足好用够用就可以了。如果从软硬件上增加过多的安全措施,成本则会提高。而简约的嵌入式系统上大量使用的4位和8位机,也不能运行过多的安全任务。
(2)面广量大。嵌入式系统在生活、工作、娱乐、教育、军事等方面大量使用。如果系统设计有缺陷,则影响面非常大。若有的嵌入式系统被入侵者利用,将会成为多点攻击的武器。
(3)电源的限制。许多嵌入式系统都是用电池供电,如果寻找方法将其电力提前耗尽而又没有得到及时的更换, 则该系统将处于瘫痪状态,很容易造成安全漏洞,从而为入侵者开了方便之门。
(4)开发队伍和环境的制约。许多嵌入式系统都是小团队做的。由于缺少安全方面的专家及经费短缺,设计中对安全问题考虑不足。而用户往往也只追求嵌入式产品的小巧精致,方便好用即可。
3 安全分析方法
有二种安全性分析技术:故障模型及后果分析(Failure Mode and Effect Analysis,FMEA)和故障树分析(Failure Tree Analysis,FTA)。安全性分析是对因果关系的探讨,“因”即引起安全问题的原因,而“果”就是潜在的危害。
3.1 FMEA和嵌入式应用实例
FMEA可以确定某个部件或组件出现故障之后系统将采取的行为,例如错误数据或意料之外的行为发生时,从软件及硬件上都可以对其行为后果加以分析。
图1为一个较为典型的FMEA分析技术。
3.2 FTA及其嵌入式应用实例
FTA也是一种用来分析安全性和可靠性问题的技术。FTA与FMEA分析方法不同。FTA从所有可能的事件开始,并围绕事件的结果做工作。FTA是用图示的方法直接从已确定安全事件(处于树的顶层)开始,反向找出问题发生的原因。运用逻辑运算符,如“与”、“或”把与顶层事件有关的中间事件进行连接组合。图2是应用FTA分析嵌入式产品安全问题的一个简单示例。在实际应用中往往二种方法综合应用才能取得较好的效果。
4 嵌入式系统安全问题解法方案
网络安全是使网络系统的硬件、软件及数据受到保护,避免因意外或恶意的操作而遭到破坏、更改、泄露,从而保证系统连续、可靠、正常地运行,网络服务不中断。三个基本的网络安全服务是:数据加密、内容完整性和授权。在解决网络安全性问题时往往要综合施治。
4.1 嵌入式系统安全的三个层次
嵌入式系统安全要综合考虑物理层、平台层以及应用层三个方面。
(1)物理层。嵌入式系统物理层的安全问题比较容易解决。就系统本身而言,根据系统的工作环境,在设计目标和设计要求时选择符合相关标准的器件,进行规范化设计和施工就可以了。但从整个行业规范来看,由于网络系统的脆弱性,致使电子通信的可靠性下降,而市场对安全信任的需求又越来越迫切,促使一些大型IT公司决定共同解决这个课题。为了建立工业规范并实现值得信任的计算方案,在1999年建立了“值得信任的计算平台联盟”(Trusted Computer Platform Association,TCPA)。其目标就是使信息和通信制造符合标准,在系统、子系统和部件中实现值得信任的计算规范。目前,TCPA有160多个成员,其中就有很多的生产硬件的企业。目前已经生产出符合TCPA规范的嵌入式安全芯片产品。
(2)平台层。据统计,现有嵌入式产品中,4位机没有使用操作系统的实例,8位机约有30%使用了操作系统,而16位机以上的嵌入式产品带有操作系统的占了70%以上。嵌入式操作系统的规模一般都比较小,不少产品开放了源码,使得操作系统本身几乎是透明的,不会存在“后门”的情况。但由于嵌入式操作系统受到系统规模的限制,不可能像Windows XP SP2那样使用过多的安全措施。其主要作用还是隔离硬件层,便于产品开发和维护。应用中常结合各种安全协议来考虑。
(3)应用层。传统的保证数据安全的方法是对数据进行加密传输。不少嵌入式处理器处理数据的能力不高,浮点运算能力不强,若要提供实时的数据加解密运算,处理器的速度往往不能胜任。根据系统要求,优先选择开销小的安全协议和算法,或者由硬件来实施加解密算法。
4.2 安全防御技术
网络安全防御技术可分为主动防御技术和被动防御技木。
(1)主动防御技术
主动防御技术一般有数据加密、身份验证、存取控制、授权和虚拟网络等技木。下面介绍二种能在嵌入式系统中实施的、较新的安全技术。
①虚拟网络技术(Virtual Private Network,VPN)
虚拟专用网络是一个虚拟专用网,它允许二个或更多的网络设备跨越一个不安全的网络进行安全通信。以Microsoft 公司的IPSec(Internet Protocol Security)协议为代表的VPN平台,从网络层(IP 层)实现安全加密。在一个基于IPSec实现的VPN中,一个远端用户能够无缝、透明和高安全性地访问远端设备上的任何服务和文件。在IP上层的应用(如Telnet、FTP以及Web服务)都可以集成到这个安全框架内。把IPSec加入到嵌入式设计中也需要一个嵌入式的TCP/IP协议栈,并具有适当的加密/解密入口点和可选的IPSec及IKE(Internet Key Exchange)安全协议模块。当采用“预共享”密码实现方案时,嵌入式TCP/IPv4协议栈、IPSec和IPSec密码库的内存占用量小于100KB。由于编码是模块化的,很容易集成到便携式硬件、加/解密硬件或者密码加速器和协处理器中。VPN还有一个显著优点就是可充分利用现有系统快速实现安全通信。
②蜜罐技术(Honeypot)和蜜网技术(Honeynet)
蜜罐是一个包含漏洞的诱骗系统,它是专门为吸引并“诱骗”那些试图非法闯入他人计算机系统的人设计的。它通过模拟一个或多个易受攻击的主机,给攻击者提供一个容易受攻击的目标。经过多年的研究发展,蜜罐技术已经发展成为诱骗攻击者的一种非常有效而实用的方法,其应用集中在对外部威胁的识别。蜜罐技术与防火墙技术、入侵检测技术、病毒防护技术、数据加密和认证技术有很大不同,后者是在攻击者对网络进行攻击时对系统进行被动的防护,而蜜罐技术可以采取主动的方式。
蜜网(其自由组织网址是http://www.honeynet.org)可以说是更安全、更强大的蜜罐,它由很多网络上“蜜罐”的“陷阱”构成,它以更合理的方式记录下黑客的行动,同时尽量减少可能对其他系统造成的危害。成功的案例表明,蜜网诱使许多黑客白白浪费了大量精力。嵌入式产品面广量大,如果组织合理,蜜网技术将是一种较好的主动防御技术。
(2)被动防御技术
目前,被动防御技术有防火墙技术、安全扫描器、密码检查器、记账服务、路由过滤等。
①防火墙(Firewall)技术
防火墙是内部网与外网之间实施安全防范的系统,可被认为是一种访问控制机制,用于确定哪些内部服务允许外部访问,以及哪些外部服务允许内部访问。根据不同的配置,防火墙可以分为:数据包过滤防火墙、代理服务型防火墙、监测型防火墙、网络地址转换型防火墙。防火墙技术是目前用得较多的安全技术。防火墙大多放在网关上,因此在上网的嵌入式设备上使用非常方便,效果也较好,并可以减轻嵌入式产品自身的安全设计负担。
②安全检测(Security Detection)
安全检测功能可自动检测远程或本地主机安全性,用于观察网络是否在正常工作,收集主机的信息,并提出安全建议。大型操作系统一般都有此功能,当然也可在应用级设计安全扫描程序。另外当系统遭受攻击时,系统还可以对攻击进行检测,识别出网络攻击行为,并让系统采取相应的对策。安全任务既可以由嵌入式设备自身实施,也可以由上位机实现。
③服务登记(Service Log)
在系统中保留一个日志文件,与安全相关的事件可以记录在日志文件中备查和分析,用以追查有关责任者,发现系统安全的弱点和可入侵点。嵌入式系统可以将工作日志记录在其服务器。显然这项功能会加重处理器和数据传输的负担,所以记录的项目不宜太多太细。
④数据备份(Data Backup)
将系统的重要数据和过程实时记录下来,以便系统遭受损坏后尽快恢复。嵌入式系统由于资源受限,往往不可能对其数据进行本机备份,可通过网络进行异地备份。
综合以上的安全因素和防御方法可以看出,各种方法各有其特点,使用时要根据风险级别、系统设计目标和系统造价进行综合考虑。对大量使用的、性能一般的嵌入式微处理系统,防火墙和IPSec技术具有配置灵活、性价比较高等特点,是容易采用且较为成熟的技术。
5 结束语
由于嵌入系统安全问题的复杂性,决定了必须采用软件工程方法来分析。对系统防御也必须综合实施,没有一个万全之策。目前嵌入式方面的安全研究工作国内还做得不多,因此还需要投入大量的研究。
参考文献
1 Koopman P.Embedded System Security.Computer,2004;(6)
2 Kemp A.Embedded systems:the other problem.Computers & Security,1997;16(6)
3 brkekman B,Notenboom E.Testing Embedded Software.北京:电子工业出版社,2004
4 Tettero O.Information Security Embedded in the Dsign of Telematics Systems.computer & security,1997;16(2)
5 美崎薰(日)著,王庆译.图说ITRON/JTRON.北京:科学出版社,2003
6 应锦鑫,曹元大.利用蜜罐技术捕捉来自内部的威胁.网络安全技术与应用,2005;(1)
7 李纪扣,程晓玲,李雪.IPsec在嵌入式VPN系统中的应用.天津科技大学学报,2004;19(3)
8 殷南,吴灏.嵌入式密码系统的设计及应用.计算机应用,2004;24(6)
9 吴康.高速安全微控制器发展与前景.今日电子,2004;(10)
10 胡海峰.危险分析方法及其应用.信息安全与通信保密,2004;(12)
11 卢昱编.网络安全技术.北京:中国物资出版社,2001
12 张红旗.信息网络安全.北京:清华大学出版社,2002