网络安全风险评估
一次性进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:16004488
微信公众号:计算机与网络安全
ID:Computer-network
安全风险( security risk)是指人为或自然威胁利用信息系统及其管理体系中存在的脆弱性导致安全事件的发生及其对组织造成的影响。
风险评估是指依据有关网络安全技术与管理标准,对信息系统及由其处理、传输和存储的信息的机密性、完整性和可用性等安全属性进行评价的过程。它要评估资产面临的威胁以及威胁利用脆弱性导致安全事件的可能性,并结合安全事件所涉及的资产价值来判断安全事件一旦发生对组织造成的影响。
一、风险评估原理
网络安全风险评估是从风险管理的角度,运用科学的手段,系统的分析网络与信息系统所面临的威胁及其存在的脆弱性,评估安全事件一旦发生可能造成的危害程度,为防范和化解信息安全风险,或将风险控制在可以接受的水平,制定有针对性的抵御威胁的防护对策和整改措施以最大限度地保障网络和信息安全提供科学依据。
安全事件的发生是有概率的,不能只根据安全事件的后果便决定网络安全的投入和安全措施的强度,对于发生概率极小的安全事件,即使其后果非常严重,也不能不计代价地盲目投入安全措施来规避此类安全事件。开展风险评估时,必须综合考虑安全事件的后果影响及其发生的可能性。风险评估原理如下图所示。
风险评估原理
风险评估涉及资产、威胁、脆弱性等基本要素。每个要素有各自的属性,资产的属性是资产价值(重要性);威胁的属性是威胁出现频率;脆弱性的属性是脆弱性的严重程度。风险评估的主要内容为:
1、对资产进行识别,并对资产的重要性进行赋值;
2、对威胁进行识别,描述威胁的属性,并对威胁出现的频率赋值;
3、对资产的脆弱性进行识别,并对具体资产脆弱性的严重程度赋值;
4、根据威胁和脆弱性的识别结果判断安全事件发生的可能性;
5、根据脆弱性的严重程度及安全事件所作用资产的重要性计算安全事件的损失;
6、根据安全事件发生的可能性以及安全事件的损失,计算安全事件一旦发生对组织的影响,即风险值。
二、风险评估实施流程
风险评估的实施流程如下图所示。
风险评估实施流程
(一)风险评估准备
风险评估准备是整个风险评估过程有效性的保证。组织实施风险评估是一种战略性的考虑,其结果将受到组织的业务战略、业务流程、安全需求、系统规模和结构等方面的影响。因此,在风险评估实施前,应做好以下7个方面工作。
1、确定风险评估的目标。
2、确定风险评估的范围。
3、组建适当的评估管理与实施团队。
4、进行系统调研。
5、确定评估依据和方法。
6、制定风险评估方案。
7、获得最高管理者对风险评估工作的支持。
(二)资产识别
机密性、完整性和可用性是评价资产的3个安全属性。风险评估中资产的价值不是以资产的经济价值来衡量,而是由资产在这3个安全属性上的达成程度或者其安全属性未达成时所造成的影响程度来决定的。安全属性达成程度的不同将使资产具有不同的价值,而资产面临的威胁、存在的脆弱性以及已采用的安全措施都将对资产安全属性的达成程度产生影响。为此,应对组织中的资产进行识别。
在一个组织中,资产有多种表现形式;同样的2个资产也因属于不同的信息系统而有不同重要性,而且对于提供多种业务的组织,其支持业务持续运行的系统数量可能更多。因此,首先需要将信息系统及相关的资产进行恰当的分类,以此为基础进行下一步的风险评估。在实际工作中,具体的资产分类方法可以根据具体的评估对象和要求,由评估者灵活把握。根据资产的表现形式,可将资产分为数据、软件、硬件、服务、人员等类型。
完成资产分类后,分别从机密性、完整性、可用性3个方面入手,根据资产在各个安全属性上的不同要求,将资产赋值为不同的等级,分别对应资产在机密性(完整性、可用性)上应达成的不同程度或者机密性(完整性、可用性)缺失时对组织的影响。通常将资产赋值为5(很高)、4(高)、3(中等)、2(低)、1(很低)这5个级别。
资产价值应依据资产在机密性、完整性、可用性上的赋值等级,经过综合评定得出。综合评定方法可以根据自身的特点,选择对资产机密性、完整性和可用性最为重要的一个属性的赋值等级作为资产的最终赋值结果;也可以根据资产机密性、完整性和可用性的不同等级对其赋值进行加权计算得到资产的最终赋值结果。加权方法可根据组织的业务特点确定。
(三)威胁识别
威胁可以通过威胁主体、动机、资源、途径等多种属性来描述。造成威胁的因素可分为人为因素和环境因素。根据威胁的动机,人为因素又可分为恶意和非恶意2种。环境因素包括自然界不可抗的因素和其他物理因素。威胁作用形式可以是对信息系统直接或间接的攻击,在机密性、完整性、可用性等方面造成损害;也可能是偶发的或蓄意的事件。可以从来源、表现形式等方面对威胁进行分类。
威胁识别的重要工作是进行威胁赋值,即判断威胁出现的频率,评估者应根据经验和(或)有关的统计数据来进行判断。在评估中,需要综合考虑以下3个方面,以形成在某种评估环境中各类威胁出现的概率。
1、以往安全事件报告中出现过的威胁及其频率的统计。
2、实际环境中通过检测工具以及各种日志发现的威胁及其频率的统计。
3、近一两年来国际组织发布的对于整个社会或特定行业的威胁及其频率统计,以及发布的威胁预警。
可以对威胁出现的频率进行等级化处理,不同等级分别代表威胁出现频率的高低。等级数值越大,威胁出现的频率越高。在实际的评估中,威胁频率的判断依据应在评估准备阶段根据历史统计或行业判断予以确定,并得到被评估方的认可。
(四)脆弱性识别
脆弱性是资产本身存在的,如果没有被相应地威胁利用,单纯的脆弱性本身不会对资产造成损害。而且如果系统足够强健,严重的威胁也不会导致安全事件发生,并造成损失。即威胁总是要利用资产的脆弱性才可能造成危害。
资产的脆弱性具有隐蔽性,有些脆弱性只有在一定的条件和环境下才能显现,这是脆弱性识别中最为困难的部分。不正确的、起不到应有作用的或没有正确实施的安全措施本身就可能是一个脆弱性。
脆弱性识别是风险评估中最重要的一个环节。脆弱性识别可以以资产为核心,针对每一项需要保护的资产,识别可能被威胁利用的弱点,并对脆弱性的严重程度进行评估;也可以从物理、网络、系统、应用等层次进行识别,然后与资产、威胁对应起来。脆弱性识别的依据可以是国际或国家安全标准,也可以是行业规范、应用流程的安全要求。对应用在不同环境中的相同的弱点,其脆弱性严重程度是不同的,评估者应从组织安全策略的角度考虑、判断资产的脆弱性及其严重程度。信息系统所采用的协议、应用流程的完备与否、与其他网络的互联等也应考虑在内。
脆弱性识别时的数据应来自于资产的所有者、使用者,以及相关业务领域和软硬件方面的专业人员等。脆弱性识别所采用的方法主要有问卷调查、工具检测、人工核查、文档查阅、渗透性测试等。
脆弱性识别主要从技术和管理2个方面进行,技术脆弱性涉及物理层、网络层、系统层、应用层等各个层面的安全问题。管理脆弱性又可分为技术管理脆弱性和组织管理脆弱性两方面,前者与具体技术活动相关,后者与管理环境相关。
可以根据脆弱性对资产的暴露程度、技术实现的难易程度、流行程度等,采用等级方式对已识别的脆弱性的严重程度进行赋值。由于很多脆弱性反映的是同一方面的问题,或可能造成相似的后果,赋值时应综合考虑这些脆弱性,以确定这一方面脆弱性的严重程度。对某个资产,其技术脆弱性的严重程度还受到组织管理脆弱性的影响。因此,资产的脆弱性赋值还应参考技术管理和组织管理脆弱性的严重程度。
脆弱性严重程度可以进行等级化处理,不同的等级分别代表资产脆弱性严重程度的高低。等级数值越大,脆弱性严重程度越高。
(五)已有安全措施确认
在识别脆弱性的同时,评估人员应对已采取安全措施的有效性进行确认。安全措施的确认应评估其有效性,即是否真正降低了系统的脆弱性,抵御了威胁。对有效的安全措施继续保持,以避免不必要的工作和费用,防止安全措施的重复实施。对确认为不适当的安全措施应核实是否应被取消或对其进行修正,或用更合适的安全措施替代。
安全措施可以分为预防性安全措施和保护性安全措施2种。预防性安全措施可以降低威胁利用脆弱性造成安全事件发生的可能性,如入侵检测系统;保护性安全措施可以减少因安全事件发生后对组织或系统造成的影响。
已有安全措施确认与脆弱性识别存在一定的联系。一般来说,安全措施的使用将减少系统技术或管理上的脆弱性,但安全措施确认并不需要和脆弱性识别过程那样具体到每个资产、组件的脆弱性,而是一类具体措施的集合,为风险处理计划的制定提供依据和参考。
(六)风险分析
风险估算是对风险发生的可能性、风险的性质、风险发生后可能造成的后果和影响进行计算和判定,并确定风险处理计划和评估残余风险。通过对风险涉及的各个要素(资产、脆弱性、威胁、已有安全措施等)的度量进行计算,通过一定的方法得到风险发生的可能性及其后果,风险计算明确了风险的大小。风险计算方法通常包括定量、定性和半定量3种方法。
1、定量风险分析
定量风险分析方法是使用数值来描述风险发生的可能性及其影响。定量风险分析会尝试为风险分析过程的所有元素都赋予具体的和有意义的数字,这些元素可能包括防护措施的成本、资产价值、业务影响、威胁频率、防护措施的有效性、漏洞利用可能性等,在上述所有元素被量化时,这个过程就可以被称为定量的。
《评估规范》给出了风险的计算范式:
风险值=R(a, T, V)=R(L(T, V), F(Ia, Va))
其中,R表示安全风险计算函数,a表示资产,T表示威胁,V表示脆弱性,Ia表示安全事件所作用的资产价值,Va表示脆弱性严重程度,L表示威胁利用资产的脆弱性导致安全事件发生的可能性,F表示安全事件发生后产生的损失。
由此,《评估规范》指出了3个关键计算环节。
(1)计算安全事件发生的可能性
安全事件发生的可能性=L(威胁出现频率,脆弱性)=L(T,V)
(2)计算安全事件发生后的损失
安全事件的损失=F(资产价值,脆弱性严重程度)=F(Ia, Va)
(3)计算风险值
风险值=R(安全事件发生的可能性,安全事件的损失)=R(L(T, V), F(Ia, Va))
风险的计算范式表明,风险估算涉及的风险要素一般为资产、威胁和脆弱性。组合这些要素来度量风险的方式有多种。目前,常用的计算方法是矩阵法和相乘法。
矩阵法主要适用于由2个要素值确定一个要素值的情形。首先需要确定二维计算矩阵,矩阵内各个要素值根据具体情况和函数递增情况采用数学方法确定,然后将2个要素的值在矩阵中进行比对,行列交叉处即为所确定的计算结果。具体如下表所示。
矩阵法示例
风险数值计算示例如下表所示。
风险数值计算示例
其中,风险等级按照5级划分,如下表所示。
风险等级参照
相乘法主要适用于2个或多个要素值确定一个要素值的情形。即z=f(x,y), 函数f可采用相乘法,即z=f(x,y)=x⊗y。
f为增量函数时,⊗可为直接相乘,也可为相乘后取模等,如:
z=f (x,y)=xy
矩阵法的特点在于通过构造两两要素计算矩阵,可以清晰罗列要素的变化趋势,具备良好的灵活性。而相乘法提供一种定量的计算方法,直接使用2个要素值进行相乘得到另一个要素的值。相乘法的特点是简单明确,直接按照统一公式计算,即可得到所需结果。这2种常用计算方法在风险分析中都得到了广泛采用。
2、定性风险分析
定性风险分析方法使用文字或文字分级来描述风险的影响及发生可能性,是最简单也是最常用的分析方法,通常使用检查表及主观的风险分级,如高、中、低。具体的定性分析技术包括判断、最佳实践、直觉和经验。下面的表分别给出了对风险发生可能性和风险影响的定性分析示例。
定性风险分析示例:风险可能性
定性风险分析示例:风险影响
下表给出了基于可能性和影响的定性风险分析矩阵。
其中,不同的风险值代表不同的含义:E表示要求立即采取措施,H表示需要高级管理部门的注意,M表示必须规定管理责任,L表示用日常程序处理。
3、半定量风险分析
目前,没有严格的定量分析的计算公式,定量分析的数字往往并不精确,且在积累了足够多的样本后,才能比较精确地估算事件发生的概率和发生后的损失。因此,在实践中,定量和定性的风险分析方法要综合使用,即采取半定量风险分析方法,将文字分级与量化分级相结合。半定量风险分析方法常常用在不能定量分析方法或为了降低定性分析方法的主观因素时使用。
完成风险计算和判定后,对不可接受的风险应根据导致该风险的脆弱性制定风险处理计划。风险处理计划中应明确采取弥补脆弱性的安全措施、预期效果、实施条件、进度安排、责任部门等。安全措施的选择应从管理和技术2个方面考虑。
对于不可接受的风险选择适当安全措施后,为确保安全措施的有效性,可进行再评估,以判断实施安全措施后的残余风险是否已经降低到可接受的水平。安全措施的实施是以减少脆弱性或降低安全事件发生可能性为目标的,因此,残余风险评估可以从脆弱性评估开始,在对照安全措施实施前后的脆弱性状况后,再次计算风险值的大小。
某些风险可能在选择适当的安全措施后,残余风险的结果仍然处于不可接受的范围内,应考虑是否接受此风险或进一步增加相应的安全措施。
三、风险评估实践
《评估规范》提出了风险计算的基本思路,其中,各具体计算环节给出了较多可细化的空间。依据《评估规范》的风险计算范式以及基本计算方法,在风险评估实践中,可以采用如下符合重要信息系统特点的、基于威胁源的具体方法。
针对某一特定的信息资产a,将《评估规范》中给出的风险值的计算式简化如下:
Ra=Ra(a,V,T)=Ra(Ia,g(Va,T))
p其中,a表示资产,Ra表示风险,Va表示脆弱性,T表示威胁,Ia表示资产a发生安全事件后对组织业务的影响(也称为资产的重要程度),由计算范式中安全事件的损害函数F(Ia,Va)简化而得,g表示威胁利用资产脆弱性造成安全事件发生的可能性,它的计算要综合考虑脆弱性的严重程度和威胁的可能性(相当于《评估规范》中的L函数)。上式表明,风险的计算要综合考虑资产a的重要性以及在资产a上发生安全事件的可能性。
《评估规范》中未指明g函数的具体计算方法,具体细化如下:
g(Va,T)=g(Va,Tφ(T,a))
其中,φ(T,a)是个布尔函数:
在评估实践中,不同的威胁源发起的威胁所造成的影响不同,如同样的威胁如果分别由国家、敌对势力、外部黑客和内部黑客发起,其风险是不同的。因此,在g函数的计算中引入修正函数g2:
g(Va,T)=g(Va,Tφ(T,a)=g1(Va,Tφ(T,a))+g2(Va,Tφ(T,a)s(S))
其中,S表示威胁源,s(S)表示威胁源的危害程度,其取值如下:
其中,g2为一修正函数,若系统中存在由国家、敌对势力、外部黑客、内部黑客、合法用户等主观威胁源利用木马攻击、密码破解等重大威胁引起重大安全事件的可能性,则给出与相应威胁和脆弱性相关的修正值,否则值为0。
针对被评估系统中的某一具体资产,函数的具体计算方法如下。
(1)采用线性相乘法
分析、计算威胁利用资产脆弱性发生安全事件及重大安全事件的可能性。
安全事件发生的可能性=g(威胁,资产脆弱性)=g2(威胁,资产脆弱性)+g2(威胁,资产脆弱性)
(2)函数g1的计算方法
该资产的所有脆弱性值与同该资产关联的所有威胁值分别相乘,然后求和。
(3)函数g2的计算方法
该资产的木马脆弱性值、密码安全性值等与同该资产关联的木马、密码威胁值等分别相乘,然后求和;若存在由国家、敌对势力、黑客等主观因素威胁源的攻击,则结果是威胁源相关的函数值与该和值的积,否则为0。
(4)根据资产的重要程度以及安全事件发生的可能性计算风险值。
风险值=Ra(资产重要程度,安全事件发生的可能性)
(5)根据整个被评估系统的风险值的总体情况,确定风险等级划分的参考区间,如下表所示。
风险值—风险等级关联
(6)被评估系统的总风险为所有资产风险值的加权和。
记资产a的加权值为h(a) ,表示资产a的风险对整个被评估系统风险的影响程度,记被评估系统的总风险为:
(7)对照上表,确定被评估系统风险等级。
通常,在风险的综合分析过程中,会参考木桶原理,即系统实际安全状况往往取决于防护措施最薄弱的环节。因此,由上述计算方法得出安全风险值后,有必要做综合的风险分析,找到风险值最高的“短板”。
综合风险分析方法一般有以下2种方式。
(1)基于威胁关联的风险分析。已识别出的安全风险中,有一部分风险事件来自相同或相似的威胁源,实际情况下,该类安全事件发生的可能性会增加,因此,需要对该部分风险进行关联分析,在安全事件可能性增加的情况下,得出关联分析的风险值。
(2)基于重点项关联的风险分析。已识别出的安全风险中,有一部分风险事件是用户的重点关注项,实际情况下,该类安全事件同时发生对资产的危害会增加,因此,需要对该部分风险进行关联分析,在安全事件危害增加的情况下,得出关联分析的风险值。
关联分析的风险值如果增大,风险评价中风险等级则会变高,关联后的安全风险则会成为整个信息系统的安全“短板”,对整体安全产生巨大影响。
四、结语
由于信息资产自身的脆弱性,使安全事件的发生成为可能,从而形成不同风险。在风险评估过程中,资产的价值、资产被破坏后造成的影响、威胁的严重程度、威胁发生的可能性、资产的脆弱性及其严重程度等都是风险评估的关键因素。风险评估的价值就在于对风险的认识,并对风险进行准确评价,从而采取相应的解决措施,将风险降至可接受的水平,实现组织的业务目标。
微信公众号:计算机与网络安全
ID:Computer-network