嵌入式系统的VxWorks安全性问题研究

发布者:Volare最新更新时间:2009-11-18 来源: 单片机与嵌入式系统关键字:VxWorks  嵌入式系统  强制安全访问控制 手机看文章 扫描二维码
随时随地手机看文章

引 言

    实时嵌入式系统与网络的结合以及高可信覆盖网络的发展使得嵌入式实时操作系统的安全性问题日益突出。提高实时嵌入式系统的安全性和可靠性是未来实时嵌入式系统发展的重要方向之一。VxWorks是一个运行在目标机上的高性能、可裁剪的嵌入式实时操作系统。该系统以其良好的可靠性和卓越的实时性被广泛应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。VxWorks系统在安全方面未作任何处理。针对这一问题,本文在分析现有嵌入式安全操作系统构建原理及技术的基础上,提出了VxWorks安全内核,实现了基于多策略的强制访问控制等安全机制。测试表明,该安全内核不仅增强了VxWorks系统的安全性,而且对其实时性的影响较小。

1 安全操作系统构建原理及方法

1.1 强制安全和访问控制

    操作系统的安全性是整个计算机系统安全性的基础。操作系统的安全特性很多,强制安全是其一个侧面。是不是强制安全,要视其安全策略逻辑定义与安全属性分配是不是由系统安全性策略管理员控制。如果是,则是强制安全;反之,如果是由普通用户控制的,则是自主安全。一个操作系统的强制安全策略可以分解为若干种类的策略,如访问控制策略,认证、加密策略等。

    在本系统中实现了基于多策路的强制访问控制,即规定主体在操作系统的控制下依据一定的策略对客体进行访问。为此,提供了一个定义和转换强制安全性策略的架构,用于定义操作系统的强制安全策略,并把它转化成底层的操作系统强制安全机制能够解释的形式。

1.2 增强嵌入式操作系统安全性的方法

    在一个现有的较成熟的嵌入式操作系统基础上增加安全核来增强现有系统安全性,是一个很好的开发安全嵌入式系统的思路。安全内核负责实现整个操作系统的安全机制,在硬件、操作系统、计算系统的其他部分之间提供安全接口,将安全功能隔离在安全核内。

2 VxWorks安全核框架

2.1 安全核体系结构

    本文提出一种如图1所示的VxWorks安全核框架结构。基本思想是:应用程序对Wind内核的访问都是受控的,即应用程序(主体)对任务、信号量、共享内存、消息队列、管道、信号和文件等(客体)的访问及操作都受到强制的控制,安全核依据一定的策略判定是否允许主题对客体访问。应用程序对Wind内核的所有调用都被监控器拦截。首先通过查询策略缓存判定该调用的合法性,如果合法则允许进行该调用;如果没有找到相关策略则将该请求交由安全服务器进行判定,合法则允许进行该调用并将该策略写入策略缓存以便下次调用时直接判定,非法则拒绝此次调用。每次调用及结果反馈给审计模块以备查询。监视器、安全服务器、审计模块的配置工作由主机端配置工具进行。

    该安全核的强制访问控制模块主要由监控器、策略缓存和安全服务器三大组件组成。其中,监控器负责拦截主体对客体的所有访问,将拦截到的访问交由判定机构判定,并负责依据接收到的判定结果对访问进行控制;策略缓存(Access Vector Cache,AVC)组件缓存安全服务器提供的访问控制决策供监控器使用,以减少检查对象访问权限耗时,从而提高整体性能;安全服务器是内核的一个子系统,将安全策略与通用接口封装在一起的一个组件,通用接口用于获取安全策略决策。针对不同对象的管理器负责向安全服务器申请SID标签以及向监控器提供服务。

