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

2020年2月28日出版
作者:马蒂亚斯-马杜,博士
案例研究

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

2020年2月28日出版
作者:马蒂亚斯-马杜,博士
查看资源
查看资源

与技术本身一样,开发代码的工具、技术和最佳流程也在快速发展。我们人类对更多的软件、更多的特性、更多的功能有着永不满足的需求......而且我们希望它比以前更快、更有质量,而且最重要的是:安全。就在几年前,敏捷开发是下一件大事,被用来把大块的工作分解成小块,并且能够快速适应来自客户的快速反馈周期。在这之前,瀑布法是山丘之王。

当许多人和组织正在从瀑布式转向敏捷式时--不是每个人都能做到的,让我们现实一点吧--他们已经遇到了一个新的问题:开发团队和他们的运营同行仍然在各自为政。在这种环境下,以敏捷方式工作的小团队如何才能实现快速部署、快速交付的承诺?

DevOps是一个结合了开发和运营的名称,是为了在创建新软件时合并开发人员和运营团队的职能。从本质上讲,这是为了帮助开发人员掌握把东西投入生产的所有权,而不是把它扔给运营团队,让他们负责。

他们当然可以更快地发货--甚至每天几次--这似乎是在敏捷的巷子里玩。然而,DevOps仍然创造了一个由工程师和运营人员组成的大型混合团队,这在现实中可能并不符合敏捷的要求。最终,最好把DevOps看作是敏捷的进化,因为这两种方法在很多方面是相似的,而在不同方面是互补的。DevOps提倡自动化、持续的集成和部署管道,这对于实现频繁的发布是必不可少的,但在团队层面却不够充分--而这正是敏捷的作用。敏捷使团队,特别是小团队,能够跟上这些快速发布和不断变化的需求,同时保持任务和协作。这当然看起来很理想--而且这个过程可以使团队保持在最终目标的轨道上--但它并非没有自己的问题。

使用DevOps最佳实践创建的软件仍然有可能在第一个老板的战斗中跌倒:安全团队。当传统的/瀑布式的AppSec专家检查代码时,无论是使用工具还是复杂的人工审查,他们经常发现不可接受的风险和漏洞,然后必须在事后修复。在已完成的应用程序中进行安全修复的过程既不迅速也不容易......而且对组织来说,成本也高得多。

那么,如果世界正在向瀑布、敏捷和现在的DevOps发展,解决方案是什么?而作为一个开发者,你在跟上这些方法的变化中扮演什么角色?

开发技术处于不断的演变之中,但值得庆幸的是,这一次的变化并不是很大。企业只需要在 "DevOps "中加入 "Sec"......于是,DevSecOps诞生了。DevSecOps的一个主要目标是打破障碍,在开发、运营以及最后但并非最不重要的安全团队之间展开合作。DevSecOps既是一种软件工程战术,也是一种文化,主张在整个软件开发生命周期中实现安全自动化和监控。

这似乎又是一个组织层面的过程,当涉及到一个有一长串功能需要建立的开发人员时,可能会有 "太多的厨师"。然而,DevSecOps方法论为有安全意识的开发者提供了一个真正的机会。

开发安全运营的光明前景

那么,为什么一个程序员会想成为DevSecOps工程师呢?也许你在DevOps(甚至是敏捷)方面有一些经验,但想迈出下一步,成为DevSecOps的精通者。首先,我们应该知道这是一个非常明智的举动,而不仅仅是为了让世界免受昂贵的网络攻击。专家说,优秀网络安全人员的需求正在急剧上升,而且没有尽头。那些掌握DevSecOps的人可以期待一个长期和有利可图的职业生涯。

DevSecOps工程师的工作安全更有保障,因为与传统的网络安全策略(如用一系列基于软件的工具进行漏洞扫描)不同,DevSecOps要求人们知道如何在编码时实施安全。正如博思艾伦咨询公司的分析师在其题为《采用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.他是一名安全专家,长期从事开发工作,也是《堡垒之夜》的爱好者。

查看资源
查看资源

作者

马蒂亚斯-马杜博士

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和BruCon。

