第二章系统安全工程能力成熟度模型本章学习目标了解CMM的概念及其每个级别的内涵;知道SSE-CMM的域维和能力维的意义知道应用SSE-CMM进行过程改进了解系统安全工程能力评估过程2.1概述信息系统安全工程是美国军方在20世纪90年代初发布的信息安全工程方法,其重点是通过实施系统工程过程来满足信息保护的需求。主要包括:•发掘信息保护需求•定义信息保护系统•设计信息保护系统•实施信息保护系统•评估信息保护系统的有效性安全工程的目标•1获取对企业的安全风险的理解。•2根据已识别的安全风险建立一组平衡的安全要求。•将安全要求转换成安全指南,将其集成到一个项目实施的活动中和系统配置或运行的定义中。•4在正确有效的安全机制下建立信心和保证。•5判断系统中和系统运行时残留的安全脆弱性对运行的影响是否可容忍(即可接受的风险)。•6将所有项目和专业活动集成到一个可共同理解系统安全可信性的程度。CMM介绍•CMM:CapabilityMaturityModel•用来确定一个企业的软件过程的成熟程度以及指明如何提高该成熟度的参考模型。•CMM模型是建立在统计过程控制理论基础上的。统计过程控制理论指出,所有成功企业都有共同特点,即具有一组定义严格、管理完善、可测量的工作过程。CMM模型认为,能力成熟度高的企业持续生产高质量产品的可能性很大,而工程风险则很小。•由美国国防部指定研究,美国CMU(卡内基-梅隆大学)软件工程研究所SEI在1991年发布了最早的SW-CMMV1.0(软件能力成熟度模型,CMMforSoftware)。CMM发展简史•CMM1.0于1991年制定。•–CMM1.1于1993发布,该版本应用最广泛。•–CMM2.0草案于1997年制定(未广泛应用)。•–到2000年,CMM演化成为CMMI(CapabilityMaturityModelIntegration),CMM2.0成为CMMI1.0的主要组成部分。•–CMMI-SE/SW1.1(CMMIforSystemEngineeringandSoftwareEngineering)于2002年1月正式推出。CMM的概念模型•CMM的一个成熟级别指示了这个级别的过程能力•每个成熟级别包含许多关键过程域(KPA),每个KPA代表了一组相关的工作(活动)。•每个KPA都有一个确定的目标,完成该目标即认为过程能力的提高。•每个KPA的工作以组织方式细化为一般特性CF(CommonFeatures)。•每个CF都对实施或规则的建立进行说明,它由若干个关键实施(KP)组成。•KP是软件过程的基础结构或活动。CMM级别初始级(Initial)•处于这个最低级的组织,基本上没有健全的软件工程管理制度。每件事情都以特殊的方法来做。如果一个特定的工程碰巧由一个有能力的管理员和一个优秀的软件开发组来做,则这个工程可能是成功的。然而通常的情况是,由于缺乏健全的总体管理和详细计划,时间和费用经常超支。结果,大多数的行动只是应付危机,而非事先计划好的任务。处于成熟度等级1的组织,由于软件过程完全取决于当前的人员配备,所以具有不可预测性,人员变化了,过程也跟着变化。结果,要精确地预测产品的开发时间和费用之类重要的项目,是不可能的。•过程无序且不可见可重复级(Repeatable)•在这一级,有些基本的软件项目的管理行为、设计和管理技术是基于相似产品中的经验,故称为“可重复”。在这一级采取了一定措施,这些措施是实现一个完备过程所必不可缺少的第一步。典型的措施包括仔细地跟踪费用和进度。不像在第一级那样,在危机状态下方行动,管理人员在问题出现时便可发现,并立即采取修正行动,以防它们变成危机。关键的一点是,如没有这些措施,要在问题变得无法收拾前发现它们是不可能的。在一个项目中采取的措施也可用来为未来的项目拟定实现的期限和费用计划。•Milestone可见,按计划开发Level2的6个KPA:侧重于管理•需求管理(RequirementsManagement)•软件项目计划(SoftwareProjectPlanning)•软件项目的跟踪和监控(SoftwareProjectTackingandOversight)•软件子合同管理(SoftwareSubcontractManagement)•软件质量保证(SoftwareQualityAssurance)•软件配置管理(SoftwareConfigurationManagement)定义级(Defined)•在第3级,已为软件生产的过程编制了完整的文档。软件过程的管理方面和技术方面都明确地做了定义,并按需要不断地改进过程,而且采用评审的办法来保证软件的质量。在这一级,可引用CASE环境来进一步提高质量和产生率。•每个阶段的内部活动可见•标准过程和项目定义过程裁剪Level3的7个KPA:工程过程+企业理念•机构过程关注(OrganizationProcessFocus)•机构过程定义(OrganizationProcessDefinition)•培训计划(TrainingProgram)•集成软件管理(IntegratedSoftwareManagement)-过程裁剪和定义•软件产品工程(SoftwareProductEngineering)-过程执行•组间协调(IntergroupCoordination)•对等审查(PeerReviews)管理级(Managed)•一个处于第4级的公司对每个项目都设定质量和生产目标。这两个量将被不断地测量,当偏离目标太多时,就采取行动来修正。利用统计质量控制,管理部门能区分出随机偏离和有深刻含义的质量或生产目标的偏离(统计质量控制措施的一个简单例子是每千行代码的错误率。相应的目标就是随时间推移减少这个量)。•过程可度量,预测值与结果之间的偏差可控Level4的2个KPA:预测+量化管理•定量过程管理(QuantitativeProcessManagement)-过程度量•软件质量管理(SoftwareQualityManagement)-产品度量优化级(Optimizing)•—个第5级组织的目标是连续地改进软件过程。这样的组织使用统计质量和过程控制技术作为指导。从各个方面中获得的知识将被运用在以后的项目中,从而使软件过程融入了正反馈循环,使生产率和质量得到稳步的改进。•过程动态调整、新技术的采用Level5的3个KPA:动态优化•缺陷预防(DefectPrevention)•技术改变管理(TechnologyChangeManagement)•过程改变管理(ProcessChangeManagement)2.2SSE-CMM基础•2.2.1SSE-CMM简介•SSE-CMM用途(SystemSecurityEngineering-CMM)•SSE-CMM主要用于指导系统安全工程的完善和改进,使系统安全工程成为一个清晰定义的、成熟的、可管理的、可控制的、有效的和可度量的学科。•SSE-CMM是安全工程实施的标准,它主要涵盖以下内容:•1它强调的是分布于整个安全工程生命周期中各个环节的安全工程活动,包括概念定义、需求分析、设计、开发、集成、安装、运行、维护及更新。•2它应用于安全产品开发者、安全系统开发者及集成者,还包括提供安全服务与安全工程的组织。•3它适用于各种类型、规模的安全工程组织,如商业、政府及学术界。SSE-CMM应用方式•1过程改进可以使一个安全工程组织对其安全工程能力的级别有一个认识,于是可以设计出改善的安全工程过程,这样就可以提高他们的安全工程能力。•2能力评估使一个客户组织可以了解其提供商的安全工程过程能力。•3保证通过声明提供一个成熟过程所具有的各种数据,使得产品、系统、服务更具可信性。•目前,SSE-CMM已经成为西方发达国家政府、军队和要害部门组织和实施安全工程的通用方法,是系统安全工程领域里成熟的方法体系。SSE-CMM发展历史•SSE-CMM的基础是CMM•SSE-CMM研究项目1993年由美国国家安全局启动,1996年10月发布SSE-CMM的1.0版本,2003年由国际系统安全工程协会更新为3.0版本。•2002年SSE-CMM成为国际标准ISO/IEC21827:2002《信息技术系统安全工程能力成熟度模型》。2008年10月,国际标准化组织基于SSE-CMM3.0发布了ISO/IEC21827:2008标准。•我国基于ISO/IEC21827:2002转化,于2006年发布了国家标准GB/T20261-2006《信息技术系统安全工程能力成熟度模型》。•系统安全工程过程•SSE-CMM将系统安全工程过程划分为风险过程(Riskprocess)、工程过程(EngineeringProcess)和保证过程(Assuranceprocess)三个基本的过程区。•风险过程识别出所开发的产品或系统的危险,并对这些危险进行优先级排序•针对危险所面临的安全问题,系统安全工程过程要与其他工程一起来确定和实施解决方案•最后,由安全保证过程建立起解决方案的可信性并向用户转达这种安全可信性风险过程•系统安全工程的一个主要目标就是降低风险•风险就是有害事件发生的可能性及其危害后果•一个有害事件由威胁、脆弱性和影响三个部分组成•威胁:对手的能力、意图和攻击方式,或者具有对信息、程序或系统造成损害或造成它们相互损害的潜力的人和外部或内部的环境和事件。•脆弱性:能够被某种威胁利用的某个或某组资产的弱点。•风险管理就是调查和量化风险的过程,并建立组织对风险的承受级别•安全措施的实施可以减轻风险。安全措施可针对威胁和脆弱性自身。但无论如何,不可能消除所有威胁或根除某个具体威胁。这主要是因为消除风险所需的代价,以及与风险相关的各种不确定性。因此,必须接受残留的风险。工程过程保证过程•保证是指安全需求得到满足的可信程度•安全保证并不能增加任何额外的安全相关风险的抗拒能力,但它能为减少预期安全风险提供信心。•安全保证通常以安全论据的形式出现。证据在系统安全工程活动的正常过程期间获得,并被记录在文档中。•过程区中包括的许多典型工作产品可作为证据或证据的一部分。•现代统计过程控制理论表明,如果注重产品的生产过程,则可用较低的成本重复地生产出较高质量和安全保证的产品。工程组织实施活动的成熟能力将会对这个过程产生影响和提供帮助。2.3SSE-CMM的体系结构•SSE-CMM有两个维:“域”和“能力”•域维汇集了定义安全工程的所有的实施活动(称为BP,BasePractice,基本实施或基本惯例),这些实施活动被组织为“过程区”(PA,ProcessArea)。•能力维代表组织能力。这一维由过程管理和制度化能力构成,这些实施活动称作通用实施(GenericPractice,或通用惯例)。通用实施被归入12个不同的逻辑域,称为“公共特性”(CommonFeature)。•通过设置这两个相互依赖的维,SSE-CMM在各个能力级别上覆盖了整个安全活动范围。安全工程过程域•PA01管理安全控制•PA02评估影响•PA03评估安全风险•PA04评估威胁•PA05评估脆弱性•PA06建立保障论据•PA07协调安全•PA08监视安全态势•PA09提供安全输入•PA10指定安全需要•PA11验证和证实安全性项目和组织管理过程域•PA12质量保障•PA13管理配置•PA14管理项目风险•PA15监控技术活动•PA16规划技术活动•PA17定义系统工程过程•PA18改进系统工程过程•PA19产品持续改进•PA20管理系统工程支持环境•PA21提供不断发展的技能和知识•PA22与供应商协调公共特性•公共特性设计的目的是描述在执行工作过程中组织特征方式的主要变化。这些公共特性分为五个级别,依次表示增强的组织能力。•等级1•1.1执行基本实施•等级2•2.1规划执行•2.2规范化执行•2.3确认执行•2.4跟踪执行•等级3•3.1定义标准过程•3.2执行已定义过程•3.3协调过程•等级4•4.1建立可测