安全物流在软件开发中的重要性

Oliver Kling
Author: Oliver Kling, CISA
Date Published: 31 October 2023

一个负责任的澳门赌场官方下载只有在软件产品生命周期的适当时间用适当的措施保护软件产品时,才会投资于软件产品. 组织必须了解这些安全措施是如何工作的, 实现和行为——在什么情况下它们会失败. 要让软件开发团队记住这些知识,最有希望的方法是指定全职安全专家.

There are many papers, 说明构建安全产品的注意事项的指南和手册. 因此,安全澳门赌场官方下载知道(或应该知道)必须澳门赌场官方软件才能创建安全的产品. 谁应该负责这些任务也很明显:构建和操作软件的团队.

So, 目标似乎很简单:将安全专业知识嵌入到产品团队中,以便他们能够构建安全的产品. In general, 知识开发的基本方法是在指定团队中的安全角色时可以引用的指导方针和培训.

有一点需要注意:知识的发展必须是成功的. 团队是否会根据最佳实践吸收输入并实施安全措施? Some do. 他们遵守规则,生产出高于平均水平的安全产品. Many, however, do not, for several reasons, 从进入市场的压力到竞争的优先级,再到完全的无知. 好产品与坏产品的比例取决于许多因素. However, 勤奋与疏忽项目的比例还有待改进, 即使拥有一个完全安全的产品是雄心勃勃的.

普通的安全方法并不总是足够的

安全开发过程并不是一个新概念. 人们会认为,如何灌输安全知识的挑战已经得到了解决. There are indeed some existing solutions, 但值得研究的是,它们在哪些情况下会成功,在哪些情况下会失败.

Guidelines
编写安全设计和编码的指导方针相对简单. 然而,说服人们阅读这些指导方针是比较棘手的. 通过指导方针实现安全性是具有挑战性的,因为读者必须理解指导方针作者的意图,并能够在产品的生命周期中将其转化为具体的度量.

Training
而分散安全文件是有帮助的, 应该通过培训直接针对产品团队的安全知识进行补充. 培训背后的主要思想是,那些知道得好的人, do well, 类似于谚语“如果你给一个人一条鱼”, you feed him for a day. 如果你教一个人钓鱼,你就喂了他一辈子.”1

但是,仅仅通过几个小时或几天的培训是无法形成安全心态的. 这个课题的复杂性和广泛性需要不断的学习努力.

Security Champions
某些人员可以被指定为安全冠军并通过更长时间进行培训, more in-depth training opportunities. 因此,这些人员能够更好地执行安全任务.

Some may ask, “他们是否有时间把工作做好,是否有足够的力量来执行必要的安全措施?”

Of course, 安全冠军能够而且应该成为更全面的战略的一部分, organizationwide cybersecurity strategy. Yet this alone is not sufficient. 总是有一个更重要的截止日期即将到来,或者与中央安全团队的讨论没有结果,或者没有适当的专业知识可用.

On their own or combined, 这些安全教育方法并不能使有希望的候选人解决安全知识差距. 所有项目的可持续安全成功需要一个更全面的方法.

引进专职产品安全专家

创建安全产品的解决方案是雇用和培训完全致力于安全的工程师. 它们应该作为工具,在产品团队中培养一种强烈的安全感. 安全工程师应具备安全知识、开发技能(如.g.(编码,设计,架构),基础设施安全见解和其他相关资格. Ideally, 安全工程师是可以配置和编写产品安全特性的人. 安全本质上是工程师的首要目标, 而不仅仅是完成更重要的任务后再考虑的奖金.

虽然仍然需要遵守和审计检查清单和培训(e.g., for secure coding), insourcing power, 知识和动力可以帮助产品团队在正确的上下文中实现正确的安全实践.

Insourcing power, 知识和动力可以帮助产品团队在正确的上下文中实现正确的安全实践.

有几个因素使这一角色能够应对本文讨论的挑战:

  • 将安全工程师添加到产品团队中可以确保有人天生就了解安全指导方针和需求.
  • 理想的安全工程师会不断磨练自己的技能,随着时间的推移变得更加合格,这样很少使用的知识和概念就不会消失.
  • 一个专职的安全工程师有更少的竞争优先级,并且可以, therefore, dedicate work to product security. 可能仍然需要妥协(1).e., 将安全性与其他优先级进行比较), 但无论何时都要把安全放在首位, transparent, 基于风险的决策可以更容易地做出.

The Counterargument

不幸的是,在很多情况下,这种技术不能扩展. Often, 扩展争论是提议的策略过于昂贵或需要比组织现有资源更多的资源的同义词. But this may not be the case.

考虑在所有项目中花费X时间的适当的安全工作. X活动是由一小群安全工程师执行,还是由一大群开发人员执行,这有关系吗? 从高层次的角度来看,肯定不会,原因如下:

  • 一个更小的专家团队——每个人负责更多的项目, having more experience, 接受更好的训练——效率更高. 他们了解这些工具,并且能够更好地验证结果并消除漏洞.
  • 以支持所有项目的安全性为使命的安全工程师可能拥有更大的权力和客观性.
  • 支持多个产品的安全性的安全工程师可能会跨所有产品或服务调整和执行标准.
  • 安全工程师受到“火车离开车站”概念的压力要小得多,因为这个人受到的激励是不同的.g., 通过接受不是来自项目负责人的指令, 但从部门主管或中央安全主管那里).
  • 工程师可以更好地判断必须做的事情,因为他们有更广泛的经验, 这意味着他们可以根据每个项目的上下文上下调优安全性. (任何写过指南的人都知道,在一份通用的文档中包含上下文信息是多么具有挑战性。).

Even if a security engineer is designated, 产品团队可能仍然需要执行一些安全任务,因为安全工程师可能无法编写所有与安全相关的代码或配置. 是否应用安全措施的最终决定取决于项目和预算所有者.

澳门赌场官方下载还必须考虑到使用安全工程师也可能面临某些挑战:

  • Finding experts can be painstaking. 尽管全球网络劳动力比以往任何时候都要多,但市场仍然紧张.2
  • 如果一个人有大量的小项目要完成,那么规模化的论点可能是适用的. 这种限制来自于专家切换上下文的能力. 同时支持5个项目可能行得通,但支持20个项目可能行不通.
  • 虽然建议的方法使安全性更加透明, which is a good thing, 如果规模只是缺乏安全投资意愿的借口, 当雇用安全工程师的成本很明显时,这种方法可能会失败.

Conclusion

如果澳门赌场官方下载希望获得产品安全的权利, 必须指定一个合格的人员来执行开发中的安全任务. 不能笼统地假设项目团队能够(或将会)自己确保产品的安全性. 中央安全团队的许多成员主要关注流程设计, guidelines and governance, which is not sufficient. 仅仅回顾开发团队提供的安全概念或检查表并不是解决方案, either. Rather, a Going to Gemba3 approach to security should be adopted, 缺陷一旦出现,就直接在车间的生产区域进行修复.

Endnotes

1 Wann, B.; “授人以渔——领导力课程,” BenjaminWann.com, 13 May 2021
2 Poremba, S.; “网络安全人才短缺:2023年展望,” Cybersecurity Dive, 5 January 2023
3 BTOES, “What Is Gemba: Definitions and Tools

Oliver Kling, CISA

是否有30年以上经验的IT专业人员. 他专门研究信息安全及其在软件开发中的作用. Currently, Kling is a senior manager at adesso SE是一家上市咨询和IT服务公司. 他领导着一个由专门的安全工程师和渗透测试人员组成的团队, 为客户提供安全专业知识支持.