您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 安全操作系统研究的发展
-1-安全操作系统研究的发展石文昌(rockee@sonata.iscas.ac.cn)中国科学院软件研究所北京1000802001年9月石文昌:男,博士,研究员;毕业于北京大学计算机科学与技术系,获计算机软件理学学士学位,于中国科学院软件研究所获计算机软件工学硕士学位及计算机软件与理论工学博士学位;主要研究方向为计算机安全与系统软件。本文的主要内容分两部分相继发表于《计算机科学》Vol.29No.6(2002年6月)和Vol.29No.7(2002年7月)。石文昌:安全操作系统研究的发展中国科学院软件研究所-2-摘要随着Internet应用的广泛深入,计算机系统的安全问题日益引起人们的高度重视。操作系统是连接计算机硬件与上层软件及用户的桥梁,它的安全性是至关重要的。那么,操作系统在解决安全性问题上到底应该发挥哪些作用?国内外的学者们在操作系统安全性的研究领域是如何开展工作的?这是值得我们探讨的有趣话题。本文对安全操作系统研究在国际上的发展历程以及安全操作系统在中国的研究与开发状况进行研究,希望能对以上问题的回答提供有益的启示。在本文的工作之前,有关安全操作系统技术发展历史方面的已有信息是零碎的、不全面的。本文提出了奠基时期、食谱时期、多政策时期和动态政策时期的阶段划分方法,比较系统地对安全操作系统基本思想、技术和方法的形成和发展过程进行了全面的分析,给出了安全操作系统研究演化进程的一个全景视图。奠基时期始于1967年Adept-50项目的启动之时,在这个时期,安全操作系统经历了从无到有的探索过程,安全操作系统的基本思想、理论、技术和方法逐步建立。食谱时期始于1983年美国的TCSEC标准颁布之时,这个时期的特点是人们以TCSEC为蓝本研制安全操作系统。多政策时期始于1993年,这个时期的特点是人们超越TCSEC的范围,在安全操作系统中实现多种安全政策。动态政策时期始于1999年,这个时期的特点是使安全操作系统支持多种安全政策的动态变化,实现安全政策的多样性。本文考察的时间范围是1967年至2001年,分析的第一个系统是Adept-50,最后一个系统是SE-Linux。本文以时间为主线,注重提供安全操作系统技术发展的历史资料,重点勾画安全操作系统基本思想、技术和方法的形成和发展过程,同时给出这些基本思想、技术和方法的基本内涵的归纳和总结,力图为揭示安全操作系统的发展规律和发展方向以及确立符合技术进步和实际应用需要的安全操作系统开发方法建立基础。本文的研究结果表明,在安全操作系统开发的主导开发方法方面,奠基时期采用的是面向威胁的方法,食谱时期采用的是面向标准的方法,多政策时期和动态政策时期采用的是面向威胁的方法。这反映出由面向威胁开始,发展到面向标准,最后又回归到面向威胁这么一个循环的过程。在这种开发方法变化现象的后面,起推动作用的是实际应用的需要,现实环境的变化促使用于解决这些环境中的问题的手段必须进行适应性调整。关键词:安全,操作系统,研究,发展石文昌:安全操作系统研究的发展中国科学院软件研究所-3-0引言操作系统安全性是计算机安全的重要基础[LOSC1998],要妥善解决日益广泛的计算机安全问题,必须有坚固的安全操作系统作后盾,这要求我们去寻找切实有效的开发方法,开发出能够满足实际应用需要的安全操作系统来。早在20世纪60年代1,安全操作系统的研究就引起了研究机构(尤其是美国军方)的重视[WARE1970],至今,人们已在这个领域付出了三十几年的努力,开展了大量的工作,取得了丰富的成果。今天,要确定正确的安全操作系统开发方法,应该对安全操作系统的发展历史有一个比较全面的了解。善于从前人建立的科研宝库中吸取有益的养分,有助于把握正确的发展方向,在安全操作系统的研究与开发中少走弯路、错路。作者发现,有些从事安全操作系统研究和开发的同行由于对安全操作系统的已有成果缺乏足够的了解,在他们的工作中有时作出一些有失妥当的论断,这很不利于安全操作系统的发展。对安全操作系统的技术发展历史进行全面的概括总结,是一项比较艰巨的工作,在本文的工作之前,这方面的已有信息是零碎的、不全面的[GLIG1999]。本文通过对安全操作系统研究与开发方面三十几年来比较有代表性的工作的深入考察,根据这些研究与开发工作及其相应的技术成果的特点,提出了四阶段划分的思想,给出了奠基时期(foundationperiod)、食谱时期(cookbookperiod)、多政策时期(multi-policyperiod)和动态政策时期(dynamic-policyperiod)的定义,并以此为基础,以史实的形式,归纳和描绘了安全操作系统的发展演化历程,力求为确定正确的安全操作系统开发方法建立良好的基础。本文在讨论过程中还就同行们在相关方面的一些不同观点提出了作者的看法。1发展阶段划分方法本文以时间为线索,根据安全操作系统研究与开发工作的特点,进行阶段划分。考察的对象是从第一个安全操作系统起至本文写作之时止安全操作系统研究与开发中的典型工作。首先,有必要确定安全操作系统研究的起始年代。有些学者认为,安全操作系统的研究与开发工作是从安全Multics系统的研究与开发开始的,对于这一观点,作者有不同的看法。实际上,安全操作系统的研究与开发工作比安全Multics系统的研究与开发工作要早若干年。世界上的第一个安全操作系统是Adept-50[WEIS1969,SALT1975,1在没有特别说明的情况下,本文所说的年代均指“20世纪”的年代,如“70年代”指的是“20世纪70年代”。石文昌:安全操作系统研究的发展中国科学院软件研究所-4-LAND1983,FOLE1996],这是一个分时系统。安全Adept-50的工作始于60年代中后期[LAND1983],而安全Multics的工作始于70年代初期[WHIT1973]。世界上第一个操作系统(批处理系统)诞生于50年代中期[WEIZ1981,STAL1998],第一个分时操作系统CTSS诞生于60年代初期[CORB1962,STAL1998]。从CTSS到安全Adept-50,相距约5年,可以说,安全操作系统的研究在分时系统诞生后不久就开始了。作者把安全操作系统研究的历程划分为奠基时期、食谱时期、多政策时期和动态政策时期等四个发展阶段。奠基时期始于1967年安全Adept-50项目的启动之时。在这个时期,安全操作系统经历了从无到有的探索过程,安全操作系统的基本思想、理论、技术和方法逐步建立。食谱时期始于1983年美国的TCSEC[DOD1983]标准颁布之时,这个时期的特点是人们以TCSEC为蓝本研制安全操作系统2。多政策时期始于1993年,这个时期的特点是人们超越TCSEC的范围,在安全操作系统中实现多种安全政策(securitypolicy)3。动态政策时期始于1999年,这个时期的特点是使安全操作系统支持多种安全政策的动态变化,实现安全政策的多样性。四个时期的划分主要目的在于刻划安全操作系统研究演化的主流特点,力图反映技术进步的特征,虽然以时间为线索,但并不意味着以时间为绝对界限,比如,在多政策时期,安全操作系统的研制完全可能采用食谱时期的技术和方法,其他类推。2奠基时期1967年,计算机资源共享系统的安全控制问题引起了美国国防部的高度重视,国防科学部(DefenseScienceBoard)旗下的计算机安全特别部队(TaskForceonComputerSecurity)的组建拉开了操作系统安全研究的序幕[WARE1970,DOD1985]。2.1萌芽与访问控制抽象1969年,C.Weissman发表了有关Adept-50的安全控制的研究成果[WEIS1969]。安全Adept-50是历史上的第一个安全操作系统,可以实际投入使用,运行于IBM/360硬件平台,它以一个形式化的安全模型—高水标模型(high-water-markmodel)为基础,实现了美国的一个军事安全系统模型,为给定的安全问题提供了一个比较形式化的解决方案。在该系统中,可以为客体标上敏感级别(sensitivitylevel)属性。系统支持的基本安全条件是,对于读操作,不允许信息的敏感级别高于用户的安全级别(clearance)。对于写操作,在授权情况2根据这个时期的特点,按照TCSEC确定安全操作系统的安全需求与按照食谱确定饮食方案颇相似,故如此命名,这个命名方案受文献[GLIG1999]的启发。3“securitypolicy”这一术语的中文名称很不统一,作者认为“安全政策”最为恰当,见文献[SHI2001]。石文昌:安全操作系统研究的发展中国科学院软件研究所-5-下,允许使信息从高敏感级别移向低敏感级别。同年,B.W.Lampson通过形式化表示方法运用主体(subject)、客体(object)和访问矩阵(accessmatrix)的思想第一次对访问控制问题进行了抽象[LAMP1969]。主体是访问操作中的主动实体,客体是访问操作中被动实体,即,主体对客体进行访问。访问矩阵是以主体为行索引、以客体为列索引的矩阵,矩阵中的每一个元素表示一组访问方式,是若干访问方式的集合。矩阵中第i行第j列的元素Mij记录着第i个主体Si可以执行的对第j个客体Oj的访问方式,比如Mij等于{read,write}表示Si可以对Oj进行读和写访问。1970年,W.H.Ware推出的研究报告[WARE1970]对多渠道访问的资源共享的计算机系统引起的安全问题进行了研究。报告结合实际的国防信息安全等级划分体制,分析了资源共享系统中敏感信息可能受到的安全威胁,提出了解决计算机安全问题的建议途径。报告研究的主要目标是多级安全系统(multi-levelsecuritysystem)在计算机中的实现。报告指出,安全级别和该知(need-to-know)权限是多级安全问题中的重要成分,基本的多级安全问题就是要确定具有特定安全级别和该知权限的个体是否能够访问给定物理环境中的某个范围的敏感信息。报告对计算机安全系统的设计提出了两个限制条件:(1)计算机安全系统必须与现实的安全等级划分结构一致;(2)计算机安全系统必须与现实的手工安全控制规程相符。报告建议的计算机安全系统涉及到系统灵活性(在应用中可调整个体和信息的安全等级)、可靠性(贯彻“失败-保险”思想,当不能确定是否授权时,采取不授权的措施)、可审计性(记录安全相关行为)、可管理性(安全控制、审计控制等管理)、可依赖性(避免拒绝对用户的服务)、配置完整性(确保系统自身的完整)等特点。报告讨论了在存储资源管理方面避免遗留信息泄漏问题。报告认为,计算机系统的安全控制是一个系统设计问题,必须从硬件、软件、通信、物理、人员和行政管理规程等各个方面综合考虑。报告还给出了访问控制问题的形式化描述。2.2引用监控机和安全核1972年,作为承担美国空军的一项计算机安全规划研究任务的研究成果,J.P.Anderson在一份研究报告[ANDE1972]中提出了引用监控机(referencemonitor)、引用验证机制(referencevalidationmechanism)、安全核(securitykernel)和安全建模(modeling)等重要思想。这些思想是在研究系统资源受控共享(controlledsharing)问题的背景下产生的。把授权机制与能够对程序的运行加以控制的系统环境结合在一起,可以对受控共享提供支持,授权机制负责确定用户(程序)对系统资源(数据、程序、石文昌:安全操作系统研究的发展中国科学院软件研究所-6-设备等)的引用4许可权,程序运行控制负责把用户程序对资源的引用控制在授权的范围之内。这一思想可以形象地表示为图1的形式。引用监控机思想是为了解决用户程序的运行控制问题而引入的,其目的是在用户(程序)与系统资源之间实施一种授权的访问关系。J.P.Anderson把引用监控机的职能定义为:以主体(用户等)所获得的引用权限为基准,验证运行中的程序(对程序、数据、设备等)的所有引用。对应到图1,引用监控机是在“程序运
本文标题:安全操作系统研究的发展
链接地址:https://www.777doc.com/doc-1257499 .html