为了增强SoC的总线访问安全,阻止非法地址的访问行为,提出了基于AXI总线的分布式安全总线防火墙架构。针对不同的任务制定了多级可动态更新的安全策略,设计了具有较低延时的高速总线防火墙接口,增加了安全更新模块来保证策略配置与更新安全,结合系统的任务管理机制实现了面向多任务处理的任务隔离机制。实验结果表明,该防火墙的传输延时小、资源消耗少,可实现任务隔离。
0 引言
随着SoC(System-on-Chip)的发展与广泛应用,SoC面临的安全威胁与攻击手段[1-2]也更为复杂,嵌入式系统安全已成为不容忽视的重要问题。由于传统的嵌入式软件防护能力较弱,具有较大的延迟,易对系统造成性能损失,因此单纯依靠软件层面的安全机制已很难有效应对层出不穷的攻击手段。
目前,已有众多学者在不修改处理器结构的基础上,提出了基于总线的硬件安全增强机制。Fiorin提出一种基于NoC(Network-on-Chip)总线的安全探针和安全管理单元的保护机制,通过安全探针监控总线数据进出信息,安全管理单元收集探针信息来检测冲突与错误。Coburn J基于AHB总线提出了SECA的安全总线结构,在各个IP模块总线接口配置了安全增强接口(Security-Enhanced Interface,SEI),同时设计了安全增强模块(Security-Enhanced Module,SEM)作为中央管控模块协调各SEI模块工作。Cotret P、Crenne J等人在Coburn研究的基础上,引入基于总线的分布式防护结构,在各IP总线接口设置局部防火墙,实现地址的访问控制,并在片外存储器接口设计了局部密码防火墙,保护重要数据的机密性和完整性。但是该方案只是对地址进行监控,在多任务处理下,单独的地址访问 *** 作可能属于不同的任务行为,因此不能实现任务的隔离。
本文借鉴了网络防火墙的安全隔离思想与Cotret P的分布式架构,提出了基于AXI总线的分布式安全总线防火墙架构,制定了多级可动态更新的安全策略,设计了具有较低延时的高速总线防火墙接口,实现了面向多任务处理的任务隔离机制。
1 总线防火墙架构设计
1.1 防火墙总体架构
总线防火墙部署于SoC通信链路上,介于总线与IP之间,是嵌入式系统的硬件底层安全防线。为减轻总线防火墙负载,并利用AXI总线的点对点突发传输特性,本文采用分布式的总线防火墙架构,即在每个IP接口与总线之间增加防火墙模块,如图1所示。
安全总线防火墙的架构由软件层和SoC硬件架构组成。软件层运行多任务处理的嵌入式 *** 作系统,包括安全任务与非安全任务,各个任务之间有不同的资源访问权限。
硬件层由CPU、DMA、Memory、各个IP模块组成,模块之间通过AXI总线互连。安全防火墙位于总线与IP模块之间,由防火墙接口与片上 BRAM(Block RAM)组成。防火墙接口根据BRAM的安全策略实施访问控制,其基本特征就是阻止非法地址访问,目的是实现安全任务与非安全任务的隔离。防火墙的安全性由安全策略保证,安全策略只可由安全更新模块配置与更新。
1.2 防火墙安全策略设计
安全策略存储在片上BRAM,一条策略占用一个字空间,由一个地址标识。每条策略为每个给定的物理地址空间(带下边界与上边界)设定访问权限。
安全策略根据任务分组,同一任务的策略称之为一个策略组,由任务ID寻址标识。安全策略组在上电时由安全更新模块配置,运行过程中只可由安全更新模块更新,是一个可信区域。
面对复杂的SoC系统,安全策略数量众多,策略存储会占用大量的存储空间。为减少策略存储空间,本文提出策略组间白名单、组内黑名单的混合存储策略。策略组存储采取白名单策略,只有在白名单之列的任务可以访问该模块,否则直接拒绝访问,具有更高的安全性。安全策略组内采用黑名单存储策略,不在黑名单中的访问行为默认可读可写,直接允许。
为了增加安全策略的安全性与灵活性,本文设计了多级可动态更新的安全策略。安全策略设定3个安全等级:正常级别、警告级别、错误级别。正常级别为系统初始化后的各模块的安全级别,表示系统任务处于正常状态。警告级别表示系统出现了非法访问行为,并禁止该危险任务对该模块的所有访问权限。错误级别表示出现了较为严重的安全威胁,系统所有任务的访问都将禁止,只有关机重启有效。安全级别的更新是发生访问违规后作出的反应行为。当非关键任务出现访问违规时,则将其安全级别由正常级别提升为警告级别;当关键任务出现访问违规时,则将正常级别直接跳跃提升为错误级别,强制终止系统运行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)