2.2 安全服务器

    安全服务器是本系统的核心组件,是访问合法性的判定部分。其结构如图2所示。

    安全上下文是表示安全属性的变长字符串,是安全服务器私有的数据类型,由安全服务器依据一定的策略逻辑负责解释。安全上下文不直接与主客体绑定,而是在运行时由安全服务器依据标签规则进行其与安全标识符SID的映射。多策略验证器是安全服务器的核心模块,它包含系统设定的所有安全策略的判定逻辑。本安全核对多安全策略的支持由这一模块实现。按照不同的策略,对访问有不同的判定结果,安全服务器依据这些判定结果的交集做出最终的判定结论。

    策略数据库是策略数据的存储结构,通过主机端配置工具配置其中相关信息。

    本安全核的实现采用了一种结合类型实施(TE)、基于角色的访问控制(RBAC)和多级安全(MLS)的多安全策略。安全服务器定义的安全性上下文由用户身份、角色、类型及可选的安全级别和范围组成,其中角色只与任务(task)相关。只有合法的用户、角色、类别及安全级别或范围的组合才会被安全服务器赋予SID。

2.3 客体管理器及强制访问控制

    客体管理器是负责安全策略实施的部分。Wind内核中任务、信号量、共享内存、消息队列、管道、信号、文件等的管理系统是不同的对象管理器。本系统实行强制访问控制,系统中每个任务、信号量、文件等都被赋予一定的安全属性,这些属性由客体管理器负责维护。

    强制访问控制的具体过程为:监控器截获访问请求格式为主体SID、客体SID以及许可权限三元组,即。监控器将三元组交与AVC进行匹配,如果有相应条目,则允许该访问请求;如果没有相应条目,则将该三元组交由安全服务器进行判定。安全服务器首先进行SID与安全上下文的映射,依据策略逻辑将映射后的该条访问信息交与策略验证器进行验证。如果验证通过则将该三元组写入AVC,同时运行此次访问,反之则不允许访问。

3 系统实现及测试

3.1 安全系统的实现方式

    在分析VxWorks系统内核Wind结构的基础上,结合上述提出的安全核设计,本系统实现了安全标记和强制访问控制,即实现了对Wind任务、信号量(二进制/互斥/计数信号量)、消息队列、管道、事件等的安全标记和强制访问控制。实现了监控器部分来支持对系统调用的控制;实现了策略服务器使之初步支持MLS、TE、RBAC策略判定;实现了策略缓存部分以提高系统性能。监控器的实现:监控器对系统调用实施拦截,实质上是作为一个转向器将正常的系统调用转入强制访问控制阶段。系统通过调用全局安全钩子函数securi_hooks()调用各子系统安全钩子函数,如sec_task_hooks()、see_semB_hooks()、sec_semM_hooks()等。在系统调用级,定义了需要进行安全判定的接口函数,如sec_taskSpawn()、sec_taskDelete()、sec_emBCreate()等。

    安全服务器的实现:本安全核的访问控制粒度为系统对象级,因此在安全服务器中实现了对每一个系统对象(任务、信号量等)定义安全属性,定义SID,以及将SID与安全属性相映射关联。安全策略的加载与验证,以及依据监控器发来的判定请求进行访问判定的功能也在安全服务器中进行了具体实现。验证函数的三个参数分别为:主题SID、客体SID、访问请求模式。只有在该请求同时满足TE、MLS、RBAC的情况下,验证函数才返回TRUE,同意访问。

    策略缓存的实现:策略缓存实现中最重要的是缓存数据项。本系统中实现的缓存数据项结构为:

   

3.2 系统功能及性能测试

    本文在对此安全内核测试时目标机采用Tornado系统自带的VxSim目标模拟器。宿主机配置为AMD Ath-lon 64x2 Dual Core Processor 3600+2.00 GHz,512 MB,安装Tornad02.2/VxWorks5.5。

    安全核功能测试的内容包括安全标记以及强制访问控制。首先设计了测试用例,结果表明Wind安全内核目前可以标识Wind任务、信号量(二进制/互斥/计数信号量)、消息队列、管道,安全标签和对象一一对应且具有继承性。其次设定了不同安全等级任务的系统调用来测定系统的强制访问控制,测试表明监控器拦截了安全相关的所有系统调用,安全服务器依据配置好的安全策略给出了正确判定,没有任务绕过强制访问控制。

    在安全核性能的测试上使用VxWorks提供的一组系统调用——timex()和timexN()——来记录使用安全核和未使用安全核时同一任务的执行时间,以及在使用安全核时使用策略缓存和未使用策略缓存时执行统一任务的时间。由于测试时使用的任务执行时间非常短,因此主要采用timexN()来记录重复执行该任务的时间。测试结果表明,未使用安全核、使用带缓存安全核、使用不带缓存安全核执行同一任务时间依次增加。以taskSpawn()任务为例,未使用安全核时执行时间为50μs,使用带缓存的安全核时执行时间为70 μs,使用不带缓存时执行时间为80μs,误差均小于10%。测试表明本文设计的安全内核会在一定程度上影响系统调用的时间,但是策略缓存可以有效地提高系统性能,整体上还是可以接受的。

    该安全核结构具有通用性,改造后可以用于其他嵌入式系统。

