作者:Aaron

来源:https://devco.re/blog/2019/10/09/def-strategy/

前言

这篇文章源自于公司今年第一次试办的研讨会 DEVCORE Conference 2019,我们决定另外写成 blog 分享出来,让无法参加的朋友也可以从不同角度重新思考防御策略。

会想在纯技术导向的研讨会中加入策略面的议题,其实跟今年研讨会的主轴「从策略拟定控制,从控制反映意识」有关。如果企业缺乏长远正确的资安策略,除了投入的资源无法达到企业预期的效益、一线资安人员疲于奔命外,管理阶层在资讯不对称的情况下认为投入的资源已经足够安全,最终形成恶性循环,只能在每次资安事故后跟著时下流行选择最夯资安的产品。

理想中的防御策略

而最广为人知的防御策略可能是纵深防御,以不同类型的控制措施 (设备、制度、服务) 减少敌人入侵的可能性、儘量减少单一控制措施失效造成的风险。然而,这个概念有几个需要思考的重点

​ ● 防护边界远大于企业的想像:导致无法掌握企业可能的入侵点。

​ ● 对资安设备认知错误:这让敌人可以绕过资安设备,或是设备没有发挥企业预期的效用。

​ ● 管理程序不够落实:导致控制措施产生新的漏洞,譬如预设密码没有更改,导致 VPN 或网路设备可以直接被存取。

​ ● 忽视重要资产相关性:只将防御资源投注在重要资产本身,而轻忽与其相连的资产。

这一连串的疏忽,可能成为攻击者入侵的路径,就是所谓的瑞士起司模型 (Swiss Cheese Model),因此企业期望透过风险评鑑 (Risk Assessment) 来盘点出可能的疏失,并且在权衡资源下,确保将重心放在高风险需要优先处理的项目。

但我们想聊聊这个工具在实务上有它难以完善之处,以及从攻击者的角度是怎样看待这个拟订防御策略核心工具,我们会针对一下议题依序说明

​ ● 真实风险其实複杂的难以评估

​ ● 现行风险评鑑方式可能的偏差

​ ● 从攻击者的角度改善风险评鑑

​ ● 挑选适合的方法改善风险评鑑

真实的风险其实複杂的难以评鑑

在这裡我们引述 ITGovernance 对于风险评鑑的定义:

Risk Assessment – the process of identifying, analyzing and evaluating risk – is the only way to ensure that the cyber security controls you choose are appropriate to the risks your organization faces.

风险评鑑的精髓在于后半段的确保所选择的控制措施是否适切于企业真正面临的风险,但多数的企业只完成前半段识别、分析及评估风险,导致风险评鑑的成效无法完全发挥;而要达到风险评鑑的精髓,得先了解真实的风险的组成的要素

真实风险 = { 威胁来源、意图、威胁、弱点、机率、相依性、资产价值、控制措施 }

​ ● 威胁来源(Threat Agent):造成威胁或使用弱点的来源个体,例如:组织型犯罪、骇客组织、国家资助犯罪、竞争对手、骇客、内部员工或天灾等。

​ ● 意图(Intent):威胁来源的想达到的目的,例如:取得个人资料、盗取商业机密、破坏企业/个人形象、造成财物损失等。

​ ● 威胁(Threat):达成意图的方式,例如:恶意程式、社交工程、DDoS、利用系统漏洞等。

​ ● 弱点(Vulnerability):指资产能被威胁利用的弱点,例如:漏洞未更新、人员疏忽、组态设定不当、网路区隔配置错误等。

​ ● 机率(Probability):指弱点的易用度或可能发生的机率,例如:CVSS 3.0分数、过去对于某个弱点发生频率的统计等。

​ ● 相依性(Correlation):资产彼此间的关联,例如:网路拓朴、虚拟化的关係、集中派版系统、防毒中控主机等。

​ ● 资产价值(Value):企业认定该资产在 C、I、A 及法律衝击下,所具有的价值,例如:核心系统及资料、一般操作资料、实体设备等。

​ ● 控制措施(Countermeasure):用来降低企业面临风险的措施,例如:资安设备、管理制度、教育训练等。

