加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

如何兼顾产品开发的敏捷度与安全性? 浅谈DevSecOps与自动化的相辅相成

发布时间:2020-07-14 14:57:29 所属栏目:评论 来源:站长网
导读:过往惨痛的案例告诉我们,DevSecOps的重要性。2019年,Facebook再次被爆出个人数据泄漏事件,位于暗网的线上数据库,有超过2.67亿个Facebook使用者个人数据被泄漏,包含使用者的姓名,Facebook的ID,以及电话号码,这些使用者中可能受到垃圾邮件或钓鱼邮件

过往惨痛的案例告诉我们,DevSecOps的重要性。2019年,Facebook再次被爆出个人数据泄漏事件,位于暗网的线上数据库,有超过2.67亿个Facebook使用者个人数据被泄漏,包含使用者的姓名,Facebook的ID,以及电话号码,这些使用者中可能受到垃圾邮件或钓鱼邮件的信息攻击,这使得Facebook遭受到信用的损失和股价的重挫[1]。

对于很多企业而言,Cloud和DevOps是推动企业业务发展的关键技术引擎。企业的IT、安全和开发人员都知道Cloud和DevOps环境中,有大量的敏感信息(如secret key)需要保护,尽管大部分的人都有安全意识,但我们仍能看到诸多的重要数据泄漏事件。

在网络急速发展的大数据时代,很多企业都贯彻「敏捷」的思维和行动,这是一个同时需要面对不同风险的信号,并且正在不断被验证。越来越多的消费者、监管机构和市场发现,由此所造成的数据泄漏的代价是高的、无法接受的。事实上,很多数据泄露事件都是可以提前预防的。透过DevSecOps的概念的推动,与自动化系统的辅助,这些问题与风险都将被有效的降低,并可确保产出的安全与质量。而要做好DevSecOps的导入并不是这么容易,本文将说明建置DevSecOps时的关键事项,以及如何更有效率且有效益的达成此目标。

DevSecOps的精神在于文化

DevSecOps是Development、Security和Operations的缩写。DevSecOps的基本理念是让每一个解决方案、开发测试、IT与维运及多个跨部门协作人员,都能融入开发的安全理念,并正确的理解DevOps的敏捷做法与含义,也就是说DevSecOps是一个群体做法,核心理念为「安全是整个团队所有成员的责任,需要贯穿整个软件生命周期的每一个环节。」,简单来说,DevSecOps就是一种安全即文化的实现,因此,最重要的是,将DevSecOps中的安全环节,与每个团队的利益相互结合,最终须融入整个企业文化中[2]。如何兼顾产品开发的敏捷度与安全性? 浅谈DevSecOps与自动化的相辅相成

image.png

团队合作实践信息安全

DevSecOps的一大重点是让开发团队、维运团队及信息安全团队彼此相互合作,能站在对方的角度客观看待问题,解决过去互相对立或牵制的问题。维运人员通常不大了解开发或信息安全,而开发人员也不擅长维运或信息安全;DevSecOps就是希望打破这条隔阂,将「做信息安全」的权限与责任进行分工,并让信息安全团队参与其中,居中沟通协调,一起主动实践信息安全、一起面对和处理漏洞、一起让产品更安全[2]。

软件开发时导入DevSecOps 自动化系统可降低门槛

根据IBM的研究统计资料显示,产品在释出之后修复安全问题,比在设计阶段时解决,其成本多出4到5倍,而在维运阶段才修复安全问题,其成本将达到、甚至超出100倍[3]。因此,DevSecOps需要在软件开发前期介入,内容包括对开发、维运人员的安全意识及安全开发规范的教育训练、安全需求(非功能需求)的汇入、以及前期的程式码稽核工作等。虽然在DevSecOps模式中,看似安全环节增加了工作内容,但从整个软件生命周期的开发与维护成本来看,提前发现问题可让成本大幅降低。

