这是老美的第 21 届年度网络安全意识月,从多个角度帮助组织应对网络安全挑战。在本系列文章中,重点介绍网络安全之外的特定工作角色以及他们的团队如何处理安全问题。
对于开发人员来说,网络安全历来是一个爱恨交织的问题。普遍的观点是,程序员对于必须调整自己的工作以符合网络安全规则感到沮丧。然而,许多公司都采取了安全第一的方法,一些开发人员也开始接受。
微软是一家试图改变软件开发人员对安全看法的公司,并积极采取措施对团队进行威胁情报和攻击者动机等概念的培训。
Siri Varma是 Microsoft Security 的技术主管和软件开发工程师,每天都与开发人员和网络安全团队一起工作。
在这里,瓦尔玛为我们解答了有关开发人员与网络安全关系的三个关键问题:
开发人员和网络安全之间存在哪些障碍?
首先,他们有不同的优先事项。开发人员通常优先考虑速度、功能和上市时间,而网络安全团队则优先考虑安全性和风险缓解。当安全政策强制实施开发人员认为会减慢其工作流程的措施时,这可能会导致摩擦。
例如,安全策略可能要求默认阻止所有到互联网的流量,以最大限度地减少潜在攻击的风险。这是确保只允许必要的流量以减少攻击面的最佳做法。然而,开发人员可能会反对这一点,希望推迟这种严格的控制,因为识别和允许合法流量所需的努力可能非常耗时。
其次,存在知识差距;程序员可能缺乏对安全实践的必要了解,网络安全团队可能无法完全掌握开发过程的复杂性。
例如,开发人员可能会配置具有公共读取访问权限的 S3 存储桶,认为这对于应用程序的功能是必要的。这种疏忽可能会将存储桶中的所有数据暴露给互联网上的任何人。另一方面,网络安全团队可能没有完全了解开发人员的工作流程和他们面临的限制,这可能会导致对某些安全措施难以实施的原因产生误解。
这两组人之间常见的误解是什么?
最常见的两个误解就是将安全性视为事后考虑,以及将安全性视为清单上的一项。
开发人员经常事后才考虑安全性。他们可能会优先考虑功能开发,并认为安全问题可以在流程的后期解决。这种方法通常会导致漏洞被被动管理。
以公共存储访问问题为例。开发人员最初可能会为存储配置广泛的访问权限,打算稍后收紧这些权限。这种方法可能会变得复杂,因为它通常需要分析网络遥测来确定哪些资源正在访问存储,确保必要的功能在收紧访问控制的同时保持完整。
此外,将安全视为最终的核对清单任务而不是开发文化不可或缺的一部分的观点需要改变。只有将安全实践贯穿整个开发过程并创建一种将安全视为持续和共同责任的文化,才能实现这一转变。
如果网络安全团队只能实施一项变更、一个请求,以便开发人员改善他们的安全态势,那会是什么?
最有影响力的要求是让开发人员将安全性左移——在开发过程的早期阶段整合安全性。这可以通过安全编码实践、自动安全测试和定期代码审查来实现,同时考虑到安全性。通过将安全性嵌入到 DevOps 管道 ( DevSecOps ) 中,开发人员可以更早地发现和修复问题,从而降低安全风险和在流程后期解决漏洞的成本。
这种集成非常重要,因此开放全球应用安全项目 (OWASP) 基金会已经开发了成熟度模型来指导处于 DevSecOps 实施各个阶段的组织。
随着开发人员和网络安全团队之间的关系不断发展,协作和分担责任比以往任何时候都更加重要。通过从一开始就将安全性嵌入到开发过程中,组织可以建立更强大的防御措施来应对新兴威胁,同时培养一种将安全性自然融入开发的文化。
原文始发于微信公众号(祺印说信安):美国网络安全意识月下的开发人员的网络安全意识
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论