操作系统安全评测方法中文摘要本文主要剖析了安全操作系统及其评测标准,首先分析其测评标准的设计思想,给出了一般的测评标准,进而提出操作系统的安全测评方案,方法,其次以工作单元测评为例,针对该例子,具体分析并给出了其具体的测评方法,最后,提出系统整体测评。关键字安全操作系统;操作系统安全测评;测评标准;测评方法ABSTRACTThispapermainlyanalyzesthesafetyoperationsystemanditsevaluationstandards,thispaperfirstlyanalyzestheevaluationstandarddesignideas,givethegeneralevaluationstandard,andputsforwardtheoperatingsystemsecurityevaluationscheme,method,secondlywithworkunitasanexample,thispaperevaluatestheexample,specificanalysisandgivesthespecificassessmentmethods,Finally,theoverallassessmentsystemispresented.KeywordsSafetyoperationsystem;Operatingsystemsecurityassessment;Assessmentstandards;Measuringmethods;Fuzzycomprehensiveevaluation一、引言随着技术进步的加快,尤其是国际互联网的出现和迅速发展,一个全球性的信息社会正在逐步形成。在信息化的过程中,国家的安全与经济的安全越来越依赖十信息化基础设施的安全程度。保证电子信息的有效性、安全性成为突出问题。信息系统安全设计的核心是操作系统、网络系统与数据库管理系统的安伞问题,没有系统的安全就没有信息的安全,作为系统软件中最基本的就是操作系统,其安全问题是关键中的关键。计算机作为信息时代的基本工具,在给各行各业带来巨大效益的同时,本身也存在着严重的不安全性、危险性和脆弱性。一个有效可靠的操作系统应该对其操控的资源具有良好的保护性能,即应提供必要的保护措施,防止因所用资源的的缺陷而损害系统。实际上,系统的安全机制已成为操作系统不可分割的一部分。操作系统是计算机资源的直接管理者,所有应用软件都是基于操作系统来运行的,可以说操作系统的安全是整个计算机系统安全的基础。操作系统安全性的测弹是实现安全操作系统的一个极为重要的环节,如果不测评、验证所开发操作系统的安全性和该安全性的可信度,那么开发出的安全操作系统的安全性就没有任何保证,从而失去了它应有的应用价值。基于这个局面,我们首要的工作就是要研究开发具有自动知识产权的自动化安全测评系统。操作系统安全测评主要有形式化验证、代码功能块检查、渗透测试等方法。由于当前常用的操作系统体系都是非常庞大复杂的,致使前两种方法的实施有很大难度,所以我们进行操作系统安全测评主要使用渗透测试的方法。在此背景下,大家常见的对操作系统的测评主要依赖主机的或网络的扫描工具.通过对系统安全漏洞的检测,依据获得的漏洞信息(比如漏洞的危险度,流行度等等),综合计算,从而得到操作系统的风险值。二、正文(一)安全操作系统及评价标准1、安全操作系统操作系统是唯一紧靠硬件的基本软件,其安全驯能是其他软件安全职能的根基,缺乏这个安全的根基,构筑在其上的应用系统以及安垒系统的安全性就得不到根本的保障。单个操作系统以及其上的应用系统的安全是整个安全系统的根本,如果构成互联网的计算机本身系统安全都有问题,那么网络系统和数据库管理系统就同样会存在问题,应用软件信息处理的安全更无从谈起⋯。安全操作系统是在操作系统的工作范围内,提供尽可能强的访问控制和审计机制,在用户,应用程序和系统硬件/资源之间进行符合安全政策调度,限制JE法访问。安全操作系统应具有的特征包括最小特权原则、带冉AcL自主访问控制、强制访问控制、安全审计和审计管理、安全域隔离、可信通路等。安全测试在设计安全操作系统的过程中是一个小可或缺的重要环节,对安全操作系统的测试一r以评测设计出的安全操作系统的安全性和该安全性的可信度是否达到预期的标准,安全测试的准确与否直接关系到设计⋯的安全操作系统的性能及其应用价值]4[。2、设计细想安全测评是指由具备检验技术能力的第三方机构,依据相关标准或技术规范,按照严格程序对信息系统的安全保障能力进行的综合测试评估活动。标准是测评的灵魂。安全标准提供了每一个安全等级所对应的安全功能的技术要求,但是,由于各个操作系统具有不同的实现,安全标准不可能制订出明确、详细的工程技术指标,而只能是一个综述性的说明。同时,由于操作系统结构复杂,那种根据安全标准进行对照检查式的侧评方法不可行,安全测评的技术难度在于如何设计从标准到测试用例的映射关系。对操作系统的安全测评就是检查安全机制是否完整地实现了安全策略。操作系统自下而上分为几个层次,每个层次体现不同的功能抽象程度。安全机制在操作系统每个层次上的制约作用都有不同的表现形式,因此安全测评要在各层次上展开)先测试单个组件,然后将这些组件集成到子系统中,直到测试完整个系统。首先是底层测试即单元级测试,目标是系统底层安全相关的一些单元,例如用户命令、系统调用、系统库程序等,目的是为了验证它们的功能实现是否符合安全策略,如果发现其违反了安全机制,则可以确定系统存在安全漏洞。例如用户命令mail用于邮件管理�在强制访问控制机制下,禁止信息从高安全等级流向低安全等级�如果高安全等级的用户进程使用该命令将邮件成功发给低安全等级的邮箱,就违反了安全策略,造成了泄密。更高层次的测试在子系统级展开。操作系统由文件、网络、进程等几个子系统所组成,各子系统实现不同的功能以满足不同的衡求,并且各子系统相互配合以形成一个有机的整体,只有当所有子系统的测试都成功时,才能说明操作系统通过了整个安全测评。子系统安全测试的目标是各子系统中常用的系统调用,验证方法是检测它们的使用是否符合安全策略。此外,预测试也是必要的。虽然安全测试只关注安全性,而不关心可用性,但是由于测试套件要在被测操作系统中运行,每个测试用例的运行都裕要满足特定的条件。因此,必须预先对操作系统的常用功能进行验证,以确保整个测试活动能够顺利进行。例如,安全审计机制需要系统的统计命令的支持,在测试审计机制之前就要对统计命令进行功能性测试。3、安全操作系统测评标准在操作系统测评中,标准的作用主要有两个.一是通过标准的规定。使得不同测试者对不同测试对象有统一的评价,有统一衡量的标度;二是通过标准的规定,使测试的范围及程度更加全面]1[。多年来TcSEc评估准则一直是人们用来设计安全操作系统的上要参考标准,因此它也一直是评估多用户主机和小型操作系统的主要方法。按照TcsEc柴测试系统的安全性,主要包括硬件和软件两部分。整个测试过程对生产厂商来说是很昂贵的,而且往往需几年才能完成f21]6[。橘皮书是目前国际上颇具权威的计算机系统安全标准之一,它将计算机系统的安全性能由高而低划分为A、B和C,D四大等级,较高等级的安全范围涵盖较低等级的安全范围,其中:D、最低保护(MinimalProtection),凡没有通过其他安全等级测试项曰的系统即属于该级,如lBM—Pc、AppleMacintosh等。C、自定式保护(DiscretionaryProtection),该等级的安全特点在于系统的对象(如文件、目录)可由其主题(如系统管理员、用户、应用程序)自定义访问权。例如管理员可以决定某个文件仪允许某一特定用户读取、另一用户写入等,unix、windowsNT等系统属于该级别。B、一强制式保护(MandatoryProtection),该等级的安全特点在于系统强制的安全保护,在强制式保护模式中,每个系统对象(如文件、目录等资源)及主题(如系统管理员、用户、应用程序)都有自己的安全标签(securityLabel),系统依据用户的安垒等级赋予他对各对象的访问权限。A、可验证保护(VermedProtection),其特点在于系统拥有正式的分析及数学式方法可完全证明该系统的安拿策略及安全规格的完整性与一致性。橘皮书对操作系统安全等级的划分只是给出了一个最终的实现目标,并没有从实现方法上给予规定,这就导致了在安全操作系统的测试问题上的盲目性和不规范性,而国外的测试方法和备等级的测试标准又是保密的,因此,尽快探索出一套自己的对于安全操作系统测试的方法和步骤是有必要的。4、设计思想(二)操作系统安全评测方案及方法1、安全操作系统评测方案系统调用是操作系统提供给用户的唯一接口,用户可利用它执行系统功能,进行设备管理、文件管理、进程控制、进程通信、存储管理和线程管理的相应操作,同样,用户也可以利用系统调用的漏洞和不完善性对操作系统进行攻击和破坏”,因此,各个系统调用的安全性就直接关系到安垒操作系统的整体的安全性。由此可见,对安全操作系统的测试首先就是对安全操作系统中各个系统调用安全的测试。依据应用软件的测试原则,本文提出对系统调用的测试,分为以下5个步骤:(1)明确测试对象,即要针对哪一个或几个系统调用进行测试,并对待测系统调用的运行机制和各种不同的运行结果力求以深入r解;(2)明确测试日的,根据所选测试对象的小同,测试H的也会随之变化,在对单一的系统调用进行测试时,测试的目的通常是执行系统调用的某些操作,比较结果是否与预期相同,如果同时对几个系统调用进行测试,往往是看其能否协同工作;(3)根据具体的测试对象和测试目的编写测试用例,明确系统调用的初始化变量和参数、执行步骤、预期的结果等;(4)进行具体的编码测试;(5)根据结果来分析被测对象是否具有预期的安全性]4[。2、操作系统安全测评方法2.1一般方法软件测试过程一般可以分为4个基本阶段,单元测试、集成测试,功能测试和系统测试。单元测试是对组成软件的每个单元进行测试,以确认各个单元能否正常工作。集成测试是在对每个单元的单元测试完成后,按照设计时做出的结构图,在把软件单元逐步组装的过程中,同时有序进行的测试。功能测试是检验集成测试中发现的软件接口缺陷是否己经纠正。系统测试是将软件、硬件和环境连在一起进行的垒面的测试,以检查被测软件与需求说明是否相符]4[。本文针对操作系统的工作单元进行安全测试探讨。2.2工作单元测评工作单元是安全测评的基本工作单位,对应一组相对独立和完整的测评内容。工作单元由测评项、测评对象测评方式、测评实施和结果判定组成,如下图:测评项描述测评目的和测评内容,与操作系统安全等级保护要求的基本安全控制要求相一致。测评方式是指测评人员依据测评目的和测评内容应选取的、实施特定测评操作的方式方法,包括三种基本测评方式:访谈、检查和测试。测评对象是测评实施过程中涉及到的信息系统的构成成分,是客观存在的人员、文档、机制或者设备等。测评对象是根据该工作单元中的测评项要求提出的,与测评项的要求相适应。一般来说,实施测评时,面临的具体测评对象可以是单个人员、文档、机制或者设备等,也可能是由多个人员、文档、机制或者设备等构成的集合,它们分别需要使用到某个特定安全控制的功能。测评实施是工作单元的主要组成部分,它是依据测评目的,针对具体测评内容开发出来的具体测评执行实施过程要求。测评实施描述测评过程中涉及到的具体测评方式、内容以及需要实现的结论应该取得的测评结果。结果判定描述测评人员执行完测评实施过程,产生各种测评证据后,如何依据这次测评证据来判定被测系统是否满足测评项要求的方法和原则。在给出整个工作单元的测评结论前,需要先给出单项测评实施过程的结论。一般来说,单项测评项是否符合测评项要求人员/文档/机制/设备结果判定访谈/检查/测试测评实施测评对象测评方式具体技术和管理要求测评方式+对象+操作测评实施过程的结论判定不是直接的,常常需要测评人员的主观判断,通常认为取得正确的、关键性证据,该单项测评实施