博客

仅靠左移还不够:为何从左侧起步才是实现软件安全卓越的关键

March 25, 2020
Pieter Danhieux
穿着黑色运动鞋的双脚站在人行道上,旁边是用粉色粉笔在方框内写下的“从这里开始”字样。

在数字化驱动的当今世界,我们面临的数据窃取风险与日俱增。大型组织作为我们宝贵信息的守护者,许多人已意识到实施严格安全标准的必要性。

目前围绕“左移”(即在开发流程更早阶段引入安全机制)的许多举措,其效果往往差强人意。这暗示了我们起初的流程方向就是错误的,最终只能通过“倒退”来补救,以实现更安全的软件交付。我们必须“从左开始”,推动一种文化变革,积极调动开发团队的参与度,并为他们提供目前所欠缺的知识。然而,并非所有的培训和工具都具有同等效力。

在本文中,我们将探讨安全意识主管和开发经理等关键领导者如何真正赋能开发人员,将他们转化为抵御高昂网络攻击的第一道防线。

“左移”与“从左开始”:一个重要的区别。

在数据泄露频发、影响全球众多知名机构的时代,企业领导者纷纷寻求安全行业的指导,以避免因遭受攻击而导致的财务损失、声誉受损及业务中断等灾难性后果。

长期以来,应用安全(AppSec)专家(包括我本人)一直建议我们必须“左移”。为了符合DevOps的最佳实践并获得更好的软件安全成果,我们许多人建议,软件构建中的安全环节必须在软件开发生命周期(SDLC)中更早介入。它不应是最后且代价高昂的一步,而应向流程的起点靠拢,让应用安全团队在软件项目启动之初就参与进来。

这并非错误的建议,而且肯定比旧有的方式要好(如果看看现有的被盗数据量以及用于窃取这些数据的漏洞的陈旧程度,就会发现旧方式根本行不通)。然而,如果我们能真正从左开始,安全成果将会显著提升。

左移,从左开始……区别何在?区别在于你如何调动开发团队。他们确实是交付更安全软件的关键,而且比后期工具链和人工代码审查成本更低。在理想情况下,每一位编写软件的开发人员都应具备从一开始就进行安全编码的知识和工具。他们能够发现潜在缺陷,并在代码提交前将其消除(这样修复成本远低于后期修复)。我们将看到几十年来一直存在的安全漏洞大幅减少——那些至今仍让攻击者通过后门潜入的漏洞。SQL注入、跨站脚本攻击和身份验证失效等机会窗口将被彻底关闭。

然而,目前职业教育阶段对安全的重视程度严重不足,在职的安全编码培训也参差不齐。因此,开发人员往往缺乏使组织能够“从左开始”所需的条件。现在是领导层携手倡导更广泛安全意识的时候了,他们对开发人员的直接了解和接触,对于推动有效的项目至关重要。毕竟,开发经理们也曾身处一线,深知在最理想的情况下,安全领域依然难以驾驭。

开发人员(目前)还不喜欢安全……但你可以改变这种对话。

你一定深有体会:向典型的开发人员提到“安全”二字,你得到的反应往往是翻白眼,甚至是一脸困惑。通常,整个安全问题被视为“别人的事”。

开发人员的首要职责是构建功能完备、充满创新特性且在紧迫期限内交付的软件。安全在编码层面很少被视为优先事项,甚至可能被视为阻碍快速交付和发挥创意的繁琐障碍。应用安全团队的任务是细致地检查代码、进行渗透测试,然后报告坏消息:在通常已经提交且运行良好的代码中发现了安全漏洞。在一个资源和时间往往捉襟见肘的环境中,这是一个昂贵的过程,这种设置注定会在两个目标相同但语言完全不通的团队之间造成隔阂。

在当前环境下,强制性的安全培训很可能会受到冷遇。但是,激发每位开发人员的安全思维并非痴人说梦。通过正确的培训和支持,他们可以开始将安全融入软件开发中,并为自己能够控制的安全结果负责。如果开发人员自己能处理常见的漏洞,就能腾出昂贵的专家资源去解决真正复杂的问题。如果你正负责管理开发团队,你可以在弥合这一差距并帮助团队看到其益处方面发挥关键作用。

并非所有的培训都具有同等效力。

你上一次对学习新事物感到兴奋是什么时候?在那时,像“强制性”、“合规性”或“十七小时视频”这样的词汇大概不会出现在你的脑海中。

开发人员也不例外。他们聪明、有创造力,并且热爱解决问题。观看无休止的安全漏洞视频不太可能吸引他们,也难以让内容变得令人难忘,更无法针对他们的日常角色和职责。在我担任SANS讲师期间,我很快意识到最好的培训是实践性的,它迫使参与者进行分析并接受智力挑战,使用真实的案例来测试他们的大脑并巩固先前的学习成果。游戏化和良性竞争也是让每个人接受新概念的有力工具,同时在应用中保持实用性和有效性。

另一个令人担忧的因素是,许多安全培训缺乏监督。没人喜欢被“老大哥”盯着的感觉,但如果没人检查培训是否相关,那么投入时间、金钱和精力进行教育又有什么意义呢?

正确的解决方案可以让安全编码变得有趣、相关、引人入胜且可衡量。挑战你的开发人员,善待他们,并将其打造为一场特别的活动。游戏化培训能激活大脑的奖励中心,提供激励机制来鼓励持续学习、突破知识边界,并简单直接地构建更高标准的软件,这是一种双赢。

安全文化健康检查:你的团队是否正在靠“生命维持系统”勉强支撑?

在一个安全文化薄弱的环境中创建安全软件,就像脚踝上拴着巨石跑马拉松:几乎是不可能的,而且困难重重。

通过游戏化培训、一对一竞赛以及致力于助力开发人员提升安全技能,企业能够极大地推动积极安全文化的形成,使应用安全团队与开发团队更深入地了解彼此的日常工作。良好的协作关系得以建立并蓬勃发展,有限的安全预算也不再被反复修复同样琐碎漏洞的“土拨鼠日”式循环所消耗。

此外,还有一个强大的副产品:发掘那些你未曾察觉的安全拥护者。通过全员参与且包含全面评估的专业培训,可以找出那些不仅具备安全天赋,而且对安全充满热情的员工。这些拥护者对于保持安全势头、充当团队间的联络点、监督同行并维护最佳实践政策至关重要。实施一套完善的拥护者计划,并辅以表彰和高层支持,不仅是企业的荣誉,也能为个人的简历增色,助力其职业发展。

当你致力于构建积极的安全文化时,责任便得以共担,从而实现更高水平的软件安全卓越。归根结底,软件开发生命周期中的每个人都必须遵循一个简单的准则:如果软件不够安全,那它就不是好的软件。

广而告之。

标语

在 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 驱动的开发安全

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

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