一支很棒的 DevSecOps 工程师团队?这是可能的。





5.00/5 (7投票s)
DevSecOps 方法论为注重安全的开发人员提供了一个大放异彩的机会。
与技术本身一样,开发代码的工具、技术和最佳流程也在快速发展。我们人类有着永不满足的需求:更多的软件、更多的功能、更多的用途……而且我们希望它们能更快、更高质量,并且最重要的是:安全。就在几年前,敏捷开发还是下一个大事,用于将大的工作块分解成小的部分,并能够快速适应来自客户的快速反馈周期。在此之前,瀑布模型是业界的王者。
虽然许多人、许多组织正在从瀑布模型转向敏捷——而且并非所有人都已经到位,让我们坦诚一点——但他们已经遇到了一个新的问题:开发团队和他们的运营伙伴仍然在各自为政,这仍然让开发经理和企业中的同行们头痛不已。在这种环境下,小型敏捷团队如何能够实现更快的部署和更快的交付的承诺呢?
(曾经,并且我们稍后会详细介绍)排名靠前的开发热词/方法论,DevOps,旨在将开发人员和运营团队的功能合并到新软件的创建过程中。本质上,这是为了帮助开发人员承担将代码投入生产的责任,而不是将代码“扔过围栏”交给运营团队,让他们负责。
他们当然可以更快地交付——甚至一天几次——这似乎与敏捷的理念一致。然而,DevOps 仍然创建了一个庞大的、混合的工程师和运营人员团队,这在现实中可能与敏捷的理念不那么一致。最终,我们已经认识到,DevOps 是敏捷的一种演进,在许多方面相似,并在其差异性上相互补充。在运行良好的 DevOps 环境中显而易见的自动化、持续集成和部署管道对于实现频繁发布至关重要,但在团队层面却不够充分——而这正是敏捷发挥作用的地方。敏捷允许团队,特别是小型团队,跟上这些快速的发布和不断变化的需求,同时保持专注和协作。这似乎是理想的——而且这个过程可以让团队朝着最终目标前进——但它也并非没有自己的问题。
使用 DevOps 最佳实践创建的软件仍然有可能在第一次“Boss 战”中遭遇挫折:安全团队。当代码由传统/瀑布式的 AppSec 专家审查时,无论是通过工具还是复杂的手动审查,他们经常发现不可接受的风险和漏洞,这些漏洞必须在事后修复。将安全修复措施“改造”到已完成的应用程序中的过程对于开发经理和他们已经不堪重负的团队来说是令人沮丧的,既不快速也不容易。从经济上看,这对组织来说也更加昂贵。
那么,如果世界正在超越瀑布、敏捷,现在是 DevOps,那么解决方案是什么?如果你正在管理一个开发团队(或者你自己就是其中一员),你将在跟上这些方法论变化的过程中扮演什么角色?
开发技术在不断发展,但幸运的是,这次的变化并不是那么巨大。组织只需要将“Sec”(安全)添加到“DevOps”中……于是,DevSecOps 应运而生。DevSecOps 的主要目标是打破壁垒,促进开发、运营和最后但同样重要的安全团队之间的开放协作。DevSecOps 已成为一种软件工程策略和一种文化,倡导在整个软件开发生命周期中进行安全自动化和监控。
这可能看起来又是一个组织级别的流程,当涉及到有一个长长的功能列表需要开发的开发人员时,可能会有“人太多”的问题。然而,DevSecOps 方法论为注重安全的开发人员提供了一个大放异彩的机会。
DevSecOps:精明开发人员的光明未来
那么,为什么一个编码人员——以及他们的经理——想要跟上 DevSecOps 的步伐呢?首先,要知道这是一个非常明智的举动,不仅仅是为了让世界免受代价高昂的网络攻击。专家们说,熟练的网络安全人员的需求正在飙升,而且没有尽头。那些掌握 DevSecOps 的人可以期待一个长久而有利可图的职业生涯。
DevSecOps 工程师的工作保障甚至更加牢靠,因为与传统的网络安全策略(例如使用一系列软件工具进行漏洞扫描)不同,DevSecOps 需要了解如何在编写代码时实施安全的人员。正如 Booz, Allen and Hamilton 的分析师在其博客《在政府机构采用 DevSecOps 的 5 个误区》中所指出的那样,组织想要(并且需要)DevSecOps,但就是买不到。他们需要跨职能团队在整个软件开发生命周期中整合技术并进行协作,这需要技术娴熟的人才、变革管理以及来自多个利益相关者的持续承诺。
据 Booz, Allen and Hamilton 称,公司可以购买应用程序和工具来帮助 DevSecOps 的某些方面,例如发布管理软件,“但真正实现这一切的是您的交付团队。”他们是推动 DevSecOps 提供的持续改进及其文化和范式转变的驱动者。
组织无法“购买”一个可行的 DevSecOps 程序;它必须使用一系列工具、内部知识和指导来构建和维护,以提升安全文化,同时也要有商业上的合理性。这并不容易,但绝非不可能。
如何在 DevSecOps 运动中成为佼佼者
成为一名——或支持一名——DevSecOps 工程师的第一个步骤是认识到它既是一种文化,也是一套技术。它需要有将安全性作为你所创建的每一行代码的一部分的意愿,以及通过在编码过程中积极寻找安全缺陷和漏洞来主动保护你的组织的愿望,并在它们进入生产环境之前很久就修复它们。大多数 DevSecOps 工程师都非常认真地对待他们的职业和技能。DevSecOps 专业组织甚至有宣言说明他们的信仰。
宣言有点强硬,因为宣言很少轻松阅读。但其核心有一些所有优秀的 DevSecOps 工程师都应该学会接受的真理,例如
- 认识到应用程序安全团队是你的盟友。在大多数组织中,AppSec 专家与开发人员是对立的,因为他们总是将已完成的代码退回以进行更多工作。AppSec 团队通常也不喜欢开发人员,因为他们可能会通过引入常见的安全漏洞来延迟已完成的代码进入生产。然而,一个聪明的 DevSecOps 工程师会意识到,安全团队的目标与开发人员和编码人员的目标最终是一致的。你不必成为最好的朋友,但建立一种平静而协作的工作关系对于成功至关重要。
- 练习和完善你的安全编码技术。如果你能在应用程序仍在构建过程中发现它们存在漏洞的方法,那么弥补这些漏洞就能阻止未来的黑客。当然,这需要对漏洞的理解以及帮助修复它们的工具。对于全新的开发人员来说——即使是 OWASP Top 10——Secure Code Warrior 博客页面可以深入了解你将遇到的最常见和最危险的漏洞,以及实用的建议和挑战来测试你的知识。最重要的是始终将安全性放在首位,并花时间进行碎片化学习,帮助你巩固现有知识。开发人员与安全的互动通常是相当平淡的——甚至是负面的——但提升安全性是一个绝佳的职业发展机会,而且它不必是件苦差事,尤其是当有一个支持网络提供培训,并且有时间在工作时间实际进行培训时。
- 记住:DevSecOps 超级明星为组织内积极的安全文化做出贡献。与其专注于过去的目标,例如快速交付应用程序而不管其内在问题,不如将查找和修复开发中代码的漏洞作为首要任务。安全必须被视为每个人的工作,每个人都应该分享在每次部署有效且高度安全的应用程序时获得的赞美和回报。
你可以通过从头开始倡导安全编码和安全最佳实践,推荐培训解决方案,并确保在全员参与、快节奏的 DevSecOps 世界中没有一个编码人员被落下,来帮助培养你组织中的出色安全文化。唯一好的代码是安全的代码,技术娴熟、注重安全的开发人员是拼图中至关重要的部分。个人和职业回报绝对值得付出努力,而且每年都有数十亿份个人数据记录遭到泄露(并且还在增长),我们需要你。站上前线,帮助在我们数字世界中抵御坏人。要了解更多关于“为什么注重安全的开发人员是新一代摇滚明星”的最新网络研讨会!Matias Madou 博士是 Secure Code Warrior 的首席技术官兼联合创始人。他是一位安全专家、资深开发人员和《堡垒之夜》爱好者。
要了解更多关于“为什么注重安全的开发人员是新一代摇滚明星”的最新网络研讨会!