(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf_第1页
(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf_第2页
(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf_第3页
(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf_第4页
(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(计算机应用技术专业论文)面向对象的安全嵌入式操作系统的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学研究生硕士学位论文摘要 摘要 随着信息技术的发展,信息安全越来越受到人们的关注。嵌入式系统的应用越来越广, 嵌入式系统作为一种典型的信息系统,其安全性不容忽视。而作为嵌入式系统中最为重要 的嵌入式操作系统的安全性的好坏,将会直接影响到整个系统的安全性。 本论文仔细分析了操作系统的相关研究,包括嵌入式操作系统、面向对象操作系统、 安全操作系统以及操作系统面向领域的扩展技术,在此基础上提出了从操作系统外部、内 部同时增强安全性的思想。 移植嵌入式虚拟机和改进垃圾回收算法是从外部增强嵌入式操作系统安全性,本文详 细介绍了嵌入式虚拟机的体系结构和嵌入式虚拟机的实例,深入讨论了各种垃圾回收算 法,提出了一种新的适合嵌入式场合的垃圾回收算法,该算法综合了自适应分代技术和引 用计数法的优点,主要改进地方有代的划分改进、不同代采用回收策略的改进、多线程机 制的使用、消除引用计数法的循环引用。 设计嵌入式安全内核是从内部增强嵌入式操作系统安全性,主要的方法是通过l s m 在 现有的内核中增加安全模型。本文分析了l s m 的工作机制和使用方法,然后详细讨论了b l p 模型利m b l p 模型,并结合m b l p 模型和嵌入式的具体场合提出了一种面向嵌入式的e m b l p 模型,为了证明该模型的安全性,本文推导了e m b l p 的一些结论。 嵌入式虚拟机是从外部增强操作系统的安全性,嵌入式安全内核是从内部增强安全 性,本文最后将这两种方法结合起来,实现了一个面向对象的安全嵌入式操作系统,其中 包括在现有的嵌入式l i n u x 基础上移植嵌入式虚拟机、安装l s m 、在内核中实现e m b l p 模 型,同时证明了该系统的安全性,并对该系统的垃圾回收算法进行了性能测试、对安全内 核进行了安全性测试和其对内核影响的测试,给出了相应的性能评价。 关键词:嵌入式操作系统;嵌入式虚拟机;垃圾回收器;安全模型;安全内核 南京邮电大学研究生硕士学位论文 a b s t r a c t a b s t r a c t a si n f o r m a t i o nt e c h n o l o g yd e v e l o p s ,i n f o r m a t i o ns e c u r i t yi sm o r ea n dm o r e i m p o r t a n tf o rp e o p l e t h e na p p l i c a t i o no fe m b e d d e ds y s t e mi sm o r ea n dm o r ep o p u l a r a n da sat y p i c a li n f o r m a t i o ns y s t e ,t h es e c u r i t yo fi tc a nn o tb en e g l e c t e d a s m o s ti m p o r t a n tc o m p o n e n to fe m b e d d e ds y s t e m ,t h es e c u r i t yo fe m b e d d e do p e r a t i o n s y s t e m ( e o s ) w i l la f f e c tt h es e c u r i t yo ft h ew h o l es y s t e md i r e c t l y t h er e l a t i v er e s e a r c ho fo p e r a t i o ns y s t e m ( 0 s ) i sc a r e f u l l ya n a l y z e di n c l u d i n g e o s ,o b j e c t o r i e n t e do s ,s e c u r eo sa n df i e l d o r i e n t e de x t e n s i o no fo s an e wi d e a w h i c hi n c r e a s e st h es e c u r i t yo fe o sf r o me x t e r i o ra n di n t e r i o ri sp r o p o s e d t h et r a n s p l a n to fe m b e d d e dv i r t u a lm a c h i n e ( v m ) a n di m p r o v e m e n to fg a r b a g e c o l l e c t o r ( g c ) i n c r e a s et h es e c u r i t yo fe o sf r o me x t e r i o r t h ea r c h i t e c t u r eo f v ma n da ni n s t a n c ea r ei n t r o d u c e d s e v e r a lg c sa r ed i s c u s s e d ,a n dan e wg cw h i c h i ss u i t a b l ef o re m b e d d e df i e l di sp r o p o s e d t h ea l g o r i t h mc o m b i n e sa d v a n t a g e so f s e l f a d a p t a b l eg ca n dr e f e r e n c ec o u n t e rg c t h ei m p r o v e m e n ti n c l u d e sg e n e r a t i o n p a r t i t i o n ,c o l l e c t i o ns t r a t e g y ,m u l t i - t h r e a d ,e l i m i n a t i o no fc i r c u l a rr e f e r e n c e t h ed e s i g no fe m b e d d e ds e c u r i t yk e r n e li n c r e a s e ss e c u r i t yf r o mi n t e r i o r ,u s i n g l s mt oa d ds e c u r i t ym o d e li n t ok e r n e l t h ew o r km e c h a n i s ma n du s a g eo fl s ma r e a n a l y z e d b l pa n dm b l pa r ed i s c u s s e d ,a n dan e ws e c u r i t ym o d e l n a m e de m b l pi s p r o p o s e d d e d u c t i o ni sg i v e ni no r d e rt op r o v et h es e c u r i t yo fe m b l p t h ee m b e d d e dv mi n c r e a s e st h es e c u r i t yo fe o sf r o me x t e r i o ra n dt h ee m b e d d e d s e c u r i t yk e r n e li n c r e a s e si tf r o mi n t e r i o r a no b j e c t o r i e n t e ds e c u r i t ye o si s i m p l e m e n t e di nt h i sp a p e rw h i c hc o m b i n e st h ea b o v et w om e t h o d s t h i sw o r ki n c l u d e s t r a n s p l a n to fe m b e d d e dv mi n t oe m b e d d e dl i n u x ,i n s t a l l a t i o no fl s m 。i m p l e m e n t a t i o n o fe m b l pi nt h ek e r n e l t h es e c u r i t yo ft h i ss y s t e mi sp r o v e d t h i ss y s t e mi st e s t e d i n c l u d i n gn e wg c ,s e c u r i t yk e r n e l ,a n di n f l u e n c ef o rk e r n e l ,a n dc o r r e s p o n d i n g p e r f o r m a n c ee v a l u a t i o ni sg i v e n k e y w o r d s :e m b e d d e do p e r a t i o ns y s t e m :e m b e d d e dv i r t u a lm a c h i n e :g a r b a g e c o l l e c t o r :s e c u r i t ym o d e l :s e c u r i t yk e r n e l : i i 南京邮电大学 硕士学位论文摘要 学科、专业:工学计算机应用技术 研究方向: 计算机在通信中的应用 作 者:三塑生级研究生李伟伟指导教师三熊蓝 题目:面向对象的安全嵌入式操作系统的研究 英文题目:t h er e s e a r c ho fo b j e c to r i e n t e ds e c u r ee m b e d d e d o p e r a t i o ns y s t e m 主题词: 嵌入式操作系统嵌入式虚拟机垃圾回收器 安全模型安全内核 k e y w o r d s : e m b e d d e do p e r a t i o ns y s t e m e m b e d d e dv i r t u a lm a c h i n e g a r b a g ec o l l e c t o r s e c u r i t ym o d e ls e c u r i t yk e r n e l 南京邮电大学研究生砸士学位论文 缩略语 e o s v m e v m b r e w j 2 m e s m s k g c l s m b l p m b l p e m b j p t c b d a c m a c t f t p n f s j d k 缩略语 e m b e d d e do p e r a t i o ns y s t e m 嵌入式操作系统 v i r t u a lm a c h i n e 虚拟机 e m b e d d e dv i r t u a lm a t h jn e 嵌入式虚拟机 b i n a r yr u n t i m ee n v i r o n m e n tf o rw i r e l e s s无线二进制运行时环境 j a v a2m i c r oe d i t i o n j a v a2 微型版本 s e c u r i t ym o d e l :安全模型 s e c u r i t yk e r n e l安全内核 g a r b a g ec o l l e c t o r垃圾回收器 l i n u xs e c u r it ym o d e l l i n u x 安全模型 b e l ll e o n a r dp a d u l a 一种以人名命名的安全模型 m o d i f i e db e l ll e o n a r dp a d u l a 修改的b l p 模型 e m b e d d e dm o d i f i e db e l ll e o n a r dp a d u l a 面向嵌入式的修改的b l p 模型 t r u s t e dc o m p u t i n gb a s e 可信计算基 d i s c r e t i o n a r ya c c e s sc o n t r o l自主访问控制 m a n d a t o r ya c c e s sc o n t r o l强制访问控制 t r i v i a lf i 】et r a n s f e rp r o t o c o l 简单文件传输协议 n e t w o r kf il es y s t e m 网络文件系统 j a v ad e v e l o p e r sr i t j a v a 开发包 v 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:盔缝盗日期:塑壁垒:! :o 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名:! ! ;堡鲑 导师签名 曲跳 瞒 缉 南京邮电人学硕上研究生学位论文第一一章绪论 1 1研究背景及意义 第一章绪论 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个领域的具体应用相 结合后的产物,它是一个技术密集、资金密集、不断创新的知识集成系统。嵌入式系统是 面向用户、面向产品、面向应用的,如果独立于应用自行发展,则会失去市场。目前,嵌 入式系统已经在移动通信、信息家电、工业控制等诸多领域得到了应用,为人们的生活提 供了极大的方便。 嵌入式系统包括硬件系统和软件系统,随着嵌入式处理器的性能越来越高,嵌入式软 件系统对整个系统的性能影响越来越大,因此,目前对嵌入式软件的研究如火如荼。从软 件的角度看,嵌入式系统是层次结构的。最下层是板极支持包,它包含系统的硬件部件和 设备的所有驱动程序,然后是嵌入式操作系统,起到屏蔽硬件细节、为上层提供服务接口 的功能,再往上就是一些应用程序了,这部分的功能取决于嵌入式系统应用的具体场合。 在软件分层中,提到了嵌入式操作系统的概念,这个概念现在越来越受到人们的关注。 以前,由于嵌入式系统的功能有限,可以直接用汇编语言或者c 语言编程,无需操作系统。 随着用户对系统功能的要求越来越多,越来越强大的嵌入式系统出现,比如手机,掌上电 脑等。如果还是用汇编或者c 语言直接编程的话,其工作量是不可想象的。如果在硬件上 面加上操作系统,屏蔽硬件细节,为上层用户提供接口,将大大编写简化应用程序的工作 量,提高整个系统的开发效率。 近年来,随着因特网技术的飞速发展以及电子商务的普遍应用,信息安全越来越受到 人们的关注。通用计算机系统的安全性主要源于系统结构设计的不安全以及系统软件设计 中存在的诸多漏洞。基于这些安全隐患,计算机病毒会对信息造成重大的破坏,从而给人 们带来损失。嵌入式系统作为一种特殊的计算机系统,随着其应用场合的越来越广,其安 全性也将会受到挑战。 从计算机信息系统的角度来看,信息安全的核心主要有操作系统、网络系统和数据库 系统。而后两者一般都是建立在操作系统之上的。操作系统作为计算机系统中最基本的系 统软件,其安全性是必须要保证的。如果操作系统本身存在安全隐患,那么建立在其上的 应用软件的安全便无从谈起,因此操作系统的安全性在计算机系统的整体安全性中是至关 重要的。为了增强嵌入式系统的安全性,就必须要提高嵌入式操作系统的安全性,因此设 南京邮电大学硕:卜研究生学位论文第一章绪论 计出一个安全的嵌入式操作系统的意义是非常大的。 1 2本文的主要工作 本论文将开放源代码的嵌入式l i n u x 作为安全的嵌入式操作系统的开发基础,对当前 操作系统的最新技术进行了研究总结,对操作系统的安全性的产生原因进行了分析,主要 有执行错误和体系结构的错误。前者的现象主要有缓冲区溢出、内存泄漏等,这主要是由 于当前的操作系统设计中使用了不安全的语言,如c 语言等;后者主要是操作系统的设计 中缺乏安全机制造成的。针对这些原因,本文提出了采用面向对象技术和安全内核的方法 来增强操作系统的安全性,具体如下: 1 将嵌入式虚拟机移植到操作系统中,并且对虚拟机中影响安全性最大的垃圾回收 算法进行了改进。 2 对原有的系统内核进行改进,加入了安全模块,并且对安全模型进行了改进。 本论文提出这种增强系统安全性的方法主要是因为:嵌入式虚拟机是从操作系统的外 部增强系统的安全性,使得系统软件与应用软件之间安全隐患降低:安全内核是从操作系 统内部增强系统安全性。本论文将两者综合起来,从外、从内同时入手,大大增强了操作 系统的安全性。 综上所述,本论文的创新点主要有: 1 提出了从外、从内同时入手来增强嵌入式操作系统安全性的思想,其中嵌入式虚拟 机是从外部增强操作系统的安全性,嵌入式安全内核是从内部增强安全性。 2 嵌入式虚拟机中的垃圾回收算法是影响系统安全性的重要因素,本论文深入分析了 当前的垃圾回收算法,对这些算法进行了改进,提出了一种新的垃圾回收算法。该 算法综合了自适应分代技术和引用计数法的优点,改进了它们的一些缺陷,主要是 代的划分改进、不同代采用回收策略的改进、多线程机制的使用、消除引用计数法 的循环引用。 3 实现安全内核最重要的就是设计安全模型,本论文详细分析了b l p 模型和m b l p 模 型,并结合m b l p 模型和嵌入式的具体场合提出了一种面向嵌入式的e m b l p 模型, 为了证明该模型的安全性,本文推导了e m b l p 的一些结论。 4 设计出了一个面向对象的安全嵌入式操作系统原型,其中包括在现有的嵌入式 l i n u x 基础上移植嵌入式虚拟机、安装l s m 、在内核中实现e m b l p 模型,同时证明 了该系统的安全性,并对该系统的垃圾回收算法进行了性能测试、对安全内核进行 塑塞坚皇查堂婴主型塞生兰竺堡兰 塑二里堕丝 了安全性测试和其对内核影响的测试,给出了相应的性能评价。 1 3本文组织 根据课题的要求,本论文主要包括三个部分。第一部分首先介绍了当前操作系统的相 关研究,主要包括嵌入式操作系统、面向对象操作系统、安全操作系统以及操作系统面向 领域的扩展技术,并且研究了l i n u x 的系统结构。第二部分是安全的嵌入式操作系统的分 析与实现,主要包括嵌入式虚拟机的分析和垃圾回收算法改进、安全模型的分析和改进、 嵌入式虚拟机的移植、安全内核的实现。第三部分是对本文实现的安全的嵌入式操作系统 的原型的安全性的分析、证明、性能测试和评价。基于上述的内容,本文的组织如下: 第一章:介绍了嵌入式操作系统安全性的重要性,说明了课题的研究背景及意义、本 文的组织。 第二章:介绍了操作系统的研究现状以及l i n u x 操作系统。 第三章:嵌入式虚拟机介绍以及实例分析。 第四章:分析了常用垃圾阐收算法,提出了一种新的垃圾回收算法。 第五章:l s m 的工作机制介绍和安全模型的分析及改进。 第六章:安全的嵌入式操作系统的实现。 第七章:安全的嵌入式操作系统的测试及评价。 第八章:对本文工作进行总结和展望。 | ! f 京邮电大学硕士研究生学位论史 第章绪论 了安全性测试和其对内核影响的测试,给出了相麻的性能评价。 l3 本文组织 根据课题的要求,本论文主要包括三个部分。第一部分首先介绍了当前操作系统的柏 关研究,主要包括嵌入式操作系统、曲向剥象操作系统、安全操作系统以及操作系统面向 领域的扩展技术,并且研究了l i n u x 的系统结构。第二部分是安全的嵌入式操作系统的分 析与实现,主要包括嵌入式虚拟机的分析和垃圾回收算法改进、安全模型的分析和改进、 嵌入式虚拟机的移植、安全内核的实现。第三部分是对本文实现的安全的嵌入式操作系统 的原型的安全性的分析、证明、性能测试和评价。基于上述的内容,本文的组织如下: 第章:介绍了嵌入式操作系统安全性的重要性,说明了课题的研究背景及意义、本 文的组织。 第二章:介绍了操作系统的研究现状以及l i n u x 操作系统。 第,一一章:嵌入式虚拟机介绍以及实例分析。 第四章:分析了常用垃圾同收算法,提出了一种新的垃圾同收算法。 第五章:l s m 的工作机制介绍和安全模型的分析及改进。 第 章:安全的嵌入式操作系统的实现。 第七辛:安全的嵌入式操作系统的测试及评价。 第八学:对本文工作进行总结和展望。 第八章:对本文工作进行总结和展望。 南京邮电大学硕士研究生学位论文 第二章操作系统的相关研究 第二章操作系统的相关研究 本章首先分析了操作系统的相关研究,包括嵌入式操作系统、面向对象操作系统、安 全操作系统以及操作系统而向领域的扩展技术,然后在此基础上提出了从操作系统外部、 内部同时增强安全性的思想。其中嵌入式虚拟机是从外部增强操作系统的安全性,嵌入式 安全内核是从内部增强安全性,本章最后介绍了l i n u x 操作系统。 2 1嵌入式操作系统 嵌入式操作系统是位于硬件和应用程序之间的系统软件,主要负责嵌入式系统的全部 软、硬件资源的分配、调度工作和控制协调并发活动:它必须体现其所在系统的特征,能 够通过装卸某些模块来达到系统所要求的功能。随着i n t e r n e t 技术的发展、信息家电的 普及应用,嵌入式操作系统出现了微型化和专业化,开始从单一的弱功能向高专业化的强 功能方向发展。嵌入式操作系统在系统实时性、硬件的相关依赖性、软件固态化以及应用 的专用性等方面具有较为突出的特点。嵌入式操作系统是相对于一般操作系统而言的,它 除具备了一般操作系统最基本的功能,还有以下特点“: 1 实时性。嵌入式系统在过程控制、数据采集等场合广泛使用,这些场合要求系统 必要具有良好的实时性。 2 提供强大的网络功能,提供t c p u d p i p 协议支持及统一的m a c 访问层接口,这 主要是为各种移动计算设备预留接口。 3 强稳定性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要求嵌入式 操作系统具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令, 它通过系统调用命令向用户程序提供服务。 4 可移植性:这是因为嵌入式系统的硬件平台是多种多样的,因此为了有更好的硬 件适应性,嵌入式操作系统也要有良好的可移植性。 5 模块化。嵌入式系统一般是面向应用的,为了使用户针对具体的应用添加或者删 除某个相应的功能模块,嵌入式系统必须设计成模块化的,这样系统就是可裁减 的。 4 南京邮电人学坝士研究生学位论文第二章操作系统的相关研究 2 2面向对象操作系统 起源于上个世纪6 0 年代的面向对象概念,随着计算机软件、硬件技术的发展,在数 据库系统设计、计算机网络通信、人工智能技术等领域都受到了广泛的关注。由于对象的 概念更加接近于现实世界在人脑中的形象,而且面向对象技术具有数据抽象、封装、继承、 多态等诸多特性,使得它比传统的设计技术有着更为广泛的用途。把面向对象技术引入操 作系统的设计也就自然成为人们研究的一个方向。 在操作系统的设计方法中,传统的设计方法都是使用相应的表格或者队列链等数据结 构以及相应的标识符来描述。对资源的访问和使用顺序是由程序来规定的,即“算法+ 数 据结构”的模式。上个世纪6 0 年代,面向对象技术首次出现在操作系统的设计中。 引入的原因有几个方面“1 。 一方面,用户使用面向对象的工具作为开发环境;另一方面是操作系统的设计人员使 用面向对象的概念设计出性能好,结构清晰和能力强的操作系统,还有就是由于面向对象 技术采用对象间发送消息来驱动对象完成特定的功能,因此其非常适合开放的分布式操作 系统或者网络操作系统。在设计操作系统的时候使用面向对象技术有几个好处。首先,可 以降低操作系统的设计难度,这主要是因为对象的复用性和构件技术的发展:其次,可以 增强操作系统的安全功能,这主要是源于面向对象的数据抽象特性:最后,使得系统具有 更好的可扩展性和可维护性。这主要是由于面向对象的封装性,使得对象之间的边效应很 j 、。 因此,许多面向对象操作系统被研究和开发,例如w i n d o w sn t ,s o l a r i s 等。h y d r a 是第一个成功开发的面向对象操作系统,在h y d r a 中。各种状态数据和资源管理数据都被 定义成对象且都具有进行访问控制的权能。权能的概念是面向对象操作系统一个重要的概 念。权能包括两部分:对象名和访问权。从权能的观点看,系统内所有的物体都是对象, 而每一个对象在访问另一个对象时,都必须提供自己的权能,只有被访问对象的操作在该 权能限定范围内,该访问才是正确的。但是这些都是通用操作系统,将其直接用于嵌入式 系统显然是不合适的。一般来讲,嵌入式操作系统由于其硬件资源有限,传统上都是用c 语言和汇编语言来实现的。但是随着硬件技术的快速发展,现在己经出现了嵌入式软件要 快速适应硬件升级的问题。未来的嵌入式系统,网络功能是不可或缺的,面向对象封装带 来的松耦合也使得采用了面向对象的嵌入式操作系统更加适合分布式网络的需要。因此将 面向对象技术引入到嵌入式操作系统的设计中来是一个趋势。 南京邮电大学坝十研究生学位论文 第二章操作系统的相关研究 2 3 安全操作系统 鉴于操作系统的安全性在计算机系统的整体安全性的重要作用,安全操作系统就成为 一个研究热点。安全操作系统的研究已经有一段时间了,中国科学院软件研究所研究员石 文昌在安全操作系统研究的发展一文中将安全操作系统的历史归纳如下”1 : 阶段一:奠基时期 起始年度是1 9 6 7 年;开始标志是美国国防部计算机安全特别部队组建a d e p t 一5 0 系统项 目启动;主要特点是摸索基本的思想,技术和方法:代表性的思想有:a d e p t 一5 0 ,主体, 客体,访问控制矩阵,引用监控机,安全核,隐通道,b l p 模型,权能,访问控制表,系 统设计原则,操作系统保护理论,m u l t i c s ,m i t r e 安全核,u c l a 安全u n i x ,k s o s ,p s o s 。 阶段二:食谱时期 起始年度是1 9 8 3 年;开始标志是美国国防部颁布t c s e c 标准;主要特点是单一政策, 系统研制有蓝本,有c 2 一a 1 各等级的系统推出:代表性的思想有:可信计算基,系统安全 等级,l i n v si v ,安全x e n i x ,s y s t e m v m l s ,t u n i s ,a s o s 。 阶段三:多政策时期 起始年度是1 9 9 3 年;开始标志是美国国防部制定d g s a 框架;主要特点是多种政策, 系统开发有抽象框架,无蓝本;代表性的思想有:多安全政策共存,基于算法的安全政策 支持结构,访问控制程序,看守员,安全服务器,客体管理器,d t o s 。 阶段四:动态政策时期 起始年度是1 9 9 9 年:开始标志是美国国家安全局等推出f l a s k 安全体系结构;主要 特点是政策灵活性,迸一步探索新的体系结构;代表性的思想有:安全政策灵活性,安全 政策配置,f l a s k ,s e l i n u x 。 2 4 e o s 面向领域的扩展技术 由于嵌入式系统一般是面向特定的应用的,因此嵌入式操作系统必须能够适应不同的 应用场合,这就是嵌入式操作系统面向领域的扩展技术,相关的研究如火如荼。本课题是 研究安全的嵌入式操作系统,实际上也就是研究嵌入式操作系统面向安全领域的扩展技 术,因此可以适当的借鉴相关的研究成果”“7 “。 一般来讲,对嵌入式操作系统进行扩展的时候,需要根据领域的特殊要求进行特别的 设计,目前有很多的机构已经提出了相关的扩展规范,现有的嵌入式操作系统的面向领域 6 南京邮电大学硕+ 研究生学位论文第二章操作系统的相关研究 的扩展标准主要有。 标准面向领域 “基于u n i x 的可移植操作系统接口”是国际标准化组 p o s i x l 0 0 3 1 织给出的有关系统调用的国际标准 由欧洲汽车行业制定、将各种先进汽车电子设备有机 o s e k v d x 集合在一起、网络化嵌入式计算机系统的开发规范 高通公司2 0 0 1 年推出的基于c d m a 网络“无线互联网 b r e w发射平台”上增值业务开发运行的基本平台,b r e w 提 供的功能环境就好像p c 机上的操作系统一样 j 2 脏是s u n 公司所提供的一系列新规范,它定义了标 准j a v a 2 平台的压缩版本。j 2 m e 可用于为诸如蜂窝电 j 2 m e 话、p d a 、双向寻呼机以及机顶盒等资源受限制的设备 开发j a v a 应用程序 上述规范都是嵌入式操作系统在特定领域应用时进行扩展的成功的例子,通过分析, 发现它们都用到了一些基本的思想,主要有封装的思想、分层的思想和模块的思想。 分层的思想与编译原理的语法分析一样,有两个不同的方向,如果把整个分析方法比 作一棵倒立的树,那么,可以分为自底向上和自顶向下。前者是从树叶节点入手,逐步向 上规约,直到规约到根结点;后者是从树根节点出发,一步步向下推导,直到到达所有 的叶结点。其中后者是当前主要的设计方式。 分层的方法有无序分层法和有序分层法。前者是上下层之间调用没有限制和约束,可 以随便调用;后者是上层可以调用下层,下层不能调用上层。由于有序分层法可以避免产 生环路,对系统的安全性也有提高,因此是当前主要的分层方法。有序分层法又可以进 步分为半序有序分层法和全序有序分层法。前者允许同一层模块之问相互调用;后者不允 许同一层模块之间相互调用。一般来讲,在设计系统的体系结构时,使用有序分层结构, 且应该满足以下原则: 1 应该把所有模块都要用到的功能设置在最底层,为上层模块公用,否则比它低的层 次要想调用它,必须进行另外的设置。 2 尽量减少上下层之间的依赖性。这样做的好处是保证了高层的错误不会影响到底 层,也不会产生递归调用;同时增强了系统的可移植性,当上层软件从一种系统移 植到另外一种系统时,基本不用做修改。 高层调用低层具体有三种设计方法: 7 南京邮电大学硕十研究生学位论文 第二章操作系统的相关研究 1 上层可以调用所有比它层次低的软件服务:效率高,接1 :3 复杂 2 上层只能调用相邻下层的软件服务,不能跨层调用:接口简单,效率比较低 3 前两者的折中方案,上层可以调用部分比它层次低的软件服务 基于上述的思想,嵌入式操作系统面向领域的扩展技术主要有四种方式“1 , 1 内核扩展 此方式一般将系统设计为三层结构,无关层、抽象层、相关层。无关层实现功能扩展, 抽象层和相关层结合在一起实现可移植性。一般的嵌入式操作系统都包含这三个层次,包 括有些商业化的产品,如v x w o r k s 。 2 c s 扩展 该方式的思想来源于现在分布式操作系统的设计理念,因此比较适合分布式环境应 用。它把系统分解为许多的服务器任务,如任务管理任务,内存管理任务等。每个服务器 作为应用任务等待用户提出服务请求,这个请求一般是消息的方式。服务器任务执行操作, 然后通过另外一个消息把执行结果返回给用户。 3 o o p 扩展 该方法是将面向对象思想引入到操作系统设计中,将用户需求通过面向对象的设计方 法逐渐分解为可以实现的操作系统a p i 调用,在设计过程中,首先寻找合适的类和对象, 其次确立对象的粒度和对象的接口,最后确定对象的实现方法。b r e w 就是通过这种方法提 供了许多功能。 4 v c p 扩展 即v m + c o n f i g u r a t i o n + p r o f i l e ,这种方式来源于j 2 m e 的体系结构,j 2 m e 在嵌入式领 域的应用是非常成功的,因此其体系结构具有重要的借鉴意义。其中v m 指虚拟机, c o n f i g u r a t i o n 是水平类别设备组的定义,每种都对应于具有相同处理器和内存的设备, 可以分为c l d c 和c d c 。p r o f i1e 是位于c o n f i g u r a t i o n 上层的一个扩展层,是一个垂直类 别设备组的定义。 上述四种扩展方式都有自己的优缺点,具体如下 扩展方式优点缺点 内核扩展可移植性好,可配置性好,系统效内核会比较大 率高 c s 扩展适合分布式环境系统效率不高 o o p 扩展可复用性好,数据封装提高了安全设计一个好的接口比较困 南京l = 乜大学硕d - _ t i ) i :究生学位论文 第一二章操作系统的相关研究 性难 v c p 扩展适合特定领域,如消费类产品系统效率不高 为了实现安全的嵌入式操作系统,实质上是研究嵌入式操作系统面向安全领域的扩展 技术,根据以上操作系统面向领域的扩展技术和当前嵌入式操作系统的具体情况,本论文 采用从嵌入式操作系统外部、内部同时增强安全性的方法。前者是将嵌入式虚拟机移植到 操作系统中,并对垃圾回收算法进行改进:后者是对原有的系统内核进行改进,加入了安 全模块,并且对安全模型进行了改进。 2 5l i n u x 系统结构简介 自从芬兰学生l i n u st o r v a l d s 在1 9 9 1 年设计出l i n u x 开始,它便成为了许多研究人 员的研究列象。迄今为止,世界上许多优秀的计算机开发人员和学者在开源的项目下,对 l i n u x 的完善做出了巨大的贡献。l i n u x 系统主要可以分为几个部分:文件子系统,进程 管理子系统,进程间通信子系统,系统调用接口等。系统结构如下“。1 : 系统调用接口 文件子系统进程管理子系进程间通信子 统系统 图2 1l i n u x 系统结构 1 文件子系统 在l i n u x 中,文件有正规文件,目录文件,设备文件等,支持多种文件系统,每一个 文件系统都是由一系列块组成,其大小固定,在文件系统生成时指定,一个文件系统有下 列的结构: 引导块( b o o tb l o c k ) :存放文件系统的引导程序 超级块( s u p e rb l o c k ) :存放空闲索引节点表和空闲数据表 索引节点块( i n d e xi n o d eb l o c k ) :存储文件相关信息及存储位置,包括存取权限, 所有者,存取时间,文件长度和链接数等。 数据块( d a t ab l o c k ) :存放数据 南京邮电大学碳十研究生学位论文 第二章操作系统的相关研究 2 进程管理子系统 进程是一个具有独立功能的程序在某个数据集合的一次运行,是系统分配资源的基本 实体,进程有自己的运行空间,主要包括以下部分: 文本段:存放程序的代码 数据段:存放程序运行时需要的数据 堆栈段:存放程序的临时数据和动态分配的数据 进程管理子系统主要有以下功能: 一般操作:进程创建,进程终止,进程调度等 特殊操作:设置及获得进程相关信息,改变进程优先级等。 3 进程问通信子系统 l i n u x 下进程间通信方式主要有: 低级通信:主要有操作系统提供的用于进程同步的p v 原语操作以及进程间异步通 信的信号机制。 高级通信:主要有有名管道和无名管道,还有s y s t e mv 中的信号量、消息队列、 共享内存机制。 网络通信:主要是s o c k e t 机制。 4 系统调用 现在的处理器一般要支持两种进程执行方式:用户态和核心态。用户进程运行在用户 态,系统进程运行在核心态,用户进程如果要访问系统资源,必须首先调用系统提供的调 用接口,将控制权交给操作系统,由操作系统在核心态去执行相应的操作,主要系统调用 有文件系统、进程管理、信号、消息队列、信号量、内存管理等。 南京邮电大学硕士研究生学位论文 第三章嵌入式虚拟机 第三章嵌入式虚拟机 虚拟机提供给程序员分配内存的函数,但是不提供释放内存的函数。释放内存的工作 由虚拟机自己负责,这包括释放的方法和释放的时机。通过这种机制,程序员就不用花很 大的精力去处理内存释放的问题,而这些问题通常是导致应用程序安全隐患的常见问题, 因此,采用了虚拟机的系统将会大大提高系统的安全性。本章首先对虚拟机进行了介绍, 然后分析了一个虚拟机的实例。 3 1虚拟机简介 j a v a 虚拟机的体系结构图3 1 所示1 ” 异常线程安全机制 程序计数器 j a v a 栈区 二二二, t x 堆1 f 运行数据区 类方法 区 本地 方法 区 类装载 子系统 本地方法 链接器 执行引擎 字节码 库文件 本地方 图3 1j a v a 虚拟耐l 的体系结构图 虚拟机在执行程序时会定义很多运行时数据区,其生命周期是不一样的,有的与虚拟 机的生命周期一样,有的是线程相关的,即在创建线程时创建,当线程结束的同时被释放。 前者主要包括堆和方法区等,后者主要包括程序计数器,栈区,执行引擎等。 1 类装载子系统 类装载子系统也就是类装载器,在虚拟机中负责定位和导入二进制的c l a s s 文件、验 证被导入类的正确性、为类变量分配并初始化内存。j a v a 虚拟机有两种类装载器:属于 j a v a 虚拟机实现的一部分的启动类装载器和属于j a v a 程序的用户自定义类装载器。后者 是普通的j a v a 对象,派生于j a v a 1 a n g c l a s s l o a d e r 类。用户自定义的类装载器以及c l a s s 类的实例都放在堆中,装载的类型信息位于方法区。 南京邮电大学硕士韧f 究生学位论文 笫三章嵌入式虚拟机 类装载器的工作过程如图3 2 所示 装载链接 产生二进制语法验证、虚拟机 数据流完整性验证、字节 初 码完整性验证 解析为方法区 ) 内的内部数据为类变量分配内存 始 结构设置默认初始值 创建j a v a t a n g 将常量池中的类、接 c l a s s 类的实口、字段和方法的符 化 例号引用换成直接引用 图3 - 2 类装载器的工作过程 2 方法区 方法区中存储的是类型信息和类变量信息,这些信息如何存储、使用怎样的数据结构、 空问大小等问题由虚拟机的设计者具体决定。方法区必须是线程安全的,因为所有的线程 是共享方法区的。一般来讲,方法区有以下内容: a ) 基本类型信息及类变量:包括类名、类的访问修饰符等 b ) 方法表:用于加快方法访问的数据结构 c ) 常量池:存储类使用的所有直接常量和符号引用,其中的数据是通过索引来访问 的 d ) 字段信息:包括字段名、字段类型、字段修饰符、以及字段的声明顺序 e ) 方法信息:包括方法的参数数量、类型以及声明顺序 f ) 指向c l a s s l o a d e r 类的引用及指向c l a s s 类的引用;如果是用户自定义类装载器 装载的,对装载器的引用保存在方法区;使用指向c l a s s 类的引用可以通过c l a s s 类中定义的方法来找出类相关的信息 3 堆 每个程序都有一个虚拟机的实例,每个虚拟机只有一个堆空间,所有类实例都放在同 一个堆中,所有线程共享堆,不同程序之间的堆空间互不影响。应用程序可以通过调用虚 拟机提供的在堆空间分配内存的函数来分配内存,内存的释放则由虚拟机中的垃圾回收器 负责。为了便于执行垃圾回收操作,虚拟机在堆空间单独划出一部分称为持久区的空间, 在虚拟机的运行时期内,所有需要的c l a s s 类结构放置在持久区,所有的实例不能存放在 1 2 南京邮电大学硕士吲f 究生学位论文第三章嵌入式虚拟机 该区。具体如图3 3 所示 实例类结构 持久区增长方向 指针改变 图4 7 指针突然改变导致错误清除 如图4 7 所示,当完成了对象a 指向对象的遍历之后就把对象a 标记为黑色,对象b 、 c 被标记为灰色。此时,对象a 突然又指向了对象d ,即一个黑色对象指向一个白色对象, 这将会导致对象d 无法被遍历到,但是对象d 是有用对象,它会被当作垃圾对象被清除掉。 有两种方法可以避免这种错误的发生:读屏障和写屏障。 设置读屏障是指对应用程序访问对象的过程进行监控,当发现一个对象要指向一个白 色对象的时候,不管它原来是什么颜色,都把该对象立即置为灰色,即将对象a 由黑色置 为白色,从而使垃圾回收程序能够对对象a 所指向的对象重新遍历。 写屏障是指如果应用程序为某个对象设置指向其他对象的指针的时候,通过某种方式 记录下来,从而确保遍历程序能够对此对象进行正确的遍历。这里的记录方式是指为所有 被修改的指向白色对象的指针保留副本,即当检测到应用程序试图修改指向白色对象的指 针的时候,首先将此指针保存到一个专门的数据结构中。上图中可以将对象c 指向对象d 的指针保存起来。 4 3 2 不同算法的比较 综上所述,不同的垃圾回收程序具有各自的优缺点,总结如下表所示。这里主要是从 垃圾回收算法的主要任务的角度进行比较。 检测回收回收实时 算法回收时机碎片 方法方法特点 性 引用计数法计数器计数器为0与程序同时一次性产生好 跟踪法标记释放无用无足够内存时一次性产生差 拷贝法标记释放所有无足够内存时 一次性没有差 压缩法 标记释放无用无足够内存时一次性没有差 增量法标记l 释放无用l定时l 渐进l 产生l好 在实际应用中要根据具体的场合选择具体的回收算法,使得回收算法对程序的执行效 率影响最小。通过对上述基本算法的分析,可以总结出为了完成垃圾回收的所有任务,可 以考虑的策略如卜| : a )“从内存中检测出无用的对象”的策略有引用计数法和跟踪法 b )“决定如何回收无用对象占有的内存空间”的策略有仅仅释放无用对象和释放所 有的对象 c )“决定在什么时机进行回收”的策略有暂停应用程序的执行去执行垃圾回收和定 时执行垃圾回收操作。 d )“进行内存碎片处理”的策略有拷贝法和压缩法 4 3 3 分代技术 从上面的分析中可以看出,不同的垃圾回收算法各有自己的优缺点。因此,它们适合 不同的场合。为了克服缺点、发挥优点,一种方法是根据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论