前言

任何企业对投资都有回报的要求,回报可能是直接的「利润」,达到短期、长期的目标,或者通过投资减少损失。因此每个项目的决策者在每笔投资前都要衡量 ROI,证明该投资能达到的效果和收益,以便在项目结束时可以考核和衡量项目是否成功。

同时通过 ROI 的分析为下一笔预算请求,提供支持性的证据。不过信息安全投资的 ROI 分析,对每个决策者都是很艰难的事情。因为安全投资对大多数企业来说,并不能带来非常直接的收益和利润。

本文主要目的就是和决策者进行讨论,希望通过一些简单的工具和最佳实践,简化 ROI 评估,为决策者在进行信息安全投资时,提供一些决策依据。当然现在信息系统多种多样,各种软件和系统差异性非常大,单一通过简单的工具无法覆盖所有的可能性,但笔者相信这是一个非常有益的探索。

基本概念介绍

ROI:在任何企业或者个人投资,都是通过项目结束后对投资的效果和收益进行评估投资效果,在金融上来讲叫做投资回报率(ROI)。ROI 通常是通过如下的公式来计算的: ROI = (收入- 投资总额) / 投资总额×100%。

举个例子,张三负责投资项目,他和老板申请了2000元的启动资金,张三和老板约定收入五五分成,项目结束后总共收入10000元,老板得到5000元,投资回报率计算如下 (5000 - 2000) / 2000 = 150%

安全投资回报率(ROSI):ROI 适用于所有投资,安全投资也不例外,安全投资决策者也需要知道信息安全投资的底线在哪里,哪些地方进行安全投资是收益最高的,哪些安全产品是投资回报率最高的。在信息安全投资领域,ROSI 能给决策者提供定量的指标:

  • 是否对信息安全投资过度,造成浪费
  • 信息安全缺乏是否会对企业收益造成影响
  • 安全投资到什么程度就够了
  • 什么安全产品或者方案对企业有利

安全投资的一些困惑:传统的投资回报率计算方式并不十分适合信息安全投资,安全投资并不能带来利润,它通常是防止公司财产损失,换句话说就是投资安全不要期望有利润回报。因此计算信息安全投资回报率应该计算通过安全投资避免了多少损失。

在安全层面,企业如何获得更好的投资回报率 ROI? 技术分享 第1张

安全成本效益示意图

ROSI 计算方法论

因此计算 ROSI 首先要能够评估一项安全投资能避免什么样潜在的安全风险(风险评估),然后根据定量的方法将这些风险带来的损失,转换成可以衡量的货币价值。

风险评估的基本概念

任何评估都是将大的任务分成可以度量的小单元,风险评估也是如此,安全风险可以分成以下几个部分:

  • 单一预期损失(SLE):就是一项网络攻击发生时预期会造成的损失,这里单指这项攻击发生一次产生的损失。网络威胁的特殊性,在计算损失时相对比较复杂,比如一台笔记本丢了,不管要计算笔记本的价值,还应该加上购买成本,IT 支持,生产力的损失,声誉,知识产权损失等等。

    网络攻击事件的总成本应包括直接损失的成本(网站停机时间、硬件更换、数据丢失更换等)和间接损失成本(调查时间、声誉损失、对图像的影响等)

    关于如何计算网络攻击对企业的具体损失,没有统一的标准,具体的计算取决于企业的经营目标、文化价值观和现有的安全措施等。还是用被偷的笔记本来说,对普通公司普通员工没有什么机密在里面,损失也就是买机器的4000块钱,但对于保密单位的电脑就可能损失一万块,甚至如果是知识产权,核心机密损失就无可估量。虽然计算损失的方式依赖的条件多种多样,但是统一的计算方式还是非常重要的。

  • 网络威胁在一年中发生的概率(ARO):就是某种网络威胁在一年中可能发生的概率和次数,这种评估也是根据具体的网络环境和安全保护措施,也是根据经验得出的一个估计得值。

例如洪水发生的概率是根据当地的地质条件和降水情况而定的。安全威胁发生的概率也是根据企业的成熟度,人员的安全意识和技能以及安全防护工具的完备性决定的决定的,比如软件提供商通过严格的安全检验和测试,漏洞很少,那么漏洞攻击发生的概率就小很多。再比如企业在每台机器装上最新反病毒软件,那么被病毒感染的几率就小很多。

  • 每年网络攻击造成的损失(ALE):就是指特定的网络攻击在一年里可能给公司或者组织造成的潜在损失,计算公式:ALE = ARO * SLE
ROSI 计算

ROSI 主要是综合定量预估的风险损失和部署安全措施的花销。在最后比较ALE和实际通过部署安全措施挽回的损失,根据 ROI,ROSI 的计算公式如下:ROSI = (减少的损失 - 安全措施的花销) / 安全措施的花销。

