多核心可重构嵌入式系统的安全设计与实现
1. 调度策略分析
1.1 有序轮询调度
有序轮询调度可以对调度类进行调节,确保最高级别的类在有可用捐赠时间时能获得一定份额,比如将其对捐赠时间的使用限制在给定百分比内。若对较高级别逐步增加该百分比,效果类似于为高级访问类赋予更高优先级。
1.2 固定轮询调度
固定轮询调度为每个等价类在轮询调度方案中分配固定时间片。不过,当进程不需要其全部时间片时,这种方式可能会造成资源浪费。
1.3 有序优先级调度
当多级安全(MLS)标签完全有序时,可采用有序优先级调度方案,只要时间片分配顺序与MLS标签成反比。但在需要为高保密性进程提供更高优先级的系统中,这会带来问题。此外,若存在非层次化标签组件与层次化标签组件结合的情况(即标签存在部分排序),处于同一层次级别的所有进程必须被分配相同优先级(或在有序轮询方案中分配相同时间片),形成一个等价类。
2. 防止窥探与仲裁器设置
除了防止隐蔽通道,还必须防止窥探行为。在每个核心与总线之间设置仲裁器,可将每个核心对总线的使用限制在其时间片内。将总线连接到内存需要特定的参考监视器技术。每个核心可以有自己的仲裁器(这需要一个中央定时多路复用器来处理调度),也可以使用单个仲裁器为所有核心服务。研究表明,单个仲裁器实际上更高效,并且可以集成到片上外围总线(OPB)中。
3. 用护城河保护参考监视器
参考监视器必须具备隔离性、不可绕过性和可验证性。为保护参考监视器免受篡改,可以用“护城河”将其隔离。为防止参考监视器被绕过,可以使用“吊桥”机制,防止核心直接访问内