企业网络安全
20.May.2020

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

分享:
过往惨痛的案例告诉我们,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就是一种安全即文化的实现
DevSecOps就是一种安全即文化的实现

 

团队合作实践网络信息安全

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流程

在产品发布后的运维阶段,最重要的是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自动化特色满足敏捷开发需求且保障安全质量

仲至信息科技自主研发的HERCULES SecFlow,具备DevSecOps流程的自动化功能,能让用户更便捷地建立网络信息安全沟通管道与机制,并赋予相关团队对应的权责,通过指派任务、审核和反馈功能,使所有团队更快速的适应产品安全开发观念。通过SecFlow的政策模块,安全团队可对相关人员(如研发团队或运维团队)等发布相关网络信息安全的信息、安全开发程序代码注意事项等,同时通过一系列的指派和签核流程,以及最新信息的提供,可加强各团队的网络信息安全意识。

SecFlow 具备更完整的漏洞管理功能,不仅能导入多种第三方安全测试报告,对漏洞进行实时追踪,同时还能协助用户建立产品、组件及网络信息安全情报的对应关系,通过强大的资料搜集器,将大量的国际漏洞资料与实时的网络信息安全事件进行综合分析且整合输出有价值的网络信息安全情报,同时采用机器学习方式,将安全情报自动与产品关联,以便对自家产品相关的漏洞、网络信息安全新闻、网络信息安全事件等信息作出快速的关联响应与预警,让相关团队实时掌握产品的网络信息安全风险程度,并能立即移除或修补已知的严重漏洞。最后,还可通过主动式电子邮件预警功能以及移动App,使网络信息安全管理人员能准确掌握漏洞信息与处理进度,以确保每个安全事故都已被解决或改善。
 
SecFlow与DevSecOps的结合
SecFlow与DevSecOps的结合
 

SecFlow在DevSecOps自动化上扮演了关键角色,SecFlow不仅能减掉诸多耗时耗力的工作环节与流程,如人工介入的团队信息交换、网络安全信息整理,以及清查产品漏洞与Open Source管理,还能利用先进的资料搜集分析演算法,精准过滤并自动关联亟待处理的网络信息安全漏洞或事件,同时通过实时预警机制,协助用户快速处理与追踪网络信息安全议题,并确保每个阶段的网络信息安全情报资料都反馈给了所有团队。谁说安全与敏捷开发不易维持平衡? 通过SecFlow就可以做到,SecFlow不仅能让各个团队完全适应DevSecOps的实施,而且还不会造成不必要的负担!
 

关于HERCULES SecFlow

HERCULES SecFlow是仲至信息科技旗下的「产品信息安全管理系统」,针对产品开发相关团队,以Security by Design的原则,提供自动化系统管理机制,管理与追踪DevSecOps的每个阶段,以及所需要的网络信息安全流程与措施,连接开发、安全、维运团队,并快速建立安全的软件开发流程;SecFlow可实时提供网络信息安全漏洞与网络安全事件信息,通过自动化漏洞分析与管理功能,可确保产品与第三方套件的安全性,有效降低软件开发过程所衍生的网络信息安全风险,进而提升安全事件响应与处理的整体效率,并避免因产品安全问题所引发的诉讼纠纷。


媒体报导
 
参考资料:
[1] https://www.bnext.com.tw/article/55989/267-million-phone-numbers-exposed-online
[2] https://www.redhat.com/en/topics/devops/what-is-devsecops
[3] https://kknews.cc/zh-tw/tech/mmmgqa9.html
[4] https://devops.com/early-automation-key-requirement-devsecops-success/
[5] https://zhuanlan.zhihu.com/p/44691252
[6] Neil MacDonald, Mark Horvath, Ayal Tirosh, 16 November 2017, Integrating Security Into the DevSecOps Toolchain
[7] https://tech.gsa.gov/guides/understanding_differences_agile_devsecops/
[8] https://www.digicert.com/news/survey-integrating-security-into-devops/
[9] https://www.csoonline.com/article/3245748/what-is-devsecops-developing-more-secure-applications.html

 

询问

联络我们
感谢您访问我们。 请留下您的联系方式,我们会尽快回复您。
  • 仲至信息致力于保护您的隐私。您的资料不会与第三方共享,您将不定期收到信息安全相关讯息和活动。您可以随时退订。欲了解更多,请阅读我们的隐私权政策。左方请勾选是否同意仲至信息隐私权政策,以便提供您相关内容。

为何选择仲至信息

深度网络安全检测技术+

  • 已发现40+全球首发安全漏洞(CVE)
  • 已发掘3000+物联网安全漏洞

深耕物联网产品安全+

  • 执行150+物联网产业相关网络安全专案
  • 测试超过700+连网产品安全

全球合规与认验证能力+

  • 协助全球10+国家与300+客户通过认验证
  • 具工控、金融、医疗、车载等产业合规经验
WeChat