为什么建议将安全性构建到系统中?
共 989字,需浏览 2分钟
·
2022-01-06 10:39
开发人员可能面临着来自自己的“无声杀手”:拖延。当在开发过程中将安全性推迟到软件开发过程后期时,这个延迟可能会造成意想不到的影响和巨大代价。
随着当前对应用程序需求的增加,开发团队更关注于软件上线日期。然而与此矛盾的是,安全问题同样不可小觑。客户希望获得的软件系统是安全的,但在上线截至时间面前,安全往往会被滞后。
经验显示,如果在开发过程中更早地关注安全性问题,不但可以提高安全性,而且成本更低修复更容易。
就代码安全问题来说,在测试、发布阶段纠正缺陷的成本是编码阶段发现并纠正缺陷的成本的15-90倍,如果在交付用户之后才发现并解决缺陷,这个数字将达到50-200倍。因此,在编码实现阶段发现并解决尽可能多的缺陷,能够极大降低缺陷管理成本,据相关统计数字估计,这个成本至少可以降低1/3。
“在内部构建安全性”vs“将安全性绑 在上面”
如果说这两者的区别,前者是安全是开发过程的一部分,而后者是在以后才将安全问题考虑进来。与其将安全性推迟到以后,不如将其作为开发过程的核心部分。当将安全性注入到每个开发决策中来,整个工作安全相关的成本也会降至更低。
从费用上来说,通过对比安全评估数据,“内置安全”比“附加安全”在咨询费用上平均花费少10.1%。然而,重点并非只是节省这10.1%的花费,在引入缺陷的那一刻修复它是最容易的,以后修复它的难度呈指数级增长。例如,在设计阶段引入的缺陷直到部署后才得到解决,这将需要付出更多的努力来修复。而数据显示这需要25倍的努力。
所以,当开发团队做得越早安全性就越好,这也将花费你更少的费用和更少的努力。
让安全成为开发过程的一部分
当在开发初期就建立安全性时,更有助于将时间精力和经济浪费转化为效率。通常,静态代码安全检测工具(SAST)、动态分析安全测试(DAST)、交互式分析安全测试(IAST) 和运行时应用程序安全保护 (RASP) 等在开发期间可以协助开发人员提高效率,开发团队可以最大限度地提高生产力,在引入安全漏洞时快速解决它们,甚至完全避免引入漏洞。
参读链接:
https://resources.infosecinstitute.com/topic/why-you-should-build-security-into-your-system-rather-than-bolt-it-on/