一、ARM嵌入式安全威胁
1.1 嵌入式系统简介
1)定义:以应用为中心,以计算机技术为基础,能够独立进行运作的器件。
2)组成:
- 嵌入式硬件:以芯片、模板、组件、控制器形式嵌于设备内部。
- 嵌入式软件:包括嵌入式操作系统和各种应用软件,一般固化在ROM或闪存中。
3)优点:
- 简化设计
- 易扩展
- 实时性
- 高利用率
- 稳定可靠
1.2 嵌入式系统的应用
- 智能家居
- 公共交通
- 工业控制
- 国防军工
1.3 嵌入式系统安全事件频发
僵尸网络,嵌入式木马程序与后门,针对嵌入式系统的缓冲区溢出攻击,注入代码攻击,ROP攻击,旁路攻击等。例如:震网病毒、毒区病毒、火焰病毒。
1.4 嵌入式系统攻击分类
1)根据攻击对象分类:
- 隐私数据攻击:窃取嵌入式系统中的敏感数据。
- 可用性攻击:挪用系统资源,扰乱系统正常工作。
- 代码完整性攻击:试图修改嵌入式系统相关代码,破坏其完整性。
2)根据发起攻击的代理工具或手段分类:
- 软件攻击:如病毒、蠕虫、木马等,耗费代价较小。
- 硬件攻击:如硬件分解、电磁干扰、探针窃听等,这类攻击需要复杂的基础设施。
- 缓存溢出攻击:向缓存中输入过量数据,造成缓存溢出,覆盖返回地址,当程序返回时跳转到并执行一段恶意代码。
二、现有安全增强方案
2.1 软件增强——使用嵌入式安全操作系统
安全操作系统通过监视器监视系统的运行,防止违反安全策略的动作产生。当前嵌入式安全操作系统一般都具备身份认证、自主访问控制和安全审计等功能。
缺点:
- 安全性差:没有采用安全性更强的强制访问控制。
- 灵活性差:用户不能根据需求灵活配置需要的安全属性。
2.2 硬件增强
1)增加加密运算模块:使用专用集成电路(ASIC)在硬件上实现给定的加密算法,只需要很少的成本且可批量生产。
缺点:扩展性差,灵活性差。
2)增加专用安全存储模块:在嵌入式系统中添加一个专用的安全存储模块,存储敏感数据。
缺点:
- 加大了设计开销,并有可能降低处理器性能。
- 仅仅提供了一个安全存储的功能,并且不能保护安全硬件模块之外的数据和软件。
2.3 架构设计增强——引入TrustZone架构
三、基于TrustZone的安全增强
3.1 TrustZone安全架构简介
- TrustZone分离了两个并行执行的环境:非安全的“普通”执行环境;安全可信任的“安全”执行环境。用一个S比特表示。
- 安全监控器(Monitor)通过修改S比特控制“安全”与“普通”执行环境之间的转换
- 每个环境作为运行时环境都有自己的资源,如内存,处理器,缓存,控制器,中断等。
3.2 TrustZone安全增强
1)抵抗软件攻击
- TrustZone采用软件隔离和硬件隔离,涉及隐私敏感数据的操作在安全世界运行,恶意软件无法篡改或窃取数据。
-
监控器严格控制普通世界与安全世界的转换,运行过程中非安全进程不能通过非安全手段进入安全世界。
2)抵抗硬件攻击
- TrustZone提供一些安全措施以抵抗一些硬件攻击。
- 将可信的代码放入SoC内部存储器,并保证置于外部存储器的硬件表walker列表不能指向内部存储器或敏感程序。
四、嵌入式TrustZone应用前景
4.1 TrustZone的优势
- 安全性:提供隔离环境,保证系统运行安全。
- 兼容性:对使用TrustZone技术的不同ASICs,可以保证软件兼容性。
- 规范性:使OS对安全性的支持保持一致,有利于制订针对安全性的工业标准。
- 灵活性:能够不受限制地灵活地实现整个系统的安全性。
- 经济性:增加的硬件成本低。
4.2 TrustZone相关厂商
- 第一梯队:AMD,ARM
- 第二梯队:苹果,三星等
- 第三梯队:捷德等
4.3 嵌入式TrustZone应用前景
- 手机安全解决方案
- 网络支付等