促进数字经济发展。促进数字经济发展。加强数字中国建设整体布局。建设数字信息基础设施,推进 5G 规模化应用,促进产业数字化转型,发展智慧城市、数字乡村。加快发展工业互联网,培育壮大集成电路、人工智能等数字产业,提升关键软硬件技术创新和供给能力。完善数字经济治理,释放数据要素潜力,更好赋能经济发展、丰富人民生活”。
——摘录自 2022 年《政府工作报告》
以数字化为重要抓手的数字经济已经发展成为一个重要的经济形态,数字经济也被连续多年写入政府工作报告,在刚过去的 2022 年《政府工作报告》中,数字经济被再次提及,这足以看出软件在推进企业数字化转型,加快数字经济发展中起着重要作用。
有数据表明中国软件产业产值每增加 1%,数字经济产值便会增加 0.511241%,说明我国软件产业的发展对数字经济增长具有比较显著的促进作用。因此,在国务院发布的《“十四五”数字经济发展规划》中将软件和信息技术服务业规模增长定为“十四五”期间数字经济发展的主要指标,并明确指出软件和信息技术服务业规模要从 2020 年的 8.16 万亿元增长到 2025 年的 14 万亿元。而软件的安全能力将是数字经济高速发展过程中的有力保障,安全也将是软件的重要生命线。
安全问题为企业带来多方面的损失,最直接的经济损失,诸如交付勒索赎金、缴纳监管部门的处罚等;其他间接的损失诸如法务风险、品牌影响,这些问题很有可能导致客户的流失,市场份额的缩小,最终也转化到了经济损失上,所以安全就是金钱。
在数字化时代,数据就是核心资产,软件被用来产生数据、分析数据、挖掘数据,最终让数据产生价值,软件安全将直接影响数据安全,数据的不安全则直接导致重大经济损失。根据 IBM 发布的《数据泄漏成本报告》显示,数据泄漏在各行各业都存在,由于数据泄漏导致的企业需要为此承受百万美元的损失。
图片来源:IBM《数据泄漏成本报告》
开源的迅速崛起以及至今依旧存在的新冠疫情,让软件的安全形势依旧不容乐观:
DevSecOps 将 DevOps 做了扩展和延伸,目的是将安全融入到软件开发生命周期内,全方位保障应用程序安全,从而达到在快速交付高质量软件的同时还有安全性的保障。DevSecOps 有三个核心要素:安全左移、持续自动化、人人为安全。
在传统软件开发的时候(典型如瀑布式开发),安全介入的时间比较晚,一般在软件开发生命周期的测试阶段,甚至更靠后,这时候更“向右”。在半年、甚至一年才发布一次的情况下,这种安全处理方式是业界普遍的做法。但随着用户需求的多样化、敏捷化,软件发布的频率必须要提高才能响应用户日益增长的需求,在这种情况下,软件的敏捷开发逐渐盛行起来,月发布、周发布、甚至天发布都是很稀松平常的,在这种发布频率下,还要保持软件的安全性,就给软件开发带来了很大的挑战。
应对这种挑战的方法就是让安全早介入,在编码甚至计划阶段就介入(诸如威胁建模),这就形成了安全“左移”。左右是针对软件开发生命周期而言,越往左,越靠近开发侧。
左移的背后有一个安全问题修复成本与软件研发生命周期关系的逻辑:
可以看出在软件开发生命周期早期(计划、编码)阶段,发现安全问题,修复的成本是很低的,到了生产线上则修复成本是陡升的。因此,安全“左移”的最终目的是尽可能在软件开发的早期发现安全问题,以便快速采取修复措施,同时降低成本。这和新冠疫情的早发现、早隔离、早治疗有异曲同工之妙。
安全测试方法众多(SCA、SAST、DAST 等),覆盖软件开发生命全周期,如果将这些安全防护手段以自动化的方式运行,有两点优势:
一,减少研发、测试等人员的工作量,减少重复的体力劳动,得以让他们把更多的精力放在业务创新与赋能上;
二,持续自动化能够针对每次代码变更都做到全方位安全防护,让每一次代码变更都以安全方式交付。
最常见也是最通用的方法就是将安全测试融入到 CI/CD Pipeline 里面。
Patrick 在 2009 年的时候提出了 DevOps。大家的常规认知就是把 Dev 与 Ops 结合起来即可,但是在 2020 年伦敦的 QCon 上提到了 DevOps 已经不仅仅是研发和运维的事情了(DevOps beyond Development and Operations),软件加速交付的挑战、风险与瓶颈也有可能来自于其他团队,诸如市场,财务,法务等等。对于安全来讲也是,DevSecOps 不仅仅是 Dev、Sec、Ops 三个团队的融合,而是所有团队、所有人都要为软件的安全负责,共同消除安全所带来的风险,最终做到软件的安全、快速交付。
可以遵循“PPT”模型来落地 DevSecOps,即人(People)、流程(Process)以及工具(Tool):
极狐 GitLab 的 DevSecOps 功能覆盖软件全生命周期,提供从计划到上线的的全流程安全保障能力,完成从软件静态到动态的安全护航。
极狐 GitLab DevSecOps 功能开箱即用,用户无需安装配置第三方工具,无需额外学习编程语言,研发、测试、运维均可快速上手开始使用。
与极狐 GitLab CI/CD 能够无缝集成,针对每一次代码变更都执行完整的安全检测,做到真正的安全持续自动化。
多种安全扫描的结果统一展示,打破由多种安全工具单独产生安全报告所带来的安全信息孤岛,能够更加方便的筛选出真正具有参考价值的安全漏洞数据。
当有任何代码变更时(创建 MR),嵌入 CI/CD Pipeline 中的安全检测手段被触发,相应的安全扫描结果会在 CI/CD 流程结束时展现在 MR 中,漏洞的级别(高中低)、来源(来自 SAST 还是 DAST 等)均一览无余,帮助研发在第一时间找到安全问题,进行及时修复,及时防止了有问题的代码被合入主分支,从而“感染”主分支的代码。
一旦在 MR 中看到安全问题,可以直接点击安全漏洞,在查看详情的过程中,直接创建 Issue 来对安全问题进行追踪,在安全问题修复之后,关闭 Issue。在后期的复盘中,可以通过直接查看 Issue 来找到相应的负责人、修复情况等。
软件犹如人生,安全好比保险,
买一份保险(安全),保一生平安(交付)。
越早购买保险(早介入),保费越少(成本少),
保障越好(效果好),属于未雨绸缪;
越晚购买(晚介入),保费越高(成本高),
保障越差(效果差),属于亡羊补牢;
终生不买(无安全意识),则无任何抵御风险的能力,
万一遭遇不幸(被攻击),则回天乏术(game over)。