《(操作系统安全)》由会员分享,可在线阅读,更多相关《(操作系统安全)(38页珍藏版)》请在金锄头文库上搜索。
1、操作系统安全,第1章 引言,1.1 操作系统面临的安全威胁1.2 操作系统安全和信息系统安全1.3 安全操作系统的研究发展1.4 基本定义及术语1.5 本章小结1.6 习题,可以说,信息安全技术的发展将会从根本上影响和制约信息技术的进一步发展。人们认识信息安全问题通常是从对系统所遭到的各种成功或者未成功的入侵攻击的威胁开始的,这些威胁大多是通过挖掘操作系统和应用程序的弱点或者缺陷来实现的。下面首先介绍针对操作系统安全的主要威胁。,1.1 操作系统面临的安全威胁,病毒是能够自我复制的一组计算机指令或者程序代码。通过编制或者在计算机程序中插入这段代码,以达到破坏计算机功能、毁坏数据从而影响计算机使
2、用的目的。病毒具有以下基本特点: 隐蔽性。 传染性。 潜伏性。 破坏性。,1.1.1 病毒和蠕虫,蠕虫类似于病毒,它可以侵入合法的数据处理程序,更改或破坏这些数据。尽管蠕虫不像病毒一样复制自身,但蠕虫攻击带来的破坏可能与病毒一样严重,尤其是在没有及时发觉的情况下。不过一旦蠕虫入侵被发现,系统恢复会容易一些,因为它没有病毒的复制能力,只有一个需要被清除的蠕虫程序。最具代表性的Ska蠕虫是一个Windows电子邮件和新闻组蠕虫。,逻辑炸弹是加在现有应用程序上的程序。一般逻辑炸弹都被添加在被感染应用程序的起始处,每当该应用程序运行时就会运行逻辑炸弹。它通常要检查各种条件,看是否满足运行炸弹的条件。如
3、果逻辑炸弹没有取得控制权就将控制权归还给主应用程序,逻辑炸弹仍然安静地等待。当设定的爆炸条件被满足后,逻辑炸弹的其余代码就会执行。逻辑炸弹不能复制自身,不能感染其他程序,但这些攻击已经使它成为了一种极具破坏性的恶意代码类型。逻辑炸弹具有多种触发方式。,1.1.2 逻辑炸弹,特洛伊木马是一段计算机程序,表面上在执行合法任务,实际上却具有用户不曾料到的非法功能。它们伪装成友好程序,由可信用户在合法工作中不知不觉地运行。一旦这些程序被执行,一个病毒、蠕虫或其他隐藏在特洛伊木马程序中的恶意代码就会被释放出来,攻击个人用户工作站,随后就是攻击网络。一个有效的特洛伊木马对程序的预期结果无明显影响,也许永远
4、看不出它的破坏性。特洛伊木马需要具备以下条件才能成功地入侵计算机系统: 入侵者要写一段程序进行非法操作,程序的行为方式不会引起用户的怀疑;,1.1.3 特洛伊木马, 必须设计出某种策略诱使受骗者接受这段程序; 必须使受骗者运行该程序; 入侵者必须有某种手段回收由特洛伊木马程序提供的信息。特洛伊木马通常继承了用户程序相同的用户ID、存取权、优先权甚至特权。因此,特洛伊木马能在不破坏系统的任何安全规则的情况下进行非法操作,这也使它成为系统最难防御的一种危害。特洛伊木马程序与病毒程序不同,它是一个独立的应用程序,不具备自我复制能力。但它同病毒程序一样具有潜伏性,且常常具有更大的欺骗性和危害性。特洛伊
5、木马通常以包含恶意代码的电子邮件消息的形式存在,也可以由Internet数据流携带。,天窗是嵌在操作系统里的一段非法代码,渗透者利用该代码提供的方法侵入操作系统而不受检查。天窗由专门的命令激活,一般不容易发现。而且天窗所嵌入的软件拥有渗透者所没有的特权。通常天窗设置在操作系统内部,而不在应用程序中,天窗很像是操作系统里可供渗透的一个缺陷。安装天窗就是为了渗透,它可能是由操作系统生产厂家的一个不道德的雇员装入的,安装天窗的技术很像特洛伊木马的安装技术,但在操作系统中实现更为困难。天窗只能利用操作系统的缺陷或者混入系统的开发队伍中进行安装。因此开发安全操作系统的常规技术就可以避免天窗。,1.1.4
6、 天窗,隐蔽通道可定义为系统中不受安全策略控制的、违反安全策略的信息泄露路径。按信息传递的方式和方法区分,隐蔽通道分为隐蔽存储通道和隐蔽定时通道。隐蔽存储通道在系统中通过两个进程利用不受安全策略控制的存储单元传递信息。隐蔽定时通道在系统中通过两个进程利用一个不受安全策略控制的广义存储单元传递信息。判别一个隐蔽通道是否是隐蔽定时通道,关键是看它有没有一个实时时钟、间隔定时器或其他计时装置,不需要时钟或定时器的隐蔽通道是隐蔽存储通道。,1.1.5 隐蔽通道,一个有效可靠的操作系统应具有很强的安全性,必须具有相应的保护措施,消除或限制如病毒、逻辑炸弹、特洛伊木马、天窗、隐蔽通道等对系统构成的安全威胁
7、。总而言之,在过去的数十年里,恶意代码(通常也称为计算机病毒)已经从学术上的好奇论题发展成为一个持久的、世界范围的问题。无论计算机病毒、蠕虫、逻辑炸弹、特洛伊木马、天窗,还是隐蔽通道都对操作系统安全构成了威胁。,实际上从来没有一个操作系统的运行是完美无缺的,也没有一个厂商敢保证自己的操作系统不会出错。在信息系统中与安全相关的每一个漏洞都会使整个系统的安全控制机制变得毫无价值。这个漏洞如果被入侵者发现,后果将是十分严重的。从计算机信息系统的角度分析,可以看出在信息系统安全所涉及的众多内容中,操作系统、网络系统与数据库管理系统的安全问题是核心。操作系统的安全性在计算机信息系统的整体安全性中具有至关
8、重要的作用。,1.2 操作系统安全和信息系统安全,一般来说,操作系统安全与安全操作系统的含义不尽相同。从各种不同的角度分析操作系统的安全性,既可以对主流操作系统进行安全性增强,也可以按照特定目标设计实现专门的或通用的安全操作系统。安全操作系统通常与相应的安全等级相对应,例如,根据TCSEC标准,通常称B1级以上的操作系统为安全操作系统。,Multics是开发安全操作系统最早期的尝试。Adept-50是一个分时安全操作系统,可以实际投入使用,1969年C.Weissman发表了有关Adept-50安全控制的研究成果。1969年B.W.Lampson通过形式化表示方法运用主体(subject)、客
9、体(object)和访问矩阵(access matrix)的思想第一次对访问控制问题进行了抽象。1972年,J.P.Anderson在一份研究报告中提出了参照监视器(reference monitor)、访问验证机制(reference validation mechanism)、安全内核(security kernel)和安全建模(modeling)等重要思想。,1.3 安全操作系统的研究发展,1973年,B.W.Lampson提出了隐蔽通道的概念,他发现两个被限制通信的实体之间如果共享某种资源,那么它们可以利用隐蔽通道传递信息。同年,D.E.Bell和L.J.LaPadula提出了第一个可
10、证明的安全系统的数学模型,即BLP模型。可验证安全操作系统(provably secure operating system,PSOS)提供了一个层次结构化的基于权能的安全操作系统设计,1975年前后开始开发。安全内核操作系统(kernelized secure operating system,KSOS)是美国国防部研究计划局1977年发起的一个安全操作系统研制项目,由Ford太空通讯公司承担。,UCLA Secure UNIX也是美国国防部研究计划局于1978年前后发起的一个安全操作系统研制项目,由加利福尼亚大学承担。UCLA Secure UNIX的系统设计方法及目标几乎与KSOS相同。
11、1983年,美国国防部出版了历史上第一个计算机安全评价标准可信计算机系统评价准则(TCSEC), 1985年,美国国防部对TCSEC进行了修订。LINVS 是1984年开发的基于UNIX的一个实验安全操作系统,系统的安全性可达到美国国防部橘皮书的B2级。Secure Xenix是IBM公司于1986年在SCO Xenix的基础上开发的一个安全操作系统,它最初是在IBM PC/AT平台上实现的。,1987年,美国Trusted Information Systems公司以Mach操作系统为基础开发了B3级的Tmach(Trusted Mach)操作系统。1989年,加拿大多伦多大学开发了与UNI
12、X兼容的安全TUNIS操作系统。ASOS(army secure operating system)是针对美军的战术需要而设计的军用安全操作系统,由TRW公司1990年开发完成。OSF/1是开放软件基金会于1990年推出的一个安全操作系统,被美国国家计算机安全中心(NCSC)认可为符合TCSEC的B1级。UNIX SVR4.1ES是UI(UNIX国际组织)于1991年推出的一个安全操作系统,被美国国家计算机安全中心(NCSC)认可为符合TCSEC的B2级。,1991年,在欧洲共同体的赞助下,英、德、法、荷4国制定了拟为欧共体成员国使用的共同标准信息技术安全评定标准(ITSEC)。随着各种标准的
13、推出和安全技术产品的发展,美国和加拿大及欧共体国家一起制定了通用安全评价准则(Common Criteria for IT Security Evaluation,CC),1996年1月发布了CC的1.0版。CC标准的2.0版已于1997年8月颁布,并于1999年7月通过国际标准组织认可,确立为国际标准,即ISO/IEC 15408。 CC本身由两个部分组成,一部分是一组信息技术产品的安全功能需求的定义,另一部分是对安全保证需求的定义。CC标准吸收了各国对信息系统安全标准的经验与知识,将对信息安全的研究与应用带来重大影响。,在1992到1993年之间,美国国家安全局(NSA)和安全计算公司(S
14、CC)的研究人员在TMach项目和LOCK项目的基础上,共同设计和实现了分布式可信Mach系统(distributed trusted Mach,DTMach)。与传统的基于TCSEC标准的开发方法不同,1997年美国国家安全局和安全计算公司完成的DTOS安全操作系统采用了基于安全威胁的开发方法。SELinux以Flask安全体系结构为指导,通过安全判定与安全实施的分离实现了安全策略的独立性,借助访问向量缓存(AVC)实现了对动态策略的支持。,极可靠操作系统(extremely reliable operating system,EROS)是一种基于权能(capability,又称能力)的高性
15、能微内核实时安全操作系统,是GNOSIS(后命名为KeyKOS)体系结构的第三代。其他还有一些安全操作系统开发项目,如Honeywell的STOP、Gemini的GEMSOS、DEC的VMM(virtual machine monitor),以及HP和Data General等公司开发的安全操作系统。在我国,也进行了许多有关安全操作系统的开发研制工作,并取得了一些研究成果。1999年10月19日,我国国家技术监督局发布了国家标准GB178591999计算机信息系统安全保护等级划分准则,为计算机信息系统安全保护能力划分了等级。该标准已于2001年起强制执行。,2001年前后,我国安全操作系统研究
16、人员相继推出了一批基于Linux的安全操作系统开发成果。2000年11月18日,公安部计算机信息系统安全产品质量监督检验中心,在网站http:/上发布公告: “国内首家安全操作系统通过检测”。安胜安全操作系统v1.0于2001年2月20日首家通过了中国国家信息安全产品测评认证中心的测评认证,获得国家信息安全产品型号认证。2001年3月8日,我国国家技术监督局发布了国家标准GB/T183362001信息技术安全技术 信息技术安全性评估准则,它基本上等同于国际通用安全评价准则(CC)。,以下列举一些重要的有关操作系统安全的定义和术语。 计算机信息系统(computer information system): 由计算机及其相关的和配套的设备、设施(含网络)构成的,按照一定的应用目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。 安全周界(security perimeter): 用半径来表示的空间。该空间包围着用于处理敏感信息的设备,并在有效的物理和技术控制之下,防止未授权的进入或敏感信息的泄露。,