然而,多数企业在评估企业风险时,为求方便,会将风险评鑑的参数简化成 {弱点、机率、资产价值},忽略了与敌人相关的参数 {威胁来源、意图、威胁、战略价值};接下来的两个例子将说明忽略后造成风险评鑑的偏差,包含了资产价值的轻忽轻忽漏洞利用的可能性

现实风险评鑑可能的偏差

敌人在意的是战略价值而不仅是资产价值

透过风险评鑑可以识别出资产可能面临的风险,并且作为预算或资源投入优先顺序的参考,一般可以分为 3 个优先等级:

  1. 优先处理「高衝击、高机率」 (项次 1、项次 2) 的风险:通常是超出企业可接受风险的威胁,藉由控制措施将风险下降到可接受的程度,这部分通常是企业资源优先或持续投入的重点。
  2. 次之是「高衝击、低机率 」(项次 3、项次 4)的风险:此等级是属于需要持续关注避免升高的风险,如果企业预算仍有馀裕,应该投入的第二个等级。
  3. 最后是「低衝击、低机率 」(项次 5、项次 6)的风险:看起来对企业不会有立即危害,一般不需特别关注或投入资源。
项次 资产名称 价值 威胁 弱点 衝击 机率 风险
1 交易资料 3 蓄意破坏 建筑物管制不足 3 3 27
2 用户个资 3 勒赎软体加密 无法上 patch 3 3 27
3 转帐系统 3 软体失效 遭到 DDoS 攻击 3 2 18
4 核心系统 3 软体失效 维护服务时间过长 3 1 9
5 版本更新系统 3 未经授权存取 横向移动 2 1 6
6 内部差勤系统 1 系统入侵 无法上 patch 1 2 2

然而,对敌人而言,选择欲攻下的滩头堡时,看重的是资产的战略价值,而与资产本身的价值没有必然的关係,如上表项次 6 的内部差勤系统如果是能串接到敌人主要的标的,对他来说就是一个必定会设法取得控制权的资产,而这时可以发现经由简化版的风险评鑑并不容易呈现这个资产所面临的风险。

低估弱点可利用机率

防守方在使用分险评鑑时,另一个问题是无法准确的估计弱点的可利用机率,虽然市面上已经有许多弱点管理软体可以协助,但面对真实攻击时,敌人不会只利用已知的漏洞或是 OWASP TOP10,甚至自行研发 0-day。因此,当企业已经进行一定程度的防护措施后,如果不曾经历资安事故或缺乏正确的认知,往往认为应该不会有这麽厉害的骇客可以突破既有的防护措施,但从历来的资安事故及我们服务的经验告诉我们,其实电影裡面演的都是真的!!

从攻击者的角度改善风险评鑑

很多人以为攻击者的角度指的是漏洞挖掘,其实并不全然。攻击者对于想窃取的资产,也是经过缜密的规划及反~覆~观~察~,他们一样有策略、技法跟工具。而 MITRE ATT&CK 就是一个对于已知攻击策略及技巧具备完整定义及收集的框架,它可以用来协助建立威胁情资 (Threat Intelligence)、改善防守方的侦测及分析、强化模拟敌人及红队演练等,相关的使用方式都在其官网上可以找到,细节我们不在这边介绍。

我们可以将已经发生的资安事故 (Incident) 或红队演练对应到 ATT&CK Enterprise Framework 中,并且评估目前所建置的控制措施是否可以减缓、阻挡或侦测这些技巧。以下图为例,浅绿色方块是红队演练所採用的技巧、红色方块则是资安事故使用的技巧,企业可以同时比对多个资安事故或是红队演练的结果,找出交集的浅黄色区块,即是企业可以优先强化的控制措施或是预算应该投入之处。

这边有个需要特别注意的地方,ATT&CK Enterprise Framework 作为一个验证防守方控制措施的有效性是一个非常好的框架,然而不建议利用这个框架的特定技巧作为限制红队演练的情境,要记得「当使用 ATT&CK 时要注意有其偏差,这可能会将已知的攻击行为优先于未知的攻击行为」,正如同红队演练的精神,是透过无所不用其极的方式找到可以成功的入侵方式,因此我们会建议给予红队演练团队最自由的发挥空间,才能真正找出企业可能的盲点。