此外,DevSecOps的安全工作经常被误以为会造成开发上的瓶颈,例如安全要求太多、测试与评估时间太长,或安全监控实施困难等[3],事实上,这是由于大多数的公司不愿投入人力又不知如何进行自动化,导致无法将DevSecOps与现有流程及文化进行整合而失败。DevSecOps采用的是快速叠代的开发方式,让应用系统在最短周期内,实现应有的价值与安全属性[4],相较于其他信息安全方法论,更为快速、弹性,因此,自动化的介入,可以协助团队更轻易的达成DevSecOps的实现,且使其更具有实务价值与效益。

须精准掌握信息安全问题即时移除严重漏洞

许多情况下,团队为了加速产品的开发与上市时程,产品上的软件并不完全是自主研发,而是采用公开的原始码(Open Source)或函式库中搜集、整合大量的预编译组件及函式库,例如GitHub、SourceForge 或Docker Hub等,自行撰写的程式码,在现成软件中所占的比率也大幅降低[5],相对应的,安全风险的问题焦点也有所转移。大多数信息安全风险都可以通过识别这些公开的函式库、第三方组件的已知漏洞和错误配置来完成,待问题解决后才投入生产。从安全的角度来看,识别Open Source中的已知漏洞,比发掘自行撰写的程式码中的未知漏洞要容易的多,最简单快速的一种方式,便是将Open Source或第三方组件与漏洞数据库做比对。

除上述在设计与开发阶段所提到的自动化安全漏洞分析比对外,第三方安全测试工具的支援也扮演重要的角色,如何有效的进行安全确认与漏洞验证,确保在产品最终释出之前,将大多数风险移除,便是开发团队实现安全开发的重要关卡。

安全文化需贯穿整个DevSecOps流程

而在产品释出后的维运阶段,最重要的则是持续性的,随时监控与即时处理来自内部或外部的安全威胁,例如对外伺服器是否遭到攻击、自家产品漏洞是否在未被通知的情况下公开揭露于网络上、是否有最新的Open Source漏洞被发现,最后则是随时关注最新的网络攻击趋势,以即早采取相对应的安全防护措施。

以过去的经验来看,在这个阶段,团队通常是最缺乏沟通与合作的,特别是针对产品的安全问题,维运团队无法与开发团队建立起一个有效与明确的分工方式,加上部门主责的重点不同,导致当产品安全问题发生时,最终还是开发团队被推出来一线直接面对,维运团队始终无法施上助力。这时最好的解决方法,便是建立一套标准程序(SOP),明确的说明各团队的责任与分工,以及当事件发生时的处理流程;当然,其中一个重点,还是须要有专责的团队与人力来居中协调,而安全团队是可以扮演此角色的最佳人选[6][7]。

若相关团队能长期累积相关信息安全事件的沟通协调与处理经验,甚至于将相关安全信息回馈至开发团队,除了能使整体流程与措施更加完善外,相信可以一定程度上达到预测或预防网络攻击事件或产品漏洞的发生,这也是DevSecOps重要的环节与精神。

采用DevSecOps的效益缩短事件处理时间

透过DevSecOps的流程建立,可有效整合开发、安全与维运团队之间的沟通管道,缩短事件的反应时间,这将会是最直接且明显的好处;依据DigiCert公司的调查报告显示,有98%的企业正在或计画采用DevSecOps[8];另根据统计资料显示,未导入DevSecOps的企业,需要174天的时间才能完成修补动态安全测试时所发现的漏洞,但若使用DevSecOps的企业,则仅需92天就可以完成,差距将近2倍的时间;此外,对于DevSecOps的企业而言,在所有被发现的漏洞中,有53%的比例能够在10天之内完成修补,而未导入的企业,则只有5%可在10天之内修补完成[9]。从这些数字上差距,正可证明导入DevSecOps是可以加快漏洞或事件的处理事效,换言之,也当然具备了降低相关成本费用的好处。

HERCULES SecFlow自动化特色满足敏捷开发且兼顾安全质量

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读