论文部分内容阅读
嵌入式系统应用越来越广泛,而且正日益变得庞大和复杂化,造成系统的可靠性与安全性越来越差。如何让嵌入式系统在遭受侵害时保持一定的性能并安全运行,是嵌入式系统一个十分重要的研究领域,嵌入式系统弹性应对机制应运而生。目前的嵌入式系统安全研究往往从静态预防的角度考虑问题,缺乏动态安全策略的设计思想,无法动态掌握系统运行时的安全状况并做出响应,对嵌入式系统硬件配置变化的适应性较差。本文为解决这些问题,提出了弹性应对的解决思路,主要开展了以下几方面的研究工作:分析了嵌入式系统安全领域的研究现状,对嵌入式操作系统安全、进程安全和系统调度等方面进行了说明和评述。探索了实现弹性应对机制的方法,对嵌入式操作系统安全体系结构、检查点机制和嵌入式操作系统调度等提升嵌入式系统安全可靠性的技术进行了介绍。深入研究了弹性应对理论及相关方法,定义了弹性应对机制,介绍了嵌入式操作系统体系结构的安全增强方法、嵌入式系统安全弱点和虚拟文件系统。对Flask安全框架、SELinux安全机制、弱点检测与评估和动态策略配置等实现弹性应对机制的技术进行了详细分析。基于SELinux安全机制,提出了嵌入式操作系统弹性应对体系结构,讨论了动态评价系统安全状况和动态策略配置的方法,在体系结构方面提升了嵌入式系统的弹性应对能力。针对现有嵌入式系统无法动态掌握系统运行时的安全状况并做出响应的问题,提出了基于弱点特征的安全等级评估方法,实现了动态实时的系统安全状况评价,为系统动态配置安全策略和动态设置检查点时间间隔提供了决策支持。详细阐述了组合弱点的危害评估、弱点特征向量分类等实现安全评估的方法,讨论了最少弱点组合问题、弱点特征向量最佳分类数问题和弱点危害估值的更新问题。以安全等级评估为基础,为提高系统的容错性、健壮性、稳定性和可恢复性,提出基于动态检查点时间间隔的进程弹性应对方法,应用检查点机制实现了系统进程的备份与恢复。为实现检查点时间间隔的动态调整,对计算最优静态检查点时间间隔的“J.T.Daly模型”进行了改进,并基于此模型提出了一种动态设置检查点时间间隔的新方法。与静态设置检查点时间间隔相比,动态设置检查点时间间隔的方法降低了检查点的开销率,提升了系统进程的弹性应对能力。针对嵌入式系统运行过程中硬件系统配置变化引起的系统任务调度异常问题,分析了系统调度异常产生的原因,提出了嵌入式系统任务调度异常的弹性应对方法。对调度异常进行了形式化描述,定义了调度的平稳性。基于调度平稳性提出了DX和SAR两种调度规则,使操作系统对硬件配置变化的适应性更强,提升了调度的平稳性,有效的阻止了系统硬件配置变化带来的调度异常。