如何扩展应用安全计划 - 第二部分
在我的上一篇博客文章中,我讨论了什么是应用安全计划以及它的重要性。在这篇文章中,我将介绍构建和扩展一个有效的应用安全计划所需的条件。
我看到过许多善意的计划未能达到其目标的不同方式。虽然失败的方式可能有很多,但导致成功的关键特征只有少数几个。
该计划必须:
- 与业务紧密相连。
- 能够衡量自身。
- 能够随着时间的推移不断改进。
就是这样!成功计划的所有其余部分都取决于一系列细节,只要您有这个框架,您就可以弄清楚并优化这些细节。如果您对这些细节感到好奇,请放心,我将在未来的文章中介绍。现在,让我们专注于这些关键的战略部分,因为如果您没有正确的战略,其他一切都无关紧要。
计划必须与业务紧密相连
安全计划必须证明所花费的资金是合理的。这种证明有效的唯一方式是,该计划能够直接与支持它的一系列业务目标联系起来。这些目标因业务而异,但它们通常以C级编写并由董事会同意的安全政策的形式出现。就其本质而言,这些业务目标将是非技术性的,足够抽象,需要工程团队进行一定程度的解释,并且通常是不可协商的。它们几乎总是专注于立法合规性、全球公认的标准、客户要求或以上所有内容。
如果您无法将您的应用安全计划与一系列企业业务目标紧密联系起来,您的计划将会失败。这是我在与新客户交谈时首先提出的问题之一,当他们不符合这个测试时,我将其视为僵尸计划。我仍然可以做一些事情来提供帮助,但在动态改变之前,应用安全计划将像行尸走肉一样。承认这一事实可能是改进的艰难但必要的第一步。
计划必须能够衡量自身
一个成功的安全计划必须能够衡量自身,并通过一系列商定的、可以准确衡量并随时间改进的KPI或指标来展示价值。安全KPI可能很难制定,尤其是对于应用安全而言,但这并不会降低它们的重要性。
第一步是与您的利益相关者讨论哪些KPI对他们重要。对于您的执行管理层来说,可能是一些针对企业安全政策的衡量形式。换句话说,您是否达到了推动该计划的业务目标?如果没有,您能否展示向该目标迈进的进展?对于您的工程团队来说,可能是一个更技术性的衡量标准,例如随时间发现和修复的漏洞数量、修复新发现漏洞所需的时间、团队成员在安全上花费的时间和金钱、外部报告的漏洞数量、实现的安全工程活动、渗透测试和代码审查覆盖率等等。
一旦您建立了一系列KPI,您需要确定哪些您现在可以合理地希望衡量,哪些需要等待未来,哪些可能永远无法实现。识别出一个您无法使用的指标是可以的,因为它太昂贵或无法衡量。即使您无法正式衡量它,知道它重要也是有价值的。但对于那些您可以衡量的指标,请尽快开始这样做。您拥有的数据越多,识别趋势的时间越长,效果就越好。您错过的每一天都是您本可以用来改进计划的数据,而现在永远丢失了。这里需要提醒一句。您选择包含在KPI中的每个指标都将有自己的生命。一旦您有了一个指标,团队将有动力推动其改进。考虑副作用和意外后果。一旦建立了一个指标,就很难移除,因此请认真对待每个指标的添加。
计划必须能够随着时间的推移不断改进
一旦您建立并开始跟踪您的KPI,改进可能看起来如此明显,以至于无需提及,在某种程度上,这是真的。工程团队喜欢优化,一旦您给他们数字来推动,他们几乎总是会开始工作。然而,有一些例外值得指出。这些例外中的每一个都代表了您的计划成功之前需要克服的障碍。
我在上一节中提到,您应该获得利益相关者的同意,但我认为值得进一步探讨这一点。我暗示您需要执行管理层对执行层KPI的同意,以及工程团队对工程KPI的同意,但事实并非如此。您需要获得工程团队对执行KPI和工程KPI的同意。由于执行KPI与可能不可协商的业务目标相关,这可能看起来很困难。一个常见的错误是,执行KPI不与工程团队讨论,而是作为法令从高层推出(汝应)。一些人做出的错误假设是,既然业务目标不可协商,相关的KPI就不值得讨论。这远非事实。工程团队不会完全承诺一个它不理解的目标。如果业务目标是真实的,并且KPI与之相关,那么这是一个值得进行的讨论。一旦工程团队理解了这些KPI,他们就会同意它们。一旦他们同意了,他们就会致力于优化它们。另一方面,如果他们不理解且不同意,您可能会得到点头,但不会得到完全的承诺。相反,您会看到“打勾”行为,即投入最少的努力。当客户来找我,并将工程团队行为列为问题时,我通常会发现一个认同问题。获得工程团队的认同不一定困难,但必须完成。
另一个常见的错误是获得推动KPI的同意,但未能装备团队以取得成功。给已经满载的团队增加更多工作并期望他们完成是不够的。如果您正在推动新的KPI以实现成功的应用安全计划,您需要充分资助它。充分资助意味着您需要提供足够的工作周期来完成它,您需要购买必要的工具来提高效率,并且您需要提供培训以确保团队知道如何完成工作。
请注意,这是我第一次提到工具。不要犯在您的应用安全计划定义之前购买工具的错误。工具为已经到位的计划增加效率。它们不能也不会为您提供计划定义。任何告诉您相反情况的人都是在试图向您推销东西。
—
一旦您采取了这些重要步骤,您就走上了成功计划的道路。您已经定义了一套良好的需求,您已经商定了如何衡量成功,并且您已经设置了团队,以便他们可以随时间迭代和改进。一旦您将这个良性循环付诸实施,您几乎可以保证成功的结果。您将从一個不成熟的计划开始,但随着时间的推移,您将达到完全成熟,并成为其他人可以仰望并希望效仿的安全最佳实践范例。现在开始工作吧!