用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于RT-Linux防危保障机制的实验模型

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-11 00:02:16
【本文由PB创新网为您整理】
摘要:随着嵌入式实时系统在安全关键系统中日益广泛的应用,其软件不但要保护嵌放式实时系统的功能性和时间限制,对其安全性、稳定性和可靠性的要求也大大提高。软件错误的比例大大高于硬件错误,软件错误可能引起硬件误操作,进而直接威胁系统安全。使用防危核可有效防止关键设备误操作。本文以RT-Linux实时操作系统为平台,对十字路口交通灯控制建立安全实验模型,硬件防危核实现技术,为防危保障探索新的实现途径。

    关键词:防危核 安全核 实时系统 防危策略

早在19世纪70年代,为保证系统中的敏感信息不被非法用户恶意破坏和非法访问,Roger Schell和Mitre等人提出了安全核(security kernel)的概念。安全核将系统中的软件隔离为可信的和不可信的两部分,由可信赖信号负责对不可信部分进行审核,以保证不可信部分不会对敏感数据进行非法和错误的访问。安全核的技术在信息安全领域中取得了成功并得到广泛的应用。在安全核基础上,Rushby等人又进一步提出了防危核(safety kernel)的概念,用于防止软件对安全关键设备的非法访问,从而保障系统安全。防危核由一组防危策略和隔离组成,因此,防危策略的完备性和低开销是防隐核可靠和高效的关键。现在,对防危核的研究还处于初级阶段,本文介绍我们基于RT-Linux实现的队危核。实验结果表明了该方案的有效性和可行性。

1 防危核技术

防危核关心的是如何保护设备不被非法访问,javascript:window.open(this.src);" style="cursor:pointer;"/>以避免因对设备的误操作引起的重大生命财产损失和环境破坏。防危核把受保护设备与系统中的其它部分隔离,通过实施防危策略(safety policy)对这些设备的访问进行特殊控制。凡是对受保护设备的访问,都必须经过危核的审查,合法者予以支持;反之,则采取相应的出错处理措施,维护系统的防危特性,这样就能很好地避免软件故障造成的灾难后果。从应用软件的角度来看,防危核的原理如图1所示。在工程应用中,要保证危核的有效性,必须遵循下列3项规则。

(1)短小精练

为了不影响系统的性能,防危核应尽可能小,为此系统所有的防危核策略均由防危核为实施是不现实的。采用将防危策略放在防危核外部的防危策略库中的方法,缩小防危核的大小主,防危核在防危处理时访问防危策略库,以获取相应防危策略。

(2)完备性

完备性要求,不通过防危核主体就不能对客体进行任何访问操作。它表明对设备的任何访问请求都必须通过防危核的验证。如果系统中存在其它组件可以绕开防危核访问设备,显然安全将无法得到保障。所以采用了防危核技术的系统必须要保证防危核对设备的专一控制。

(3)通用性

通用性指防危核模块的基本结构不依赖于任何特定的操作系统和设备,只需要操作系统和设备满足防危核的接口要求,并修改策略库,就可以将防危核软件应用到任何操作系统和设备中。

2 开发平台RT-Linux OS构架与特征

通常,安全关键系统对实时性有严格要求,我们选择RT-Linux操作系统为安全实验模型的开发平台。

RT-Linux是美国NMT大学对标准Linux的一个实时扩展版本,其结构如图2所示。它实际上是给原Linux内核打了实时补丁,打了补丁的Linux内核由两部分组成:RT-Linux和Linux。在RT-Linux内核实时应用(任务)则是一种可加载的内核模块,具有高的优先级。另外,所有的中断都先由RT-Linux来处理,之后才由标准的内核来处理。非实时任务通过RT-Linux提供的FIFO(一种透明的管道)与实时任务通信。

RT-Linux可以提供应用程序的硬实时保证。所谓“硬实时”是区别“软实时”而言的。硬实时对满足时限的要求比软实时严格,通常硬实时的系统响应时间在ms或μs级,而软实时对其响应时间的要求没有那么严格。硬实时工作通常指超过时限要求就会造成严重损害的工作,而软实时即使超过时限也不会带来严重后果。以核能电厂和看VCD为例,用在核能电厂的实时操作系统,如果超出时限可能会导致严重的损害,然而VCD播放器超出时限只不过让使用者感觉不舒服而已。所以前者是硬实时,后者是软实时。

这样一种Linux实时化方案,对原Linux改动最小,又能充分利用标准Linux的全部特性,从而能满足实时系统防危核控制模型研究的诸多要求,因此,NMT RT-Linux是本安全模型研究的最佳实验平台。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 Linux平台的其它使用资源

通常,基于RT-Linux的应用程序由两部分组成:一部分运行在Real-Time下,另一部分运行在标准的Linux下。运行在Real-Time下的任务是实时任务,它作为Linux的内核模块(Module)被加载到Linux内核中,也就是它运行于Linux内核态,因此需要使用Linux内核态资源。本控制模型系统中的防危核正是作为实时任务运行于Linux内核态,而十字路口交通灯控制设备运行于标准Linux下。控制设备任务采用Linux的TCL/TK图形编程语言编程,以友好、形象、直观的界面模拟防危核对十字路口交通灯的控制。下面将分别介绍上述资源。

3.1 内核模块加载机制

Linux提供的可加载内核模块(Module)是Linux内核支持的动态可加载模块,它们是核心的一部分;但是并没有编译到核心里面去,只是一个目标文件,可根据需要在系统启动后动态地加载或卸

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:7,078.12500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号