来自雾帜智能K2实验室的汪浩博士在XCon上做了《信息安全风险的量化》的报告后,后台收到不少PPT的下载请求。但PPT内容精简,本文是对报告的深入解读。阅读本文大概需要15分钟。
报告的主要内容包括:
1.一种描述安全风险、衡量安全绩效的方式
2.一种处理复杂、不确定问题的计算流程
两个问题
要做的工作很多,优先级怎么定?
我的工作对公司/组织的贡献有多大?
不管你当前是技术骨干,还是管理精英,一定在某个时刻考虑过以上两个问题。不妨想一下你的答案会是什么。
汪浩采访了几位安全领域专家,汇总之后的结论如下:
优先级,可以有以下几个考虑方向:个人经验和积累;看行业最佳实践;找业务了解安全需求;非常重要的合规等等。
贡献则可以从这么几个点来描述:合规没有问题,安全事故减少了,外部发现的漏洞减少了多少,安全能力增加了多少,覆盖了多少风险场景等等。
这说明当前的规划和汇报策略是可行的。那为什么还要讨论别的方式呢?
用钱衡量安全工作
接受采访的几位专家同时提到,安全的上级主管,比如CEO,是认可甚至鼓励现有的规划方式的:就是通过看齐行业最佳实践、满足合规要求等确定优先级;他们也接受现有的安全成绩的汇报方式。安全预算申请时,被以投资回报率这种量化指标来挑战这种事,基本不会发生。这说明当前的规划和汇报策略是可行的。
那为什么还要讨论新的方式呢?因为用钱讨论问题,在易于理解这一点上,有不言自明的优势:其他团队能理解,领导也能看懂。此外,就像我们将要看到的,以钱量化安全成绩,有望解决安全工作“做不好会减分,做好不加分”,这个我们一直认为是安全职业属性的难题。
但很可能你也曾或多或少琢磨过,甚至是亲身实践过化安全风险的量化。事实上,学界相关的研究一直就没有断过——攻击图(attackgraph)有至少20年的历史;新一些的如贝叶斯攻击图、博弈论讨论内鬼作案可能性等等,不可谓不先进。但似乎并没听说过基于这些技术的风险量化方案落地案例。为什么?
业务部门用钱描述成绩,是因为它的KPI是实际发生的,简单汇总即可,用到的技术主要有:加、减、乘——可能都用不到除法!但安全面对的是不确定性,是不断变化的攻击面,这些简单工具显然不够用。但太复杂而玄妙的,做出来可能自己也难以相信,也就很难持续。
概括来说,把安全风险和成绩换成钱,有以下三个困难:
1.不确定:会不会被攻击?攻击会不会成功?攻击成功会不会造成实际损失?
2.太复杂:最典型的——数据泄露被媒体报道,声誉损失要怎么算?
3.数据少:重大事件原本就少,被攻击的公司又通常不会公开
他山之石
要想把安全风险就换成钱,而且让别人认可,我们必须能够克服以上这三个困难。逐个看下来,我们会发现在其他领域已经有成熟的,或者行之有效的解决方案了:
1.用概率工具和风险管理语言,解决不确定性困难。金融行业,比如保险,会面对很多不确定的问题。像地震、奥运会举办延期,都非常罕见。但客户出险,保险公司作出赔偿,不会因此就认为精算师工作做的不好。因为风险经过了量化,这样的结果在预测之内。企业风险治理是另一个处理不确定的领域。在这类包含不确定性的领域,人们使用概率、数值模拟来描述这些不确定性。除了钱之外,CEO们也精通企业风险治理,这意味着用类似的语言跟他们沟通,效果更有保障。
2.分类分解,解决复杂性困难。这方面,像麦肯锡这类咨询公司比较有经验。把问题或者主题,按照统一的方式,分解成几个小问题。每个小问题比较容易解决。金字塔原则,零秒思考之类名词,都是在讲怎样高效率地把复杂、没有头绪的事情系统地拆解为可解决的问题。
3.提取专家经验,解决数据少的困难。把领域专家经验作为数值给挖掘、提取出来,可能是质量很高的数据。人们平时很少用数字去思考,但能安全的在马路上穿行,说明了大脑中各种信息的有效性。这涉及认知科学,得从相关文献里找工具。但也有咨询公司做过不少尝试,效果可能超出你我预期。
如果你碰巧对以上几个方面都有研究,可以尝试把它们组合起来,应用到安全领域,设计一个安全风险量化方案出来。但现在有一个现成的——已经有人组合了这么一套框架出来,对自己搭框架也会有借鉴意义。
FAIR
这个框架叫做“信息风险因子分析”,简称FAIR。
目前在美国,FAIR可能是应用最广的信息安全风险量化框架:
FAIR学院的成员遍布Netflix,惠普等超过45%的美国财富1000企业;NASA、美国能源部等政府部门使用FAIR量化风险;IBM有一个知名的年度数据泄露损失报告,2021年版使用FAIR来量化数据泄露的损失;NIST2021年报告《将安全与企业风险管理整合》建议以FAIR作为量化安全风险的手段;FAIR被TheOpenGroup收录,是目前安全风险量化唯一的国际标准。
Figure1IBM数据泄露报告2021以FAIR量化风险
可以看到,FAIR至少是在部分组织里被接受、并实际使用的。虽然FAIR执行起来需要费些脑筋,但能够被众多公司和机构接受,来替代简单易行的最佳实践、风险矩阵,应该是因为FAIR做了某些虽然麻烦、但是正确的事情。
案例:一个有问题的分析
勒索攻击最近两年已经成为最受关注的信息安全威胁。一个电商公司想要知道自己遭受勒索攻击的风险。
先看一下一个过于简单的量化是怎么做的:
1.提出问题:公司被勒索攻击的风险?
2.风险分析:安全专家判断:损失频率0.01-0.1次/年,最可能是0.01次/年;经过内部讨论,认为损失大小100万-1000万,最可能是在200万上下
3.汇报结果:1万-100万/年,最可能是20万。
从问题到求解,因为在如下几个细节处没有合理进行处理,使得它实际上没法用。
问题模糊——
今天要想执行一次成功的勒索攻击可能是要费些功夫的,如果目标有备份,那么连同备份服务器一起加密才能勒索成功。根据自己公司的情况,对手是小黑客,还是有组织的、用到了“勒索即服务”(RaaS)的团伙?两者造成的损失发生率不同,单次损失差别可能也比较大。混在一起分析,不会有可信的结果。所以,把一个受关注的风险,拆分成几个明确的场景是关键的第一步。比方说,简单分析之后,结合自己公司的实际,你发现小黑客的风险可以忽略,把这个结论记下来;然后进一步把勒索团伙作案的勒索攻击方法,拆分为“通过钓鱼邮件入侵内网”,“通过远程桌面暴力破解管理员密码入侵内网”两种场景;这两种的发生频率可能不同,但单次造成的损失应该是一样的。
问题模糊是困难2里的一个原因,FAIR这个框架的第一步是明确场景,降低复杂度。
数值由来不清楚——
这个量化方案中,把损失拆解为损失频率和发生次数,这是没问题的。但损失频率是怎么定出来的?单次损失大小是怎么定出来的?有什么道理吗?要想对一类事件发生之后涉及的损失大小有全面了解,需要多个部门的信息。安全部自己定的损失,很难经得住推敲。
FAIR对这个问题的解决方法是因子分解和引入领域专家。因素分解体现为如下一棵树形数据结构。我们大概描述一下,风险=损失发生率*单次损失大小——这个很自然吧?如果损失发生频率不好估计,可以进一步拆分为威胁发生率和脆弱程度,如此细分下去——图里的每一个节点的定义,都是FAIR这个框架的一部分。但在计算一个风险时,我们通常只会到第二、三层。以笔者的理解,层数越少越好,如果能直接估计损失发生率,就不要继续拆分——因为越向下细分,离真实、可验证的数据越远。
加密矿企Core Scientific起诉Celsius,要求支付逾期账单:10月22日消息,根据提交的法庭文件,矿业公司Core Scientific指控加密贷款机构Celsius自申请第11章破产保护以来拒绝支付账单,Core称付款违约正在威胁其金融稳定。根据该文件,Celsius在今年8月、9月共计欠款2,104,683.28美元。Core每天继续损失约53,000 美元,以支付Celsius拒绝支付申请后增加的电费。
在法庭文件中,Celsius称Core Scientific延迟了挖矿设备的部署,并为他们提供的电力少于合同规定。Celsius正寻求法院裁定Core藐视法庭,并要求其履行义务;同时,Core请求法院强制Celsius支付逾期账单或允许其履行合约。Celsius要么需要遵守合约,要么Core和Celsius必须在Celsius导致另一个商业伙伴(Core)进入破产程序之前终止他们的关系。
Celsius和Core之间的纠纷定于下个月由美国破产法 Martin Glenn举行听证会。(Cointelegraph)[2022/10/22 16:35:13]
Figure2FAIR因素分解示意图
对于用到的节点,如果数据充分,我们可以直接用,这是理想状态。但前面提到的困难3,仅有的还可能不准确。比如勒索,同行业有很多公司,但实际中了勒索可能很少;选择公开的会更少。这时候专家经验就会发挥作用,但需要把准确的信息提取出来。
另外,上述提到损失会有多种。在对已知事件的归纳总结基础上,FAIR把损失类型分为六种,从而任何事件,按照这六种逐个分析就可以。
(1)生产力:典型的像可用性受到破坏,业务中断或降级,都会影响营收
(2)响应:发生安全事件,安全团队,业务、HR、客服、公关部门都可能要出人手应对。在此期间,这些人无法进行日常工作,构成响应费用
(3)替换:员工因恶意泄露信息被开除,需要新招聘员工
(4)竞争优势:核心数据泄露,并购信息泄露等,造成竞争中的被动
(5)法律处罚:比如数据泄露被罚款
(6)声誉:股价下跌;融资成本上升;员工留存或招聘的成本上升等
现在你只需要相信,任何损失都可以不重也不漏地分解为这六种形式就好了。换句话说,按照这六个方向思考,可以把可能出现的损失都算进来。
把损失分解开之后,就可以进行数据采集了。如果有公司自身的历史数据最好,否则就需要借助专家经验,这是为什么需要安全同HR、法务、业务各领域专家充分沟通。比如HR专家几乎一定听说甚至参与过员工违规事件的处理,对这方面的损失有更合理的预期。FAIR将专家估计等同于数据,因此如何将专家的估计提取为数字显得至关重要,稍后我们会详细介绍方法。
总结一下,这里涉及的困难是损失分析起来涉及方面太多,以及数据太少,而FAIR的对策是因素分解,以及引入相关领域专家。另外需要注意关键一点,在每一个估计结果处做好记录,即为什么这么估计?比如,为什么忽略小黑客们勒索的威胁?
这样,因为有明确的场景,每个分解都对应着确切的概念,数据采集过程有详细记录,同时估计结果由利益相关方的专家给出,结果就能经得住挑战和复盘。
然后我们继续分析前述过于简单量化方案中的第三个问题。
Figure3一个过于简单、问题多多的量化流程
结果汇总——
这里并没有明显的问题。实际计算中,因为每个场景对应多类可能损失,各损失对应的风险值也都以一定的形式弥散在某个范围内。将随机变量整合起来,没有简单的解析办法。
Figure4FAIR的量化流程
FAIR使用数值模拟来进行结果汇总。这是一个在金融和科研中常用的手段,也应该是惟一的办法。除了能够解决多个风险相加的问题,它得到的是一个完整的风险分布,基于它可以很方便地得到以不同方式呈现的风险。比如损失曲线(lossexceedancecurve;图5);风险矩阵,甚至是散点图等。这一步有开源工具可以直接使用,只需要输入各个范围,就可以自动算出风险,甚至自动生成风险报告。
Figure5损失曲线
Figure6风险矩阵
Figure7模拟结果
以上通过一个反面案例,把FAIR的流程梳理了一遍。虽然看似复杂,但当分析的风险增多,你会发现有很多数据可以复用。客服的人时费用、工程师开会的人时费用、替换工程师的损失等数据,短时间内可以认为是常数;一次获取后,可以用在很多有场景内。另外,每个场景的FAIR风险分析,半年或者一年做一次就可以。
专家知识的挖掘
报告把FAIR流程中的一个重要但人们接受起来有困难的问题,单独做了讲解。
前面提到,提取专家知识,是为了解决量化困难3。FAIR在计算中将专家估计与数据同等对待。也因此专家估计的准确性,决定了最后结果的准确性;如果专家估计不可信,那么前面这一切从一开始就不用做了。
坏消息,是我们的主观估计通常来说是不准的。好消息,是它可以被“校准”。为此,报告中设计了一个互动环节,结果堪称完美:参与答题的观众中,100%改进了估计准确度;其中更有超过40%可以认为校准至准确——通常人的估计能力是需要经过多轮校准才能达到准确的。读者不妨也试一下。
第一次估计
写出以下问题的答案。它们并不容易;但不知道准确答案没关系,只需要给一个范围即可。要求是你有90%的把握,正确答案在你给的范围里。这些问题乍看起来和安全没关系,反倒像是个无聊游戏。但只要花几分钟试一下,你会发现这种能力是可以应用到包括安全在内的所有认知领域的。现在开始。
1.天安门城楼最高处有多高?
2.北京到上海的空中距离?
3.朱自清先生《背影》的写作时间?
4.第五套人民币100块钱的长边长度?
5.第五套人民币100块钱的短边长度?
6.XCON会场的经度是多少?
7.XCON会场的纬度是多少?
8.中国有多少地级市?
9.乒乓球台有多宽?
10.诸葛亮哪一年去世?
强调一下,只要你有90%的把握,正确答案在你给的范围里就好,比方说10m-20m。这里面可能有的问题你不清楚,甚至感觉完全没概念。不要担心。我们练习的目标之一,正是从“没概念、不知道”,到能够给出答案,并且是准确的答案。为了见证这个变化,对每一个问题,你务必要给一个范围,不确定的话,范围可以取大一些。最关键的是有勇气,不放弃!
Figure8一个90%中奖率的转盘抽奖
校准及第二次估计
现在我们一起对大脑的“估计系统”进行一次校准。有耐心读到这里各位读者,一定都是业界精英,对玄学和忽悠也会比较敏感。但你要相信,接下来的内容有理论依据,且经过了实践的验证。请暂时忽略头脑中嘀嘀作响的告警信号。
首先,刚才题意是说,你有90%把握,正确答案落在你给出的范围以内。这意味着,对于每一道题有90%的可能性你答对了。现在我们给答题加上一个赢钱的设定如果你答对了这道题,就会赢一万块钱。因此对于每一道题,你应该有90%的概率赢1万块钱,否则就没钱。
Ok,没有问题的话,先把这个游戏放一边。
来想象另一个游戏,转盘抽奖。这是一个饼状图,小的这个部分占10%,其余的占90%,注意,这里的刻度是准确的。12点位置有一个固定的指针。主持人拨一下转盘让它转起来,如果指针最终指向绿色区域,就是大的区域,你就会赢得1万块钱,如果指针停在这块小的蓝色区域,就没有钱。那么你赢的概率有多大?
——这不是脑筋急转弯,概率也是90%。
现在,对于每一个问题,请你在“回答问题赢奖金”和“转盘抽奖”之间选择一个游戏。两个游戏的赢钱概率理论上都是90%,你会选择玩哪个?
如果是更倾向于玩转盘游戏,那意味着你现在认为,自己所给的范围并没有90%的正确把握,就请调整下你的答案范围。直到你觉得这俩游戏的胜率差不多,随便选哪个玩都行。然后写在第二列。如果更倾向于玩第一个游戏,也是一样;你的大脑认为,自己所给的范围太大了,那就缩小一下范围。直到你觉得玩哪个游戏都一样。
在公众号留言“答案”即可获取十个问题的正确答案。然后统计下两次估计的结果。你分别答对了几道题?也可以在文后留言告诉我们。
对原理的讨论
我们完全没有概念的东西可能非常少。至少比我们所认为的少——我们只是从来没有用明确的数字去描述一个东西,但相关信息大脑已经编码好。要提取这个编码,我们需要用到一些认知科学的结论。人类的大脑有如下两个特点:
(1)过度自信。所以才会发生“大多数司机认为自己驾驶水平高于中间水平”的事情;
(2)损失厌恶。一个“可能赢100,也可能亏100”的游戏,大部分人不会去玩。因为虽然平均来看不赢不输,但损失100块钱的痛苦大于赢得100块钱的快乐,即情绪的平均值是负的;
第一次答案,我们给的范围往往偏小;这其中部分原因是过度自信。另一个原因,则是我们更习惯给一个确切的数,即不自觉地追求“精确”(accurate)。但对于决策,准确很重要——你可以给一个对但模糊的范围,这样结果可能也会模糊,但最多也就是对决策用处不大而已;但给一个精确到小数点后三位的错误数值,一定会误导决策。我们需要有意识地在精确和准确之间做平衡。
第二次答案中,我们加入了赢钱设定。虽然我们知道是假设,但大脑的损失厌恶能力已经激活。即便不用转盘做辅助,准确率也会提高——我们得以用大脑的一个缺陷去对抗另一个缺陷,完成对大脑中信息的准确提取。最后,转盘图像可以调动视觉功能来纠正大脑对90%认知的可能的偏差。
参考资料:
1.Hubbard,D.W.,&Seiersen,R.(2016).Howtomeasureanythingincybersecurityrisk.
2.Freund,J.,&Jones,J.(2015).Measuringandmanaginginformationrisk.
3.张威等(2021).CISO进阶之路:从安全工程师到首席安全官
4.NIST.(2021).IdentifyingandEstimatingCybersecurityRiskforEnterpriseRiskManagement.NationalInstituteofStandardsandTechnology,8286A,55.
5.IBMCorporation.(2021).CostofaDataBreachReport2021.IBMSecurity,1–73.
备注:
如果你对严谨性要求比较高,认为专家估计不能用于计算。下面是一个论证,说明专家估计和测量在表现上没有本质区别。比如,我们所有人都是估计别人身高的专家。所以你看到我的时候,可能会估计我在1.65-1.85米之间,而且最可能是在1.75上下之类。或者是一个更小的范围。写出来就是1.75m+-10cm。注意,这跟拿一个尺子量在形式上是不能区分的:我们从初中物理学过,每次测量都有误差,所以需要多次测量,最后的测量结果类似1.76m+-2cm。因此经过校准的专家估计也是一个测量系统,只是有可能精度不高。
在雾帜智能公众号留言“答案”即可获取文中问题的正确答案
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。