使用有效的安全措施可以有效的减低 ALE:安全措施越得力,ALE 降低的越多,我们实际的收益就越高,实际的收益就是不使用安全措施的 ALE 和使用安全措施以后的 ALE(用 mALE 表示)之差。ROSI 公式可以改为: ROSI = (ALE - mALE - 安全措施的花销) / 安全措施的花销

还可以通过缓解率来计算,缓解率就是实施某个安全措施后减少攻击的比例,ROSI 公式可以表示为:ROSI = (ALE * 缓解率 - 安全措施的花销) / 安全措施的花销

举个例子:A 公司正在考虑投资一个防病毒解决方案。每年该公司遭受5个病毒攻击(ARO = 5)。该组织估计,在数据和生产力损失的成本每攻击约15000元(SLE = 15000)。实施防病毒解决方案预计将减少80%的攻击(缓解率= 80%),实施成本25000(每年授权费1500 + 10000培训、安装、维护等)。

该解决方案的安全投资回报,可以通过计算如下:(5 * 15000)* 0.8 - 25000 / 25000 = 140% 根据 ROSI 公式计算,这个反病毒解决方案是一个收益率非常不错的解决方案。

总结: ROSI 的计算是基于3个变量:估计潜在损失(ALE),估计风险缓解,和解决方案的实施成本。如果解决方案的成本比较容易预测,所有间接成本都考虑进来,其他两个变量也预估的比较正确,这样 ROSI 就比较好算了。

对 WAF(Web应用防火墙)和 RASP(运行时应用安全自我防护)进行 ROSI 分析

在安全层面,企业如何获得更好的投资回报率 ROI? 技术分享 第2张

根据 Gartner 的分析,80%的攻击都是发生在应用层,应用层安全防护是当前的热点。目前应用安全主要有 WAF 和 RASP 两种解决方案,WAF 是比较成熟的解决方案,RASP 是最近两年出现的新技术,首先对两种技术的特点做简单的介绍,然后从 ROSI 的角度对两种解决方案进行评估。

  • WAF 设置在 Web 应用程序的前方,提前截获发往 Web 应用程序的所有用户请求,并根据预定义规则对其进行评估,查看其输入内容是否可能攻击应用程序。

    要实现这个过程需要进行非常繁琐的配置,而且通常 WAF 会设置「失效开放」开关以避免在高负荷情况下造成大量的误杀以及对性能的过大影响 WAF 转入「失效开放」状态后会放行所有通信流量,不再进行监测,当然也不再为 Web 应用程序提供保护,而这正是 Web 应用程序最需要保护的时候。为使 WAF 在高负荷情况下也能正常工作,需要深入了解 Web 应用程序的哪些输入中存在漏洞,这样才能为这些输入字段采取合适的保护措施。

  • RASP 技术的实现方式则完全不同,它将框架与底层代码库集成在一起,从源代码级别为应用程序中易受攻击的区域提供保护。当客户端发出一个函数调用,而调用中的参数可能会伤害 Web 应用程序时, RASP 会在运行时截取该调用,然后根据具体配置,对该次调用进行记录或阻止。这种保护方法与 WAF 有着本质的区别。

首先考虑成本

根据 WAF 的特点一个企业一般最少需要一台,根据网上价格:1000M 大概在20万左右,一台机器估计能用5年。WAF 配置复杂,专业的管理员大概一年费用在10万(兼职)。 加上每年的服务费,使用 WAF 最低一年20万人民币。

RASP 现在公开报价的 HP 和 OneRASP 一个探针大概一个月800月,一个中型企业大概有20台服务器折后大概在10万元左右,而 RASP 没有复杂的配置由IT管理员兼任就可以,RASP 成本大概是10万元每年。

能减少的损失

WAF 和 RASP 都可以抵御 Web 网络攻击,RASP 具备 WAF 没有的特点,除了 Web 应用程序还可以保护应用程序,不可绕过,没有防御盲点等。所以两者的 ALE 和缓解率基本相同,RASP 略高。

ROSI计算结果

根据 ROSI 计算公式: ROSI = (ALE * 缓解率 - 安全措施的花销) / 安全措施的花销, 在ALE和缓解率基本相等的情况下,RASP 的投资回报率要远高于 WAF。企业安全决策者在选择应用安全防护时不妨考虑一下 RASP,尤其是在安全方面预算有限的企业。RASP 虽然产品化时间较短,但这几年成长速度非常快,在国外 Waratek 和 HP 比较有名,国内现在有 OneRASP

当然在预算比较充裕的情况下,最理想的选择是将 WAF 和 RASP 结合起来使用。对于中小企业来说,RASP 是投资回报率比较高的选择。