信息系统安全风险评估经历了从手动评估到工具辅助评估的阶段,目前正在由技术评估到整体评估发展,由定性评估向定性和定量相结合的方向发展,由基于知识(经验)的评估向基于模型的评估方向发展。在信息系统安全应用领域,经常要求对一个组织进行信息安全风险评估。要使评估结果完整准确,必须考虑到组织的安全风险不仅仅是由计算机网络攻击所引起的,还由技术基础结构、组织结构及人员等综合因素所决定。也正是由于这个原因,要求信息安全风险评估必须考虑组织的方方面面的因素,同时也决定了整个评估过程非常复杂和耗时。下面来共同了解一下不同阶段使用的风险评估方法。
技术评估是指对组织的技术基础结构和程序进行系统、及时检查,包括对组织内部计算环境的安全性及其对内外攻击脆弱性的完整性攻击。
这些技术驱动的评估通常包括以下几点。
1)评估整个计算基础结构。
2)使用拥有的软件工具分析基础结构及其全部组件。
3)提供详细的分析报告,说明检测到的技术弱点,并且可能为解决这些弱点给出具体的措施。
技术评估是通常意义上所讲的技术脆弱性评估,强调组织的技术脆弱性。但是组织的安全性遵循“木桶原则”,仅仅与组织内最薄弱的环节相当,而且这一环节多半是组织中的某个人。
整体风险评估扩展了技术评估的范围,着眼于分析组织内部与安全相关的风险,包括内部和外部的风险源、技术基础和组织结构,以及基于电子的和基于人的风险。这些多角度的评估试图按照业务驱动程序或者目标对安全风险进行排列,关注的焦点主要集中在安全的以下4个方面。
1)检查与安全相关的组织实践,标识当前安全实践的优点和弱点。这一程序可能包括对信息进行比较分析,根据工业标准和最佳实践对信息进行等级评定。
2)对系统进行技术分析、对政策进行评审,以及对物理安全进行审查。
3)检查IT的基础结构,以确定技术上的弱点。包括恶意代码的入侵、数据的破坏或者毁灭、信息丢失、拒绝服务、访问权限和特权的未授权变更等。
4)帮助决策制定者综合平衡风险,以选择成本效益对策。
1999年,卡内基·梅隆大学的SEI发布了OCTAVE框架,这是一种自主型信息安全风险评估方法。OCTAVE方法是Alberts和Dorofee共同研究的成果,这是一种从系统的、组织的角度开发的新型信息安全保护方法,主要针对大型组织,中、小型组织也可以对其适当裁剪,以满足自身需要。它的实施分为3个阶段。
1)建立基于资产的威胁配置文件(Threat Profile)。这是从组织的角度进行的评估。组织的全体员工阐述他们的看法,如什么对组织重要(与信息相关的资产),应当采取什么样的措施保护这些资产等。分析团队整理这些信息,确定对组织最重要的资产(关键资产)并标识对这些资产的威胁。
2)标识基础结构的弱点。对计算基础结构进行的评估。分析团队标识出与每种关键资产相关的关键信息技术系统和组件,然后对这些关键组件进行分析,找出导致对关键资产产生未授权行为的弱点(技术弱点)。
3)开发安全策略和计划。分析团队标识出组织关键资产的风险,并确定要采取的措施。根据对收集到的信息所做的分析,为组织开发保护策略和缓和计划,以解决关键资产的风险。
定性分析方法是使用最广泛的风险分析方法。该方法通常只关注威胁事件所带来的损失(Loss),而忽略事件发生的概率(Probability)。多数定性风险分析方法依据组织面临的威胁、脆弱点及控制措施等元素来决定安全风险等级。
在定性评估时,并不使用具体的数据,而是指定期望值,如设定每种风险的影响值和概率值为“高”“中”和“低”。有时单纯使用期望值并不能明显区别风险值之间的差别,此时,可以考虑为定性数据指定数值。例如设“高”的值为3,“中”的值为2,“低”的值为1。但是需要注意的是,这里考虑的只是风险的相对等级,并不能说明该风险到底有多大。所以不要赋予相对等级太多的意义,否则将会导致错误的决策。
定量分析方法利用两个基本的元素:威胁事件发生的概率和可能造成的损失。把这两个元素简单相乘的结果称为ALE(Annual Loss Expectancy)或EAC(Estimated Annual Cost)。
理论上可以依据ALE计算威胁事件的风险等级,并且做出相应的决策。该方法首先评估特定资产的价值 V ,把信息系统分解成各个组件可能更加有利于整个系统的定价,一般按功能单元进行分解;然后根据客观数据计算威胁的频率 P ;最后计算威胁影响系数 μ ,因为对于每一个风险,并不是所有的资产所遭受的危害程度都是一样的,程度的范围可能从无危害到彻底危害(即完全破坏)。根据上述3个参数,计算ALE,得
ALE = V × P × μ
定量风险分析方法要求特别关注资产的价值和威胁的量化数据,但是这种方法存在一个问题,就是数据的不可靠和不精确。对于某些类型的安全威胁,存在可用的信息。例如可以根据频率数据估计人们所处区域的自然灾害发生的可能性(如洪水和地震)。也可以用事件发生的频率估计一些系统问题的概率,如系统崩溃和感染病毒。但是对于一些其他类型的威胁而言,不存在频率数据,影响和概率很难是精确的。此外,控制和对策措施可以减小威胁事件发生的可能性,而这些威胁事件之间又是相互关联的。这将使定量评估过程非常耗时和困难。
鉴于以上难点,可以转用客观概率和主观概率相结合的方法。应用于没有直接根据的情形,可能只能考虑一些间接信息、有根据的猜测、直觉或者其他主观因素,称为主观概率。应用主观概率估计由人为攻击产生的威胁,需要考虑一些附加的威胁属性,如动机、手段和机会等。
基于知识的风险评估方法主要是依靠经验进行的,经验从安全专家处获取并凭此来解决相似场景的风险评估问题。这种方法的优越性在于能够直接提供推荐的保护措施、结构框架和实施计划。
该方法提出重用具有相似性组织(主要从组织的大小、范围及市场来判断组织是否相似)的“良好实践”。为了能够较好地处理威胁和脆弱性分析,该方法开发了一个滥用和误用报告数据库,存储了30年来的上千个事例。同时也开发了一个扩展的信息安全框架,以辅助用户制定全面、正确的组织安全策略。基于知识的风险评估方法充分利用多年来开发的保护措施和安全实践,依照组织的相似性程度进行快速的安全实施和包装,以减少组织的安全风险。然而组织相似性的判定、被评估组织的安全需求分析及关键资产的确定都是该方法的制约点。安全风险评估是一个非常复杂的任务,这要求存在一个方法既能描述系统的细节,又能描述系统的整体。
基于模型的评估可以分析出系统自身内部机制中存在的危险性因素,同时又可以发现系统与外界环境交互中的不正常且有害的行为,从而完成系统脆弱点和安全威胁的定性分析。如UML建模语言可以用来详细说明信息系统的各个方面:不同组件之间关系的静态图用Class Diagrams来表示;用来详细说明系统的行动和功能的动态图用Use Case Diagrams和Sequence Diagrams来表示;完整的系统使用UML Diagrams来说明,它是系统体系结构的描述。
2001年,BITD开始了CORAS工程——安全危急系统的风险分析平台。该工程旨在开发一个基于面向对象建模技术的风险评估框架,特别指出使用UML建模技术。利用建模技术在此主要有3个目的。
1)在合适的抽象层次描述评估目标。
2)在风险评估的不同群组中作为通信和交互的媒介。
3)记录风险评估结果和这些结果依赖的假设。
CC准则和CORAS方法都使用了半形式化和形式化规范。CC准则是通用的,并不为风险评估提供方法学。相对于CC准则而言,CORAS为风险评估提供方法学,开发了具体的技术规范来进行安全风险评估。