Remember any ATT&CK-mapped data has biases:You’re prioritizing known adversary behavior over the unknown. - Katie Nickels, Threat Intelligence Lead @ The MITRE Corporation

挑选适合的方法改善防御策略

那麽在我们了解敌人会使用的策略、技巧之后,企业要如何挑选改善防御策略的方法?理想上,我们建议如果预算许可,这类型的企业至少应该执行一次高强度的红队演练,来全面性的盘点企业面临的威胁,但现实上并非每个企业都有足够的预算。因此,在不同的条件下,可以使用不同的方法来改善防御策略,我们建议可以从以下几个因素进行评估:

​ ● 时间:执行这个方法所需要的时间。

​ ● 成本:利用这个方法需要付出的成本 (包含金钱、名声)。

​ ● 真实性:所採用的方法是否能真实反映现实的威胁。

​ ● 范围:所採用的方法能涵盖范围是否足以代表企业整体状况。

这边我们以风险评鑑、弱点扫描、渗透测试、模拟攻击、红队演练及资安事件作为改善防御策略的方法,而分别就上述六个项目给予相对的分数,并且依照真实性、范围、成本及时间作为排序的优先序(顺序依企业的状况有所不同)。而我们会这样排序的原因是:一个好的方法应该要与真实世界的攻击相仿而且在整个过程上足以发现企业整体资安的状况,最后才是考虑所花费的成本及时间。

方法 真实性 范围 成本 时间
资安事件 5 4 5 5
红队演练 5 4 4 5
模拟攻击 3 5 2 3
渗透测试 3 3 3 3
弱点扫描 2 5 1 2
风险评鑑 1 4 1 1

到这裡,除了资安事件外,大致可以决定要用来协助评估防御策略所应该选择的方法。更重要的是在使用这些方法后,要将结果反馈回风险评鑑中,因为相较于其他方法风险评鑑是一个最简单且广泛的方法,这有助于企业持续将资源投注在重大的风险上。

案例

最后,我们以一个红队演练案例中所发现控制措施的疏漏,来改善企业的风险评鑑方式。同时,我们将入侵的成果对应至 ISO27001:2013 的本文要求及控制项目,这些项目可以视为以攻击者的角度稽核企业的管理制度,更能反映制度的落实情形。

项目 发现 本文/附录
1 核心系统盘点未完整 本文 4.3 决定 ISMS 范围
2 监控范围不足 本文 4.2 关注方之需要与期望
3 不同系统使用相同帐号密码 附录 A.9.4.3 通行码管理系统
4 管理帐号存在密码规则 附录 A.9.4.3 通行码管理系统
5 AD 重大漏洞未修补 附录 A.12.6.1 技术脆弱性管理
6 未限制来源 IP 附录 A.9.4.1 系统存取限制
7 次要网站防护不足 附录 A.14.1.1 资讯安全要求事项分析及规格
8 VPN 网段存取内部系统 附录 A.13.1.3 网路区隔

另外,从演练的结果可以发现下表项次 1 及项次 2 的机率都被证实会发生且位于入侵核心资产的路径上,因此衝击及机率均应该由原本的 2 提升为 3,这导致项次 1 的风险值超过了企业原本设定的可接受风险 (27);另外,儘管在演练结果中清楚的知道项次 2 的内部差勤系统是必然可以成功入侵且间接控制核心资产的系统,其风险值仍远低于企业会进行处理的风险,这正是我们前面所提到低估战略价值的问题,因此我们会建议,在红队演练路径上可以获得核心资产的风险项目,都应该视为不可接受风险来进行处理

项次 资产名称 价值 威胁 弱点 衝击 机率 风险
1 版本更新系统 3 未经授权存取 横向移动 3 3 27
2 内部差勤系统 1 系统入侵 无法上 patch 3 3 9

最后,引用 Shaolin 在研讨会上的结语

红队演练的精髓不是在告诉你有多脆弱,在于真正坏人闯入时你可以独当一面挡下。

希望各位都能找到可以持续改善防御策略的方法,让企业的环境更加安全。