与传统的业务连续性计划和灾难恢复相比,混沌工程是一种更好的方法,可以测试当今复杂的企业安全计划的弹性。
越来越多的采用混沌工程的公司不仅为团队配备了一系列强大的检测技术和工具,而且还开始在安全组织之间转移观念。
“混沌工程学是在系统上进行实验的学科,目的是建立对系统承受生产中动荡环境能力的信心。”
-混沌工程原理
包括首席信息安全官(CISO)在内的安全领导者面临挑战,要求不断证明自己在公司价值流中的作用,作为提高安全性的一部分。为此,越来越多的安全组织正在转向一种更加“应用的安全模式”,从而导致许多组织重新考虑我们的传统做法,并质疑它们在当今高速,软件驱动的世界中的有效性。
以下是为什么混乱工程对于当今的安全领导者来说必不可少的五个原因。
1.混沌工程使业务连续性计划和灾难恢复成为现实。
业务连续性计划(BCP)和灾难恢复(DR)的概念已经存在了数十年,以确保业务可以在不可预见的事件或故障(例如自然灾害或紧急情况)下继续运营。
BCP和DR考虑了可能破坏业务运营的四个因素:
设施或地区的损失
技术损失
资源损失
失去重要的第三方供应商
随着世界继续向云进军,BCP和DR提出了一系列不同的机遇和挑战。许多公司以一种可以确定或可预测的结果的方式来设置测试。本质上控制测试以确保合理或理想的结果。实际上,当发生停电,事件和灾难时,它们从来都不是很体贴的,实际上,几乎总是超出规定的范围之内。
混沌工程因其具有挑衅性的名称而经常给仍在学习它的人们带来震撼。它的目标不是在系统内造成混乱或引入故障,而应在故障影响业务运营之前主动识别,理解和修复故障。重要的是要记住,在中断或事件期间,DR几乎不受控制。在我们正确,客观地测试灾难或中断之前,知道灾难或中断的结果的想法永远不会满足企业的需求。采用关于应该如何进行练习的心态,而不是使用它们来围绕系统和安全功能如何构建学习文化。
在当今快速发展的世界中,几乎所有产品,服务和公司都围绕技术发展。我们非常依赖这些服务,以便在需要时可用。如何构建,操作和保护这些技术很复杂。由于更好的交付模型(例如敏捷,DevOps和云计算),产品工程团队可以交付成千上万的新功能,特性和修复。BCP / DR实践如何演变以满足这些新交付模型的需求?
在软件驱动一切的世界中,半年度或年度合规性检查表或桌面练习是不够的。构建关键产品和服务的方式变得非常具有挑战性,因为从未构建过如此大规模,松散耦合,快速变化,价值创造或快速推向市场的系统。这些复杂的自适应系统具有价值,但必须开始对过时的方法(例如BCP / DR)进行不同的思考,以解决问题。
混沌工程学的最佳特性之一是,它为业务连续性和灾难恢复提供了更为经验的方法,这与面临的挑战有关。站点可靠性工程(SRE)做法和混乱工程对于影响业务运营连续性的真实事件(而不是极端和极不可能的灾难场景)更为实用,而侧重于影响业务连续性和恢复的微事件类型每天,例如关键微服务中的数据损坏,基础设施缺乏弹性以及网络连接脆弱。混沌工程技术借助基于实验的方法,帮助组织从容应对系统行为,从而优雅地融入学习文化。
2.混沌工程可以提高对风险的理解。
风险是业务运营不可或缺的组成部分,适当地进行导航可以创造成功的结果。 安全活动(例如审核调查,漏洞扫描,威胁建模和事件响应)通过提供反馈循环来确定风险是持久的,不受管理的还是实质性的。 已确定的风险将根据既定标准进行评估,以提供严重程度的度量。 这种度量以及对风险的全面审查,使公司可以将风险分类到其“风险登记册”中,并采取措施进行补救或管理。
这些活动有什么共同点?它们都是反应性的,通常在故障发生后会很好地体现出来。此外,其中大多数是由人员,技术和过程的层次抽象的,这些层次与理解问题根源的距离越来越远。可能最了解系统的人是每天负责构建和操作该系统的人。上述活动通常由安全性较高的人员执行,并且通常需要“专家系统”或“专有领域知识”。无论使用什么系统,工具和审查过程,事实都仍然存在,在这种模型中,安全性几乎总是从抽象的上下文意义上进行的。
由于混乱工程是一种实验方法,而不是以测试为中心的方法,因此它提供了在同一实验中主动检测系统及其安全措施的好处。最后,系统的所有组件(包括其安全性和负责该系统的人员)共同需要发挥最佳功能,以实现弹性。没有系统具有固有的安全性;人类以这种方式制造它们。混沌工程学的目标不仅仅是验证已经知道是对还是错的事物,而是要获得新的信息和见解。
来考虑一下主动中断或安全事件是如何开始的,发生事件时的心态以及我们采用的安全措施。在活动事件或中断期间,很少有人进行全面,深入的分析来确定事件发生前安全措施的有效性。相反,主要重点是恢复服务的操作完整性和运行状况,以重新建立业务操作的连续性。
预防措施:将无法知道预防性安全措施的有效性,直到它们生效为止,并且为时已晚。
侦查措施:侦查措施(或其他系统可观察性功能,例如监视,警报,日志记录和跟踪)是不断进行评估和改进的良好事件管理的基石。侦查措施的许多问题之一是,在活跃的作战室中,没有时间也没有能力梳理错误日志和警报数据并评估每个条目的质量和有效性。大多数时候,特别是在软件方面,很幸运能够检测到任何东西。此外几乎从不认为检测点(这是导致我们旋转作战室的原因)可能是在缺乏对其他系统问题的可见性和意识的区域中发生的一系列下游故障。最后,几乎很难确定工具,团队,技能,资源等在彼此之间甚至很难比较主观安全事件之间进行比较时的效率。
纠正性更改:在活动事件作战室中,最令人惊讶的行为之一是,通常会在识别每个人“思考”问题的时间或数分钟之内观察到系统中发生的实质性或关键性变化。具有讽刺意味的(根据我们的经验)是,这些更改原本可以阻止问题发生。当事件响应团队和值班工程师不知道进行更改所需的环境时,他们是否应该在最后一刻的消防演习条件下进行重大更改?关键是经常在出现故障的情况下在错误的条件下做正确的事情。混沌工程可以是一种主动的测量工具,可以帮助团队进一步了解在不影响客户的情况下不进行此类更改的含义。
CISO可以使用混乱的工程,尤其是游戏日练习,以邀请其工程团队就数据驱动的安全风险管理进行跨学科的讨论。这些技术还有助于建立同理心,消除障碍并提高有关团队工作如何为企业的安全性做出贡献的透明度。
3.混沌工程将安全工程和自动化带回价值流。
作为通向混沌工程的旅程的一部分,对于安全团队来说,积极参与混沌工程实验和游戏日可能是非常有价值的。混沌工程作为一门学科的一部分是在思想上调整我们认为系统的工作方式与现实中的工作方式。这些活动是打破障碍并推动人们对系统如何失败的共识。作为工程师,我们倾向于以与软件相同的方式简化和抽象人员。也就是说,我们经常虚假地表达彼此的动机,偏见,意图和同情心。
此外,创建和执行混乱的实验可以帮助安全团队发现其他缺陷和问题,这些缺陷和问题可以为工程团队提供更好的环境和明确定义的问题来解决。安全组织内的不同成员和角色应参加这些练习,因为从不同角色获得看法和观点可以通过改善环境,从失败中学习和建立透明的工作关系来增加指数价值。
最后,安全团队将有机会更好地了解他们保护的事物并确定可为价值流做出切实贡献的领域。混沌工程不仅仅是另一种过程方法论或工具集。这是一种观念转变。
4.混沌工程可以改善事件响应。
尽管有最好的意图和过去的成就,但是安全事件的性质是主观的。无论花了多少钱或采取了什么预防措施,事件仍然会发生。永远不会事先确切知道它将如何发生,由谁去做,何时去做,或者为什么要去做。仅在事后才发现此信息。
如果没有现成的事件并且您不在24x7的作战室中,有可能如何确定您为这类情况做好的准备?当难以隔离和比较完全不同的事件时,如何知道自己是否真的真正在应对安全事件方面做得更好?当难以比较类似事件时,很难确定团队技能,程序和工具的有效程度。
我们认为,了解这个主观世界的唯一方法是通过引入受控信号来客观地面对它。如果要通过向程序中注入事件来引入客观的,受控的信号,则可以衡量诸如团队在不同类型的事件上的表现如何,技术的有效性,运行手册如何保持一致,安全事件流程的表现如何等情况。可以了解事件何时开始,并在不同时间段甚至不同团队中衡量,跟踪和比较结果,以更好地了解攻击准备情况。
据我们所知,混乱工程是在可用性和安全性事件发生之前对其进行检测的唯一主动机制。安全混乱工程使团队能够在破坏业务成果之前主动,安全地发现系统漏洞。测试和实验是不同的:测试是对已知的某些东西(例如CVE,攻击模式或签名)的验证或确认,而实验则试图获得以前未知的信息。
现实情况是,人们在停电或事故期间的操作方式有所不同。此外,团队更可能对未灭火时导致失败的原因保持开放的态度。精神焦点和运营动能发生了根本性变化,驱使团队扑灭大火,而不是对造成事故的根本原因进行彻底检查。
5.混沌工程改进了应用程序安全日志记录和监视。
许多组织正在安全日志记录和监视平台上进行安全混乱试验。重点主要放在提高安全日志记录和监视工具收集,利用和警告的信息的价值上。仅仅因为正在收集数据并不意味着数据是有价值的。发生事件或攻击时,对价值的真正判断是具有适当水平的可见性和意识。使用安全混乱实验,如以下示例所示,可以主动发现可见性方面的差距,提高日志质量,并增加攻击面的上下文。
安全混乱实验
假设:“如果关键业务应用程序中的一项微服务停止了日志记录,那么将立即检测到该事件并在30分钟的时间内实例化日志流。”
暂停和反思:在这个实验中,请诚实地问自己,当单个微服务停止记录时,是否能够立即检测到。根据经验,大多数组织都会通过日志量不足来检测到该事件,但是单个微服务是否会导致日志量不足的阈值?
为什么这个这么重要?当日志事件停止报告时,在许多情况下,这可能是攻击的预警信号。此外,即使该服务由于系统故障或配置错误而停止了日志记录,事实仍然是现在对该服务的运行状况视而不见。任何人都很难捍卫他们看不见的东西。
结论
CISO的领先安全组织正在努力保护日益复杂和分散的价值流,但是传统方法越来越不足。 混沌工程学提供了一种战略,战术和实践方法来测试企业安全程序的弹性。 从BCP和DR,到重新考虑风险管理程序,推动自动化,改善事件响应以及改善应用程序日志记录和监视,混乱的工程原理可帮助CISO适应不断变化的环境。 通过故意将故障注入他们的安全程序中,混乱的工程悖论使组织免受故障的影响。 因此,在当今复杂的环境中,混沌工程已成为必不可少的商品。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。