安全始终在变化,并且失败总是存在。
这种有害的局面需要我们以全新的视角来看待运营安全。我们必须认识到,我们常常是我们自身安全缺陷的主要原因。行业通常孤立地或作为单独的问题来看待网络安全和失败。我们认为,我们对自身安全控制失败缺乏洞察力和运营情报,是导致安全事件以及随之而来的数据泄露的最常见原因之一。
“七次跌倒,八次站起。” — 日本谚语
简单的事实是“人非圣贤,孰能无过”,而人类的成功直接来源于他们遇到的失败。他们的失败率、失败方式以及他们首先理解自己失败的能力是成功的重要基石。我们通过失败学习的能力是我们构建的系统、我们操作它们的方式以及我们用来保护它们的安全所固有的。然而,在如何处理预防性安全措施方面一直缺乏关注,而焦点已转向不断演变的攻击形势以及购买或构建新解决方案的需求。
安全支出持续上升,安全事件也随之增加
我们在新的信息安全技术上花费数十亿美元,但是,我们很少积极地审视这些安全投资是否如预期般有效。这导致安全支出持续增加,用于购买新的解决方案以跟上不断演变的攻击。
尽管在安全方面投入更多,但各行各业的数据泄露事件持续扩大且更加频繁。我们在这条“领先于攻击者”的战略道路上走得太快,以至于没有考虑到我们可能是自身灭亡的主要原因。为什么我们构建了越来越多的安全措施,但问题似乎却在恶化?此外,过去一年中许多引人注目的数据泄露事件并非由高级民族国家或间谍与间谍之间的恶意高级持续性威胁 (APT) 造成;相反,这些事件的主要原因是实施不完整、配置错误、设计缺陷以及缺乏监督。
2017 年 Ponemon 数据泄露成本研究将数据泄露的根本原因分为三个方面:恶意或犯罪攻击、人为因素或错误以及系统故障,包括 IT 和业务流程故障。在这三个类别中,恶意或犯罪攻击占比最大 (47%),其次是人为错误 (28%) 和系统故障 (25%)。网络安全供应商历来专注于恶意的数据泄露根本原因,因为它是最大的单一原因,但人为错误和系统故障加起来占 53%,在总体问题中占更大的份额。
通常不被理解的是,无论是由于缺乏洞察力、报告还是分析,恶意或犯罪攻击通常之所以成功,都是由于人为错误和系统故障。人为错误和系统故障,从根本上说,都是故障存在的首要标志。无论是 IT 系统故障、流程故障还是人为造成的故障,都引出了一个问题:“我们是否应该专注于寻找一种方法来识别、理解和解决我们的故障?” 毕竟,预测下一次恶意攻击可能是一项艰巨的任务,这通常需要投入时间来筛选威胁情报、挖掘取证数据或处理充满未知因素和未确定动机的威胁源。故障检测、识别和修复主要由我们已知、有能力测试和可以衡量的事物组成。
我们可以分析的故障不仅包括 IT、业务和一般人为因素,还包括我们设计、构建、实施、配置、操作、观察和管理安全控制的方式。是人们在设计、构建、监控和管理我们为防御恶意攻击者而部署的安全控制。我们多久主动检测我们设计、构建和运营管理的内容,以确定控制是否失效?大多数组织直到安全事件由该故障引起时才发现他们的安全控制失效。在凌晨 3 点的安全事件期间发现您的安全投资失败是最糟糕的时刻。
安全事件不是侦查措施,当涉及到运营有效的安全控制时,希望不是一种策略。
我们假设,大部分数据泄露并非由复杂的民族国家行为者或黑客活动分子造成,而是由根植于人为错误和系统故障的简单事物造成。安全控制中的故障可能源于控制位置不当、技术配置错误、覆盖范围存在差距、测试实践不足、人为错误以及许多其他因素。
安全混沌测试之旅
我们对安全混沌测试这一新领域的探索转变了我们对许多引人注目的安全事件和数据泄露根本原因的看法。
我们由 Bruce Wong 撮合在一起,他现在与本文作者之一 Charles 一起在 Stitch Fix 工作。在加入 Stitch Fix 之前,Bruce 是 Netflix 混沌工程和系统可靠性工程 (SRE) 实践的创始人之一,该公司通常被认为是该领域的奠基者。Bruce 通过开源 ChaoSlingr 安全混沌测试工具项目了解到了本文的另一位作者 Aaron,Aaron 是该项目的贡献者。Aaron 对 Bruce 关于将混沌工程应用于网络安全的想法的看法很感兴趣,这促使 Bruce 将我们联系起来,分享我们一直在做的事情。作为安全从业人员,我们都被混沌工程的想法所吸引,并且都开始思考这种新的检测方法可能在网络安全中发挥作用。
在很短的时间内,我们开始完善彼此关于测试和验证安全能力的想法,我们统称之为“安全混沌工程”。我们直接挑战了我们在职业生涯中一直依赖的许多概念,例如补偿性安全控制、纵深防御以及如何设计预防性安全。我们很快意识到,我们需要挑战现状“一劳永逸”的模式,而是执行安全能力的持续检测和验证。
企业通常不完全了解其安全能力和控制是否按预期运行,直到它们失效为止。在我们整个职业生涯中,我们都一直在努力提供超出简单正常运行时间指标的安全控制衡量标准。我们的旅程向我们表明,需要一种更务实的方法,强调积极的检测和实验,而不是盲目信任。
定义新术语
在安全行业,我们习惯于不解释术语,并假设我们说的是同一种语言。为了纠正这一点,以下是这种新方法中的几个关键术语
- (安全)混沌实验从根本上植根于科学方法,因为它们的目的不是验证已知为真或已知为假的事物,而是专注于推导出关于当前状态的新见解。
- 安全混沌工程是通过主动实验来构建对系统在生产环境中防御恶意条件的能力的信心的学科,它涉及安全控制中故障的检测、识别和修复。
安全和分布式系统
考虑现代应用程序设计不断演变的性质,在现代应用程序设计中,系统在运行方式上变得越来越分布式、短暂和不可变。在这种转变的范式中,越来越难以理解我们系统安全性的运行状态和健康状况。此外,当周围环境正在改变其参数、组件和方法时,我们如何确保其保持有效和警惕?
就安全控制而言,有效性意味着什么?毕竟,单个安全能力可以很容易地在各种不同的场景中实施,在这些场景中,故障可能来自许多可能的来源。例如,标准的防火墙技术可能会根据业务、Web 和数据逻辑的复杂性以不同的方式实施、放置、管理和配置。
我们必须不断、持续和主动地检测我们的安全控制,以确保它们在关键时刻能够胜任,这一点至关重要,我们不能假设某些东西有效就以此来运营我们的业务产品和服务。这就是安全混沌测试如此重要的原因。安全混沌工程所做的是,它为分布式系统的安全性实验提供了一种方法,以便建立对系统承受恶意条件的能力的信心。
在安全混沌工程中
- 安全能力必须进行端到端检测。
- 必须持续检测安全性,以建立对系统承受恶意条件的能力的信心。
- 必须主动评估系统安全防御的就绪状态,以确保它们已做好战斗准备并按预期运行。
- 必须对安全能力工具链进行端到端检测,以深入了解工具链中功能的有效性,并发现可以在何处注入附加价值和改进。
- 实践检测旨在识别、检测和修复安全控制中的故障。
- 重点是漏洞和故障识别,而不是故障管理。
- 事件管理的运营有效性得到提升。
正如亨利·福特所说:“失败只是一个重新开始的机会,这次会更明智。” 安全混沌工程和安全混沌测试为我们提供了这个机会。
您想了解更多信息吗?请在 Twitter 上关注 @aaronrinehart 和 @charles_nwatu,加入讨论。
评论已关闭。