如何成为一名出色的 DevSecOps 工程师

就像技术本身一样,编写代码的工具、技术和最佳流程也在快速演变。我们人类对更多软件、更多特性和更多功能有着永无止境的需求……而且我们希望它比以往任何时候都更快、质量更高,最重要的是:还要安全。就在几年前,敏捷开发还是最热门的新事物,它被用来将庞大的工作拆解成小块,并能够快速适应客户反馈周期。在此之前,瀑布式开发曾是行业的主导方法。
虽然许多个人和组织正在从瀑布式转向敏捷——说实话,并非每个人都已完成转型——但他们已经遇到了一个新问题:开发团队及其运维对应方仍然在各自为政。在这种环境下,以敏捷方式工作的小型团队如何实现更快部署和更快交付的承诺?
DevOps,这个由开发(Development)和运维(Operations)组合而成的术语,旨在将开发人员和运维团队在创建新软件时的职能合并。从本质上讲,这是为了帮助开发人员承担起将产品投入生产的责任,而不是将其“扔过墙”给运维团队,让运维团队去负责。
他们确实可以交付得更快——甚至每天几次——这似乎很符合敏捷的理念。然而,DevOps 仍然会创建一个由工程师和运维人员组成的混合大团队,这在现实中可能并不完全符合敏捷的初衷。归根结底,最好将 DevOps 看作是敏捷的演进,因为这两种方法在许多方面是相似的,且在差异中互补。DevOps 提倡自动化的持续集成和部署流水线,这对实现频繁发布至关重要,但在团队层面还不够——而这正是敏捷发挥作用的地方。敏捷允许团队,特别是小型团队,在保持专注和协作的同时,跟上这些快速发布和不断变化的需求。这看起来确实很理想——而且该流程可以让团队朝着最终目标前进——但它并非没有自身的问题。
使用 DevOps 最佳实践创建的软件在面对第一个“大BOSS”时仍可能受挫:安全团队。当代码被传统的/瀑布式的应用安全(AppSec)专家通过工具或复杂的手动审查进行检查时,他们往往会发现不可接受的风险和漏洞,这些问题必须在事后进行修复。将安全补丁回溯到已完成的应用程序中既不快速也不容易……而且对组织来说成本要高得多。
那么,如果世界正在超越瀑布式、敏捷和现在的 DevOps,解决方案是什么?作为一名开发人员,你在跟上这些方法论变革的过程中扮演什么角色?
开发技术处于不断的演变状态,但值得庆幸的是,这次变革并没有那么剧烈。组织只需要在“DevOps”中加入“Sec”……于是,DevSecOps 应运而生。DevSecOps 的主要目标是打破壁垒,促进开发、运维以及至关重要的安全团队之间的协作。DevSecOps 已经成为一种软件工程策略和一种文化,倡导在整个软件开发生命周期中实现安全自动化和监控。
对于一个有着长长功能列表要构建的开发人员来说,这看起来可能又是另一种组织层面的流程,甚至可能是“人多手杂”。然而,DevSecOps 方法论为具有安全意识的开发人员提供了一个真正大放异彩的机会。
DevSecOps 的光明未来
那么,为什么程序员想要成为一名 DevSecOps 工程师?也许你有一些 DevOps(甚至敏捷)的经验,但想更进一步,精通 DevSecOps。首先,很高兴告诉你,这是一个非常明智的举措,不仅仅是为了保护世界免受代价高昂的网络攻击。专家表示,对优秀网络安全人才的需求正在激增,且看不到尽头。那些掌握 DevSecOps 的人可以期待一份长期且高薪的职业。
DevSecOps 工程师的就业保障甚至更加稳固,因为与传统的网络安全策略(如使用一系列基于软件的工具进行漏洞扫描)不同,DevSecOps 需要懂得如何在编写代码时实施安全的人才。正如 Booz, Allen and Hamilton 的分析师在他们题为《采用 DevSecOps 的 5 个误区》的博客中所指出的,组织想要甚至需要 DevSecOps,但仅仅靠购买是无法实现的。DevSecOps 是一种让跨职能团队在整个软件开发生命周期中整合技术并进行协作的方法论,这需要熟练的人才、变革管理以及来自多个利益相关者的持续承诺。
根据 Booz, Allen and Hamilton 的说法,公司可以购买应用程序和工具来帮助实现 DevSecOps 的某些方面,例如发布管理软件,“但真正实现这一点的还是你的交付团队。”他们是推动 DevSecOps 所带来的持续改进及其文化和范式转变的核心力量。
组织无法“购买”一个可行的 DevSecOps 项目;它必须通过一系列工具、内部知识和指导来构建和维护,从而提升安全文化,同时也要符合商业逻辑。这并不容易,但绝非不可能。
如何在 DevSecOps 运动中大展身手
成为 DevSecOps 工程师的第一步,是意识到这既是一种文化,也是一套技术。它需要你在编写的每一行代码中都实施安全的意愿,并主动通过在编码时积极寻找安全缺陷和漏洞来保护你的组织,在它们进入生产环境之前就将其修复。大多数 DevSecOps 工程师都非常认真地对待他们的职业和技能。DevSecOps 专业组织甚至有一份宣言,阐述了他们的信仰。
这份宣言内容有些沉重,因为宣言很少是轻松的读物。但其核心是所有优秀的 DevSecOps 工程师都应该学习并拥抱的几个真理,例如:
- 意识到应用安全团队是你的盟友。在大多数组织中,应用安全专家与开发人员之间存在矛盾,因为他们总是将完成的代码退回要求返工。应用安全团队通常也不太喜欢开发人员,因为开发人员可能会通过引入常见的安全漏洞而推迟代码上线。然而,聪明的 DevSecOps 工程师会意识到,安全团队的目标最终与开发人员和程序员的目标是一致的。你们不必成为最好的朋友,但建立一种冷静且协作的工作关系对于成功至关重要。
- 练习并完善你的安全编码技术。如果你能在应用程序构建过程中发现漏洞,那么堵住这些漏洞就能阻止未来的黑客。当然,这既需要对漏洞的理解,也需要修复漏洞的工具。Secure Code Warrior 博客页面可以让你深入了解你将遇到的最常见和最危险的漏洞,以及测试你知识的实用建议和挑战。最重要的一点是保持安全意识,并抽出时间进行碎片化的培训,帮助你在现有知识的基础上不断进步。开发人员与安全部门的互动通常相当平淡,甚至负面,但提升安全技能是一个极好的职业举措,而且这并不一定是一件苦差事。
- 记住:DevSecOps 超级明星会为他们的组织贡献积极的安全文化。与其关注过去的那些目标,比如不顾内在问题而快速交付应用,不如将发现和修复开发中代码的漏洞作为重中之重。安全必须被视为每个人的工作,每个人都应该分享部署高效且高度安全的应用程序所带来的赞誉和回报。
您可以通过从基层倡导安全编码和安全最佳实践,推荐培训解决方案,并确保在快节奏的 DevSecOps 环境中不让任何开发人员掉队,从而助力企业培养卓越的安全文化。只有安全的代码才是优秀的代码,而具备安全意识的专业开发人员是实现这一目标的关键。这不仅能带来个人与职业层面的丰厚回报,更重要的是,面对每年数以亿计且不断增长的个人数据泄露事件,我们需要您的加入。站到第一线,与我们并肩抵御数字世界中的威胁。
Matias Madou 博士是 Secure Code Warrior 的首席技术官兼联合创始人。他是一位安全专家、资深开发人员,也是一名《堡垒之夜》游戏迷。
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)