□□□□□□□□□作者单位:100037北京北京信息安全测评中心1一种基于模型的信息安全风险评估方法李嵩孟亚平孙铁刘海峰[摘要]基于模型的评估方法对信息安全风险评估具有重要的意义。该文提出一种基于统一建模语言、攻击树分析事件树分析模型的信息安全风险评估方法,运用面向对象的、半形式化的方法分析和描述安全风险相关要素,基于ATA模型深入分析评估关键信息资产的安全风险,基于ETA分析安全事件对业务的影响,提高风险评估的精确性和客观性。基于模型的方法还有利于风险评估相关要素模式的抽象和复用,以及评估工具的开发和应用,提高风险评估的生产率。[关键词]信息安全风险评估基于模型统一建模语言攻击树分析事件树分析AModelDrivenInformationSecurityRiskAssessmentApproachLiSongMemgYapingSunTieLiuHaifengBeijingInformationSecurityTestandEvaluationCenter[Abstract]Model-drivenassessmentapproachhassignificantmeaningforinformationsecurityassessment.ThispaperpresentsaninformationsecurityassessmentapproachbasedonUML,ATAandETAmodel,whichusingobject-orientedandsemi-formallymethodtoanalysisanddescribetheelementsrelatedtorisk,thoroughlyassessingtheriskofcriticalassetsbasedonATAmodel,analysingthesecurityincidentimpactsonbusinessbasedonETA,andimprovingaccuracyandobjectivityofriskassessment.Model-drivenapproachalsohelptoabstractandreusepatternsoftheelementsrelatedtorisk,developanduseassessmenttools,andincreasetheproductivityofriskassessment.[keyword]InformationSecurityRiskAssessment,Model-driven,UML,ATA,ETA□□□□□□□□□作者单位:100037北京北京信息安全测评中心21引言为了评估信息系统的安全风险,多种风险评估方法被开发出来并在实践中应用,但由于信息安全具有的高度复杂性和不确定性,这些方法还存在很多难以解决问题。具有共性的问题表现在:1)缺乏形式化的分析和描述方法,无法精确分析和描述风险相关要素,给评估结果带来很大的偏差;2)缺乏对关键信息资产安全风险相关要素的深入分析,评估结果主观性强,有实际价值的内容往往只是系统的脆弱性检测结果;3)缺乏对风险相关要素的抽象、归纳和复用的方法,使风险评估陷入低水平低效率的循环;4)缺乏工具支持,低层次手工作业量较大,风险评估的生产率较低。采用统一建模语言(UnifiedModellingLanguage,UML)分析和描述被评估信息系统及其安全风险相关要素,可以运用面向对象的分析方法,采用图形方式的半形式化建模技术,提高信息系统及其相关安全要素描述的精确性,提高以此为基础的评估结果的质量。UML在系统分析与设计中具有广泛深入的应用,UML在风险评估中的应用,有利于风险评估过程与系统开发过程的相互支持[1]。故障树分析(FaultTreeAnalysis,FTA)[2]是一种成熟的可靠性和安全性分析技术,攻击树分析(AttackTreeAnalysis,ATA)[3]是其在安全领域的应用。采用ATA技术,分析建立关键信息资产的ATA模型,可以有针对性地分析识别关键信息资产相关的安全事件和安全威胁,并对关键信息资产进行概率风险评估(ProbabilisticRiskAssessment,PRA)[4],提高风险评估的客观性。ETA(EventTreeAnalysis,ETA)[4]是一种逻辑演绎法,它在给定的一个初因事件的前提下,分析此初因事件可能导致的各种事件序列的结果。基于ETA方法分析安全事件对系统业务的影响,可以提高业务影响分析的全面性和系统性。基于图形模型的分析与描述方法有利于深入的交流与沟通,防止由于不确切的理解而影响评估质量和效率。基于模型的风险评估方法,有利于对安全风险相关要素进行模式抽象和总结,通过模式的复用,以及开发应用基于模型方法的工具集,提高效率,降低成本,提高风险评估的生产率。2基于模型的风险评估过程信息系统的风险评估过程与系统开发过程同样具有“V形关系”,如图1所示。系统开发过程可分为三个阶段:需求分析、系统设计和系统实现。在这三个阶段中包括两个不同的建模过程:一是在需求分析阶段建立系统的业务模型,是平台无关建模(PlatformIndependentModeling,PIM)[5]过程;二是在设计阶段建立系统模型,是特定平台建模(PlatformSpecificModeling,PSM)[5]过程。图1基于模型的风险评估过程而基于模型的风险评估可以概括为业务分析、系统平台分析、风险识别、风险分析和风险评估五个阶段。其中业务分析和系统平台分析阶段使用UML分析方法描述系统业务模型、系统平台(包括安全措施)模型,是风险评估过程中对系统需求分析和系统设计的延续和扩展。风险识别阶段对系统进行安全检测、核查,识别系统面临的威胁和系统的脆弱性。风险分析阶段在风险识别阶段的基础上,基于UML对威胁和脆弱性等风险相关要素进行分析,并建立关键信息资产的ATA模型。该阶段主要关注系统平台的安全风险相关要素。风险评估阶段是基于前面已建立的模型,分析关键信息资产的安全风险概率,分析关键信息资产安全性遭受破坏对系统业务的影响,评估关键信息资产的安全风险。3业务和系统平台分析业务分析是评估者对系统业务的认识过程,目的是认识并深入理解被评估系统的业务,这是正确认识安全风险的基础。业务分析在系统相关文档和系统调查基础上,运用UML用例图、活动图和状态图来描述系统业务,分析并描述系统业务功能、业务流程和数据,建立系统业务模型。业务分析阶段应识别、分析系统的关键信息资产,也就是决定系统安全性的关键数据和服务。关键信息资产是风险评估的核心。系统平台分析的目的是准确认识被评估系统的平台结构(包括网络拓朴结构、系统单元(节点或构件包)、构件和接口关系等)、安全措施、系统边界以及相关的内部和外部环境(网络环境、物理环境、相关基础设施和相关信息系统),建立系统平台模型。系统平台模型主要采用UML部署图来描述。可根据需要采用类图对构件□□□□□□□□□作者单位:100037北京北京信息安全测评中心3进行深入描述。对关键的系统过程可以采用活动图、状态图、序列图或协作图来描述。虽然可以从系统设计文档得到很多的系统平台信息,但评估者一般还需要通过系统调查来保证系统平台模型的准确性。对安全措施和机制的分析与描述是系统平建模的重点,要通过分析安全相关系统单元和构件的功能、连接关系和接口关系,准确描述系统的安全措施和机制。系统平台部署图示例如图2所示。图2系统平台部署图示例系统平台和安全措施的描述粒度一般在包或构件级即可满足风险评估的需要,可以在后续的风险建模阶段根据实际需要进一步深化。4风险识别风险识别过程是对系统安全状况的数据采集过程。风险识别的主要目的是识别系统面临的威胁、系统平台脆弱性以及安全管理的脆弱性。信息系统面临的威胁与系统的使命、业务功能和流程、用户群体、体系结构以及其内部和外部环境等因素密切相关,威胁可能来自或针对上述这些因素。威胁识别主要有两种方法:一是搜集和分析系统相关入侵检测记录、安全审计数据和安全事件的历史记录,识别已发生和正在发生的威胁;二是采用一个已定义的威胁模式列表(按照网络、主机和应用程序等进行分类的常见威胁的细目列表),对威胁相关要素进行适合性分析,全面地识别系统可能面临的安全威胁。系统相关入侵检测记录、安全审计数据和安全事件的历史记录也是威胁识别也具有重要的参考价值。系统的脆弱性包括系统平台的脆弱性和安全管理的脆弱性两部分。系统平台的脆弱性主要通过系统安全检测来识别,安全检测的对象主要是作为系统单元的节点和构件包。检测方法主要有安全功能测试、系统配置核查、漏洞扫描和渗透测试等。安全管理脆弱性识别主要方法有管理核查、系统配置核查、系统平台脆弱性检测结果分析等。5风险分析5.1威胁和脆弱性属性分析风险分析阶段要针对风险识别阶段已识别的安全威胁和脆弱性的相关属性,进行归纳、分析,建立威胁列表和脆弱性列表。威胁类主要属性有:标识类型主体来源动机方法/途径相关客体方式破坏能力/强度□□□□□□□□□作者单位:100037北京北京信息安全测评中心4频度脆弱性类属性参考CVE规范并进行扩充,主要属性有:标识描述参考项属主危险度由于各类威胁、脆弱性并不是独立的,如果威胁之间、脆弱性之间关联过多,属性分析的工作量将成指数上升,因此通过对已识别的威胁、脆弱性进行简化、归纳,可以显著降低风险分析阶段的复杂度。5.2风险相关要素关系模型信息系统安全风险相关的要素具有复杂的关系,用UML类图描述的风险相关要素关系[6,7]模型如图3所示。信息系统的主要价值表现为关键信息资产价值,信息系统风险评估主要是对关键信息资产的风险评估。系统单元是系统平台的构成元素,是关键信息资产的载体,脆弱性、威胁和安全措施都与系统单元密切相关,它们之间的相互作用,可能使系统单元发生安全事件,系统单元的一系列安全事件形成关系信息资产的安全风险。图3风险相关要素关系模型风险相关要素关系模型是信息安全风险评估的基础数据结构,风险分析过程将在业务和系统平台分析基础上,对关键信息资产、系统单元、安全措施类进行实例化;在威胁和脆弱性属性分析分析基础上,对威胁和脆弱性类实例化;安全事件和安全风险通过ATA模型进行分析,最后形成与类模型相对应的对象模型。由于很多信息系统在业务和架构方面是相似的,它们的风险相关要素也具有相似性,对风险相关要素类的对象进行泛化分析,将典型的对象抽象为子类,是对风险相关要素的“模式”进行抽象、积累,和重用的重要方法。5.3关键信息资产ATA模型信息系统安全风险程度主要取决于对关键信息资产安全属性(保密性、完整性和可用性)的影响。分析系统平台的威胁、脆弱性和安全措施,目的是分析系统单元可能发生的安全事件,并进一步分析这些安全事件与关键信息资产的安全风险的关系,信息系统的风险评估最终关注于关键信息资产的安全性。采用ATA方法分析关键信息资产安全风险与安全事件以及系统单元的关系,可以降低模型的复杂性,有利于焦点集中于关键信息资产的安全风险。攻击树是一种描述一个系统内引发可预期的安全事件的路径的图形模型,是一种特殊的倒立树状逻辑因果关系图,它用事件符号、逻辑门符号和转移符号描述系统中各种事件和条件之间的因果关系。□□□□□□□□□作者单位:100037北京北京信息安全测评中心5图4攻击树结构和分析过程攻击树的结构和分析过程如图4所示[2]。攻击树分析把系统最关键的安全事件状态作为逻辑分析的目标,也就是关键信息资产的安全性受到破坏的安全事件,在攻击树中称为顶事件,继而找出导致这一安全事件状态发生的所有可能直接原因,在攻击树中称为中间事件。再跟踪找出导致这些中间事件发生的所有可能直接原因。直追寻到引起中间事件发生的基本事件状态,在攻击树中称为底事件。底事件一般为可识别的安全威胁和中间事件或顶事件的发生条件。中间事件是发生于系统单元的对关键信息资产安全有直接或间接影响的安全事件。对已识别的关键信息资产要分保密性、完整性和可用性分别建立ATA模型。建