关键字:VxWorks  嵌入式系统  强制安全访问控制 引用地址:嵌入式系统的VxWorks安全性问题研究

上一篇:μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植
下一篇:微软称“64位Windows很安全 几乎不中毒”

推荐阅读最新更新时间:2024-05-02 20:55

ARM嵌入式系统GUI开发研究
  随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(GUI)就从嵌入式系统的系统程序中被独立了出来。嵌入式GUI发展至今,已经有了许多的种类,具有了强大的功能。嵌入式GUI已经成为一个成功的嵌入式系统不可缺少的组成部分 。本文在ARM为核心的嵌入式系统上进行了图形界面的开发,并对Windows界面进行了模拟。   1 ARM处理器   嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 ARM是当前嵌入式领域使用最广
[单片机]
ARM<font color='red'>嵌入式系统</font>GUI开发研究
一种基于嵌入式系统和Internet的FPGA动态配置方案
摘要:一种基于嵌入式系统和Inlternet的FPGA动态配置方案。详细介绍了该方案的设计思想,并给出了设计实例。与传统的FPGA配置方案相比,该方案具有灵活、高效等突出优势。该方案的可行性和实用性已在实际系统中得到验证。 关键词:嵌入式系统 Internet FPGA TCP/IP TFTP 在现今的数字系统设计中,以“嵌入式微控制器+FPGA”为核心的体系结构因其强大的处理能力和灵活的工作方式而被广泛采用。嵌入式微控制器的优势在于将微处理器内核与丰富多样的外围接口设备紧密结合,在提供强大的运算、控制功能的同时,降低了系统成本和功耗,因而适合作为数字系统的控制核心;FPGA的优势在于超高速、丰富的逻辑资源以及用户可灵活配置
[应用]
基于STM32的嵌入式双目图像采集系统设计
1 引言 随着图像处理技术及嵌入式系统的发展,利用嵌入式系统进行图像处理,已使如视频监控、视频电话和视频会议等应用成为可能。嵌入式系统上进行图像采集则是实现这些应用的前提[1~2]。 双目立体视觉通常由两个摄像头从两个不同的角度,同时获取外界物体的两幅图像,或由单独一个摄像头在不同时间、不同位置获取外界物体的两幅图像,并基于视差的原理来获取外界物体的三维几何信息,复现外界物体的形状和位置。 目前已有很多方案实现在嵌入式平台上的图像采集。本文基于嵌入式的图像采集系统选择了意法半导体(ST)公司生产的STM32F103ZET6芯片为主控芯片,FIFO结构的AL422B芯片实现图像数据缓存,SD卡实现图像存储以及四线制电阻触摸屏实
[单片机]
基于STM32的嵌入式双目图像采集系统设计
基于MEMS和MR传感器的嵌入式系统姿态测量
1.介绍: 传统的姿态测量系统采用捷联式惯导系统(SINS),相比平台式惯导系统而言,其具有体积相对更小,成本相对更低,易于安装和维护并且可靠性更高的有点,因此,捷联惯导系统在飞行器导航和姿态测量中得到了广泛的研究和应用。 然而,传统的姿态测量系统包括捷联式惯导普遍具有体积大,重量大,复杂程度高等特点,使得传统的姿态测量系统无法应用于日常应用。同时,传统的捷联惯导系统一般需要一个寻北系统的辅助来获得载体的方位角,但是传统的寻北系统多为基于陀螺的系统,其体积和复杂度也是日常应用所无法接受的。可见,对于对体积具有严格限制的嵌入式系统而言,需要研制一种小型的姿态测量系统来满足其姿态测量的要求。MEMS技术和MR技术的快速发展,为研制这种
[单片机]
基于MEMS和MR传感器的<font color='red'>嵌入式系统</font>姿态测量
如何构建eCos嵌入式系统
摘要 eCos是一个优秀的嵌入式实时操作系统。eCos的体系结构是一种分层结构,硬件抽象层将操作系统与硬件隔离开,这为把eCos移植到不同的硬件平台提供了便捷的方法,抽象层就像软件与硬件之间的桥梁。主要的移植思想是,按照eCos的模块化设计,完成硬件抽象层。 关键词 eCos 移植 硬件抽象层 嵌入式 可配置操作系统 引言   目前,嵌入式操作系统的种类较多,其中比较流行的有VxWorks、Windows CE、Psos、Palm OS、嵌入式Linux等。这些嵌入式操作系统在开放性、实用性以及性能等方面各有千秋,但大多数为商用产品。除了商用产品外,还有一些免费的嵌入式操作系统,uClinux是其中比较流行的,而eCos则是另一
[应用]
一种软硬结合的嵌入式系统远程调试方法
1 基本方法     图1(a)是传统的嵌入式调试方法:主机PC通过串口与从机嵌入式系统相连,接收从嵌入式系统发来的调试信息并向嵌入式系统发送调试指令,主机和从机之间只能有几米或者几十米的距离。图1(b)是现在比较流行的远程嵌入式调试方法:主机PC和从机嵌入式系统分别通过以太网连接到网络上,主机通过诸如Telnet之类的协议向嵌入式系统接收调试信息和发送指令。本文介绍的方法是将这两者结合起来,位于远端的嵌入式系统与其相邻的PC2通过串口相连,主机PC1和从机PC2各自通过以太网连接到网络上,主机PC1仍然通过Telnet协议(使用Windows自带的“超级终端”程序)与从机PC2通信,在从机PC2上运行一种我们设计的软件T
[嵌入式]
机器人技术和机器学习正成为嵌入式系统的下一大趋势
机器人技术和正成为嵌入式系统硬件和供应商的下一个重大事件。 嵌入式系统可以通过网络连接和()来传递信息、共享资源。无论是智能,低能耗,边缘设备,中间网关还是计算节点,都需要基于可靠性和安全性的多核片上系统(SoC)架构。 因此,嵌入式系统行业似乎将进入两个关键领域:智能和自治。 一些感兴趣的领域是机器学习和所谓的“物联网机器人”。在机器学习领域,一种称为神经形态处理器或脑启发计算的新型计算架构将成为主流。 目前基于冯·诺依曼的结构缺乏处理的功能和性能,但新的处理技术,如SNNaker和BrnScaleS,将模仿大脑的生物结构和行为,能够实时模拟10亿个神经元。 但是,有效开发将需要新的语言和编译器等嵌入式
[机器人]
基于VxWorks的视频采集系统的设计与实现
1 引言 多媒体通信技术的发展为信息的获取和传输提供了丰富的手段,视频数据是其中不可缺少的重要组成部分,而视频数据的获取离不开视频采集系统。目前,视频采集系统的应用极为广泛,许多产品和设施,例如远程监控、可视电话、会议电视等等,都需要采集视频信息。而且,随着PC机的普及,人们可以直接利用PC机进行视频采集,采集到的视频数据经过处理后保存在本地或者发送到远方。由于视频的采集、处理和传输都在一台PC机上完成,因此可以大大降低系统的复杂度和价格。 我们设计的视频采集系统是基于Intel x86平台和实时操作系统VxWorks,由视频采集卡和驱动程序两部分组成,如图1所示。视频采集卡完成视频数据采集和格式转换,驱动程序在系
[电源管理]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved