博客

建立信任:实现应用安全团队与开发人员深度协作的必经之路

March 10, 2021
Matias Madou 博士

本文的一个版本曾发表于《网络防御杂志》。本文经更新后在此联合发布。

建立在不信任这一脆弱基础上的关系,最好还是降低期望。遗憾的是,这往往就是企业内部开发人员与应用安全(AppSec)团队之间工作关系的真实写照。这种关系通常冷若冰霜,且双方往往互相掣肘,这不仅不理想,而且在当今高度依赖技术的环境下,还会导致糟糕的后果。

开发人员热衷于解决问题、构建功能并在工作中展现创造力。而应用安全团队则承担着一项吃力不讨好的任务:在代码中寻找安全漏洞、将其退回修复,并提供审计和报告,这往往会给工程师精心打造的项目泼上一盆冷水。将责任完全归咎于开发人员是不公平的——安全并非他们的首要任务,也不在他们的关键绩效指标(KPI)之内;同样,也不能因为应用安全团队尽职尽责就惩罚他们。然而,为了实现网络安全最佳实践,并从组织层面获得更好的安全成果,双方确实需要开始友好协作。

而这一切都始于信任。

应用安全团队的“反派”形象阻碍了 DevSecOps 的和谐发展。

如果一个人只有在指出你的错误时才会与你互动,那么你很可能不会对他们的意见产生好感。

安全团队往往只有在出现问题时才会露面,这种负面印象容易引发摩擦。双方的关系长期处于破裂状态:开发人员将应用安全团队视为阻碍其创造力、流程和按时交付功能的绊脚石;而应用安全团队则对不断指出那些存在已久(且早有修复方案)的常见安全漏洞感到疲惫不堪。

面对日益紧迫的截止日期、资源不足的团队以及避免返工的强烈愿望,开发人员往往会等到最后一刻才交付代码,这使得应用安全团队进行审查和干预的时间窗口被压缩到了极致。这种功能失调的流程,对企业网络安全风险产生了不可接受的影响。

对于安全专家来说,这属于“别迁怒于信使”的情况——毕竟,他们的工作就是发现并报告漏洞以便修复,这并非针对个人。症结在于,他们提出的建议往往并不完全契合公司的技术栈,因此在内部软件开发的全局视角下,这些建议常被视为无济于事。

将应用安全团队视为“反派”的想法与大多数开发方法论背道而驰,而对于 DevSecOps 而言,这更是一场灾难。目前的行业标杆早已超越了瀑布式、敏捷开发甚至 DevOps,进入了一个将安全视为从软件开发生命周期(SDLC)之初就必须共同承担的责任的阶段。

要使 DevSecOps 发挥作用,必须让软件工程师有理由关注安全,而这源于让他们理解为何在保障全球软件安全方面贡献自己的力量如此重要。那些主动伸出橄榄枝、与开发经理合作以满足团队需求,并承担起培养安全意识导师角色的安全专家,往往能从努力中获得长期的回报……他们也能少为那些反复出现的 XSS 错误而抓狂。

必须赋能开发人员,使其能够交付更安全的代码。

对于许多工程师而言,在高等教育阶段学习安全编码的机会,几乎为零。这并不是因为他们忙于社交娱乐,而是因为这根本不是大多数计算机科学和 IT 学位课程的一部分。

因此,在职培训往往是开发人员接触软件安全艺术的第一次机会,但这种培训很少能激发他们的热情。枯燥的视频课程和“打卡式”合规练习是常见的培训方式,但这些方式频率太低,无法对教导开发人员如何安全编码产生实质性影响,也难以在减少企业软件常见漏洞方面取得任何进展。

应用安全团队和开发团队都极其忙碌,因此任何培训都应具有意义、吸引力且注重实践。以开发背景来看,我们喜欢解决问题并动手操作,所以大多数静态培训往往会被我们忽略,而我们会专注于更紧迫(或者说,更感兴趣)的事情。

应用安全专家处于具有影响力的位置,他们可以通过倡导开发人员的最佳利益来建立长期的双赢局面。寻找与工作相关、并以开发人员偏好的语言和框架交付的有效培训,是推动变革并激发企业内部自下而上的积极安全文化的重要一步。几十年来我们尝试了同样的方法,显而易见,“一刀切”的培训方式行不通。通过帮助开发人员获得正确的工具和知识,他们能够成功提升安全编码技能,增强安全意识,并产出更高标准的代码。

双方必须共同努力,达成共识。

目标不同的人很容易产生误解,甚至在最坏的情况下还会产生不信任感。应用安全(AppSec)的目标是跟上代码产出的节奏,并找出可能导致数据泄露、未经授权访问以及恶意攻击的安全隐患,这些问题一旦发生,可能会在多年内损害客户对品牌的信任。

开发人员的主要任务是在截止日期前构建功能。他们的职责是确保软件既实用又美观,通过创造独特的数字体验来提升客户忠诚度。他们手头的工作已经非常繁重,如果再让他们承担安全责任,无疑是一项艰巨的挑战。人们往往认为保障代码安全是应用安全团队的事,但在 90 年代(那时 汽车还不会被黑客攻击,我们的生活也不会全部装进名为智能手机的口袋超级计算机里),这种想法或许还行得通。而如今,代码量过于庞大,安全人员却严重不足,根本无法对所有代码进行全面的安全审查。

只要多一份同理心,并赋予开发人员在软件开发初期就将安全视为优先事项的能力,应用安全团队与开发人员就能找到目标一致的方法。毕竟,积极的安全文化离不开这一点,而具备安全意识的开发人员正是防范常见漏洞的秘诀,即使在 网络安全人才缺口不断扩大的背景下也是如此。

相互尊重彼此的时间具有巨大的价值。

正如我之前所说,每个人在创造“魔法”(即出色的软件)时都非常忙碌。开发人员需要专门的工作时间来进行切实有效的实操培训,以提升他们的安全编码技能,而任何培训项目都应在设计上做到高度相关。

应用安全团队的时间被反复修复相同的 OWASP Top 10 漏洞所浪费,而开发人员的时间则被那些低参与度的练习所消耗,这只会让他们觉得安全工作是一项苦差事。

精心策划的学习体验至关重要,它们能够通过 情境化、碎片化的相关培训,在最需要的时候直击重点。

通过定制符合预期目标和内部学习路径的安全编码课程,我们既尊重了开发人员的时间和工作流程,又能切实减少企业的漏洞和网络安全风险。这是消除部门隔阂、以统一战线应对网络安全挑战的制胜之道。

Secure Code Warrior 最新的情境化学习功能 Courses 现已上线。

‍

标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

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.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

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

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。