嵌入式系统安全性对攻击状况和防卫策略的概述和分析
PS技术处理器
MIPS为具有安全保护的应用程序提供4KSd13内核。这个核心包括应用专用的扩展--以改进加密算法的执行,隐藏处理器活动、使之不至于受到能量信号特征分析和探测的手段,以及具有每页读/写/执行特权设置功能的安全MMU。
这个核心除了具有安全保护功能外,获得使用许可的人还可以增加额外的工具,比如独有的芯片级序列号、加密处理器、随机数发生器、USB防火墙以及安全引导加载机制。
使用分层的方法以提高安全性,一个合理设计的系统管理程序可以利用内核内置的安全防护功能以及SOC设计者增加的特性,来增强整体系统的安全性。
处理器的旁路转换缓冲器(TLB)的设计是一个关键问题。MIPS处理器的TLB兼容了一个软件替换策略。当采取措施来保护MMU和关联的TLB时,执行TLB重填的代码和被该代码所操作的数据都处于内存之中,可能被流氓软件所访问。一个系统管理程序可以用来在TLB重填时执行额外的检查,以保护系统不受通过外部SDRAM进行的硬件攻击。
另外,一些MIPS处理器提供了一个中间"超级用户"模式,以使系统管理程序可以用其来执行一个执行虚拟内核模式。这样就减少了虚拟的开销。
Power/PowerPC处理器
32位和64位两种体系的PowerPC已经在很宽范围的产品中被广泛应用,包括通信处理器,通用设备,性能导向型游戏系统以及企业计算。
PowerPC的衍生体一般会应用于嵌入式产品中,比如32位PowerPC405和440,它们使用一种软件重填策略来保持TLB实体不断更新。另外,有一种区域保护寄存器(ZPR),它允许TLB访问控制被撤销。这些特征产生了一些弱点,这些薄弱环节可以通过组合操作系统的安全策略管理和虚拟技术来阻止流氓软件的访问。
一些PowerPC的衍生体,比如索尼Playstation 3中所使用的多核单元宽带引擎(BE),具有先进的安全机制,它包括经过加密的、得到标记的安全引导机制和将执行敏感任务的处理器在物理上单独隔离开的功能。
系统加固:多少才够用?
正如我们所述,有多少攻击的方法,就有多少防御攻击的技术。强劲的防御策略通常是依赖于一个"分层"防御,这个"分层"防御兼容了大量硬件和软件技术。确定一个系统是否被充分地保护起来,是一件很复杂的事情。
对于确定给定产品是否可以满足给定应用的安全需要的程度这一问题,有着正规的方法。对于安全分析来说,一个被广泛接受的标准是信息技术安全评估的通用标准(简称通用标注或CC14)。这是一个计算机安全方面的国际标准(国际标准化组织/国际电工委员会15408),它为厂商和客户创造了一套系统框架,供厂商和客户在该框架中运行,该框架可以为用户环境提供详细的描述和随之而来的威胁,以及分析和测试方法学,以便决定给定的产品满足环境的特定要求的程度。
例如,德国BMI(Bundesamt für Sicherheit in der Informationstechnik)与欧洲智能卡协会(EUROSMART)合作,开发了一种保护状况(PP),命名为智能卡IC平台保护状况(BSI-PP-0002),包括及其详细的、与他们行业特别相关的攻击状况描述。希望提供产品来响应这个特殊的保护状况需要的公司,随后选择了一种评估保证级别(EAL),此级别从1级(最低)到7级(最高)。这些保证级别不是对应于关于给定PP的保护程度,而是对应于实验室所测结果与列举的安全声明的符合程度。测试实验室会将一系列的保证要求与所选择的水平进行联系,进行分析、测试,得出合格/与不合格的结论。
我们提出一种更基本的度量方法,在开发阶段的初期给设计打分。每个保护的措施和结构的特征都会是一个得分点。那么,对不同种类基本分的调整,就要根据其安全要素(如:最大覆盖面和最小受攻击面)。
网格(+80):可能调整±40
TrustZone可信区(+80):可能调整±40
安全导入(+80) :可能调整±40
虚拟化 (+80): 可能调整±40
安全操作系统
DMA控制器(-80): 可能调整±40
在分层的策略中,每一个组件对整个安全性的贡献是可以相加的。一个组件,如操作系统,有一个固有的"虚拟化"以盗用一个加分条款,80就被加到另一个组件固有的分数上,比如安全导入机制的80分,加起来就是160分。现在,如果操作系统由于大量附加特征,呈现出一个大的攻击表面,那么,这个组分的分数就会降低一些,最多减少40分。
加权分数计算实例:挑选一个有MMU的SoC,MMU是系统管理程序对存储器的控制所不能缺少的,和一个安全操作系统。选择一个系统管理程序,它允许操作系统和应用程序在"用户空间"运行,从而产生一个更安全的处理环境。系统管理程序(+80)呈现出一个小的攻击表面,因此不会从它的安全分中减分。选择一个安
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)