马蒂亚斯拥有根特大学的计算机工程博士学位,在那里他研究了通过程序混淆来隐藏应用程序的内部工作的应用安全。

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

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

2020年2月28日出版
作者:马蒂亚斯-马杜,博士

与技术本身一样,开发代码的工具、技术和最佳流程也在快速发展。我们人类对更多的软件、更多的特性、更多的功能有着永不满足的需求......而且我们希望它比以前更快、更有质量,而且最重要的是:安全。就在几年前,敏捷开发是下一件大事,被用来把大块的工作分解成小块,并且能够快速适应来自客户的快速反馈周期。在这之前,瀑布法是山丘之王。

当许多人和组织正在从瀑布式转向敏捷式时--不是每个人都能做到的,让我们现实一点吧--他们已经遇到了一个新的问题:开发团队和他们的运营同行仍然在各自为政。在这种环境下,以敏捷方式工作的小团队如何才能实现快速部署、快速交付的承诺?

DevOps是一个结合了开发和运营的名称,是为了在创建新软件时合并开发人员和运营团队的职能。从本质上讲,这是为了帮助开发人员掌握把东西投入生产的所有权,而不是把它扔给运营团队,让他们负责。

他们当然可以更快地发货--甚至每天几次--这似乎是在敏捷的巷子里玩。然而,DevOps仍然创造了一个由工程师和运营人员组成的大型混合团队,这在现实中可能并不符合敏捷的要求。最终,最好把DevOps看作是敏捷的进化,因为这两种方法在很多方面是相似的,而在不同方面是互补的。DevOps提倡自动化、持续的集成和部署管道,这对于实现频繁的发布是必不可少的,但在团队层面却不够充分--而这正是敏捷的作用。敏捷使团队,特别是小团队,能够跟上这些快速发布和不断变化的需求,同时保持任务和协作。这当然看起来很理想--而且这个过程可以使团队保持在最终目标的轨道上--但它并非没有自己的问题。

使用DevOps最佳实践创建的软件仍然有可能在第一个老板的战斗中跌倒:安全团队。当传统的/瀑布式的AppSec专家检查代码时,无论是使用工具还是复杂的人工审查,他们经常发现不可接受的风险和漏洞,然后必须在事后修复。在已完成的应用程序中进行安全修复的过程既不迅速也不容易......而且对组织来说,成本也高得多。

那么,如果世界正在向瀑布、敏捷和现在的DevOps发展,解决方案是什么?而作为一个开发者,你在跟上这些方法的变化中扮演什么角色?

开发技术处于不断的演变之中,但值得庆幸的是,这一次的变化并不是很大。企业只需要在 "DevOps "中加入 "Sec"......于是,DevSecOps诞生了。DevSecOps的一个主要目标是打破障碍,在开发、运营以及最后但并非最不重要的安全团队之间展开合作。DevSecOps既是一种软件工程战术,也是一种文化,主张在整个软件开发生命周期中实现安全自动化和监控。

这似乎又是一个组织层面的过程,当涉及到一个有一长串功能需要建立的开发人员时,可能会有 "太多的厨师"。然而,DevSecOps方法论为有安全意识的开发者提供了一个真正的机会。

开发安全运营的光明前景

那么,为什么一个程序员会想成为DevSecOps工程师呢?也许你在DevOps(甚至是敏捷)方面有一些经验,但想迈出下一步,成为DevSecOps的精通者。首先,我们应该知道这是一个非常明智的举动,而不仅仅是为了让世界免受昂贵的网络攻击。专家说,优秀网络安全人员的需求正在急剧上升,而且没有尽头。那些掌握DevSecOps的人可以期待一个长期和有利可图的职业生涯。

DevSecOps工程师的工作安全更有保障,因为与传统的网络安全策略(如用一系列基于软件的工具进行漏洞扫描)不同,DevSecOps要求人们知道如何在编码时实施安全。正如博思艾伦咨询公司的分析师在其题为《采用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.他是一名安全专家,长期从事开发工作,也是《堡垒之夜》的爱好者。

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。