定义安全代码

开发人员是推动数字业务发展的软件、应用程序和程序的创造者,已成为许多组织的核心命脉。如果没有极具竞争力的应用程序和程序,或者无法全天候访问网站及其他基础设施,大多数现代企业将难以实现盈利。
然而,正是这些接触点,往往成为了黑客和其他不法分子窃取信息、发动攻击以及实施欺诈和勒索软件等犯罪活动的跳板。Verizon 最新的《数据泄露调查报告》强调,当今企业和组织所面临的威胁,其危险性和破坏力均达到了历史最高水平。
尽管大多数组织在网络安全上的投入大幅增加,且 DevSecOps 等运动正推动安全责任向作为业务命脉的开发人员转移,但成功的攻击事件依然屡见不鲜。
开发人员深知安全的重要性,也极度渴望交付安全且高质量的代码,但软件漏洞仍不断被利用。
原因何在?
Secure Code Warrior 于 2021 年 12 月与 Evans Data Corp 合作,连续第二年开展了“2022 年开发人员驱动的安全状况”调查。我们对全球 1,200 名开发人员进行了调研,旨在了解他们在安全编码实践方面的技能、认知和行为,以及这些因素在软件开发生命周期 (SDLC) 中的影响力和感知相关性。
调查发现,业界对于什么是安全代码缺乏明确的定义或共识。事实证明,开发人员心目中的“安全代码”与实际意义上的“安全代码”之间存在巨大偏差。
编写高质量代码是开发社区的首要任务,这一点并不令人意外。但当被问及具体的安全代码时,仅有 29% 的人表示,编写无漏洞代码的积极实践是重中之重。相反,开发人员将一些安全性较低且可靠性远不足的实践与安全编码联系在一起。例如,审查现有代码 (37%) 和依赖外部库来获取安全代码 (37%) 是开发人员认为最主要的安全编码实践。重用已被认定为安全的代码 (32%) 也是一种常见的选择。而编写无漏洞代码的积极实践仅排在第 6 位,只有 29% 的人将其视为安全编码的首要实践。进一步询问后发现,缺乏时间以及管理层缺乏统一的方法,是实现安全编码的最大障碍。
对现有代码的依赖是导致软件在发布时携带可利用漏洞的因素之一。要让开发人员编写出既高质量又安全的代码,必须解决这种对安全代码定义的认知脱节。
事实证明,开发人员心目中的“安全代码”与实际意义上的“安全代码”之间存在巨大偏差。
组织该如何改善这一现状?
本次调查传达出的一个核心信息是:整个开发人员群体充满了敬业且负责的专业人士。对他们而言,编写顶级质量的代码至关重要。问题在于,在许多情况下,他们所在的组织尚未明确生产安全代码所需的最佳实践,也没有投入足够的资源进行培训,或未能赋能开发人员去实现这些目标。
事实上,大多数开发人员表示,他们的组织甚至没有对“安全代码”给出明确定义。最令人担忧的例子之一是,28% 的受访者表示,如果应用程序或程序在部署到生产环境或向公众发布后没有报告任何漏洞,其组织就认为该代码是安全的。
毋庸置疑,在当今复杂的威胁环境下,如果只是寄希望于好结果而不去付诸实际行动,其后果是显而易见的:只会导致更多的安全漏洞。
值得庆幸的是,解决这个问题其实相对容易上手,并能逐步向安全代码的目标迈进。第一步,也是最重要的一步,就是组织必须明确自身对安全代码的定义。凡是不符合该定义的,都应被视为不安全。
安全编码应被定义为:由专业开发人员从软件开发生命周期 (SDLC) 的初期开始,编写无漏洞代码的实践。只有明确了这一实践,开发社区才能朝着这个目标共同努力。
让安全代码的目标成为现实
一旦确立了安全代码的定义,企业就需要做好准备,为这些工作以及将要落实全面安全代码实践的开发人员提供支持。这种支持至关重要。否则,企业内部对安全代码的定义即便再重要,也终将沦为纸上谈兵。安全编码实践必须得到管理层的认可,并获得相应的重视、授权和预算,才能取得成功。
这可能需要为开发人员设定新的基准目标,因为他们过去通常是以编码速度来衡量的。事实上,调查中有 37% 的开发人员表示,他们之所以在代码中留下已知漏洞,是因为紧迫的截止日期让他们没有时间去修复,或者无法从一开始就进行规范编码。起初,这可能意味着需要延长截止日期,以便给开发人员更多时间进行规范编码;尽管在编码初期投入了更多时间,但由于后续减少了程序修订、补丁修复和部署后的维护工作,这些时间成本很可能会被抵消。此外,消除部署后发生安全漏洞的可能性,最终可以节省数百小时的工作时间,并可能避免数百万美元的收入损失、罚款和清理成本。
开发人员还需要相关的实践培训,特别是针对他们可能遇到的具体漏洞,并获得如何识别和修复代码漏洞的指导。这一点尤为重要,因为调查中有 36% 的受访者表示,他们希望消除代码中的漏洞,但缺乏相应的技能或知识。
调查中有 37% 的开发人员表示,他们之所以在代码中留下已知漏洞,是因为紧迫的截止日期让他们没有时间去修复,或者无法从一开始就进行规范编码。
想了解更多相关话题?
白皮书: 提升软件安全性的挑战(与机遇)。
报告: 2022 年开发者驱动的安全状况调查。
在 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)